# Model Documentation

### | Version 4.0

created with goxygen 0.21.1

# 35_natveg

# Natural Vegetation (35_natveg)

## Description

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 of natural vegetation, which consists of primary forest, secondary forest and other natural land. The module determines the availability of natural vegetation for land conversion.

## Interfaces

Interfaces to other modules

### Input

module inputs (A: dynamic_may18 | B: static)
| Description | Unit | A | B
--- | --- | --- | --- | ---
fm_carbon_density (t_all, j, land, c_pools) | LPJmL carbon density for land and carbon pools | \(tC/ha\) | x | x
pcm_land (j, land) | Land area in previous time step | \(10^6 ha\) | x | x
pm_carbon_density_ac (t, j, ac, c_pools) | Carbon density for age classes and carbon pools | \(tC/ha\) | x |
pm_land_start (j, land) | Land initialization area | \(10^6 ha\) | x |
vm_carbon_stock (j, land, c_pools) | Carbon stock in vegetation soil and litter for different land types | \(10^6 tC\) | x | x
vm_land (j, land) | Land area of the different land types | \(10^6 ha\) | x | x

### Output

module outputs
| Description | Unit
--- | --- | ---
vm_landdiff_natveg | Aggregated difference in natveg land compared to previous timestep | \(10^6 ha\)

## Realizations

### (A) dynamic_may18

In the dynamic_may18 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, n.d.). The realization includes 2 different kinds of land protection. a) Land protection based on the World Database on Protected Areas (WDPA) maintained by the International Union for Conservation of Nature (IUCN) and b) land protection based on national policies implemented (NPI) and nationally determined contributions to the Paris agreement (NDC) taken from individual country reports. Land protection based on WDPA is static over time, while the NPI/NDC polices ramp up until 2030 and are assumed constant thereafter. For WDPA the level of land protection is based on IUCN catI+II, which reflect areas currently under protection (e.g. strict nature reserves and national parks), and distributed equally across all sub-land-types (primary forest, secondary forest and other natural land). On top of the IUCN catI+II land protection, there are options to protect different conservation priority areas such as biodiversity hotspots (BH), centers of plant diversity (CBD), frontier forests (FF) and last of the wild (LW). NPI/NDC land protection polices are be applied on forest and other land, depending on individual country reports.

The interface `vm_land` provides aggregated natveg land pools (`land35`) to other modules.

\[\begin{multline*} vm\_land(j2,"secdforest") = \sum_{land35} v35\_secdforest(j2,land35) \end{multline*}\] \[\begin{multline*} vm\_land(j2,"other") = \sum_{land35} v35\_other(j2,land35) \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",c\_pools) = vm\_land(j2,"primforest") \cdot \sum_{ct} fm\_carbon\_density(ct,j2,"primforest",c\_pools) \end{multline*}\] \[\begin{multline*} vm\_carbon\_stock(j2,"secdforest",c\_pools) = \sum_{land35}\left( v35\_secdforest(j2,land35) \cdot \sum\left(ct, p35\_carbon\_density\_secdforest(ct,j2,land35,c\_pools)\right)\right) \end{multline*}\] \[\begin{multline*} vm\_carbon\_stock(j2,"other",c\_pools) = \sum_{land35}\left( v35\_other(j2,land35) \cdot \sum\left(ct, p35\_carbon\_density\_other(ct,j2,land35,c\_pools)\right)\right) \end{multline*}\]

NPI/NDC land protection policies are implemented as minium forest land and other land stock.

\[\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,land35}\left( v35\_other\_expansion(j2,land35) + v35\_other\_reduction(j2,land35) + v35\_secdforest\_reduction(j2,land35) + v35\_primforest\_reduction(j2)\right) \end{multline*}\] \[\begin{multline*} v35\_other\_expansion(j2,land35) \geq v35\_other(j2,land35) - pc35\_other(j2,land35) \end{multline*}\] \[\begin{multline*} v35\_other\_reduction(j2,land35) \geq pc35\_other(j2,land35) - v35\_other(j2,land35) \end{multline*}\] \[\begin{multline*} v35\_secdforest\_reduction(j2,land35) \geq pc35\_secdforest(j2,land35) - v35\_secdforest(j2,land35) \end{multline*}\] \[\begin{multline*} v35\_primforest\_reduction(j2) \geq pcm\_land(j2,"primforest") - vm\_land(j2,"primforest") \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,"before")$(pm_carbon_density_ac(t,j,ac,"vegc") > 20);
    p35_other(t,j,ac,"before") = p35_other(t,j,ac,"before") - p35_recovered_forest(t,j,ac);
    p35_secdforest(t,j,ac,"before") =
                p35_secdforest(t,j,ac,"before") + p35_recovered_forest(t,j,ac);

> Limitations Wood harvest in natural forests is not accounted for.

