Computing C Stock for the IT-Cp2 site in SamplingYear


http://www.icos-etc.eu/icos/

Back to index

Click here to come back to the index

The report is also available in pdf here

Possible issues

Rock fragments

Warning: The name of the attribute in the database has changed in 2020. The \(`sosmW30s`\) variable is now \(`sosmW105s`\). Therefore, we have 2 ways for computing the RF.

Before 2020, the RF was computed in the following way:

\[RF_{30} = \frac{sosmW30s_{sp2}} {sosmW30s_{sp2}+sosmW30e_{sp2} }\]

After 2020, RF is computed using the weight of the coarse elements dried at 105°C:

\[RF_{105} = \frac{sosmW105s_{sp2}} {sosmW105s_{sp2}+sosmW30e_{sp2} }\]

Load and curate the data

This file is gathering the results for the site \(IT-Cp2\)

Extract the soil data

As a first step, we load and prepare the data. They are extracted from the ICOS soil database located in the French soil information system (DONESOL), which contains all the data from all sites. These files came from a SQL query.

Then, I extract the data and the sampling year for the selected site.

Extract coordinates and site stratification details

To compute design-based estimates of soil properties, we rely on spatial stratification parameters derived from the ETC’s pre-sampling analysis.

Using the spcosa package and KMZ files (which contain spatial layers), we extract:

  • \(idstratum\): Stratum identifier (ranging from 1 to 10).

  • \(H\): Total number of strata.

  • \(n_h\): Sample size (number of SP-I plots) per stratum.

  • \(nSites\): Total sample size (sum of all SP-I plots across strata).

  • \(stratumArea\): Area of each stratum (in pixels).

  • \(a_h\): Relative area per stratum.

Note: For KML files, extraction from the KMZ archive is required—this can be done using Windows.

Extract the soil depth limits

Accurate soil depth limits are essential for BADM quality control by ETC-Soil. While some errors may evade automated checks during C portal submission, uncorrected depth values directly impact derived calculations (e.g., soil stock estimates).

Impact on Downstream Calculations

  • Soil Stock Errors: Uncorrected thickness values bias carbon stock estimates.

  • ETC Feedback: Proactive corrections reduce revision requests post-submission.

Protocol Definitions

Standard Layer Depths

Layer type Description Order
O (undifferentiated) WRB 2022 classification -4
Oi (initial decomposition) WRB 2022 classification -3
Oe (intermediate) WRB 2022 classification -2
Oa (advanced) WRB 2022 classification -1
0 - 5 cm ICOS standard depth 1
5 - 15 cm ICOS standard depth 2
15 - 30 cm ICOS standard depth 3
30- 60 cm ICOS standard depth 4
60 - 100 cm ICOS standard depth 5

Exceptions

  1. Peatlands and wetlands: May have not standard depths due to hydromorphic conditions.

  2. Rocky Soils: Often exhibit shallow profiles with non-standard final layers.

Key Rules

To compute the mean and uncertainties accurately, we need to harmonize the soil layers as follow:

  • If the depth of the last layer is incomplete and varies across observations (e.g., extends only to 80 cm instead of the full 100 cm), we apply a frequency-weighted mean to harmonize this layer.

  • For non-standard layer intervals, we apply a spline model to interpolate the variables at the standard ICOS depth.

  • We correct organic layer ordering (Oa → Oe → Oi). If stratification is unclear, we aggregate the O layers into a single one (O layer).

  • Within a single SP-I plot, all associated SP-II units must share the same classification for the O layer.

  • The thickness (cm) of the O layer within an SP-I plot is assumed to be the average of the corresponding SP-II measurements.

Note: If you notice any inconsistencies in your depth limits, please contact ETC-Soil to update your BADM accordingly.

In this site, the PI implemented the following depths:

The soil depth limits were:


Soil properties and Quality Control

In this section, we outline the procedures used to compute the key soil properties necessary for calculating carbon and nitrogen stocks. Variables such as bulk density and fine soil stock are derived from standardized field measurements and imputed where missing values are detected.

