MAgPIE - An Open Source land-use modeling framework

4.7.2

created with goxygen 1.4.4

Soil organic matter (59_som)

Description

The soil organic matter module calculates the soil organic carbon loss due to landuse activities. It also estimates the nitrogen release due to the soil organic carbon turnover.

Interfaces

Interfaces to other modules

Input

module inputs (A: cellpool_aug16 | B: cellpool_jan23 | C: static_jan19)
  Description Unit A B C
fm_carbon_density
(t_all, j, land, c_pools)
LPJmL carbon density for land and carbon pools \(tC/ha\) x x x
fm_croparea
(t_all, j, w, kcr)
Different croparea type areas \(10^6 ha\) x x
pcm_land
(j, land)
Land area in previous time step including possible changes after optimization \(10^6 ha\) x x x
pm_climate_class
(j, clcl)
Koeppen-Geiger climate classification on the simulation cluster level \(1\) x x
pm_land_start
(j, land)
Land initialization area \(10^6 ha\) x x
sm_fix_cc year until which all parameters affected by cc are fixed to historical values \(year\) x x x
vm_area
(j, kcr, w)
Agricultural production area \(10^6 ha\) x x
vm_carbon_stock
(j, land, c_pools, stockType)
Carbon stock in vegetation soil and litter for different land types \(10^6 tC\) x x x
vm_fallow
(j)
Fallow land \(10^6 ha\) x x
vm_land
(j, land)
Land area of the different land types \(10^6 ha\) x x x
vm_landexpansion
(j, land)
Land expansion \(10^6 ha\) x x
vm_lu_transitions
(j, land_from, land_to)
Land transitions between time steps \(10^6 ha\) x x

Output

module outputs
  Description Unit
vm_nr_som
(j)
Release of soil organic matter \(Mt N/yr\)
vm_nr_som_fertilizer
(j)
Uptake of soil organic matter from plants \(Mt N/yr\)

Realizations

(A) cellpool_aug16

The cellpool_aug16 realization is built on the IPCC 2006 Guidelines for National Greenhouse Gas Inventories (IPCC (2006).). It calculates the loss of soil carbon due to cropping activities and management based on stock change factors, compared to potential natural vegetation. This approach also accounts for the temporal dimension of soil organic carbon change, since it assumes a gradual step of 15% in the direction of the new equilibrium soil organic carbon pool each year. Stock change factors tracks crop types as well as management (e.g. irrigation) and input differences on cropland.

For every cell a new equilibrium value for the soil organic carbon pool on cropland as the sum over all crop types and irrigation regimes is calculated

\[\begin{multline*} v59\_som\_target(j2,"crop") = \left(\sum_{kcr,w}\left( vm\_area(j2,kcr,w) \cdot i59\_cratio(j2,kcr,w)\right) + vm\_fallow(j2) \cdot i59\_cratio\_fallow(j2)\right) \cdot \sum_{ct}f59\_topsoilc\_density(ct,j2) \end{multline*}\]

as well as for all non cropland given by

\[\begin{multline*} v59\_som\_target(j2,noncropland59) = vm\_land(j2,noncropland59) \cdot \sum_{ct}f59\_topsoilc\_density(ct,j2) \end{multline*}\]

Depending on the setting of c59_som_scenarioclimate impacts (cc) are taken into account or not (nocc and nocc_hist). For a static climate f59_topsoilc_density is set to the value of 1995 within the input of the module realization. To get the current size of the soil organic carbon pool, the carbon pool of the previous timestep is developing into the direction of the above calculated target values taken the timestep depending lossrate into account by

\[\begin{multline*} v59\_som\_pool(j2,land) = \sum_{ct}i59\_lossrate(ct) \cdot v59\_som\_target(j2,land) + \left(1 - \sum_{ct}i59\_lossrate(ct)\right) \cdot \sum_{ct,land\_from}\left( p59\_carbon\_density(ct,j2,land\_from) \cdot vm\_lu\_transitions(j2,land\_from,land)\right) \end{multline*}\]

Note that to account correctly for land-use transitions, carbon densities multiplied by the land-use transition matrix of the current timestep is used. The soil carbon content is calculated as sum of actual topsoil pool and the reference soil carbon pool of the subsoil

