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.
Description | Unit | A | B | |
---|---|---|---|---|
fm_attributes (attributes, kall) |
Conversion factors - where X is ton N P K C DM WM or PJ GE | \(X/tDM\) | x | |
sm_fix_SSP2 | year until which all parameters are fixed to SSP2 values | \(year\) | 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 | x |
Description | Unit | |
---|---|---|
vm_cost_processing (i) |
processing costs | \(10^6 USD_{05MER}/yr\) |
vm_dem_processing (i, kall) |
demand for processing use | \(10^6tDM\) |
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^6tDM\) |
This realization uses an arbitrary unit cost of processing which is too high for many of the processing types and secondary products. So doing is meant to discourage overproduction of secondary products. Despite these limitations, however, the implementation is very simple as it uses the same unit costs of processing for all second products (e.g. alcohol, ethanol, molasses, brans) and processing types (e.g. fermentation, ginning, milling, breeding).
The equation of this realization is straight forward. Costs of processing are calculated by the product of the quantity of secondary products and the unit processing costs and unit processing costs (which arbitrarily is set to be 5000 USD for all processing types and secondary products).
\[\begin{multline*} vm\_cost\_processing(i2) = \sum_{ksd}\left( vm\_prod\_reg(i2,ksd) \cdot 5000\right) \end{multline*}\]
Limitations There is no empirical ground to use the same unit costs of processing for all processing types and secondary products, and to impose constraint on over production of secondary products.
The series of equations below show the aggregation of secondary products from 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.
\[\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) \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 \left(f20\_quality\_cost(ksd,kpr)+f20\_calibration(ksd,kpr)\right)\right) \end{multline*}\]
Limitations There are no known limitations.
Description | Unit | A | B | |
---|---|---|---|---|
f20_calibration (ksd, kpr) |
Additional calibration costs to avoid substitution in historical period | \(USD05/tDM\) | x | |
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_conversionmatrix (kpr, scptype) |
Conversion matrix to derive tons of feedstock from tons of production | \(DM\) | x | |
f20_scp_type_shr (scptype, scen20) |
selected scenario values for scp type | \(1\) | 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 | |
i20_scp_conversion_factors (t_all, kpr) |
SCP conversion factors | \(1\) | x | |
i20_scp_type_shr (t_all, scptype) |
Share of SCP each type | \(1\) | 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^6USD_{05MER}\) | x | 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 |
description | |
---|---|
attributes | Product attributes characterizing a product (such as weight or energy content) |
ct(t) | Current time period |
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) | Plant-based 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 |
Benjamin Leon Bodirsky, Amsalu Woldie Yalew
11_costs, 15_food, 16_demand, 17_production
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–9. 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.