The natural vegetation (natveg) land module is one of the land modules in MAgPIE (see also the other land modules: 30_crop, 31_past, 32_forestry, 34_urban). It calculates land and carbon stocks, as well as the biodiversity value, of natural vegetation, which consists of primary forest, secondary forest and other natural land. The module considers land conservation and determines the availability of natural vegetation for land conversion.
Description | Unit | A | |
---|---|---|---|
fm_bii_coeff (bii_class44, potnatveg) |
Biodiversity Intactness Index coefficients | \(unitless\) | x |
fm_carbon_density (t_all, j, land, c_pools) |
LPJmL carbon density for land and carbon pools | \(tC/ha\) | x |
fm_luh2_side_layers (j, luh2_side_layers10) |
luh2 side layers | \(grid cell share\) | x |
im_plantedclass_ac (j, ac) |
Raw Distribution of ageclass in secondary forest as a proxy for planted forest | \(10^6 ha\) | x |
pcm_land (j, land) |
Land area in previous time step including possible changes after optimization | \(10^6 ha\) | x |
pm_carbon_density_ac (t_all, j, ac, ag_pools) |
Above ground natveg carbon density for age classes and carbon pools | \(tC/ha\) | x |
pm_land_conservation (t, j, land, consv_type) |
Land protection and restoration for all land types | \(10^6 ha\) | x |
pm_timber_yield (t, j, ac, forest_land) |
Forest growing stock | \(tDM/ha/yr\) | x |
sm_fix_SSP2 | year until which all parameters are fixed to SSP2 values | \(year\) | x |
sm_wood_density | Representative wood density based on IPCC | \(tDM/m3\) | x |
vm_bv (j, landcover44, potnatveg) |
Biodiversity stock for all land cover classes | \(Mha\) | x |
vm_carbon_stock (j, land, c_pools, stockType) |
Carbon stock in vegetation soil and litter for different land types | \(10^6 tC\) | x |
vm_land (j, land) |
Land area of the different land types | \(10^6 ha\) | x |
Description | Unit | |
---|---|---|
vm_cost_hvarea_natveg (i) |
Cost of harvesting natural vegetation | \(10^6 USD\) |
vm_landdiff_natveg | Aggregated difference in natveg land compared to previous timestep | \(10^6 ha\) |
vm_prod_natveg (j, land_natveg, kforestry) |
Production of woody biomass from natural vegetation | \(10^6 tDM/yr\) |
In the dynamic_feb21 realization, land and carbon stock dynamics of natural vegetation are modeled endogenously. The initial spatial distribution of the sub-land-types primary forest, secondary forest and other natural land is based on the LUH2 data set (Hurtt et al. 2018). This realization also includes national policies implemented (NPI) and nationally determined contributions to the Paris agreement (NDC) with regard to forest and other land protection. The NPI/NDC polices ramp up until 2030 and are assumed constant thereafter. NPI/NDC land conservation polices are applied on forest and other land, depending on individual country reports. The NPI/NDC policies are treated as minimum constraints and therefore are non-additive, if the land protection targets as provided by the module 22_land_conservation
and the interface pm_land_conservation
are larger. Additionally, this module includes forest damage and provides the ability to harvest natural vegetation for timber. Both wood and woodfuel can be produceed from primary and secondary forest but other land is only allowed to be harvested for woodfuel.
The interface vm_land
provides aggregated natveg land pools (ac
) to other modules.
\[\begin{multline*} vm\_land(j2,"secdforest") = \sum_{ac} v35\_secdforest(j2,ac) \end{multline*}\]
\[\begin{multline*} vm\_land(j2,"other") = \sum_{ac} v35\_other(j2,ac) \end{multline*}\]
The total natural land area cannot be smaller than the total natural land conservation target. Area requirements for natural land conservation are derived from WDPA and formulated based on conservation priority areas during future time steps.
\[\begin{multline*} \sum_{land\_natveg} vm\_land(j2,land\_natveg) \geq \sum_{ct,land\_natveg,consv\_type} pm\_land\_conservation(ct,j2,land\_natveg,consv\_type) \end{multline*}\]
Carbon stocks for primary forest, secondary forest or other natural land are calculated as the product of respective area and carbon density. Carbon stocks decline if the area decreases (e.g. due to cropland expansion into forests). In case of abandoned agricultural land (increase of other natural land), natural succession, represented by age-class growth, results in increasing carbon stocks.
\[\begin{multline*} vm\_carbon\_stock(j2,"primforest",ag\_pools,stockType) = m\_carbon\_stock(vm\_land,fm\_carbon\_density,"primforest") \end{multline*}\]
\[\begin{multline*} vm\_carbon\_stock(j2,"secdforest",ag\_pools,stockType) = m\_carbon\_stock\_ac(v35\_secdforest,pm\_carbon\_density\_ac,"ac","ac\_sub") \end{multline*}\]
\[\begin{multline*} vm\_carbon\_stock(j2,"other",ag\_pools,stockType) = m\_carbon\_stock\_ac(v35\_other,pm\_carbon\_density\_ac,"ac","ac\_sub") \end{multline*}\]
The biodiversity value (BV) of primary forest, secondary forest and other land is computed by multiplying their respective land area with bii coefficients, which depend on the age class and whether the potential natural vegetation forest or non-forest (luh2 side layers).
\[\begin{multline*} vm\_bv(j2,"primforest",potnatveg) = vm\_land(j2,"primforest") \cdot fm\_bii\_coeff("primary",potnatveg) \cdot fm\_luh2\_side\_layers(j2,potnatveg) \end{multline*}\]
\[\begin{multline*} vm\_bv(j2,"secdforest",potnatveg) = \sum_{bii\_class\_secd}\left( \sum\left(ac\_to\_bii\_class\_secd(ac,bii\_class\_secd), v35\_secdforest(j2,ac)\right) \cdot fm\_bii\_coeff(bii\_class\_secd,potnatveg)\right) \cdot fm\_luh2\_side\_layers(j2,potnatveg) \end{multline*}\]
\[\begin{multline*} vm\_bv(j2,"other",potnatveg) = \sum_{bii\_class\_secd}\left( \sum\left(ac\_to\_bii\_class\_secd(ac,bii\_class\_secd), v35\_other(j2,ac)\right) \cdot fm\_bii\_coeff(bii\_class\_secd,potnatveg)\right) \cdot fm\_luh2\_side\_layers(j2,potnatveg) \end{multline*}\]
NPI/NDC land protection policies based on country reports are implemented as minium forest and other land stocks. They are not interchangeable (as compared to the natural land conservation constraint) and specifically formulated for forest and other land stocks.
\[\begin{multline*} vm\_land(j2,"primforest") + vm\_land(j2,"secdforest") \geq \sum_{ct} p35\_min\_forest(ct,j2) \end{multline*}\]
\[\begin{multline*} vm\_land(j2,"other") \geq \sum_{ct} p35\_min\_other(ct,j2) \end{multline*}\]
The following technical calculations are needed for reducing differences in land-use patterns between time steps. The gross change in natural vegetation is calculated based on land expansion and land contraction of other land, and land reduction of primary and secondary forest. This information is then passed to the land module (10_land):
\[\begin{multline*} vm\_landdiff\_natveg = \sum_{j2}\left( v35\_other\_expansion(j2) + \sum_{ac\_sub} v35\_other\_reduction(j2,ac\_sub) + v35\_secdforest\_expansion(j2) + \sum_{ac\_sub} v35\_secdforest\_reduction(j2,ac\_sub) + v35\_primforest\_reduction(j2)\right) \end{multline*}\]
\[\begin{multline*} v35\_other\_expansion(j2) = \sum_{ac\_est} v35\_other(j2,ac\_est) \end{multline*}\]
\[\begin{multline*} v35\_other\_reduction(j2,ac\_sub) = pc35\_other(j2,ac\_sub) - v35\_other(j2,ac\_sub) \end{multline*}\]
\[\begin{multline*} v35\_secdforest\_expansion(j2) = \sum_{ac\_est} v35\_secdforest(j2,ac\_est) \end{multline*}\]
\[\begin{multline*} v35\_secdforest\_reduction(j2,ac\_sub) = pc35\_secdforest(j2,ac\_sub) - v35\_secdforest(j2,ac\_sub) \end{multline*}\]
\[\begin{multline*} v35\_primforest\_reduction(j2) = pcm\_land(j2,"primforest") - vm\_land(j2,"primforest") \end{multline*}\]
For natural forest, per-hectare harvesting costs are positive to make sure that older forest with higher growing stock is preferred over younger forest. To mimic the difficulties in accessing primary forest, per-hectare harvesting costs for primary forest are higher than for secondary forest. Harvesting costs are paid everytime natural vegetation is harvested. The “real” harvested area are received from the timber module 73_timber.
\[\begin{multline*} vm\_cost\_hvarea\_natveg(i2) = \sum_{ct,cell(i2,j2),ac\_sub} v35\_hvarea\_secdforest(j2,ac\_sub) \cdot s35\_timber\_harvest\_cost\_secdforest + \sum_{ct,cell(i2,j2),ac\_sub}\left( v35\_hvarea\_other\left(j2, ac\_sub\right)\right) \cdot s35\_timber\_harvest\_cost\_other + \sum_{ct,cell(i2,j2)} v35\_hvarea\_primforest(j2) \cdot s35\_timber\_harvest\_cost\_primforest \end{multline*}\]
Woody biomass production from secondary forests is calculated by multiplying the area under production with corresponding yields of secondary forests, divided by the timestep length.
\[\begin{multline*} \sum_{kforestry} vm\_prod\_natveg(j2,"secdforest",kforestry) = \frac{ \sum_{ac\_sub}\left( v35\_hvarea\_secdforest(j2,ac\_sub) \cdot \sum\left(ct,pm\_timber\_yield(ct,j2,ac\_sub,"secdforest")\right)\right) }{ m\_timestep\_length\_forestry} \end{multline*}\]
Woody biomass production from primary forests is calculated by multiplying the area under production with corresponding yields of primary forests, divided by the timestep length.
\[\begin{multline*} \sum_{kforestry} vm\_prod\_natveg(j2,"primforest",kforestry) = v35\_hvarea\_primforest(j2) \cdot \frac{ \sum_{ct} pm\_timber\_yield(ct,j2,"acx","primforest") }{ m\_timestep\_length\_forestry} \end{multline*}\]
Wood-fuel production from other land is calculated by multiplying the area under production with corresponding yields of other land, divided by the timestep length. Wood production from other landis not allowed.
\[\begin{multline*} vm\_prod\_natveg(j2,"other","woodfuel") = \frac{ \sum_{ac\_sub}\left( v35\_hvarea\_other(j2,ac\_sub) \cdot \sum\left(ct, pm\_timber\_yield(ct,j2,ac\_sub,"other")\right)\right) }{ m\_timestep\_length\_forestry } \end{multline*}\]
Following equations show the harvested area from natural vegetation i.e. primary forests, secondary forests and other land. Important to note here that no wood production should be realized from other land. Harvested area for production purposes can be lower oe equal than land reduction in natural vegetation as not all lost area is (or should be) used for production.
\[\begin{multline*} v35\_hvarea\_secdforest(j2,ac\_sub) \leq v35\_secdforest\_reduction(j2,ac\_sub) \end{multline*}\]
\[\begin{multline*} v35\_hvarea\_primforest(j2) \leq v35\_primforest\_reduction(j2) \end{multline*}\]
\[\begin{multline*} v35\_hvarea\_other(j2,ac\_sub) \leq v35\_other\_reduction(j2,ac\_sub) \end{multline*}\]
Harvested secondary forest is still considered secondary forests due to restrictive NPI definitions. Also primary forest harvested will be considered to be secondary forest i.e., harvested primary forest gets reclassified as secondary forest and ends up in the youngest age-class (and follows regrowth)
\[\begin{multline*} \sum_{ac\_est} v35\_secdforest(j2,ac\_est) = \sum_{ac\_sub}v35\_hvarea\_secdforest(j2,ac\_sub) + v35\_hvarea\_primforest(j2) + p35\_land\_restoration(j2,"secdforest") \end{multline*}\]
Harvested other land is still considered other land
\[\begin{multline*} \sum_{ac\_est} v35\_other(j2,ac\_est) \geq \sum_{ac\_sub}v35\_hvarea\_other(j2,ac\_sub) \end{multline*}\]
The following two constraints distribute additions to secdforest and other land over ac_est, which depends on the time step length (e.g. ac0 and ac5 for a 10 year time step).
\[\begin{multline*} v35\_secdforest(j2,ac\_est) = \frac{ \sum_{ac\_est2} v35\_secdforest(j2,ac\_est2)}{card(ac\_est2)} \end{multline*}\]
\[\begin{multline*} v35\_other(j2,ac\_est) = \frac{ \sum_{ac\_est2} v35\_other(j2,ac\_est2)}{card(ac\_est2)} \end{multline*}\]
If the vegetation carbon density in a simulation unit due to regrowth exceeds a threshold of 20 tC/ha the respective area is shifted from other natural land to secondary forest.
p35_recovered_forest(t,j,ac)$(not sameas(ac,"acx")) =
p35_other(t,j,ac)$(pm_carbon_density_ac(t,j,ac,"vegc") > 20);
p35_other(t,j,ac) = p35_other(t,j,ac) - p35_recovered_forest(t,j,ac);
p35_secdforest(t,j,ac) = p35_secdforest(t,j,ac) + p35_recovered_forest(t,j,ac);
Limitations Initialization of both primary and secondary forest in highest age class or equal distrivution of such areas in all age classes. Data exists on a more emperically obtained distribution in different age classes based on satellite data but this results is highly negative land-use change emissions. Inclusion of this data in MAgPIE remains work in progess and is not available for release yet. Additionally, in this module realization, harvested secondary forest stays secondary forest and harvested primary forest is reclassified as secondary forest.
Description | Unit | A | |
---|---|---|---|
f35_forest_disturbance_share (i) |
Share of area damanged by forest disturbances | \(1\) | x |
f35_forest_lost_share (i, driver_source) |
Share of area damanged by forest fires | \(1\) | x |
f35_forest_shock (t_all, shock_scen) |
Forest carbon shock scenarios | \(area share affected/year\) | x |
f35_gs_relativetarget (i) |
Relative growing stock target in each region | \(m3/ha\) | x |
f35_min_land_stock (t_all, j, pol35, pol_stock35) |
Avoided deforestation and land protection policies [minimum land stock] | \(Mha\) | x |
i35_other (j, ac) |
Initial other land | \(10^6 ha\) | x |
i35_plantedclass_ac (j, ac) |
Area of age-classes in secondary forest | \(1\) | x |
i35_secdforest (j, ac) |
Initial secdforest | \(10^6 ha\) | x |
p35_carbon_density_other (t, j, ac, ag_pools) |
Carbon density other land | \(tC/ha\) | x |
p35_carbon_density_secdforest (t, j, ac, ag_pools) |
Carbon density secdforest | \(tC/ha\) | x |
p35_damage_fader (t_all) |
Fader for forest damage | \(1\) | x |
p35_disturbance_loss_primf (t, j) |
Loss due to disturbances in primary forest | \(10^6 ha\) | x |
p35_disturbance_loss_secdf (t, j, ac) |
Loss due to disturbances in secondary forest | \(10^6 ha\) | x |
p35_land (t, j, land_natveg, ac) |
Natural vegetation area | \(10^6 ha\) | x |
p35_land_restoration (j, land_natveg) |
Actual secondary forest and other land restoration area | \(10^6 ha\) | x |
p35_land_start_ac (j, ac, land_natveg) |
Initial Natural vegetation area | \(10^6 ha\) | x |
p35_min_forest (t, j) |
Minimum forest and other stock based on NPI or NDC targets | \(10^6 ha\) | x |
p35_min_other (t, j) |
Minimum forest and other stock based on NPI or NDC targets | \(10^6 ha\) | x |
p35_other (t, j, ac) |
Other land per age class | \(10^6 ha\) | x |
p35_poulter_dist (j, ac) |
Share of age-classes in secondary forest | \(1\) | x |
p35_protection_dist (j, ac) |
Distribution of secondary forest protection | \(1\) | x |
p35_recovered_forest (t, j, ac) |
Recovered forest | \(10^6 ha\) | x |
p35_secdforest (t, j, ac) |
Secdforest per age class | \(10^6 ha\) | x |
p35_updated_gs_natfor (t, i) |
Updated growing stock in natural forests after calibration | \(m3/ha\) | x |
pc35_other (j, ac) |
Other land per age class in current time step | \(10^6 ha\) | x |
pc35_secdforest (j, ac) |
Secdforest per age class in current time step | \(10^6 ha\) | x |
q35_bv_other (j, potnatveg) |
Biodiversity value of other land | \(10^6 ha\) | x |
q35_bv_primforest (j, potnatveg) |
Biodiversity value of primary forest | \(10^6 ha\) | x |
q35_bv_secdforest (j, potnatveg) |
Biodiversity value of secondary forest | \(10^6 ha\) | x |
q35_carbon_other (j, ag_pools, stockType) |
Other land carbon stock calculation | \(10^6 tC\) | x |
q35_carbon_primforest (j, ag_pools, stockType) |
Primforest carbon stock calculation | \(10^6 tC\) | x |
q35_carbon_secdforest (j, ag_pools, stockType) |
Secdforest carbon stock calculation | \(10^6 tC\) | x |
q35_cost_hvarea (i) |
Cost of harvesting natural vegetation | \(10^6 USD\) | x |
q35_hvarea_other (j, ac) |
Harvested area other land | \(10^6 ha\) | x |
q35_hvarea_primforest (j) |
Harvested area primforest | \(10^6 ha\) | x |
q35_hvarea_secdforest (j, ac) |
Harvested area secdforest | \(10^6 ha\) | x |
q35_land_other (j) |
Other land pool calculation | \(10^6 ha\) | x |
q35_land_secdforest (j) |
Secdforest land pool calculation | \(10^6 ha\) | x |
q35_landdiff | Difference in natveg land | \(10^6 ha\) | x |
q35_min_forest (j) |
Minimum forest land constraint | \(10^6 ha\) | x |
q35_min_other (j) |
Minimum other land constraint | \(10^6 ha\) | x |
q35_natveg_conservation (j) |
Total natural vegetation conservation constraint | \(10^6 ha\) | x |
q35_other_est (j, ac) |
Distribution of other land additions over ac_est | \(10^6 ha\) | x |
q35_other_expansion (j) |
Other land expansion | \(10^6 ha\) | x |
q35_other_reduction (j, ac) |
Other land reduction | \(10^6 ha\) | x |
q35_other_regeneration (j) |
Other land remains other land | \(10^6 ha\) | x |
q35_primforest_reduction (j) |
Primforest reduction | \(10^6 ha\) | x |
q35_prod_other (j) |
Production of woody biomass from other land | \(10^6 tDM/yr\) | x |
q35_prod_primforest (j) |
Production of woody biomass from primary forests | \(10^6 tDM/yr\) | x |
q35_prod_secdforest (j) |
Production of woody biomass from secondary forests | \(10^6 tDM/yr\) | x |
q35_secdforest_est (j, ac) |
Distribution of secdforest additions over ac_est | \(10^6 ha\) | x |
q35_secdforest_expansion (j) |
Secdforest reduction | \(10^6 ha\) | x |
q35_secdforest_reduction (j, ac) |
Secdforest reduction | \(10^6 ha\) | x |
q35_secdforest_regeneration (j) |
Secondary forest remains secondary forest | \(10^6 ha\) | x |
s35_forest_damage | Damage simulation in forests | \(0=none 1=shifting agriculture 2= Damage from shifting agriculture is faded out by c35_forest_damage_end 4= f35_forest_shock scenario\) | x |
s35_forest_damage_end | Year of forest damage end | \(1\) | x |
s35_hvarea | Flag for harvested area | \(0=zero 1=exognous 2=endogneous\) | x |
s35_hvarea_other | annual other land harvest rate for s35_hvarea equals 1 | \(percent/year\) | x |
s35_hvarea_primforest | annual primforest harvest rate for s35_hvarea equals 1 | \(percent/year\) | x |
s35_hvarea_secdforest | annual secdforest harvest rate for s35_hvarea equals 1 | \(percent/year\) | x |
s35_natveg_harvest_shr | Constrains the allowed wood harvest from natural vegetation (1=unconstrained) | \(1\) | x |
s35_secdf_distribution | Flag for secdf initialization (0=all secondary forest in highest age class 1=Equal distribution among all age classes 2=Poulter distribution from MODIS satellite data) | \(1\) | x |
s35_shift | number of 5-year age-classes corresponding to current time step length | \(1\) | x |
s35_timber_harvest_cost_other | Cost for harvesting from other land | \(USD/ha\) | x |
s35_timber_harvest_cost_primforest | Cost for harvesting from primary forest | \(USD/ha\) | x |
s35_timber_harvest_cost_secdforest | Cost for harvesting from secondary forest | \(USD/ha\) | x |
v35_hvarea_other (j, ac) |
Harvested area from other land | \(10^6 ha\) | x |
v35_hvarea_primforest (j) |
Harvested area from primary forest | \(10^6 ha\) | x |
v35_hvarea_secdforest (j, ac) |
Harvested area from secondary forest | \(10^6 ha\) | x |
v35_other (j, ac) |
Detailed stock of other land | \(10^6 ha\) | x |
v35_other_expansion (j) |
Other land expansion compared to previous timestep | \(10^6 ha\) | x |
v35_other_reduction (j, ac) |
Other land reduction compared to previous timestep | \(10^6 ha\) | x |
v35_primforest_reduction (j) |
Primforest reduction compared to previous timestep | \(10^6 ha\) | x |
v35_secdforest (j, ac) |
Detailed stock of secdforest | \(10^6 ha\) | x |
v35_secdforest_expansion (j) |
Secdforest reduction compared to previous timestep | \(10^6 ha\) | x |
v35_secdforest_reduction (j, ac) |
Secdforest reduction compared to previous timestep | \(10^6 ha\) | x |
description | |
---|---|
ac | Age classes |
ac_est(ac) | Dynamic subset of age classes for establishment |
ac_planted(ac) | Young age classes which probably belong to managed forest |
ac_sub(ac) | Dynamic subset of age classes excluding establishment |
ac_to_bii_class_secd(ac, bii_class_secd) | Mapping between forest ageclasses and bii coefficent land cover classes |
ag_pools(c_pools) | Above ground carbon pools |
age | Population age groups |
bii_class_secd(bii_class44) | bii coefficent land cover classes secondary vegetation |
bii_class44 | bii coefficent land cover classes |
c_pools | Carbon pools |
cell(i, j) | number of LPJ cells per region i |
combined_loss(driver_source) | Combined loss from fire plus agriculture |
consv_type | Type of land conservation |
ct(t) | Current time period |
driver_source | Source of deforestation drivers |
forest_land(land) | land from which timber can be taken away |
i | all economic regions |
i2(i) | World regions (dynamic set) |
j | number of LPJ cells |
j2(j) | Spatial Clusters (dynamic set) |
kforestry(k) | forestry products |
land | Land pools |
land_natveg(forest_land) | Natural vegetation land pools |
landcover44 | land cover classes used in bii calculation |
luh2_side_layers10 | side layers from LUH2 |
pol_stock35 | Land types for land protection policies |
pol35 | Land protection policy |
potnatveg(luh2_side_layers10) | potentially forested biomes |
shock_scen | Scenario name of forest carbon shock |
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 |
Florian Humpenöder, Abhijeet Mishra, Patrick v. Jeetze
09_drivers, 10_land, 11_costs, 14_yields, 22_land_conservation, 29_ageclass, 44_biodiversity, 52_carbon, 56_ghg_policy, 73_timber