\[\begin{multline*} vm\_carbon\_stock\left(j2, land,"soilc",stockType\right) = v59\_som\_pool\left(j2, land\right) + vm\_land\left(j2, land\right) \cdot \sum_{ct}i59\_subsoilc\_density(ct,j2) \end{multline*}\]

The annual nitrogen release (or sink) for cropland soils is than calculated by the loss of soil organic carbon given by

\[\begin{multline*} vm\_nr\_som(j2) = \frac{ \sum_{ct}i59\_lossrate(ct)}{m\_timestep\_length} \cdot \frac{1}{15 } \cdot \left(\sum_{ct,land\_from}\left( p59\_carbon\_density(ct,j2,land\_from) \cdot vm\_lu\_transitions(j2,land\_from,"crop")\right) - v59\_som\_target(j2,"crop")\right) \end{multline*}\]

with the carbon to nitrogen ratio of soils assumed to be 15:1. The amount of nitrogen that becomes available to cropland farming is limited by loss of soil organic matter by

\[\begin{multline*} vm\_nr\_som\_fertilizer(j2) \leq vm\_nr\_som(j2) \end{multline*}\]

as well as by the amount that crops can take up

\[\begin{multline*} vm\_nr\_som\_fertilizer(j2) \leq vm\_landexpansion(j2,"crop") \cdot s59\_nitrogen\_uptake \end{multline*}\]

Here we assume a maximum of 200 kg on the expanded area.

The cellpool_aug16 calculates the carbon loss with the assumption of a lossrate of 15% per year resulting in 44% in 5 years, 80% in 10 years and 96% in 20 years. The lossrate for a given timestep is than calculate by

i59_lossrate(t)=1-0.85**m_yeardiff(t);

The stock change factors are implemented for cropland subsystems divided by MAgPIE crop types as well as potentially for tillage and input management. So far it just tracks the subsystem component due to missing data for the other categories. They are set to the following default values:

i59_tillage_share(i,tillage59)=0;
i59_tillage_share(i,"full_tillage")=1;
i59_input_share(i,inputs59)=0;
i59_input_share(i,"medium_input")=1;

The stock change factor in each cell for every crop type also takes into account the climate variability of these factors and is therefor given by:

i59_cratio(j,kcr,w) = sum((cell(i,j),tillage59,inputs59,climate59),
                 sum(clcl_climate59(clcl,climate59),pm_climate_class(j,clcl))
                 * f59_cratio_landuse(climate59,kcr)
                 * i59_tillage_share(i,tillage59)
                 * f59_cratio_tillage(climate59,tillage59)
                 * i59_input_share(i,inputs59)
                 * f59_cratio_inputs(climate59,inputs59)
                 * f59_cratio_irrigation(climate59,w,kcr));

For fallow we assume annual crops with bare fallow - therefor low input - and reduced tillage. Assumed to have no irrigation, so irrigation multiplier is 1.

i59_cratio_fallow(j) = sum(climate59,
                sum(clcl_climate59(clcl,climate59),pm_climate_class(j,clcl))
                * f59_cratio_landuse(climate59,"maiz")
                * f59_cratio_tillage(climate59,"reduced_tillage")
                * f59_cratio_inputs(climate59,"low_input"));

Limitations It is assumed that pastures and rangelandes as well as managed forests do not change in soil carbon compared to the natural reference state. Moreover only transitions from other land and primary forest to secondary forest between optimization steps (due to natural regrowth and disturbance loss) are accounted for.

(B) cellpool_jan23

The cellpool_aug23 realization is built on revised IPCC 2019 Guidelines for National Greenhouse Gas Inventories (Calvo Buendia et al. (2019)). It calculates the loss of soil carbon due to cropping activities and management based on stock change factors, compared to potential natural vegetation. This approach also accounts for the temporal dimension of soil organic carbon change, since it assumes a gradual step of 15% in the direction of the new equilibrium soil organic carbon pool each year. Stock change factors tracks crop types as well as management (e.g. irrigation) and input differences on cropland.

For every cell a new equilibrium value for the soil organic carbon pool on cropland as the sum over all crop types and irrigation regimes is calculated

