REMIND - REgional Model of INvestments and Development

3.0.0

created with goxygen 1.2.4

Carbonprice (45_carbonprice)

Description

The carbonprice module sets (exogenously given price path or predefined 2020 level and linear/exponential increase afterwards) or adjusts carbon price trajectories between iterations s.t. the desired climate policy targets are met. The carbon price is the main indicator to reflect the increase in climate policy ambition over time. Carbon prices are potentially defined by three modules: - 45_carbonprice: define the carbon price necessary to reach global emission targets following specific price trajectories. - 46_carbonpriceRegi: add a markup pm_taxCO2eqRegi to 45_carbonprice estimations to reach specific NDC or net zero targets - 47_regipol: under the regiCarbonPrice realisation, define more detailed region or emissions market specific targets, overwriting the all other carbon prices for selected regions.

Interfaces

Interfaces to other modules

Input

module inputs (A: diffCurvPhaseIn2Lin | B: diffPhaseIn2Constant | C: diffPhaseIn2Lin | D: diffPhaseInLin2LinFlex | E: diffPriceSameCost | F: exogenous | G: expoLinear | H: exponential | I: linear | J: NDC | K: NDC2constant | L: none | M: NPi2018 | N: temperatureNotToExceed) (continued below)
  Description Unit A B C D E
cm_carbonprice_temperatureLimit not-to-exceed temperature target in degree above pre-industrial
cm_co2_tax_2020 level of co2 tax in year 2020 in $ per t CO2eq, makes sense only for emiscen eq 9 and 45_carbonprice exponential x x x x
cm_co2_tax_growth growth rate of carbon tax x
cm_CO2priceRegConvEndYr Year at which regional CO2 prices converge in module 45 realization diffPhaseIn2LinFlex x x
cm_emiscen policy scenario choice
cm_expoLinear_yearStart time at which carbon price increases lineraly instead of exponentially
cm_iterative_target_adj whether or not a tax or a budget target should be iteratively adjusted depending on actual emission or forcing level
cm_NDC_divergentScenario choose scenario about convergence of CO2eq prices in NDC realization of module 45_carbonprice
cm_NDC_version choose version year of NDC targets as well as conditional vs. unconditional targets
cm_peakBudgYr date of net-zero CO2 emissions for peak budget runs without overshoot x
cm_startyear first optimized modelling time step \(year\) x x x x
cm_taxCO2inc_after_peakBudgYr annual increase of CO2 price after the Peak Budget Year in $ per tCO2 x
pm_consPC
(tall, all_regi)
Consumption per capita
pm_emifac
(tall, all_regi, all_enty, all_enty, all_te, all_enty)
emission factor by technology for all types of emissions in emiTe
pm_gdp
(tall, all_regi)
GDP data \(trn US\$ 2005\) x x x x
pm_GDPGross
(tall, all_regi)
gross GDP (before damages)
pm_globalMeanTemperature
(tall)
global mean temperature anomaly
pm_pop
(tall, all_regi)
population data \(bn people\) x x x x
pm_prtp
(all_regi)
Pure rate of time preference
pm_pvp
(ttot, all_enty)
Price on commodity markets x
pm_shPPPMER
(all_regi)
PPP ratio for calculating GDP|PPP from GDP|MER x x x x
pm_taxCO2eq
(ttot, all_regi)
CO2 tax path in T$/GtC = $/kgC. To get $/tCO2, multiply with 272 \(T\$/GtC\) x x x x x
pm_temperatureImpulseResponseCO2
(tall, tall)
temperature impulse response to CO2 \(K/GtCO2\)
pm_ts
(tall)
(t_n+1 - t_n-1)/2 for a timestep t_n x
pm_ttot_2_tall
(ttot, tall)
mapping from ttot to tall
pm_ttot_val
(ttot)
value of ttot set element
sm_c_2_co2 conversion from c to co2
sm_DptCO2_2_TDpGtC Conversion multiplier to go from \(/tCO2 to T\)/GtC: 44/12/1000 x x x x x
vm_cesIO
(tall, all_regi, all_in)
Production factor x
vm_co2eq
(ttot, all_regi)
total emissions measured in co2 equivalents ATTENTION: content depends on multigasscen. \(GtCeq\)
vm_demFeSector
(ttot, all_regi, all_enty, all_enty, emi_sectors, all_emiMkt)
fe demand per sector and emission market. \(TWa\)
vm_emiFgas
(ttot, all_regi, all_enty)
F-gas emissions by single gases from IMAGE
  F G H I J K L M N
