MAgPIE - An Open Source land-use modeling framework

4.7.2

created with goxygen 1.4.4

Processing (20_processing)

Description

The processing module calculates the quantity of secondary products that are generated through conversion of raw products (especially of primary plant agricultural commodities) in order to meet the demand for those secondary products.

Interfaces

Interfaces to other modules

Input

module inputs (A: substitution_may21)
  Description Unit A
fm_attributes
(attributes, kall)
Conversion factors - where X is ton N P K C DM WM or PJ GE \(X/tDM\) x
vm_dem_food
(i, kall)
Food demand \(10^6 tDM/yr\) x
vm_prod_reg
(i, kall)
Regional aggregated production \(10^6 tDM/yr\) x

Output

module outputs
  Description Unit
vm_cost_processing
(i)
Processing costs \(10^6 USD_{05MER}/yr\)
vm_dem_processing
(i, kall)
Demand for processing use \(10^6 tDM/yr\)
vm_processing_substitution_cost
(i)
Costs or benefits of substituting one product by another \(10^6 USD_{05MER}/yr\)
vm_secondary_overproduction
(i, kall, kpr)
Overproduction of secondary couple products \(10^6 tDM/yr\)

Realizations

(A) substitution_may21

The realization substitution_may21 excludes the calibration factors that are used in substitution_dec18 in order to reduce the substitution of oils by other oils.

The series of equations below show the aggregation of secondary products from non-cereals (through alcohol fermentation, single cell protein breeding, oil extracting, sugar refining or ethanol distilling processes), cereals (through milling process), and cotton (through ginning process). The need to have such multiple equations (i.e., separate equations for each process) is meant to replicate the structure of Commodity Balance Sheets in FAOSTAT (2016).

In the first equation, the demand for processing use is calculated by aggregating the demand for secondary (processed) products use by process type (other than milling and ginning in this equation case). The equation also calculates secondary products from non-cereals crops such as bio-energy crops and oil crops.

\[\begin{multline*} vm\_dem\_processing(i2,kpr) = \sum_{no\_milling\_ginning20}v20\_dem\_processing(i2,no\_milling\_ginning20,kpr) \end{multline*}\]

In the second equation, the demand for processed products by process type of milling of cereal crops is calculated. The equation applies only to secondary products from cereal crops which, among others, include maize, tropical and temperate cereals. Nevertheless, as in Commodity Balance Sheets of FAOSTAT (2016), cereal milling here is not counted as processing but derived from food use of cereals.

\[\begin{multline*} vm\_dem\_food(i2,kcereals20) = v20\_dem\_processing(i2,"milling",kcereals20) \end{multline*}\]

In the third equation, the demand for processing by process type v20_dem_processing of ginning of cotton is calculated. Likewise, the Commodity Balance Sheets in FAOSTAT (2016) do not account for processing of “seed cotton” into “cotton seed” and “cotton lint”. As MAgPIE only includes the product “cotton seed” and not “seed cotton”, the “cotton lint” is bound to the production of “cotton seed”.

\[\begin{multline*} vm\_prod\_reg(i2,"cottn\_pro") = v20\_dem\_processing(i2,"ginning","cottn\_pro") \end{multline*}\]

The fourth equation below describes the transformation of primary products into secondary products. The processing conversion factors (i20_processing_conversion_factors_cf) indicate how much secondary products can be derived from one unit of a specific primary product. The conversion factors are globally equal to avoid path-dependencies in future outlooks based on historical patterns. Historical differences in conversion efficiencies are instead considered using a static balanceflow. To avoid perfect substitutability between different primary commodities being transformed into the same secondary product (e.g. oil from sunflower or oil palm), we use share factor coefficients, i20_processing_shares, which indicate how much of the secondary products comes from which primary products. The parameter f20_processing_balanceflow accounts for differences in conversion efficiency among various countries whereas the conversion factors remain global. The v20_secondary_substitutes are used to avoid overproduction of couple products: for each couple product, there is one secondary product (usually the cheaper one) which can be substituted by other commodities (see also equations below). The secondary product overproduction vm_secondary_overproduction is used to move overproduction of secondary products into the waste category such that the demand balance is maintained (see also 16_demand).

\[\begin{multline*} \sum_{processing20}\left( v20\_dem\_processing(i2,processing20,kpr) \cdot \sum\left(ct,i20\_processing\_conversion\_factors(ct,processing20,ksd,kpr)\right)\right) = \left(vm\_prod\_reg(i2,ksd) - \sum_{ct}f20\_processing\_balanceflow(ct,i2,ksd)\right) \cdot \sum_{ct}i20\_processing\_shares(ct,i2,ksd,kpr) - v20\_secondary\_substitutes(i2,ksd,kpr) + vm\_secondary\_overproduction(i2,ksd,kpr) \end{multline*}\]