Data quality control focuses on identifying and addressing missing and negative values. With the exception of SIC content, negative values are not expected in the dataset. Negative values are replaced with \(NA\), which are followed by imputation using the layer-specific average.

Checking the soil organic carbon (SOC) content

Checking for negative and missing values in SOC content. If the table is not empty, it means that SOC content is negative or missing.

Negative and missing values of SOC content are imputed using the layer-specific averages.

The following graph shows the organic carbon content frequency \(SOC_{layer}\) distribution across soil layers, following imputation of missing values using the layer-specific averages.

Checking the total nitrogen (NT) content

Checking for negative and missing values in NT content.

Negative values are replaced with \(NA\) and the missing values of NT are imputed using the layer-specific averages.

The following graph shows the NT content frequency \(NT_{layer}\) distribution across soil layers, following imputation of missing values using the layer-specific averages.

Compute the soil inorganic carbon (SIC) content

Soil inorganic carbon (SIC; g.kg-1) was calculated as the product of the result of the calcimetry analysis (CaCO3; g.kg-1 equivalent) multiplied by 0.12.

Checking for missing values in inorganic carbon content.

Note: Negative values of carbonates are not replaced with the mean because they represent the detection threshold of the laboratory analysis.

The following graph shows the \(SIC_{layer}\) content frequency distribution across soil layers

Compute residual water content using the wet-basis approach

We compute the residual water content (\(RW^l_{ik}\)) using the wet based approach as follow :

For mineral layers at SP-I level:

\[ RW^l_{ik} = \frac{SOSM\_WX30\_E^l_{ik} - SOSM\_WX105\_E^l_{ik}}{SOSM\_WX30\_E^l_{ik}} \]

For organic layers at SP-I level:

SOSM_W30_E is considered as a dry mass because residual water content is assumed to be negligible.


In order to check the data quality, missing and negative values of soil water mass at 30 and 105°C are listed in the two tables below:

If the table below is not empty, it means that either or both SOSM_WX30_E or SOSM_WX105_E are missing:


If the table below is not empty, it means that the residual water is negative, that is, SOSM_WX30_E < SOSM_WX105_E.

The negative values are replaced with \(NA\).

Negative values are replaced with \(NA\) and the missing values of \(RW^l_{ik}\) are imputed using the layer-specific averages.

The following graph shows the \(RW^l_{ik}\) frequency distribution across soil layers, following imputation of missing values using the layer-specific averages.

Compute the density and mass of soil fractions for SP-II plots

Bulk density

\[ BD^l_{ik} = \frac{ \left( SOSM\_W30\_E^{l}_{ik}\times (1 - RW^{l}_{ik}) \right) + SOSM\_W105\_S^{l}_{ik} + SOSM\_W70\_R^{l}_{ik} }{SOSM\_VOLUME^{l}_{ik}} \]

In order to check the data quality of bulk density, missing values are tracked in the following table.

If the following table is not empty, it means that one of the following variables contain missing values: SOSM_W30_E, SOSM_W105_S (or SOSM_W30_S in previous versions), SOSM_W70_R, or SOSM_VOLUME.

The missing values of \(BD^l_{ik}\) are imputed using the layer-specific averages.

The following graph shows the \(BD^l_{ik}\) frequency distribution across soil layers, following imputation of missing values using the layer-specific averages.

Coarse organic fragments

As coarse organic fragments is mostly composed by root fragments, this variable is named \(RD^l_{ik}\), that denotes root density.

\[ RD^l_{ik} = \frac{SOSM\_W70\_R^{l}_{ik}}{SOSM\_VOLUME^{l}_{ik}} \]

In order to check the data quality of \(RD^l_{ik}\), missing values are tracked in the following table.

If the table is not empty, it means that one of the following properties contains missing values: SOSM_W30_E, SOSM_W105S (or SOSM_W30_S in previous versions), SOSM_W70_R, or SOSM_VOLUME.