cm_carbonprice_temperatureLimit x
cm_co2_tax_2020 x x x
cm_co2_tax_growth x x
cm_CO2priceRegConvEndYr
cm_emiscen x x
cm_expoLinear_yearStart x
cm_iterative_target_adj x
cm_NDC_divergentScenario x
cm_NDC_version x
cm_peakBudgYr
cm_startyear x x x x
cm_taxCO2inc_after_peakBudgYr
pm_consPC
(tall, all_regi)
x
pm_emifac
(tall, all_regi, all_enty, all_enty, all_te, all_enty)
x
pm_gdp
(tall, all_regi)
pm_GDPGross
(tall, all_regi)
x
pm_globalMeanTemperature
(tall)
x
pm_pop
(tall, all_regi)
pm_prtp
(all_regi)
x
pm_pvp
(ttot, all_enty)
pm_shPPPMER
(all_regi)
pm_taxCO2eq
(ttot, all_regi)
x x x x x x x x x
pm_temperatureImpulseResponseCO2
(tall, tall)
x
pm_ts
(tall)
pm_ttot_2_tall
(ttot, tall)
x
pm_ttot_val
(ttot)
x
sm_c_2_co2 x
sm_DptCO2_2_TDpGtC x x x x x x
vm_cesIO
(tall, all_regi, all_in)
vm_co2eq
(ttot, all_regi)
x
vm_demFeSector
(ttot, all_regi, all_enty, all_enty, emi_sectors, all_emiMkt)
x
vm_emiFgas
(ttot, all_regi, all_enty)
x

Output

Realizations

(A) diffCurvPhaseIn2Lin

Limitations There are no known limitations.

(B) diffPhaseIn2Constant

Limitations There are no known limitations.

(C) diffPhaseIn2Lin

Limitations There are no known limitations.

(D) diffPhaseInLin2LinFlex

Limitations There are no known limitations.

(E) diffPriceSameCost

Limitations There are no known limitations.

(F) exogenous

Limitations There are no known limitations.

(G) expoLinear

The exponential price path goes back to the “Hotelling rule”:
a price path that rises exponentially with the discount rate is economically optimal for extracting a finite resource, in our case the finite remaining carbon budget. However, once CDR is introduced to the portfolio of mitigation options, the remaining admissible amount of cumulative gross CO2 emissions is no longer finite, and the Hotelling rule no longer represents an economically optimal solution. A carbon price path following the Hotelling rule leads to rather low emission prices and therefore low emission reductions early in the century, and to very high emission prices and massive CDR deployment towards the end of the century. A Hotellling price path can only be considered optimal until the time of net-zero emissions. Afterwards, a moderate carbon price increase is sufficient to avoid a return of fossil fuels. Therefore, we choose an exponentially increasing carbon price until the expected time of net-zero emissions and a linear increase at the rate of 2050 or 2060 afterwards.

The exponential price path goes back to the “Hotelling rule”:
a price path that rises exponentially with the discount rate is economically optimal for extracting a finite resource, in our case the finite remaining carbon budget. However, once CDR is introduced to the portfolio of mitigation options, the remaining admissible amount of cumulative gross CO2 emissions is no longer finite, and the Hotelling rule no longer represents an economically optimal solution. A carbon price path following the Hotelling rule leads to rather low emission prices and therefore low emission reductions early in the century, and to very high emission prices and massive CDR deployment towards the end of the century. A Hotellling price path can only be considered optimal until the time of net-zero emissions. Afterwards, a moderate carbon price increase is sufficient to avoid a return of fossil fuels. Therefore, we choose an exponentially increasing carbon price until the expected time of net-zero emissions and a linear increase at the rate of 2050 or 2060 afterwards.

The exponential price path goes back to the “Hotelling rule”:
a price path that rises exponentially with the discount rate is economically optimal for extracting a finite resource, in our case the finite remaining carbon budget. However, once CDR is introduced to the portfolio of mitigation options, the remaining admissible amount of cumulative gross CO2 emissions is no longer finite, and the Hotelling rule no longer represents an economically optimal solution. A carbon price path following the Hotelling rule leads to rather low emission prices and therefore low emission reductions early in the century, and to very high emission prices and massive CDR deployment towards the end of the century. A Hotellling price path can only be considered optimal until the time of net-zero emissions. Afterwards, a moderate carbon price increase is sufficient to avoid a return of fossil fuels. Therefore, we choose an exponentially increasing carbon price until the expected time of net-zero emissions and a linear increase at the rate of 2050 or 2060 afterwards.

