Содержание углерода и азота в почвах в Коуровки и Северки - участков “Урал-Карбона”

Введение

Главным отличием химического состава почвы является наличие в больших количествах таких элементов, как азот и углерод. Это отличие вызывается влиянием биологического фактора, поэтому определение данных элементов в почве очень важно.

Преобладающая часть почвенного азота (95-98%) и углерода находятся в составе органического вещества почвы - гумуса. А он, как известно, является важнейшим фактором плодородия.

Кроме того, важной фунцией почвы является аккумулирование в своих горизонтах углерода в качестве элемента, входящего в состав CO2 - парникового газа, которому сейчас уделяется пристальное внимание в рамках карбоновых полигонов.

Карбоновые полигоны – один или несколько участков земной поверхности с репрезентативными для данной территории рельефом, структурой растительного и почвенного покрова, созданные для реализации мероприятий, направленных на развитие научного, кадрового и инфраструктурного потенциалов в области разработки и испытаний технологий контроля баланса климатических активных газов природных экосистем.

Цель

визуально представить распределение элементов по почвенному профилю.

Задачи

  1. Перевести “сырые” данные в формат, удобный для анализа.
  2. Написать код, по которой будет создаваться профиль.
  3. Построить соответствующие профили и сравнить их визуально между собой.

Данные

Данные получены в собственноручно в процессе летней практики 2023 года в стенах лабораторий кафедры экологии.

library(readxl)
library(tidyverse)
library(formattable)
df <- read_excel("проект.xlsx")
formattable(df)
№ обр. Горизонт Глубина, см Cорг Nобщ
К32 A0 0–1 35.6800000 1.23610200
К31 A1 1–10 5.0900000 0.39262316
К30 A2 10–25 0.6000000 0.11073510
К29 B 25–55 0.4800000 0.07215772
К28 BC 55–70 0.4100000 0.06556144
К16 A0 0–2 34.2600000 1.47076679
К15 A 2–17 4.5200000 0.40308784
К14 AB 17–30 0.5700000 0.08569252
К13 B 30–70 0.5200000 0.05943269
К4 A0 0–2 34.5000000 1.18871299
К3 A1 2–12 12.4000000 0.26203425
К2 A2 12–32 0.4200000 0.04893434
К1 B 32–60 0.3100000 0.05232696
S4 A0 0–5 36.6900000 1.23000000
S3 A1 5–7(10) 8.1666667 0.31000000
S2 B 7(10)–30 0.3400000 0.03000000
S1 BC 30–50 0.1400000 0.01000000
S19 A0 0–7 38.1200000 1.53583300
S18 A1 7–13 7.2150000 0.45820900
S17 A2B1 13–20 1.0033333 0.04000000
S16 B1 20–30 0.4750000 0.03000000
S15 B2 30–40 0.1250000 0.01000000
S14 BC 40–55 0.1100000 0.01000000
S13 BC 55–70 0.1050000 0.01000000
S36 A0 0–4 35.2000000 1.21000000
S35 A1 4–11 10.8900000 0.36000000
S34 A2 11–25 0.7350000 0.05000000
S33 A2 25–37 0.3250000 0.02000000
S32 B 37–58 0.1433333 0.02000000
S31 BC 58–80 0.1200000 0.02000000
S30 BC 80–90 0.1366667 0.02000000
S56 A0 0–5 42.9966667 1.09000000
S55 A1 5–7 11.2300000 0.52000000
S54 A2 7–17 0.6450000 0.05000000
S53 A2 17–28 0.2350000 0.01000000
S52 B 28–38 0.1500000 0.01000000
S51 B 38–49 0.0950000 0.01000000
S50 BC 49–60 0.0500000 0.01000000
S49 BC 60–70 0.0500000 0.01000000
dictionary <- tibble(
  Горизонт = c("A0", "A", "A1", "A2", "AB", "A2B1", "B", "B1", "B2", "BC"), 
  deep = c(5,4,4, 3,3,3, 2, 2, 2, 1))

