MAgPIE - An Open Source land-use modeling framework

4.6.0

created with goxygen 1.3.1

Greenhouse gas policy (56_ghg_policy)

Description

The module 56_ghg_policy connects emissions to costs which then enter the objective function of MAgPIE. Connecting emissions with costs in a cost minimization model like MAgPIE creates an incentive to reduce emissions. This can be interpreted as an internalization of the external costs by pollution, e.g. by policies that deincentivize polluting activity. Technically, every ton of emission is multiplied with an emission price to determine emission costs. Emission sources can be excluded from pricing by switches defined in config/default.cfg. The module collects carbon stock information in the interface vm_carbon_stock from all land modules (30_crop, 31_past, 32_forestry, 34_urban and 35_natveg). Please note that emissions that occur only once (e.g. CO2 emissions from deforestation) are handled differently than emissions that occur in every timestep (e.g. CH4 and N2O emissions from agricultural production).

Interfaces

Interfaces to other modules

Input

module inputs (A: price_aug22)
  Description Unit A
fm_carbon_density
(t_all, j, land, c_pools)
LPJmL carbon density for land and carbon pools \(tC/ha\) x
im_development_state
(t_all, i)
Development state according to the World Bank definition where 0=low income country 1=high income country in high income level \(1\) x
im_pop_iso
(t_all, iso)
Population \(10^6/yr\) x
pcm_land
(j, land)
Land area in previous time step including possible changes after optimization \(10^6 ha\) x
pm_interest
(t_all, i)
Interest rate in each region and timestep \(\%/yr\) x
sm_fix_SSP2 year until which all parameters are fixed to SSP2 values \(year\) x
vm_cdr_aff
(j, ac, aff_effect)
Expected bgc (CDR) and local bph effects of afforestation depending on planning horizon \(10^6 tC\) x

Output

module outputs
  Description Unit
im_pollutant_prices
(t_all, i, pollutants, emis_source)
Certificate prices for N2O-N CH4 CO2-C used in the model \(USD_{05MER}/Mg\)
vm_carbon_stock
(j, land, c_pools, stockType)
Carbon stock in vegetation soil and litter for different land types \(10^6 tC\)
vm_emission_costs
(i)
Costs for emission rights for pollutants and greenhouse gases \(10^6 USD_{05MER}/yr\)
vm_emissions_reg
(i, emis_source, pollutants)
Regional emissions by source and gas after technical mitigation N CH4 C \(Tg/yr\)
vm_reward_cdr_aff
(i)
Regional average annual expected revenue from afforestation \(10^6 USD_{05MER}/yr\)

Realizations

(A) price_aug22

This realization applies pollutant prices to different emission types in Agriculture, Forestry and Other Land Use (AFOLU), depending on the GHG emission pricing policy defined in c56_emis_policy. CO2 emissions from Land Use, Land-Use Change and Forestry (LULUCF) are calculated based on carbon stock changes between timesteps in the interface vm_carbon_stock. Note that the CO2 emissions subject to pricing can differ from the actual CO2 emissions, depending on the choice of c56_carbon_stock_pricing. In addition, the average annual reward for carbon dioxide removal (CDR) and the reward or penalty of local biophysical effects from afforestation 32_forestry is calculated as the present value (PV) of all future cash flows multiplied with an annuity factor. The PV is obtained by multiplication of vm_cdr_aff with the corresponding carbon price and subsequent discouting based on the given discount rate pm_interest. Technically, the reward for CDR and bph effects from afforestation is a negative cash flow lowering the costs in the objective function of the model. If pollutant prices are zero, which is the default for reference scenarios without mitigation, total emission costs entering the objective function are zero.

GHG emissions for pricing can differ for CO2 emissions from land-use change depending on c56_carbon_stock_pricing. CO2 emission subject to emission pricing are calculated based on changes in carbon stocks between timesteps in the interface vm_carbon_stock, depending on c56_carbon_stock_pricing.

\[\begin{multline*} v56\_emis\_pricing(i2,emis\_annual,pollutants) = vm\_emissions\_reg(i2,emis\_annual,pollutants) \end{multline*}\]

\[\begin{multline*} v56\_emis\_pricing(i2,emis\_oneoff,"co2\_c") = \sum_{cell(i2,j2),emis\_land(emis\_oneoff,land,c\_pools)}\left(\frac{ \left(vm\_carbon\_stock.l(j2,land,c\_pools,"actual") - vm\_carbon\_stock\left(j2,land,c\_pools,"\%c56\_carbon\_stock\_pricing\%"\right)\right)}{m\_timestep\_length}\right) \end{multline*}\]