\[\begin{multline*} v59\_som\_target(j2,"crop") = \left(\sum_{kcr,w}\left( vm\_area(j2,kcr,w) \cdot i59\_cratio(j2,kcr,w)\right) + vm\_fallow(j2) \cdot i59\_cratio\_fallow(j2)\right) \cdot \sum_{ct}f59\_topsoilc\_density(ct,j2) \end{multline*}\]

as well as for all non cropland given by

\[\begin{multline*} v59\_som\_target(j2,noncropland59) = vm\_land(j2,noncropland59) \cdot \sum_{ct}f59\_topsoilc\_density(ct,j2) \end{multline*}\]

Depending on the setting of c59_som_scenarioclimate impacts (cc) are taken into account or not (nocc and nocc_hist). For a static climate f59_topsoilc_density is set to the value of 1995 within the input of the module realization. To get the current size of the soil organic carbon pool, the carbon pool of the previous timestep is developing into the direction of the above calculated target values taken the timestep depending lossrate into account by

\[\begin{multline*} v59\_som\_pool(j2,land) = \sum_{ct}i59\_lossrate(ct) \cdot v59\_som\_target(j2,land) + \left(1 - \sum_{ct}i59\_lossrate(ct)\right) \cdot \sum_{ct,land\_from}\left( p59\_carbon\_density(ct,j2,land\_from) \cdot vm\_lu\_transitions(j2,land\_from,land)\right) \end{multline*}\]

Note that to account correctly for land-use transitions, carbon densities multiplied by the land-use transition matrix of the current timestep is used. The soil carbon content is calculated as sum of actual topsoil pool and the reference soil carbon pool of the subsoil

\[\begin{multline*} vm\_carbon\_stock\left(j2, land,"soilc",stockType\right) = v59\_som\_pool\left(j2, land\right) + vm\_land\left(j2, land\right) \cdot \sum_{ct}i59\_subsoilc\_density(ct,j2) \end{multline*}\]

The annual nitrogen release (or sink) for cropland soils is than calculated by the loss of soil organic carbon given by

\[\begin{multline*} vm\_nr\_som(j2) = \frac{ \sum_{ct}i59\_lossrate(ct)}{m\_timestep\_length} \cdot \frac{1}{15 } \cdot \left(\sum_{ct,land\_from}\left( p59\_carbon\_density(ct,j2,land\_from) \cdot vm\_lu\_transitions(j2,land\_from,"crop")\right) - v59\_som\_target(j2,"crop")\right) \end{multline*}\]

with the carbon to nitrogen ratio of soils assumed to be 15:1. The amount of nitrogen that becomes available to cropland farming is limited by loss of soil organic matter by

\[\begin{multline*} vm\_nr\_som\_fertilizer(j2) \leq vm\_nr\_som(j2) \end{multline*}\]

as well as by the amount that crops can take up

\[\begin{multline*} vm\_nr\_som\_fertilizer(j2) \leq vm\_landexpansion(j2,"crop") \cdot s59\_nitrogen\_uptake \end{multline*}\]

Here we assume a maximum of 200 kg on the expanded area.

The cellpool_aug16 calculates the carbon loss with the assumption of a lossrate of 15% per year resulting in 44% in 5 years, 80% in 10 years and 96% in 20 years. The lossrate for a given timestep is than calculate by

i59_lossrate(t)=1-0.85**m_yeardiff(t);

The stock change factors are implemented for cropland subsystems divided by MAgPIE crop types as well as potentially for tillage and input management. So far it just tracks the subsystem component due to missing data for the other categories. They are set to the following default values:

i59_tillage_share(i,tillage59)=0;
i59_tillage_share(i,"full_tillage")=1;
i59_input_share(i,inputs59)=0;
i59_input_share(i,"medium_input")=1;

The stock change factor in each cell for every crop type also takes into account the climate variability of these factors and is therefor given by:

i59_cratio(j,kcr,w) = sum((cell(i,j),tillage59,inputs59,climate59),
                 sum(clcl_climate59(clcl,climate59),pm_climate_class(j,clcl))
                 * f59_cratio_landuse(i,climate59,kcr)
                 * i59_tillage_share(i,tillage59)
                 * f59_cratio_tillage(climate59,tillage59)
                 * i59_input_share(i,inputs59)
                 * f59_cratio_inputs(climate59,inputs59)
                 * f59_cratio_irrigation(climate59,w,kcr));

