The cropland module simulates the dynamics of cropland area and agricultural crop production and calculates corresponding carbon contents and the biodiversity value of the existing cropland.
Description | Unit | A | B | C | |
---|---|---|---|---|---|
fm_bii_coeff (bii_class44, potnatveg) |
Biodiversity Intactness Index coefficients | \(unitless\) | x | x | x |
fm_carbon_density (t_all, j, land, c_pools) |
LPJmL carbon density for land and carbon pools | \(tC/ha\) | x | x | x |
fm_luh2_side_layers (j, luh2_side_layers10) |
luh2 side layers | \(grid cell share\) | x | x | x |
vm_AEI (j) |
Area equipped for irrigation in each grid cell | \(10^6 ha\) | x | x | |
vm_bv (j, landcover44, potnatveg) |
Biodiversity stock for all land cover classes | \(Mha\) | x | 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_land (j, land) |
Land area of the different land types | \(10^6 ha\) | x | x | x |
vm_prod (j, k) |
Production in each cell | \(10^6 tDM/yr\) | x | x | x |
vm_yld (j, kve, w) |
Yields (variable because of technical change) | \(tDM/ha/yr\) | x | x | x |
Description | Unit | |
---|---|---|
fm_croparea (t_all, j, w, kcr) |
Different croparea type areas | \(10^6 ha\) |
vm_area (j, kcr, w) |
Agricultural production area | \(10^6 ha\) |
vm_fallow (j) |
Fallow land | \(10^6 ha\) |
vm_rotation_penalty (i) |
Penalty for violating rotational constraints | \(USD_{05MER}\) |
The endo_apr21 realization calculates the crop specific agricultural land use endogenously based on yield data coming from the module 14_yields and the rotational as well as suitability constraints stated in the input data of the module.
Cropland areas are linked to the crop specific production and the carbon content of the different land carbon pools. The crop specific land use areas are also used in 18_residues, 38_factor_costs, 41_area_equipped_for_irrigation, 42_water_demand, 50_nr_soil_budget, 53_methane and 59_som. This realisation also includes the option to reserve a minimum semi-natural vegetation share within the total available cropland for other land cover classes, including grassland, forest, and other land (by a given target year), in order to provide species habitats and to benefit from ecosystem ervices in agricultural landscapes.
The total land requirements for cropland are calculated as the sum of crop and water supply type specific land requirements:
\[\begin{multline*} \sum_{kcr,w} vm\_area(j2,kcr,w) = vm\_land(j2,"crop") \end{multline*}\]
We assume that crop production can only take place on suitable cropland area. We use a suitability index (SI) map from Zabel, Putzenlechner, and Mauser (2014) to exclude areas from cropland production that have a low suitability, e.g. due to steep slopes, to estimate the available cropland area. The cultivated area therefore has to be smaller than the available cropland area. Moreover, the available cropland can be reduced by constraining the cropland area in favour of other land types, in order to increase compositional heterogeneity of land types at the cell level.
\[\begin{multline*} vm\_land(j2,"crop") \leq \sum_{ct} p30\_avl\_cropland(ct,j2) \end{multline*}\]
As additional constraints minimum and maximum rotational constraints limit the placing of crops. On the one hand, these rotational constraints reflect crop rotations limiting the share a specific crop can cover of the total area of a cluster:
\[\begin{multline*} \sum_{crp\_kcr30(crpmax30,kcr)} vm\_area(j2,kcr,w) \leq \sum_{kcr} vm\_area(j2,kcr,w) \cdot f30\_rotation\_max\_shr(crpmax30) \end{multline*}\]
On the other hand, it reflects boundary conditions such as minimum self sufficiency constraints:
\[\begin{multline*} \sum_{crp\_kcr30(crpmin30,kcr)} vm\_area(j2,kcr,w) \geq \sum_{kcr} vm\_area(j2,kcr,w) \cdot f30\_rotation\_min\_shr(crpmin30) \end{multline*}\]
Agricultural production is calculated by multiplying the area under production with corresponding yields. Production from rainfed and irrigated areas is summed up:
\[\begin{multline*} vm\_prod(j2,kcr) = \sum_{w}\left( vm\_area(j2,kcr,w) \cdot vm\_yld(j2,kcr,w)\right) \end{multline*}\]
The carbon content of the above ground carbon pools are calculated as a total for all cropland :
\[\begin{multline*} vm\_carbon\_stock(j2,"crop",ag\_pools,stockType) = m\_carbon\_stock(vm\_land,fm\_carbon\_density,"crop") \end{multline*}\]
The biodiversity value for cropland is calculated separately for annual and perennial crops:
\[\begin{multline*} vm\_bv(j2,"crop\_ann",potnatveg) = \sum_{crop\_ann30,w} vm\_area(j2,crop\_ann30,w) \cdot fm\_bii\_coeff("crop\_ann",potnatveg) \cdot fm\_luh2\_side\_layers(j2,potnatveg) \end{multline*}\]
\[\begin{multline*} vm\_bv(j2,"crop\_per",potnatveg) = \left(vm\_land(j2,"crop") - \sum_{crop\_ann30,w} vm\_area(j2,crop\_ann30,w)\right) \cdot fm\_bii\_coeff("crop\_per",potnatveg) \cdot fm\_luh2\_side\_layers(j2,potnatveg) \end{multline*}\]
First, all 2nd generation bioenergy area is fixed to zero, irrespective of type and rainfed/irrigation.
vm_area.fx(j,kbe30,w)=0;
Second, the bounds for 2nd generation bioenergy area are released depending on the dynamic sets bioen_type_30 and bioen_water_30.
vm_area.up(j,bioen_type_30,bioen_water_30)=Inf;
Minimum semi-natural vegetation (SNV) share is fading in after 2020
p30_avl_cropland(t,j) = f30_avl_cropland(j,"%c30_marginal_land%") *
(1 - f30_scenario_fader(t,"%c30_snv_target%") *
(s30_snv_shr * sum(cell(i,j), p30_region_snv_shr(i))
+ s30_snv_shr_noselect * sum(cell(i,j), 1-p30_region_snv_shr(i))));
Limitations There are currently no known limitations of this realization.
The endo_apr21 realization calculates the crop specific agricultural land use endogenously based on yield data coming from the module 14_yields and the rotational incentives as well as suitability constraints stated in the input data of the module.
Cropland areas are linked to the crop specific production and the carbon content of the different land carbon pools. The crop specific land use areas are also used in 18_residues, 38_factor_costs, 41_area_equipped_for_irrigation, 42_water_demand, 50_nr_soil_budget, 53_methane and 59_som. This module realization allows for different scenarios of rotational constraints which are implemented via penalty payments if constraints are exceeded. Rotational constraints are defined for total land as well as for irrigated areas only to avoid overspecialization on irrigated land. This realisation also includes the option to reserve a minimum semi-natural vegetation share within the total available cropland for other land cover classes, including grassland, forest, and other land (by a given target year), in order to provide species habitats and to benefit from ecosystem ervices in agricultural landscapes.
The total land requirements for cropland are calculated as the sum of crop and water supply type specific land requirements. Fallow is no explicit landuse type, but the difference between land and harvested vm_area
\[\begin{multline*} \sum_{kcr,w} vm\_area(j2,kcr,w) + vm\_fallow(j2) = vm\_land(j2,"crop") \end{multline*}\]
We assume that crop production can only take place on suitable cropland area. We use a suitability index (SI) map from Zabel, Putzenlechner, and Mauser (2014) to exclude areas from cropland production that have a low suitability, e.g. due to steep slopes, to estimate the available cropland area. The cultivated area therefore has to be smaller than the available cropland area. Moreover, the available cropland can be reduced by constraining the cropland area in favour of other land types, in order to increase compositional heterogeneity of land types at the cell level.
\[\begin{multline*} vm\_land(j2,"crop") \leq \sum_{ct} p30\_avl\_cropland(ct,j2) \end{multline*}\]
Rotational constraints prevent over-specialization. In this module realization, they are implemented via a penalty payment if the constraints are violated.
\[\begin{multline*} vm\_rotation\_penalty(i2) \geq \sum_{cell(i2,j2)}\left( \sum_{rota30}\left( v30\_penalty(j2,rota30) \cdot \sum_{ct} i30\_rotation\_incentives(ct,rota30)\right) + \sum_{rotamax\_red30}\left( v30\_penalty\_max\_irrig(j2,rotamax\_red30) \cdot \sum_{ct} i30\_rotation\_incentives(ct,rotamax\_red30)\right) \right) \end{multline*}\]
The penalty applies to the areas which exceed a certain maximum share of the land. Below this share, negative benefits are avoided by defining the penalty to be positive.
\[\begin{multline*} v30\_penalty(j2,rotamax\_red30) \geq \sum_{rota\_kcr30(rotamax\_red30,kcr),w}vm\_area(j2,kcr,w) - vm\_land(j2,"crop") \cdot f30\_rotation\_rules(rotamax\_red30) \end{multline*}\]
Minimum constraints apply penalties when a certain mimimum share of a group is not achieved. This is used to guarantee a minimum crop group diversity withing cells.
\[\begin{multline*} v30\_penalty(j2,rotamin\_red30) \geq vm\_land(j2,"crop") \cdot f30\_rotation\_rules(rotamin\_red30) - \sum_{rota\_kcr30(rotamin\_red30,kcr),w} vm\_area(j2,kcr,w) \end{multline*}\]
The following maximum constraint avoids over-specialization in irrigated systems. No minimum constraint is included for irrigated areas for computational reasons. Minimum constraints just need to be met on total areas.
\[\begin{multline*} v30\_penalty\_max\_irrig(j2,rotamax\_red30) \geq \sum_{rota\_kcr30(rotamax\_red30,kcr)} vm\_area(j2,kcr,"irrigated") - vm\_AEI(j2) \cdot f30\_rotation\_rules(rotamax\_red30) \end{multline*}\]
Agricultural production is calculated by multiplying the area under production with corresponding yields. Production from rainfed and irrigated areas is summed up:
\[\begin{multline*} vm\_prod(j2,kcr) = \sum_{w}\left( vm\_area(j2,kcr,w) \cdot vm\_yld(j2,kcr,w)\right) \end{multline*}\]
The carbon content of the above ground carbon pools are calculated as a total for all cropland :
\[\begin{multline*} vm\_carbon\_stock(j2,"crop",ag\_pools,stockType) = m\_carbon\_stock(vm\_land,fm\_carbon\_density,"crop") \end{multline*}\]
The biodiversity value for cropland is calculated separately for annual and perennial crops:
\[\begin{multline*} vm\_bv(j2,"crop\_ann",potnatveg) = \sum_{crop\_ann30,w} vm\_area(j2,crop\_ann30,w) \cdot fm\_bii\_coeff("crop\_ann",potnatveg) \cdot fm\_luh2\_side\_layers(j2,potnatveg) \end{multline*}\]
perennial crops are calculated as difference, as they shall also include fallow land
\[\begin{multline*} vm\_bv(j2,"crop\_per",potnatveg) = \left(vm\_land(j2,"crop") - \sum_{crop\_ann30,w} vm\_area(j2,crop\_ann30,w)\right) \cdot fm\_bii\_coeff("crop\_per",potnatveg) \cdot fm\_luh2\_side\_layers(j2,potnatveg) \end{multline*}\]
First, all 2nd generation bioenergy area is fixed to zero, irrespective of type and rainfed/irrigation.
vm_area.fx(j,kbe30,w)=0;
Second, the bounds for 2nd generation bioenergy area are released depending on the dynamic sets bioen_type_30 and bioen_water_30.
vm_area.up(j,bioen_type_30,bioen_water_30)=Inf;
Minimum semi-natural vegetation (SNV) share is fading in after 2020
p30_avl_cropland(t,j) = f30_avl_cropland(j,"%c30_marginal_land%") *
(1 - f30_scenario_fader(t,"%c30_snv_target%") *
(s30_snv_shr * sum(cell(i,j), p30_region_snv_shr(i))
+ s30_snv_shr_noselect * sum(cell(i,j), 1-p30_region_snv_shr(i))));
Limitations There are currently no known limitations of this realization.
The rotation_apr21 realization calculates the crop specific agricultural land use endogenously based on yield data coming from the module 14_yields and the rotational as well as suitability constraints stated in the input data of the module.
Cropland areas are linked to the crop specific production and the carbon content of the different land carbon pools. The crop specific land use areas are also used in 18_residues, 38_factor_costs, 41_area_equipped_for_irrigation, 42_water_demand, 50_nr_soil_budget, 53_methane and 59_som. This module realization allows for different scenarios of rotational constraints. These are implemented as hard constraints. Maximum rotational constraints are defined for total cropland as well as for irrigated areas only to avoid overspecialization on irrigated land. Minimum constraints are just valid for total cropland areas. This realisation also includes the option to reserve a minimum semi-natural vegetation share within the total available cropland for other land cover classes, including grassland, forest, and other land (by a given target year), in order to provide species habitats and to benefit from ecosystem ervices in agricultural landscapes.
The total land requirements for cropland are calculated as the sum of crop and water supply type specific land requirements:
\[\begin{multline*} \sum_{kcr,w} vm\_area(j2,kcr,w) = vm\_land(j2,"crop") + vm\_fallow(j2) \end{multline*}\]
We assume that crop production can only take place on suitable cropland area. We use a suitability index (SI) map from Zabel, Putzenlechner, and Mauser (2014) to exclude areas from cropland production that have a low suitability, e.g. due to steep slopes, to estimate the available cropland area. The cultivated area therefore has to be smaller than the available cropland area. Moreover, the available cropland can be reduced by constraining the cropland area in favour of other land types, in order to increase compositional heterogeneity of land types at the cell level.
\[\begin{multline*} vm\_land(j2,"crop") \leq \sum_{ct} p30\_avl\_cropland(ct,j2) \end{multline*}\]
As additional constraints minimum and maximum rotational constraints limit the placing of crops. On the one hand, these rotational constraints reflect crop rotations limiting the share a specific crop can cover of the total area of a cluster:
\[\begin{multline*} \sum_{rotamax\_kcr30(rotamax\_red30,kcr),w} vm\_area(j2,kcr,w) \leq vm\_land(j2,"crop") \cdot \sum_{ct}i30\_rotation\_max\_shr(ct,rotamax\_red30) \end{multline*}\]
\[\begin{multline*} \sum_{rotamin\_kcr30(rotamin\_red30,kcr),w} vm\_area(j2,kcr,w) \geq vm\_land(j2,"crop") \cdot \sum_{ct}i30\_rotation\_min\_shr(ct,rotamin\_red30) \end{multline*}\]
\[\begin{multline*} \sum_{rotamax\_kcr30(rotamax\_red30,kcr)} vm\_area(j2,kcr,"irrigated") \leq vm\_AEI(j2) \cdot \sum_{ct}i30\_rotation\_max\_shr(ct,rotamax\_red30) \end{multline*}\]
Agricultural production is calculated by multiplying the area under production with corresponding yields. Production from rainfed and irrigated areas is summed up:
\[\begin{multline*} vm\_prod(j2,kcr) = \sum_{w}\left( vm\_area(j2,kcr,w) \cdot vm\_yld(j2,kcr,w)\right) \end{multline*}\]
The carbon content of the above ground carbon pools are calculated as a total for all cropland :
\[\begin{multline*} vm\_carbon\_stock(j2,"crop",ag\_pools,stockType) = m\_carbon\_stock(vm\_land,fm\_carbon\_density,"crop") \end{multline*}\]
The biodiversity value for cropland is calculated separately for annual and perennial crops:
\[\begin{multline*} vm\_bv(j2,"crop\_ann",potnatveg) = \sum_{crop\_ann30,w} vm\_area(j2,crop\_ann30,w) \cdot fm\_bii\_coeff("crop\_ann",potnatveg) \cdot fm\_luh2\_side\_layers(j2,potnatveg) \end{multline*}\]
\[\begin{multline*} vm\_bv(j2,"crop\_per",potnatveg) = \left(vm\_land(j2,"crop") - \sum_{crop\_ann30,w} vm\_area(j2,crop\_ann30,w)\right) \cdot fm\_bii\_coeff("crop\_per",potnatveg) \cdot fm\_luh2\_side\_layers(j2,potnatveg) \end{multline*}\]
First, all 2nd generation bioenergy area is fixed to zero, irrespective of type and rainfed/irrigation.
vm_area.fx(j,kbe30,w)=0;
Second, the bounds for 2nd generation bioenergy area are released depending on the dynamic sets bioen_type_30 and bioen_water_30.
vm_area.up(j,bioen_type_30,bioen_water_30)=Inf;
Minimum semi-natural vegetation (SNV) share is fading in after 2020
p30_avl_cropland(t,j) = f30_avl_cropland(j,"%c30_marginal_land%") *
(1 - f30_scenario_fader(t,"%c30_snv_target%") *
(s30_snv_shr * sum(cell(i,j), p30_region_snv_shr(i))
+ s30_snv_shr_noselect * sum(cell(i,j), 1-p30_region_snv_shr(i))));
Limitations There are currently no known limitations of this realization.
Description | Unit | A | B | C | |
---|---|---|---|---|---|
f30_avl_cropland (j, marginal_land30) |
Available land area for cropland | \(10^6 ha\) | x | x | x |
f30_avl_cropland_iso (iso, marginal_land30) |
Available land area for cropland at ISO level | \(10^6 ha\) | x | x | x |
f30_rotation_incentives (rota30, rotascen30) |
penalties for violating rotation rules | \(USD_{05MER}\) | x | ||
f30_rotation_max_shr (crp30) |
Maximum allowed area shares for each crop type | \(1\) | x | x | |
f30_rotation_min_shr (crp30) |
Minimum allowed area shares for each crop type | \(1\) | x | x | |
f30_rotation_rules (rota30) |
Rotation min or max shares | \(1\) | x | ||
f30_scenario_fader (t_all, policy_target30) |
Fader for cropland policies | \(unitless\) | x | x | x |
i30_avl_cropland_iso (iso) |
Available land area for cropland at ISO level | \(10^6 ha\) | x | x | x |
i30_rotation_incentives (t_all, rota30) |
Penalty for violating rotational constraints | \(USD_{05MER}/ha\) | x | ||
i30_rotation_max_shr (t_all, rotamax30) |
Maximum share of a certain crop group on cropland | \(ha/ha\) | x | ||
i30_rotation_min_shr (t_all, rotamin30) |
Minimum share of a certain crop group on cropland | \(ha/ha\) | x | ||
p30_avl_cropland (t, j) |
Total available land for crop cultivation | \(10^6 ha\) | x | x | x |
p30_country_dummy (iso) |
Dummy parameter indicating whether country is affected by selected SNV policy | \(1\) | x | x | x |
p30_region_snv_shr (i) |
SNV share of the region | \(1\) | x | x | x |
q30_avl_cropland (j) |
Available cropland constraint | \(10^6 ha\) | x | x | x |
q30_bv_ann (j, potnatveg) |
Biodiversity value of annual cropland | \(Mha\) | x | x | x |
q30_bv_per (j, potnatveg) |
Biodiversity value of perennial cropland | \(Mha\) | x | x | x |
q30_carbon (j, ag_pools, stockType) |
Cropland above ground carbon content calculation | \(10^6 tC\) | x | x | x |
q30_cropland (j) |
Total cropland calculation | \(10^6 ha\) | x | x | x |
q30_prod (j, kcr) |
Production of cropped products | \(10^6 tDM\) | x | x | x |
q30_rotation_max (j, crp30, w) |
Local maximum rotational constraints | \(10^6 ha\) | x | x | x |
q30_rotation_max_irrig (j, rotamax30) |
Local maximum rotational constraints | \(10^6 ha\) | x | x | |
q30_rotation_min (j, crp30, w) |
Local minimum rotational constraints | \(10^6 ha\) | x | x | x |
q30_rotation_penalty (i) |
Total penalty for rotational constraint violations | \(10^6 USD_{05MER}\) | x | ||
s30_snv_shr | Share of available cropland that is witheld for other land cover types | \(1\) | x | x | x |
s30_snv_shr_noselect | Share of available cropland that is witheld for other land cover types | \(1\) | x | x | x |
v30_penalty (j, rota30) |
Penalty for violating rotational constraints | \(10^6 USD_{05MER}\) | x | ||
v30_penalty_max_irrig (j, rotamax30) |
Penalty for violating max rotational constraints on irrigated land | \(10^6 USD_{05MER}\) | x |
description | |
---|---|
ag_pools(c_pools) | Above ground carbon pools |
bii_class44 | bii coefficent land cover classes |
bioen_type_30(kbe30) | dynamic set bioen type |
bioen_water_30(w) | dynamic set bioen water |
c_pools | Carbon pools |
cell(i, j) | number of LPJ cells per region i |
crop_ann30(kcr) | annual crops |
crop_per30(kcr) | perennial crops |
crp_kcr30(crp30, kcr) | Mapping of crop types into crop rotation types |
crp30 | Crop rotation types |
crpmax30(crp30) | Maximum crop rotation |
crpmin30(crp30) | Minimum crop rotation |
ct(t) | Current time period |
i | all economic regions |
i_to_iso(i, iso) | mapping regions to iso countries |
i2(i) | World regions (dynamic set) |
iso | list of iso countries |
j | number of LPJ cells |
j2(j) | Spatial Clusters (dynamic set) |
k(kall) | Primary products |
kbe30(kcr) | bio energy activities |
kcr(kve) | Cropping activities |
kve(k) | Land-use activities |
land | Land pools |
landcover44 | land cover classes used in bii calculation |
luh2_side_layers10 | side layers from LUH2 |
marginal_land30 | Marginal land scenarios |
policy_countries30(iso) | countries to be affected by SNV policy |
policy_target30 | Target year for cropland policy |
potnatveg(luh2_side_layers10) | potentially forested biomes |
rota_kcr30(rota30, kcr) | Mapping of crop types into crop rotation types |
rota30 | rotational rules |
rotamax_kcr30(rotamax30, kcr) | Mapping of crop types into crop rotation types |
rotamax_red30(rotamax30) | Maximum crop rotation reduced set |
rotamax30(rota30) | rotational maximum rules |
rotamin_kcr30(rotamin30, kcr) | Mapping of crop types into crop rotation types |
rotamin_red30(rotamin30) | Minimum crop rotation reduced set |
rotamin30(rota30) | rotational minimum rules |
rotascen30 | rotation constraint scenarios |
stockType | Carbon stock types |
t_all(t_ext) | 5-year time periods |
t_past(t_all) | Timesteps with observed data |
t(t_all) | Simulated time periods |
type | GAMS variable attribute used for the output |
w | Water supply type |
Jan Philipp Dietrich, Florian Humpenöder, Benjamin Bodirsky
10_land, 11_costs, 14_yields, 17_production, 18_residues, 41_area_equipped_for_irrigation, 42_water_demand, 44_biodiversity, 50_nr_soil_budget, 52_carbon, 53_methane, 56_ghg_policy, 59_som
Zabel, Florian, Birgitta Putzenlechner, and Wolfram Mauser. 2014. “Global Agricultural Land Resources A High Resolution Suitability Evaluation and Its Perspectives Until 2100 Under Climate Change Conditions.” PLOS ONE 9 (9): e107522. https://doi.org/10.1371/journal.pone.0107522.