MAgPIE - An Open Source land-use modeling framework

4.3.5

created with goxygen 1.3.0

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.

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_jan20)
  Description Unit A
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_maccs_mitigation
(t, i, emis_source, pollutants)
Technical mitigation of GHG emissions \(percent\) x
im_pop_iso
(t_all, iso)
Population \(10^6/yr\) 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
vm_peatland_emis
(j)
GHG emissions from managed peatland \(t CO2eq/year\) x

Output

module outputs
  Description Unit
im_pollutant_prices
(t_all, i, pollutants)
Certificate prices for N2O-N CH4 CO2-C used in the model \(USD_{05MER}/Mg\)
vm_btm_cell
(j, emis_source, pollutants)
Cellular emissions before technical mitigation \(Tg/yr\)
vm_btm_reg
(i, emis_source, pollutants)
Regional emissions before technical mitigation \(Tg/yr\)
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_peatland_emis_cost
(i)
Regional peatland GHG emissions costs \(10^6 USD_{05MER}/yr\)
vm_reward_cdr_aff
(i)
Regional average annual expected revenue from afforestation \(10^6 USD_{05MER}/yr\)

Realizations

(A) price_jan20

This realization applies pollutant prices to different emission types depending on the emission pricing policy defined in f56_emis_policy. 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.

f56_emis_policy contains scenarios determining for each gas and source whether it is priced or not.

Total regional GHG emissions vm_emissions_reg are the sum of emissions from different regional and cellular sources less the fraction im_maccs_mitigation that can be abated by technicial mitigation measures (see module 57_maccs). The emisssions before technical mitigation are calculated in the respective modules (51_nitrogen, 52_carbon, 53_methane) and delivered to this module through the interface variables vm_btm_reg and vm_btm_cell.

\[\begin{multline*} vm\_emissions\_reg(i2,emis\_source,pollutants) = vm\_btm\_reg(i2,emis\_source,pollutants) \cdot \left(1 - \sum\left(ct, im\_maccs\_mitigation(ct,i2,emis\_source,pollutants)\right)\right) \end{multline*}\]

\[\begin{multline*} v56\_emis\_cell(j2,emis\_source,pollutants) = \sum_{cell(i2,j2)}\left( vm\_btm\_cell(j2,emis\_source,pollutants) \cdot \left(1 - \sum\left(ct, im\_maccs\_mitigation(ct,i2,emis\_source,pollutants)\right)\right)\right) \end{multline*}\]

\[\begin{multline*} vm\_emissions\_reg(i2,emis\_source,pollutants) = \sum_{cell(i2,j2)}v56\_emis\_cell(j2,emis\_source,pollutants) \end{multline*}\]

Emission costs are calculated by multiplying regional and cellular emissions by the emission price im_pollutant_prices taking into account the price policy that was defined above in f56_emis_policy.

\[\begin{multline*} v56\_emission\_costs\_reg\_yearly(i2,emis\_reg\_yr56) = \sum_{pollutants}\left( vm\_emissions\_reg(i2,emis\_reg\_yr56,pollutants) \cdot \sum\left(ct, p56\_emis\_policy(ct,i2,pollutants,emis\_reg\_yr56) \cdot im\_pollutant\_prices(ct,i2,pollutants)\right)\right) \end{multline*}\]