The missing values of \(RD^l_{ik}\) are imputed using the layer-specific averages.

The following graph shows the \(RD^l_{ik}\) frequency distribution across soil layers, following imputation of missing values using the layer-specific averages.

Fine soil stock for mineral layers

Fine soil stock (FSS) is equivalent to mass of fine earth (FE), as commonly defined in scientific literature.

\[ FSS^l_{ik} = \frac{ (SOSM\_LD^{l}_{ik} -SOSM\_UD^{l}_{ik}) \times (SOSM\_W30\_E^l_{ik}) \times (1 - RW ^l_ik)}{SOSM\_VOLUME^{l}_{ik}} \]

In order to check the \(FSS^l_{ik}\) quality, missing data are tracked in the following table.

If the table is not empty, it means that either or both SOSM_W30_E or SOSM_VOLUME are missing:

Missing values of \(FSS^l_{ik}\) are imputed using the layer-specific averages.

The following graph shows the fine soil stock frequency \(FSS^l_{ik}\) distribution across soil layers, following imputation of missing values using the layer-specific averages.

Organic material (OM) mass in O layers

This fraction represents the organic material in the O horizon after removing stones and living material.

\[ OM^l_{ik} = \frac{ SOSM\_W30^l_{ik} \times (1 - residWater^l_{ik})}{SOSM\_AREA^l_{ik}} \]

Coarse mineral elements (rock fragments)

\[ RF^l_{ik} = \frac { SOSM\_W105\_S^l_{ik}}{ SOSM\_W105\_S^l_{ik} + SOSM\_W30\_E^l_{ik}} \]

Warning: In the version 20200319 of the “Instruction for SOIL SAMPLING AND PREPARATION”, the drying temperature of coarse elements was set to 105°C instead of 30 °C. Therefore, the variable name of rock fragments changed from SOSM_W30_S to SOSM_W105_Sin the BADM.

In order to check the \(RF^l_{ik}\) quality, missing data are tracked in the following table.

The following graph shows the \(RF^l_{ik}\) distribution across soil layers, following imputation of missing values using the layer-specific averages.

Compute the SP-I data

Here we compute the stock \(z_{i}^l\) for the monitored properties using the formula described in the protocol. The data are aggregated at SP-I level.

We now check if all the observations and layers are present.

Specifically, we compute:

  • The number of SP-I plots in \(IT-Cp2\) is \(20\).
  • The number of available SP-I plots should total 20.
Stratum ID nb. of SP-I
1 2
2 2
3 2
4 2
5 2
6 2
7 2
8 2
9 2
10 2
  • The number of SP-I plots per stratum should total 2.
sp1 nb. of soil layer
SP-I_01 8
SP-I_02 8
SP-I_03 8
SP-I_04 8
SP-I_05 8
SP-I_06 8
SP-I_07 8
SP-I_08 8
SP-I_09 8
SP-I_10 8
SP-I_11 8
SP-I_12 8
SP-I_13 8
SP-I_14 8
SP-I_15 8
SP-I_16 8
SP-I_17 8
SP-I_18 8
SP-I_19 8
SP-I_20 8
  • The number of layers per SP-I plot, which should total between 5 (only mineral) or 7 (mineral + organic)

  • The number of observations is \(160\).

Profile plot of the data

Using the package aqp, it is possible to plot the collection of profiles.

Horizon-level attributes can be symbolized with color.

Note to PI: If the profile plot present some anomaly (e.g; incomplete depth limits), please contact ETC-Soil for verification.

We plot here the bulk density

We plot here the fine soil stock

We plot here the organic carbon content

We plot here the soil inorganic carbon content

We plot here the total nitrogen content

We plot here the organic carbon stocks

We plot here the soil inorganic carbon stocks

And finally we plot here the total nitrogen stocks

Plot of the relation C/N

Some Maps to visualize the raw data at SP-I site

In this section, we provide a set of maps per soil layer for the different monitored parameters.

The dots represent the value measured on the SP-I plots.

