GCAM v5.4 Documentation: Demand for food, forestry, etc.

Documentation for GCAM
The Global Change Analysis Model

View the Project on GitHub JGCRI/gcam-doc

Demand for food, forestry, etc.

Table of Contents

Inputs to the Module

Table 1: Inputs required by the demand module 1

Name Resolution Unit Source
Historical demand for agriculture (used for calibration) By region, demand, commodity, and year Mt/yr Exogenous
Historical demand for livestock (used for calibration) By region, demand, commodity, and year Mt/yr Exogenous
Historical demand for forest (used for calibration) By region and year billion km3/yr Exogenous
Commodity prices By region, commodity, and year 1975$/kg or 1975$/m3 Marketplace
Income and price elasticity (for non-food, non-feed) By region, demand, and year unitless Exogenous
Scale parameter, self-price elasticity, cross-price elasticity, income elasticity, regional bias, price scaling parameters (for food demand) By region unitless Exogenous
Logit exponents By region and sector or subsector unitless Exogenous
GDP per capita By region and year thous 1990$ per person Economy module
Population By region and year thousand Economy module
1: Note that this table differs from the one provided on the Demand Inputs Page in that it lists all inputs to the land demand module, including information passed from other modules. Additionally, the units listed are the units GCAM requires, rather than the units the raw input data uses.


Food demand

Food demand is based on the approach documented in Edmonds et al. (2017).

Feed demand

Shares of feed are determined by a logit sharing approach, which depends on the relative costs of the different feed options. Demand for feed is determined by the scale of livestock demand and these feed shares

Non-food, non-feed demand

Non-food, non-feed demand, including forestry demand, is determined by price, income, and population size.


The equations that determine food, feed, and forest demand are described here.

Food demand

\[q = A * (x^{h(x)}) * (w_{self}^{e_{self}(x)}) * (w_{cross}^{e_{cross}(x)})\]

where \(A\) is a scale parameter, \(x\) is the income divided by price of materials, \(h(x)\) is the income elasticity, and \(w_i\) is the price of the food input divided by the price of materials times some scale factor, and \(e_i\) are price elasticities.

\(x^{h(x)}\) is calculated all together depending on the type of FoodDemandInput. See StaplesFoodDemandInput::calcIncomeTerm and NonStaplesFoodDemandInput::calcIncomeTerm in food_demand_input.cpp.

\(e_{self} = g_{self} - \alpha * f(x)\), \(e_{cross} = g_{cross} - \alpha_{cross} * f(x)\), where \(g_{self}\) is self price elasticity parameter, \(g_{cross}\) is the cross price elasticity, \(\alpha\) is the share of the total budget for the good, and \(f(x)\) is the derivative of the income term. See StaplesFoodDemandInput::getCrossPriceElasticity, NonStaplesFoodDemandInput::getCrossPriceElasticity, StaplesFoodDemandInput::calcIncomeTermDerivative, and NonStaplesFoodDemandInput::calcIncomeTermDerivative in food_demand_input.cpp.

See also food_demand_function.cpp

Non-food, non-feed demand

Per-capita non-food, non-feed demands (D) from time period t-1 to time period t.

\[D_t = D_{t-1} * (\frac{pcGDP_t}{pcGDP_{t-1}})^{\alpha^i_t} * (\frac{P_t}{P_{t-1}})^{\alpha^p_t}\]

where \(pcGDP\) is per-capita GDP, \(P\) is the commodity price, \(\alpha^i_t\) is the income elasticity in time \(t\) and \(\alpha^p_t\) is the price elasticity at time t

See calcDemand in minicam_price_elasticity_function.cpp.

Policy options

To be completed…

Insights and intuition

To be completed…

IAMC Reference Card

Agriculture and forestry demands


[Edmonds et al. (2017)] EDMONDS, J. A., R. LINK, S. T. WALDHOFF, and R. CUI, 2017: A GLOBAL FOOD DEMAND MODEL FOR THE ASSESSMENT OF COMPLEX HUMAN-EARTH SYSTEMS. Clim. Chang. Econ., 08, 1750012, https://doi.org/10.1142/S2010007817500129.