For fallow we assume annual crops with bare fallow - therefor low input - and reduced tillage. Assumed to have no irrigation, so irrigation multiplier is 1.

i59_cratio_fallow(j) = sum((cell(i,j),climate59),
                sum(clcl_climate59(clcl,climate59),pm_climate_class(j,clcl))
                * f59_cratio_landuse(i,climate59,"maiz")
                * f59_cratio_tillage(climate59,"reduced_tillage")
                * f59_cratio_inputs(climate59,"low_input"));

Limitations It is assumed that pastures and rangelandes as well as managed forests do not change in soil carbon compared to the natural reference state. Moreover only transitions from other land and primary forest to secondary forest between optimization steps (due to natural regrowth and disturbance loss) are accounted for.

(C) static_jan19

The static_jan19 realization is built on the IPCC 2006 Guidelines for National Greenhouse Gas Inventories (IPCC (2006).). It calculates the loss of soil carbon due to cropping activities based on stock change factors, compared to potential natural vegetation. This approach does not account for the temporal dimension of soil organic carbon change, since it assumes a complete loss of carbon directly after land conversion to cropland. Therefore, no release of nitrogen due to soil organic matter loss is calculated. Moreover only one stock change factor for all crop types is used, neglecting e.g. differences for annual and perennial crops.

The soil carbon content for cropland is calculated as sum of reduced topsoil density and the reference soil carbon densities of the subsoil.

\[\begin{multline*} vm\_carbon\_stock(j2,"crop","soilc",stockType) = vm\_land(j2,"crop") \cdot \sum_{ct}\left( i59\_topsoilc\_density(ct,j2) + i59\_subsoilc\_density(ct,j2)\right) \end{multline*}\]

The soil carbon content for all other land use types is calculated based on the full profile soil carbon density:

\[\begin{multline*} vm\_carbon\_stock(j2,noncropland59,"soilc",stockType) = \sum_{ct}\left( vm\_land(j2,noncropland59) \cdot fm\_carbon\_density(ct,j2,noncropland59,"soilc")\right) \end{multline*}\]

Cropland topsoil carbon densities are calculated based on simple IPCC stock change factors (if not done in cellular preprocessing). We assume following the IPCC assumptions that cropland activities will only change the topsoil (here 30 cm) carbon density.

i59_subsoilc_density(t_all,j) = fm_carbon_density(t_all,j,"secdforest","soilc") - f59_topsoilc_density(t_all,j);
$ifthen "%c59_static_spatial_level%" == "cellular" i59_topsoilc_density(t_all,j) = fm_carbon_density(t_all,j,"crop","soilc") - i59_subsoilc_density(t_all,j);
$elseif "%c59_static_spatial_level%" == "cluster"  i59_topsoilc_density(t_all,j) = f59_topsoilc_density(t_all,j) * (1- f59_cshare_released(j));
$endif

Limitations The soil carbon dynamics are instantaneous and do not account for any time dependent release of soil carbon. The soil carbon pools on cropland are not crop type specific. The release of nitrogen due to soil organic matter loss is not calculated. It is assumed that pastures and rangelands as well as managed forests do not change in soil carbon compared to the natural reference state.

Definitions

Objects

module-internal objects (A: cellpool_aug16 | B: cellpool_jan23 | C: static_jan19)
  Description Unit A B C