df$id <- c(1,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,5,5,5,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7)
df$terr <- ifelse (df$id == 1 | df$id == 2 | df$id == 3,  "Коуровка",
                   "Северка")

df2 <- 
  df %>% 
  left_join(dictionary, by = "Горизонт") %>% 
  group_by(deep, terr) %>%
  summarise(mean_C = mean(Cорг), sd_C = sd(Cорг), .groups = "drop")

df3 <- 
  df %>% 
  left_join(dictionary, by = "Горизонт") %>% 
  group_by(deep, terr) %>%
  summarise(mean_N = mean(Nобщ), sd_N = sd(Nобщ), .groups = "drop")

Углерод

На первом графике отображен общий профиль содержания углерода для Коуровки и Северки. Визуально профили практически идентичны, что говорит о схожести процессов поступления и аккумулирования элемента в почве на территориально разных участках.

Основные особенности профиля:

  1. Максимальное содержание - в верхних горизонтах: подстилке и гумусовом.
  2. Минимальное содержание - в нижнем горизонте - переходном к материнской породе.
  3. Стабильное снижение углерода с глубиной.

Таким образом, углерод поступают в почву “сверху”, при этом практически не проникая глубже гумусового горизонта.

df2 %>%
  ggplot(aes(x = deep, y = `mean_C`)) + 
  coord_flip() +
  geom_point(size = 2) +
  geom_line() +
  geom_errorbar(aes(ymin = `mean_C`- `sd_C`, ymax = `mean_C`+ `sd_C`, width=0.2)) +
  scale_x_continuous(breaks = 1:5, labels = c("BC", "B", "A2", "A1", "A0"), name = "Горизонт") +
  scale_y_continuous(name = "Углерод органический, %", position = "right") +
  facet_wrap(~terr) +
  theme_classic()

На втором графике можно увидеть количественное сравнение содержания углерода на двух участках.

Так, на территории Северки выше содержание углерода в верхних горизонтах, тогда как в нижних первенство переходит Коуровке. Следовательно, в Северке гумусонакопление протекает более интенсивно. Кроме того, возможно, в Коуровке интенсивнее происходит вымывание углерода в нижележащие горизонты.

df2 %>%
  ggplot(aes(x = deep, y = `mean_C`, group = terr, color = terr)) + 
  geom_line() +
  geom_point(size = 2) + 
  coord_flip() +
  scale_x_continuous(breaks = 1:5, labels = c("BC", "B", "A2", "A1", "A0"), name = "Горизонт") +
  scale_y_continuous(position = "right", name = "Углерод органический, %") +
  labs(color = "Территория") +
  theme_classic()

Азот

Профили снова похожи, следовательно, процессы азотонакопления на обоих участках, вероятно, одни и те же.

df3 %>%
  ggplot(aes(x = deep, y = `mean_N`)) +
  coord_flip() +
  geom_point(size = 2) +
  geom_line() + 
  geom_errorbar(aes(ymin = `mean_N`- `sd_N`, ymax = `mean_N`+ `sd_N`, width=0.2)) +
  scale_x_continuous(breaks = 1:5, labels = c("BC", "B", "A2", "A1", "A0"), name = "Горизонт") +
  scale_y_continuous(position = "right", name = "Азот общий, %") +
  facet_wrap(~terr) +
  theme_classic()

К нижним горизонтам заметно более резкое падение содержания азота в Северке. Вероятно, это связано с большим задержанием элемента в гумусовом горизонте по сравнению с Коуровкой.

df3 %>%
  ggplot(aes(x = deep, y = `mean_N`, group = terr, color = terr)) + 
  coord_flip() +
  geom_point(size = 2) +
  geom_line() + 
  scale_x_continuous(breaks = 1:5, labels = c("BC", "B", "A2", "A1", "A0"), name = "Горизонт") +
  scale_y_continuous(position = "right", name = "Азот общий, %") +
  labs(color = "Территория") +
  theme_classic()

Вывод

Таким образом, все поставленные задачи были выполнены. Более подробный анализ причин такого распределения элементов будет проведен подробнее при написании ВКР.