Bulk density

The map shows the bulk density per layer.

Rock fragments

The map shows the rock fragments per layer.

Fine soil stock

The map shows the fine soil stock per mineral layer.

Mass of organic layers

The map shows the organic material mass per organic layer.

Soil organic carbon content

The map shows the organic carbon content per layer.

Total N content

The map shows the content of nitrogen per layer.

Soil inorganic carbon content

The map shows the content of nitrogen per layer.

C to N ratio

The map shows the C to N ratio per layer.

Soil organic carbon stock

The map shows the organic carbon stock per layer.

Total nitrogen stock

The map shows the total nitrogen stock per layer.

Inorganic carbon stock

The map shows the inorganic carbon stock per layer.

Design-based estimates of the different statistical quantity

We compute design-based estimates of two types of quantity :

  • The mean and the sampling variance of the different target variables: FSS, RF, C and N content, the \(C/N\) and the carbon and nitrogen stocks for the ICOS site for each layer.
  • The total and the sampling variance of the stock of nitrogen and carbon for each layer and for the whole profile

These estimates are based on the design-based theory detailed in the webpage here

Mean of the soil variables

The plot displaying the estimates for the mean and its 95 % confidence interval are given below for each variables and layer.


Note: Negative confidence intervals are often related to the low number of observation for a given variable (e.g., often observed in SIC and rock fragments)

Bulk density

DB estimates of the mean and its CIs for the bulk density per layer

DB estimates of the mean and its CIs for the bulk density per layer

Fine soil stock

DB estimates of the mean and its CIs for the fine soil stock per layer

DB estimates of the mean and its CIs for the fine soil stock per layer

Coarse plant fragments

DB estimates of the mean and its CIs for the coarse plant fragment density per layer

DB estimates of the mean and its CIs for the coarse plant fragment density per layer

Rock fragments

DB estimates of the mean and its CIs for the rock fragment percentage per layer

DB estimates of the mean and its CIs for the rock fragment percentage per layer

Organic carbon content

DB estimates of the mean and its CIs for the organic C content per layer

DB estimates of the mean and its CIs for the organic C content per layer

Nitrogen content

The following plot presents the DB estimates of the mean of the total nitrogen content per layer and the 95 % confidence intervals.

DB estimates of the mean and its CIs for the total N content per layer

DB estimates of the mean and its CIs for the total N content per layer

Inorganic carbon content

DB estimates of the mean and its CIs for the inorganic C content per layer

DB estimates of the mean and its CIs for the inorganic C content per layer

C/N ratio

The following plot presents the DB estimates of the mean of the CN ratio per layer and the 95 % confidence intervals.

DB estimates of the mean and its CIs for the C:N ratio per layer

DB estimates of the mean and its CIs for the C:N ratio per layer

Mean of the stock per layer

We may now compute the estimates of the mean C and N stock per layer. Please, see the notes 1 and 2 above mentioned.

Organic carbon stock

DB estimates of the mean and its CIs for the SOC stocks per layer

DB estimates of the mean and its CIs for the SOC stocks per layer

Inorganic carbon stock

DB estimates of the mean and its CIs for the SIC stocks per layer

DB estimates of the mean and its CIs for the SIC stocks per layer

Nitrogen stock

DB estimates of the mean and its CIs for the NT stocks per layer

DB estimates of the mean and its CIs for the NT stocks per layer

Mean of the total Stock for Carbon and Nitrogen

To compute the cumulative C and N stocks up to the deepest soil layer (\(\hat{ \overline{t}}\)), we first sum the stock of all layers within each SP-I and then we estimate the mean of the total stock.

Organic carbon stock

DB estimates of the total SOC stocks and its CIs

DB estimates of the total SOC stocks and its CIs

Inorganic carbon stock

DB estimates of the total SIC stocks and its CIs

DB estimates of the total SIC stocks and its CIs

N stock

DB estimates of the total NT stocks and its CIs

DB estimates of the total NT stocks and its CIs