\[\begin{multline*} v56\_emission\_costs\_cell\_yearly(j2,emis\_cell\_yr56) = \sum_{pollutants}\left( v56\_emis\_cell(j2,emis\_cell\_yr56,pollutants) \cdot \sum_{ct,cell(i2,j2)}\left( p56\_emis\_policy(ct,i2,pollutants,emis\_cell\_yr56) \cdot im\_pollutant\_prices(ct,i2,pollutants)\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 are delivered by the 52_carbon module as annual emissions they are multiplied here by the timestep length m_timestep_length to obtain emissions for the entire timestep and are then transformed back into annual costs by multiplying by the emission price and a discount factor p56_ghg_price_growth_rate that is equal to the growth rate of the emissions price.

\[\begin{multline*} v56\_emission\_costs\_reg\_oneoff(i2,emis\_reg\_one56) \geq \sum_{pollutants}\left( vm\_emissions\_reg(i2,emis\_reg\_one56,pollutants) \cdot m\_timestep\_length \cdot \sum_{ct}\left( p56\_emis\_policy(ct,i2,pollutants,emis\_reg\_one56) \cdot im\_pollutant\_prices(ct,i2,pollutants) \cdot \frac{ pm\_interest(ct,i2)}{\left(1+pm\_interest(ct,i2)\right)}\right) \right) \end{multline*}\]

\[\begin{multline*} v56\_emission\_costs\_cell\_oneoff(j2,emis\_cell\_one56) \geq \sum_{pollutants}\left( v56\_emis\_cell(j2,emis\_cell\_one56,pollutants) \cdot m\_timestep\_length \cdot \sum_{ct,cell(i2,j2)}\left( p56\_emis\_policy(ct,i2,pollutants,emis\_cell\_one56) \cdot im\_pollutant\_prices(ct,i2,pollutants) \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 occuring in this region and its cells.

\[\begin{multline*} vm\_emission\_costs(i2) = \sum_{emis\_reg\_yr56} v56\_emission\_costs\_reg\_yearly(i2,emis\_reg\_yr56) + \sum_{emis\_reg\_one56} v56\_emission\_costs\_reg\_oneoff(i2,emis\_reg\_one56) + \sum_{emis\_cell\_yr56, cell(i2,j2)} v56\_emission\_costs\_cell\_yearly(j2,emis\_cell\_yr56) + \sum_{emis\_cell\_one56, cell(i2,j2)} v56\_emission\_costs\_cell\_oneoff(j2,emis\_cell\_one56) \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 are multiplied by the corresponding future C price. Second, these future cash flows are discounted to present value. 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*}\]

Peatland emission costs depending on s56_peatland_policy

\[\begin{multline*} vm\_peatland\_emis\_cost(i2) = \sum_{cell(i2,j2)}\left( v56\_peatland\_emis\_cost(j2) \right) \end{multline*}\]

\[\begin{multline*} v56\_peatland\_emis\_cost(j2) = vm\_peatland\_emis(j2) \cdot s56\_peatland\_policy \cdot \sum_{ct,cell(i2,j2)}\left( im\_pollutant\_prices(ct,i2,"co2\_c") \cdot \frac{12}{44 }\right) \end{multline*}\]

Limitations There are no known limitations.

Definitions

Objects

module-internal objects (A: price_jan20)
  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_emis_policy
(t, i, pollutants, emis_source)
GHG emission policy scenarios \(binary\) x
p56_pollutant_prices_input
(t_all, i, pollutants)
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_cell_to_reg
(i, pollutants, emis_source)
Aggregation to regional emissions \(Tg/yr\) x
q56_emission_costs
(i)
Calculation of total emission costs \(10^6 USD_{05MER}/yr\) x
q56_emission_costs_cell_oneoff
(j, emis_cell_one56)
Calculation of cellular costs for emissions occuring only once in time \(10^6 USD_{05MER}/yr\) x
q56_emission_costs_cell_yearly
(j, emis_cell_yr56)
Calculation of cellular costs for annual emissions \(10^6 USD_{05MER}/yr\) x
q56_emission_costs_reg_oneoff
(i, emis_reg_one56)
Calculation of regional costs for emissions occuring only once in time \(10^6 USD_{05MER}/yr\) x
q56_emission_costs_reg_yearly
(i, emis_reg_yr56)
Calculation of regional costs for annual emissions \(10^6 USD_{05MER}/yr\) x
q56_peatland_emis_cost
(j)
Cellular peatland GHG emissions costs \(10^6 USD_{05MER}/yr\) x
q56_peatland_emis_cost_reg
(i)
Regional peatland GHG emissions 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
q56_technical_mitigation_cell
(j, pollutants, emis_source)
Application of maccs on emissions \(Tg/yr\) x
q56_technical_mitigation_reg
(i, pollutants, emis_source)
Application of maccs on emissions \(Tg/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_peatland_policy 1=on 0=off \(binary\) x
s56_reward_neg_emis reward CDR from all sources (-Inf) or only from afforestation (0) \(1\) x
s56_timesteps number of time steps for C price interpolation \(1\) x
v56_emis_cell
(j, emis_source, pollutants)
Cellular emissions by source and gas after technical mitigation N CH4 C \(Tg/yr\) x
v56_emission_costs_cell_oneoff
(j, emis_cell_one56)
Costs for emissions occuring only once in time \(10^6 USD_{05MER}/yr\) x
v56_emission_costs_cell_yearly
(j, emis_cell_yr56)
Costs for emissions occuring yearly \(10^6 USD_{05MER}/yr\) x
v56_emission_costs_reg_oneoff
(i, emis_reg_one56)
Costs for emissions occuring only once in time \(10^6 USD_{05MER}/yr\) x
v56_emission_costs_reg_yearly
(i, emis_reg_yr56)
Costs for emissions occuring yearly \(10^6 USD_{05MER}/yr\) x
v56_peatland_emis_cost
(j)
Cellular peatland GHG emissions costs \(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
age Population age groups
awms animal waste management systems
cell(i, j) number of LPJ cells per region i
ct(t) Current time period
emis_cell_one56(emis_source_cell) cellular oneoff emission sources
emis_cell_yr56(emis_source_cell) cellular yearly emission sources
emis_reg_one56(emis_source_reg) regional oneoff emission sources
emis_reg_yr56(emis_source_reg) regional yearly emission sources
emis_source Emission sources
emis_source_cell(emis_source) Cellular emission sources
emis_source_n_cropsoils51(emis_source) activities that lead to emissions
emis_source_reg(emis_source) Regional 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)
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
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, 11_costs, 12_interest_rate, 32_forestry, 51_nitrogen, 52_carbon, 53_methane, 56_ghg_policy, 57_maccs, 58_peatland

References