Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactoring of 45_carbonprice incl. postsolve algorithms #1874

Draft
wants to merge 3 commits into
base: develop
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 41 additions & 41 deletions config/scenario_config.csv

Large diffs are not rendered by default.

18 changes: 18 additions & 0 deletions config/scenario_config_functionalForm.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
title;start;CES_parameters;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_budgetCO2from2020;cm_peakBudgYr;cm_taxCO2_startyear;carbonprice;cm_taxCO2_functionalForm;cm_taxCO2_expGrowth;cm_taxCO2_IncAfterPeakBudgYr;cm_taxCO2_historical;cm_taxCO2_historicalYr;cm_expoLinear_yearStart;cm_taxCO2_regiDiff;cm_taxCO2_regiDiff_endYr;cm_taxCO2_interpolation;cm_taxCO2_lowerBound_path_gdx_ref;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_bioenergy_SustTax;cm_33EW;cm_33OAE;cm_33_OAE_eff;cm_33_OAE_scen;cm_frac_NetNegEmi;c_ccsinjecratescen;c_ccscapratescen;c_changeProdCost;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description
# H12 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
SSP2-NPi;0;;;;;rcp45;3;;0;;;NPi;;;;;;;;;;;9;;;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies.
SSP2-NPi2025-test;0;;;;;rcp45;3;;0;;;NPi2025_EUR55;;1.01;;;;;;;;;9;;;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2005;;;;;SSP2-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies.
SSP2-PkBudg650;0;;;;;rcp20;9;globallyOptimal;650;2055;75;functionalForm;linear;;;;;;;;;;9;;;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;SSP2-NPi2020;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century.
SSP2-PkBudg1000;0;;;;;rcp26;9;globallyOptimal;1000;2080;45;functionalForm;linear;;;;;;;;;;9;;;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-NPi2025;;SSP2-NPi2020;SSP2-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century.
SSP2-EcBudg400;0;;;;;rcp26;5;globallyOptimal;400;;70;functionalForm;exponential;;;;;;initialSpread20;GLO 2070;;;9;;;;;1;1;0.9;0;0;;;1;;;;2060.GLO 0.9;NDC;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2035;;SSP2-NPi2025;;SSP2-NPi2020;SSP2-EcBudg400: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes an end-of-century budget of 400 Gt CO2 on total CO2 emissions from 2020 to 2100. This is a high overshoot scenario with delayed climate policy.
SSP2-EcBudg400-a;0;;;;;rcp26;5;globallyOptimal;400;;70;functionalForm;exponential;1.05;;;;;initialSpread20;GLO 2070;;;9;;;;;1;1;0.9;0;0;;;1;;;;2060.GLO 0.9;NDC;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2035;;SSP2-NPi2025;;SSP2-NPi2020;SSP2-EcBudg400: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes an end-of-century budget of 400 Gt CO2 on total CO2 emissions from 2020 to 2100. This is a high overshoot scenario with delayed climate policy.
SSP2-PkBudg650-a;0;;;;;rcp20;7;globallyOptimal;650;2055;75;functionalForm;linear;;;;;;;;;;9;;;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;SSP2-NPi2020;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century.
SSP2-PkBudg650-b;0;;;;;rcp20;9;globallyOptimal;650;2055;75;functionalForm;linear;;2;;;;;;;;9;;;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;SSP2-NPi2020;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century.
SSP2-PkBudg650-c;1;;;;;rcp20;9;globallyOptimal;650;2055;75;functionalForm;linear;;;0;2010;;;;;;9;;;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;SSP2-NPi2020;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century.
SSP2-PkBudg650-d;0;;;;;rcp20;9;globallyOptimal;650;2055;75;functionalForm;linear;;;;;;none;;;;9;;;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;SSP2-NPi2020;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century.
SSP2-PkBudg650-e;0;;;;;rcp20;9;globallyOptimal;650;2055;75;functionalForm;linear;;;;;;;GLO 2050, SSA 2100;;;9;;;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;SSP2-NPi2020;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century.
SSP2-PkBudg650-f;0;;;;;rcp20;9;globallyOptimal;650;2055;75;functionalForm;linear;;;;;;gdpSpread;;;;9;;;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;SSP2-NPi2020;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century.
SSP2-PkBudg650-g;0;;;;;rcp20;9;globallyOptimal;650;2055;75;functionalForm;linear;;;;;;;;two_steps;;9;;;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;SSP2-NPi2020;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century.
SSP2-PkBudg650-h;0;;;;;rcp20;9;globallyOptimal;650;2055;75;functionalForm;linear;;;;;;;;GLO.2025.2050 2, EUR.2025.2060 1;;9;;;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;SSP2-NPi2020;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century.
SSP2-PkBudg650-i;0;;;;;rcp20;9;globallyOptimal;650;2055;75;functionalForm;linear;;;;;;;;;off;9;;;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;SSP2-NPi2020;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century.
SSP2-expoLinear;0;;;;;rcp20;0;globallyOptimal;0;2055;75;expoLinear;;;;;;2060;;;;;9;;;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;SSP2-NPi2020;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century.
7 changes: 3 additions & 4 deletions core/datainput.gms
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,9 @@ pm_temperatureImpulseResponseCO2(tall,tall) = 0;
vm_demFeForEs.L(t,regi,entyFe,esty,teEs) = 0;
vm_demFeForEs.L(t,regi,fe2es(entyFe,esty,teEs)) = 0.1;