Limitations There are no known limitations.

(H) exponential

Limitations There are no known limitations.

(I) linear

Limitations There are no known limitations.

(J) NDC

This realization implements a carbon price trajectory consistent with the NDC targets (up to 2030) and a trajectory of comparable ambition post 2030 (1.25%/yr price increase and regional convergence of carbon price).

This realization implements a carbon price trajectory consistent with the NDC targets (up to 2030) and a trajectory of comparable ambition post 2030 (1.25%/yr price increase and regional convergence of carbon price).

This realization implements a carbon price trajectory consistent with the NDC targets (up to 2030) and a trajectory of comparable ambition post 2030 (1.25%/yr price increase and regional convergence of carbon price).

Limitations The NDC emission target refers to GHG emissions w/o land-use change and international bunkers. However, the submitted NDC targets of several countries include land-use emissions (e.g. Australia and US). See https://www4.unfccc.int/sites/NDCStaging/Pages/All.aspx. To be checked! The NDC emission target refers to GHG emissions w/o land-use change and international bunkers. However, the submitted NDC targets of several countries include land-use emissions (e.g. Australia and US). See https://www4.unfccc.int/sites/NDCStaging/Pages/All.aspx. To be checked! The NDC emission target refers to GHG emissions w/o land-use change and international bunkers. However, the submitted NDC targets of several countries include land-use emissions (e.g. Australia and US). See https://www4.unfccc.int/sites/NDCStaging/Pages/All.aspx. To be checked!

(K) NDC2constant

Limitations There are no known limitations.

(L) none

Limitations There are no known limitations.

(M) NPi2018

Limitations There are no known limitations.

(N) temperatureNotToExceed

Limitations There are no known limitations.

Definitions

Objects

module-internal objects (A: diffCurvPhaseIn2Lin | B: diffPhaseIn2Constant | C: diffPhaseIn2Lin | D: diffPhaseInLin2LinFlex | E: diffPriceSameCost | F: exogenous | G: expoLinear | H: exponential | I: linear | J: NDC | K: NDC2constant | L: none | M: NPi2018 | N: temperatureNotToExceed) (continued below)
  Description Unit A B C D E F