Total stocks within the target area

This part needs the area of the plot coming from the KMZ files. If \(`NA`\), it means we do not have the KMZ file from ETC.

For this site, the area is \(2.90789\times 10^{5}\) m^2

The following CSV files are available for download.

Soil organic carbon

Soil inorganic Carbon

Total Nitrogen

Export of the level II data

Three files can be requested:

SP-I raw and elaborated data

It is possible to export here the raw C and N data and the averages of FSS and rock fragments data. The computed stock are also provided. The variable names and units are as follows:

Metadata
Description Variable Unit
SP-I identifier Name Categorical
Layer type MinOrg Categorical
Organic layer type and mineral layer intervals depth_horizon Categorical
Layer order layer Ordinal
Upper sampling depth SOSM_UD cm
Lower sampling depth SOSM_LD cm
Soil bulk density SOIL_CHEM_BD g cm-3
Soil fine soil stock SOIL_CHEM_FSS g cm-2
Soil rock fragments content SOIL_TEX_ROCK %
Soil coarse plants fragments density SOIL_CHEM_RESIDUES_DENSITY g cm-3
Soil total carbon content SOIL_CHEM_C_ORG g C kg soil-1
Soil total inorganic carbon content SOIL_CHEM_C_INO g C kg soil-1
Soil total nitrogen content SOIL_CHEM_N_TOT g N kg soil-1
soil C:N ratio SOIL_CHEM_CN_RATIO g C g N-1
Soil total carbon stock SOIL_STOCK_C_ORG g C m-2
Soil total inorganic carbon stock SOIL_STOCK_C_INO g IC m-2
Soil total nitrogen stock SOIL_STOCK_N_TOT g N m-2

DB estimate of the sampling means per layer and standard deviations

These data are also part of the ETC L2 products and are available on the Carbon Portal. They are included in the ancillary file within the ETC L2 archive, which can be accessed here or via the link on the homepage.

Note: Please be aware that if you compute the mean and uncertainty metrics yourself from the raw data, the results may differ from those presented here because the ICOS calculation is based on a design-based approach.

Metadata
Description Variable Unit
Layer order layer Ordinal
Weighted mean based on DB approach “Mean” prefix g m-2
Weighted standard deviation based on DB approach “SD” prefix g m-2

DB estimate of the sampling means for the whole soil and standard deviations

These data refer to the mean of the sum the stock of all layers within each SP-I, split into Mineral and Organic horizons.

Note (1): Please be aware that if you compute the mean and uncertainty metrics yourself from the raw data, the results may differ from those presented here because the ICOS calculation is based on a design-based approach.

Note (2): These data are not also part of the ETC L2 products and are available on the Carbon Portal. PThe L2 total stock in C portal is a weighted average across combined mineral and organic layers, while here we show weighted averages separately by layer. Differences in SP-I number per mineral and organic layers may cause the sum of means to differ from the combined pooled average.

Metadata
Description Variable Unit
Layer type MinOrg Categorical
Minimum top limit layer SOSM_UD cm
Maximum bottom limit layer SOSM_LD cm
Weighted mean based on DB approach “Mean” prefix g m-2
Weighted standard deviation based on DB approach “SD” prefix g m-2

wider format

Metadata
Description Variable Unit
Variable List of variable used to compute the stocks (OC, N and IC) Categorical
Layer type MinOrg Categorical
Weighted mean of total carbon based on DB approach Mean g m-2
Weighted standard deviation of total carbon based on DB approach SD g m-2

longer format


That’s all !


Credits

This document has been created using RStudio and Rmarkdown and large number of R packages !