pm_taxCO2eq_iterationdiff(t,regi) = 0;
pm_taxCO2eq_iterationdiff_tmp(t,regi) = 0;
*** -------- initial declaration of parameters for iterative target adjustment
pm_taxCO2eq_anchor_iterationdiff(t) = 0;
pm_taxCO2eq_anchor_iterationdiff_tmp(t) = 0;

*------------------------------------------------------------------------------------
*** calculations based on sets
Expand Down Expand Up @@ -1556,8 +1557,6 @@ loop(te,
);


*** -------- initial declaration of parameters for iterative target adjustment
o_reached_until2150pricepath(iteration) = 0;

*** ---- FE demand trajectories for calibration -------------------------------
*** also used for limiting secondary steel demand in baseline and policy
Expand Down
25 changes: 2 additions & 23 deletions core/declarations.gms
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,9 @@ pm_gdp_gdx(tall,all_regi) "GDP path from gdx, updated
p_inv_gdx(tall,all_regi) "macro-investments path from gdx, updated iteratively."
pm_taxCO2eq(ttot,all_regi) "CO2 tax path in T$/GtC = $/kgC. To get $/tCO2, multiply with 272 [T$/GtC]"
pm_taxCO2eqRegi(tall,all_regi) "additional regional CO2 tax path in T$/GtC = $/kgC. To get $/tCO2, multiply with 272 [T$/GtC]"
pm_taxCO2eq_anchor_iterationdiff(ttot) "help parameter for iterative adjustment of taxes"
pm_taxCO2eq_anchor_iterationdiff_tmp(ttot) "help parameter for iterative adjustment of taxes"
pm_taxCO2eqSum(tall,all_regi) "sum of pm_taxCO2eq, pm_taxCO2eqRegi, pm_taxCO2eqSCC in T$/GtC = $/kgC. To get $/tCO2, multiply with 272 [T$/GtC]"
p_taxCO2eq_iteration(iteration,ttot,all_regi) "save CO2eq tax used in iteration"
pm_taxCO2eq_iterationdiff(ttot,all_regi) "help parameter for iterative adjustment of taxes"
pm_taxCO2eq_iterationdiff_tmp(ttot,all_regi) "help parameter for iterative adjustment of taxes"
o_taxCO2eq_iterDiff_Itr(iteration,all_regi) "track p_taxCO2eq_iterationdiff over iterations"
pm_taxemiMkt(ttot,all_regi,all_emiMkt) "CO2 or CO2eq region and emission market specific emission tax"
pm_taxemiMkt_iteration(iteration,ttot,all_regi,all_emiMkt) "CO2 or CO2eq region and emission market specific emission tax per iteration"
pm_emissionsForeign(tall,all_regi,all_enty) "total emissions of other regions (nash relevant)"
Expand All @@ -51,21 +49,6 @@ pm_esCapCost(tall,all_regi,all_teEs) "Capital energy cost per un
pm_cesdata_sigma(ttot,all_in) "elasticities of substitution."
p_r(ttot,all_regi) "calculating capital interest rate"

