@hestia-earth/guide 0.0.15 → 0.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/content/guide/applying-models/monte-carlo.json +1 -0
  3. package/dist/content/index.json +1 -1
  4. package/dist/content/models/cycleAnimals/cycle-animal-input-hestiaAggregatedData/content.json +1 -1
  5. package/dist/content/models/cycleAnimals/cycle-animal-input-properties/content.json +1 -1
  6. package/dist/content/models/cycleAnimals/fatContent/content.json +1 -1
  7. package/dist/content/models/cycleAnimals/ipcc2019-animal-milkYieldPerAnimal/content.json +1 -1
  8. package/dist/content/models/cycleAnimals/trueProteinContent/content.json +1 -1
  9. package/dist/content/models/cycleInputs/cycle-input-hestiaAggregatedData/content.json +1 -1
  10. package/dist/content/models/cycleInputs/cycle-input-properties/content.json +1 -1
  11. package/dist/content/models/cycleInputs/energyContentLowerHeatingValue/content.json +1 -1
  12. package/dist/content/models/cycleMetaData/cycle-cycleDuration/content.json +1 -1
  13. package/dist/content/models/cycleMetaData/cycle-siteDuration/content.json +1 -1
  14. package/dist/content/models/cycleProducts/aboveGroundCropResidue/content.json +1 -1
  15. package/dist/content/models/cycleProducts/excretaKgN/pooreNemecek2018.json +1 -1
  16. package/dist/content/models/emissionsfromInputsProduction/hestia-seed-emissions/content.json +1 -1
  17. package/dist/content/models/entericEmissions/ch4ToAirEntericFermentation/content.json +1 -1
  18. package/dist/content/models/historicalLandUse/hestia-landCover/content.json +1 -1
  19. package/dist/content/models/impactAssessmentCharacterisedIndicators/abioticResourceDepletionFossilFuels/content.json +1 -1
  20. package/dist/content/models/impactAssessmentCharacterisedIndicators/abioticResourceDepletionMineralsAndMetals/content.json +1 -1
  21. package/dist/content/models/impactAssessmentCharacterisedIndicators/freshwaterWithdrawalsDuringCycle/content.json +1 -1
  22. package/dist/content/models/impactAssessmentCharacterisedIndicators/ionisingRadiationKbqU235Eq/content.json +1 -1
  23. package/dist/content/models/impactAssessmentEmissions/impact-assessment-emissions/content.json +1 -1
  24. package/dist/content/models/impactAssessmentMetaData/impact-assessment-product-economicValueShare/content.json +1 -1
  25. package/dist/content/models/impactAssessmentMetaData/impact-assessment-product-value/content.json +1 -1
  26. package/dist/content/models/impactAssessmentResourceUse/landTransformation100YearAverageDuringCycle/hestia.json +1 -1
  27. package/dist/content/models/impactAssessmentResourceUse/landTransformation20YearAverageDuringCycle/hestia.json +1 -1
  28. package/dist/content/models/landUseChangeEmissions/aboveGroundBiomass/content.json +1 -1
  29. package/dist/content/models/landUseChangeEmissions/belowGroundBiomass/content.json +1 -1
  30. package/dist/content/models/landUseChangeEmissions/co2ToAirAboveGroundBiomassStockChange/content.json +1 -1
  31. package/dist/content/models/landUseChangeEmissions/co2ToAirBelowGroundBiomassStockChange/content.json +1 -1
  32. package/dist/content/models/otherGeospatialData/croppingIntensity/content.json +1 -1
  33. package/dist/content/models/otherGeospatialData/longFallowRatio/content.json +1 -1
  34. package/dist/content/models/soilEmissions/co2ToAirSoilOrganicCarbonStockChange/content.json +1 -1
  35. package/dist/content/models/soilMeasurements/organicCarbonPerHa/content.json +1 -1
  36. package/dist/content/models/soilMeasurements/organicCarbonPerHa/ipcc2019Tier1.json +1 -1
  37. package/dist/content/models/soilMeasurements/organicCarbonPerHa/ipcc2019Tier2.json +1 -1
  38. package/dist/content/models/soilMeasurements/organicCarbonPerHa/overview.json +1 -1
  39. package/dist/content/models/soilMeasurements/organicCarbonPerHa/site.json +1 -1
  40. package/dist/content/models/transformations/transformation-input-excreta/content.json +1 -1
  41. package/dist/content/models/wasteEmissions/ch4ToAirWasteTreatment/content.json +1 -1
  42. package/dist/content/models/wasteEmissions/h2SToAirWasteTreatment/content.json +1 -1
  43. package/dist/content/models/wasteEmissions/n2OToAirWasteTreatmentDirect/content.json +1 -1
  44. package/dist/content/models/wasteEmissions/nh3ToAirWasteTreatment/content.json +1 -1
  45. package/dist/index.d.ts +7 -3
  46. package/dist/index.js +6 -6
  47. package/package.json +1 -1
  48. package/dist/content/models/content.json +0 -1
  49. /package/dist/content/{applying-models → guide/applying-models}/content.json +0 -0
  50. /package/dist/content/{applying-models → guide/applying-models}/contributing.json +0 -0
  51. /package/dist/content/{applying-models → guide/applying-models}/faq.json +0 -0
  52. /package/dist/content/{applying-models → guide/applying-models}/introduction.json +0 -0
  53. /package/dist/content/{community-edition → guide/community-edition}/content.json +0 -0
  54. /package/dist/content/{data-explorer → guide/data-explorer}/content.json +0 -0
  55. /package/dist/content/{faq → guide/faq}/content.json +0 -0
  56. /package/dist/content/{file-upload → guide/file-upload}/content.json +0 -0
  57. /package/dist/content/{file-upload → guide/file-upload}/contributing.json +0 -0
  58. /package/dist/content/{file-upload → guide/file-upload}/getting-started.json +0 -0
  59. /package/dist/content/{file-upload → guide/file-upload}/making-changes.json +0 -0
  60. /package/dist/content/{file-upload → guide/file-upload}/prepare-file.json +0 -0
  61. /package/dist/content/{file-upload → guide/file-upload}/uploading.json +0 -0
  62. /package/dist/content/{hestia-101 → guide/hestia-101}/content.json +0 -0
  63. /package/dist/content/{hestia-api → guide/hestia-api}/content.json +0 -0
  64. /package/dist/content/{user-account → guide/user-account}/content.json +0 -0
  65. /package/dist/content/{user-files → guide/user-files}/content.json +0 -0
