MAgPIE - An Open Source land-use modeling framework

4.6.3

created with goxygen 1.3.2

Disaggregation of livestock distribution (71_disagg_lvst)

Description

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.

Interfaces

Interfaces to other modules

Input

module inputs (A: foragebased_aug18 | B: off)
  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 including possible changes after optimization \(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

Output

module outputs
  Description Unit
vm_costs_additional_mon
(i)
Punishment cost for additionally transported monogastric livst_egg \(10^6 USD_{05MER}/yr\)

Realizations

(A) foragebased_aug18

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) \leq i71\_urban\_area\_share(j2) \cdot s71\_scale\_mon \cdot \sum_{cell(i2,j2)}vm\_prod\_reg(i2,kli\_mon) + v71\_additional\_mon(j2,kli\_mon) \end{multline*}\]

Note that s71_scale_mon relaxes the constraint (per default by 10%) and v71_additional_mon ensures feasability by punishing additonal monogastric production within a cluster. The punishmment of additional monogastric livestock production are calculated via

\[\begin{multline*} vm\_costs\_additional\_mon(i2) = \sum_{cell(i2,j2),kli\_mon} v71\_additional\_mon(j2,kli\_mon) \cdot s71\_punish\_additional\_mon \end{multline*}\]

Note that the punishment costs are based on transport costs and scaled up by one order of magnitude of the average transport costs to account for additional transport between clusters.

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.

(B) off

The off realization does not account for any further restriction of the livestock distribution.

Limitations This realization underestimates real world drivers for livestock distribution.

Definitions

Objects

module-internal objects (A: foragebased_aug18 | B: off)
  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 monogastric livestock products \(10^6 tDM/yr\) x
q71_punishment_mon
(i)
Punishment for additional monogastrics \(10^6 USD_{05MER}/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
s71_punish_additional_mon Scaling factor for transport punishment \(USD_{05MER}/tDM\) x
s71_scale_mon Scalar for flexible distribution of monogastrics \(1\) x
v71_additional_mon
(j, kli_mon)
Additional punished production of monogastric livestock \(10^6 tDM/yr\) 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

Sets

sets in use
  description
cell(i, j) number of LPJ cells per region i
ct(t) Current time period
i all economic regions
i2(i) World regions (dynamic set)
j number of LPJ cells
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(t_ext) 5-year time periods
t(t_all) Simulated time periods
type GAMS variable attribute used for the output

Authors

Kristine Karstens, Benjamin Bodirsky

See Also

10_land, 11_costs, 17_production, 70_livestock, 71_disagg_lvst

References

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.