o_diff_to_Budg(iteration) "Difference between actual CO2 budget and target CO2 budget"
o_totCO2emi_peakBudgYr(iteration) "Total CO2 emissions in the peakBudgYr"
o_peakBudgYr_Itr(iteration) "Year in which the CO2 budget is supposed to peak. Is changed in iterative_target_adjust = 9"
o_factorRescale_taxCO2_afterPeakBudgYr(iteration) "Multiplicative factor for rescaling the CO2 price in the year after peakBudgYr - only needed if flip-flopping of peakBudgYr occurs"
o_delay_increase_peakBudgYear(iteration) "Counter that tracks if flip-flopping of peakBudgYr happened. Starts an inner loop to try and overcome this"
o_reached_until2150pricepath(iteration) "Counter that tracks if the inner loop of increasing the CO2 price AFTER peakBudgYr goes beyond the initial trajectory"
p_taxCO2eq_until2150(ttot,all_regi) "CO2 price trajectory continued until 2150 - as if there was no change in trajectory after peakBudgYr. Needed to recalculate CO2 price trajectory after peakBudgYr was shifted right"
o_totCO2emi_allYrs(ttot,iteration) "Global CO2 emissions over time and iterations. Needed to check the procedure to find the peakBudgYr"
o_change_totCO2emi_peakBudgYr "Measure for how much the CO2 emissions change around the peakBudgYr"
p_factorRescale_taxCO2(iteration) "Multiplicative factor for rescaling the CO2 price to reach the target"
p_factorRescale_taxCO2_Funneled(iteration) "Multiplicative factor for rescaling the CO2 price to reach the target - limited by an iteration-dependent funnel"
o_taxCO2eq_Itr_1regi(ttot,iteration) "CO2 taxed in the last region, tracked over iterations for debugging"
o_pkBudgYr_flipflop(iteration) "Counter that tracks if flipfloping of cm_peakBudgYr occured in the last iterations"
o_taxCO2eq_afterPeakShiftLoop_Itr_1regi(ttot, iteration) "CO2 taxed in the last region, after the loop that shifts peakBudgYr, tracked over iterations for debugging"

***----------------------------------------------------------------------------------------
***-----------------------------------------------ESM module-------------------------------
pm_emiExog(tall,all_regi,all_enty) "exogenous emissions"
Expand Down Expand Up @@ -126,7 +109,6 @@ $endif.tech_CO2capturerate

pm_EN_demand_from_initialcap2(all_regi,all_enty) "PE demand resulting from the initialcap routine. [EJ, Uranium: MT U3O8]"
pm_budgetCO2eq(all_regi) "budget for regional energy-emissions in period 1"
p_actualbudgetco2(tall) "actual level of cumulated emissions starting from 2020 [GtCO2]"

pm_dataccs(all_regi,char,rlf) "maximum CO2 storage capacity using CCS technology. [GtC]"
pm_ccsinjecrate(all_regi) "Regional CCS injection rate factor. 1/a."
Expand Down Expand Up @@ -621,9 +603,6 @@ sm_endBudgetCO2eq "end time step of emission
sm_budgetCO2eqGlob "budget for global energy-emissions in period 1"
p_emi_budget1_gdx "budget for global energy-emissions in period 1 from gdx, may overwrite default values"

s_actualbudgetco2 "actual level of 2020-2100 cumulated emissions, including all CO2 for last iteration"
s_actualbudgetco2_last "actual level of 2020-2100 cumulated emissions for previous iteration" /0/

sm_globalBudget_dev "actual level of global cumulated emissions budget divided by target budget"

sm_eps "small number: 1e-9 " /1e-9/
Expand Down
Loading
Loading