@@ -1 +1 @@
1
- {"tags":{"author":["Florian Payen"],"group":["Soil Emissions"],"tab":["IPCC (2019)"],"modelId":["co2ToAirSoilOrganicCarbonStockChangeLandUseChange","co2ToAirSoilOrganicCarbonStockChangeManagementChange"]},"content":"# CO2, to air, soil organic carbon stock change, land use change\n\nSource: [IPCC (2019), Vol. 4, Chapter 2](https://www.ipcc-nggip.iges.or.jp/public/2019rf/pdf/4_Volume4/19R_V4_Ch02_Generic%20Methods.pdf).\n\n## Overview\n\nThis model calculates the annual emissions from SOC stock changes caused by changes in Site management and assigns them to Cycles that take place during those years.\n\n## How the model works\n\n### Step 1. Build an annual inventory of SOC measurements\n\nFirst, the model compiles an annualised inventory of `organicCarbonPerHa` measurement values. For each year in the inventory, it selects the measurement closest to the end of the inventory period (`YYYY-12-31T23:59:59`). If two measurements have the exact same date, it selects the one with the highest method tier.\n\n| Year | SOC stock (kg C ha<sup>-1</sup>) |\n|------|----------------------------------|\n| 2002 | 48000 |\n| 2003 | 47000 |\n| 2004 | 45000 |\n| 2005 | 44500 |\n| 2006 | 44000 |\n| 2007 | 43500 |\n\n### Step 2. Calculate the annual CO<sub>2</sub> emission (or removal) due to SOC stock change\n\nNext, the SOC stock change and the associated CO<sub>2</sub> change can be calculated for each inventory year:\n\n> <span dir=\"\">\\\\Delta CO_2 = -1 \\* (SOC_y - SOC\\_{y-1}) \\* \\\\frac{44.01}{12.012}</span>\n>\n> Where:\n>\n> * <span dir=\"\">\\\\Delta CO_2</span> = the CO<sub>2</sub> emission due to soil organic carbon stock change for year <span dir=\"\">y</span>, kg CO<sub>2</sub> ha<sup>-1</sup>.\n> * <span dir=\"\">SOC_y</span> = the soil organic carbon stock in year <span dir=\"\">y</span>, kg C ha<sup>-1</sup>.\n> * <span dir=\"\">SOC\\_{y-1}</span> = the soil organic carbon stock in year <span dir=\"\">y-1</span>, kg C ha<sup>-1</sup>.\n> * <span dir=\"\">\\\\frac{44.01}{12.012}</span> = the ratio of the atomic mass of CO<sub>2</sub> to C.\n>\n> n.b., the value is multiplied by <span dir=\"\">-1</span> as a reduction in SOC stock is associated with an emission of CO<sub>2</sub> and vice versa.\n\n| Year | SOC stock (kg C ha<sup>-1</sup>) | SOC stock change (kg C ha<sup>-1</sup>) | CO<sub>2</sub> emission (kg CO<sub>2</sub> ha<sup>-1</sup>) |\n|------|----------------------------------|-----------------------------------------|-------------------------------------------------------------|\n| 2002 | 48000 | n/a | n/a |\n| 2003 | 47000 | \\-1000 | 3664 |\n| 2004 | 45000 | \\-2000 | 7328 |\n| 2005 | 44500 | \\-500 | 1832 |\n| 2006 | 44000 | \\-500 | 1832 |\n| 2007 | 43500 | \\-500 | 1832 |\n\n### Step 3. Assign the COsub\\>2 emission to overlapping Cycles\n\nMeasurements, such as SOC stock (`organicCarbonPerHa`), are stored on Site nodes. In the Hestia schema, a Site may be related to multiple Cycle nodes. However, emission models are run on a single Cycle node. This means that, in order to calculate and allocate the correct emission to a single Cycle, the `ipcc2019.co2ToAirSoilCarbonStockChangeManagementChange` model needs to collect data about all of the other Cycles that share the same Site.\n\nA Cycle should only be allocated emissions from SOC stock changes if it overlaps meaningfully with the year the stock change occurred.\n\nIf two Cycles overlap with the same inventory year, they should share the emission for that year as a ratio of the duration of their overlap (i.e., if `cycle-y` overlaps by 200 days and `cycle-z` overlaps by 100 days, `cycle-y` should be assigned 66.6% of the emissions and `cycle-y` should be assigned 33.3%). The total share of emissions **must always** equal 100% to avoid under or over-reporting emissions.\n\nIf one Cycle overlaps with multiple inventory years, they should be assigned the sum total of their share of the emission for all of the inventory years they overlap with.\n\n<table>\n<tr>\n<th>Year</th>\n<th>\n\nTotal emission(kg CO<sub>2</sub> ha<sup>-1</sup>)\n</th>\n<th>Cycle ID</th>\n<th>Share of emission (%)</th>\n<th>\n\nCycle emission(kg CO<sub>2</sub> ha<sup>-1</sup>)\n</th>\n</tr>\n<tr>\n<td>2003</td>\n<td>3664</td>\n<td>\n\n`cycle-a0`\n</td>\n<td>100</td>\n<td>3664</td>\n</tr>\n<tr>\n<td rowspan=\"2\">2004</td>\n<td rowspan=\"2\">7328</td>\n<td>\n\n`cycle-a1`\n</td>\n<td>50</td>\n<td>3664</td>\n</tr>\n<tr>\n<td>\n\n`cycle-a2`\n</td>\n<td>50</td>\n<td>3664</td>\n</tr>\n<tr>\n<td>2005</td>\n<td>1832</td>\n<td>\n\n`cycle-a3`\n</td>\n<td>100</td>\n<td>1832</td>\n</tr>\n<tr>\n<td>2006</td>\n<td>1832</td>\n<td>\n\n`cycle-a3`\n</td>\n<td>100</td>\n<td>1832</td>\n</tr>\n<tr>\n<td>2007</td>\n<td>1832</td>\n<td>\n\n`cycle-a3`\n</td>\n<td>100</td>\n<td>1832</td>\n</tr>\n</table>\n\n| Cycle ID | `co2ToAirSoilCarbonStockChangeManagementChange`(kg CO<sub>2</sub> ha<sup>-1</sup>) |\n|----------|------------------------------------------------------------------------------------|\n| `cycle-a0` | 3664 |\n| `cycle-a1` | 3664 |\n| `cycle-a2` | 3664 |\n| `cycle-a3` | 5496 |\n\n### Step 4. Assign an emission tier\n\nThe `methodTier` for the emission node added to the Cycle will correspond to the weakest measurement method used to calculate it, i.e., if the emission was calculated using one measurement with `methodClassification` = `tier 1 model` and another with `methodClassification` = `tier 2 model`, the resulting `methodTier` will be `tier 1`.\n\n## Discussion\n\nIn this model, we currently select SOC measurement values based on date and method tier. However, once modelled `organicCarbonPerHa` nodes have accompanying descriptive statistics (`sd`, `min` & `max`), we will need to reimplement this model from the ground up (i.e., how the inventory is compiled, how we sample SOC stocks at the start and end of Cycles, and how we allocate the resulting emissions to Cycles).\n\nAt the moment, the `ipcc2019.organicCarbonPerHa` model only estimates changes in SOC stocks due to management change, which means that any change in `organicCarbonPerHa` on a Site can be allocated to a COsub\\>2 emission (or removal) due to management change. However, as we develop the `ipcc2019.organicCarbonPerHa` model further so it can model changes in SOC stock due to land-use change, we will need to find a way to allocate COsub\\>2 emissions from SOC stock change to the correct term, i.e., to `co2ToAirSoilCarbonStockChangeManagementChange` if resulting from management change or to `co2ToAirSoilCarbonStockChangeLandUseChange` if resulting from land-use change. The complexity of this issue lies in the fact that distinguishing between the two can be complex, as changes in SOC stocks can be due to both management and land-use changes happening at the same time or subsequently from each other. For example, if a forest is converted into a cropland and, 8 years later, practices within the cropland change, the change in SOC stocks (and the COsub\\>2 emissions associated with it) after that will be due to both a land-use change and a management change.\n\n\n\n\n\n\n\n<div class=\"collapsibles\">\n <div class=\"collapsible-group\">\n <div class=\"collapsible-header\">\n <span>Returns</span>\n </div>\n <div class=\"collapsible-content\"><ul>\n<li>A list of <a href=\"https://hestia.earth/schema/Emission\">Emissions</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Emission#term\">term</a> with <a href=\"https://hestia.earth/term/co2ToAirSoilOrganicCarbonStockChangeLandUseChange\">co2ToAirSoilOrganicCarbonStockChangeLandUseChange</a> <strong>or</strong> <a href=\"https://hestia.earth/term/co2ToAirSoilOrganicCarbonStockChangeManagementChange\">co2ToAirSoilOrganicCarbonStockChangeManagementChange</a></li>\n<li><a href=\"https://hestia.earth/schema/Emission#methodModel\">methodModel</a> with <a href=\"https://hestia.earth/term/ipcc2019\">ipcc2019</a></li>\n<li><a href=\"https://hestia.earth/schema/Emission#value\">value</a></li>\n<li><a href=\"https://hestia.earth/schema/Emission#sd\">sd</a></li>\n<li><a href=\"https://hestia.earth/schema/Emission#min\">min</a></li>\n<li><a href=\"https://hestia.earth/schema/Emission#max\">max</a></li>\n<li><a href=\"https://hestia.earth/schema/Emission#statsDefinition\">statsDefinition</a> with <code>simulated</code></li>\n<li><a href=\"https://hestia.earth/schema/Emission#observations\">observations</a></li>\n<li><a href=\"https://hestia.earth/schema/Emission#methodTier\">methodTier</a></li>\n<li><a href=\"https://hestia.earth/schema/Emission#depth\">depth</a> with <code>30</code></li>\n</ul>\n</li>\n</ul>\n</div>\n </div>\n <div class=\"collapsible-group\">\n <div class=\"collapsible-header\">\n <span>Requirements</span>\n </div>\n <div class=\"collapsible-content\"><ul>\n<li>A <a href=\"https://hestia.earth/schema/Cycle\">Cycle</a> with:<ul>\n<li>a <a href=\"https://hestia.earth/schema/Cycle#site\">site</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Site#siteType\">siteType</a> with <code>forest</code> <strong>or</strong> <code>other natural vegetation</code> <strong>or</strong> <code>cropland</code> <strong>or</strong> <code>glass or high accessible cover</code> <strong>or</strong> <code>permanent pasture</code> and a list of <a href=\"https://hestia.earth/schema/Site#measurements\">measurements</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Measurement#value\">value</a> and <a href=\"https://hestia.earth/schema/Measurement#dates\">dates</a> and <a href=\"https://hestia.earth/schema/Measurement#depthUpper\">depthUpper</a> with <code>0</code> and <a href=\"https://hestia.earth/schema/Measurement#depthLower\">depthLower</a> with <code>30</code> and <a href=\"https://hestia.earth/schema/Measurement#term\">term</a> with [ organicCarbonPerHa](<a href=\"https://hestia.earth/term/\">https://hestia.earth/term/</a> organicCarbonPerHa)</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><a href=\"https://hestia.earth/schema/Cycle#functionalUnit\">functionalUnit</a> with <code>1 ha</code></li>\n<li><a href=\"https://hestia.earth/schema/Cycle#endDate\">endDate</a></li>\n<li>optional:<ul>\n<li><a href=\"https://hestia.earth/schema/Cycle#startDate\">startDate</a></li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</div>\n </div>\n <div class=\"collapsible-group\">\n <div class=\"collapsible-header\">\n <span>Lookups used</span>\n </div>\n <div class=\"collapsible-content\"><ul>\n<li><a href=\"https://hestia.earth/glossary/lookups/emission.csv\">emission.csv</a> -&gt; <code>siteTypesAllowed</code>; <code>typesAllowed</code></li>\n</ul>\n</div>\n </div>\n \n</div>"}
1
+ {"tags":{"author":["Florian Payen"],"group":["Soil Emissions"],"tab":["IPCC (2019)"],"citation":["Payen, F. (2025) Soil organic carbon stock modelling on HESTIA."],"modelId":["co2ToAirSoilOrganicCarbonStockChangeLandUseChange","co2ToAirSoilOrganicCarbonStockChangeManagementChange"]},"content":"# CO2, to air, soil organic carbon stock change\n\nCarbon dioxide emissions to air, from soil organic carbon stock change. Soil organic carbon is defined as soil organic matter that is smaller than 2 mm in size.\n\n## Overview\n\nThis model calculates the annual emissions from soil organic carbon (SOC) stock changes and assigns them to Cycles that take place during those years. It can allocate these emissions to two HESTIA terms:\n\n1. [`co2ToAirSoilOrganicCarbonStockChangeLandUseChange`](https://www.hestia.earth/term/co2ToAirSoilOrganicCarbonStockChangeLandUseChange) - stock change emissions that occur in the 20 years after a land-use change event\n2. [`co2ToAirSoilOrganicCarbonStockChangeManagementChange`](https://www.hestia.earth/term/co2ToAirSoilOrganicCarbonStockChangeManagementChange) - stock change emissions that occur more than 20 years after a land-use change event\n\nThe model is run as a Monte Carlo simulation with 10,000 iterations. Model result values are the row-wise `mean` of simulation results. See our guide on [Monte Carlo simulation](/guide/applying-models-monte-carlo) for more information\n\n## How the model works\n\n### Step 1. Build an annual inventory of SOC measurements\n\nAn annual inventory of `organicCarbonPerHa` [Measurement](https://www.hestia.earth/schema/Measurement) values is created. These values represent the amount of organic carbon stored in the soil at the **end of each inventory year**.\n\n[Measurements](https://www.hestia.earth/schema/Measurement) are grouped by `methodClassification`. It is critical that different methods are **never mixed** when calculating changes in carbon stock, as this could lead to large and misleading differences. Instead, the model processes each `methodClassification` separately, and includes only the emissions calculated using the **strongest available method** in the final output.\n\nOnly [Measurements](https://www.hestia.earth/schema/Measurement) with specific `methodClassification` values are included. All others are ignored. The valid classifications, listed from strongest to weakest, are:\n\n- `on-site physical measurement`\n- `modelled using other measurements`\n- `tier 3 model`\n- `tier 2 model`\n- `tier 1 model`\n\nEach carbon stock value must correspond to the timestamp `YYYY-12-31T23:59:59` — the end of the inventory year. If no [Measurement](https://www.hestia.earth/schema/Measurement) exists for this exact time, the value is estimated using linear interpolation between the closest available measurements before and after the target date.\n\n| Year | `on-site physical measurement`<sup>\\*</sup> | `tier 1 model`<sup>\\*</sup> |\n| ---- | ------------------------------------------- | --------------------------- |\n| 2002 | 48000 | - |\n| 2003 | 47000 | - |\n| 2004 | 45000 | 52350 |\n| 2005 | 44500 | 51125 |\n| 2006 | 44000 | 49900 |\n| 2007 | 43500 | - |\n\n<sup>\\*</sup>SOC stock (kg C ha<sup>-1</sup>)\n\nIn this scenario, the values of the `on-site physical measurement` column will be retained because it is the stronger `methodClassification`. The values of the `tier 1 model` will be discarded.\n\n### Step 2. Resample stock values for Monte Carlo simulation\n\nTo run the model as a Monte Carlo simulation, we need to generate an array of random samples for the `organicCarbonPerHa` stock in each inventory year. These samples are drawn from a normal distribution defined by the `value` (mean) and `sd` of each year.\n\nIdeally, we would re-use the full set of iteration results from the [`ipcc2019.organicCarbonPerHa`](./organicCarbonPerHa) model's Monto Carlo simulation. However, HESTIA nodes can only store row-wise summaries of Monte Carlo simulation results. This means the full iteration-level data is not available for use in downstream models, so we lose the correlation between years in each simulation run.\n\nTo maintain realistic, coherent simulation behaviour:\n\n- Within each simulation run (column): Values across years (rows) should be correlated. If year 0 is a high value, we expect subsequent years to also be relatively high\n- Across simulation runs (columns): Values should be independent from one another\n\nFor this, we need to generate our new random samples with correlation by treating the inventory as a time series, where:\n\n- Rows = time steps (years)\n- Columns = independent Monte Carlo runs\n\nTo model the correlation between years, we assume that similarity in stock values decreases with time. Closer years are more correlated than years further apart. This is modelled using exponential decay, with a half-life of 20 years (based on the IPCC's default transition period for carbon stock equilibrium).\n\nUsing this correlation structure, we generate samples from a multivariate normal distribution, ensuring temporal correlation within runs and independence between runs.\n\nSee the [Scipy Cookbook on Correlated Random Samples](https://scipy-cookbook.readthedocs.io/items/CorrelatedRandomSamples.html) for more information.\n\nCarbon stock values without a corresponding `sd` are given a nominal error of 75% ($2*{sd}$ as a percentage of the mean).\n\n### Step 3. Calculate the annual CO<sub>2</sub> emission (or removal) due to SOC stock change\n\nNext, the carbon stock change and the associated CO<sub>2</sub> change can be calculated for each inventory year:\n\n$\\Delta CO_2 = -1 * (C_y - C\\_{y-1}) * \\frac{44.01}{12.012}$\n\nWhere:\n\n- $\\Delta CO_2$ = the CO<sub>2</sub> emission due to carbon stock change for year $y$, kg CO<sub>2</sub> ha<sup>-1</sup>.\n- $C_y$ = the carbon stock in year $y$, kg C ha<sup>-1</sup>.\n- $C_{y-1}$ = the carbon stock in year $y-1$x, kg C ha<sup>-1</sup>.\n- $\\frac{44.01}{12.012}$ = the ratio of the atomic mass of CO<sub>$2$</sub> to C.\n\n_n.b._, the value is multiplied by $-1$ as a reduction in carbon stock is associated with an emission of CO<sub>2</sub> and vice versa.\n\n| Year | C stock (kg C ha<sup>-1</sup>) | C stock change (kg C ha<sup>-1</sup>) | CO<sub>2</sub> emission (kg CO<sub>2</sub> ha<sup>-1</sup>) |\n| ---- | ------------------------------ | ------------------------------------- | ----------------------------------------------------------- |\n| 2002 | 48000 | n/a | n/a |\n| 2003 | 47000 | -1000 | 3664 |\n| 2004 | 45000 | -2000 | 7328 |\n| 2005 | 44500 | -500 | 1832 |\n| 2006 | 44000 | -500 | 1832 |\n| 2007 | 43500 | -500 | 1832 |\n\n### Step 4. Allocate the CO<sub>2</sub> emission to overlapping Cycles\n\n[Measurements](https://www.hestia.earth/schema/Measurement), such as `organicCarbonPerHa`, are attached to [Site](https://www.hestia.earth/schema/Site) nodes. In the HESTIA schema, a single [Site](https://www.hestia.earth/schema/Site) can be linked to multiple [Cycle](https://www.hestia.earth/schema/Cycle) nodes. However, emission models are run **per [Cycle](https://www.hestia.earth/schema/Cycle)**.\n\nTo ensure emissions are correctly allocated, the `ipcc2019.co2ToAirSoilOrganicCarbonStockChange` model gathers data from all [Cycles](https://www.hestia.earth/schema/Cycle) associated with the same [Site](https://www.hestia.earth/schema/Site).\n\nEmissions from changes in carbon stock should only be assigned to a [Cycle](https://www.hestia.earth/schema/Cycle) if that Cycle meaningfully overlaps with the inventory year in which the stock change occurred.\n\nIf multiple [Cycles](https://www.hestia.earth/schema/Cycle) overlap the same inventory year, the emission for that year is **shared proportionally** based on the number of overlapping days. For example:\n\n- `cycle-y` overlaps by 200 days\n- `cycle-z` overlaps by 100 days\n\nThen:\n\n- `cycle-y` receives **66.6%** of the emission\n- `cycle-z` receives **33.3%**\n\n_n.b._, The total share of emissions across all overlapping [Cycles](https://www.hestia.earth/schema/Cycle) **must always sum to 100%** to avoid under- or over-reporting.\n\n#### Emissions across multiple years\n\nIf a [Cycle](https://www.hestia.earth/schema/Cycle) overlaps with **multiple inventory years**, it should be assigned the **sum of its proportional shares** from each of those years.\n\n<div class=\"table-container is-responsive\">\n <table class=\"table is-fullwidth is-hoverable is-striped\">\n <tr>\n <th>Year</th>\n <th>\n Total emission(kg CO<sub>2</sub> ha<sup>-1</sup>)\n </th>\n <th>Cycle ID</th>\n <th>Share of emission (%)</th>\n <th>\n Cycle emission(kg CO<sub>2</sub> ha<sup>-1</sup>)\n </th>\n </tr>\n <tr>\n <td>2003</td>\n <td>3664</td>\n <td>\n cycle-a0\n </td>\n <td>100</td>\n <td>3664</td>\n </tr>\n <tr>\n <td rowspan=\"2\">2004</td>\n <td rowspan=\"2\">7328</td>\n <td>\n cycle-a1\n </td>\n <td>50</td>\n <td>3664</td>\n </tr>\n <tr>\n <td>\n cycle-a2\n </td>\n <td>50</td>\n <td>3664</td>\n </tr>\n <tr>\n <td>2005</td>\n <td>1832</td>\n <td>\n cycle-a3\n </td>\n <td>100</td>\n <td>1832</td>\n </tr>\n <tr>\n <td>2006</td>\n <td>1832</td>\n <td>\n cycle-a3\n </td>\n <td>100</td>\n <td>1832</td>\n </tr>\n <tr>\n <td>2007</td>\n <td>1832</td>\n <td>\n cycle-a3\n </td>\n <td>100</td>\n <td>1832</td>\n </tr>\n </table>\n</div>\n\n| Cycle ID | `co2ToAirSoilOrganicCarbonStockChangeManagementChange`(kg CO<sub>2</sub> ha<sup>-1</sup>) |\n| ---------- | ----------------------------------------------------------------------------------------- |\n| `cycle-a0` | 3664 |\n| `cycle-a1` | 3664 |\n| `cycle-a2` | 3664 |\n| `cycle-a3` | 5496 |\n\n### Step 5. Assign an emission tier\n\nThe `methodTier` assigned to the emission node on each [Cycle](https://www.hestia.earth/schema/Cycle) reflects the **weakest** measurement method used in its calculation.\n\nFor example, if a [Cycle](https://www.hestia.earth/schema/Cycle)'s final emission is calculated by summing together the emissions of two inventory years, where:\n\n- One year uses [Measurements](https://www.hestia.earth/schema/Measurement) with `methodClassification = tier 1 model`\n- The other year uses `methodClassification = tier 2 model`\n\nThe resulting `methodTier` will be `tier 1`, since it is the **weakest** method involved.\n\nThe mapping between Measurement `methodClassification` and Emission `methodTier` is:\n\n| Measurement `methodClassification` | Emission `methodTier` |\n| ----------------------------------- | --------------------- |\n| `on-site physical measurement` | `measured` |\n| `modelled using other measurements` | `measured` |\n| `tier 3 model` | `tier 3` |\n| `tier 2 model` | `tier 2` |\n| `tier 1 model` | `tier 1` |\n\n### Step 6. Allocate the CO<sub>2</sub> emission to land-use change or management change\n\nIn line with reporting requirements, CO<sub>2</sub> emissions from stock changes must be classified as either:\n\n- due to land-use change (LUC), or\n- due to management change.\n\nIn HESTIA, the presence or absence of a blank node matters: returning no node is not the same as returning a node with 0 emissions. To ensure consistency, the model should always return two blank nodes (one for each category) if enough data is available.\n\n**Allocation rules**\n\nIf it is known whether the emission is due to LUC or management:\n\n- Return two blank nodes:\n 1. One node with the emission and the correct term.@id\n 2. One node with 0 emissions and the other term.@id\n\nIf it is unknown:\n\n- Return one blank node, allocating the full emission to management change\n\n**Decision criteria**\n\nAllocation is based on two factors:\n\n1. **Completeness of land-use data:**\n\n - No land-use data\n - Fewer than 20 years of data\n - At least 20 years of data\n\n2. **Presence of a land-use change event:**\n - No land-use change (LUC) event detected\n - LUC event detected\n\n| | No land use data (1) | < 20 years' land use data (2) | >= 20 years' land use data (3) |\n| ----------------------------- | ------------------------------------------------ | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |\n| **No LUC event detected (a)** | allocate all emissions to management change (a1) | allocate all emissions to management change (a2) | allocate all emissions to management change **AND** add a land use change emission with value 0 (a3) |\n| **LUC event detected (b)** | n/a (b1) | allocate all emissions to land use change **AND** add a management change emission with value 0 (b2) | allocate all emissions to land use change **AND** add a management change emission with value 0 (b3) |\n\n## Example\n\nIn this example, we follow the SOC stock of an olive orchard, which has not changed in land-use for over 50 years. Therefore, all emissions should be allocated to management changes and a corresponding `0` emission should be allocated to land-use change.\n\nFor simplicity, the uncertainty of model inputs and outputs have been excluded.\n\n### Input\n\n#### Site\n\n```json\n{\n \"@id\": \"site-a\",\n \"@type\": \"Site\",\n \"siteType\": \"cropland\",\n \"management\": [\n {\n \"@type\": \"Management\",\n \"term\": {\n \"@type\": \"Term\",\n \"@id\": \"oliveTree\"\n },\n \"value\": [100],\n \"startDate\": \"1960\",\n \"endDate\": \"2006\"\n }\n ],\n \"measurements\": [\n {\n \"@type\": \"Measurement\",\n \"term\": {\n \"@type\": \"Term\",\n \"@id\": \"organicCarbonPerHa\"\n },\n \"value\": [43000],\n \"method\": {\n \"@type\": \"Term\",\n \"@id\": \"ipcc2019\"\n },\n \"depthUpper\": 0,\n \"depthLower\": 30,\n \"dates\": [\"2003-12-31\"],\n \"methodClassification\": \"tier 1 model\"\n },\n {\n \"@type\": \"Measurement\",\n \"term\": {\n \"@type\": \"Term\",\n \"@id\": \"organicCarbonPerHa\"\n },\n \"value\": [44333.333],\n \"method\": {\n \"@type\": \"Term\",\n \"@id\": \"ipcc2019\"\n },\n \"depthUpper\": 0,\n \"depthLower\": 30,\n \"dates\": [\"2004-12-31\"],\n \"methodClassification\": \"tier 1 model\"\n },\n {\n \"@type\": \"Measurement\",\n \"term\": {\n \"@type\": \"Term\",\n \"@id\": \"organicCarbonPerHa\"\n },\n \"value\": [45666.666],\n \"method\": {\n \"@type\": \"Term\",\n \"@id\": \"ipcc2019\"\n },\n \"depthUpper\": 0,\n \"depthLower\": 30,\n \"dates\": [\"2005-12-31\"],\n \"methodClassification\": \"tier 1 model\"\n },\n {\n \"@type\": \"Measurement\",\n \"term\": {\n \"@type\": \"Term\",\n \"@id\": \"organicCarbonPerHa\"\n },\n \"value\": [47000],\n \"method\": {\n \"@type\": \"Term\",\n \"@id\": \"ipcc2019\"\n },\n \"depthUpper\": 0,\n \"depthLower\": 30,\n \"dates\": [\"2006-12-31\"],\n \"methodClassification\": \"tier 1 model\"\n }\n ]\n}\n```\n\n#### Cycle\n\n```json\n{\n \"@id\": \"cycle-a-04-06\",\n \"@type\": \"Cycle\",\n \"startDate\": \"2004\",\n \"endDate\": \"2006\",\n \"site\": {\n \"@id\": \"site-a\",\n \"@type\": \"Site\"\n },\n \"functionalUnit\": \"1 ha\"\n}\n```\n\n### Output\n\n```json\n[\n {\n \"@type\": \"Emission\",\n \"term\": {\n \"@type\": \"Term\",\n \"@id\": \"co2ToAirSoilCarbonStockChangeLandUseChange\"\n },\n \"methodModel\": {\n \"@type\": \"Term\",\n \"@id\": \"ipcc2019\"\n },\n \"depth\": 30,\n \"value\": [0],\n \"methodTier\": \"tier 1\"\n },\n {\n \"@type\": \"Emission\",\n \"term\": {\n \"@type\": \"Term\",\n \"@id\": \"co2ToAirSoilCarbonStockChangeManagementChange\"\n },\n \"methodModel\": {\n \"@type\": \"Term\",\n \"@id\": \"ipcc2019\"\n },\n \"depth\": 30,\n \"value\": [-14655.344655],\n \"methodTier\": \"tier 1\"\n }\n]\n```\n\n\n\n\n\n\n\n\n<div class=\"collapsibles\">\n <div class=\"collapsible-group\">\n <div class=\"collapsible-header\">\n <span>Returns</span>\n </div>\n <div class=\"collapsible-content\"><ul>\n<li>A list of <a href=\"https://hestia.earth/schema/Emission\">Emissions</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Emission#term\">term</a> with <a href=\"https://hestia.earth/term/co2ToAirSoilOrganicCarbonStockChangeLandUseChange\">co2ToAirSoilOrganicCarbonStockChangeLandUseChange</a> <strong>or</strong> <a href=\"https://hestia.earth/term/co2ToAirSoilOrganicCarbonStockChangeManagementChange\">co2ToAirSoilOrganicCarbonStockChangeManagementChange</a></li>\n<li><a href=\"https://hestia.earth/schema/Emission#methodModel\">methodModel</a> with <a href=\"https://hestia.earth/term/ipcc2019\">ipcc2019</a></li>\n<li><a href=\"https://hestia.earth/schema/Emission#value\">value</a></li>\n<li><a href=\"https://hestia.earth/schema/Emission#sd\">sd</a></li>\n<li><a href=\"https://hestia.earth/schema/Emission#min\">min</a></li>\n<li><a href=\"https://hestia.earth/schema/Emission#max\">max</a></li>\n<li><a href=\"https://hestia.earth/schema/Emission#statsDefinition\">statsDefinition</a> with <code>simulated</code></li>\n<li><a href=\"https://hestia.earth/schema/Emission#observations\">observations</a></li>\n<li><a href=\"https://hestia.earth/schema/Emission#methodTier\">methodTier</a></li>\n<li><a href=\"https://hestia.earth/schema/Emission#depth\">depth</a> with <code>30</code></li>\n</ul>\n</li>\n</ul>\n</div>\n </div>\n <div class=\"collapsible-group\">\n <div class=\"collapsible-header\">\n <span>Requirements</span>\n </div>\n <div class=\"collapsible-content\"><ul>\n<li>A <a href=\"https://hestia.earth/schema/Cycle\">Cycle</a> with:<ul>\n<li>a <a href=\"https://hestia.earth/schema/Cycle#site\">site</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Site#siteType\">siteType</a> with <code>forest</code> <strong>or</strong> <code>other natural vegetation</code> <strong>or</strong> <code>cropland</code> <strong>or</strong> <code>glass or high accessible cover</code> <strong>or</strong> <code>permanent pasture</code> and a list of <a href=\"https://hestia.earth/schema/Site#measurements\">measurements</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Measurement#value\">value</a> and <a href=\"https://hestia.earth/schema/Measurement#dates\">dates</a> and <a href=\"https://hestia.earth/schema/Measurement#depthUpper\">depthUpper</a> with <code>0</code> and <a href=\"https://hestia.earth/schema/Measurement#depthLower\">depthLower</a> with <code>30</code> and <a href=\"https://hestia.earth/schema/Measurement#term\">term</a> with [ organicCarbonPerHa](<a href=\"https://hestia.earth/term/\">https://hestia.earth/term/</a> organicCarbonPerHa)</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><a href=\"https://hestia.earth/schema/Cycle#functionalUnit\">functionalUnit</a> with <code>1 ha</code></li>\n<li><a href=\"https://hestia.earth/schema/Cycle#endDate\">endDate</a></li>\n<li>optional:<ul>\n<li><a href=\"https://hestia.earth/schema/Cycle#startDate\">startDate</a></li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</div>\n </div>\n <div class=\"collapsible-group\">\n <div class=\"collapsible-header\">\n <span>Lookups used</span>\n </div>\n <div class=\"collapsible-content\"><ul>\n<li><a href=\"https://hestia.earth/glossary/lookups/emission.csv\">emission.csv</a> -&gt; <code>siteTypesAllowed</code>; <code>typesAllowed</code></li>\n</ul>\n</div>\n </div>\n \n</div>"}
@@ -1 +1 @@
1
- {"tags":{},"content":"# Organic carbon (per ha)\n\n>$$\n\n>\n\n>Where:\n\n>Source: [Abdalla _et al._ (2018)](https://doi.org/10.1016/j.agee.2017.10.023)\n\n## Example\n\n```json\n\n {\n\n \"@type\": \"Measurement\",\n\n \"term\": {\n\n \"@type\": \"Term\",\n\n },\n\n \"value\": [\n\n ],\n\n \"depthUpper\": 0,\n\n \"depthLower\": 40,\n\n \"methodClassification\": \"on-site physical measurement\"\n\n },\n\n```\n\n {\n\n \"@type\": \"Measurement\",\n\n \"term\": {\n\n \"@type\": \"Term\",\n\n \"@id\": \"organicCarbonPerHa\"\n\n \"value\": [\n\n ],\n\n \"dates\": [\n\n \"2020\"\n\n \"depthUpper\": 0,\n\n \"methodClassification\": \"modelled using other measurements\"\n\n## Discussion\n\n## Overview\n\n## How the model works\n\n|-|-|\n\n*For grasslands*:\n\n|`IpccManagementCategory`|Description|\n\n*For annual croplands*:\n\n|`IpccCarbonInputCategory`|Description|\n\nn.b., land cover, land management practices and improvements must cover >30% of the Site's area to satisfy the condition.\n\n>Source: [IPCC (2019)](https://www.ipcc-nggip.iges.or.jp/public/2019rf/pdf/4_Volume4/19R_V4_Ch02_Generic%20Methods.pdf)\n\n## Data recommendations\n\n * Irrigation, using terms in the [water regime glossary](https://hestia.earth/glossary?termType=waterRegime).\n\n * Inputs to soil, using the terms [`amendmentIncreasingSoilCarbonUsed`](https://hestia.earth/term/amendmentIncreasingSoilCarbonUsed), [`animalManureUsed`](https://hestia.earth/term/animalManureUsed), [`inorganicNitrogenFertiliserUsed`](https://hestia.earth/term/inorganicNitrogenFertiliserUsed) and/or [`organicFertiliserUsed`](https://hestia.earth/term/organicFertiliserUsed).\n\n|-|-|-|\n\n*Site measurements*:"}
1
+ {"tags":{},"content":"# Organic carbon (per ha)\n\nThe stock of organic carbon in the soil, defined as soil organic matter that is smaller than 2 mm in size.\n\n|-|-|-|-|\n\n## Overview\n\n## How the model works\n\n|-|-|\n\n##### For grasslands:\n\n|`IpccManagementCategory`|Description|\n\n##### For annual croplands:\n\n|`IpccCarbonInputCategory`|Description|\n\nn.b., land cover, land management practices and improvements must cover >30% of the [Site](https://www.hestia.earth/schema/Site)'s area to satisfy the condition.\n\nWhere:\n\n## Data recommendations\n\n * Irrigation, using terms in the [water regime glossary](https://hestia.earth/glossary?termType=waterRegime).\n\n * Inputs to soil, using the terms [`amendmentIncreasingSoilCarbonUsed`](https://hestia.earth/term/amendmentIncreasingSoilCarbonUsed), [`animalManureUsed`](https://hestia.earth/term/animalManureUsed), [`inorganicNitrogenFertiliserUsed`](https://hestia.earth/term/inorganicNitrogenFertiliserUsed) and/or [`organicFertiliserUsed`](https://hestia.earth/term/organicFertiliserUsed).\n\n## Example\n\n|-|-|-|\n\n## Discussion\n\n### Site measurements\n\nSource: [Abdalla _et al._ (2018)](https://doi.org/10.1016/j.agee.2017.10.023)\n\n```json\n\n {\n\n \"@type\": \"Measurement\",\n\n \"term\": {\n\n \"@type\": \"Term\",\n\n },\n\n \"value\": [\n\n ],\n\n \"depthUpper\": 0,\n\n \"depthLower\": 40,\n\n \"methodClassification\": \"on-site physical measurement\"\n\n },\n\n```\n\n {\n\n \"@type\": \"Measurement\",\n\n \"term\": {\n\n \"@type\": \"Term\",\n\n \"@id\": \"organicCarbonPerHa\"\n\n \"value\": [\n\n ],\n\n \"dates\": [\n\n \"2020\"\n\n \"depthUpper\": 0,\n\n \"methodClassification\": \"modelled using other measurements\""}
@@ -1 +1 @@
1
- {"tags":{"author":["Florian Payen"],"group":["Soil Measurements"],"tab":["IPCC (2019) Tier 1"]},"content":"# Organic carbon (per ha)\n\nSource: [IPCC (2019), Vol. 4, Chapter 2](https://www.ipcc-nggip.iges.or.jp/public/2019rf/pdf/4_Volume4/19R_V4_Ch02_Generic%20Methods.pdf).\n\n## Overview\n\nThis page is about the IPCC Tier 1 model for estimating SOC stock changes in the 0 - 30 cm depth interval for croplands and grasslands.\n\nThe model estimates the SOC stock changes that occur on Sites after a land use and/or land management change event by linearly interpolating between the initial SOC stock and the new SOC stock equilibrium over the course of 20 years. After 20 years, it is assumed that the new SOC equilibrium has been reached and the ongoing SOC stock change is negligible until a new land use and/or land management change event occurs.\n\nn.b.: land use and/or land management change events that occur before the SOC stock equilibrium has been reached restart the 20 year process.\n\n## How the model works\n\n### Step 1. Assigning an $SOC_{ref}$\n\nThe $SOC_{ref}$ of a Site represents the SOC stock (kg C ha<sup>-1</sup>) that the soil would have in the 0 - 30 cm depth interval when non-degraded, unimproved and under native vegetation. This reference value will later be multiplied by a series of factors to calculate SOC stock gains or losses from changes in land use and/or land management.\n\nFor most Sites, the $SOC_{ref}$ value is assigned based on the combination of its [`ecoClimateZone`](https://hestia.earth/term/ecoClimateZone) and `IpccSoilCategory`. Once these two elements have been determined for a Site, we can allocate the $SOC_{ref}$ value using the default $SOC_{ref}$ values for mineral soils (kg C ha<sup>-1</sup> in 0 - 30 cm depth interval) provided by the IPCC (2019) (see table below). All values are presented in the format of the mean for the soil by climate combination ± the 95% confidence limit expressed as a percentage of the mean (i.e., ± 1.96 * standard error /mean *100). Values in parentheses are the number of soils included in the derivation of mean and standard error values for each combination of soil and climate types.\n\n|IPCC climate zone|High activity clay soils|Low activity clay soils|Sandy soils|Spodic soils|Volcanic soils|Wetlands soils|\n|-|-|-|-|-|-|-|\n|Polar Moist/Dry (Px - undiff)<sup>2</sup>|59000 ± 41% (24)|NA<sup>1</sup>|27000 ± 67% (18)|NO<sup>1</sup>|NA<sup>1</sup>|NA<sup>1</sup>|\n|Boreal Moist/Dry (Bx - undiff)<sup>2</sup>|63000 ± 18% (35)|NA<sup>1</sup>|10000 ± 90%|117000 ± 90%|20000 ± 90%|116000 ± 65% (6)|\n|Cool temperate dry (C2)|43000 ± 8% (177)|33000 ± 90%|13000 ± 33% (10)|NO<sup>1</sup>|20000 ± 90%|87000 ± 90%|\n|Cool temperate moist (C1)|81000 ± 5% (334)|76000 ± 51% (6)|51000 ± 13% (126)|128000 ± 14% (45)|136000 ± 14% (28)|128000 ± 13% (42)|\n|Warm temperate dry (W2)|24000 ± 5% (781)|19000 ± 16% (41)|10000 ± 5% (338)|NO<sup>1</sup>|84000 ± 65% (10)|74000 ± 17% (49)|\n|Warm temperate moist (W1)|64000 ± 5% (489)|55000 ± 8% (183)|36000 ± 23% (39)|143000 ± 30% (9)|138000 ± 12% (42)|135000 ± 28% (28)|\n|Tropical dry (T4)|21000 ± 5% (554)|19000 ± 10% (135)|9000 ± 9% (164)|NA<sup>1</sup>|50000 ± 90%|22000 ± 17% (32)|\n|Tropical moist (T3)|40000 ± 7% (226)|38000 ± 5% (326)|27000 ± 12% (76)|NA<sup>1</sup>|70000 ± 90%|68000 ± 17% (55)|\n|Tropical wet (T2)|60000 ± 8% (137)|52000 ± 6% (271)|46000 ± 20% (43)|NA<sup>1</sup>|77000 ± 27% (14)|49000 ± 19% (33)|\n|Tropical montane (T1)|51000 ± 10% (114)|44000 ± 11% (84)|52000 ± 34% (11)|NA<sup>1</sup>|96000 ± 31% (10)|82000 ± 50% (12)|\n\nNotes:\n- <sup>1</sup> NA denotes that the soil category may occur in a climate zone, but no data was available. NO denotes that the soil type does not normally occur within a climate zone.\n- <sup>2</sup> The Boreal dry and Boreal moist zones and the Polar dry and Polar moist zones were not differentiated. Results presented represent the SOC30 stocks for the undifferentiated (undiff.) Boreal (Bx) and Polar (Px) classes.\n\n#### IPCC eco-climate zones\n\nThe IPCC divides the globe into 12 broad eco-climate zones:\n- Polar dry (P2)\n- Polar moist (P1)\n- Boreal dry (B2)\n- Boreal moist (B1)\n- Cool temperate dry (C2)\n- Cool temperate moist (C1)\n- Warm temperate dry (W2)\n- Warm temperate moist (W1)\n- Tropical dry (T4)\n- Tropical moist (T3)\n- Tropical wet (T2)\n- Tropical montane (T1)\n\n![World divided into eco-climate zones.](/assets/ipccClimateZones.png)\n\nWorld divided into eco-climate zones.\n\nThese climate classes were defined by the [IPCC (2006), Vol. 4, Chapter 3, p. 3.39)](https://www.ipcc-nggip.iges.or.jp/public/2006gl/pdf/4_Volume4/V4_03_Ch3_Representation.pdf) using elevation, mean annual temperature (MAT), mean annual precipitation (MAP), mean annual precipitation to potential evapotranspiration (PET) ratio and frost occurrence.\n\nThe IPCC eco-climate zone of a Site is automatically gap-filled by Hestia when data is uploaded using the Site's geo-location data (`site.latitude` & `site.longitude` or `site.region`).\n\n#### IPCC soil categories\n\nThe 7 IPCC soil categories are:\n\n|`IpccSoilCategory`|Description|\n|-|-|\n|`ORGANIC_SOILS`|Soils having organic material (Histosols).<br/><br/>The model **should not run** for any Sites assigned this category.|\n|`HIGH_ACTIVITY_CLAY_SOILS`|Soils with high activity clay (HAC) minerals are lightly to moderately weathered soils dominated by 2:1 silicate clay minerals (in the World Reference Base for Soil Resources (WRB) classification: Leptosols, Vertisols, Kastanozems, Chernozems, Phaeozems, Luvisols, Alisols, Albeluvisols, Solonetz, Calcisols, Gypsisols, Umbrisols, Cambisols, Regosols; in USDA classification: Mollisols, Vertisols, high-base status Alfisols, Aridisols, Inceptisols).|\n|`LOW_ACTIVITY_CLAY_SOILS`|Soils with low activity clay (LAC) minerals are highly weathered soils, dominated by 1:1 clay minerals and amorphous iron and aluminium oxides (in WRB classification: Acrisols, Lixisols, Nitisols, Ferralsols, Durisols; in USDA classification: Ultisols, Oxisols, acidic Alfisols).|\n|`SANDY_SOILS`|Soils (regardless of taxonomic classification) having > 70% sand and < 8% clay (in WRB classification: Arenosols; in USDA classification: Psamments).|\n|`SPODIC_SOILS`|Soils exhibiting strong podzolization (in WRB classification: Podzols; in USDA classification: Spodosols).|\n|`VOLCANIC_SOILS`|Soils derived from volcanic ash with allophanic mineralogy (in WRB classification: Andosols; in USDA classification: Andisols).|\n|`WETLAND_SOILS`|Soils with restricted drainage leading to periodic flooding and anaerobic conditions (in WRB classification: Gleysols; in USDA classification: Aquic suborders).|\n\n#### Assigning an IPCC soil category\n\nTo assign an `IpccSoilCategory` to a Site, we use the [`soilType`](https://hestia.earth/glossary?termType=soilType) or [`usdaSoilType`](https://hestia.earth/glossary?termType=usdaSoilType) nodes in [`site.measurements`](https://hestia.earth/schema/Site#measurements). To satisfy the requirements of each soil category, soil types belonging to that category must cover more than 30% of the Site.\n\nFirst, we check for measurements with terms in the [`soilType`](https://hestia.earth/glossary?termType=soilType) glossary in the following order:\n\n![Flow diagram for assigning an IPCC soil category from WRB soil type.](/assets/organicCarbonPerHa-figure1.png)\nFlow diagram for assigning an IPCC soil category from WRB soil type.\n\nIf a category has not been assigned, we try again checking for measurements with terms in the [`usdaSoilType`](https://hestia.earth/glossary?termType=usdaSoilType) glossary in the following order:\n\n![Flow diagram for assigning an IPCC soil category from USDA soil type.](/assets/organicCarbonPerHa-figure2.png)\nFlow diagram for assigning an IPCC soil category from USDA soil type.\n\nTODO: Remake flow charts as mermaid diagrams and include the organic soils step.\n\nIf a soil category has not been assigned after following both decision trees, the Site should be assigned the default category of `IpccSoilCategory.LOW_ACTIVITY_CLAY_SOILS`.\n\nn.b., An $SOC_{ref}$ cannot be assigned for all combinations of [`ecoClimateZone`](https://hestia.earth/term/ecoClimateZone) and `IpccSoilCategory`. This is because some soil categories do not normally occur within all climate zones or because no data was available to calculate a reference value. In these cases, the model **should not run**.\n\n### Step 2. Compiling an annual inventory\n\nOnce an $SOC_{ref}$ has been assigned to a Site, we need to compile an annual inventory of the land use and land management of the Site. For each year of the inventory, we summarise the nodes in [`site.management`](https://hestia.earth/schema/Site#management) by assigning an `IpccLandUseCategory`. For some land use categories, we then assign an additional `IpccManagementCategory` and `IpccCarbonInputCategory`.\n\n#### IPCC land use categories\n\nThe `IpccLandUseCategory` categories are:\n\n|`IpccLandUseCategory`|Description|\n|-|-|\n|`GRASSLAND`|All native and/or permanent grassland. <br/><br/> An additional grassland management category **must** be assigned.|\n|`ANNUAL_CROPS`|Represents area that has been converted from native conditions and continuously managed for predominantly annual crops over 50 years. <br/><br/> Additional tillage management and cropland carbon input categories **must** be assigned.|\n|`ANNUAL_CROPS_WET`|Represents area with mineral wetland soils that has been converted from native conditions and continuously managed for predominantly annual crops over 50 years. <br/><br/> Additional tillage management and cropland carbon input categories **must** be assigned.|\n|`PADDY_RICE_CULTIVATION`|Long-term (> 20 years) annual cropping of wetlands (paddy rice). Can include double-cropping with non-flooded crops.|\n|`PERENNIAL_CROPS`|Long-term perennial tree crops such as fruit and nut trees, coffee and cacao.|\n|`SET_ASIDE`|Represents temporary (< 20 years) set aside of annual cropland (e.g., conservation reserves) or other idle cropland that has been revegetated with perennial grasses.|\n|`FOREST`|All native and/or permanent forest.|\n|`NATIVE`|Any other native vegetation.|\n|`OTHER`|Any other land use. The model should not run for any inventory years assigned this category.|\n\n#### IPCC management categories\n\n*For grasslands*:\n\nThe management categories for inventory years with `IpccLandUseCategory.GRASSLAND` are:\n\n|`IpccManagementCategory`|Description|\n|-|-|\n|`IMPROVED_GRASSLAND`|Represents grassland that is sustainably managed with light to moderate grazing pressure (or cutting and removal of vegetation) and that receive at least one improvement (e.g., fertilisation, species improvement, irrigation). <br/><br/> An additional grassland carbon input category **must** be assigned.|\n|`HIGH_INTENSITY_GRAZING`|Represents high intensity grazing systems (or cutting and removal of vegetation) with shifts in vegetation composition and possibly productivity but is not severely degraded.|\n|`NOMINALLY_MANAGED`|Represents low or medium intensity grazing regimes, in addition to periodic cutting and removal of above-ground vegetation, without significant management improvements. High intensity grazing may be moderately degraded, but it does not represent excessive grazing intensity that leads to severe grassland degradation.|\n|`SEVERELY_DEGRADED`|Implies major long-term loss of productivity and vegetation cover, due to severe mechanical damage to the vegetation and/or severe soil erosion.|\n\nFor inventory years assigned `IpccLandUseCategory.GRASSLAND`, a default management category of `IpccManagementCategory.NOMINALLY_MANAGED` should be assigned if the `landCover` management data is insufficient to assign another category.\n\n*For annual croplands*:\n\nThe management categories for inventory years with `IpccLandUseCategory.ANNUAL_CROPS` or `IpccLandUseCategory.ANNUAL_CROPS_WET` are:\n\n|`IpccManagementCategory`|Description|\n|-|-|\n|`FULL_TILLAGE`|Substantial soil disturbance with full inversion and/or frequent (within year) tillage operations. At planting time, little (e.g., <30%) of the surface is covered by residues.|\n|`REDUCED_TILLAGE`|Primary and/or secondary tillage but with reduced soil disturbance (usually shallow and without full soil inversion). Normally leaves surface with >30% coverage by residues at planting.|\n|`NO_TILLAGE`|Direct seeding without primary tillage, with only minimal soil disturbance in the seeding zone. Herbicides are typically used for weed control.|\n\nFor inventory years assigned `IpccLandUseCategory.ANNUAL_CROPS` or `IpccLandUseCategory.ANNUAL_CROPS_WET`, a default management category of `IpccManagementCategory.FULL_TILLAGE` should be assigned if the `tillage` management data is insufficient to assign another category.\n\n#### IPCC carbon input categories\n\n*For grasslands*:\n\nThe carbon input categories for inventory years with `IpccManagementCategory.IMPROVED_GRASSLAND` are:\n\n|`IpccCarbonInputCategory`|Description|\n|-|-|\n|`GRASSLAND_MEDIUM`|Applies to improved grassland where a single management input or improvement has been made.|\n|`GRASSLAND_HIGH`|Applies to improved grassland where two or more management inputs or improvements have been used.|\n\nFor inventory years assigned `IpccManagementCategory.IMPROVED_GRASSLAND`, a default carbon input category of `IpccCarbonInputCategory.GRASSLAND_MEDIUM` should be assigned if the management data is insufficient to assign another category.\n\n*For annual croplands*:\n\nThe carbon input categories for inventory years with `IpccLandUseCategory.ANNUAL_CROPS` or `IpccLandUseCategory.ANNUAL_CROPS_WET` are:\n\n|`IpccCarbonInputCategory`|Description|\n|-|-|\n|`CROPLAND_LOW`|Low residue return occurs when there is removal of residues (via collection or burning), frequent bare-fallowing, production of crops yielding low residues (e.g., vegetables, tobacco, cotton), no mineral fertilisation or no N-fixing crops.|\n|`CROPLAND_MEDIUM`|Representative for annual cropping with cereals where all crop residues are returned to the field. If residues are removed, then supplemental organic matter (e.g., manure) is added. Also requires mineral fertilisation or N-fixing crop in rotation.|\n|`CROPLAND_HIGH_WITHOUT_MANURE`|Represents significantly greater crop residue inputs over medium carbon input cropping systems due to additional practices, such as production of high residue yielding crops, use of green manures, cover crops, improved vegetated fallows, irrigation, frequent use of perennial grasses in annual crop rotations, but without manure applied (see row below).|\n|`CROPLAND_HIGH_WITH_MANURE`|Represents significantly higher carbon input over medium carbon input cropping systems due to an additional practice of regular addition of animal manure.|\n\nFor inventory years assigned `IpccLandUseCategory.ANNUAL_CROPS` or `IpccLandUseCategory.ANNUAL_CROPS_WET`, a default carbon input category of `IpccCarbonInputCategory.CROPLAND_LOW` should be assigned if the management data is insufficient to assign another category.\n\n#### Assigning land use, management and carbon input categories\n\nTo assign land use, management and carbon input categories, we use the nodes in [`site.management`](https://hestia.earth/schema/Site#management). To satisfy the requirements of each step in the flow diagram, appropriate managements must have been used on more than 30% of the Site.\n\n*For grasslands*:\n\n![Flow diagram for assigning IPCC categories in grasslands.](/assets/organicCarbonPerHa-figure3.png)\n\nn.b., land cover, land management practices and improvements must cover >30% of the Site's area to satisfy the condition.\n\n*For croplands*:\n\n![Flow diagram for assigning IPCC categories in croplands.](/assets/organicCarbonPerHa-figure4.png)\n\nn.b., land cover, land management practices and improvements must cover >30% of the Site's area to satisfy the condition.\n\nTODO: Remake flow charts as mermaid diagrams and harmonise everything to more accurately reflect the Hestia implementation.\n\nA land-use factor $F_{LU}$, a management factor $F_{MG}$ and a carbon input factor $F_{CI}$ can then be retrieved based on the `IpccLandUseCategory`, the `IpccManagementCategory` and the `IpccCarbonInputCategory` allocated for each year of the Site's inventory using the default relative stock change factors provided by the IPCC (2019) (see tables below):\n\n![Relative stock change factors for grassland management.](/assets/organicCarbonPerHa-figure5.png)\n![Relative stock change factors for cropland management.](/assets/organicCarbonPerHa-figure6.png)\n![Screenshot_2024-05-07_at_19.44.51](/assets/organicCarbonPerHa-figure7.png)\n\n### Step 3. Calculating SOC equilibriums\n\nFor each year in the inventory, we estimate the soil organic carbon equilibrium ($SOC_{eq}$), which describes the stable SOC stock that the Site would reach if the land use and land management remained consistent for 20 years:\n\n>$$\n>SOC_{eq} = SOC_{ref} * F_{LU} * F_{MG} * F_{CI}\n>$$\n>\n>Where:\n>\n>* $SOC_{eq}$ = the SOC equilibrium for the Site under a specific land use and land management regime, kg C ha<sup>-1</sup>.\n>* $SOC_{ref}$ = the SOC stock for mineral soils in the reference condition, kg C ha<sup>-1</sup>.\n>* $F_{LU}$ = the stock change factor for a particular land use, dimensionless.\n>* $F_{MG}$ = the stock change factor for a particular land management regime, dimensionless.\n>* $F_{CI}$ = the stock change factor for a particular carbon input regime, dimensionless.\n>\n>Source: [IPCC (2019)](https://www.ipcc-nggip.iges.or.jp/public/2019rf/pdf/4_Volume4/19R_V4_Ch02_Generic%20Methods.pdf)\n\nTODO: redo the tables above as real tables instead of image.\n\n### Step 4. Interpolating between SOC equilibriums\n\nStarting from the earliest year in the inventory, we can then interpolate linearly between $SOC_{eq}$ values following changes in land use and/or land management for each year of the Site's inventory according to the following equation:\n\n>$$\n>SOC_{0+T} = SOC_{0} + \\frac{min(T, 20)}{20}(SOC_{eq} - SOC_{0})\n>$$\n>\n>Where:\n>\n>* $SOC_{0+T}$ = the soil organic carbon stock $T$ years after the most recent land use and/or land management change, kg C ha<sup>-1</sup>.\n>* $SOC_{0}$ = the soil organic carbon stock when the land use and/or land management change occurred, kg C ha<sup>-1</sup>.\n>* $SOC_{eq}$ = the soil organic carbon equilibrium for the Site under the most recent land use, management regime and carbon input regime, kg C ha<sup>-1</sup>.\n>* $T$ = the number of years since the most recent land use and/or land management change event, yr.\n>\n>If $T>20$ it is capped to twenty as annual SOC stock changes are assumed to be negligible after the $SOC_{eq}$ has been reached if land use and land management remain consistent.\n>\n>Source: [IPCC (2019)](https://www.ipcc-nggip.iges.or.jp/public/2019rf/pdf/4_Volume4/19R_V4_Ch02_Generic%20Methods.pdf)\n\n## Data recommendations\n\nFor inventory years to be assigned the correct `IpccManagementCategory` and `IpccCarbonInputCategory`, it is imperative that the management data is as complete as possible.\n\nFor each year of the inventory, we recommend specifying the following:\n\n*For grassland years*:\n\n * Grassland condition, using the terms [`highIntensityGrazingPasture`](https://hestia.earth/term/highIntensityGrazingPasture), [`improvedPasture`](https://hestia.earth/term/improvedPasture), [`nativePasture`](https://hestia.earth/term/nativePasture), [`nominallyManagedPasture`](https://hestia.earth/term/nominallyManagedPasture) and/or [`severelyDegradedPasture`](https://hestia.earth/term/severelyDegradedPasture).\n * Irrigation, using terms in the [water regime glossary](https://hestia.earth/glossary?termType=waterRegime).\n * Inputs to soil, using the terms [`amendmentIncreasingSoilCarbonUsed`](https://hestia.earth/term/amendmentIncreasingSoilCarbonUsed), [`animalManureUsed`](https://hestia.earth/term/animalManureUsed), [`inorganicNitrogenFertiliserUsed`](https://hestia.earth/term/inorganicNitrogenFertiliserUsed) and/or [`organicFertiliserUsed`](https://hestia.earth/term/organicFertiliserUsed).\n * Any terms in the [land cover glossary](https://hestia.earth/glossary?termType=landCover) to specify the type of grass or fresh forage grown.\n\n*For cropland years*:\n\n * Tillage, using terms in the [tillage glossary](https://hestia.earth/glossary?termType=tillage).\n * Irrigation, using terms in the [water regime glossary](https://hestia.earth/glossary?termType=waterRegime).\n * Crop residue management, using terms in the [crop residue management glossary](https://hestia.earth/glossary?termType=cropResidueManagement).\n * Inputs to soil, using the terms [`amendmentIncreasingSoilCarbonUsed`](https://hestia.earth/term/amendmentIncreasingSoilCarbonUsed), [`animalManureUsed`](https://hestia.earth/term/animalManureUsed), [`inorganicNitrogenFertiliserUsed`](https://hestia.earth/term/inorganicNitrogenFertiliserUsed) and/or [`organicFertiliserUsed`](https://hestia.earth/term/organicFertiliserUsed).\n * Use of cover crops, using terms in the [land cover glossary](https://hestia.earth/glossary?termType=landCover) plus one of the following properties: [`catchCrop`](https://hestia.earth/term/catchCrop), [`coverCrop`](https://hestia.earth/term/coverCrop), [`groundCover`](https://hestia.earth/term/groundCover), [`longFallowCrop`](https://hestia.earth/term/longFallowCrop) and/or [`shortFallowCrop`](https://hestia.earth/term/shortFallowCrop).\n\n## Example\n\n|Eco-climate zone|`IpccSoilCategory`|$SOC_{ref}$ (kg C ha<sup>-1</sup>)|\n|-|-|-|\n|Cool temperate dry|`HIGH_ACTIVITY_CLAY_SOILS`|43000|\n\n|Year|`IpccLandUseCategory`|`IpccManagementCategory`|`IpccCarbonInputCategory`|`organicCarbonPerHa` (kg C ha<sup>-1</sup>)|\n|-|-|-|-|-|\n|2014|`ANNUAL_CROPS`|`FULL_TILLAGE`|`CROPLAND_LOW`|31455|\n|2015|`ANNUAL_CROPS`|`FULL_TILLAGE`|`CROPLAND_LOW`|31455|\n|2016|`ANNUAL_CROPS`|`FULL_TILLAGE`|`CROPLAND_LOW`|31455|\n|2017|`ANNUAL_CROPS`|`FULL_TILLAGE`|`CROPLAND_MEDIUM`|31537|\n|2018|`ANNUAL_CROPS`|`FULL_TILLAGE`|`CROPLAND_MEDIUM`|31620|\n|2019|`ANNUAL_CROPS`|`REDUCED_TILLAGE`|`CROPLAND_MEDIUM`|31661|\n|2020|`ANNUAL_CROPS`|`REDUCED_TILLAGE`|`CROPLAND_HIGH_WITH_MANURE`|32301|\n|2021|`ANNUAL_CROPS`|`REDUCED_TILLAGE`|`CROPLAND_HIGH_WITH_MANURE`|32940|\n|2022|`ANNUAL_CROPS`|`REDUCED_TILLAGE`|`CROPLAND_HIGH_WITH_MANURE`|33580|\n|2023|`ANNUAL_CROPS`|`REDUCED_TILLAGE`|`CROPLAND_HIGH_WITH_MANURE`|34220|\n\n![Graph displaying the Tier 1 SOC model outputs.](/assets/organicCarbonPerHa-figure8.png)\n\nGraph displaying the Tier 1 SOC model outputs.\n\n## Discussion\n\nWhile the Tier 1 methodology is useful due to its relatively low data requirements (i.e., user uploads generally report the required data and/or the required data can be easily gap-filled using other Hestia models), the methodology does have some important flaws:\n\n* Neither `soilType` nor `usdaSoilType` are gap-filled using geospatial models by the Hestia platform yet. Therefore, they must be specified in the user upload (see [issue 741](https://gitlab.com/hestia-earth/hestia-engine-models/-/issues/741)).\n* There are no factors for different land management and carbon input regimes for forests, paddy-rice cultivation and perennial crops. New factors should be calculated to make the model more useful for these land uses (see [issue 658](https://gitlab.com/hestia-earth/hestia-engine-models/-/issues/658)).\n* The model must be extended to meet the requirements of new reporting standards:\n - Country-specific factors must be calculated to bump the method up to Tier 2 (see [issue 757](https://gitlab.com/hestia-earth/hestia-engine-models/-/issues/757)).\n - The uncertainty of model results must be calculated and reported (see [issue 753](https://gitlab.com/hestia-earth/hestia-engine-models/-/issues/753)).\n\nThere is also a downstream issue, specific to the Tier 1 methodology, regarding the allocation of emissions due to SOC stock changes. The Tier 1 methodology can be used to estimate SOC stock changes due to land use changes (`IpccLandUseCategory`) AND land management changes (`IpccManagementCategory` & `IpccCarbonInputCategory`). However, to meet reporting requirements, CO<sub>2</sub> emissions from SOC stock changes should be disaggregated into those due to land use changes ([`co2ToAirSoilCarbonStockChangeManagementChange`](https://www.hestia.earth/term/co2ToAirSoilCarbonStockChangeManagementChange)) and those due to land management changes ([`co2ToAirSoilCarbonStockChangeLandUseChange`](https://www.hestia.earth/term/co2ToAirSoilCarbonStockChangeLandUseChange)). Currently, the Hestia platform has no way of disaggregating these emissions and all CO<sub>2</sub> emissions from SOC stock changes are accounted for by the `ipcc2019.co2ToAirSoilCarbonStockChangeManagementChange` model. Further work will be required to disaggregate these emissions (see [issue \\*\\*\\*]()).\n\n**Finally, the model currently only outputs a `value`, but it does not calculate any descriptive statistics for its results (i.e., `sd`, `min` and `max`); however, it is a reporting requirement (TODO: add which reporting guidelines) to provide the min, max and uncertainty of modelled `organicCarbonPerHa` values if CO<sub>2</sub> is reported to have been removed from the atmosphere via SOC stock changes. We are currently working to address this by running the model as a Monte Carlo simulation (see [issue 753](https://gitlab.com/hestia-earth/hestia-engine-models/-/issues/753)).**\n\n\n\n"}
1
+ {"tags":{"author":["Florian Payen"],"group":["Soil Measurements"],"tab":["IPCC (2019) Tier 1"],"citation":["Payen, F. (2025) Soil organic carbon stock modelling on HESTIA."],"modelId":["organicCarbonPerHa"],"modelRequires":["ecoClimateZone","amendmentIncreasingSoilCarbonUsed","animalManureUsed","inorganicNitrogenFertiliserUsed","organicFertiliserUsed","shortBareFallow"]},"content":"# Organic carbon (per ha)\n\nThe stock of organic carbon in the soil, defined as soil organic matter that is smaller than 2 mm in size.\n\n## Overview\n\nThis page is about the IPCC Tier 1 model for estimating SOC stock changes in the 0 - 30 cm depth interval of mineral soils for croplands, grasslands and land under natural vegetation.\n\nThe model estimates the SOC stock changes that occur on [Sites](https://www.hestia.earth/schema/Site) after a land use and/or land management change event by linearly interpolating between the initial SOC stock and the new SOC stock equilibrium over the course of 20 years. After 20 years, it is assumed that the new SOC equilibrium has been reached and the ongoing SOC stock change is negligible until a new land use and/or land management change event occurs. Any subsequent land-use and/or land-management change trigger the start of a 20-year transition to the new equilibrium.\n\nThe model is run as a Monte Carlo simulation with 10,000 iterations. Model result values are the row-wise `mean` of simulation results. See our guide on [Monte Carlo simulation](/guide/applying-models-monte-carlo) for more information.\n\n## How the model works\n\n### Step 1. Assigning an $SOC_{ref}$\n\nThe $SOC_{ref}$ of a [Site](https://www.hestia.earth/schema/Site) represents the SOC stock (kg C ha<sup>-1</sup>) that the soil would have in the 0 - 30 cm depth interval when non-degraded, unimproved and under native vegetation. This reference value will later be multiplied by a series of factors to calculate SOC stock gains or losses from changes in land use and/or land management.\n\nFor most [Sites](https://www.hestia.earth/schema/Site), the $SOC_{ref}$ value is assigned based on the combination of its [`ecoClimateZone`](https://hestia.earth/term/ecoClimateZone) and `IpccSoilCategory`. Once these two elements have been determined for a [Site](https://www.hestia.earth/schema/Site), we can allocate the $SOC_{ref}$ value using the default $SOC_{ref}$ values for mineral soils (kg C ha<sup>-1</sup> in 0 - 30 cm depth interval) provided by the IPCC (2019) (see table below). All values are presented in the format of the mean for the soil by climate combination ± the 95% confidence limit expressed as a percentage of the mean (_i.e._, ± 1.96 * standard error /mean *100). Values in parentheses are the number of soils included in the derivation of mean and standard error values for each combination of soil and climate types.\n\n|IPCC climate zone|High activity clay soils|Low activity clay soils|Sandy soils|Spodic soils|Volcanic soils|Wetlands soils|\n|-|-|-|-|-|-|-|\n|Polar Moist/Dry (Px - undiff)<sup>2</sup>|59000 ± 41% (24)|NA<sup>1</sup>|27000 ± 67% (18)|NO<sup>1</sup>|NA<sup>1</sup>|NA<sup>1</sup>|\n|Boreal Moist/Dry (Bx - undiff)<sup>2</sup>|63000 ± 18% (35)|NA<sup>1</sup>|10000 ± 90%|117000 ± 90%|20000 ± 90%|116000 ± 65% (6)|\n|Cool temperate dry (C2)|43000 ± 8% (177)|33000 ± 90%|13000 ± 33% (10)|NO<sup>1</sup>|20000 ± 90%|87000 ± 90%|\n|Cool temperate moist (C1)|81000 ± 5% (334)|76000 ± 51% (6)|51000 ± 13% (126)|128000 ± 14% (45)|136000 ± 14% (28)|128000 ± 13% (42)|\n|Warm temperate dry (W2)|24000 ± 5% (781)|19000 ± 16% (41)|10000 ± 5% (338)|NO<sup>1</sup>|84000 ± 65% (10)|74000 ± 17% (49)|\n|Warm temperate moist (W1)|64000 ± 5% (489)|55000 ± 8% (183)|36000 ± 23% (39)|143000 ± 30% (9)|138000 ± 12% (42)|135000 ± 28% (28)|\n|Tropical dry (T4)|21000 ± 5% (554)|19000 ± 10% (135)|9000 ± 9% (164)|NA<sup>1</sup>|50000 ± 90%|22000 ± 17% (32)|\n|Tropical moist (T3)|40000 ± 7% (226)|38000 ± 5% (326)|27000 ± 12% (76)|NA<sup>1</sup>|70000 ± 90%|68000 ± 17% (55)|\n|Tropical wet (T2)|60000 ± 8% (137)|52000 ± 6% (271)|46000 ± 20% (43)|NA<sup>1</sup>|77000 ± 27% (14)|49000 ± 19% (33)|\n|Tropical montane (T1)|51000 ± 10% (114)|44000 ± 11% (84)|52000 ± 34% (11)|NA<sup>1</sup>|96000 ± 31% (10)|82000 ± 50% (12)|\n\nNotes:\n- <sup>1</sup> NA denotes that the soil category may occur in a climate zone, but no data was available. NO denotes that the soil type does not normally occur within a climate zone.\n- <sup>2</sup> The Boreal dry and Boreal moist zones and the Polar dry and Polar moist zones were not differentiated. Results presented represent the SOC30 stocks for the undifferentiated (undiff.) Boreal (Bx) and Polar (Px) classes.\n\n#### IPCC eco-climate zones\n\nThe IPCC divides the globe into 12 broad eco-climate zones:\n- Polar dry (P2)\n- Polar moist (P1)\n- Boreal dry (B2)\n- Boreal moist (B1)\n- Cool temperate dry (C2)\n- Cool temperate moist (C1)\n- Warm temperate dry (W2)\n- Warm temperate moist (W1)\n- Tropical dry (T4)\n- Tropical moist (T3)\n- Tropical wet (T2)\n- Tropical montane (T1)\n\n![World divided into eco-climate zones.](/assets/ipccClimateZones.png)\n\nWorld divided into eco-climate zones.\n\nThese climate classes were defined by the [IPCC (2006), Vol. 4, Chapter 3, p. 3.39)](https://www.ipcc-nggip.iges.or.jp/public/2006gl/pdf/4_Volume4/V4_03_Ch3_Representation.pdf) using elevation, mean annual temperature (MAT), mean annual precipitation (MAP), mean annual precipitation to potential evapotranspiration (PET) ratio and frost occurrence.\n\nThe IPCC eco-climate zone of a [Site](https://www.hestia.earth/schema/Site) is automatically gap-filled by HESTIA when data is uploaded using the [Site](https://www.hestia.earth/schema/Site)'s geo-location data (`site.latitude` & `site.longitude` or `site.region`).\n\n#### IPCC soil categories\n\nThe 7 IPCC soil categories are:\n\n|`IpccSoilCategory`|Description|\n|-|-|\n|`ORGANIC_SOILS`|Soils having organic material (Histosols).<br/><br/>The model **should not run** for any [Sites](https://www.hestia.earth/schema/Site) assigned this category.|\n|`HIGH_ACTIVITY_CLAY_SOILS`|Soils with high activity clay (HAC) minerals are lightly to moderately weathered soils dominated by 2:1 silicate clay minerals (in the World Reference Base for Soil Resources (WRB) classification: Leptosols, Vertisols, Kastanozems, Chernozems, Phaeozems, Luvisols, Alisols, Albeluvisols, Solonetz, Calcisols, Gypsisols, Umbrisols, Cambisols, Regosols; in USDA classification: Mollisols, Vertisols, high-base status Alfisols, Aridisols, Inceptisols).|\n|`LOW_ACTIVITY_CLAY_SOILS`|Soils with low activity clay (LAC) minerals are highly weathered soils, dominated by 1:1 clay minerals and amorphous iron and aluminium oxides (in WRB classification: Acrisols, Lixisols, Nitisols, Ferralsols, Durisols; in USDA classification: Ultisols, Oxisols, acidic Alfisols).|\n|`SANDY_SOILS`|Soils (regardless of taxonomic classification) having > 70% sand and < 8% clay (in WRB classification: Arenosols; in USDA classification: Psamments).|\n|`SPODIC_SOILS`|Soils exhibiting strong podzolization (in WRB classification: Podzols; in USDA classification: Spodosols).|\n|`VOLCANIC_SOILS`|Soils derived from volcanic ash with allophanic mineralogy (in WRB classification: Andosols; in USDA classification: Andisols).|\n|`WETLAND_SOILS`|Soils with restricted drainage leading to periodic flooding and anaerobic conditions (in WRB classification: Gleysols; in USDA classification: Aquic suborders).|\n\n#### Assigning an IPCC soil category\n\nTo assign an `IpccSoilCategory` to a [Site](https://www.hestia.earth/schema/Site), we use the [`soilType`](https://hestia.earth/glossary?termType=soilType) or [`usdaSoilType`](https://hestia.earth/glossary?termType=usdaSoilType) nodes in [`site.measurements`](https://hestia.earth/schema/Site#measurements). To satisfy the requirements of each soil category, soil types belonging to that category must cover more than 30% of the [Site](https://www.hestia.earth/schema/Site).\n\nFirst, we check for [Measurements](https://www.hestia.earth/schema/Measurement) with terms in the [`soilType`](https://hestia.earth/glossary?termType=soilType) glossary in the following order:\n\n![Flow diagram for assigning an IPCC soil category from WRB soil type.](/assets/organicCarbonPerHa-figure1.png)\n\nFlow diagram for assigning an IPCC soil category from WRB soil type.\n\nIf a category has not been assigned, we try again checking for [Measurements](https://www.hestia.earth/schema/Measurement) with terms in the [`usdaSoilType`](https://hestia.earth/glossary?termType=usdaSoilType) glossary in the following order:\n\n![Flow diagram for assigning an IPCC soil category from USDA soil type.](/assets/organicCarbonPerHa-figure2.png)\n\nFlow diagram for assigning an IPCC soil category from USDA soil type.\n\nIf a soil category has not been assigned after following both decision trees, the [Site](https://www.hestia.earth/schema/Site) should be assigned the default category of `IpccSoilCategory.LOW_ACTIVITY_CLAY_SOILS`.\n\nn.b., An $SOC_{ref}$ cannot be assigned for all combinations of [`ecoClimateZone`](https://hestia.earth/term/ecoClimateZone) and `IpccSoilCategory`. This is because some soil categories do not normally occur within all climate zones or because no data was available to calculate a reference value. In these cases, the model **should not run**.\n\nIn addition, this models is only for mineral soils. If a soil is assigned the `ORGANIC_SOILS`, this model **should not run**; instead, the IPCC (2019) model for organic soil cultivation should be used. <!--See our guide on [Organic soil cultivation](./organicSoilCultivation) for more information.-->\n\n### Step 2. Compiling an annual inventory\n\nOnce an $SOC_{ref}$ has been assigned to a [Site](https://www.hestia.earth/schema/Site), we need to compile an annual inventory of the land use and land management. For each year of the inventory, we summarise the nodes in [`site.management`](https://hestia.earth/schema/Site#management) by assigning an `IpccLandUseCategory`. For some land-use categories, we then assign an additional `IpccManagementCategory` and `IpccCarbonInputCategory`.\n\n#### IPCC land use categories\n\nThe `IpccLandUseCategory` categories are:\n\n|`IpccLandUseCategory`|Description|\n|-|-|\n|`GRASSLAND`|All native and/or permanent grassland. <br/><br/> An additional grassland management category **must** be assigned.|\n|`ANNUAL_CROPS`|Represents area that has been converted from native conditions and continuously managed for predominantly annual crops over 50 years. <br/><br/> Additional tillage management and cropland carbon input categories **must** be assigned.|\n|`ANNUAL_CROPS_WET`|Represents area with mineral wetland soils that has been converted from native conditions and continuously managed for predominantly annual crops over 50 years. <br/><br/> Additional tillage management and cropland carbon input categories **must** be assigned.|\n|`PADDY_RICE_CULTIVATION`|Long-term (> 20 years) annual cropping of wetlands (paddy rice). Can include double-cropping with non-flooded crops.|\n|`PERENNIAL_CROPS`|Long-term perennial tree crops such as fruit and nut trees, coffee and cacao.|\n|`SET_ASIDE`|Represents temporary (< 20 years) set aside of annual cropland (_e.g._, conservation reserves) or other idle cropland that has been revegetated with perennial grasses.|\n|`FOREST`|All native and/or permanent forest.|\n|`NATIVE`|Any other native vegetation.|\n|`OTHER`|Any other land use. The model should not run for any inventory years assigned this category.|\n\n#### IPCC management categories\n\n##### For grasslands:\n\nThe management categories for inventory years with `IpccLandUseCategory.GRASSLAND` are:\n\n|`IpccManagementCategory`|Description|\n|-|-|\n|`IMPROVED_GRASSLAND`|Represents grassland that is sustainably managed with light to moderate grazing pressure (or cutting and removal of vegetation) and that receive at least one improvement (_e.g._, fertilisation, species improvement, irrigation). <br/><br/> An additional grassland carbon input category **must** be assigned.|\n|`HIGH_INTENSITY_GRAZING`|Represents high intensity grazing systems (or cutting and removal of vegetation) with shifts in vegetation composition and possibly productivity but is not severely degraded.|\n|`NOMINALLY_MANAGED`|Represents low or medium intensity grazing regimes, in addition to periodic cutting and removal of above-ground vegetation, without significant management improvements. High intensity grazing may be moderately degraded, but it does not represent excessive grazing intensity that leads to severe grassland degradation.|\n|`SEVERELY_DEGRADED`|Implies major long-term loss of productivity and vegetation cover, due to severe mechanical damage to the vegetation and/or severe soil erosion.|\n\nFor inventory years assigned `IpccLandUseCategory.GRASSLAND`, a management category is required for the model to run. In the absence of one, an `IpccManagementCategory` of `UNKNOWN` will be assigned to the corresponding inventory years and the model **will not run** for these years.\n\n##### For annual croplands:\n\nThe management categories for inventory years with `IpccLandUseCategory.ANNUAL_CROPS` or `IpccLandUseCategory.ANNUAL_CROPS_WET` are:\n\n|`IpccManagementCategory`|Description|\n|-|-|\n|`FULL_TILLAGE`|Substantial soil disturbance with full inversion and/or frequent (within year) tillage operations. At planting time, little (_e.g._, <30%) of the surface is covered by residues.|\n|`REDUCED_TILLAGE`|Primary and/or secondary tillage but with reduced soil disturbance (usually shallow and without full soil inversion). Normally leaves surface with >30% coverage by residues at planting.|\n|`NO_TILLAGE`|Direct seeding without primary tillage, with only minimal soil disturbance in the seeding zone. Herbicides are typically used for weed control.|\n\nFor inventory years assigned `IpccLandUseCategory.ANNUAL_CROPS` or `IpccLandUseCategory.ANNUAL_CROPS_WET`, a management category is reauired for the model to run. In the absence of one, an `IpccManagementCategory` of `UNKNOWN` will be assigned to the corresponding inventory years and the model **will not run** for these years.\n\n#### IPCC carbon input categories\n\n##### For grasslands:\n\nThe carbon input categories for inventory years with `IpccManagementCategory.IMPROVED_GRASSLAND` are:\n\n|`IpccCarbonInputCategory`|Description|\n|-|-|\n|`GRASSLAND_MEDIUM`|Applies to improved grassland where a single management input or improvement has been made.|\n|`GRASSLAND_HIGH`|Applies to improved grassland where two or more management inputs or improvements have been used.|\n\nFor inventory years assigned `IpccManagementCategory.IMPROVED_GRASSLAND`, a default carbon input category of `IpccCarbonInputCategory.GRASSLAND_MEDIUM` should be assigned if the management data is insufficient to assign another category.\n\n##### For annual croplands:\n\nThe carbon input categories for inventory years with `IpccLandUseCategory.ANNUAL_CROPS` or `IpccLandUseCategory.ANNUAL_CROPS_WET` are:\n\n|`IpccCarbonInputCategory`|Description|\n|-|-|\n|`CROPLAND_LOW`|Low residue return occurs when there is removal of residues (via collection or burning), frequent bare-fallowing, production of crops yielding low residues (_e.g._, vegetables, tobacco, cotton), no mineral fertilisation or no N-fixing crops.|\n|`CROPLAND_MEDIUM`|Representative for annual cropping with cereals where all crop residues are returned to the field. If residues are removed, then supplemental organic matter (_e.g._, manure) is added. Also requires mineral fertilisation or N-fixing crop in rotation.|\n|`CROPLAND_HIGH_WITHOUT_MANURE`|Represents significantly greater crop residue inputs over medium carbon input cropping systems due to additional practices, such as production of high residue yielding crops, use of green manures, cover crops, improved vegetated fallows, irrigation, frequent use of perennial grasses in annual crop rotations, but without manure applied (see row below).|\n|`CROPLAND_HIGH_WITH_MANURE`|Represents significantly higher carbon input over medium carbon input cropping systems due to an additional practice of regular addition of animal manure.|\n\nFor inventory years assigned `IpccLandUseCategory.ANNUAL_CROPS` or `IpccLandUseCategory.ANNUAL_CROPS_WET`, a default carbon input category of `IpccCarbonInputCategory.CROPLAND_LOW` should be assigned if the management data is insufficient to assign another category.\n\n#### Assigning land use, management and carbon input categories\n\nTo assign land use, management and carbon input categories, we use the nodes in [`site.management`](https://hestia.earth/schema/Site#management). To satisfy the requirements of each step in the flow diagram, appropriate managements must have been used on more than 30% of the [Site](https://www.hestia.earth/schema/Site).\n\n##### For grasslands\n\n![Flow diagram for assigning IPCC categories in grasslands.](/assets/organicCarbonPerHa-figure3.png)\n\nn.b., land cover, land management practices and improvements must cover >30% of the [Site](https://www.hestia.earth/schema/Site)'s area to satisfy the condition.\n\n##### For croplands\n\n![Flow diagram for assigning IPCC categories in croplands.](/assets/organicCarbonPerHa-figure4.png)\n\nn.b., land cover, land management practices and improvements must cover >30% of the [Site](https://www.hestia.earth/schema/Site)'s area to satisfy the condition.\n\nA land-use factor $F_{LU}$, a management factor $F_{MG}$ and a carbon input factor $F_{CI}$ can then be retrieved based on the `IpccLandUseCategory`, the `IpccManagementCategory` and the `IpccCarbonInputCategory` allocated for each year of the [Site](https://www.hestia.earth/schema/Site)'s inventory using the default relative stock change factors provided by the IPCC (2019) (see tables below):\n\n![Relative stock change factors for grassland management.](/assets/organicCarbonPerHa-figure5.png)\n\n![Relative stock change factors for cropland management.](/assets/organicCarbonPerHa-figure6.png)\n\n![Screenshot_2024-05-07_at_19.44.51](/assets/organicCarbonPerHa-figure7.png)\n\n### Step 3. Calculating SOC equilibriums\n\nFor each year in the inventory, we estimate the soil organic carbon equilibrium ($SOC_{eq}$), which describes the stable SOC stock that the [Site](https://www.hestia.earth/schema/Site) would reach if the land use and land management remained consistent for 20 years:\n\n$SOC_{eq} = SOC_{ref} * F_{LU} * F_{MG} * F_{CI}$\n\nWhere:\n\n* $SOC_{eq}$ = the SOC equilibrium for the [Site](https://www.hestia.earth/schema/Site) under a specific land use and land management regime, kg C ha<sup>-1</sup>.\n* $SOC_{ref}$ = the SOC stock for mineral soils in the reference condition, kg C ha<sup>-1</sup>.\n* $F_{LU}$ = the stock change factor for a particular land use, dimensionless.\n* $F_{MG}$ = the stock change factor for a particular land management regime, dimensionless.\n* $F_{CI}$ = the stock change factor for a particular carbon input regime, dimensionless.\n\n### Step 4. Interpolating between SOC equilibriums\n\nStarting from the earliest year in the inventory, we can then interpolate linearly between $SOC_{eq}$ values following changes in land use and/or land management for each year of the [Site](https://www.hestia.earth/schema/Site)'s inventory according to the following equation:\n\n$SOC_{0+T} = SOC_{0} + \\frac{min(T, 20)}{20}(SOC_{eq} - SOC_{0})$\n\nWhere:\n\n* $SOC_{0+T}$ = the soil organic carbon stock $T$ years after the most recent land use and/or land management change, kg C ha<sup>-1</sup>.\n* $SOC_{0}$ = the soil organic carbon stock when the land use and/or land management change occurred, kg C ha<sup>-1</sup>.\n* $SOC_{eq}$ = the soil organic carbon equilibrium for the [Site](https://www.hestia.earth/schema/Site) under the most recent land use, management regime and carbon input regime, kg C ha<sup>-1</sup>.\n* $T$ = the number of years since the most recent land use and/or land management change event, yr.\n\nIf $T>20$, it is capped to twenty as annual SOC stock changes are assumed to be negligible after the $SOC_{eq}$ has been reached if land use and land management remain consistent.\n\n## Data recommendations\nFor inventory years to be assigned the correct `IpccManagementCategory` and `IpccCarbonInputCategory`, it is imperative that the management data is as complete as possible.\n\nFor each year of the inventory, we recommend specifying the following:\n\n### For grassland years\n\n * Grassland condition, using the terms [`highIntensityGrazingPasture`](https://hestia.earth/term/highIntensityGrazingPasture), [`improvedPasture`](https://hestia.earth/term/improvedPasture), [`nativePasture`](https://hestia.earth/term/nativePasture), [`nominallyManagedPasture`](https://hestia.earth/term/nominallyManagedPasture) and/or [`severelyDegradedPasture`](https://hestia.earth/term/severelyDegradedPasture).\n * Irrigation, using terms in the [water regime glossary](https://hestia.earth/glossary?termType=waterRegime).\n * Inputs to soil, using the terms [`amendmentIncreasingSoilCarbonUsed`](https://hestia.earth/term/amendmentIncreasingSoilCarbonUsed), [`animalManureUsed`](https://hestia.earth/term/animalManureUsed), [`inorganicNitrogenFertiliserUsed`](https://hestia.earth/term/inorganicNitrogenFertiliserUsed) and/or [`organicFertiliserUsed`](https://hestia.earth/term/organicFertiliserUsed).\n * Any terms in the [land cover glossary](https://hestia.earth/glossary?termType=landCover) to specify the type of grass or fresh forage grown.\n\n### For cropland years\n\n * Tillage, using terms in the [tillage glossary](https://hestia.earth/glossary?termType=tillage).\n * Irrigation, using terms in the [water regime glossary](https://hestia.earth/glossary?termType=waterRegime).\n * Crop residue management, using terms in the [crop residue management glossary](https://hestia.earth/glossary?termType=cropResidueManagement).\n * Inputs to soil, using the terms [`amendmentIncreasingSoilCarbonUsed`](https://hestia.earth/term/amendmentIncreasingSoilCarbonUsed), [`animalManureUsed`](https://hestia.earth/term/animalManureUsed), [`inorganicNitrogenFertiliserUsed`](https://hestia.earth/term/inorganicNitrogenFertiliserUsed) and/or [`organicFertiliserUsed`](https://hestia.earth/term/organicFertiliserUsed).\n * Use of cover crops, using terms in the [land cover glossary](https://hestia.earth/glossary?termType=landCover) plus one of the following [Properties](https://www.hestia.earth/schema/Property): [`catchCrop`](https://hestia.earth/term/catchCrop), [`coverCrop`](https://hestia.earth/term/coverCrop), [`groundCover`](https://hestia.earth/term/groundCover), [`longFallowCrop`](https://hestia.earth/term/longFallowCrop) and/or [`shortFallowCrop`](https://hestia.earth/term/shortFallowCrop).\n\n## Example\n\n|Eco-climate zone|`IpccSoilCategory`|$SOC_{ref}$ (kg C ha<sup>-1</sup>)|\n|-|-|-|\n|Cool temperate dry|`HIGH_ACTIVITY_CLAY_SOILS`|43000|\n\n|Year|`IpccLandUseCategory`|`IpccManagementCategory`|`IpccCarbonInputCategory`|`organicCarbonPerHa` (kg C ha<sup>-1</sup>)|\n|-|-|-|-|-|\n|2014|`ANNUAL_CROPS`|`FULL_TILLAGE`|`CROPLAND_LOW`|31455|\n|2015|`ANNUAL_CROPS`|`FULL_TILLAGE`|`CROPLAND_LOW`|31455|\n|2016|`ANNUAL_CROPS`|`FULL_TILLAGE`|`CROPLAND_LOW`|31455|\n|2017|`ANNUAL_CROPS`|`FULL_TILLAGE`|`CROPLAND_MEDIUM`|31537|\n|2018|`ANNUAL_CROPS`|`FULL_TILLAGE`|`CROPLAND_MEDIUM`|31620|\n|2019|`ANNUAL_CROPS`|`REDUCED_TILLAGE`|`CROPLAND_MEDIUM`|31661|\n|2020|`ANNUAL_CROPS`|`REDUCED_TILLAGE`|`CROPLAND_HIGH_WITH_MANURE`|32301|\n|2021|`ANNUAL_CROPS`|`REDUCED_TILLAGE`|`CROPLAND_HIGH_WITH_MANURE`|32940|\n|2022|`ANNUAL_CROPS`|`REDUCED_TILLAGE`|`CROPLAND_HIGH_WITH_MANURE`|33580|\n|2023|`ANNUAL_CROPS`|`REDUCED_TILLAGE`|`CROPLAND_HIGH_WITH_MANURE`|34220|\n\n![Graph displaying the Tier 1 SOC model outputs.](/assets/organicCarbonPerHa-figure8.png)\n\nGraph displaying the Tier 1 SOC model outputs.\n\n## Discussion\n\nWhile the Tier 1 methodology is useful due to its relatively low data requirements (_i.e._, user uploads generally report the required data and/or the required data can be easily gap-filled using other HESTIA models), the methodology does have some important flaws:\n\n* Neither `soilType` nor `usdaSoilType` are gap-filled using geospatial models by the HESTIA platform yet. Therefore, they must be specified in the user upload.\n* There are no factors for different land management and carbon input regimes for forests, paddy-rice cultivation and perennial crops. New factors should be calculated to make the model more useful for these land uses.\n* The model could be extended to meet the requirements of new reporting standards. Country-specific factors could be calculated to bump the method up to Tier 2.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<div class=\"collapsibles\">\n <div class=\"collapsible-group\">\n <div class=\"collapsible-header\">\n <span>Returns</span>\n </div>\n <div class=\"collapsible-content\"><ul>\n<li>A list of <a href=\"https://hestia.earth/schema/Measurement\">Measurements</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Measurement#term\">term</a> with <a href=\"https://hestia.earth/term/organicCarbonPerHa\">organicCarbonPerHa</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#methodModel\">methodModel</a> with <a href=\"https://hestia.earth/term/ipcc2019\">ipcc2019</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#value\">value</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#sd\">sd</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#min\">min</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#max\">max</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#statsDefinition\">statsDefinition</a> with <code>simulated</code></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#observations\">observations</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#dates\">dates</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#depthUpper\">depthUpper</a> with <code>0</code></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#depthLower\">depthLower</a> with <code>30</code></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#methodClassification\">methodClassification</a> with <code>tier 1 model</code></li>\n</ul>\n</li>\n</ul>\n</div>\n </div>\n <div class=\"collapsible-group\">\n <div class=\"collapsible-header\">\n <span>Requirements</span>\n </div>\n <div class=\"collapsible-content\"><ul>\n<li>A <a href=\"https://hestia.earth/schema/Site\">Site</a> with:<ul>\n<li>a <a href=\"https://hestia.earth/schema/Site#siteType\">siteType</a> = <code>forest</code> <strong>or</strong> <code>other natural vegetation</code> <strong>or</strong> <code>cropland</code> <strong>or</strong> <code>glass or high accessible cover</code> <strong>or</strong> <code>permanent pasture</code></li>\n<li>a list of <a href=\"https://hestia.earth/schema/Site#management\">managements</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Management#value\">value</a> and <a href=\"https://hestia.earth/schema/Management#term\">term</a> of <a href=\"https://hestia.earth/schema/Term#termType\">termType</a> = <a href=\"https://hestia.earth/glossary?termType=landCover\">landCover</a></li>\n</ul>\n</li>\n<li>a list of <a href=\"https://hestia.earth/schema/Site#measurements\">measurements</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Measurement#value\">value</a> with <code>1</code> <strong>or</strong> <code>2</code> <strong>or</strong> <code>3</code> <strong>or</strong> <code>4</code> <strong>or</strong> <code>7</code> <strong>or</strong> <code>8</code> <strong>or</strong> <code>9</code> <strong>or</strong> <code>10</code> <strong>or</strong> <code>11</code> <strong>or</strong> <code>12</code> and <a href=\"https://hestia.earth/schema/Measurement#term\">term</a> with <a href=\"https://hestia.earth/term/ecoClimateZone\">ecoClimateZone</a></li>\n</ul>\n</li>\n<li>optional:<ul>\n<li>a list of <a href=\"https://hestia.earth/schema/Site#measurements\">measurements</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Measurement#value\">value</a> and <a href=\"https://hestia.earth/schema/Measurement#term\">term</a> of <a href=\"https://hestia.earth/schema/Term#termType\">termType</a> = <a href=\"https://hestia.earth/glossary?termType=soilType\">soilType</a> <strong>or</strong> <a href=\"https://hestia.earth/glossary?termType=usdaSoilType\">usdaSoilType</a></li>\n</ul>\n</li>\n<li>a list of <a href=\"https://hestia.earth/schema/Site#management\">managements</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Management#value\">value</a> and <a href=\"https://hestia.earth/schema/Management#startDate\">startDate</a> and <a href=\"https://hestia.earth/schema/Management#endDate\">endDate</a> and <a href=\"https://hestia.earth/schema/Management#term\">term</a> of <a href=\"https://hestia.earth/schema/Term#termType\">termType</a> = <a href=\"https://hestia.earth/glossary?termType=cropResidueManagement\">cropResidueManagement</a> and <a href=\"https://hestia.earth/schema/Term#name\">name</a> containing &quot;burnt,removed&quot;</li>\n<li><a href=\"https://hestia.earth/schema/Management#value\">value</a> and <a href=\"https://hestia.earth/schema/Management#startDate\">startDate</a> and <a href=\"https://hestia.earth/schema/Management#endDate\">endDate</a> and <a href=\"https://hestia.earth/schema/Management#term\">term</a> of <a href=\"https://hestia.earth/schema/Term#termType\">termType</a> = <a href=\"https://hestia.earth/glossary?termType=landUseManagement\">landUseManagement</a></li>\n<li><a href=\"https://hestia.earth/schema/Management#value\">value</a> and <a href=\"https://hestia.earth/schema/Management#startDate\">startDate</a> and <a href=\"https://hestia.earth/schema/Management#endDate\">endDate</a> and <a href=\"https://hestia.earth/schema/Management#term\">term</a> of <a href=\"https://hestia.earth/schema/Term#termType\">termType</a> = <a href=\"https://hestia.earth/glossary?termType=tillage\">tillage</a></li>\n<li><a href=\"https://hestia.earth/schema/Management#value\">value</a> and <a href=\"https://hestia.earth/schema/Management#startDate\">startDate</a> and <a href=\"https://hestia.earth/schema/Management#endDate\">endDate</a> and <a href=\"https://hestia.earth/schema/Management#term\">term</a> of <a href=\"https://hestia.earth/schema/Term#termType\">termType</a> = <a href=\"https://hestia.earth/glossary?termType=waterRegime\">waterRegime</a> and <a href=\"https://hestia.earth/schema/Term#name\">name</a> containing &quot;deep water,irrigated&quot;</li>\n<li><a href=\"https://hestia.earth/schema/Management#value\">value</a> and <a href=\"https://hestia.earth/schema/Management#startDate\">startDate</a> and <a href=\"https://hestia.earth/schema/Management#endDate\">endDate</a> and <a href=\"https://hestia.earth/schema/Management#term\">term</a> with <a href=\"https://hestia.earth/term/amendmentIncreasingSoilCarbonUsed\">amendmentIncreasingSoilCarbonUsed</a></li>\n<li><a href=\"https://hestia.earth/schema/Management#value\">value</a> and <a href=\"https://hestia.earth/schema/Management#startDate\">startDate</a> and <a href=\"https://hestia.earth/schema/Management#endDate\">endDate</a> and <a href=\"https://hestia.earth/schema/Management#term\">term</a> with <a href=\"https://hestia.earth/term/animalManureUsed\">animalManureUsed</a></li>\n<li><a href=\"https://hestia.earth/schema/Management#value\">value</a> and <a href=\"https://hestia.earth/schema/Management#startDate\">startDate</a> and <a href=\"https://hestia.earth/schema/Management#endDate\">endDate</a> and <a href=\"https://hestia.earth/schema/Management#term\">term</a> with <a href=\"https://hestia.earth/term/inorganicNitrogenFertiliserUsed\">inorganicNitrogenFertiliserUsed</a></li>\n<li><a href=\"https://hestia.earth/schema/Management#value\">value</a> and <a href=\"https://hestia.earth/schema/Management#startDate\">startDate</a> and <a href=\"https://hestia.earth/schema/Management#endDate\">endDate</a> and <a href=\"https://hestia.earth/schema/Management#term\">term</a> with <a href=\"https://hestia.earth/term/organicFertiliserUsed\">organicFertiliserUsed</a></li>\n<li><a href=\"https://hestia.earth/schema/Management#value\">value</a> and <a href=\"https://hestia.earth/schema/Management#startDate\">startDate</a> and <a href=\"https://hestia.earth/schema/Management#endDate\">endDate</a> and <a href=\"https://hestia.earth/schema/Management#term\">term</a> with <a href=\"https://hestia.earth/term/shortBareFallow\">shortBareFallow</a></li>\n</ul>\n</li>\n</ul>\n</li>\n<li>none of:<ul>\n<li>a <a href=\"https://hestia.earth/schema/Site#siteType\">siteType</a> = <code>glass or high accessible cover</code></li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</div>\n </div>\n <div class=\"collapsible-group\">\n <div class=\"collapsible-header\">\n <span>Lookups used</span>\n </div>\n <div class=\"collapsible-content\"><ul>\n<li><a href=\"https://hestia.earth/glossary/lookups/crop.csv\">crop.csv</a> -&gt; <code>IPCC_LAND_USE_CATEGORY</code></li>\n<li><a href=\"https://hestia.earth/glossary/lookups/landCover.csv\">landCover.csv</a> -&gt; <code>IPCC_LAND_USE_CATEGORY</code>; <code>LOW_RESIDUE_PRODUCING_CROP</code>; <code>N_FIXING_CROP</code></li>\n<li><a href=\"https://hestia.earth/glossary/lookups/landUseManagement.csv\">landUseManagement.csv</a> -&gt; <code>PRACTICE_INCREASING_C_INPUT</code></li>\n<li><a href=\"https://hestia.earth/glossary/lookups/soilType.csv\">soilType.csv</a> -&gt; <code>IPCC_SOIL_CATEGORY</code></li>\n<li><a href=\"https://hestia.earth/glossary/lookups/tillage.csv\">tillage.csv</a> -&gt; <code>IPCC_TILLAGE_MANAGEMENT_CATEGORY</code></li>\n<li><a href=\"https://hestia.earth/glossary/lookups/usdaSoilType.csv\">usdaSoilType.csv</a> -&gt; <code>IPCC_SOIL_CATEGORY</code></li>\n<li><a href=\"https://hestia.earth/glossary/lookups/measurement.csv\">measurement.csv</a> -&gt; <code>siteTypesAllowed</code></li>\n</ul>\n</div>\n </div>\n \n</div>"}
@@ -1 +1 @@
1
- {"tags":{"author":["Florian Payen"],"group":["Soil Measurements"],"tab":["IPCC (2019) Tier 2"]},"content":"# Organic carbon (per ha)\n\nSource: [IPCC (2019), Vol. 4, Chapter 5](https://www.ipcc-nggip.iges.or.jp/public/2019rf/pdf/4_Volume4/19R_V4_Ch05_Cropland.pdf).\n\n## Overview\n\nThe IPCC Tier 2 steady-state method is used to estimate soil organic carbon stock changes in the 0 - 30 cm depth interval for croplands remaining croplands.\n\nThis approach estimates carbon stock changes using annual carbon input data (through crop residues and organic amendments); annual tillage data; monthly irrigation data; and monthly climate data (temperature, precipitation and potential evapotranspiration). The Hestia platform constructs an annual inventory of this data (sourcing data from Site nodes and their linked Cycle nodes). The inventory is used to model the annual carbon gains and losses of three organic carbon sub-pool: active, slow and passive. A final `organicCarbonPerHa` value is calculated by summing together these three sub-pools.\n\n![A diagram of organic carbon flows between carbon sub-pools.](/assets/organicCarbonPerHa-figure9.png)\n\nA diagram of organic carbon flows between carbon sub-pools.\n\n## How the model works\n\n### Step 1: Building the time series using Site and Cycle data\n\nThis step consists of retrieving and organising the input data for the model. For each year in the time series, we need:\n\n1. Climate data: `temperatureMonthly` (deg C), `precipitationMonthly` (mm), and `potentialEvapotranspirationMonthly` (PET) (mm month<sup>-1</sup>).\n2. Organic carbon sources (with a `value` (kg) and the the properties `carbonContent` (%), `nitrogenContent` (%), and `ligninContent` (%)). Carbon sources include: `aboveGroundCropResidueLeftOnField`, `aboveGroundCropResidueIncorporated`, `belowGroundCropResidue`, `discardedCropLeftOnField`, `discardedCropIncorporated`, `Organic fertilisers` and specific `Soil amendments`.\n3. _(Optional)_ irrigation: whether or not irrigation is used for each month in the time series.\n4. _(Optional)_ annual IPCC tillage category for each month in the time series: `FULL_TILLAGE`, `REDUCED_TILLAGE`, `NO_TILLAGE`, or `OTHER` (unknown tillage).\n\n### Step 2: Retrieving model parameters\n\nThis is a relatively simple step as we are only using the IPCC default parameters (but the model could be extended by calculating more specific model parameters for specific use cases in the future, e.g., for specific crop types, etc.)\n\n1. Select model parameters.\n2. Retrieve the sand content of the soil.\n\nThe default parameters provided by the IPCC (2019) are provided in the table below:\n\n|Parameter|value|minimum|maximum|sd|description|\n|-|-|-|-|-|-|\n|`active_decay_factor`|7.4|-|-|n/a|Decay rate constant under optimal conditions for decomposition of the active sub-pool.|\n|`slow_decay_factor`|0.209|0.058|0.3|0.566|Decay rate constant under optimal conditions for decomposition of the slow sub-pool.|\n|`passive_decay_factor`|0.00689|0.005|0.01|0.00125|Decay rate constant under optimal conditions for decomposition of the passive sub-pool.|\n|`f_1`|0.378|0.01|0.8|0.0719|Fraction of metabolic dead organic matter decay.|\n|`f_2_full_tillage`|0.455|-|-|n/a|Fraction of structural dead organic matter decay products transferred the active sub-pool under full tillage (source Vol 4. Ch. 5 Excel attachment).|\n|`f_2_reduced_tillage`|0.477|-|-|n/a|Fraction of structural dead organic matter decay products transferred the active sub-pool under reduced tillage (source Vol 4. Ch. 5 Excel attachment).|\n|`f_2_no_tillage`|0.5|-|-|n/a|Fraction of structural dead organic matter decay products transferred the active sub-pool under no tillage (source Vol 4. Ch. 5 Excel attachment).|\n|`f_2_unknown_tillage`|0.368|0.007|0.5|0.0998|Fraction of structural dead organic matter decay products transferred the active sub-pool under unknown tillage.|\n|`f_3`|0.455|0.1|0.8|0.201|Fraction of structural dead organic matter decay products transferred to the slow sub-pool.|\n|`f_5`|0.0855|0.037|0.1|0.0122|Fraction of active sub-pool decay products transferred to the passive sub-pool.|\n|`f_6`|0.0504|0.02|0.19|0.0280|Fraction of slow sub-pool decay products transferred to the passive sub-pool.|\n|`f_7`|0.42|-|-|n/a|Fraction of slow sub-pool decay products transferred to the active sub-pool.|\n|`f_8`|0.45|-|-|n/a|Fraction of passive sub-pool decay products transferred to the active sub-pool.|\n|`tillage_factor_full_tillage`|3.036|1.4|4.0|0.579|Full tillage disturbance modifier for decay rates.|\n|`tillage_factor_reduced_tillage`|2.075|1.0|3.0|0.569|Reduced tillage disturbance modifier for decay rates.|\n|`tillage_factor_no_tillage`|1|-|-|n/a|No tillage disturbance modifier for decay rates.|\n|`maximum_temperature`|45|-|-|n/a|Maximum monthly average temperature for decomposition.|\n|`optimum_temperature`|33.69|30.7|35.34|0.66|Optimum temperature to estimate temperature modifier on decomposition.|\n|`water_factor_slope`|1.331|0.8|2.0|0.386|Slope parameter for estimating annual water factors.|\n|`default_carbon_content`|0.42|-|-|n/a|The default carbon content of crop residues as a decimal proportion of dry matter mass.|\n\n### Step 3: Pre-processing climate and carbon input data\n\n1. Calculate the annual temperature factors from the monthly average temperature data (see `_run_annual_temperature_factors`).\n2. Calculate the annual water factors from the monthly sum precipitation, monthly sum PET, and monthly irrigation used (see `_run_annual_water_factors`).\n3. Calculate annual organic carbon input, the average nitrogen content of carbon sources, and the average lignin content of carbon sources (see `_run_annual_organic_carbon_inputs`).\n\n### Step 4: Running the model\n\nThis is to describe the sequence of what the model (`_run_soc_stocks`) does, in the following order:\n\n1. Calculates the _f_4_ parameter based on the sand content of the soil.\n2. Retrieves the correct _f_2_ parameter for each year in the time series based on the tillage category.\n3. Retrieves the correct tillage factor for each year in the time series based on the tillage category.\n4. Separates the time series into \"run-in\" and \"inventory\". The \"run-in\" consists of the first five years of the time series; it is used by the model to calculate an initial value of SOC stock. It is mandatory for Tier 2 to work. The five years of the \"run-in\" are averaged by the model to create the first year of the \"inventory\". Then, all subsequent years in the time series are added to the \"inventory\" without any manipulation. The last year of the inventory would correspond to the final value of SOC stock calculated by the model. (See `time_series_to_inventory` helper function.)\n5. Calculates the steady-state SOC stock (in kg C / ha) for each year in the **inventory** for the active, slow and passive sub-pools. (The steady-state corresponds to the SOC stock of each sub-pool if the soil was at equilibrium under specific management practices and climatic conditions.)\n6. Calculates the estimated SOC stock (in kg C / ha) for each year in the **inventory** for the active, slow and passive sub-pools based on the steady-state SOC stock value and the annual decay factors. The initial SOC stock is the steady-state value of the first year of the inventory (i.e. the average of the five years of the run-in).\n7. Calculates the total SOC stock for each year of the **inventory** by summing together the SOC stock values from each of the three sub-pools.\n\nTODO: simplify step-by-step section.\n\n### Tier 2 model cut-off points:\n\n* If there are fewer than 5 successive inventory years overall on a Site, Tier 2 **cannot** run. This is due to the fact that the Tier 2 methodology requires five consecutive years of run-in data to estimate the initial SOC stock. A Tier 1 methodology should be considered instead.\n* If there are gaps in the time series, the Tier 2 model **cannot** be used as it requires the knowledge of the previous years' SOC stocks to calculate the next. It would be preferable to use a Tier 1 approach instead, as Tier 1 can interpolate between years. However, if separate time series of longer than 5 years each can be constructed for a single Site, then the Tier 2 model can work. We are currently working on a way to run Tier 1 for the missing years in the time series and feed Tier 1's outputs into the Tier 2 methodology (see [issue 752](https://gitlab.com/hestia-earth/hestia-engine-models/-/issues/752)).\n* If the amount of above-ground and below-ground crop residues is unknown and cannot not be estimated (e.g., if yield values & the yield to above-ground residue ratio or if default above-ground & below-ground crop residues are not known), Tier 2 **cannot** run. But, if crop residue management is known (i.e., the percentage of crop residues left on field, incorporated, removed or burnt), Tier 1 could be selected instead.\n\n## Data recommendations\n\nThe Tier 2 model **cannot** run for years where the total carbon input to the soil is equal to 0 kg (as such a situation is not realistic and is beyond the bounds of the mathematics used by the model). This means that if the mass of each carbon source applied to the soil is not given in the upload and cannot be estimated using other information provided in the upload, the total carbon input will default to 0 kg, and Tier 2 will not run. A Tier 1 approach should be used instead, if possible.\n\n## Example\n\n*Site measurements*:\n\n|Measurement|Value|Unit|\n|-|-|-|\n|`sandContent`|25|%|\n|`temperatureMonthly`<sup>*</sup>|16|°C|\n|`precipitationMonthly`<sup>*</sup>|45|mm|\n|`potentialEvapotranspirationMonthly`<sup>*</sup>|88|mm|\n\n<sup>*</sup> Average value for brevity.\n\n*Carbon source properties*:\n\n|Carbon source|`carbonContent` (%)|`nitrogenContent` (%)|`ligninContent` (%)|\n|-|-|-|-|\n|`aboveGroundCropResidueIncorporated`|42|0.7|5.3|\n|`belowGroundCropResidue`|42|0.9|7.3|\n|`manureDryKgMass`|38.4|2.65|9.67|\n\n*Site measurements*:\n\n|Year|`IpccManagementCategory`|`belowGroundCropResidue` (kg ha<sup>-1</sup>)|`aboveGroundCropResidueIncorporated` (kg ha<sup>-1</sup>)|`manureDryKgMass` (kg ha<sup>-1</sup>)|Carbon input (kg C ha<sup>-1</sup>)|Avg. N content<sup>*</sup> (%)|Avg. lignin content<sup>*</sup> (%)|`organicCarbonPerHa` (kg C ha<sup>-1</sup>)|\n|-|-|-|-|-|-|-|-|-|\n|2014|`FULL_TILLAGE`|3570|0|0|1500|0.9|7.3|-|\n|2015|`FULL_TILLAGE`|3570|0|0|1500|0.9|7.3|-|\n|2016|`FULL_TILLAGE`|3570|0|0|1500|0.9|7.3|-|\n|2017|`FULL_TILLAGE`|3570|3570|0|3000|0.9|7.3|-|\n|2018|`FULL_TILLAGE`|3570|3570|0|3000|0.9|7.3|31409|\n|2019|`REDUCED_TILLAGE`|3570|3570|0|3000|0.9|7.3|32215|\n|2020|`REDUCED_TILLAGE`|3570|3570|7810|6000|1.8|8.5|34238|\n|2021|`REDUCED_TILLAGE`|3570|3570|7810|6000|1.8|8.5|35501|\n|2022|`REDUCED_TILLAGE`|3570|3570|7810|6000|1.8|8.5|36472|\n|2023|`REDUCED_TILLAGE`|3570|3570|7810|6000|1.8|8.5|37234|\n\n<sup>*</sup> Average of carbon sources, weighted by dry matter mass.\n\n![Graph displaying the Tier 2 SOC model outputs.](/assets/organicCarbonPerHa-figure10.png)\n\nGraph displaying the Tier 2 SOC model outputs.\n\n![Graph displaying the Tier 2 SOC model outputs disintegrated into the three carbon sub-pools - active, passive & slow.](/assets/organicCarbonPerHa-figure11.png)\n\nGraph displaying the Tier 2 SOC model outputs disintegrated into the three carbon sub-pools - active, passive & slow.\n\n## Discussion\n\nNew reporting standards require SOC models to be Tier 2 or above. Therefore, where possible (i.e., for croplands remaining croplands with reported annual yields), the Tier 2 methodology should be used instead of the Tier 1 methodology. While the Tier 2 methodology does have high data requirements, the Hestia platform will attempt to gap-fill missing data (e.g., missing monthly climate data and crop residue yields and properties) to help the model to run on as many Sites as possible.\n\nOther than the high data requirements, the model does have some additional flaws:\n* If `startDate` and `endDate` are not provided on Cycles' `waterRegime` practice nodes, the model will assume that irrigation is applied for the entirety of the Cycle's duration. This could result in SOC losses being underestimated (or SOC gains being overestimated) if irrigation was only applied during certain months.\n* Known issues with carbon inputs:\n * Any discarded crops that remain on the field (`discardedCropIncorporated` and `discardedCropLeftOnField`) must have the properties `carbonContent`, `nitrogenContent` and `ligninContent` specified to be counted as a valid carbon source. If any of these properties are missing, the carbon input from these sources will **not** be counted. Therefore, for Sites where discarded crops remain on the field, SOC losses could be overestimated (see [issue 759](https://gitlab.com/hestia-earth/hestia-engine-models/-/issues/759)).\n * Carbon inputs from cover crops are **not** currently counted as they are reported with units `% area` rather than with yield. Therefore, for Sites where cover crops are used, SOC losses could be overestimated (see [issue 758](https://gitlab.com/hestia-earth/hestia-engine-models/-/issues/758)).\n * The average nitrogen and lignin contents of carbon inputs will be miscalculated if `organicFertilisers` are specified using fresh or liquid terms. This has a minimal impact on model results, but it is a known issue (see [issue 763](https://gitlab.com/hestia-earth/hestia-engine-models/-/issues/763)).\n\n**Finally, the model currently only outputs a `value`, but it does not calculate any descriptive statistics for its results (i.e., `sd`, `min` and `max`); however, it is a reporting requirement (TODO: add which reporting guidelines) to provide the min, max and uncertainty of modelled `organicCarbonPerHa` values if CO2 is reported to have been removed from the atmosphere via SOC stock changes. We are currently working to address this by running the model as a Monte Carlo simulation (see [issue 753](https://gitlab.com/hestia-earth/hestia-engine-models/-/issues/753)).**\n\n\n\n"}
1
+ {"tags":{"author":["Florian Payen"],"group":["Soil Measurements"],"tab":["IPCC (2019) Tier 2"],"citation":["Payen, F. (2025) Soil organic carbon stock modelling on HESTIA."],"modelId":["organicCarbonPerHa"],"modelRequires":["sandContent","temperatureMonthly","precipitationMonthly","potentialEvapotranspirationMonthly","aboveGroundCropResidueLeftOnField","aboveGroundCropResidueIncorporated","belowGroundCropResidue","discardedCropLeftOnField","discardedCropIncorporated","carbonContent","nitrogenContent","ligninContent"]},"content":"# Organic carbon (per ha)\n\nThe stock of organic carbon in the soil, defined as soil organic matter that is smaller than 2 mm in size.\n\n## Overview\nThe IPCC Tier 2 steady-state method is used to estimate soil organic carbon stock changes in the 0 - 30 cm depth interval for croplands remaining croplands.\n\nThis approach estimates carbon stock changes using annual carbon input data (through crop residues and organic amendments); annual tillage data; monthly irrigation data; and monthly climate data (temperature, precipitation and potential evapotranspiration). The HESTIA platform constructs an annual inventory of this data (sourcing data from [Site](https://www.hestia.earth/schema/Site) nodes and their linked [Cycle](https://www.hestia.earth/schema/Cycle) nodes). The inventory is used to model the annual carbon gains and losses of three organic carbon sub-pool: active, slow and passive. A final `organicCarbonPerHa` value is calculated by summing together these three sub-pools.\n\n![A diagram of organic carbon flows between carbon sub-pools.](/assets/organicCarbonPerHa-figure9.png)\n\nA diagram of organic carbon flows between carbon sub-pools.\n\nThe model is run as a Monte Carlo simulation with 10,000 iterations. Model result values are the row-wise `mean` of simulation results. See our guide on [Monte Carlo simulation](/guide/applying-models-monte-carlo) for more information\n\n## How the model works\n\n### Step 1: Building the time series using Site and Cycle data\n\nThis step consists of retrieving and organising the input data for the model. For each year in the time series, we need:\n\n1. Climate data: `temperatureMonthly` (deg C), `precipitationMonthly` (mm), and `potentialEvapotranspirationMonthly` (PET) (mm month<sup>-1</sup>).\n2. Organic carbon sources (with a `value` (kg) and the the properties `carbonContent` (%), `nitrogenContent` (%), and `ligninContent` (%)). Carbon sources include: `aboveGroundCropResidueLeftOnField`, `aboveGroundCropResidueIncorporated`, `belowGroundCropResidue`, `discardedCropLeftOnField`, `discardedCropIncorporated`, `Organic fertilisers` and specific `Soil amendments`.\n3. _(Optional)_ irrigation: whether or not irrigation is used for each month in the time series.\n4. _(Optional)_ annual IPCC tillage category for each month in the time series: `FULL_TILLAGE`, `REDUCED_TILLAGE`, `NO_TILLAGE`, or `OTHER` (unknown tillage).\n\n### Step 2: Retrieving model parameters\n\nThis is a relatively simple step as we are only using the IPCC default parameters (but the model could be extended by calculating more specific model parameters for specific use cases in the future, _e.g._, for specific crop types, etc.)\n\n1. Select model parameters.\n2. Retrieve the sand content of the soil.\n\nThe default parameters provided by the IPCC (2019) are provided in the table below:\n\n|Parameter|value|minimum|maximum|sd|description|\n|-|-|-|-|-|-|\n|`active_decay_factor`|7.4|-|-|n/a|Decay rate constant under optimal conditions for decomposition of the active sub-pool.|\n|`slow_decay_factor`|0.209|0.058|0.3|0.566|Decay rate constant under optimal conditions for decomposition of the slow sub-pool.|\n|`passive_decay_factor`|0.00689|0.005|0.01|0.00125|Decay rate constant under optimal conditions for decomposition of the passive sub-pool.|\n|`f_1`|0.378|0.01|0.8|0.0719|Fraction of metabolic dead organic matter decay.|\n|`f_2_full_tillage`|0.455|-|-|n/a|Fraction of structural dead organic matter decay products transferred the active sub-pool under full tillage (source Vol 4. Ch. 5 Excel attachment).|\n|`f_2_reduced_tillage`|0.477|-|-|n/a|Fraction of structural dead organic matter decay products transferred the active sub-pool under reduced tillage (source Vol 4. Ch. 5 Excel attachment).|\n|`f_2_no_tillage`|0.5|-|-|n/a|Fraction of structural dead organic matter decay products transferred the active sub-pool under no tillage (source Vol 4. Ch. 5 Excel attachment).|\n|`f_2_unknown_tillage`|0.368|0.007|0.5|0.0998|Fraction of structural dead organic matter decay products transferred the active sub-pool under unknown tillage.|\n|`f_3`|0.455|0.1|0.8|0.201|Fraction of structural dead organic matter decay products transferred to the slow sub-pool.|\n|`f_5`|0.0855|0.037|0.1|0.0122|Fraction of active sub-pool decay products transferred to the passive sub-pool.|\n|`f_6`|0.0504|0.02|0.19|0.0280|Fraction of slow sub-pool decay products transferred to the passive sub-pool.|\n|`f_7`|0.42|-|-|n/a|Fraction of slow sub-pool decay products transferred to the active sub-pool.|\n|`f_8`|0.45|-|-|n/a|Fraction of passive sub-pool decay products transferred to the active sub-pool.|\n|`tillage_factor_full_tillage`|3.036|1.4|4.0|0.579|Full tillage disturbance modifier for decay rates.|\n|`tillage_factor_reduced_tillage`|2.075|1.0|3.0|0.569|Reduced tillage disturbance modifier for decay rates.|\n|`tillage_factor_no_tillage`|1|-|-|n/a|No tillage disturbance modifier for decay rates.|\n|`maximum_temperature`|45|-|-|n/a|Maximum monthly average temperature for decomposition.|\n|`optimum_temperature`|33.69|30.7|35.34|0.66|Optimum temperature to estimate temperature modifier on decomposition.|\n|`water_factor_slope`|1.331|0.8|2.0|0.386|Slope parameter for estimating annual water factors.|\n|`default_carbon_content`|0.42|-|-|n/a|The default carbon content of crop residues as a decimal proportion of dry matter mass.|\n\n### Step 3: Pre-processing climate and carbon input data\n\n1. Calculate the annual temperature factors from the monthly average temperature data (see `_run_annual_temperature_factors`).\n2. Calculate the annual water factors from the monthly sum precipitation, monthly sum PET, and monthly irrigation used (see `_run_annual_water_factors`).\n3. Calculate annual organic carbon input, the average nitrogen content of carbon sources, and the average lignin content of carbon sources (see `_run_annual_organic_carbon_inputs`).\n\n### Step 4: Running the model\n\nThis is to describe the sequence of what the model (`_run_soc_stocks`) does, in the following order:\n\n1. Calculates the _f_4_ parameter based on the sand content of the soil.\n2. Retrieves the correct _f_2_ parameter for each year in the time series based on the tillage category.\n3. Retrieves the correct tillage factor for each year in the time series based on the tillage category.\n4. Separates the time series into \"run-in\" and \"inventory\". The \"run-in\" consists of the first five years of the time series; it is used by the model to calculate an initial value of SOC stock. It is mandatory for Tier 2 to work. The five years of the \"run-in\" are averaged by the model to create the first year of the \"inventory\". Then, all subsequent years in the time series are added to the \"inventory\" without any manipulation. The last year of the inventory would correspond to the final value of SOC stock calculated by the model. (See `time_series_to_inventory` helper function.)\n5. Calculates the steady-state SOC stock (in kg C / ha) for each year in the **inventory** for the active, slow and passive sub-pools. (The steady-state corresponds to the SOC stock of each sub-pool if the soil was at equilibrium under specific management practices and climatic conditions.)\n6. Calculates the estimated SOC stock (in kg C / ha) for each year in the **inventory** for the active, slow and passive sub-pools based on the steady-state SOC stock value and the annual decay factors. The initial SOC stock is the steady-state value of the first year of the inventory (_i.e._ the average of the five years of the run-in).\n7. Calculates the total SOC stock for each year of the **inventory** by summing together the SOC stock values from each of the three sub-pools.\n8. Calculate row-wise mean (this will be the output node's `value`) and other descriptive statistics.\n\n### Tier 2 model cut-off points:\n\n* If there are fewer than 5 successive inventory years overall on a [Site](https://www.hestia.earth/schema/Site), Tier 2 **cannot** run. This is due to the fact that the Tier 2 methodology requires five consecutive years of run-in data to estimate the initial SOC stock. A Tier 1 methodology should be considered instead.\n* If there are gaps in the time series, the Tier 2 model **cannot** be used as it requires the knowledge of the previous years' SOC stocks to calculate the next. It would be preferable to use a Tier 1 approach instead, as Tier 1 can interpolate between years. However, if separate time series of longer than 5 years each can be constructed for a single [Site](https://www.hestia.earth/schema/Site), then the Tier 2 model can work.\n* If the amount of all the carbon inputs is not included in [Cycles](https://www.hestia.earth/schema/Cycle) (_e.g._, we know that the above ground and below ground crop residues are left on the field but we cannot estimate how much crop residues there are), the model will still run, but the outputted SOC stocks will be underestimated. Data completeness when it comes to carbon inputs is paramount for the Tier 2 SOC model. In cases when only some of the overall carbon inputs are quantified and included in [Cycles](https://www.hestia.earth/schema/Cycle), we recommend to use the Tier 1 SOC model instead.\n\n## Data recommendations\n\nThe Tier 2 model **cannot** run for years where the total carbon input to the soil is equal to 0 kg (as such a situation is not realistic and is beyond the bounds of the mathematics used by the model). This means that if the mass of each carbon source applied to the soil is not given in the upload and cannot be estimated using other information provided in the upload, the total carbon input will default to 0 kg, and Tier 2 will not run. If possible, a Tier 1 approach should be used instead.\n\n## Example\n\n### Site measurements\n|Measurement|Value|Unit|\n|-|-|-|\n|`sandContent`|25|%|\n|`temperatureMonthly`<sup>*</sup>|16|°C|\n|`precipitationMonthly`<sup>*</sup>|45|mm|\n|`potentialEvapotranspirationMonthly`<sup>*</sup>|88|mm|\n\n<sup>*</sup> Average value for brevity.\n\n### Carbon source properties\n|Carbon source|`carbonContent` (%)|`nitrogenContent` (%)|`ligninContent` (%)|\n|-|-|-|-|\n|`aboveGroundCropResidueIncorporated`|42|0.7|5.3|\n|`belowGroundCropResidue`|42|0.9|7.3|\n|`manureDryKgMass`|38.4|2.65|9.67|\n\n### Site measurements\n|Year|`IpccManagementCategory`|`belowGroundCropResidue` (kg ha<sup>-1</sup>)|`aboveGroundCropResidueIncorporated` (kg ha<sup>-1</sup>)|`manureDryKgMass` (kg ha<sup>-1</sup>)|Carbon input (kg C ha<sup>-1</sup>)|Avg. N content<sup>*</sup> (%)|Avg. lignin content<sup>*</sup> (%)|`organicCarbonPerHa` (kg C ha<sup>-1</sup>)|\n|-|-|-|-|-|-|-|-|-|\n|2014|`FULL_TILLAGE`|3570|0|0|1500|0.9|7.3|-|\n|2015|`FULL_TILLAGE`|3570|0|0|1500|0.9|7.3|-|\n|2016|`FULL_TILLAGE`|3570|0|0|1500|0.9|7.3|-|\n|2017|`FULL_TILLAGE`|3570|3570|0|3000|0.9|7.3|-|\n|2018|`FULL_TILLAGE`|3570|3570|0|3000|0.9|7.3|31409|\n|2019|`REDUCED_TILLAGE`|3570|3570|0|3000|0.9|7.3|32215|\n|2020|`REDUCED_TILLAGE`|3570|3570|7810|6000|1.8|8.5|34238|\n|2021|`REDUCED_TILLAGE`|3570|3570|7810|6000|1.8|8.5|35501|\n|2022|`REDUCED_TILLAGE`|3570|3570|7810|6000|1.8|8.5|36472|\n|2023|`REDUCED_TILLAGE`|3570|3570|7810|6000|1.8|8.5|37234|\n\n<sup>*</sup> Average of carbon sources, weighted by dry matter mass.\n\n![Graph displaying the Tier 2 SOC model outputs.](/assets/organicCarbonPerHa-figure10.png)\n\nGraph displaying the Tier 2 SOC model outputs.\n\n![Graph displaying the Tier 2 SOC model outputs disintegrated into the three carbon sub-pools - active, passive & slow.](/assets/organicCarbonPerHa-figure11.png)\n\nGraph displaying the Tier 2 SOC model outputs disintegrated into the three carbon sub-pools - active, passive & slow.\n\n## Discussion\n\nNew reporting standards require SOC models to be Tier 2 or above. Therefore, where possible (_i.e._, for croplands remaining croplands with reported annual yields), the Tier 2 methodology should be used instead of the Tier 1 methodology. While the Tier 2 methodology does have high data requirements, the HESTIA platform will attempt to gap-fill missing data (_e.g._, missing monthly climate data and crop residue yields and properties) to help the model run on as many [Sites](https://www.hestia.earth/schema/Site) as possible.\n\nOther than the high data requirements, the model does have some additional flaws:\n* If `startDate` and `endDate` are not provided on [Cycles'](https://www.hestia.earth/schema/Cycle) `waterRegime` practice nodes, the model will assume that irrigation is applied for the entirety of the [Cycle](https://www.hestia.earth/schema/Cycle)'s duration. This could result in SOC losses being underestimated (or SOC gains being overestimated) if irrigation was only applied during certain months.\n* Known issues with carbon inputs:\n * Any discarded crops that remain on the field (`discardedCropIncorporated` and `discardedCropLeftOnField`) must have the properties `carbonContent`, `nitrogenContent` and `ligninContent` specified to be counted as a valid carbon source. If any of these properties is missing, the carbon input from these sources will **not** be counted. Therefore, for [Sites](https://www.hestia.earth/schema/Site) where discarded crops remain on the field, SOC losses could be overestimated (see [issue 759](https://gitlab.com/hestia-earth/hestia-engine-models/-/issues/759)).\n\nCarbon inputs from cover crops (`landCover` [Product](https://hestia.earth/schema/Product)s with one of [Properties](https://hestia.earth/schema/Property): `coverCrop`, `catchCrop`, `shortfallowCrop` or `coverCrop`) are estimated using the [BSI (2012, p. 12)](https://knowledge.bsigroup.com/products/assessment-of-life-cycle-greenhouse-gas-emissions-from-horticultural-products-supplementary-requirements-for-the-cradle-to-gate-stages-of-ghg-assessments-of-horticultural-products-undertaken-in-accordance-with-pas-2050) above and below ground biomass stock value for annual crops of 4,000 kg ha<sup>-1</sup>.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<div class=\"collapsibles\">\n <div class=\"collapsible-group\">\n <div class=\"collapsible-header\">\n <span>Returns</span>\n </div>\n <div class=\"collapsible-content\"><ul>\n<li>A list of <a href=\"https://hestia.earth/schema/Measurement\">Measurements</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Measurement#term\">term</a> with <a href=\"https://hestia.earth/term/organicCarbonPerHa\">organicCarbonPerHa</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#methodModel\">methodModel</a> with <a href=\"https://hestia.earth/term/ipcc2019\">ipcc2019</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#value\">value</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#sd\">sd</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#min\">min</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#max\">max</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#statsDefinition\">statsDefinition</a> with <code>simulated</code></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#observations\">observations</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#dates\">dates</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#depthUpper\">depthUpper</a> with <code>0</code></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#depthLower\">depthLower</a> with <code>30</code></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#methodClassification\">methodClassification</a> with <code>tier 2 model</code></li>\n</ul>\n</li>\n</ul>\n</div>\n </div>\n <div class=\"collapsible-group\">\n <div class=\"collapsible-header\">\n <span>Requirements</span>\n </div>\n <div class=\"collapsible-content\"><ul>\n<li>A <a href=\"https://hestia.earth/schema/Site\">Site</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Site#siteType\">siteType</a> with <code>cropland</code></li>\n<li>a list of <a href=\"https://hestia.earth/schema/Site#measurements\">measurements</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Measurement#term\">term</a> with <a href=\"https://hestia.earth/term/sandContent\">sandContent</a> and <a href=\"https://hestia.earth/schema/Measurement#value\">value</a> and <a href=\"https://hestia.earth/schema/Measurement#depthUpper\">depthUpper</a> with <code>0</code> and <a href=\"https://hestia.earth/schema/Measurement#depthLower\">depthLower</a> with <code>30</code> and optional:<ul>\n<li><a href=\"https://hestia.earth/schema/Measurement#dates\">dates</a></li>\n</ul>\n</li>\n<li><a href=\"https://hestia.earth/schema/Measurement#term\">term</a> with <a href=\"https://hestia.earth/term/temperatureMonthly\">temperatureMonthly</a> and <a href=\"https://hestia.earth/schema/Measurement#value\">value</a> and <a href=\"https://hestia.earth/schema/Measurement#dates\">dates</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#term\">term</a> with <a href=\"https://hestia.earth/term/precipitationMonthly\">precipitationMonthly</a> and <a href=\"https://hestia.earth/schema/Measurement#value\">value</a> and <a href=\"https://hestia.earth/schema/Measurement#dates\">dates</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#term\">term</a> with <a href=\"https://hestia.earth/term/potentialEvapotranspirationMonthly\">potentialEvapotranspirationMonthly</a> and <a href=\"https://hestia.earth/schema/Measurement#value\">value</a> and <a href=\"https://hestia.earth/schema/Measurement#dates\">dates</a></li>\n</ul>\n</li>\n<li>related to:<ul>\n<li>a list of <a href=\"https://hestia.earth/schema/Cycle\">Cycles</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/null#endDate\">endDate</a> and a list of <a href=\"https://hestia.earth/schema/null#products\">products</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Product#term\">term</a> with <a href=\"https://hestia.earth/term/aboveGroundCropResidueLeftOnField\">aboveGroundCropResidueLeftOnField</a> <strong>or</strong> <a href=\"https://hestia.earth/term/aboveGroundCropResidueIncorporated\">aboveGroundCropResidueIncorporated</a> <strong>or</strong> <a href=\"https://hestia.earth/term/belowGroundCropResidue\">belowGroundCropResidue</a> <strong>or</strong> <a href=\"https://hestia.earth/term/discardedCropLeftOnField\">discardedCropLeftOnField</a> <strong>or</strong> <a href=\"https://hestia.earth/term/discardedCropIncorporated\">discardedCropIncorporated</a> and <a href=\"https://hestia.earth/schema/Product#value\">value</a> and a list of <a href=\"https://hestia.earth/schema/Product#properties\">properties</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Property#term\">term</a> with <a href=\"https://hestia.earth/term/carbonContent\">carbonContent</a> and <a href=\"https://hestia.earth/schema/Property#value\">value</a></li>\n<li><a href=\"https://hestia.earth/schema/Property#term\">term</a> with <a href=\"https://hestia.earth/term/nitrogenContent\">nitrogenContent</a> and <a href=\"https://hestia.earth/schema/Property#value\">value</a></li>\n<li><a href=\"https://hestia.earth/schema/Property#term\">term</a> with <a href=\"https://hestia.earth/term/ligninContent\">ligninContent</a> and <a href=\"https://hestia.earth/schema/Property#value\">value</a> and a list of <a href=\"https://hestia.earth/schema/null#inputs\">inputs</a> with:</li>\n</ul>\n</li>\n<li><a href=\"https://hestia.earth/schema/Input#term\">term</a> of <a href=\"https://hestia.earth/schema/Term#termType\">termType</a> = <a href=\"https://hestia.earth/glossary?termType=organicFertiliser\">organicFertiliser</a> <strong>or</strong> <a href=\"https://hestia.earth/glossary?termType=soilAmendment\">soilAmendment</a> and <a href=\"https://hestia.earth/schema/Input#value\">value</a> and a list of <a href=\"https://hestia.earth/schema/Input#properties\">properties</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Property#term\">term</a> with <a href=\"https://hestia.earth/term/carbonContent\">carbonContent</a> and <a href=\"https://hestia.earth/schema/Property#value\">value</a></li>\n<li><a href=\"https://hestia.earth/schema/Property#term\">term</a> with <a href=\"https://hestia.earth/term/nitrogenContent\">nitrogenContent</a> and <a href=\"https://hestia.earth/schema/Property#value\">value</a></li>\n<li><a href=\"https://hestia.earth/schema/Property#term\">term</a> with <a href=\"https://hestia.earth/term/ligninContent\">ligninContent</a> and <a href=\"https://hestia.earth/schema/Property#value\">value</a> and a list of <a href=\"https://hestia.earth/schema/null#practices\">practices</a> with:</li>\n</ul>\n</li>\n<li><a href=\"https://hestia.earth/schema/Practice#term\">term</a> of <a href=\"https://hestia.earth/schema/Term#termType\">termType</a> = <a href=\"https://hestia.earth/glossary?termType=tillage\">tillage</a> and <a href=\"https://hestia.earth/schema/Practice#value\">value</a></li>\n<li><a href=\"https://hestia.earth/schema/Practice#term\">term</a> of <a href=\"https://hestia.earth/schema/Term#termType\">termType</a> = <a href=\"https://hestia.earth/glossary?termType=waterRegime\">waterRegime</a> and <a href=\"https://hestia.earth/schema/Term#name\">name</a> containing &quot;irrigated&quot; and <a href=\"https://hestia.earth/schema/Practice#value\">value</a> and <a href=\"https://hestia.earth/schema/Practice#startDate\">startDate</a> and <a href=\"https://hestia.earth/schema/Practice#endDate\">endDate</a> and optional:</li>\n<li><a href=\"https://hestia.earth/schema/null#startDate\">startDate</a></li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</div>\n </div>\n <div class=\"collapsible-group\">\n <div class=\"collapsible-header\">\n <span>Lookups used</span>\n </div>\n <div class=\"collapsible-content\"><ul>\n<li><a href=\"https://hestia.earth/glossary/lookups/crop.csv\">crop.csv</a> -&gt; <code>IPCC_LAND_USE_CATEGORY</code></li>\n<li><a href=\"https://hestia.earth/glossary/lookups/landCover.csv\">landCover.csv</a> -&gt; <code>IPCC_LAND_USE_CATEGORY</code></li>\n<li><a href=\"https://hestia.earth/glossary/lookups/tillage.csv\">tillage.csv</a> -&gt; <code>IPCC_TILLAGE_MANAGEMENT_CATEGORY</code></li>\n<li><a href=\"https://hestia.earth/glossary/lookups/measurement.csv\">measurement.csv</a> -&gt; <code>siteTypesAllowed</code></li>\n</ul>\n</div>\n </div>\n \n</div>"}
@@ -1 +1 @@
1
- {"tags":{"author":["Florian Payen"],"group":["Soil Measurements"],"tab":["Overview"],"citation":["Payen, F. (2025) Soil organic carbon stock modelling on HESTIA."],"modelId":["organicCarbonPerHa"],"modelRequires":["ecoClimateZone","amendmentIncreasingSoilCarbonUsed","animalManureUsed","inorganicNitrogenFertiliserUsed","organicFertiliserUsed","shortBareFallow"]},"content":"# Organic carbon (per ha)\n\nThis model calculates a Site's SOC stocks (`organicCarbonPerHa`) as a function of soil bulk density (`soilBulkDensity`), soil organic carbon concentration (`organicCarbonPerKgSoil`) and soil sampling depth (using `depthUpper` and `depthLower`).\n\nIt also rescales `organicCarbonPerHa` measurements from their source depth interval to a target depth interval of 0 - 30 cm.\n\n## Calculate `organicCarbonPerHa` from other measurements\n\n>$$\n>SOC stock(a, b) = {(b-a)*ρ*C_{OC}*100}\n>$$\n>\n>Where:\n>\n>* $SOC stock(a, b)$ = soil organic carbon stock per hectare for depth interval $a$ to $b$ (kg C / ha)\n>* $a$ = upper bound of soil sampling depth interval (cm)\n>* $b$ = lower bound of soil sampling depth interval (cm)\n>* $ρ$ = soil bulk density for depth interval $a$ to $b$ (g / cm<sup>3</sup>, which is the same as t / m<sup>3</sup>)\n>* $C_{OC}$ = concentration of organic carbon in soil for depth interval $a$ to $b$ (g C / kg soil)\n>\n>Source: [Payen _et al._ (2021)](https://doi.org/10.1016/j.jclepro.2020.125736)\n>\n\n## Rescale `organicCarbonPerHa` measurements to 0 - 30 cm depth\n\n_n.b._ `depthUpper` and `depthLower` for Hestia measurements are recorded in centimetres; however, the following equations use the units metres for the depth variables $a$, $b$ and $x$.\n\nSOC stocks can be rescaled using the following $C_{density}$ equation:\n\n>$$\n>C_{density}(x) =\n> 22.1 - 33.3x + 14.9x^2\n>$$\n>\n>Where:\n>\n>* $C_{density}(x)$ = density of carbon per cubic meter of soil at depth $x$ (kg C / m<sup>3</sup>)\n>* $x$ = depth of measurement between 0 and 1 (m)\n>\n>Source: [Smith _et al._ (2000)](https://doi.org/10.1111/j.1475-2743.2000.tb00214.x)\n\nBy calculating the definite integral of $C_{density}(x)$ between $a$ and $b$, we can estimate the proportion of carbon stored in the depth interval $a$ to $b$ compared to the total carbon stock in the depth interval 0 to 1 m:\n\n>$$\n>cdf(a, b) = \\frac{\\int_a^b C_{density}(x) d{x}}{\\int_0^1 C_{density}(x) d{x}}\n>$$\n>\n>$$\n>cdf(a, b) = \\frac{[22.1b - \\frac{33.3b^2}{2} + \\frac{14.9b^3}{3}]-[22.1a - \\frac{33.3a^2}{2} + \\frac{14.9a^3}{3}]}{10.41\\dot{6}}\n>$$\n>\n>Where:\n>\n>* $cdf(a, b)$ = cumulative distribution of organic carbon in soil for depth interval $a$ to $b$ compared to for depth interval 0 to 1 m.\n>* $a$ = the upper bound of the depth interval, must be between 0 and 1 (m).\n>* $b$ = the lower bound of the depth interval, must be between 0 and 1 and greater than or equal to $a$ (m).\n>\n>Source: [Abdalla _et al._ (2018)](https://doi.org/10.1016/j.agee.2017.10.023)\n>\n><small>_n.b._, the $cdf$ equation presented in Abdalla _et al._ (2018) features a typo - the equation presented in this wiki is the corrected version.</small>\n\n![A graph of the cdf from 0 - 1 m depth.](/assets/organicCarbonPerHa-depthLower.png)\n\nA graph of the cdf from 0 - 1 m depth. The x-axis is $b$, the depth lower of the `organicCarbonPerHa` measurement, and the y-axis is the value of the $cdf(0, b)$.\n\nWe can use the $cdf$ equation to rescale `organicCarbonPerHa` measurements from a source depth interval to a target depth interval. In our case, the target depth interval is 0 - 0.3 m:\n\n>$$\n>SOC stock(0, 0.3) = SOC stock(a, b) * \\frac{cdf(0, 0.3)}{cdf(a, b)}\n>$$\n>\n>Where:\n>\n>* $SOC stock_{0-0.3m}$ = rescaled SOC measurement for depth interval 0 - 0.3 m (kg C / ha)\n>* $SOC stock(a, b)$ = the source SOC measurement for depth interval $a$ to $b$ (kg C / ha)\n>* $a$ = the upper bound of the source depth interval, must be between 0 and 1 (m)\n>* $b$ = the lower bound of the source depth interval, must be between 0 and 1 and greater than or equal to $a$ (m)\n>\n>Source: [Abdalla _et al._ (2018)](https://doi.org/10.1016/j.agee.2017.10.023)\n\n![A graph of the scaling factor (cdf(0, 0.3)/cdf(0, source depth))](/assets/organicCarbonPerHa-sourceDepthLower.png)\n\nA graph of the scaling factor (cdf(0, 0.3)/cdf(0, source depth)). The x-axis is $b$, the depth lower of the source `organicCarbonPerHa` measurement, and the y-axis is the scaling factor required to rescale the measurement value from a source depth interval of 0 - $b$ to the target depth interval of 0 - 0.3 m.\n\n## Example\n\nIn this example, the model will estimate the SOC stock using other measurements and rescale the result to a 0 - 30 cm depth.\n\nThese fixtures have been simplified, [see the full fixtures here](https://gitlab.com/hestia-earth/hestia-engine-models/-/tree/develop/tests/fixtures/site/organicCarbonPerHa/calculate-and-rescale).\n\n### Input\n```json\n{\n \"@type\": \"Site\",\n \"siteType\": \"cropland\",\n \"measurements\": [\n {\n \"@type\": \"Measurement\",\n \"term\": {\n \"@type\": \"Term\",\n \"@id\": \"soilBulkDensity\",\n },\n \"value\": [\n 1.55\n ],\n \"depthUpper\": 0,\n \"depthLower\": 40,\n \"methodClassification\": \"on-site physical measurement\"\n },\n {\n \"@type\": \"Measurement\",\n \"term\": {\n \"@type\": \"Term\",\n \"@id\": \"organicCarbonPerKgSoil\",\n },\n \"value\": [\n 24.05\n ],\n \"dates\": [\n \"2020\"\n ],\n \"depthUpper\": 0,\n \"depthLower\": 40,\n \"methodClassification\": \"on-site physical measurement\"\n }\n ],\n}\n```\n\n### Output\n```json\n[\n {\n \"@type\": \"Measurement\",\n \"term\": {\n \"@type\": \"Term\",\n \"@id\": \"organicCarbonPerHa\"\n },\n \"value\": [\n 149110\n ],\n \"dates\": [\n \"2020\"\n ],\n \"depthUpper\": 0,\n \"depthLower\": 40,\n \"methodClassification\": \"modelled using other measurements\"\n },\n {\n \"@type\": \"Measurement\",\n \"term\": {\n \"@type\": \"Term\",\n \"@id\": \"organicCarbonPerHa\"\n },\n \"value\": [\n 120906.95055847566\n ],\n \"dates\": [\n \"2020\"\n ],\n \"depthUpper\": 0,\n \"depthLower\": 30,\n \"methodClassification\": \"modelled using other measurements\"\n }\n]\n```\n\n## Discussion\n\nThe $C_{density}$ equation from [Smith _et al._ (2000)](https://doi.org/10.1111/j.1475-2743.2000.tb00214.x) used in this model is a quadratic regression of $C_{density}$ at various depths for 22 soil types found in [Batjes (1996)](https://doi.org/10.1111/j.1365-2389.1996.tb01386.x). It is important to note that the exact methodology of how this regression was calculated (i.e., where to find the carbon density data in the original paper and which of the 4 soil types out of the 26 overall presented in the original paper were excluded) and the standard error of the regression were not described. With this in mind, there is scope to recalculate this rescaling method using the higher volume of soil data that is available today, in comparison to 1996. This could be disaggregated by soil type or soil category for greater specificity.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<div class=\"collapsibles\">\n <div class=\"collapsible-group\">\n <div class=\"collapsible-header\">\n <span>Returns</span>\n </div>\n <div class=\"collapsible-content\"><ul>\n<li>A list of <a href=\"https://hestia.earth/schema/Measurement\">Measurements</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Measurement#term\">term</a> with <a href=\"https://hestia.earth/term/organicCarbonPerHa\">organicCarbonPerHa</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#methodModel\">methodModel</a> with <a href=\"https://hestia.earth/term/ipcc2019\">ipcc2019</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#value\">value</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#sd\">sd</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#min\">min</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#max\">max</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#statsDefinition\">statsDefinition</a> with <code>simulated</code></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#observations\">observations</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#dates\">dates</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#depthUpper\">depthUpper</a> with <code>0</code></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#depthLower\">depthLower</a> with <code>30</code></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#methodClassification\">methodClassification</a></li>\n</ul>\n</li>\n</ul>\n</div>\n </div>\n <div class=\"collapsible-group\">\n <div class=\"collapsible-header\">\n <span>Requirements</span>\n </div>\n <div class=\"collapsible-content\"><ul>\n<li>A <a href=\"https://hestia.earth/schema/Site\">Site</a> with:<ul>\n<li>a <a href=\"https://hestia.earth/schema/Site#siteType\">siteType</a> = <code>forest</code> <strong>or</strong> <code>other natural vegetation</code> <strong>or</strong> <code>cropland</code> <strong>or</strong> <code>glass or high accessible cover</code> <strong>or</strong> <code>permanent pasture</code></li>\n<li>a list of <a href=\"https://hestia.earth/schema/Site#management\">managements</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Management#value\">value</a> and <a href=\"https://hestia.earth/schema/Management#term\">term</a> of <a href=\"https://hestia.earth/schema/Term#termType\">termType</a> = <a href=\"https://hestia.earth/glossary?termType=landCover\">landCover</a></li>\n</ul>\n</li>\n<li>a list of <a href=\"https://hestia.earth/schema/Site#measurements\">measurements</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Measurement#value\">value</a> with <code>1</code> <strong>or</strong> <code>2</code> <strong>or</strong> <code>3</code> <strong>or</strong> <code>4</code> <strong>or</strong> <code>7</code> <strong>or</strong> <code>8</code> <strong>or</strong> <code>9</code> <strong>or</strong> <code>10</code> <strong>or</strong> <code>11</code> <strong>or</strong> <code>12</code> and <a href=\"https://hestia.earth/schema/Measurement#term\">term</a> with <a href=\"https://hestia.earth/term/ecoClimateZone\">ecoClimateZone</a></li>\n</ul>\n</li>\n<li>optional:<ul>\n<li>a list of <a href=\"https://hestia.earth/schema/Site#measurements\">measurements</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Measurement#value\">value</a> and <a href=\"https://hestia.earth/schema/Measurement#term\">term</a> of <a href=\"https://hestia.earth/schema/Term#termType\">termType</a> = <a href=\"https://hestia.earth/glossary?termType=soilType\">soilType</a> <strong>or</strong> <a href=\"https://hestia.earth/glossary?termType=usdaSoilType\">usdaSoilType</a></li>\n</ul>\n</li>\n<li>a list of <a href=\"https://hestia.earth/schema/Site#management\">managements</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Management#value\">value</a> and <a href=\"https://hestia.earth/schema/Management#startDate\">startDate</a> and <a href=\"https://hestia.earth/schema/Management#endDate\">endDate</a> and <a href=\"https://hestia.earth/schema/Management#term\">term</a> of <a href=\"https://hestia.earth/schema/Term#termType\">termType</a> = <a href=\"https://hestia.earth/glossary?termType=cropResidueManagement\">cropResidueManagement</a> and <a href=\"https://hestia.earth/schema/Term#name\">name</a> containing &quot;burnt,removed&quot;</li>\n<li><a href=\"https://hestia.earth/schema/Management#value\">value</a> and <a href=\"https://hestia.earth/schema/Management#startDate\">startDate</a> and <a href=\"https://hestia.earth/schema/Management#endDate\">endDate</a> and <a href=\"https://hestia.earth/schema/Management#term\">term</a> of <a href=\"https://hestia.earth/schema/Term#termType\">termType</a> = <a href=\"https://hestia.earth/glossary?termType=landUseManagement\">landUseManagement</a></li>\n<li><a href=\"https://hestia.earth/schema/Management#value\">value</a> and <a href=\"https://hestia.earth/schema/Management#startDate\">startDate</a> and <a href=\"https://hestia.earth/schema/Management#endDate\">endDate</a> and <a href=\"https://hestia.earth/schema/Management#term\">term</a> of <a href=\"https://hestia.earth/schema/Term#termType\">termType</a> = <a href=\"https://hestia.earth/glossary?termType=tillage\">tillage</a></li>\n<li><a href=\"https://hestia.earth/schema/Management#value\">value</a> and <a href=\"https://hestia.earth/schema/Management#startDate\">startDate</a> and <a href=\"https://hestia.earth/schema/Management#endDate\">endDate</a> and <a href=\"https://hestia.earth/schema/Management#term\">term</a> of <a href=\"https://hestia.earth/schema/Term#termType\">termType</a> = <a href=\"https://hestia.earth/glossary?termType=waterRegime\">waterRegime</a> and <a href=\"https://hestia.earth/schema/Term#name\">name</a> containing &quot;deep water,irrigated&quot;</li>\n<li><a href=\"https://hestia.earth/schema/Management#value\">value</a> and <a href=\"https://hestia.earth/schema/Management#startDate\">startDate</a> and <a href=\"https://hestia.earth/schema/Management#endDate\">endDate</a> and <a href=\"https://hestia.earth/schema/Management#term\">term</a> with <a href=\"https://hestia.earth/term/amendmentIncreasingSoilCarbonUsed\">amendmentIncreasingSoilCarbonUsed</a></li>\n<li><a href=\"https://hestia.earth/schema/Management#value\">value</a> and <a href=\"https://hestia.earth/schema/Management#startDate\">startDate</a> and <a href=\"https://hestia.earth/schema/Management#endDate\">endDate</a> and <a href=\"https://hestia.earth/schema/Management#term\">term</a> with <a href=\"https://hestia.earth/term/animalManureUsed\">animalManureUsed</a></li>\n<li><a href=\"https://hestia.earth/schema/Management#value\">value</a> and <a href=\"https://hestia.earth/schema/Management#startDate\">startDate</a> and <a href=\"https://hestia.earth/schema/Management#endDate\">endDate</a> and <a href=\"https://hestia.earth/schema/Management#term\">term</a> with <a href=\"https://hestia.earth/term/inorganicNitrogenFertiliserUsed\">inorganicNitrogenFertiliserUsed</a></li>\n<li><a href=\"https://hestia.earth/schema/Management#value\">value</a> and <a href=\"https://hestia.earth/schema/Management#startDate\">startDate</a> and <a href=\"https://hestia.earth/schema/Management#endDate\">endDate</a> and <a href=\"https://hestia.earth/schema/Management#term\">term</a> with <a href=\"https://hestia.earth/term/organicFertiliserUsed\">organicFertiliserUsed</a></li>\n<li><a href=\"https://hestia.earth/schema/Management#value\">value</a> and <a href=\"https://hestia.earth/schema/Management#startDate\">startDate</a> and <a href=\"https://hestia.earth/schema/Management#endDate\">endDate</a> and <a href=\"https://hestia.earth/schema/Management#term\">term</a> with <a href=\"https://hestia.earth/term/shortBareFallow\">shortBareFallow</a></li>\n</ul>\n</li>\n</ul>\n</li>\n<li>none of:<ul>\n<li>a <a href=\"https://hestia.earth/schema/Site#siteType\">siteType</a> = <code>glass or high accessible cover</code></li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</div>\n </div>\n <div class=\"collapsible-group\">\n <div class=\"collapsible-header\">\n <span>Lookups used</span>\n </div>\n <div class=\"collapsible-content\"><ul>\n<li><a href=\"https://hestia.earth/glossary/lookups/crop.csv\">crop.csv</a> -&gt; <code>IPCC_LAND_USE_CATEGORY</code></li>\n<li><a href=\"https://hestia.earth/glossary/lookups/landCover.csv\">landCover.csv</a> -&gt; <code>IPCC_LAND_USE_CATEGORY</code>; <code>LOW_RESIDUE_PRODUCING_CROP</code>; <code>N_FIXING_CROP</code></li>\n<li><a href=\"https://hestia.earth/glossary/lookups/landUseManagement.csv\">landUseManagement.csv</a> -&gt; <code>PRACTICE_INCREASING_C_INPUT</code></li>\n<li><a href=\"https://hestia.earth/glossary/lookups/soilType.csv\">soilType.csv</a> -&gt; <code>IPCC_SOIL_CATEGORY</code></li>\n<li><a href=\"https://hestia.earth/glossary/lookups/tillage.csv\">tillage.csv</a> -&gt; <code>IPCC_TILLAGE_MANAGEMENT_CATEGORY</code></li>\n<li><a href=\"https://hestia.earth/glossary/lookups/usdaSoilType.csv\">usdaSoilType.csv</a> -&gt; <code>IPCC_SOIL_CATEGORY</code></li>\n<li><a href=\"https://hestia.earth/glossary/lookups/measurement.csv\">measurement.csv</a> -&gt; <code>siteTypesAllowed</code></li>\n</ul>\n</div>\n </div>\n \n</div>"}
1
+ {"tags":{"author":["Florian Payen"],"group":["Soil Measurements"],"tab":["Overview"],"citation":["Payen, F. (2025) Soil organic carbon stock modelling on HESTIA."],"modelId":["organicCarbonPerHa"],"modelRequires":["ecoClimateZone","amendmentIncreasingSoilCarbonUsed","animalManureUsed","inorganicNitrogenFertiliserUsed","organicFertiliserUsed","shortBareFallow"]},"content":"# Organic carbon (per ha)\n\nThe stock of organic carbon in the soil, defined as soil organic matter that is smaller than 2 mm in size.\n\n## What is soil organic carbon (SOC)?\n\n**Soil organic matter** is a generic term used to describe all organic compounds in the soil that are not living plants or animals. **Soil organic carbon (SOC)** is the carbon component of soil organic matter [(IPCC, 2000)](https://archive.ipcc.ch/ipccreports/sres/land_use/index.php?idp=55).\n\nOn the HESTIA platform, SOC can be recorded on a [Site](https://www.hestia.earth/schema/Site) as [Measurements](https://www.hestia.earth/schema/Measurement). Three glossary terms can be used to record SOC:\n\n|term name|term id|unit|description|\n|-|-|-|-|\n|[Organic carbon (per ha)](https://www.hestia.earth/term/organicCarbonPerHa)|`organicCarbonPerHa`|kg C / ha|The stock of organic carbon in the soil.|\n|[Organic carbon (per m3 soil)](https://www.hestia.earth/term/organicCarbonPerM3Soil)|`organicCarbonPerM3Soil`|g C / m<sup>3</sup> soil|The concentration of organic carbon in the soil.|\n|[Organic carbon (per kg soil)](https://www.hestia.earth/term/organicCarbonPerKgSoil)|`organicCarbonPerKgSoil`|g C / kg soil|The concentration of organic carbon in the soil.|\n\nSOC measurements using either of these terms require a `depthUpper` and `depthLower` because SOC is not evenly distributed between depths - normally, there is a greater amount of SOC in the upper layers of a soil than in the lower layers.\n\nThe focus of this guide page will be on the term `Organic carbon (per ha)`, which corresponds to the SOC stock.\n\n**SOC stock** refers to the total amount of solid carbon stored in the soil under organic form for a given soil depth. By measuring or modelling a soil's organic carbon stock across years, we can gain insight into whether it is losing or accumulating organic carbon.\n\nThe IPCC SOC models estimate `Organic carbon (per ha)` with a `depthUpper` = `0` and a `depthLower` = `30`. This is because the majority of the impacts of land management (land use and management practices) on a [Site](https://www.hestia.earth/schema/Site)'s SOC stock occurs in the upper layer of the soil. As such, any reference to soil organic carbon or SOC in the remainder of this guide page should be understood to mean this glossary term and depth interval.\n\n## SOC stock changes and emissions\n\nWhen calculating environmental impacts of human land management, the SOC stock of a [Site](https://www.hestia.earth/schema/Site) is understood as a \"carbon pool\". Other carbon pools include [above-ground biomass](https://www.hestia.earth/term/aboveGroundBiomass), [below-ground biomass](https://www.hestia.earth/term/belowGroundBiomass), dead organic matter, and harvested wood products. Carbon pools can gain or lose carbon, or be at equilibrium.\n\nChanges in a pool's carbon stock due to continuous processes (growth and decay) and discrete disturbances (land-use or land-management changes) are associated with CO<sub>2</sub> emissions or removals. HESTIA records [Emission](https://www.hestia.earth/schema/Emission)s from changes in SOC stocks using the term [CO2, to air, soil carbon stock change, management change](https://www.hestia.earth/term/co2ToAirSoilCarbonStockChangeManagementChange) when the changes in SOC stocks are due to changes in land management and by using the term [CO2, to air, soil carbon stock change, land use change](https://www.hestia.earth/term/co2ToAirSoilCarbonStockChangeLandUseChange) when the changes in SOC stocks are due to changes in land use.\n\nWhen a [Site](https://www.hestia.earth/schema/Site)'s SOC stock decreases over the years, CO<sub>2</sub> can be understood to have been emitted into the atmosphere. Conversely, when a [Site](https://www.hestia.earth/schema/Site)'s SOC stock increases over the years, CO<sub>2</sub> can be understood to have been removed from the atmosphere. When an increase in SOC stocks leads to a net removal of CO<sub>2</sub> from the atmosphere, meaning that concentrations of CO<sub>2</sub> in the atmosphere have decreased overall, it is referred to as **soil organic carbon sequestration** [(Chenu et al., 2019)](https://doi.org/10.1016/j.still.2018.04.011).\n\nWhen a land-use or land-management change occurs, the SOC stock will transition towards a new SOC equilibrium over the course of between 10 and 100 years [(Fuss et al., 2018)](https://doi.org/10.1088/1748-9326/aabf9f). After the new SOC equilibrium has been reached, the transfer of organic carbon between the atmosphere and the soil is deemed to be balanced, _i.e._, as much organic carbon enters the soil as is emitted from the soil as CO<sub>2</sub>. Any additional land-use or land-management changes that occur before a [Site](https://www.hestia.earth/schema/Site)'s SOC stock has reached equilibrium will begin a new transition period. For our SOC models, in accordance with the [IPCC (2019)](https://www.ipcc-nggip.iges.or.jp/public/2019rf/vol4.html) guidelines, we use a default equilibrium time of 20 years, after which the additional change in SOC stocks is deemed negligible.\n\n## Benefits of increasing SOC stocks on agricultural land\n\nCO<sub>2</sub> emissions and removals from SOC stock change due to land-use changes or land-management changes can be significant [(IPCC, 2019)](https://www.ipcc.ch/srccl/chapter/summary-for-policymakers/). Therefore, the adoption of land management practices that increase a [Site](https://www.hestia.earth/schema/Site)'s SOC stock can be an opportunity to reduce CO<sub>2</sub> concentrations in the atmosphere and to inset or offset the carbon footprint of agricultural production [(Sykes et al., 2020)](https://doi.org/10.1111/gcb.14844). Different approaches & management practices exist to increase SOC sequestration on agricultural land. They can be based on increasing carbon inputs to the soil (_e.g._, applying organic fertilisers onto the soil) or reducing carbon losses from the soil (_e.g._, by reducing the intensity of tillage). The diagram below, from [Sykes et al. (2020)](https://doi.org/10.1111/gcb.14844), details the practices with the highest potential for SOC sequestration and how they can lead to increased SOC stocks:\n\n![SOC sequestration practices](/assets/organicCarbonPerHa-pathwaysToSocSequestration.png)\n\nThe use of these practices, in conjunction with land-use changes, form the basis of the SOC models that we have integrated onto HESTIA.\n\nIn addition to helping mitigate climate change, SOC sequestration provides other benefits in terms of soil quality. Increasing SOC stocks can improve soil fertility, enhance soil water-retention capacities, reduce risks of soil erosion and counteract soil acidification [(Honegger et al., 2021)](https://doi.org/10.1080/14693062.2020.1843388). These co-benefits are expected to improve global agricultural productivity and food production [(Lal, 2004)](https://doi.org/10.1126/science.1097396), and they can contribute to reducing the vulnerability of managed soils to climate change [(Smith and Olesen, 2010)](https://doi.org/10.1017/S0021859610000341).\n\n## SOC modelling on HESTIA\n\nA number of models on the HESTIA platform can be used to estimate SOC stocks, stock changes and their linked CO<sub>2</sub> emissions/removals. In running order, they are:\n\n### SOC stock modelling\n\n1) `site.organicCarbonPerHa`: This model (a) estimates SOC stocks based on a soil-volume equivalent approach (_i.e._, using soil bulk density, soil carbon concentration and soil depth) and (b) rescales any `organicCarbonPerHa` measurements (both estimated and measured) to the preferred 0-30cm depth interval.\n\n2) `ipcc2019.organicCarbonPerHa` (Tier 2): This model estimates yearly SOC stocks based on soil sand content and an annual inventory of climate, carbon input and tillage data.\n\n3) `ipcc2019.organicCarbonPerHa` (Tier 1): This model estimates yearly SOC stocks based on soil type, eco-climate zone and an annual inventory of land cover, land management and carbon input category data.\n\n### CO<sub>2</sub> emissions\n\n4) [`ipcc2019.co2ToAirSoilOrganicCarbonStockChange`](./co2ToAirSoilOrganicCarbonStockChange): This model calculates annual CO<sub>2</sub> emissions from SOC stock changes caused by changes in agricultural management and assigns them to the related Cycles.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<div class=\"collapsibles\">\n <div class=\"collapsible-group\">\n <div class=\"collapsible-header\">\n <span>Returns</span>\n </div>\n <div class=\"collapsible-content\"><ul>\n<li>A list of <a href=\"https://hestia.earth/schema/Measurement\">Measurements</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Measurement#term\">term</a> with <a href=\"https://hestia.earth/term/organicCarbonPerHa\">organicCarbonPerHa</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#methodModel\">methodModel</a> with <a href=\"https://hestia.earth/term/ipcc2019\">ipcc2019</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#value\">value</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#sd\">sd</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#min\">min</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#max\">max</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#statsDefinition\">statsDefinition</a> with <code>simulated</code></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#observations\">observations</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#dates\">dates</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#depthUpper\">depthUpper</a> with <code>0</code></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#depthLower\">depthLower</a> with <code>30</code></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#methodClassification\">methodClassification</a></li>\n</ul>\n</li>\n</ul>\n</div>\n </div>\n <div class=\"collapsible-group\">\n <div class=\"collapsible-header\">\n <span>Requirements</span>\n </div>\n <div class=\"collapsible-content\"><ul>\n<li>A <a href=\"https://hestia.earth/schema/Site\">Site</a> with:<ul>\n<li>a <a href=\"https://hestia.earth/schema/Site#siteType\">siteType</a> = <code>forest</code> <strong>or</strong> <code>other natural vegetation</code> <strong>or</strong> <code>cropland</code> <strong>or</strong> <code>glass or high accessible cover</code> <strong>or</strong> <code>permanent pasture</code></li>\n<li>a list of <a href=\"https://hestia.earth/schema/Site#management\">managements</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Management#value\">value</a> and <a href=\"https://hestia.earth/schema/Management#term\">term</a> of <a href=\"https://hestia.earth/schema/Term#termType\">termType</a> = <a href=\"https://hestia.earth/glossary?termType=landCover\">landCover</a></li>\n</ul>\n</li>\n<li>a list of <a href=\"https://hestia.earth/schema/Site#measurements\">measurements</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Measurement#value\">value</a> with <code>1</code> <strong>or</strong> <code>2</code> <strong>or</strong> <code>3</code> <strong>or</strong> <code>4</code> <strong>or</strong> <code>7</code> <strong>or</strong> <code>8</code> <strong>or</strong> <code>9</code> <strong>or</strong> <code>10</code> <strong>or</strong> <code>11</code> <strong>or</strong> <code>12</code> and <a href=\"https://hestia.earth/schema/Measurement#term\">term</a> with <a href=\"https://hestia.earth/term/ecoClimateZone\">ecoClimateZone</a></li>\n</ul>\n</li>\n<li>optional:<ul>\n<li>a list of <a href=\"https://hestia.earth/schema/Site#measurements\">measurements</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Measurement#value\">value</a> and <a href=\"https://hestia.earth/schema/Measurement#term\">term</a> of <a href=\"https://hestia.earth/schema/Term#termType\">termType</a> = <a href=\"https://hestia.earth/glossary?termType=soilType\">soilType</a> <strong>or</strong> <a href=\"https://hestia.earth/glossary?termType=usdaSoilType\">usdaSoilType</a></li>\n</ul>\n</li>\n<li>a list of <a href=\"https://hestia.earth/schema/Site#management\">managements</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Management#value\">value</a> and <a href=\"https://hestia.earth/schema/Management#startDate\">startDate</a> and <a href=\"https://hestia.earth/schema/Management#endDate\">endDate</a> and <a href=\"https://hestia.earth/schema/Management#term\">term</a> of <a href=\"https://hestia.earth/schema/Term#termType\">termType</a> = <a href=\"https://hestia.earth/glossary?termType=cropResidueManagement\">cropResidueManagement</a> and <a href=\"https://hestia.earth/schema/Term#name\">name</a> containing &quot;burnt,removed&quot;</li>\n<li><a href=\"https://hestia.earth/schema/Management#value\">value</a> and <a href=\"https://hestia.earth/schema/Management#startDate\">startDate</a> and <a href=\"https://hestia.earth/schema/Management#endDate\">endDate</a> and <a href=\"https://hestia.earth/schema/Management#term\">term</a> of <a href=\"https://hestia.earth/schema/Term#termType\">termType</a> = <a href=\"https://hestia.earth/glossary?termType=landUseManagement\">landUseManagement</a></li>\n<li><a href=\"https://hestia.earth/schema/Management#value\">value</a> and <a href=\"https://hestia.earth/schema/Management#startDate\">startDate</a> and <a href=\"https://hestia.earth/schema/Management#endDate\">endDate</a> and <a href=\"https://hestia.earth/schema/Management#term\">term</a> of <a href=\"https://hestia.earth/schema/Term#termType\">termType</a> = <a href=\"https://hestia.earth/glossary?termType=tillage\">tillage</a></li>\n<li><a href=\"https://hestia.earth/schema/Management#value\">value</a> and <a href=\"https://hestia.earth/schema/Management#startDate\">startDate</a> and <a href=\"https://hestia.earth/schema/Management#endDate\">endDate</a> and <a href=\"https://hestia.earth/schema/Management#term\">term</a> of <a href=\"https://hestia.earth/schema/Term#termType\">termType</a> = <a href=\"https://hestia.earth/glossary?termType=waterRegime\">waterRegime</a> and <a href=\"https://hestia.earth/schema/Term#name\">name</a> containing &quot;deep water,irrigated&quot;</li>\n<li><a href=\"https://hestia.earth/schema/Management#value\">value</a> and <a href=\"https://hestia.earth/schema/Management#startDate\">startDate</a> and <a href=\"https://hestia.earth/schema/Management#endDate\">endDate</a> and <a href=\"https://hestia.earth/schema/Management#term\">term</a> with <a href=\"https://hestia.earth/term/amendmentIncreasingSoilCarbonUsed\">amendmentIncreasingSoilCarbonUsed</a></li>\n<li><a href=\"https://hestia.earth/schema/Management#value\">value</a> and <a href=\"https://hestia.earth/schema/Management#startDate\">startDate</a> and <a href=\"https://hestia.earth/schema/Management#endDate\">endDate</a> and <a href=\"https://hestia.earth/schema/Management#term\">term</a> with <a href=\"https://hestia.earth/term/animalManureUsed\">animalManureUsed</a></li>\n<li><a href=\"https://hestia.earth/schema/Management#value\">value</a> and <a href=\"https://hestia.earth/schema/Management#startDate\">startDate</a> and <a href=\"https://hestia.earth/schema/Management#endDate\">endDate</a> and <a href=\"https://hestia.earth/schema/Management#term\">term</a> with <a href=\"https://hestia.earth/term/inorganicNitrogenFertiliserUsed\">inorganicNitrogenFertiliserUsed</a></li>\n<li><a href=\"https://hestia.earth/schema/Management#value\">value</a> and <a href=\"https://hestia.earth/schema/Management#startDate\">startDate</a> and <a href=\"https://hestia.earth/schema/Management#endDate\">endDate</a> and <a href=\"https://hestia.earth/schema/Management#term\">term</a> with <a href=\"https://hestia.earth/term/organicFertiliserUsed\">organicFertiliserUsed</a></li>\n<li><a href=\"https://hestia.earth/schema/Management#value\">value</a> and <a href=\"https://hestia.earth/schema/Management#startDate\">startDate</a> and <a href=\"https://hestia.earth/schema/Management#endDate\">endDate</a> and <a href=\"https://hestia.earth/schema/Management#term\">term</a> with <a href=\"https://hestia.earth/term/shortBareFallow\">shortBareFallow</a></li>\n</ul>\n</li>\n</ul>\n</li>\n<li>none of:<ul>\n<li>a <a href=\"https://hestia.earth/schema/Site#siteType\">siteType</a> = <code>glass or high accessible cover</code></li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</div>\n </div>\n <div class=\"collapsible-group\">\n <div class=\"collapsible-header\">\n <span>Lookups used</span>\n </div>\n <div class=\"collapsible-content\"><ul>\n<li><a href=\"https://hestia.earth/glossary/lookups/crop.csv\">crop.csv</a> -&gt; <code>IPCC_LAND_USE_CATEGORY</code></li>\n<li><a href=\"https://hestia.earth/glossary/lookups/landCover.csv\">landCover.csv</a> -&gt; <code>IPCC_LAND_USE_CATEGORY</code>; <code>LOW_RESIDUE_PRODUCING_CROP</code>; <code>N_FIXING_CROP</code></li>\n<li><a href=\"https://hestia.earth/glossary/lookups/landUseManagement.csv\">landUseManagement.csv</a> -&gt; <code>PRACTICE_INCREASING_C_INPUT</code></li>\n<li><a href=\"https://hestia.earth/glossary/lookups/soilType.csv\">soilType.csv</a> -&gt; <code>IPCC_SOIL_CATEGORY</code></li>\n<li><a href=\"https://hestia.earth/glossary/lookups/tillage.csv\">tillage.csv</a> -&gt; <code>IPCC_TILLAGE_MANAGEMENT_CATEGORY</code></li>\n<li><a href=\"https://hestia.earth/glossary/lookups/usdaSoilType.csv\">usdaSoilType.csv</a> -&gt; <code>IPCC_SOIL_CATEGORY</code></li>\n<li><a href=\"https://hestia.earth/glossary/lookups/measurement.csv\">measurement.csv</a> -&gt; <code>siteTypesAllowed</code></li>\n</ul>\n</div>\n </div>\n \n</div>"}
@@ -1 +1 @@
1
- {"tags":{"author":["Florian Payen"],"contributor":["Guillaume Royer"],"group":["Soil Measurements"],"tab":["Site"],"modelId":["organicCarbonPerHa"],"citation":["Payen et al (2021) Soil organic carbon sequestration rates in vineyard agroecosystems under different soil management practices: A meta-analysis"],"modelRequires":["soilBulkDensity","organicCarbonPerKgSoil"]},"content":"# Organic carbon (per ha)\n\nThe stock of organic carbon in the soil, defined as soil organic matter that is smaller than 2 mm in size.\n\n\n\n\n\n\n\n\n\n\n<div class=\"collapsibles\">\n <div class=\"collapsible-group\">\n <div class=\"collapsible-header\">\n <span>Returns</span>\n </div>\n <div class=\"collapsible-content\"><ul>\n<li>A list of <a href=\"https://hestia.earth/schema/Measurement\">Measurements</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Measurement#term\">term</a> with <a href=\"https://hestia.earth/term/organicCarbonPerHa\">organicCarbonPerHa</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#value\">value</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#dates\">dates</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#depthUpper\">depthUpper</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#depthLower\">depthLower</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#methodClassification\">methodClassification</a> with <code>modelled using other measurements</code></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#source\">source</a> with <a href=\"https://hestia.earth/source/6uexzmzswo8t\">Payen et al (2021)</a></li>\n</ul>\n</li>\n</ul>\n</div>\n </div>\n <div class=\"collapsible-group\">\n <div class=\"collapsible-header\">\n <span>Requirements</span>\n </div>\n <div class=\"collapsible-content\"><ul>\n<li>A <a href=\"https://hestia.earth/schema/Site\">Site</a> with:<ul>\n<li>a <a href=\"https://hestia.earth/schema/Site#siteType\">siteType</a> = <code>forest</code> <strong>or</strong> <code>other natural vegetation</code> <strong>or</strong> <code>cropland</code> <strong>or</strong> <code>glass or high accessible cover</code> <strong>or</strong> <code>permanent pasture</code></li>\n<li>a list of <a href=\"https://hestia.earth/schema/Site#measurements\">measurements</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Measurement#value\">value</a> and <a href=\"https://hestia.earth/schema/Measurement#term\">term</a> with <a href=\"https://hestia.earth/term/soilBulkDensity\">soilBulkDensity</a> and <a href=\"https://hestia.earth/schema/Measurement#depthUpper\">depthUpper</a> and <a href=\"https://hestia.earth/schema/Measurement#depthLower\">depthLower</a> and <a href=\"https://hestia.earth/schema/Measurement#methodClassification\">methodClassification</a> with <code>on-site physical measurement</code> <strong>or</strong> <code>modelled using other measurements</code></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#value\">value</a> and <a href=\"https://hestia.earth/schema/Measurement#dates\">dates</a> and <a href=\"https://hestia.earth/schema/Measurement#term\">term</a> with <a href=\"https://hestia.earth/term/organicCarbonPerKgSoil\">organicCarbonPerKgSoil</a> and <a href=\"https://hestia.earth/schema/Measurement#depthUpper\">depthUpper</a> and <a href=\"https://hestia.earth/schema/Measurement#depthLower\">depthLower</a> and <a href=\"https://hestia.earth/schema/Measurement#methodClassification\">methodClassification</a> with <code>on-site physical measurement</code> <strong>or</strong> <code>modelled using other measurements</code></li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</div>\n </div>\n <div class=\"collapsible-group\">\n <div class=\"collapsible-header\">\n <span>Lookups used</span>\n </div>\n <div class=\"collapsible-content\"><ul>\n<li><a href=\"https://hestia.earth/glossary/lookups/measurement.csv\">measurement.csv</a> -&gt; <code>siteTypesAllowed</code></li>\n</ul>\n</div>\n </div>\n \n</div>"}
1
+ {"tags":{"author":["Florian Payen"],"group":["Soil Measurements"],"tab":["Site"],"citation":["Payen, F. (2025) Soil organic carbon stock modelling on HESTIA.","Payen et al (2021) Soil organic carbon sequestration rates in vineyard agroecosystems under different soil management practices: A meta-analysis"],"modelId":["organicCarbonPerHa"],"modelRequires":["soilBulkDensity","organicCarbonPerKgSoil"]},"content":"## Overview\n\nThe stock of organic carbon in the soil, defined as soil organic matter that is smaller than 2 mm in size.\n\nThis model calculates a [Site](https://www.hestia.earth/schema/Site)'s SOC stocks (`organicCarbonPerHa`) at different points in time as a function of soil bulk density (`soilBulkDensity`), soil organic carbon concentration (`organicCarbonPerKgSoil`) and soil sampling depth (using `depthUpper` and `depthLower`).\n\nIt also rescales `organicCarbonPerHa` [Measurements](https://www.hestia.earth/schema/Measurement) from their source depth interval to a target depth interval of 0 - 30 cm.\n\n## Calculate organicCarbonPerHa from other measurements\n\n$SOC(a, b) = (b-a)*p*C_{OC}*100$\n\nWhere:\n\n* $SOC(a, b)$ = soil organic carbon stock per hectare for depth interval $a$ to $b$ (kg C / ha)\n* $a$ = upper bound of soil sampling depth interval (cm)\n* $b$ = lower bound of soil sampling depth interval (cm)\n* $p$ = soil bulk density for depth interval $a$ to $b$ (g / cm<sup>3</sup>, which is the same as t / m<sup>3</sup>)\n* $C_{OC}$ = concentration of organic carbon in soil for depth interval $a$ to $b$ (g C / kg soil)\n\nSource: [Payen _et al._ (2021)](https://doi.org/10.1016/j.jclepro.2020.125736)\n\n## Rescale organicCarbonPerHa measurements to 0 to 30 cm depth\n\n_n.b._ `depthUpper` and `depthLower` for HESTIA [Measurements](https://www.hestia.earth/schema/Measurement) are recorded in centimetres; however, the following equations use the units metres for the depth variables $a$, $b$ and $x$.\n\nSOC stocks can be rescaled using the following $C_{density}$ equation:\n\n$C_{density}(x) = 22.1 - 33.3x + 14.9x^2$\n\nWhere:\n\n* $C_{density}(x)$ = density of carbon per cubic meter of soil at depth $x$ (kg C / m<sup>3</sup>)\n* $x$ = depth of measurement, between 0 and 1 (m)\n\nSource: [Smith _et al._ (2000)](https://doi.org/10.1111/j.1475-2743.2000.tb00214.x)\n\nBy calculating the definite integral of $C_{density}(x)$ between $a$ and $b$, we can estimate the proportion of carbon stored in the depth interval $a$ to $b$ compared to the total carbon stock in the depth interval 0 to 1 m:\n\n$cdf(a, b) = \\frac{\\int_a^b C_{density}(x) d{x}}{\\int_0^1 C_{density}(x) d{x}}$\n\n$cdf(a, b) = \\frac{[22.1b - \\frac{33.3b^2}{2} + \\frac{14.9b^3}{3}]-[22.1a - \\frac{33.3a^2}{2} + \\frac{14.9a^3}{3}]}{10.41\\dot{6}}$\n\nWhere:\n\n* $cdf(a, b)$ = cumulative distribution of organic carbon in soil for depth interval $a$ to $b$ compared to for depth interval 0 to 1 m.\n* $a$ = the upper bound of the depth interval, must be between 0 and 1 (m).\n* $b$ = the lower bound of the depth interval, must be between 0 and 1 and greater than or equal to $a$ (m).\n\nSource: [Abdalla _et al._ (2018)](https://doi.org/10.1016/j.agee.2017.10.023)\n\n<small>_n.b._, the $cdf$ equation presented in Abdalla _et al._ (2018) features a typo. The equation presented in this guide is the corrected version.</small>\n\n![Graph of the cdf from 0 to 1 meter depth](/assets/organicCarbonPerHa-depthLower.png)\n\nA graph of the cdf from 0 to 1 m depth. The x-axis is $b$, the depth lower of the `organicCarbonPerHa` measurement, and the y-axis is the value of the $cdf(0, b)$.\n\nWe can use the $cdf$ equation to rescale `organicCarbonPerHa` measurements from a source depth interval to a target depth interval. In our case, the target depth interval is 0 to 0.3 m:\n\n$SOC(0, 0.3) = SOC(a, b) * \\frac{cdf(0, 0.3)}{cdf(a, b)}$\n\nWhere:\n\n* $SOC(0, 0.3)$ = rescaled SOC measurement for depth interval 0 to 0.3 m (kg C / ha)\n* $SOC(a, b)$ = the source SOC measurement for depth interval $a$ to $b$ (kg C / ha)\n* $a$ = the upper bound of the source depth interval, must be between 0 and 1 (m)\n* $b$ = the lower bound of the source depth interval, must be between 0 and 1 and greater than or equal to $a$ (m)\n\nSource: [Abdalla _et al._ (2018)](https://doi.org/10.1016/j.agee.2017.10.023)\n\n![Graph of the scaling factor (cdf(0, 0.3)/cdf(0, source depth))](/assets/organicCarbonPerHa-sourceDepthLower.png)\n\nA graph of the scaling factor (cdf(0, 0.3)/cdf(0, source depth)). The x-axis is $b$, the depth lower of the source `organicCarbonPerHa` measurement, and the y-axis is the scaling factor required to rescale the measurement value from a source depth interval of 0 to $b$ to the target depth interval of 0 to 0.3 m.\n\n## Example\nIn this example, the model will estimate the SOC stock using other measurements and rescale the result to a 0 - 30 cm depth.\n\nThese fixtures have been simplified, [see the full fixtures here](https://gitlab.com/hestia-earth/hestia-engine-models/-/tree/develop/tests/fixtures/site/organicCarbonPerHa/calculate-and-rescale).\n\n### Input\n```json\n{\n \"@type\": \"Site\",\n \"siteType\": \"cropland\",\n \"measurements\": [\n {\n \"@type\": \"Measurement\",\n \"term\": {\n \"@type\": \"Term\",\n \"@id\": \"soilBulkDensity\",\n },\n \"value\": [\n 1.55\n ],\n \"depthUpper\": 0,\n \"depthLower\": 40,\n \"methodClassification\": \"on-site physical measurement\"\n },\n {\n \"@type\": \"Measurement\",\n \"term\": {\n \"@type\": \"Term\",\n \"@id\": \"organicCarbonPerKgSoil\",\n },\n \"value\": [\n 24.05\n ],\n \"dates\": [\n \"2020\"\n ],\n \"depthUpper\": 0,\n \"depthLower\": 40,\n \"methodClassification\": \"on-site physical measurement\"\n }\n ],\n}\n```\n\n### Output\n```json\n[\n {\n \"@type\": \"Measurement\",\n \"term\": {\n \"@type\": \"Term\",\n \"@id\": \"organicCarbonPerHa\"\n },\n \"value\": [\n 149110\n ],\n \"dates\": [\n \"2020\"\n ],\n \"depthUpper\": 0,\n \"depthLower\": 40,\n \"methodClassification\": \"modelled using other measurements\"\n },\n {\n \"@type\": \"Measurement\",\n \"term\": {\n \"@type\": \"Term\",\n \"@id\": \"organicCarbonPerHa\"\n },\n \"value\": [\n 120906.95055847566\n ],\n \"dates\": [\n \"2020\"\n ],\n \"depthUpper\": 0,\n \"depthLower\": 30,\n \"methodClassification\": \"modelled using other measurements\"\n }\n]\n```\n\n## Discussion\nThe $C_{density}$ equation from [Smith _et al._ (2000)](https://doi.org/10.1111/j.1475-2743.2000.tb00214.x) used in this model is a quadratic regression of $C_{density}$ at various depths for 22 soil types found in [Batjes (1996)](https://doi.org/10.1111/j.1365-2389.1996.tb01386.x). It is important to note that the exact methodology of how this regression was calculated (_i.e._, where to find the carbon density data in the original paper and which of the 4 soil types out of the 26 overall presented in the original paper were excluded) and the standard error of the regression were not described. With this in mind, there is scope to recalculate this rescaling method using the higher volume of soil data that is available today, in comparison to 1996. This could be disaggregated by soil type or soil category for greater specificity.\n\n\n\n\n\n\n\n\n\n\n<div class=\"collapsibles\">\n <div class=\"collapsible-group\">\n <div class=\"collapsible-header\">\n <span>Returns</span>\n </div>\n <div class=\"collapsible-content\"><ul>\n<li>A list of <a href=\"https://hestia.earth/schema/Measurement\">Measurements</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Measurement#term\">term</a> with <a href=\"https://hestia.earth/term/organicCarbonPerHa\">organicCarbonPerHa</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#value\">value</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#dates\">dates</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#depthUpper\">depthUpper</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#depthLower\">depthLower</a></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#methodClassification\">methodClassification</a> with <code>modelled using other measurements</code></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#source\">source</a> with <a href=\"https://hestia.earth/source/6uexzmzswo8t\">Payen et al (2021)</a></li>\n</ul>\n</li>\n</ul>\n</div>\n </div>\n <div class=\"collapsible-group\">\n <div class=\"collapsible-header\">\n <span>Requirements</span>\n </div>\n <div class=\"collapsible-content\"><ul>\n<li>A <a href=\"https://hestia.earth/schema/Site\">Site</a> with:<ul>\n<li>a <a href=\"https://hestia.earth/schema/Site#siteType\">siteType</a> = <code>forest</code> <strong>or</strong> <code>other natural vegetation</code> <strong>or</strong> <code>cropland</code> <strong>or</strong> <code>glass or high accessible cover</code> <strong>or</strong> <code>permanent pasture</code></li>\n<li>a list of <a href=\"https://hestia.earth/schema/Site#measurements\">measurements</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Measurement#value\">value</a> and <a href=\"https://hestia.earth/schema/Measurement#term\">term</a> with <a href=\"https://hestia.earth/term/soilBulkDensity\">soilBulkDensity</a> and <a href=\"https://hestia.earth/schema/Measurement#depthUpper\">depthUpper</a> and <a href=\"https://hestia.earth/schema/Measurement#depthLower\">depthLower</a> and <a href=\"https://hestia.earth/schema/Measurement#methodClassification\">methodClassification</a> with <code>on-site physical measurement</code> <strong>or</strong> <code>modelled using other measurements</code></li>\n<li><a href=\"https://hestia.earth/schema/Measurement#value\">value</a> and <a href=\"https://hestia.earth/schema/Measurement#dates\">dates</a> and <a href=\"https://hestia.earth/schema/Measurement#term\">term</a> with <a href=\"https://hestia.earth/term/organicCarbonPerKgSoil\">organicCarbonPerKgSoil</a> and <a href=\"https://hestia.earth/schema/Measurement#depthUpper\">depthUpper</a> and <a href=\"https://hestia.earth/schema/Measurement#depthLower\">depthLower</a> and <a href=\"https://hestia.earth/schema/Measurement#methodClassification\">methodClassification</a> with <code>on-site physical measurement</code> <strong>or</strong> <code>modelled using other measurements</code></li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</div>\n </div>\n <div class=\"collapsible-group\">\n <div class=\"collapsible-header\">\n <span>Lookups used</span>\n </div>\n <div class=\"collapsible-content\"><ul>\n<li><a href=\"https://hestia.earth/glossary/lookups/measurement.csv\">measurement.csv</a> -&gt; <code>siteTypesAllowed</code></li>\n</ul>\n</div>\n </div>\n \n</div>"}
@@ -1 +1 @@
1
- {"tags":{"author":["Guillaume Royer"],"group":["Transformations"],"tab":["Transformation"],"modelId":["excreta"]},"content":"# Input Excreta\n\nCopy Cycle (or previous Transformation) `excreta` products into the Transformation inputs if they are missing.\n\n\n\n\n\n\n<div class=\"collapsibles\">\n <div class=\"collapsible-group\">\n <div class=\"collapsible-header\">\n <span>Returns</span>\n </div>\n <div class=\"collapsible-content\"><ul>\n<li>A list of <a href=\"https://hestia.earth/schema/Transformation\">Transformations</a> with:<ul>\n<li>a list of <a href=\"https://hestia.earth/schema/Transformation#inputs\">inputs</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Input#term\">term</a> of <a href=\"https://hestia.earth/schema/Term#termType\">termType</a> = <a href=\"https://hestia.earth/glossary?termType=excreta\">excreta</a></li>\n<li><a href=\"https://hestia.earth/schema/Input#value\">value</a></li>\n<li><a href=\"https://hestia.earth/schema/Input#fromCycle\">fromCycle</a> with <code>true</code></li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</div>\n </div>\n <div class=\"collapsible-group\">\n <div class=\"collapsible-header\">\n <span>Requirements</span>\n </div>\n <div class=\"collapsible-content\"><ul>\n<li>A <a href=\"https://hestia.earth/schema/Cycle\">Cycle</a> with:<ul>\n<li>a list of <a href=\"https://hestia.earth/schema/Cycle#products\">products</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Product#value\">value</a> and <a href=\"https://hestia.earth/schema/Product#term\">term</a> of <a href=\"https://hestia.earth/schema/Term#termType\">termType</a> = <a href=\"https://hestia.earth/glossary?termType=excreta\">excreta</a></li>\n</ul>\n</li>\n<li>a list of <a href=\"https://hestia.earth/schema/Cycle#transformations\">transformations</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Transformation#term\">term</a> of <a href=\"https://hestia.earth/schema/Term#termType\">termType</a> = <a href=\"https://hestia.earth/glossary?termType=excretaManagement\">excretaManagement</a> and a list of <a href=\"https://hestia.earth/schema/Transformation#inputs\">inputs</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Input#value\">value</a> and <a href=\"https://hestia.earth/schema/Input#term\">term</a> of <a href=\"https://hestia.earth/schema/Term#termType\">termType</a> = <a href=\"https://hestia.earth/glossary?termType=excreta\">excreta</a></li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</div>\n </div>\n \n \n</div>"}
1
+ {"tags":{"author":["Guillaume Royer"],"group":["Transformations"],"tab":["Transformation"],"modelId":["excreta"]},"content":"# Input Excreta\n\nCopy Cycle (or previous Transformation) `excreta` products into the Transformation inputs if they are missing.\n\n\n\n\n\n\n<div class=\"collapsibles\">\n <div class=\"collapsible-group\">\n <div class=\"collapsible-header\">\n <span>Returns</span>\n </div>\n <div class=\"collapsible-content\"><ul>\n<li>A list of <a href=\"https://hestia.earth/schema/Transformation\">Transformations</a> with:<ul>\n<li>a list of <a href=\"https://hestia.earth/schema/Transformation#inputs\">inputs</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Input#term\">term</a> of <a href=\"https://hestia.earth/schema/Term#termType\">termType</a> = <a href=\"https://hestia.earth/glossary?termType=excreta\">excreta</a></li>\n<li><a href=\"https://hestia.earth/schema/Input#value\">value</a></li>\n<li><a href=\"https://hestia.earth/schema/Input#fromCycle\">fromCycle</a> with <code>True</code></li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</div>\n </div>\n <div class=\"collapsible-group\">\n <div class=\"collapsible-header\">\n <span>Requirements</span>\n </div>\n <div class=\"collapsible-content\"><ul>\n<li>A <a href=\"https://hestia.earth/schema/Cycle\">Cycle</a> with:<ul>\n<li>a list of <a href=\"https://hestia.earth/schema/Cycle#products\">products</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Product#value\">value</a> and <a href=\"https://hestia.earth/schema/Product#term\">term</a> of <a href=\"https://hestia.earth/schema/Term#termType\">termType</a> = <a href=\"https://hestia.earth/glossary?termType=excreta\">excreta</a></li>\n</ul>\n</li>\n<li>a list of <a href=\"https://hestia.earth/schema/Cycle#transformations\">transformations</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Transformation#term\">term</a> of <a href=\"https://hestia.earth/schema/Term#termType\">termType</a> = <a href=\"https://hestia.earth/glossary?termType=excretaManagement\">excretaManagement</a> and a list of <a href=\"https://hestia.earth/schema/Transformation#inputs\">inputs</a> with:<ul>\n<li><a href=\"https://hestia.earth/schema/Input#value\">value</a> and <a href=\"https://hestia.earth/schema/Input#term\">term</a> of <a href=\"https://hestia.earth/schema/Term#termType\">termType</a> = <a href=\"https://hestia.earth/glossary?termType=excreta\">excreta</a></li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</div>\n </div>\n \n \n</div>"}