Oils from one crop can be substituted by different types of oils.

\[\begin{multline*} v20\_dem\_processing(i2,"substitutes","oils") \geq \sum_{kpr} v20\_secondary\_substitutes(i2,"oils",kpr) \end{multline*}\]

Molasses can be substituted by sugar,

\[\begin{multline*} v20\_dem\_processing(i2,"substitutes","sugar") \geq \sum_{kpr} v20\_secondary\_substitutes(i2,"molasses",kpr) \end{multline*}\]

Different types of primary oilcrops or oilcakes from different origins as well as distillers grains can be substituted for oilcakes and distillers grains based on their protein content.

\[\begin{multline*} \sum_{oilcake\_substitutes20}\left( v20\_dem\_processing(i2,"substitutes",oilcake\_substitutes20) \cdot fm\_attributes("nr",oilcake\_substitutes20) \right) \geq \sum_{kpr}\left( \left(v20\_secondary\_substitutes(i2,"distillers\_grain",kpr) + v20\_secondary\_substitutes(i2,"oilcakes",kpr) \right) \cdot fm\_attributes("nr",kpr)\right) \end{multline*}\]

Brans can be substituted by cereals of the same protein value.

\[\begin{multline*} \sum_{kcereals20}\left( v20\_dem\_processing(i2,"substitutes",kcereals20) \cdot fm\_attributes("nr",kcereals20)\right) \geq \sum_{kcereals20}\left( v20\_secondary\_substitutes(i2,"brans",kcereals20) \cdot fm\_attributes("nr","brans")\right) \end{multline*}\]

The seventh equation in this realization calculates the costs of processing (or converting) primary products to secondary products. As shown in the equation, the costs of processing (converting from primary to secondary products) depend on the type of the primary product (e.g. maize, sugar cane, cotton), the type of the process (e.g. milling, refining, ginning), and the type of secondary product (e.g. brans, sugar, fiber) product. The unit costs of processing, i20_processing_unitcosts, are specific for the different conversion routes and are collected, interpolated, and extrapolated from the related literature (e.g. Adanacioglu and Olgun (2011), Pikaar et al. (2018), Valco et al. (2016)) complemented with best educated guess by the module authors. Costs for single-cell protein production (scp) are handled differently because scp production with hydrogen as substrate has no land requirements, and thus would have no cost. All other scp production routes (mixed, methane, sugar and cellulose) have land requirements mapped to specific crops (f20_scp_processing_shares).

\[\begin{multline*} vm\_cost\_processing(i2) = \sum_{ksd,processing20,kpr}\left( v20\_dem\_processing(i2,processing20,kpr) \cdot \sum_{ct}i20\_processing\_conversion\_factors(ct,processing20,ksd,kpr) \cdot i20\_processing\_unitcosts(ksd,kpr)\right) + \left(vm\_prod\_reg(i2,"scp") \cdot \sum_{scptype}\left( \sum_{ct}\left( f20\_scp\_type\_shr\left(scptype,"\%c20\_scp\_type\%"\right)\right) \cdot f20\_scp\_unitcosts(scptype)\right)\right) \end{multline*}\]

Finally, we assume that any substitution of one product by another, diverging from our initial demand estimates, comes at a loss of utility. We assume a loss of utility in the magnitude of 200 USD to strongly disincentivize substitution. Moreover, to account for heterogeneity of different types of oil which are traded based on the assumption of homogeneity, we include a cost term for quality differences which make low-quality oils like palm oil more expensive and high quality oils cheaper. The magnitude of the quality adjustment is based on current price differences between different types of oils, standardized on the price of soybean oil.

\[\begin{multline*} vm\_processing\_substitution\_cost(i2) = \sum_{kpr}\left( v20\_dem\_processing(i2,"substitutes",kpr) \cdot 200 \right) + \sum_{ksd,processing20,kpr}\left( v20\_dem\_processing(i2,processing20,kpr) \cdot \sum_{ct}i20\_processing\_conversion\_factors(ct,processing20,ksd,kpr) \cdot f20\_quality\_cost(ksd,kpr)\right) \end{multline*}\]

Limitations There are no known limitations.

Definitions

Objects

module-internal objects (A: substitution_may21)
  Description Unit A