Emission costs are calculated by multiplying regional emissions with the emission price im_pollutant_prices, taking into account the price policy that was defined above in c56_emis_policy.

\[\begin{multline*} v56\_emission\_cost(i2,emis\_annual) = \sum_{pollutants}\left( v56\_emis\_pricing(i2,emis\_annual,pollutants) \cdot \sum\left(ct, im\_pollutant\_prices(ct,i2,pollutants,emis\_annual)\right)\right) \end{multline*}\]

As MAgPIE is a recursive dynamic model, within the optimization of the current time step it does not account for benefits or costs in future time steps. This can be problematic for the treatment of emissions that occur only once under continuous management (such as deforestation, where the forest has been cut down the cropland can be continuously cultivated without further deforestation emissions) versus emissions that occur continously (such as fertilization emissions, that will re-occur every year for continuously management). We therefore distinguish one-off and yearly emissions, and discount one-off emissions assuming an infinite time-horizon to level them with yearly emissions. Since one-off emissions in vm_emissions_reg and v56_emis_cell_pricing are expressed as annual emissions they are converted back into emissions of the entire timestep by multiplication with m_timestep_length, and are then transformed into annual costs by multiplication with the emission price (im_pollutant_prices) and an annuity (annuity due with infinite time horizon) factor that depends on pm_interest.

\[\begin{multline*} v56\_emission\_cost(i2,emis\_oneoff) = \sum_{pollutants}\left( v56\_emis\_pricing(i2,emis\_oneoff,pollutants) \cdot m\_timestep\_length \cdot \sum_{ct}\left( im\_pollutant\_prices(ct,i2,pollutants,emis\_oneoff) \cdot \frac{ pm\_interest(ct,i2)}{\left(1+pm\_interest(ct,i2)\right)}\right)\right) \end{multline*}\]

Total regional emission costs consist of costs from yearly and one-off emissions.

\[\begin{multline*} vm\_emission\_costs(i2) = \sum_{emis\_source} v56\_emission\_cost(i2,emis\_source) \end{multline*}\]

The value of CDR from C-price induced afforestation enters the objective function as negative costs. The reward, which serves as incentive for afforestation, is calculated in 3 steps: First, the sum of the expected CDR for each 5-year age-class and the carbon equivalent of local biophysical effects (vm_cdr_aff) are multiplied by the corresponding future C price (p56_c_price_aff). Second, these future cash flows are discounted to present value, depending on pm_interest. Third, an annuity factor (annuity due with infinite time horizon) is used to obtain average annual rewards

\[\begin{multline*} vm\_reward\_cdr\_aff(i2) = \sum_{cell(i2,j2)}\left( v56\_reward\_cdr\_aff(j2) \right) \end{multline*}\]

\[\begin{multline*} v56\_reward\_cdr\_aff(j2) = s56\_c\_price\_induced\_aff \cdot \sum_{ac}\left(\frac{ \left(\sum_{aff\_effect}\left(\left(1-s56\_buffer\_aff\right) \cdot vm\_cdr\_aff(j2,ac,aff\_effect)\right) \cdot \sum_{cell(i2,j2),ct} p56\_c\_price\_aff(ct,i2,ac)\right) }{ \left(\left(1+\sum_{cell(i2,j2),ct}pm\_interest(ct,i2)\right)^{\left(ac.off \cdot 5\right)}\right)}\right) \cdot \sum_{cell(i2,j2),ct}\left(\frac{pm\_interest(ct,i2)}{\left(1+pm\_interest(ct,i2)\right)}\right) \end{multline*}\]

Limitations There are no known limitations.

Definitions

Objects

module-internal objects (A: price_aug22)
  Description Unit A