f45_2005shareTarget
(ttot, all_regi, NDC_version, all_GDPscen)
Table for all NDC versions with 2005 GHG emission share of countries with quantifyable emissions under NDC in particular region, time dimension specifies alternative future target years
f45_factorTargetyear
(ttot, all_regi, NDC_version, all_GDPscen)
Table for all NDC versions with multiplier for target year emissions vs 2005 emissions, as weighted average for all countries with quantifyable emissions under NDC in particular region
f45_histShare
(tall, all_regi, NDC_version)
Table for all NDC versions with GHG emissions share of countries with quantifyable 2030 target, time dimension specifies historic record
p45_2005shareTarget
(ttot, all_regi)
2005 GHG emission share of countries with quantifyable emissions under NDC in particular region, time dimension specifies alternative future target years
p45_adjustExponent exponent in tax adjustment process
p45_BAU_reg_emi_wo_LU_bunkers
(ttot, all_regi)
regional GHG emissions (without LU and bunkers) in BAU scenario
p45_bestNDCcoverage
(all_regi)
highest coverage of NDC targets within region
p45_CO2eqwoLU_actual
(ttot, all_regi)
actual level of regional GHG emissions after previous iteration
p45_CO2eqwoLU_actual_iter
(iteration, ttot, all_regi)
actual level of regional GHG emissions p45_CO2eqwoLU_actual tracked over iterations
p45_CO2eqwoLU_goal
(ttot, all_regi)
regional NDC target level of GHG emissions
p45_CO2priceTrajDeveloped
(ttot)
CO2 price trajectory for developed/rich countries x x
p45_correctScale XXX x
p45_debugCprice2020
(all_regi, iteration)
XXX x
p45_debugMitiCostRel
(all_regi, iteration)
XXX x
p45_distanceToOptyear
(ttot, all_regi)
distance to p45_useSingleYearCloseTo to favor years in case of multiple equally good targets
p45_factorRescaleCO2Tax
(ttot, all_regi)
multiplicative factor to rescale CO2 taxes to achieve the climate targets
p45_factorRescaleCO2Tax_iter
(iteration, ttot, all_regi)
Track the changes of p45_factorRescaleCO2Tax over the iterations
p45_factorRescaleCO2TaxLtd
(ttot, all_regi)
multiplicative factor to rescale CO2 taxes to achieve the climate targets limited to not-so-fast adaption
p45_factorRescaleCO2TaxLtd_iter
(iteration, ttot, all_regi)
Track the changes of p45_factorRescaleCO2TaxLimited over the iterations
p45_factorTargetyear
(ttot, all_regi)
Multiplier for target year emissions vs 2005 emissions, as weighted average for all countries with quantifyable emissions under NDC in particular region
p45_firstNDCyear
(all_regi)
last year with NDC coverage within region
p45_gdpBAU
(tall, all_regi)
baseline GDP path from gdx x
p45_gdppcap2015_PPP
(all_regi)
2015 GDP per capita (k $ PPP 2005) x x x x
p45_histShare
(tall, all_regi)
GHG emissions share of countries with quantifyable 2030 target, time dimension specifies historic record
p45_ignoreNDCafter NDC targets after this years are ignored, for example to exclude 2050 net zero targets
p45_ignoreNDCbefore NDC targets before this years are ignored, for example to exclude 2030 targets
p45_lastNDCyear
(all_regi)
last year with NDC coverage within region
p45_minDistanceToOptyear
(all_regi)
minimal distance to p45_useSingleYearCloseTo per region
p45_minRatioOfCoverageToMax only targets whose coverage is this times p45_bestNDCcoverage are considered. Use 1 for only best.
p45_mitiCostRel
(all_regi)
XXX x
p45_mitiCostRelGlob XXX x
p45_NDCstartPrice
(all_regi)
start price for linear phase-in from NDC
p45_phasein_2025ratio
(all_regi)
ratio of CO2 price to that of developed region in 2025 x x
p45_phasein_zeroyear
(all_regi)
year when CO2 price convergence line crosses zero x x x
p45_regCO2priceFactor
(ttot, all_regi)
regional multiplicative factor to the CO2 price of the developed countries x x
p45_tau_co2_tax
(ttot, all_regi)
Exogenous CO2 tax level x
p45_tau_co2_tax_inc
(all_regi)
Linear annual increase in carbon price T$/GtC/yr
p45_tauCO2_ref
(ttot, all_regi)
CO2 tax path of reference policy (NDC) x x x x
p45_taxCO2eq_iter
(iteration, ttot, all_regi)
CO2eq tax non-regi tracked over iterations
p45_taxCO2eqConvergenceYear year until which CO2eq taxes have converged globally
p45_taxCO2eqFirstNDCyear
(all_regi)
CO2eq tax in p45_firstNDCyear
p45_taxCO2eqGlobal2030 startprice in 2030 (unit TDpGtC) of global CO2eq taxes towards which countries converge
p45_taxCO2eqLastNDCyear
(all_regi)
CO2eq tax in p45_lastNDCyear
p45_taxCO2eqYearlyIncrease yearly multiplicative increase of co2 tax, write 3% as 1.03
p45_taxTempLimit
(tall)
tax for Temperature limit \(1000 \$/tC\)
p45_taxTempLimitLastItr
(tall)
tax for Temperature limit, last iteration \(1000 \$/tC\)
p45_useSingleYearCloseTo if 0: use all. If > 0: use only one single NDC target per country closest to this year (use 2030.4 to prefer 2030 over 2035 over 2025)
s45_constantCO2price initial value for constant global CO2 price x x x
s45_convergenceCO2price price to which the regional values converge x x
s45_eta inverse steepness of damage function at temperature limit (logistic function). Raise if no convergence
s45_itrAdjExp exponent for iterative adjustment of taxes. Lower if no convergence.
s45_stageend first time-step of constant global CO2 price x x
s45_stagestart last time-step fixed to ref. / beginning of staged accession period x x x
s45_taxTempLimitConvMaxDeviation limit for temperature deviation
  G H I J K L M N
