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.
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_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_bunker_share_in_nonldv_fe (tall, all_regi) |
share of bunkers in non-LDV transport, i.e. fedie | ||||||
pm_consPC (tall, all_regi) |
Consumption per capita | ||||||
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_prodCouple (all_regi, all_enty, all_enty, all_te, all_enty) |
own consumption | ||||||
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_emiFgas (tall, all_regi, all_enty) |
F-gas emissions by single gases from IMAGE | ||||||
vm_prodFe (ttot, all_regi, all_enty, all_enty, all_te) |
fe production. | \(TWa\) | |||||
vm_prodSe (tall, all_regi, all_enty, all_enty, all_te) |
se production. | \(TWa\) |
F | G | H | I | J | K | L | M | N | O | |
---|---|---|---|---|---|---|---|---|---|---|
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_peakBudgYr | ||||||||||
cm_startyear | x | x | x | x | x | |||||
cm_taxCO2inc_after_peakBudgYr | ||||||||||
pm_bunker_share_in_nonldv_fe (tall, all_regi) |
x | |||||||||
pm_consPC (tall, all_regi) |
x | |||||||||
pm_gdp (tall, all_regi) |
||||||||||
pm_GDPGross (tall, all_regi) |
x | |||||||||
pm_globalMeanTemperature (tall) |
x | |||||||||
pm_pop (tall, all_regi) |
||||||||||
pm_prodCouple (all_regi, all_enty, all_enty, all_te, all_enty) |
x | |||||||||
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 | 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 | x | |||
vm_cesIO (tall, all_regi, all_in) |
||||||||||
vm_co2eq (ttot, all_regi) |
x | |||||||||
vm_emiFgas (tall, all_regi, all_enty) |
x | |||||||||
vm_prodFe (ttot, all_regi, all_enty, all_enty, all_te) |
x | |||||||||
vm_prodSe (tall, all_regi, all_enty, all_enty, all_te) |
x |
Limitations There are no known limitations.
Limitations There are no known limitations.
Limitations There are no known limitations.
Limitations There are no known limitations.
Limitations There are no known limitations.
Limitations There are no known limitations.
Limitations There are no known limitations.
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.
Limitations There are no known limitations.
Limitations There are no known limitations.
p45_factorRescaleCO2Tax(regi) = min((( max(0.1, p45_actual_co2eq_woLU_regi(regi)/p45_ref_co2eq_woLU_regi(regi) ) )** 4),max(2-iteration.val/15,1.01-iteration.val/10000));
elseif iteration.val lt 15,
p45_factorRescaleCO2Tax(regi) = min((( max(0.1, p45_actual_co2eq_woLU_regi(regi)/p45_ref_co2eq_woLU_regi(regi) ) )**3),max(2-iteration.val/15,1.01-iteration.val/10000));
Limitations There are no known limitations.
Limitations There are no known limitations.
Limitations There are no known limitations.
Limitations There are no known limitations.
Limitations There are no known limitations.
Description | Unit | A | B | C | D | E | F | |
---|---|---|---|---|---|---|---|---|
p45_2005share_target (ttot, all_regi, all_GDPscen) |
2005 GHG emission share of countries with quantifyable emissions under NDC in particular region, time dimension specifies alternative future target years | |||||||
p45_actual_co2eq_woLU_regi (all_regi) |
actual level of regional 2020/2025/2030 GHG emissions in previous iteration | |||||||
p45_BAU_reg_emi_wo_LU_bunkers (ttot, all_regi) |
regional GHG emissions (without LU and bunkers) in BAU scenario | |||||||
p45_CO2_tax_previousScen (tall, all_regi) |
CO2 tax level from previous scenario | |||||||
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_factor_targetyear (ttot, all_regi, all_GDPscen) |
Multiplier for target year emissions vs 2005 emissions, as weighted average for all countries with quantifyable emissions under NDC in particular region | |||||||
p45_factorRescaleCO2Tax (all_regi) |
multiplicative factor to rescale CO2 taxes to achieve the climate targets | |||||||
p45_factorRescaleCO2TaxTrack (iteration, all_regi) |
Track the changes of p45_factorRescaleCO2Tax over the iterations | |||||||
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_hist_share (tall, all_regi) |
GHG emissions share of countries with quantifyable 2030 target, time dimension specifies historic record | |||||||
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_ref_co2eq_woLU_regi (all_regi) |
regional NDC target level of GHG - with different temporal meanings depending on INDC target year - e.g. 2025 for USA | |||||||
p45_regCO2priceFactor (ttot, all_regi) |
regional multiplicative factor to the CO2 price of the developed countries | x | x | |||||
p45_tau_co2_tax | 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_taxTempLimit (tall) |
tax for Temperature limit | \(1000 \$/tC\) | ||||||
p45_taxTempLimitLastItr (tall) |
tax for Temperature limit, last iteration | \(1000 \$/tC\) | ||||||
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 | O | |
---|---|---|---|---|---|---|---|---|---|
p45_2005share_target (ttot, all_regi, all_GDPscen) |
x | ||||||||
p45_actual_co2eq_woLU_regi (all_regi) |
x | ||||||||
p45_BAU_reg_emi_wo_LU_bunkers (ttot, all_regi) |
x | ||||||||
p45_CO2_tax_previousScen (tall, all_regi) |
x | ||||||||
p45_CO2priceTrajDeveloped (ttot) |
|||||||||
p45_correctScale | |||||||||
p45_debugCprice2020 (all_regi, iteration) |
|||||||||
p45_debugMitiCostRel (all_regi, iteration) |
|||||||||
p45_factor_targetyear (ttot, all_regi, all_GDPscen) |
x | ||||||||
p45_factorRescaleCO2Tax (all_regi) |
x | ||||||||
p45_factorRescaleCO2TaxTrack (iteration, all_regi) |
x | ||||||||
p45_gdpBAU (tall, all_regi) |
|||||||||
p45_gdppcap2015_PPP (all_regi) |
|||||||||
p45_hist_share (tall, all_regi) |
x | ||||||||
p45_mitiCostRel (all_regi) |
|||||||||
p45_mitiCostRelGlob | |||||||||
p45_NDCstartPrice (all_regi) |
x | ||||||||
p45_phasein_2025ratio (all_regi) |
|||||||||
p45_phasein_zeroyear (all_regi) |
|||||||||
p45_ref_co2eq_woLU_regi (all_regi) |
x | ||||||||
p45_regCO2priceFactor (ttot, all_regi) |
|||||||||
p45_tau_co2_tax | |||||||||
p45_tau_co2_tax_inc (all_regi) |
x | ||||||||
p45_tauCO2_ref (ttot, all_regi) |
x | ||||||||
p45_taxTempLimit (tall) |
x | ||||||||
p45_taxTempLimitLastItr (tall) |
x | ||||||||
s45_constantCO2price | x | ||||||||
s45_convergenceCO2price | |||||||||
s45_eta | x | ||||||||
s45_itrAdjExp | x | ||||||||
s45_stageend | x | ||||||||
s45_stagestart | x | ||||||||
s45_taxTempLimitConvMaxDeviation | x |
description | |
---|---|
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 |
enty(all_enty) | all types of quantities |
entyPe(all_enty) | Primary energy types (PE) |
entySe(all_enty) | secondary energy types |
in(all_in) | All inputs and outputs of the CES function |
iteration | iterator for main (Negishi/Nash) iterations |
modules | all the available modules |
pc2te(all_enty, all_enty, all_te, all_enty) | mapping for own consumption of technologies |
pe2se(all_enty, all_enty, all_te) | map primary energy carriers to secondary |
peBio(all_enty) | biomass primary energy types |
regi(all_regi) | all regions used in the solution process |
regi_2025target(all_regi) | set of regions with predominantly 2025 GHG target |
regi_2030target(all_regi) | set of regions with predominantly 2030 GHG target |
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 |
Christoph Bertram, Gunnar Luderer, Robert Pietzcker
01_macro, 02_welfare, 04_PE_FE_parameters, 35_transport, core