The module 71_disagg_lvst calculates the livestock distribution within a region onto cellular level. Without constrains in this module cellular livestock production is determined by the modules 40_transport accounting for transport costs and module 42_water_demand connecting livestock production to water demand and thus to water availability.
Description | Unit | A | B | |
---|---|---|---|---|
fm_feed_balanceflow (t_all, i, kap, kall) |
Balanceflow balance difference between estimated feed baskets and FAO | \(10^6 tDM\) | x | |
im_feed_baskets (t_all, i, kap, kall) |
Feed baskets in tDM per tDM livestock product | \(1\) | x | |
pcm_land (j, land) |
Land area in previous time step | \(10^6 ha\) | x | |
pm_land_start (j, land) |
Land initialization area | \(10^6 ha\) | x | |
vm_prod (j, k) |
Production in each cell | \(10^6 tDM/yr\) | x | |
vm_prod_reg (i, kall) |
Regional aggregated production | \(10^6 tDM/yr\) | x |
The foragebased_aug18 realization constrains the cellular ruminant livestock production by the feed availability for grazed pasture and fodder crops. This accounts for the fact that pasture and fodder (summarized with forage) feed stuff is usually not transported over long distances and at the same time is very essential in livestock diets. The monogastric livestock is distributed following the idea that these animals are held close to densely populated areas. For more detailed information on cellular livestock distribution see Robinson et al. (2014), which inspired this realization.
Ruminant livestock production within a cell is determined by the production of the non-transportable feed items grazed pasture and fodder. These must be larger than the ruminant feed requirements that are given by the product of ruminant production and the respective feed baskets:
\[\begin{multline*} vm\_prod(j2,kforage) \geq \sum_{kli\_rum}\left( v71\_prod\_rum(j2,kli\_rum,kforage) \cdot \sum_{ct,cell(i2,j2),kforage2}im\_feed\_baskets(ct,i2,kli\_rum,kforage2) \cdot \left(1 + v71\_feed\_balanceflow(j2,kli\_rum,kforage)\$\left(s71\_lp\_fix=0\right)\right) + v71\_feed\_balanceflow(j2,kli\_rum,kforage)\$\left(s71\_lp\_fix=1\right)\right) \end{multline*}\]
The above equation contains a split of pasture and fodder fed ruminants, since we assume that depending on the intensity level of the livestock production, ruminants will graze on pastures (extensive systems) or will be fed via harvested fodder crops (intensive systems).
Please note that s71_lp_fix
is set to zero (for more information please look into the source code).
The balance flow for pasture and fodder (summarized with forage) production, accounts as in 70_livestock q70_feed(i2,kap,kall)
for inconsistencies with the FAO inventory of national feed use.
In each cluster the balance flow is constrained by its share of livestock production regarding the regional level by
\[\begin{multline*} v71\_feed\_balanceflow(j2,kli\_rum,kforage) = \sum_{ct,cell(i2,j2)}\left(\frac{fm\_feed\_balanceflow(ct,i2,kli\_rum,kforage) }{\left(im\_feed\_baskets(ct,i2,kli\_rum,kforage) \cdot vm\_prod\_reg(i2,kli\_rum) + 10^{\left(-6\right)}\right)}\right) \end{multline*}\]
Note that \(10^{-6}\) is required to avoid division by zero.
The regional ruminant production is then given by
\[\begin{multline*} vm\_prod(j2,kli\_rum) = \sum_{kforage}v71\_prod\_rum(j2,kli\_rum,kforage) \end{multline*}\]
To account for the above mentioned fact that monogastric livestock are held close to the population, it is distributed based on urban area by the formula
\[\begin{multline*} vm\_prod(j2,kli\_mon) = i71\_urban\_area\_share(j2) \cdot \sum_{cell(i2,j2)}vm\_prod\_reg(i2,kli\_mon) \end{multline*}\]
Limitations Distribution of monogastrics do not account for feed availability within a cell. Crop residue feed stuff for ruminant production is also not considered to restrict livestock production.
The off realization does not account for any further restriction of the livestock distribution.
Limitations This realization underestimates real world drivers for livestock distribution.
Description | Unit | A | B | |
---|---|---|---|---|
i71_urban_area_share (j) |
Share of urban area within a region | \(1\) | x | |
q71_balanceflow_constraint_lp (i, kli_rum, kforage) |
Linear balanceflow constraint for cellular forage feed product | \(10^6 tDM/yr\) | x | |
q71_balanceflow_constraint_nlp (j, kli_rum, kforage) |
Nonlinear balanceflow constraint for cellular forage feed products | \(10^6 tDM/yr\) | x | |
q71_feed_rum_liv (j, kforage) |
Production constraint for ruminant livestock products | \(10^6 tDM/yr\) | x | |
q71_prod_mon_liv (j, kli_mon) |
Production constraint for monogastrics livestock products | \(10^6 tDM/yr\) | x | |
q71_sum_rum_liv (j, kli_rum) |
Total production of forage fed ruminants | \(10^6 tDM/yr\) | x | |
s71_lp_fix | Switch to fix equations to linear relation | \(Logical\) | x | |
v71_feed_balanceflow (j, kli_rum, kforage) |
Cellular feed balanceflow for forage feed for ruminant livestock | \(10^6 tDM/yr\) | x | |
v71_prod_rum (j, kli_rum, kforage) |
Production of forage fed ruminants within a cell | \(10^6 tDM/yr\) | x |
description | |
---|---|
cell(i, j) | Mapping between regions i and clusters j |
ct(t) | Current time period |
i | World regions |
i2(i) | World regions (dynamic set) |
j | Spatial clusters |
j2(j) | Spatial Clusters (dynamic set) |
k(kall) | Primary products |
kall | All products in the sectoral version |
kap(k) | Animal products |
kforage(k) | Forage feed categories |
kli_mon(kli) | Monogastric livestock |
kli_rum(kli) | Ruminant livestock |
kli(kap) | Livestock products |
land | Land pools |
t_all | 5-year time periods |
t(t_all) | Simulated time periods |
type | GAMS variable attribute used for the output |
Kristine Karstens, Benjamin Bodirsky
10_land, 17_production, 70_livestock, 71_disagg_lvst
Robinson, Timothy P., G. R. William Wint, Giulia Conchedda, Thomas P. Van Boeckel, Valentina Ercoli, Elisa Palamara, Giuseppina Cinardi, Laura D’Aietti, Simon I. Hay, and Marius Gilbert. 2014. “Mapping the Global Distribution of Livestock.” PLOS ONE 9 (5): e96084. https://doi.org/10.1371/journal.pone.0096084.