f20_processing_balanceflow
(t_all, i, ksd)
Processing balance flow \(10^6 tDM\) x
f20_processing_conversion_factors
(t_all, processing20, ksd, kpr)
Conversion factors of primary products into secondary products \(1\) x
f20_processing_shares
(t_all, i, ksd, kpr)
Shares of secondary products coming from a primary product \(1\) x
f20_processing_unitcosts
(ksd, kpr)
Costs of transforming x units kpr into 1 unit ksd \(USD_{05MER}/tDM\) x
f20_quality_cost
(ksd, kpr)
Costs for difference in quality between secondary products from diverging origins \(USD/tDM\) x
f20_scp_processing_shares
(kpr, scen20)
Feedstock processing shares for SCP in different scenarios \(1\) x
f20_scp_type_shr
(scptype, scen20)
selected scenario values for scp type \(1\) x
f20_scp_unitcosts
(scptype)
Costs of production of one unit of SCP exclusive of feedstock costs \(USD/tDM\) x
i20_processing_conversion_factors
(t_all, processing20, ksd, kpr)
Conversion factors of primary products into secondary products \(1\) x
i20_processing_shares
(t_all, i, ksd, kpr)
Shares of secondary products coming from a primary product \(1\) x
i20_processing_unitcosts
(ksd, kpr)
Costs of transforming x units kpr into 1 unit ksd \(USD_{05MER}/tDM\) x
q20_processing
(i, kpr, ksd)
Processing equation \(10^6 tDM/yr\) x
q20_processing_aggregation_cereals
(i, kcereals20)
Connecting processing activity to food use for milling \(10^6 tDM/yr\) x
q20_processing_aggregation_cotton
(i)
Connecting processing activity to production for cotton ginning \(10^6 tDM/yr\) x
q20_processing_aggregation_nocereals
(i, kpr)
Connecting processing activity to processing flows \(10^6 tDM/yr\) x
q20_processing_costs
(i)
Processing costs \(10^6 USD_{05MER}/yr\) x
q20_processing_substitution_brans
(i)
Substitution of brans by cereals \(10^6 tNr/yr\) x
q20_processing_substitution_oils
(i)
Substitution of oils by other oils \(10^6 tDM/yr\) x
q20_processing_substitution_protein
(i)
Substitution of protein products by other protein products \(10^6 tNr/yr\) x
q20_processing_substitution_sugar
(i)
Substitution of molasses by sugar \(10^6 tDM/yr\) x
q20_substitution_utility_loss
(i)
Utility loss when one product has to be substituted by another \(10^6 t Nr/year\) x
v20_dem_processing
(i, processing_subst20, kpr)
Demand for processing use by process \(10^6 tDM/yr\) x
v20_secondary_substitutes
(i, ksd, kpr)
Substitutes for inferior secondary products \(10^6 tDM/yr\) x

Sets

sets in use
  description
attributes Product attributes characterizing a product (such as weight or energy content)
ct(t) Current time period
factors factors included in factor requirements
i all economic regions
i2(i) World regions (dynamic set)
kall All products in the sectoral version
kcereals20(kpr) Cereals used for processing
knpr(kall) Products that cannot be processed
kpr(kall) Products that can be processed
ksd(kall) Secondary products
no_milling_ginning20(processing_subst20) Processing activities without milling and ginning
oilcake_substitutes20(kpr) products that can be substituted for oilcakes
processing_subst20 Processing activities
processing20(processing_subst20) Processing activities except substitution
scen20 scenario of type of scp
scptype different types of scp
t_all(t_ext) 5-year time periods
t(t_all) Simulated time periods
type GAMS variable attribute used for the output

Authors

Benjamin Leon Bodirsky, Amsalu Woldie Yalew

See Also

11_costs, 15_food, 16_demand, 17_production

References

Adanacioglu, Hakan, and F. A. Olgun. 2011. “Profitability and Efficiency in the Cotton Ginning Industry: A Case Study from the Aegean Region of Turkey.” custoseagronegocioonline.
FAOSTAT. 2016. FAOSTAT Database.” Rome: The Food; Agriculture Organization of the United Nations (FAO). http://www.fao.org/faostat/en/.
Pikaar, I., S. Matassa, B. L. Bodirsky, I. Weindl, F. Humpenöder, K. Rabaey, N. Boon, et al. 2018. “Decoupling Livestock from Land Use Through Industrial Feed Production Pathways.” Environmental Science and Technology 52 (13): 7351–59. https://doi.org/10.1021/acs.est.8b00216.
Valco, T. D., H. Ashley, D. S. Findley, J. K. Green, R. A. Isom, and T. L. Price. 2016. “The Cost of Ginning Cotton - 2016 Survey Results.” National Cotton Ginners Association.