f56_emis_policy
(scen56, pollutants_all, emis_source)
GHG emission policy scenarios \(1\) x
f56_pollutant_prices
(t_all, i, pollutants, ghgscen56)
GHG certificate prices for N2O-N CH4 CO2-C \(USD_{05MER}/t\) x
p56_c_price_aff
(t_all, i, ac)
C price used for afforestation decision-making \(USD_{05MER}/tC\) x
p56_country_dummy
(iso)
Dummy parameter indicating whether country is affected by selected GHG policy \(1\) x
p56_pollutant_prices_input
(t_all, i, pollutants, emis_source)
Certificate prices for N2O-N CH4 CO2-C from input files \(USD_{05MER}/Mg\) x
p56_region_price_shr
(t_all, i)
GHG price share of the region \(1\) x
pc56_c_price_induced_aff Helper for fixing C price driven afforestation to zero for historic time steps \(binary\) x
q56_emis_pricing
(i, pollutants, emis_source)
Calculation of annual CO2 emissions for pricing \(Tg/yr\) x
q56_emis_pricing_co2
(i, emis_oneoff)
Calculation of annual CO2 emissions for pricing \(Tg/yr\) x
q56_emission_cost_annual
(i, emis_annual)
Calculation of regional costs for annual emissions \(10^6 USD_{05MER}/yr\) x
q56_emission_cost_oneoff
(i, emis_oneoff)
Calculation of regional costs for emissions occuring only once in time \(10^6 USD_{05MER}/yr\) x
q56_emission_costs
(i)
Calculation of total emission costs \(10^6 USD_{05MER}/yr\) x
q56_reward_cdr_aff
(j)
Cellular revenues for carbon captured by afforestation \(10^6 USD_{05MER}/yr\) x
q56_reward_cdr_aff_reg
(i)
Regional revenues for carbon captured by afforestation \(10^6 USD_{05MER}/yr\) x
s56_buffer_aff share of carbon credits for afforestation projects pooled in a buffer \(1\) x
s56_c_price_exp_aff c price expectation for afforestation \(years\) x
s56_c_price_induced_aff Switch for C price driven afforestation \(1=on 0=off\) x
s56_counter counter for C price interpolation \(1\) x
s56_cprice_red_factor reduction factor for CO2 price \(-\) x
s56_ghgprice_devstate_scaling Switch for scaling GHG price with development state \(1=on 0=off\) x
s56_ghgprice_phase_in Switch for phasing-in GHG price over a 20 year period \(1=on 0=off\) x
s56_ghgprice_start start year for ghg price phase-in \(year\) x
s56_limit_ch4_n2o_price upper limit for CH4 and N2O GHG prices \(USD_{05MER}/tC\) x
s56_offset helper for C price interpolation \(1\) x
s56_timesteps number of time steps for C price interpolation \(1\) x
v56_emis_pricing
(i, emis_source, pollutants)
Regional emissions by source and gas after technical mitigation N CH4 C \(Tg/yr\) x
v56_emission_cost
(i, emis_source)
GHG emissions cost \(10^6 USD_{05MER}/yr\) x
v56_reward_cdr_aff
(j)
Cellular average annual expected revenue from afforestation \(10^6 USD_{05MER}/yr\) x

Sets

sets in use
  description
ac Age classes
ac_exp(ac) age-class corresponding to planning horizon
aff_effect biochemical and local biophysical effect of afforestation on climate
ag_pools(c_pools) Above ground carbon pools
age Population age groups
c_pools Carbon pools
cell(i, j) number of LPJ cells per region i
ct(t) Current time period
emis_annual(emis_source) annual emission sources
emis_land(emis_oneoff, land, c_pools) Mapping between land and carbon pools
emis_oneoff(emis_source) oneoff emission sources
emis_source Emission sources
ghgscen56 ghg price scenarios
h2(h) Superregional (dynamic set)
i all economic regions
i_to_iso(i, iso) mapping regions to iso countries
i2(i) World regions (dynamic set)
iso list of iso countries
j number of LPJ cells
j2(j) Spatial Clusters (dynamic set)
land Land pools
n_pollutants_direct(n_pollutants) subset of n pollutants
n_pollutants(pollutants) subset of n pollutants
policy_countries56(iso) countries to be affected by ghg policy
pollutant_nh3no2_51(n_pollutants_direct) nitrogen emissions relevant for deposition
pollutants_all all pollutants
pollutants(pollutants_all) subset of pollutants_all that can be taxed
scen56 emission policy scenarios
stockType Carbon stock types
t_all(t_ext) 5-year time periods
t(t_all) Simulated time periods
type GAMS variable attribute used for the output

Authors

Benjamin Bodirsky, Florian Humpenoeder

See Also

09_drivers, 10_land, 11_costs, 12_interest_rate, 30_crop, 31_past, 32_forestry, 34_urban, 35_natveg, 51_nitrogen, 52_carbon, 53_methane, 56_ghg_policy, 57_maccs, 58_peatland, 59_som

References