## R version 4.3.1 (2023-06-16 ucrt)
## Platform: x86_64-w64-mingw32/x64 (64-bit)
## Running under: Windows 11 x64 (build 26100)
## 
## Matrix products: default
## 
## 
## locale:
## [1] LC_COLLATE=French_France.utf8  LC_CTYPE=French_France.utf8    LC_MONETARY=French_France.utf8
## [4] LC_NUMERIC=C                   LC_TIME=French_France.utf8    
## 
## time zone: Europe/Paris
## tzcode source: internal
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
##  [1] readxl_1.4.2       viridisLite_0.4.2  data.table_1.14.8  DT_0.28            here_1.0.1        
##  [6] cols4all_0.8       raster_3.6-20      conflicted_1.2.0   terra_1.8-29       purrr_1.0.1       
## [11] tibble_3.2.1       knitr_1.43         lubridate_1.9.2    aqp_1.42           forcats_1.0.0     
## [16] kableExtra_1.4.0   RColorBrewer_1.1-3 tmap_4.1           stars_0.6-1        sf_1.0-13         
## [21] abind_1.4-5        sp_1.6-1           crayon_1.5.2       spcosa_0.4-2       rJava_1.0-6       
## [26] readr_2.1.4        ggplot2_3.4.2      dplyr_1.1.2        tidyr_1.3.0        rmdformats_1.0.4  
## [31] prettydoc_0.4.1    stringr_1.5.0      foreach_1.5.2      rmarkdown_2.22    
## 
## loaded via a namespace (and not attached):
##  [1] DBI_1.1.3               tmaptools_3.1-1         s2_1.1.4                logger_0.3.0           
##  [5] rlang_1.1.1             magrittr_2.0.3          e1071_1.7-13            compiler_4.3.1         
##  [9] mgcv_1.8-42             png_0.1-8               systemfonts_1.0.4       vctrs_0.6.3            
## [13] pkgconfig_2.0.3         wk_0.7.3                fastmap_1.1.1           ellipsis_0.3.2         
## [17] lwgeom_0.2-13           leafem_0.2.4            labeling_0.4.2          utf8_1.2.3             
## [21] tzdb_0.4.0              spacesXYZ_1.6-0         tinytex_0.45            xfun_0.39              
## [25] cachem_1.0.8            jsonlite_1.8.5          highr_0.10              parallel_4.3.1         
## [29] cluster_2.1.4           R6_2.5.1                bslib_0.5.0             stringi_1.7.12         
## [33] cellranger_1.1.0        jquerylib_0.1.4         Rcpp_1.0.14             bookdown_0.34          
## [37] iterators_1.0.14        base64enc_0.1-3         leaflet.providers_2.0.0 Matrix_1.5-4.1         
## [41] splines_4.3.1           timechange_0.2.0        tidyselect_1.2.0        rstudioapi_0.14        
## [45] dichromat_2.0-0.1       yaml_2.3.7              maptiles_0.10.0         codetools_0.2-19       
## [49] lattice_0.21-8          leafsync_0.1.0          plyr_1.8.8              withr_2.5.0            
## [53] evaluate_0.21           units_0.8-2             proxy_0.4-27            xml2_1.3.4             
## [57] pillar_1.9.0            rsconnect_1.1.1         KernSmooth_2.23-21      generics_0.1.3         
## [61] rprojroot_2.0.3         hms_1.1.3               munsell_0.5.0           scales_1.2.1           
## [65] class_7.3-22            glue_1.6.2              tools_4.3.1             leaflegend_1.2.1       
## [69] webshot_0.5.5           XML_3.99-0.14           grid_4.3.1              crosstalk_1.2.0        
## [73] colorspace_2.1-0        nlme_3.1-162            cli_3.6.1               fansi_1.0.4            
## [77] svglite_2.1.1           gtable_0.3.3            sass_0.4.6              digest_0.6.31          
## [81] classInt_0.4-9          htmlwidgets_1.6.2       farver_2.1.1            memoise_2.0.1          
## [85] htmltools_0.5.5         lifecycle_1.0.3         leaflet_2.2.2

  1. ↩︎

  2. INRAe Info&Sols↩︎

  3. INRAe ECOSYS↩︎

  4. INRAe Info&Sols↩︎

  5. INRAe ISPA↩︎

  6. University of Tuscia↩︎