### (B) static

In the static realization natural vegetation is constant over time with the spatial distribution of 1995 from the LUH2 data set (Hurtt, n.d.). Due to static land patterns also carbon stocks are static over time.

Carbon stocks for primary forest, secondary forest or other natural land are calculated as the product of respective area and carbon density.

    vm_carbon_stock.fx(j,"primforest",c_pools) =
              vm_land.l(j,"primforest")*fm_carbon_density(t,j,"primforest",c_pools);

    vm_carbon_stock.fx(j,"secdforest",c_pools) =
              vm_land.l(j,"secdforest")*fm_carbon_density(t,j,"secdforest",c_pools);

    vm_carbon_stock.fx(j,"other",c_pools) =
              vm_land.l(j,"other")*fm_carbon_density(t,j,"other",c_pools);

> Limitations Land and carbon stocks of natural vegetation are static over time.

## Definitions

### Objects

module-internal objects (A: dynamic_may18 | B: static)
| Description | Unit | A | B
--- | --- | --- | --- | ---
f35_min_land_stock (t_all, j, pol35, pol_stock35) | Land protection policies [minimum land stock] | \(Mha\) | x |
f35_protect_area (j, prot_type) | Conservation priority areas | \(10^6 ha\) | x |
i35_other (j, ac) | Inital other land | \(10^6 ha\) | x |
i35_secdforest (j, ac) | Inital secdforest | \(10^6 ha\) | x |
p35_carbon_density_other (t, j, land35, c_pools) | Carbon density other land | \(tC/ha\) | x |
p35_carbon_density_secdforest (t, j, land35, c_pools) | Carbon density secdforest | \(tC/ha\) | x |
p35_min_forest (t, j) | Minimum forest stock [land protection policies] | \(Mha\) | x |
p35_min_other (t, j) | Minimum other land stock [land protection policies] | \(Mha\) | x |
p35_other (t, j, ac, when) | Other land per age class before and after optimization | \(10^6 ha\) | x |
p35_protect_shr (t, j, prot_type) | Protection share for primforest secdforest and other land | \(1\) | x |
p35_recovered_forest (t, j, ac) | Recovered forest | \(10^6 ha\) | x |
p35_save_other (t, j) | Other land protection | \(10^6 ha\) | x |
p35_save_primforest (t, j) | Primforest protection | \(10^6 ha\) | x |
p35_save_secdforest (t, j) | Secdforest protection | \(10^6 ha\) | x |
p35_secdforest (t, j, ac, when) | Secdforest per age class before and after optimization | \(10^6 ha\) | x |
pc35_other (j, land35) | Other land per aggregated age class | \(10^6 ha\) | x |
pc35_secdforest (j, land35) | Secdforest per aggregated age class | \(10^6 ha\) | x |
q35_carbon_other (j, c_pools) | Other land carbon stock calculation | \(10^6 tC\) | x |
q35_carbon_primforest (j, c_pools) | Primforest carbon stock calculation | \(10^6 tC\) | x |
q35_carbon_secdforest (j, c_pools) | Secdforest carbon stock calculation | \(10^6 tC\) | x |
q35_landdiff | Difference in natveg land | \(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_min_forest (j) | Minimum forest land constraint | \(10^6 ha\) | x |
q35_min_other (j) | Minimum other land constraint | \(10^6 ha\) | x |
q35_other_expansion (j, land35) | Other land expansion | \(10^6 ha\) | x |
q35_other_reduction (j, land35) | Other land reduction | \(10^6 ha\) | x |
q35_primforest_reduction (j) | Primforest reduction | \(10^6 ha\) | x |
q35_secdforest_reduction (j, land35) | Secdforest reduction | \(10^6 ha\) | x |
s35_shift | number of 5-year age-classes corresponding to current time step length | \(1\) | x |
v35_other_expansion (j, land35) | Other land expansion compared to previous timestep | \(10^6 ha\) | x |
v35_other (j, land35) | Detailed stock of other land | \(10^6 ha\) | x | x
v35_other_reduction (j, land35) | 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, land35) | Detailed stock of secdforest | \(10^6 ha\) | x | x
v35_secdforest_reduction (j, land35) | Secdforest reduction compared to previous timestep | \(10^6 ha\) | x |

### Sets

sets in use
| description
--- | ---
c_pools | Carbon pools
land | Land pools
land35 | Natveg land pools
pol35 | Land protection policy
pol_stock35 | Land types for land protection policies
prot_type | Conservation priority areas
t_all | 5-year time periods
t(t_all) | Simulated time periods
when | Temporal location relative to optimization

## Authors

Florian Humpenöder

## See Also

10_land, 52_carbon

## References

Hurtt, L. Chini, G. n.d. “Harmonization of Global Land-Use Change and Management for the Period 850-2100.” Geoscientific Model Development.