f45_2005shareTarget
(ttot, all_regi, NDC_version, all_GDPscen)
x
f45_factorTargetyear
(ttot, all_regi, NDC_version, all_GDPscen)
x
f45_histShare
(tall, all_regi, NDC_version)
x
p45_2005shareTarget
(ttot, all_regi)
x
p45_adjustExponent x
p45_BAU_reg_emi_wo_LU_bunkers
(ttot, all_regi)
x
p45_bestNDCcoverage
(all_regi)
x
p45_CO2eqwoLU_actual
(ttot, all_regi)
x
p45_CO2eqwoLU_actual_iter
(iteration, ttot, all_regi)
x
p45_CO2eqwoLU_goal
(ttot, all_regi)
x
p45_CO2priceTrajDeveloped
(ttot)
p45_correctScale
p45_debugCprice2020
(all_regi, iteration)
p45_debugMitiCostRel
(all_regi, iteration)
p45_distanceToOptyear
(ttot, all_regi)
x
p45_factorRescaleCO2Tax
(ttot, all_regi)
x
p45_factorRescaleCO2Tax_iter
(iteration, ttot, all_regi)
x
p45_factorRescaleCO2TaxLtd
(ttot, all_regi)
x
p45_factorRescaleCO2TaxLtd_iter
(iteration, ttot, all_regi)
x
p45_factorTargetyear
(ttot, all_regi)
x
p45_firstNDCyear
(all_regi)
x
p45_gdpBAU
(tall, all_regi)
p45_gdppcap2015_PPP
(all_regi)
p45_histShare
(tall, all_regi)
x
p45_ignoreNDCafter x
p45_ignoreNDCbefore x
p45_lastNDCyear
(all_regi)
x
p45_minDistanceToOptyear
(all_regi)
x
p45_minRatioOfCoverageToMax x
p45_mitiCostRel
(all_regi)
p45_mitiCostRelGlob
p45_NDCstartPrice
(all_regi)
x
p45_phasein_2025ratio
(all_regi)
p45_phasein_zeroyear
(all_regi)
p45_regCO2priceFactor
(ttot, all_regi)
p45_tau_co2_tax
(ttot, all_regi)
p45_tau_co2_tax_inc
(all_regi)
x
p45_tauCO2_ref
(ttot, all_regi)
x
p45_taxCO2eq_iter
(iteration, ttot, all_regi)
x
p45_taxCO2eqConvergenceYear x
p45_taxCO2eqFirstNDCyear
(all_regi)
x
p45_taxCO2eqGlobal2030 x
p45_taxCO2eqLastNDCyear
(all_regi)
x
p45_taxCO2eqYearlyIncrease x
p45_taxTempLimit
(tall)
x
p45_taxTempLimitLastItr
(tall)
x
p45_useSingleYearCloseTo x
s45_constantCO2price x
s45_convergenceCO2price
s45_eta x
s45_itrAdjExp x
s45_stageend x
s45_stagestart x
s45_taxTempLimitConvMaxDeviation x

Sets

sets in use
  description
all_emiMkt emission markets
all_enty all types of quantities
all_GDPscen all possible GDP scenarios
all_in all inputs and outputs of the CES function
all_regi all regions
all_te all energy technologies, including from modules
cm_GDPscen cm_GDPscen as set for use in GDX
emi_sectors comprehensive sector set used for more detailed emissions accounting (REMIND-EU) and for CH4 tier 1 scaling - potentially to be integrated with similar set all_exogEmi
enty(all_enty) all types of quantities
in(all_in) All inputs and outputs of the CES function
iteration iterator for main (Negishi/Nash) iterations
modules all the available modules
NDC_version NDC data version for NDC realizations of 40_techpol and 45_carbonprice
p45_NDCyearSet(ttot, all_regi) YES for years whose NDC targets is used
regi(all_regi) all regions used in the solution process
regi_group(ext_regi, all_regi) region groups (regions that together corresponds to a H12 region)
se2fe(all_enty, all_enty, all_te) map secondary energy to end-use energy using a technology
set regi_nucscen(all_regi) regions which nucscen applies to
t(ttot) modeling time, usually starting in 2005, but later for fixed delay runs
tall time index
te(all_te) energy technologies
ttot(tall) time index with spin up

Authors

Christoph Bertram, Gunnar Luderer, Robert Pietzcker

See Also

01_macro, 02_welfare, core

References