f59_cratio_inputs
(climate59, inputs59)
Ratio of soil carbon relative to potential natural vegetation soil carbon for different input intensity \(1\) x x
f59_cratio_irrigation
(climate59, w, kcr)
Ratio of soil carbon relative to potential natural vegetation soil carbon for different irrigation schemes \(1\) x x
f59_cratio_landuse
(climate59, kcr)
Ratio of soil carbon relative to potential natural vegetation soil carbon for different landuse \(1\) x x
f59_cratio_tillage
(climate59, tillage59)
Ratio of soil carbon relative to potential natural vegetation soil carbon for different soil management \(1\) x x
f59_cshare_released
(j)
Share of soil carbon that is released on cropland compared to natural vegetation after 20 years \(1\) x
f59_som_exogenous
(t_all, i, exo_scen59)
Nr released through changing soil organic matter x
f59_topsoilc_density
(t_all, j)
LPJ topsoil carbon density for natural vegetation \(tC/ha\) x x x
i59_cratio
(j, kcr, w)
Ratio of carbon density of land relative to natural vegetaion \(1\) x x
i59_cratio_fallow
(j)
Ratio of carbon density of fallow land relative to natural vegetation \(1\) x x
i59_input_share
(i, inputs59)
Share of land under input class \(1\) x x
i59_lossrate
(t)
Rate of loss or recovery of SOM pool per timestep \(1\) x x
i59_nr_som_exogenous_per_ha
(t_all, i)
Exogenous nr release due to som release per ha \(tN/ha\) x
i59_subsoilc_density
(t_all, j)
Subsoil carbon density of a hectare of land \(tC/ha\) x x x
i59_tillage_share
(i, tillage59)
Share of land under tillage class \(1\) x x
i59_topsoilc_density
(t_all, j)
Topsoil carbon density of a hectare of cropland \(tC/ha\) x
p59_carbon_density
(t_all, j, land)
Carbon density of a hectare of land \(tC/ha\) x x
p59_land_before
(j, land)
Land area in previous time step \(10^6 ha\) x x
p59_som_pool
(j, land)
Actual C pool \(10^6 tC\) x x
q59_carbon_soil
(j, land, stockType)
Soil carbon content calculation \(10^6 tC\) x x
q59_nr_som
(j)
Soil organic matter loss \(Mt N/yr\) x x
q59_nr_som_fertilizer
(j)
Bound of nitrogen fertilizer of soil organic matter loss \(Mt N/yr\) x x
q59_nr_som_fertilizer2
(j)
Fraction of soil organic matter loss take is taken up by plants \(Mt N/yr\) x x
q59_soilcarbon_cropland
(j, stockType)
Cropland soil carbon content calculation \(10^6 tC\) x
q59_soilcarbon_noncropland
(j, noncropland59, stockType)
Non-cropland soil carbon content calculation \(10^6 tC\) x
q59_som_pool
(j, land)
Actual C pool \(10^6 tC\) x x
q59_som_target_cropland
(j)
Estimates the long-term target state of cropland \(10^6 tC\) x x
q59_som_target_noncropland
(j, noncropland59)
Estimates the long-term target state of noncropland \(10^6 tC\) x x
s59_nitrogen_uptake Maximum plant available nitrogen from soil organic matter loss \(tN/ha\) x x
v59_som_pool
(j, land)
Soil organic matter pool \(10^6 tC\) x x
v59_som_target
(j, land)
Long-term target state of C pool \(10^6 tC\) x x

Sets

sets in use
  description
c_pools Carbon pools
cell(i, j) number of LPJ cells per region i
clcl climate classification types
clcl_climate59(clcl, climate59) Climate classification types
climate59 Climate classes of IPCC 2006
climate59_2019 Climate classes of IPCC 2019
ct(t) Current time period
exo_scen59 exogenous scenarios for soil organic matter loss
i all economic regions
inputs59 Input management categories of IPCC
j number of LPJ cells
j2(j) Spatial Clusters (dynamic set)
kcr(kve) Cropping activities
land Land pools
noncropland59(land) Soil carbon conserving landuse types
stockType Carbon stock types
t_all(t_ext) 5-year time periods
t(t_all) Simulated time periods
tillage59 Tillage categories of IPCC
type GAMS variable attribute used for the output
w Water supply type

Authors

Benjamin Leon Bodirsky, Kristine Karstens

See Also

09_drivers, 10_land, 30_crop, 45_climate, 50_nr_soil_budget, 51_nitrogen, 52_carbon, 56_ghg_policy

References

Calvo Buendia, E., K. Tanabe, A. Kranjc, J. Baasansuren, M. Fukuda, S. Ngarize, A.Osako, Y. Pyrozhenko, P. Shermanau, and S. Federici (eds), eds. 2019. IPCC 2019, 2019 Refinement to the 2006 IPCC Guidelines for National Greenhouse Gas Inventories,” Published: IPCC, Switzerland.
IPCC. 2006. “2006 IPCC Guidelines for National Greenhouse Gas Inventories.” Edited by H. S. Eggleston, L. Buendia, K. Miwa, T. Ngara, and K. Tanabe. IGES, Japan: National Greenhouse Gas Inventories Programme.