diff --git a/CHANGELOG.md b/CHANGELOG.md index 25959c081..d5ac1ccc8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - correctly report `Tech|*|Capital Costs|w/ Adj Costs` for t < cm_startyear [[#1429](https://github.com/remindmodel/remind/pull/1429), [#1476](https://github.com/remindmodel/remind/pull/1476)] +### removed +- **45_carbonprice** remove outdated realizations: + NDC2constant, NPi2018, diffPhaseIn2Constant, diffPhaseIn2Lin, diffPhaseInLin2LinFlex, diffPriceSameCost + [[#1480](https://github.com/remindmodel/remind/pull/1480)] + ## [3.2.1] - 2023-07-13 (incomplete) ### changed diff --git a/CITATION.cff b/CITATION.cff index e8fa7a2f0..1090264b8 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -246,8 +246,8 @@ authors: affiliation: "Potsdam Institute for Climate Impact Research" title: REMIND - REgional Model of INvestments and Development -version: "3.2.1.dev461" -date-released: 2023-11-30 +version: "3.2.1.dev470" +date-released: 2023-12-01 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index adcb2daa5..d2b1104c5 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -63,7 +63,7 @@ cfg$validationmodel_name <- "VALIDATIONREMIND" #### model version of the overall model (used for run statistics only). # automatically generated for development versions, updated by hand for releases -cfg$model_version <- "3.2.1.dev461" +cfg$model_version <- "3.2.1.dev470" #### settings #### cfg$gms <- list() diff --git a/config/scenario_config.csv b/config/scenario_config.csv index 1aeeea06e..b9da52efc 100644 --- a/config/scenario_config.csv +++ b/config/scenario_config.csv @@ -1,4 +1,4 @@ -title;start;CES_parameters;optimization;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_2020;cm_peakBudgYr;cm_CO2priceRegConvEndYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_co2_tax_growth;cm_bioenergy_SustTax;cm_maxProdBiolc;c_ccsinjecratescen;c_ccscapratescen;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;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;water;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description +title;start;CES_parameters;optimization;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_2020;c_peakBudgYr;cm_CO2priceRegConvEndYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_co2_tax_growth;cm_bioenergy_SustTax;cm_maxProdBiolc;c_ccsinjecratescen;c_ccscapratescen;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;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;water;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description testOneRegi-Base;AMT;;testOneRegi;8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;testOneRegi-Base: This is a test scenario which only runs a single region, not to be used in production. # H12 SSP2EU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP2EU-NPi-calibrate;calibrate,AMT;calibrate;;14;;;rcp45;;;0;NPi;1;2100;;9;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;heat;Mix1;2005;;;;;SSP2EU-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. diff --git a/config/scenario_config_21_EU11_ARIADNE.csv b/config/scenario_config_21_EU11_ARIADNE.csv index 94f867552..0ad2ddacb 100644 --- a/config/scenario_config_21_EU11_ARIADNE.csv +++ b/config/scenario_config_21_EU11_ARIADNE.csv @@ -1,4 +1,4 @@ -title;start;.description;CES_parameters;c_keep_iteration_gdxes;cm_calibration_string;optimization;c_testOneRegi_region;cm_nash_mode;subsidizeLearning;trade;cm_import_EU;cm_import_ariadne;cm_EnSecScen_price;cm_EnSecScen_limit;cm_Ger_Pol;c_ccsinjecratescen;cm_bioprod_regi_lim;cm_import_tax;cm_1stgen_phaseout;c_agricult_base_shift;cm_altFeEmiFac;cm_PriceDurSlope_elh2;cm_build_H2costAddH2Inv;cm_steel_secondary_max_share_scenario;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_indstExogScen;cm_FEtax_trajectory_abs;cm_FEtax_trajectory_rel;cm_inco0Factor;cm_adj_coeff_multiplier;cm_adj_seed_multiplier;cm_iteration_max;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;c_budgetCO2from2020;carbonprice;cm_co2_tax_2020;cm_peakBudgYr;cm_taxCO2inc_after_peakBudgYr;cm_CO2priceRegConvEndYr;regipol;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;capitalMarket;industry;buildings;transport;cm_EDGEtr_scen;cm_emiscen;cm_POPscen;cm_GDPscen;cm_demScen;cm_startyear;path_gdx;path_gdx_ref +title;start;.description;CES_parameters;c_keep_iteration_gdxes;cm_calibration_string;optimization;c_testOneRegi_region;cm_nash_mode;subsidizeLearning;trade;cm_import_EU;cm_import_ariadne;cm_EnSecScen_price;cm_EnSecScen_limit;cm_Ger_Pol;c_ccsinjecratescen;cm_bioprod_regi_lim;cm_import_tax;cm_1stgen_phaseout;c_agricult_base_shift;cm_altFeEmiFac;cm_PriceDurSlope_elh2;cm_build_H2costAddH2Inv;cm_steel_secondary_max_share_scenario;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_indstExogScen;cm_FEtax_trajectory_abs;cm_FEtax_trajectory_rel;cm_inco0Factor;cm_adj_coeff_multiplier;cm_adj_seed_multiplier;cm_iteration_max;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;c_budgetCO2from2020;carbonprice;cm_co2_tax_2020;c_peakBudgYr;c_taxCO2inc_after_peakBudgYr;cm_CO2priceRegConvEndYr;regipol;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;capitalMarket;industry;buildings;transport;cm_EDGEtr_scen;cm_emiscen;cm_POPscen;cm_GDPscen;cm_demScen;cm_startyear;path_gdx;path_gdx_ref # _____Calibration_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Calib_EU;0;;calibrate;0;;nash;DEU;parallel;off;se_trade;off;off;off;0;off;1;off;off;0;off;EUR_regi, NEU_regi;20;0.2;off;standard;standard;;off;off;off;off;off;off;1;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;none;0;0;none;-1;2100;3;2050;regiCarbonPrice;off;off;off;debt_limit;subsectors;simple;edge_esm;Mix1;1;pop_SSP2EU;gdp_SSP2EU;gdp_SSP2EU;2005;; # _____Runs for first years____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/config/scenario_config_21_EU11_ECEMF.csv b/config/scenario_config_21_EU11_ECEMF.csv index af8c31733..1450838f6 100644 --- a/config/scenario_config_21_EU11_ECEMF.csv +++ b/config/scenario_config_21_EU11_ECEMF.csv @@ -1,4 +1,4 @@ -title;start;cm_implicitQttyTarget;cm_loadFromGDX_implicitQttyTargetTax;cm_implicitPriceTarget;cm_implicitPePriceTarget;cm_VREminShare;cm_nucscen;c_regi_nucscen;cm_vehiclesSubsidies;cm_incolearn;cm_inco0Factor;cm_learnRate;cm_calibration_string;regipol;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_regiExoPrice;optimization;c_testOneRegi_region;cm_nash_mode;c_keep_iteration_gdxes;cm_abortOnConsecFail;transport;cm_EDGEtr_scen;industry;CES_parameters;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_2020;cm_peakBudgYr;cm_emiscen;c_tech_earlyreti_rate;techpol;cm_multigasscen;water;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description +title;start;cm_implicitQttyTarget;cm_loadFromGDX_implicitQttyTargetTax;cm_implicitPriceTarget;cm_implicitPePriceTarget;cm_VREminShare;cm_nucscen;c_regi_nucscen;cm_vehiclesSubsidies;cm_incolearn;cm_inco0Factor;cm_learnRate;cm_calibration_string;regipol;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_regiExoPrice;optimization;c_testOneRegi_region;cm_nash_mode;c_keep_iteration_gdxes;cm_abortOnConsecFail;transport;cm_EDGEtr_scen;industry;CES_parameters;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_2020;c_peakBudgYr;cm_emiscen;c_tech_earlyreti_rate;techpol;cm_multigasscen;water;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description # _____Default_runs_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP2EU-EU21-calibrate;0;;;;;;;;;;;;;;;;;;;;;;;;;Mix1;;calibrate;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;;;;0;;;2100;;off;none;2;heat;2005;;;;;SSP2EU-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. SSP2EU-EU21-Base;0;;;;;;;;;;;;;;;;;;;;;;;;;Mix1;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;;;;0;;;2100;;off;none;2;heat;2005;;;;;SSP2EU-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. diff --git a/config/scenario_config_21_EU11_Fit_for_55_sensitivity.csv b/config/scenario_config_21_EU11_Fit_for_55_sensitivity.csv index 92a72eac8..30d02f0bd 100644 --- a/config/scenario_config_21_EU11_Fit_for_55_sensitivity.csv +++ b/config/scenario_config_21_EU11_Fit_for_55_sensitivity.csv @@ -1,4 +1,4 @@ -title;start;cm_bioprod_regi_lim;cm_BioSupply_Adjust_EU;cm_import_tax;cm_bioenergy_SustTax;c_regi_earlyreti_rate;cm_implicitQttyTarget;cm_share_LDV_sales;cm_adj_coeff_multiplier;cm_adj_seed_multiplier;cm_vehiclesSubsidies;cm_adj_coeff;cm_adj_seed;cm_incolearn;cm_inco0Factor;cm_learnRate;cm_storageFactor;cm_renewables_floor_cost;cm_indst_costDecayStart;cm_indst_H2costDecayEnd;cm_build_H2costDecayStart;cm_build_H2costDecayEnd;cm_flex_tax;cm_shSynLiq;cm_shSynGas;cm_CCS_markup;cm_Industry_CCS_markup;cm_CCSRegiPol;c_ccsinjecratescen;c_budgetCO2from2020;CES_parameters;cm_calibration_string;cm_wind_offshore;cm_iteration_max;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;carbonprice;cm_peakBudgYr;cm_taxCO2inc_after_peakBudgYr;cm_CO2priceRegConvEndYr;cm_emiscen;cm_fetaxscen;cm_co2_tax_growth;techpol;cm_multigasscen;regipol;cm_emiMktTarget;cm_emiMktTargetDelay;cm_NucRegiPol;cm_CoalRegiPol;cm_proNucRegiPol;cm_altFeEmiFac;cm_co2_tax_2020;optimization;c_testOneRegi_region;cm_nash_mode;buildings;transport;industry;cm_EDGEtr_scen;CCU;water;cm_prtpScen;cm_POPscen;cm_GDPscen;cm_demScen;cm_startyear;path_gdx;path_gdx_ref +title;start;cm_bioprod_regi_lim;cm_BioSupply_Adjust_EU;cm_import_tax;cm_bioenergy_SustTax;c_regi_earlyreti_rate;cm_implicitQttyTarget;cm_share_LDV_sales;cm_adj_coeff_multiplier;cm_adj_seed_multiplier;cm_vehiclesSubsidies;cm_adj_coeff;cm_adj_seed;cm_incolearn;cm_inco0Factor;cm_learnRate;cm_storageFactor;cm_renewables_floor_cost;cm_indst_costDecayStart;cm_indst_H2costDecayEnd;cm_build_H2costDecayStart;cm_build_H2costDecayEnd;cm_flex_tax;cm_shSynLiq;cm_shSynGas;cm_CCS_markup;cm_Industry_CCS_markup;cm_CCSRegiPol;c_ccsinjecratescen;c_budgetCO2from2020;CES_parameters;cm_calibration_string;cm_wind_offshore;cm_iteration_max;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;carbonprice;c_peakBudgYr;c_taxCO2inc_after_peakBudgYr;cm_CO2priceRegConvEndYr;cm_emiscen;cm_fetaxscen;cm_co2_tax_growth;techpol;cm_multigasscen;regipol;cm_emiMktTarget;cm_emiMktTargetDelay;cm_NucRegiPol;cm_CoalRegiPol;cm_proNucRegiPol;cm_altFeEmiFac;cm_co2_tax_2020;optimization;c_testOneRegi_region;cm_nash_mode;buildings;transport;industry;cm_EDGEtr_scen;CCU;water;cm_prtpScen;cm_POPscen;cm_GDPscen;cm_demScen;cm_startyear;path_gdx;path_gdx_ref # _____Calibration_cplx_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; # xx_Calib_FE_med (needs adjustment regarding cm_calibration_FE);0;off;3;EUR_regi.pebiolc 1.0;1.5;GLO 0.09, EUR_regi 0.15;off;off;off;off;off;off;off;off;apcardiEfft 0.8, apcardiEffH2t 0.675;apcarelt 0.1;off;off;0.05;0.1;0.05;0.1;0;0;0;off;off;off;1;0;calibrate;FE_med;1;1;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;none;0;off;none;2100;3;2050;1;3;1.05;none;2;regiCarbonPrice;off;0;off;off;off;EUR_regi, NEU_regi;-1;nash;DEU;parallel;simple;complex;fixed_shares;Mix1;off;heat;3;pop_SSP2EU;gdp_SSP2EU;gdp_SSP2EU;2005;; # _____default_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/config/scenario_config_21_EU11_SSPSDP.csv b/config/scenario_config_21_EU11_SSPSDP.csv index 907b64e86..1d083ae71 100644 --- a/config/scenario_config_21_EU11_SSPSDP.csv +++ b/config/scenario_config_21_EU11_SSPSDP.csv @@ -1,4 +1,4 @@ -title;start;CES_parameters;cm_bioenergy_SustTax;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_2020;cm_peakBudgYr;cm_taxCO2inc_after_peakBudgYr;cm_CO2priceRegConvEndYr;cm_emiscen;cm_fetaxscen;cm_co2_tax_growth;cm_maxProdBiolc;c_ccsinjecratescen;c_ccscapratescen;techpol;cm_POPscen;cm_GDPscen;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;water;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;regionmapping;extramappings_historic +title;start;CES_parameters;cm_bioenergy_SustTax;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_2020;c_peakBudgYr;c_taxCO2inc_after_peakBudgYr;cm_CO2priceRegConvEndYr;cm_emiscen;cm_fetaxscen;cm_co2_tax_growth;cm_maxProdBiolc;c_ccsinjecratescen;c_ccscapratescen;techpol;cm_POPscen;cm_GDPscen;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;water;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;regionmapping;extramappings_historic SSP1_EU11-calibrate;0;calibrate;1.75;none;0;off;0;none;-1;2100;3;2050;1;2;1.025;off;2;1;none;pop_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;2;4;2;SSP1;0.5;1;forcing_SSP1;SSP1;heat;2005;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv SSP1_EU11-Base;0;load;1.75;none;0;off;0;none;-1;2100;3;2050;1;2;1.025;off;2;1;none;pop_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;2;4;2;SSP1;0.5;1;forcing_SSP1;SSP1;heat;2005;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv SSP1_EU11-NDC;0;load;1.75;rcp45;3;globallyOptimal;0;NDC;1;2100;3;2050;9;2;1.025;off;2;1;NDC;pop_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;2;4;3;SSP1;0.5;1;forcing_SSP1;SSP1;heat;2025;;SSP2_EU11-NDC;SSP1_EU11-Base;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv diff --git a/config/scenario_config_DeepEl.csv b/config/scenario_config_DeepEl.csv index 081f3157a..2b96ddcf2 100644 --- a/config/scenario_config_DeepEl.csv +++ b/config/scenario_config_DeepEl.csv @@ -1,4 +1,4 @@ -title;start;CES_parameters;optimization;slurmConfig;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_VRE_supply_assumptions;c_budgetCO2from2020;carbonprice;cm_co2_tax_2020;cm_peakBudgYr;cm_CO2priceRegConvEndYr;cm_emiscen;c_tech_earlyreti_rate;cm_maxProdBiolc;c_ccsinjecratescen;techpol;regipol;cm_NucRegiPol;cm_CoalRegiPol;cm_multigasscen;cm_1stgen_phaseout;water;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description +title;start;CES_parameters;optimization;slurmConfig;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_VRE_supply_assumptions;c_budgetCO2from2020;carbonprice;cm_co2_tax_2020;c_peakBudgYr;cm_CO2priceRegConvEndYr;cm_emiscen;c_tech_earlyreti_rate;cm_maxProdBiolc;c_ccsinjecratescen;techpol;regipol;cm_NucRegiPol;cm_CoalRegiPol;cm_multigasscen;cm_1stgen_phaseout;water;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description testOneRegi-Base-DeepEl;0;;testOneRegi;8;;;;0;;;;;;;;;;;;;;;;;;;;;;;testOneRegi-Base: This is a test scenario which only runs a single region, not to be used in production. # H12 SSP2EU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP2EU-NPi-calibrate-DeepEl;1;calibrate;;14;rcp45;;;0;0;NPi;1;2100;;9;;;;NPi2018;regiCarbonPrice;on;on;3;;heat;Mix1;2005;;;;;SSP2EU-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. diff --git a/config/scenario_config_EDGE-T_NDC_NPi_pkbudget.csv b/config/scenario_config_EDGE-T_NDC_NPi_pkbudget.csv index e1c89edf2..a97943765 100644 --- a/config/scenario_config_EDGE-T_NDC_NPi_pkbudget.csv +++ b/config/scenario_config_EDGE-T_NDC_NPi_pkbudget.csv @@ -1,4 +1,4 @@ -title;start;CES_parameters;c_keep_iteration_gdxes;cm_bioenergy_SustTax;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_2020;cm_peakBudgYr;cm_taxCO2inc_after_peakBudgYr;cm_CO2priceRegConvEndYr;cm_emiscen;cm_fetaxscen;cm_co2_tax_growth;cm_maxProdBiolc;c_ccsinjecratescen;c_ccscapratescen;techpol;cm_POPscen;cm_GDPscen;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_startyear;CCU;c_shBioTrans;cm_shSynLiq;c_shGreenH2;transport;cm_EDGEtr_scen;capitalMarket;buildings;path_gdx;path_gdx_ref;path_gdx_bau +title;start;CES_parameters;c_keep_iteration_gdxes;cm_bioenergy_SustTax;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_2020;c_peakBudgYr;c_taxCO2inc_after_peakBudgYr;cm_CO2priceRegConvEndYr;cm_emiscen;cm_fetaxscen;cm_co2_tax_growth;cm_maxProdBiolc;c_ccsinjecratescen;c_ccscapratescen;techpol;cm_POPscen;cm_GDPscen;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_startyear;CCU;c_shBioTrans;cm_shSynLiq;c_shGreenH2;transport;cm_EDGEtr_scen;capitalMarket;buildings;path_gdx;path_gdx_ref;path_gdx_bau Calibration_SSP2_edget;0;calibrate;0;1.5;none;0;off;0;none;-1;2100;3;2050;1;3;1.05;off;5;1;none;pop_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;2005;off;0.05;0;0;edge_esm;Mix1;debt_limit;simple;./config/input.gdx;; Calibration_SSP2_edget_Wise;0;calibrate;0;1.5;none;0;off;0;none;-1;2100;3;2050;1;3;1.05;off;5;1;none;pop_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;2005;off;0.05;0;0;edge_esm;Mix1;debt_limit;simple;./config/input.gdx;; NDC_ConvCase;0;load;1;1.5;rcp45;3;globallyOptimal;0;NDC;1;2100;3;2050;9;3;1.05;off;5;1;NDC;pop_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;2015;off;0.05;0;0;edge_esm;Mix1;debt_limit;simple;./config/input.gdx;SSP2-Base;SSP2-Base diff --git a/config/scenario_config_ENGAGE_4p5.csv b/config/scenario_config_ENGAGE_4p5.csv index 8ca9a34fc..a7be2b853 100644 --- a/config/scenario_config_ENGAGE_4p5.csv +++ b/config/scenario_config_ENGAGE_4p5.csv @@ -1,4 +1,4 @@ -title;start;slurmConfig;climate;cm_magicc_calibrateTemperature2000;cm_damage_KWSE;cm_magicc_config;cm_magicc_temperatureImpulseResponse;cm_damage_DiceLike_specification;cm_damages_BurkeLike_persistenceTime;cm_damages_BurkeLike_specification;cm_damages_SccHorizon;cm_VRE_supply_assumptions;c_CES_calibration_new_structure;buildings;transport;industry;cm_DiscRateScen;c_shBioTrans;cm_EDGEtr_scen;cm_reducCostB;cm_CES_calibration_default_prices;c_ccsinjecratescen;.CDR;cm_bioenergy_SustTax;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;carbonpriceRegi;cm_netZeroScen;cm_co2_tax_2020;cm_peakBudgYr;cm_taxCO2inc_after_peakBudgYr;cm_CO2priceRegConvEndYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_co2_tax_growth;cm_maxProdBiolc;c_ccscapratescen;techpol;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;water;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;description +title;start;slurmConfig;climate;cm_magicc_calibrateTemperature2000;cm_damage_KWSE;cm_magicc_config;cm_magicc_temperatureImpulseResponse;cm_damage_DiceLike_specification;cm_damages_BurkeLike_persistenceTime;cm_damages_BurkeLike_specification;cm_damages_SccHorizon;cm_VRE_supply_assumptions;c_CES_calibration_new_structure;buildings;transport;industry;cm_DiscRateScen;c_shBioTrans;cm_EDGEtr_scen;cm_reducCostB;cm_CES_calibration_default_prices;c_ccsinjecratescen;.CDR;cm_bioenergy_SustTax;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;carbonpriceRegi;cm_netZeroScen;cm_co2_tax_2020;c_peakBudgYr;c_taxCO2inc_after_peakBudgYr;cm_CO2priceRegConvEndYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_co2_tax_growth;cm_maxProdBiolc;c_ccscapratescen;techpol;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;water;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;description SSP2-Base_bIT;0;5;off;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;0;1;Mix1;none;0.01;1;off;1.5;none;0;off;0;none;none;;-1;2100;3;2050;1;;;3;1.05;off;1;none;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;2005;;;;SSP2-Base_bIT: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. Industry sectors are modeled explicitly with individual CES nests for cement, chemicals, steel, and other production. The transport model EDGE-T with detailed modes/vehicles representation is used. A simple buildings model represents demand in terms of energy carriers. No Damages from climate change are considered. GP_CurPol_T45;1;5;off;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;0;1;Mix3;none;0.01;1;off;1.5;rcp45;3;off;0;NPi;none;;1;2100;3;2050;9;;;3;1.05;100;1;NPi2018;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2005;;;;GP_CurPol_T45: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030. GP_NDC2030_T45;1;5;off;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;0;1;Mix3;none;0.01;1;off;1.5;rcp45;3;globallyOptimal;0;NDC;none;;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;;GP_CurPol_T45;GP_CurPol_T45;GP_NDC2030_T45: The NDCs scenario aims to represent the goals of each country or region defined in their NDCs. The ambition levels reached in the target year remains at least constant throughout the rest of the century. diff --git a/config/scenario_config_GCS.csv b/config/scenario_config_GCS.csv index 9883cf8fb..e3e2724cd 100644 --- a/config/scenario_config_GCS.csv +++ b/config/scenario_config_GCS.csv @@ -1,4 +1,4 @@ -title;start;CES_parameters;cm_rcp_scen;climate;cm_magicc_config;cm_magicc_calibrateTemperature2000;downscaleTemperature;damages;cm_TCpers;cm_TCspec;cm_bioenergy_SustTax;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_2020;cm_peakBudgYr;cm_taxCO2inc_after_peakBudgYr;cm_emiscen;cm_flex_tax;cm_EDGEtr_scen;cm_build_H2costAddH2Inv;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_PriceDurSlope_elh2;techpol;cm_POPscen;cm_GDPscen;cm_demScen;cm_LU_emi_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_ccapturescen;c_ccsinjecratescen;CCU;cm_INCONV_PENALTY_FESwitch;cm_APscen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_carbonprice +title;start;CES_parameters;cm_rcp_scen;climate;cm_magicc_config;cm_magicc_calibrateTemperature2000;downscaleTemperature;damages;cm_TCpers;cm_TCspec;cm_bioenergy_SustTax;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_2020;c_peakBudgYr;c_taxCO2inc_after_peakBudgYr;cm_emiscen;cm_flex_tax;cm_EDGEtr_scen;cm_build_H2costAddH2Inv;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_PriceDurSlope_elh2;techpol;cm_POPscen;cm_GDPscen;cm_demScen;cm_LU_emi_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_ccapturescen;c_ccsinjecratescen;CCU;cm_INCONV_PENALTY_FESwitch;cm_APscen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_carbonprice SSP2-Base;1;load;none;magicc;RCP26_50;HADCRUT4;CMIP5;off;9;mean;0;0;off;0;none;-1;2100;3;1;0;Mix1;0.2;standard;standard;;10;none;pop_SSP2EU;gdp_SSP2EU;gdp_SSP2EU;SSP2;1;2;1;2;2;0;off;off;SSP2;2005;;;; SSP2-Tall-PkBudg750;0;load;rcp20;magicc;RCP26_50;HADCRUT4;CMIP5;KWTCint;9;mean;0;9;globallyOptimal;750;diffCurvPhaseIn2Lin;200;2045;3;9;0;Mix4;0.15;feelhpb 0.87;standard;;10;NDC;pop_SSP2EU;gdp_SSP2EU;gdp_SSP2_lowEn;SSP2;1;2;1;2;1;1;on;off;SSP2;2025;;SSP2-NPi;SSP2-Base; SSP2-NDC;0;load;rcp45;magicc;RCP26_50;HADCRUT4;CMIP5;KWTCint;9;mean;0;3;globallyOptimal;0;NDC;1;2100;3;9;0;Mix1;0.2;standard;standard;;10;NDC;pop_SSP2EU;gdp_SSP2EU;gdp_SSP2EU;SSP2;1;2;1;3;2;0;off;off;SSP2;2025;;SSP2-NPi;SSP2-Base; diff --git a/config/scenario_config_NAVIGATE_300.csv b/config/scenario_config_NAVIGATE_300.csv index db9190adb..d79b7c71f 100644 --- a/config/scenario_config_NAVIGATE_300.csv +++ b/config/scenario_config_NAVIGATE_300.csv @@ -1,4 +1,4 @@ -title;start;cm_distrBeta;cm_distrAlphaDam;welfare;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;CES_parameters;cm_nash_mode;regionmapping;cm_rcp_scen;damages;internalizeDamages;climate;cm_magicc_config;cm_magicc_calibrateTemperature2000;downscaleTemperature;cm_magicc_temperatureImpulseResponse;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_2020;cm_peakBudgYr;cm_taxCO2inc_after_peakBudgYr;cm_CO2priceRegConvEndYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_co2_tax_growth;trade;cm_import_EU;cm_bioenergy_SustTax;cm_maxProdBiolc;c_ccsinjecratescen;c_ccscapratescen;cm_CESMkup_build;cm_CESMkup_ind;cm_adj_coeff_multiplier;cm_adj_seed_multiplier;techpol;regipol;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_EDGEtr_scen;cm_startyear;description +title;start;cm_distrBeta;cm_distrAlphaDam;welfare;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;CES_parameters;cm_nash_mode;regionmapping;cm_rcp_scen;damages;internalizeDamages;climate;cm_magicc_config;cm_magicc_calibrateTemperature2000;downscaleTemperature;cm_magicc_temperatureImpulseResponse;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_2020;c_peakBudgYr;c_taxCO2inc_after_peakBudgYr;cm_CO2priceRegConvEndYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_co2_tax_growth;trade;cm_import_EU;cm_bioenergy_SustTax;cm_maxProdBiolc;c_ccsinjecratescen;c_ccscapratescen;cm_CESMkup_build;cm_CESMkup_ind;cm_adj_coeff_multiplier;cm_adj_seed_multiplier;techpol;regipol;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_EDGEtr_scen;cm_startyear;description SSP2EU-calibrate;0;1;0.5;;;;;;calibrate;parallel;config/regionmappingH12.csv;none;off;off;magicc;RCP26_50;HADCRUT4;off;off;0;off;0;none;-1;2100;3;2050;1;GLO 0.09, EUR_regi 0.15;off;3;1.05;standard;off;1.5;off;1;1;standard;standard;off;off;none;none;off;off;off;off;pop_SSP2EU;gdp_SSP2EU;gdp_SSP2EU;medOil;medGas;medCoal;1;2;1;2;Mix1;2005;SSP2EU-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. SSP2EU-Base-IMCP;0;1;0.5;utilitarian;;;;;load;parallel;config/regionmappingH12.csv;none;off;off;magicc;RCP26_50;HADCRUT4;off;off;0;off;0;none;-1;2100;3;2050;1;GLO 0.09, EUR_regi 0.15;off;3;1.05;standard;off;1.5;off;1;1;standard;standard;off;off;none;none;off;off;off;off;pop_SSP2EU;gdp_SSP2EU;gdp_SSP2EU;medOil;medGas;medCoal;1;2;1;2;Mix1;2005;SSP2EU-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. SSP2EU-NDC-IMCP;0;1;0.5;utilitarian;;SSP2EU-NPi-IMCP;SSP2EU-NPi-IMCP;;load;parallel;config/regionmappingH12.csv;rcp45;off;off;magicc;RCP26_50;HADCRUT4;off;off;3;globallyOptimal;0;NDC;1;2100;3;2050;9;GLO 0.09, EUR_regi 0.15;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.13, CHA_regi.pc 0.13;3;1.05;standard;off;1.5;off;1;1;standard;standard;off;off;NDC;none;off;off;off;off;pop_SSP2EU;gdp_SSP2EU;gdp_SSP2EU;medOil;medGas;medCoal;1;2;1;3;Mix2;2025;SSP2EU-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NDC includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the begining of 2021 continues over the 21st century. This scenario serves as reference for all other policy scenarios and The NPi scenario until 2020. diff --git a/config/scenario_config_NGFS_v4.csv b/config/scenario_config_NGFS_v4.csv index 6abbcbe1d..42cd27d2e 100644 --- a/config/scenario_config_NGFS_v4.csv +++ b/config/scenario_config_NGFS_v4.csv @@ -1,4 +1,4 @@ -title;start;copyConfigFrom;cm_import_tax;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;CES_parameters;slurmConfig;climate;downscaleTemperature;cm_magicc_calibrateTemperature2000;damages;cm_damage_KWSE;internalizeDamages;cm_magicc_config;cm_magicc_temperatureImpulseResponse;cm_damage_DiceLike_specification;cm_damages_BurkeLike_persistenceTime;cm_damages_BurkeLike_specification;cm_damages_SccHorizon;cm_VRE_supply_assumptions;c_CES_calibration_new_structure;buildings;transport;industry;cm_DiscRateScen;c_shBioTrans;cm_EDGEtr_scen;cm_reducCostB;cm_CES_calibration_default_prices;cm_CO2TaxSectorMarkup;c_ccsinjecratescen;c_ccsinjecrateRegi;CDR;cm_bioenergy_SustTax;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;carbonpriceRegi;regipol;cm_implicitQttyTarget;cm_NDC_version;cm_netZeroScen;cm_co2_tax_2020;cm_peakBudgYr;cm_taxCO2inc_after_peakBudgYr;cm_CO2priceRegConvEndYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_co2_tax_growth;cm_maxProdBiolc;c_ccscapratescen;techpol;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;water;cm_startyear;path_gdx;path_gdx_ref;path_gdx_refpolicycost;path_gdx_bau;description +title;start;copyConfigFrom;cm_import_tax;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;CES_parameters;slurmConfig;climate;downscaleTemperature;cm_magicc_calibrateTemperature2000;damages;cm_damage_KWSE;internalizeDamages;cm_magicc_config;cm_magicc_temperatureImpulseResponse;cm_damage_DiceLike_specification;cm_damages_BurkeLike_persistenceTime;cm_damages_BurkeLike_specification;cm_damages_SccHorizon;cm_VRE_supply_assumptions;c_CES_calibration_new_structure;buildings;transport;industry;cm_DiscRateScen;c_shBioTrans;cm_EDGEtr_scen;cm_reducCostB;cm_CES_calibration_default_prices;cm_CO2TaxSectorMarkup;c_ccsinjecratescen;c_ccsinjecrateRegi;CDR;cm_bioenergy_SustTax;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;carbonpriceRegi;regipol;cm_implicitQttyTarget;cm_NDC_version;cm_netZeroScen;cm_co2_tax_2020;c_peakBudgYr;c_taxCO2inc_after_peakBudgYr;cm_CO2priceRegConvEndYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_co2_tax_growth;cm_maxProdBiolc;c_ccscapratescen;techpol;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;water;cm_startyear;path_gdx;path_gdx_ref;path_gdx_refpolicycost;path_gdx_bau;description # ___Calibration___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;initial value;initial value;;;;;;;;;;;;;;;;;;;;;;;;;; SSP2-Base_covidCalib;0;;;gdp_SSP2EU;;;;calibrate;14;off;off;uncalibrated;off;0;off;OLDDEFAULT;off;HowardNonCatastrophic;15;0;100;0;1;simple;edge_esm;subsectors;0;1;Mix3;none;0.01;;1;;;1.5;none;0;off;0;none;none;;;;;-1;2100;3;2050;1;;;3;1.05;off;1;none;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;2005;;;;; SSP2-lowDem_calib;0;SSP2-Base_covidCalib;;gdp_SSP2_lowEn;;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/config/scenario_config_SHAPE.csv b/config/scenario_config_SHAPE.csv index 89f2751bb..5a530d3c3 100644 --- a/config/scenario_config_SHAPE.csv +++ b/config/scenario_config_SHAPE.csv @@ -1,4 +1,4 @@ -title;start;CES_parameters;optimization;slurmConfig;regionmapping;extramappings_historic;c_changeProdCost ;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_2020;cm_peakBudgYr;cm_CO2priceRegConvEndYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_co2_tax_growth;cm_bioenergy_SustTax;cm_maxProdBiolc;c_ccsinjecratescen;c_ccscapratescen;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;techpol;regipol;cm_implicitQttyTarget;cm_loadFromGDX_implicitQttyTargetTax;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;water;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description +title;start;CES_parameters;optimization;slurmConfig;regionmapping;extramappings_historic;c_changeProdCost ;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_2020;c_peakBudgYr;cm_CO2priceRegConvEndYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_co2_tax_growth;cm_bioenergy_SustTax;cm_maxProdBiolc;c_ccsinjecratescen;c_ccscapratescen;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;techpol;regipol;cm_implicitQttyTarget;cm_loadFromGDX_implicitQttyTargetTax;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;water;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description SSP1-calibrate;0;calibrate;;;;;;none;0;off;0;none;-1;2100;2050;1;GLO 0.09, EUR_regi 0.15;off;2;1.025;1.75;off;2;1;standard;standard;;none;none;off;off;off;off;off;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;2;4;2;SSP1;0.5;1;forcing_SSP1;SSP1;heat;Mix1;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. SSP1-Base;1;load;;;;;;none;0;off;0;none;-1;2100;2050;1;GLO 0.09, EUR_regi 0.15;off;2;1.025;1.75;off;2;1;standard;standard;;none;none;off;off;off;off;off;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;2;4;2;SSP1;0.5;1;forcing_SSP1;SSP1;heat;Mix1;2005;;;;;SSP1-Base: This baseline scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. SSP1-NDC;0;load;;;;;;rcp45;3;globallyOptimal;0;NDC;1;2100;2050;9;GLO 0.09, EUR_regi 0.15;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.13, CHA_regi.pc 0.13;2;1.025;1.75;off;2;1;standard;standard;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;off;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;2;4;3;SSP1;0.5;1;forcing_SSP1;SSP1;heat;Mix2;2025;;SSP2EU-NDC;SSP1-Base;;SSP1-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NDC includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the begining of 2021 continues over the 21st century. This scenario serves as reference for all other policy scenarios and The NPi scenario until 2020. diff --git a/core/declarations.gms b/core/declarations.gms index da1d78b47..ef2ad7489 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -62,7 +62,7 @@ o_change_totCO2emi_peakBudgYr "Measure for how much the 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_pkBudgYr_flipflop(iteration) "Counter that tracks if flipfloping of c_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" ***---------------------------------------------------------------------------------------- @@ -599,7 +599,7 @@ s_c_so2 "constant, see S. Smith, 2 s_ccsinjecrate "CCS injection rate factor. [1/a]" s_t_start "start year of emission budget" -cm_peakBudgYr "date of net-zero CO2 emissions for peak budget runs without overshoot" +c_peakBudgYr "date of net-zero CO2 emissions for peak budget runs without overshoot" sm_endBudgetCO2eq "end time step of emission budget period 1" sm_budgetCO2eqGlob "budget for global energy-emissions in period 1" diff --git a/core/postsolve.gms b/core/postsolve.gms index f7b547b6f..7472fc2b4 100644 --- a/core/postsolve.gms +++ b/core/postsolve.gms @@ -188,10 +188,10 @@ if(cm_iterative_target_adj eq 7, p_actualbudgetco2(ttot)$(ttot.val > 2020) = sum(ttot2$(ttot2.val < ttot.val AND ttot2.val > 2020), (sum(regi, (vm_emiTe.l(ttot2,regi,"co2") + vm_emiCdr.l(ttot2,regi,"co2") + vm_emiMac.l(ttot2,regi,"co2"))) * sm_c_2_co2 * pm_ts(ttot2))) + sum(regi, (vm_emiTe.l(ttot,regi,"co2") + vm_emiCdr.l(ttot,regi,"co2") + vm_emiMac.l(ttot,regi,"co2"))) * sm_c_2_co2 * ((pm_ttot_val(ttot)-pm_ttot_val(ttot-1))/2 + 0.5) + sum(regi, (vm_emiTe.l("2020",regi,"co2") + vm_emiCdr.l("2020",regi,"co2") + vm_emiMac.l("2020",regi,"co2"))) * sm_c_2_co2 * (pm_ts("2020")/2 + 0.5); -s_actualbudgetco2 = smax(t$(t.val le cm_peakBudgYr AND t.val le 2100),p_actualbudgetco2(t)); +s_actualbudgetco2 = smax(t$(t.val le c_peakBudgYr AND t.val le 2100),p_actualbudgetco2(t)); - o_peakBudgYr_Itr(iteration) = cm_peakBudgYr; + o_peakBudgYr_Itr(iteration) = c_peakBudgYr; display s_actualbudgetco2; display p_actualbudgetco2; @@ -204,20 +204,20 @@ display p_actualbudgetco2; if(ord(iteration) lt 3 or c_budgetCO2from2020 > 1600, !! change in CO2 price through adjustment: new price - old price; needed for adjustment option 2 pm_taxCO2eq_iterationdiff(t,regi) = pm_taxCO2eq(t,regi) * min(max((s_actualbudgetco2/c_budgetCO2from2020)** (25/(2 * iteration.val + 23)),0.5+iteration.val/208),2 - iteration.val/102) - pm_taxCO2eq(t,regi); - pm_taxCO2eq(t,regi)$(t.val le cm_peakBudgYr) = pm_taxCO2eq(t,regi) + pm_taxCO2eq_iterationdiff(t,regi) ; + pm_taxCO2eq(t,regi)$(t.val le c_peakBudgYr) = pm_taxCO2eq(t,regi) + pm_taxCO2eq_iterationdiff(t,regi) ; p_taxCO2eq_until2150(t,regi) = p_taxCO2eq_until2150(t,regi) + pm_taxCO2eq_iterationdiff(t,regi) ; *** then switch to triangle-approximation based on last two iteration data points else !! change in CO2 price through adjustment: new price - old price; the two instances of "pm_taxCO2eq" cancel out -> only the difference term - !! until cm_peakBudgYr: expolinear price trajectory + !! until c_peakBudgYr: expolinear price trajectory pm_taxCO2eq_iterationdiff_tmp(t,regi) = max(pm_taxCO2eq_iterationdiff(t,regi) * min(max((c_budgetCO2from2020 - s_actualbudgetco2)/(s_actualbudgetco2 - s_actualbudgetco2_last),-2),2),-pm_taxCO2eq(t,regi)/2); - pm_taxCO2eq(t,regi)$(t.val le cm_peakBudgYr) = pm_taxCO2eq(t,regi) + + pm_taxCO2eq(t,regi)$(t.val le c_peakBudgYr) = pm_taxCO2eq(t,regi) + max(pm_taxCO2eq_iterationdiff(t,regi) * min(max((c_budgetCO2from2020 - s_actualbudgetco2)/(s_actualbudgetco2 - s_actualbudgetco2_last),-2),2),-pm_taxCO2eq(t,regi)/2); p_taxCO2eq_until2150(t,regi) = p_taxCO2eq_until2150(t,regi) + max(pm_taxCO2eq_iterationdiff(t,regi) * min(max((c_budgetCO2from2020 - s_actualbudgetco2)/(s_actualbudgetco2 - s_actualbudgetco2_last),-2),2),-p_taxCO2eq_until2150(t,regi)/2); pm_taxCO2eq_iterationdiff(t,regi) = pm_taxCO2eq_iterationdiff_tmp(t,regi); - !! after cm_peakBudgYr: adjustment so that emissions become zero: increase/decrease tax in each time step after cm_peakBudgYr by percentage of that year's total CO2 emissions of 2015 emissions + !! after c_peakBudgYr: adjustment so that emissions become zero: increase/decrease tax in each time step after c_peakBudgYr by percentage of that year's total CO2 emissions of 2015 emissions ); o_taxCO2eq_iterDiff_Itr(iteration,regi) = pm_taxCO2eq_iterationdiff("2030",regi); display o_taxCO2eq_iterDiff_Itr; @@ -230,32 +230,32 @@ display p_actualbudgetco2; p_taxCO2eq_until2150(t,regi) = 0.8*p_taxCO2eq_until2150(t,regi); ); ); -*** after cm_peakBudgYr: always adjust to bring emissions close to zero - pm_taxCO2eq(t,regi)$(t.val gt cm_peakBudgYr) = pm_taxCO2eq(t,regi) + pm_taxCO2eq(t,regi)*max(sum(regi2,vm_emiAll.l(t,regi2,"co2"))/sum(regi2,vm_emiAll.l("2015",regi2,"co2")),-0.75); +*** after c_peakBudgYr: always adjust to bring emissions close to zero + pm_taxCO2eq(t,regi)$(t.val gt c_peakBudgYr) = pm_taxCO2eq(t,regi) + pm_taxCO2eq(t,regi)*max(sum(regi2,vm_emiAll.l(t,regi2,"co2"))/sum(regi2,vm_emiAll.l("2015",regi2,"co2")),-0.75); -*** check if cm_peakBudgYr is correct: if global emissions already negative, move cm_peakBudgYr forward +*** check if c_peakBudgYr is correct: if global emissions already negative, move c_peakBudgYr forward *** similar code block as used in iterative-adjust 9 below (credit to RP) o_diff_to_Budg(iteration) = (c_budgetCO2from2020 - s_actualbudgetco2); - o_totCO2emi_peakBudgYr(iteration) = sum(t$(t.val = cm_peakBudgYr), sum(regi2, vm_emiAll.l(t,regi2,"co2")) ); + o_totCO2emi_peakBudgYr(iteration) = sum(t$(t.val = c_peakBudgYr), sum(regi2, vm_emiAll.l(t,regi2,"co2")) ); o_totCO2emi_allYrs(t,iteration) = sum(regi2, vm_emiAll.l(t,regi2,"co2") ); - o_change_totCO2emi_peakBudgYr(iteration) = sum(ttot$(ttot.val = cm_peakBudgYr), (o_totCO2emi_allYrs(ttot-1,iteration) - o_totCO2emi_allYrs(ttot+1,iteration) )/4 ); !! Only gives a tolerance range, exact value not important. Division by 4 somewhat arbitrary - could be 3 or 5 as well. + o_change_totCO2emi_peakBudgYr(iteration) = sum(ttot$(ttot.val = c_peakBudgYr), (o_totCO2emi_allYrs(ttot-1,iteration) - o_totCO2emi_allYrs(ttot+1,iteration) )/4 ); !! Only gives a tolerance range, exact value not important. Division by 4 somewhat arbitrary - could be 3 or 5 as well. - display cm_peakBudgYr, o_diff_to_Budg, o_peakBudgYr_Itr, o_totCO2emi_allYrs, o_totCO2emi_peakBudgYr, o_change_totCO2emi_peakBudgYr; + display c_peakBudgYr, o_diff_to_Budg, o_peakBudgYr_Itr, o_totCO2emi_allYrs, o_totCO2emi_peakBudgYr, o_change_totCO2emi_peakBudgYr; -***if( sum(t,sum(regi2,vm_emiAll.l(t,regi2,"co2")$(t.val = cm_peakBudgYr))) < -0.1, -*** cm_peakBudgYr = tt.val(t - 1)$(t.val = cm_peakBudgYr); +***if( sum(t,sum(regi2,vm_emiAll.l(t,regi2,"co2")$(t.val = c_peakBudgYr))) < -0.1, +*** c_peakBudgYr = tt.val(t - 1)$(t.val = c_peakBudgYr); ***); if( abs(o_diff_to_Budg(iteration)) < 20, !! only think about shifting peakBudgYr if the budget is close enough to target budget display "close enough to target budget to check timing of peak year"; - loop(ttot$(ttot.val = cm_peakBudgYr), !! look at the peak timing -*** if( ( (o_totCO2emi_peakBudgYr(iteration) < -(0.1 + o_change_totCO2emi_peakBudgYr(iteration)) ) AND (cm_peakBudgYr > 2040) ), !! no peaking time before 2040 - if( ( (o_totCO2emi_peakBudgYr(iteration) < -(0.1) ) AND (cm_peakBudgYr > 2040) ), !! no peaking time before 2040 + loop(ttot$(ttot.val = c_peakBudgYr), !! look at the peak timing +*** if( ( (o_totCO2emi_peakBudgYr(iteration) < -(0.1 + o_change_totCO2emi_peakBudgYr(iteration)) ) AND (c_peakBudgYr > 2040) ), !! no peaking time before 2040 + if( ( (o_totCO2emi_peakBudgYr(iteration) < -(0.1) ) AND (c_peakBudgYr > 2040) ), !! no peaking time before 2040 display "shift peakBudgYr left"; o_peakBudgYr_Itr(iteration+1) = pm_ttot_val(ttot - 1); -*** pm_taxCO2eq(t,regi)$(t.val gt pm_ttot_val(ttot - 1)) = p_taxCO2eq_until2150(ttot-1,regi) + (t.val - pm_ttot_val(ttot - 1)) * cm_taxCO2inc_after_peakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by cm_taxCO2inc_after_peakBudgYr per year after peakBudgYr -*** if tax after cm_peakBudgYr is higher than normal increase rate (exceeding a 20% tolerance): shift right - elseif( ( sum(regi, sum(t2$(t2.val = pm_ttot_val(ttot+1)),pm_taxCO2eq(t2,regi))) > sum(regi,sum(t2$(t2.val = pm_ttot_val(ttot+1)),p_taxCO2eq_until2150(t2,regi)))*1.2 ) AND (cm_peakBudgYr < 2100) ), !! if peaking time would be after 2100, keep 2100 budget year +*** pm_taxCO2eq(t,regi)$(t.val gt pm_ttot_val(ttot - 1)) = p_taxCO2eq_until2150(ttot-1,regi) + (t.val - pm_ttot_val(ttot - 1)) * c_taxCO2inc_after_peakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by c_taxCO2inc_after_peakBudgYr per year after peakBudgYr +*** if tax after c_peakBudgYr is higher than normal increase rate (exceeding a 20% tolerance): shift right + elseif( ( sum(regi, sum(t2$(t2.val = pm_ttot_val(ttot+1)),pm_taxCO2eq(t2,regi))) > sum(regi,sum(t2$(t2.val = pm_ttot_val(ttot+1)),p_taxCO2eq_until2150(t2,regi)))*1.2 ) AND (c_peakBudgYr < 2100) ), !! if peaking time would be after 2100, keep 2100 budget year if( (iteration.val > 2) AND ( o_peakBudgYr_Itr(iteration - 1) > o_peakBudgYr_Itr(iteration) ) AND ( o_peakBudgYr_Itr(iteration - 2) = o_peakBudgYr_Itr(iteration) ) , !! if the target year was just shifted left after being shifted right o_peakBudgYr_Itr(iteration+1) = o_peakBudgYr_Itr(iteration); !! don't shift right again immediately else @@ -270,8 +270,8 @@ display p_actualbudgetco2; o_peakBudgYr_Itr(iteration+1) = o_peakBudgYr_Itr(iteration) ); ); - cm_peakBudgYr = o_peakBudgYr_Itr(iteration+1); - display cm_peakBudgYr; + c_peakBudgYr = o_peakBudgYr_Itr(iteration+1); + display c_peakBudgYr; ); @@ -291,7 +291,7 @@ display p_actualbudgetco2; if (cm_iterative_target_adj eq 9, *' Update tax levels/multigas budget values to reach the peak CO~2~ budget, with -*' a linear increase afterwards givn by `cm_taxCO2inc_after_peakBudgYr`. The +*' a linear increase afterwards givn by `c_taxCO2inc_after_peakBudgYr`. The *' peak budget year is determined automatically (within the time window *' 2040--2100) @@ -313,9 +313,9 @@ if (cm_iterative_target_adj eq 9, ) * sm_c_2_co2; - s_actualbudgetco2 = smax(t$( t.val le cm_peakBudgYr ), p_actualbudgetco2(t)); + s_actualbudgetco2 = smax(t$( t.val le c_peakBudgYr ), p_actualbudgetco2(t)); - o_peakBudgYr_Itr(iteration) = cm_peakBudgYr; + o_peakBudgYr_Itr(iteration) = c_peakBudgYr; display s_actualbudgetco2, p_actualbudgetco2; @@ -330,10 +330,10 @@ if (cm_iterative_target_adj eq 9, display iteration; *** if end-of-century budget is higher than budget at peak point, AND end-of-century budget is already in the range of the target budget (+/- 50 GtC), treat as end-of-century budget *** for this iteration. Only do this rough approach (jump to 2100) for the first iterations - at later iterations the slower adjustment of the peaking time should work better - display "this is likely an end-of-century budget with no net negative emissions at all. Shift cm_peakBudgYr to 2100"; - s_actualbudgetco2 = 0.5 * (p_actualbudgetco2("2100") + s_actualbudgetco2); !! due to the potential strong jump in cm_peakBudgYr, which implies that the CO2 price + display "this is likely an end-of-century budget with no net negative emissions at all. Shift c_peakBudgYr to 2100"; + s_actualbudgetco2 = 0.5 * (p_actualbudgetco2("2100") + s_actualbudgetco2); !! due to the potential strong jump in c_peakBudgYr, which implies that the CO2 price *** will increase over a longer time horizon, take the average of the budget at the old peak time and the new peak time - cm_peakBudgYr = 2100; + c_peakBudgYr = 2100; ); *** --------A1: for that, calculate the CO2 tax rescale factor--- @@ -351,8 +351,8 @@ if (cm_iterative_target_adj eq 9, pm_taxCO2eq_iterationdiff(t,regi) = max(1* sm_DptCO2_2_TDpGtC, pm_taxCO2eq(t,regi) * p_factorRescale_taxCO2_Funneled(iteration) ) - pm_taxCO2eq(t,regi); p_taxCO2eq_until2150(t,regi) = max(1* sm_DptCO2_2_TDpGtC, p_taxCO2eq_until2150(t,regi) * p_factorRescale_taxCO2_Funneled(iteration) ); pm_taxCO2eq(t,regi) = max(1* sm_DptCO2_2_TDpGtC, pm_taxCO2eq(t,regi) * p_factorRescale_taxCO2_Funneled(iteration) ); !! rescale co2tax - loop(t2$(t2.val eq cm_peakBudgYr), - pm_taxCO2eq(t,regi)$(t.val gt cm_peakBudgYr) = p_taxCO2eq_until2150(t2,regi) + (t.val - t2.val) * cm_taxCO2inc_after_peakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by cm_taxCO2inc_after_peakBudgYr per year + loop(t2$(t2.val eq c_peakBudgYr), + pm_taxCO2eq(t,regi)$(t.val gt c_peakBudgYr) = p_taxCO2eq_until2150(t2,regi) + (t.val - t2.val) * c_taxCO2inc_after_peakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by c_taxCO2inc_after_peakBudgYr per year ); display p_factorRescale_taxCO2, p_factorRescale_taxCO2_Funneled; @@ -383,19 +383,19 @@ if (cm_iterative_target_adj eq 9, display pm_taxCO2eq, p_taxCO2eq_until2150; -*** -------B: checking the peak timing, if cm_peakBudgYr is still correct or needs to be shifted----------------------- +*** -------B: checking the peak timing, if c_peakBudgYr is still correct or needs to be shifted----------------------- o_diff_to_Budg(iteration) = (c_budgetCO2from2020 - s_actualbudgetco2); - o_totCO2emi_peakBudgYr(iteration) = sum(t$(t.val = cm_peakBudgYr), sum(regi2, vm_emiAll.l(t,regi2,"co2")) ); + o_totCO2emi_peakBudgYr(iteration) = sum(t$(t.val = c_peakBudgYr), sum(regi2, vm_emiAll.l(t,regi2,"co2")) ); o_totCO2emi_allYrs(t,iteration) = sum(regi2, vm_emiAll.l(t,regi2,"co2") ); *RP* calculate how fast emissions are changing around the peaking time to get an idea how close it is possible to get to 0 due to the 5(10) year time steps - o_change_totCO2emi_peakBudgYr(iteration) = sum(ttot$(ttot.val = cm_peakBudgYr), (o_totCO2emi_allYrs(ttot-1,iteration) - o_totCO2emi_allYrs(ttot+1,iteration) )/4 ); !! Only gives a tolerance range, exact value not important. Division by 4 somewhat arbitrary - could be 3 or 5 as well. + o_change_totCO2emi_peakBudgYr(iteration) = sum(ttot$(ttot.val = c_peakBudgYr), (o_totCO2emi_allYrs(ttot-1,iteration) - o_totCO2emi_allYrs(ttot+1,iteration) )/4 ); !! Only gives a tolerance range, exact value not important. Division by 4 somewhat arbitrary - could be 3 or 5 as well. - display cm_peakBudgYr, o_diff_to_Budg, o_peakBudgYr_Itr, o_totCO2emi_allYrs, o_totCO2emi_peakBudgYr, o_change_totCO2emi_peakBudgYr; + display c_peakBudgYr, o_diff_to_Budg, o_peakBudgYr_Itr, o_totCO2emi_allYrs, o_totCO2emi_peakBudgYr, o_change_totCO2emi_peakBudgYr; -*** ----B1: check if cm_peakBudgYr should be shifted left or right: +*** ----B1: check if c_peakBudgYr should be shifted left or right: if( abs(o_diff_to_Budg(iteration)) < 20, !! only think about shifting peakBudgYr if the budget is close enough to target budget display "close enough to target budget to check timing of peak year"; @@ -405,13 +405,13 @@ if (cm_iterative_target_adj eq 9, display "flipflop observed (before loop)"; ); - loop(ttot$(ttot.val = cm_peakBudgYr), !! look at the peak timing - if( ( (o_totCO2emi_peakBudgYr(iteration) < -(0.1 + o_change_totCO2emi_peakBudgYr(iteration)) ) AND (cm_peakBudgYr > 2040) ), !! no peaking time before 2040 + loop(ttot$(ttot.val = c_peakBudgYr), !! look at the peak timing + if( ( (o_totCO2emi_peakBudgYr(iteration) < -(0.1 + o_change_totCO2emi_peakBudgYr(iteration)) ) AND (c_peakBudgYr > 2040) ), !! no peaking time before 2040 display "shift peakBudgYr left"; o_peakBudgYr_Itr(iteration+1) = pm_ttot_val(ttot - 1); - pm_taxCO2eq(t,regi)$(t.val gt pm_ttot_val(ttot - 1)) = p_taxCO2eq_until2150(ttot-1,regi) + (t.val - pm_ttot_val(ttot - 1)) * cm_taxCO2inc_after_peakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by cm_taxCO2inc_after_peakBudgYr per year after peakBudgYr + pm_taxCO2eq(t,regi)$(t.val gt pm_ttot_val(ttot - 1)) = p_taxCO2eq_until2150(ttot-1,regi) + (t.val - pm_ttot_val(ttot - 1)) * c_taxCO2inc_after_peakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by c_taxCO2inc_after_peakBudgYr per year after peakBudgYr - elseif ( ( o_totCO2emi_peakBudgYr(iteration) > (0.1 + o_change_totCO2emi_peakBudgYr(iteration)) ) AND (cm_peakBudgYr < 2100) ), !! if peaking time would be after 2100, keep 2100 budget year + elseif ( ( o_totCO2emi_peakBudgYr(iteration) > (0.1 + o_change_totCO2emi_peakBudgYr(iteration)) ) AND (c_peakBudgYr < 2100) ), !! if peaking time would be after 2100, keep 2100 budget year if( (o_pkBudgYr_flipflop(iteration) eq 1), !! if the target year was just shifted left after being shifted right, and would now be shifted right again display "peakBudgYr was left, right, left and is now supposed to be shifted right again -> flipflop, thus go into separate loop"; o_peakBudgYr_Itr(iteration+1) = o_peakBudgYr_Itr(iteration); !! don't shift right again immediately, but go into a different loop: @@ -424,7 +424,7 @@ if (cm_iterative_target_adj eq 9, o_peakBudgYr_Itr(iteration+1) = pm_ttot_val(ttot + 1); !! ttot+1 is the new peakBudgYr loop(t$(t.val ge pm_ttot_val(ttot + 1)), pm_taxCO2eq(t,regi) = p_taxCO2eq_until2150(ttot+1,regi) - + (t.val - pm_ttot_val(ttot + 1)) * cm_taxCO2inc_after_peakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by cm_taxCO2inc_after_peakBudgYr per year + + (t.val - pm_ttot_val(ttot + 1)) * c_taxCO2inc_after_peakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by c_taxCO2inc_after_peakBudgYr per year ); ); @@ -432,16 +432,16 @@ if (cm_iterative_target_adj eq 9, o_peakBudgYr_Itr(iteration+1) = o_peakBudgYr_Itr(iteration) ); ); - cm_peakBudgYr = o_peakBudgYr_Itr(iteration+1); - display cm_peakBudgYr; + c_peakBudgYr = o_peakBudgYr_Itr(iteration+1); + display c_peakBudgYr; ); - pm_taxCO2eq(t,regi)$(t.val le cm_peakBudgYr) = p_taxCO2eq_until2150(t,regi); !! until peakBudgYr, take the contiuous price trajectory + pm_taxCO2eq(t,regi)$(t.val le c_peakBudgYr) = p_taxCO2eq_until2150(t,regi); !! until peakBudgYr, take the contiuous price trajectory -*** -----B2: if there was a flip-floping of cm_peakBudgYr in the previous iterations, try to overome this by adjusting the CO2 price path after the peaking year +*** -----B2: if there was a flip-floping of c_peakBudgYr in the previous iterations, try to overome this by adjusting the CO2 price path after the peaking year if (o_delay_increase_peakBudgYear(iteration) = 1, display "not shifting peakBudgYr right, instead adjusting CO2 price for following year"; - loop(ttot$(ttot.val eq cm_peakBudgYr), !! set ttot to the current peakBudgYr + loop(ttot$(ttot.val eq c_peakBudgYr), !! set ttot to the current peakBudgYr loop(t2$(t2.val eq pm_ttot_val(ttot+1)), !! set t2 to the following time step o_factorRescale_taxCO2_afterPeakBudgYr(iteration) = 1 + max(sum(regi2,vm_emiAll.l(ttot,regi2,"co2"))/sum(regi2,vm_emiAll.l("2015",regi2,"co2")),-0.75) ; !! this was inspired by Christoph's approach. This value is 1 if emissions in the peakBudgYr are 0; goes down to 0.25 if emissions are <0 and approaching the size of 2015 emissions, and > 1 if emissions > 0. @@ -452,16 +452,16 @@ if (cm_iterative_target_adj eq 9, o_delay_increase_peakBudgYear(iteration+1) = 0; !! probably is not necessary o_reached_until2150pricepath(iteration) = 0; o_peakBudgYr_Itr(iteration+1) = t2.val; !! shift PeakBudgYear to the following time step - cm_peakBudgYr = o_peakBudgYr_Itr(iteration+1); + c_peakBudgYr = o_peakBudgYr_Itr(iteration+1); pm_taxCO2eq(t2,regi) = p_taxCO2eq_until2150(t2,regi) ; !! set CO2 price in t2 to value in the "continuous path" - display cm_peakBudgYr; + display c_peakBudgYr; elseif ( ( o_reached_until2150pricepath(iteration-1) eq 1 ) AND ( o_totCO2emi_peakBudgYr(iteration) < (0.1 + o_change_totCO2emi_peakBudgYr(iteration)) ) ), - display "New intermediate price in timestep after cm_peakBudgYr is sufficient to stabilize peaking year - go back to normal loop"; + display "New intermediate price in timestep after c_peakBudgYr is sufficient to stabilize peaking year - go back to normal loop"; o_delay_increase_peakBudgYear(iteration+1) = 0; !! probably is not necessary o_reached_until2150pricepath(iteration) = 0; o_peakBudgYr_Itr(iteration+1) = o_peakBudgYr_Itr(iteration); - cm_peakBudgYr = o_peakBudgYr_Itr(iteration+1); + c_peakBudgYr = o_peakBudgYr_Itr(iteration+1); else !! either didn't reach the continued "until2150"-price path in last iteration, or the increase was high enough to get emissions to 0. !! in this case, keep PeakBudgYr, and adjust the price in the year after the peakBudgYr to get emissions close to 0, o_delay_increase_peakBudgYear(iteration+1) = 1; !! make sure next iteration peakBudgYr is not shifted right again @@ -471,19 +471,19 @@ if (cm_iterative_target_adj eq 9, ); loop(regi, !! this loop is necessary to allow the <-comparison in the next if statement if( p_taxCO2eq_until2150(t2,regi) < pm_taxCO2eq(t2,regi) , !! check if new price would be higher than the price if the peakBudgYr would be one timestep later - display "price increase reached price from path with cm_peakBudgYr one timestep later - downscale to 99%"; - pm_taxCO2eq(t2,regi) = 0.99 * p_taxCO2eq_until2150(t2,regi); !! reduce the new CO2 price to 99% of the price that it would be if the peaking year was one timestep later. The next iteration will show if this is enough, otherwise cm_peakBudgYr will be shifted right + display "price increase reached price from path with c_peakBudgYr one timestep later - downscale to 99%"; + pm_taxCO2eq(t2,regi) = 0.99 * p_taxCO2eq_until2150(t2,regi); !! reduce the new CO2 price to 99% of the price that it would be if the peaking year was one timestep later. The next iteration will show if this is enough, otherwise c_peakBudgYr will be shifted right o_reached_until2150pricepath(iteration) = 1; !! upward CO2 price correction reached the continued price path - check in next iteration if this is high enough. ); ); ); display o_factorRescale_taxCO2_afterPeakBudgYr; - pm_taxCO2eq(t,regi)$(t.val gt t2.val) = pm_taxCO2eq(t2,regi) + (t.val - t2.val) * cm_taxCO2inc_after_peakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by cm_taxCO2inc_after_peakBudgYr per year + pm_taxCO2eq(t,regi)$(t.val gt t2.val) = pm_taxCO2eq(t2,regi) + (t.val - t2.val) * c_taxCO2inc_after_peakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by c_taxCO2inc_after_peakBudgYr per year ); !! loop t2$(t2.val eq pm_ttot_val(ttot+1)), !! set t2 to the following time step - ); !! loop ttot$(ttot.val eq cm_peakBudgYr), !! set ttot to the current peakBudgYr - cm_peakBudgYr = o_peakBudgYr_Itr(iteration+1); !! this has to happen outside the loop, otherwise the loop condition might be true twice + ); !! loop ttot$(ttot.val eq c_peakBudgYr), !! set ttot to the current peakBudgYr + c_peakBudgYr = o_peakBudgYr_Itr(iteration+1); !! this has to happen outside the loop, otherwise the loop condition might be true twice ); !! if o_delay_increase_peakBudgYear(iteration) = 1, !! if there was a flip-floping in the previous iterations, try to solve this diff --git a/core/preloop.gms b/core/preloop.gms index 7961f8536..a318d7e85 100644 --- a/core/preloop.gms +++ b/core/preloop.gms @@ -86,8 +86,8 @@ if(cm_iterative_target_adj eq 9, *** Save the original functional form of the CO2 price trajectory so values for all times can be accessed even if the peakBudgYr is shifted. *** Then change to linear increasing CO2 price after peaking time p_taxCO2eq_until2150(t,regi) = pm_taxCO2eq(t,regi); - loop(t2$(t2.val eq cm_peakBudgYr), - pm_taxCO2eq(t,regi)$(t.val gt cm_peakBudgYr) = p_taxCO2eq_until2150(t2,regi) + (t.val - t2.val) * cm_taxCO2inc_after_peakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by cm_taxCO2inc_after_peakBudgYr per year + loop(t2$(t2.val eq c_peakBudgYr), + pm_taxCO2eq(t,regi)$(t.val gt c_peakBudgYr) = p_taxCO2eq_until2150(t2,regi) + (t.val - t2.val) * c_taxCO2inc_after_peakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by c_taxCO2inc_after_peakBudgYr per year ); ); diff --git a/core/sets.gms b/core/sets.gms index 23e06f0b9..30e18700d 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -915,6 +915,7 @@ $endif.altFeEmiFac ***######################## R SECTION START (MODULES) ############################### *** THIS CODE IS CREATED AUTOMATICALLY, DO NOT MODIFY THESE LINES DIRECTLY *** ANY DIRECT MODIFICATION WILL BE LOST AFTER NEXT MODEL START +*** CHANGES CAN BE DONE USING THE RESPECTIVE LINES IN scripts/start/prepare.R sets @@ -954,7 +955,7 @@ sets codePerformance / - module2realisation(modules,*) "mapping of modules and active realisations" / +module2realisation(modules,*) "mapping of modules and active realisations" / macro . %macro% welfare . %welfare% PE_FE_parameters . %PE_FE_parameters% diff --git a/main.gms b/main.gms index 6ae92443d..e28f18358 100755 --- a/main.gms +++ b/main.gms @@ -825,7 +825,7 @@ parameter *' * (5): iterative adjustment V for both budget and tax runs based on CO2 emissions 2020-2100, see core/postsolve.gms for direct algorithms of adjustment *' * (6): iterative adjustment VI for both budget and tax runs based on peak CO2 emissions budget, without changing temporal profile (i.e. with overshoot), see core/postsolve.gms for direct algorithms of adjustment *' * (7): iterative adjustment VII for tax runs based on peak CO2 emissions, with change of temporal tax profile after time of peak budget, aiming for net-zero thereafter, see core/postsolve.gms for direct algorithms of adjustment -*' * (9): [REMIND 2.1 default for validation peakBudget runs, in combination with carbonprice = none; after the peaking year annual increase by cm_taxCO2inc_after_peakBudgYr. Automatically shifts cm_peakBudgYr to find the correct peaking year for a given . +*' * (9): [REMIND 2.1 default for validation peakBudget runs, in combination with carbonprice = none; after the peaking year annual increase by c_taxCO2inc_after_peakBudgYr. Automatically shifts c_peakBudgYr to find the correct peaking year for a given . *' parameter cm_NDC_divergentScenario "choose scenario about convergence of CO2eq prices in NDC realization of module 45_carbonprice" @@ -974,14 +974,14 @@ parameter cm_priceSensiBuild = -3; *' price sensitivity of logit function for heating and cooking technological choice parameter - cm_peakBudgYr "date of net-zero CO2 emissions for peak budget runs without overshoot" + c_peakBudgYr "date of net-zero CO2 emissions for peak budget runs without overshoot" ; - cm_peakBudgYr = 2050; !! def = 2050 + c_peakBudgYr = 2050; !! def = 2050 *' time of net-zero CO2 emissions (peak budget), requires emiscen to 9 and cm_iterative_target_adj to 7, will potentially be adjusted by algorithms parameter - cm_taxCO2inc_after_peakBudgYr "annual increase of CO2 price after the Peak Budget Year in $ per tCO2" + c_taxCO2inc_after_peakBudgYr "annual increase of CO2 price after the Peak Budget Year in $ per tCO2" ; - cm_taxCO2inc_after_peakBudgYr = 0; !! def = 0 . For weak targets (higher than 1100 Peak Budget), this value might need to increased to prevent continually increasing temperatures + c_taxCO2inc_after_peakBudgYr = 0; !! def = 0 . For weak targets (higher than 1100 Peak Budget), this value might need to increased to prevent continually increasing temperatures *' parameter cm_CO2priceRegConvEndYr "Year at which regional CO2 prices converge in module 45 realization diffCurvPhaseIn2Lin" diff --git a/modules/45_carbonprice/NDC/not_used.txt b/modules/45_carbonprice/NDC/not_used.txt index e35980b75..a6074d37e 100644 --- a/modules/45_carbonprice/NDC/not_used.txt +++ b/modules/45_carbonprice/NDC/not_used.txt @@ -7,12 +7,9 @@ name,type,reason cm_emiscen, switch, ??? cm_co2_tax_2020, switch, ??? -pm_pvp,parameter,??? pm_ttot_val,parameter,??? -pm_ts,parameter,??? cm_co2_tax_growth,switch,??? cm_expoLinear_yearStart,switch,??? -vm_cesIO,variable,??? pm_globalMeanTemperature,input,questionnaire pm_temperatureImpulseResponseCO2,input,questionnaire pm_consPC,input,questionnaire @@ -24,5 +21,3 @@ pm_shPPPMER,input,questionnaire pm_pop,input,questionnaire pm_gdp,input,questionnaire cm_CO2priceRegConvEndYr,input,questionnaire -cm_peakBudgYr,input,questionnaire -cm_taxCO2inc_after_peakBudgYr,input,questionnaire diff --git a/modules/45_carbonprice/NPi/not_used.txt b/modules/45_carbonprice/NPi/not_used.txt index 39538f4ae..f350dfb4c 100644 --- a/modules/45_carbonprice/NPi/not_used.txt +++ b/modules/45_carbonprice/NPi/not_used.txt @@ -7,10 +7,7 @@ name,type,reason cm_emiscen, switch, ??? cm_co2_tax_2020, switch, ??? -vm_cesIO,variable,??? -pm_pvp,parameter,??? pm_ttot_val,parameter,??? -pm_ts,parameter,??? cm_co2_tax_growth,switch,??? cm_expoLinear_yearStart,switch,??? pm_globalMeanTemperature,input,questionnaire @@ -28,8 +25,6 @@ pm_shPPPMER,input,questionnaire pm_pop,input,questionnaire pm_gdp,input,questionnaire cm_CO2priceRegConvEndYr,input,questionnaire -cm_peakBudgYr,input,questionnaire -cm_taxCO2inc_after_peakBudgYr,input,questionnaire cm_NDC_divergentScenario,input,questionnaire vm_demFeSector,input,questionnaire pm_emifac,input,questionnaire diff --git a/modules/45_carbonprice/diffCurvPhaseIn2Lin/datainput.gms b/modules/45_carbonprice/diffCurvPhaseIn2Lin/datainput.gms index 528a10617..f7f2f48bd 100644 --- a/modules/45_carbonprice/diffCurvPhaseIn2Lin/datainput.gms +++ b/modules/45_carbonprice/diffCurvPhaseIn2Lin/datainput.gms @@ -26,7 +26,7 @@ display p45_phasein_2025ratio; *** for the current implementation, use the following trajectory for rich countries: -*** global price is linear from 2010 until the pkBudgYr, then increases with cm_taxCO2inc_after_peakBudgYr +*** global price is linear from 2010 until the pkBudgYr, then increases with c_taxCO2inc_after_peakBudgYr if(cm_co2_tax_2020 lt 0, abort "please choose a valid cm_co2_tax_2020" elseif cm_co2_tax_2020 ge 0, diff --git a/modules/45_carbonprice/diffCurvPhaseIn2Lin/not_used.txt b/modules/45_carbonprice/diffCurvPhaseIn2Lin/not_used.txt index 6c8c8fefa..6d7ccb555 100644 --- a/modules/45_carbonprice/diffCurvPhaseIn2Lin/not_used.txt +++ b/modules/45_carbonprice/diffCurvPhaseIn2Lin/not_used.txt @@ -6,24 +6,19 @@ # | Contact: remind@pik-potsdam.de name,type,reason sm_c_2_co2,input,questionnaire -cm_peakBudgYr,input,questionnaire vm_co2eq,input,questionnaire vm_emiFgas,input,questionnaire -pm_pvp,input,questionnaire pm_globalMeanTemperature,input,questionnaire pm_temperatureImpulseResponseCO2,input,questionnaire pm_GDPGross,input,questionnaire pm_ttot_val,input,questionnaire -pm_ts,input,questionnaire pm_ttot_2_tall,input,questionnaire cm_emiscen,input,questionnaire cm_co2_tax_growth,input,questionnaire cm_iterative_target_adj,input,questionnaire cm_expoLinear_yearStart,input,questionnaire cm_carbonprice_temperatureLimit,input,questionnaire -cm_taxCO2inc_after_peakBudgYr,input,questionnaire cm_NDC_divergentScenario,input,questionnaire -vm_cesIO,input,questionnaire pm_consPC,input,questionnaire pm_prtp,input,questionnaire vm_demFeSector,input,questionnaire diff --git a/modules/45_carbonprice/exogenous/not_used.txt b/modules/45_carbonprice/exogenous/not_used.txt index 32735e105..58ad010b8 100644 --- a/modules/45_carbonprice/exogenous/not_used.txt +++ b/modules/45_carbonprice/exogenous/not_used.txt @@ -7,10 +7,7 @@ name,type,reason cm_co2_tax_2020, switch, ??? sm_c_2_co2,switch, ??? -vm_cesIO,variable,??? -pm_pvp,parameter,??? pm_ttot_val,parameter,??? -pm_ts,parameter,??? cm_co2_tax_growth,switch,??? cm_iterative_target_adj,switch,??? cm_expoLinear_yearStart,switch,??? @@ -27,11 +24,8 @@ pm_shPPPMER,input,questionnaire pm_pop,input,questionnaire pm_gdp,input,questionnaire cm_CO2priceRegConvEndYr,input,questionnaire -cm_peakBudgYr,input,questionnaire -cm_taxCO2inc_after_peakBudgYr,input,questionnaire cm_NDC_divergentScenario,input,questionnaire vm_demFeSector,input,questionnaire pm_emifac,input,questionnaire sm_DptCO2_2_TDpGtC,input,questionnaire cm_startyear,input,questionnaire - diff --git a/modules/45_carbonprice/expoLinear/not_used.txt b/modules/45_carbonprice/expoLinear/not_used.txt index 3fa3e5060..d79790db7 100644 --- a/modules/45_carbonprice/expoLinear/not_used.txt +++ b/modules/45_carbonprice/expoLinear/not_used.txt @@ -6,9 +6,6 @@ # | Contact: remind@pik-potsdam.de name,type,reason sm_c_2_co2,switch, ??? -vm_cesIO,variable,??? -pm_pvp,parameter,??? -pm_ts,parameter,??? cm_emiscen,switch,??? cm_iterative_target_adj,switch,??? vm_co2eq,variable,??? @@ -24,8 +21,6 @@ pm_shPPPMER,input,questionnaire pm_pop,input,questionnaire pm_gdp,input,questionnaire cm_CO2priceRegConvEndYr,input,questionnaire -cm_peakBudgYr,input,questionnaire -cm_taxCO2inc_after_peakBudgYr,input,questionnaire cm_NDC_divergentScenario,input,questionnaire vm_demFeSector,input,questionnaire pm_emifac,input,questionnaire diff --git a/modules/45_carbonprice/exponential/not_used.txt b/modules/45_carbonprice/exponential/not_used.txt index feabf09e3..ba75bf1dd 100644 --- a/modules/45_carbonprice/exponential/not_used.txt +++ b/modules/45_carbonprice/exponential/not_used.txt @@ -7,10 +7,7 @@ name,type,reason cm_emiscen, switch, ??? sm_c_2_co2,switch, ??? -vm_cesIO,variable,??? -pm_pvp,parameter,??? pm_ttot_val,parameter,??? -pm_ts,parameter,??? cm_startyear,switch,??? cm_iterative_target_adj,switch,??? cm_expoLinear_yearStart,switch,??? @@ -27,8 +24,6 @@ pm_shPPPMER,input,questionnaire pm_pop,input,questionnaire pm_gdp,input,questionnaire cm_CO2priceRegConvEndYr,input,questionnaire -cm_peakBudgYr,input,questionnaire -cm_taxCO2inc_after_peakBudgYr,input,questionnaire cm_NDC_divergentScenario,input,questionnaire vm_demFeSector,input,questionnaire pm_emifac,input,questionnaire diff --git a/modules/45_carbonprice/linear/not_used.txt b/modules/45_carbonprice/linear/not_used.txt index cfcaf7871..92948f846 100644 --- a/modules/45_carbonprice/linear/not_used.txt +++ b/modules/45_carbonprice/linear/not_used.txt @@ -7,10 +7,7 @@ name,type,reason cm_emiscen, switch, ??? sm_c_2_co2,switch, ??? -vm_cesIO,variable,??? -pm_pvp,parameter,??? pm_ttot_val,parameter,??? -pm_ts,parameter,??? cm_co2_tax_growth,switch,??? cm_iterative_target_adj,switch,??? cm_expoLinear_yearStart,switch,??? @@ -27,8 +24,6 @@ pm_shPPPMER,input,questionnaire pm_pop,input,questionnaire pm_gdp,input,questionnaire cm_CO2priceRegConvEndYr,input,questionnaire -cm_peakBudgYr,input,questionnaire -cm_taxCO2inc_after_peakBudgYr,input,questionnaire cm_NDC_divergentScenario,input,questionnaire vm_demFeSector,input,questionnaire pm_emifac,input,questionnaire diff --git a/modules/45_carbonprice/none/not_used.txt b/modules/45_carbonprice/none/not_used.txt index 9959bf070..b97b7f72b 100644 --- a/modules/45_carbonprice/none/not_used.txt +++ b/modules/45_carbonprice/none/not_used.txt @@ -8,10 +8,7 @@ name,type,reason cm_emiscen, switch, ??? cm_co2_tax_2020, switch, ??? sm_c_2_co2,switch, ??? -vm_cesIO,variable,??? -pm_pvp,parameter,??? pm_ttot_val,parameter,??? -pm_ts,parameter,??? cm_co2_tax_growth,switch,??? cm_startyear,switch,??? cm_iterative_target_adj,switch,??? @@ -30,8 +27,6 @@ pm_shPPPMER,input,questionnaire pm_pop,input,questionnaire pm_gdp,input,questionnaire cm_CO2priceRegConvEndYr,input,questionnaire -cm_peakBudgYr,input,questionnaire -cm_taxCO2inc_after_peakBudgYr,input,questionnaire cm_NDC_divergentScenario,input,questionnaire vm_demFeSector,input,questionnaire pm_emifac,input,questionnaire diff --git a/modules/45_carbonprice/temperatureNotToExceed/not_used.txt b/modules/45_carbonprice/temperatureNotToExceed/not_used.txt index 300bc2d08..eecab9a8d 100644 --- a/modules/45_carbonprice/temperatureNotToExceed/not_used.txt +++ b/modules/45_carbonprice/temperatureNotToExceed/not_used.txt @@ -9,10 +9,7 @@ sm_c_2_co2,input,questionnaire sm_DptCO2_2_TDpGtC,input,questionnaire vm_co2eq,input,questionnaire vm_emiFgas,input,questionnaire -vm_cesIO,input,questionnaire -pm_pvp,input,questionnaire pm_ttot_val,input,questionnaire -pm_ts,input,questionnaire cm_co2_tax_2020,input,questionnaire cm_co2_tax_growth,input,questionnaire cm_startyear,input,questionnaire @@ -22,8 +19,6 @@ pm_shPPPMER,input,questionnaire pm_pop,input,questionnaire pm_gdp,input,questionnaire cm_CO2priceRegConvEndYr,input,questionnaire -cm_peakBudgYr,input,questionnaire -cm_taxCO2inc_after_peakBudgYr,input,questionnaire cm_NDC_divergentScenario,input,questionnaire vm_demFeSector,input,questionnaire pm_emifac,input,questionnaire diff --git a/scripts/start/readCheckScenarioConfig.R b/scripts/start/readCheckScenarioConfig.R index 6e4661be6..470cc8c38 100644 --- a/scripts/start/readCheckScenarioConfig.R +++ b/scripts/start/readCheckScenarioConfig.R @@ -140,6 +140,8 @@ readCheckScenarioConfig <- function(filename, remindPath = ".", testmode = FALSE "cm_OILRETIRE" = "Now always on by default, see https://github.com/remindmodel/remind/pull/1102", "cm_fixCO2price" = "Was never in use, removed in https://github.com/remindmodel/remind/pull/1369", "cm_calibration_FE" = "Deleted, only used for old hand made industry trajectories, see https://github.com/remindmodel/remind/pull/1468", + "cm_peakBudgYr" = "Rename to c_peakBudgYr, see https://github.com/remindmodel/remind/pull/1488", + "cm_taxCO2inc_after_peakBudgYr" = "Rename to c_taxCO2inc_after_peakBudgYr, see https://github.com/remindmodel/remind/pull/1488", NULL) for (i in intersect(names(forbiddenColumnNames), unknownColumnNames)) { if (testmode) { diff --git a/standalone/MOFEX/MOFEX.gms b/standalone/MOFEX/MOFEX.gms index d709b73a2..498c92837 100644 --- a/standalone/MOFEX/MOFEX.gms +++ b/standalone/MOFEX/MOFEX.gms @@ -191,8 +191,8 @@ cm_frac_NetNegEmi "tax on CDR to reflect risk of overshooting, formulated as cm_DiscRateScen "Scenario for the implicit discount rate applied to the energy efficiency capital" cm_noReboundEffect "Switch for allowing a rebound effect when closing the efficiency gap (cm_DiscRateScen)" cm_priceSensiBuild "Price sensitivity of energy carrier choice in buildings" -cm_peakBudgYr "date of net-zero CO2 emissions for peak budget runs without overshoot" -cm_taxCO2inc_after_peakBudgYr "annual increase of CO2 price after the Peak Budget Year in $ per tCO2" +c_peakBudgYr "date of net-zero CO2 emissions for peak budget runs without overshoot" +c_taxCO2inc_after_peakBudgYr "annual increase of CO2 price after the Peak Budget Year in $ per tCO2" cm_CO2priceRegConvEndYr "Year at which regional CO2 prices converge in module 45 realization diffCurvPhaseIn2Lin" c_regi_nucscen "regions to apply nucscen to" c_regi_capturescen "region to apply ccapturescen to" @@ -325,8 +325,8 @@ c_budgetCO2 = 0; !! def = 1300 $setGlobal cm_emiMktTarget off !! def = off cm_postTargetIncrease = 0; !! def = 0 $setGlobal cm_quantity_regiCO2target off !! def = off -cm_peakBudgYr = 2050; !! def = 2050 -cm_taxCO2inc_after_peakBudgYr = 2; !! def = 2 +c_peakBudgYr = 2050; !! def = 2050 +c_taxCO2inc_after_peakBudgYr = 2; !! def = 2 cm_CO2priceRegConvEndYr = 2050; !! def = 2050 $setGlobal cm_NucRegiPol off !! def = off diff --git a/standalone/trade/trade.gms b/standalone/trade/trade.gms index 0469f7aaa..821d41d72 100644 --- a/standalone/trade/trade.gms +++ b/standalone/trade/trade.gms @@ -195,8 +195,8 @@ cm_frac_NetNegEmi "tax on CDR to reflect risk of overshooting, formulated as cm_DiscRateScen "Scenario for the implicit discount rate applied to the energy efficiency capital" cm_noReboundEffect "Switch for allowing a rebound effect when closing the efficiency gap (cm_DiscRateScen)" cm_priceSensiBuild "Price sensitivity of energy carrier choice in buildings" -cm_peakBudgYr "date of net-zero CO2 emissions for peak budget runs without overshoot" -cm_taxCO2inc_after_peakBudgYr "annual increase of CO2 price after the Peak Budget Year in $ per tCO2" +c_peakBudgYr "date of net-zero CO2 emissions for peak budget runs without overshoot" +c_taxCO2inc_after_peakBudgYr "annual increase of CO2 price after the Peak Budget Year in $ per tCO2" cm_CO2priceRegConvEndYr "Year at which regional CO2 prices converge in module 45 realization diffCurvPhaseIn2Lin" c_regi_nucscen "regions to apply nucscen to" c_regi_capturescen "region to apply ccapturescen to" @@ -330,8 +330,8 @@ c_budgetCO2 = 1350; !! def = 1300 $setGlobal cm_emiMktTarget off !! def = off cm_postTargetIncrease = 0; !! def = 0 $setGlobal cm_quantity_regiCO2target off !! def = off -cm_peakBudgYr = 2050; !! def = 2050 -cm_taxCO2inc_after_peakBudgYr = 2; !! def = 2 +c_peakBudgYr = 2050; !! def = 2050 +c_taxCO2inc_after_peakBudgYr = 2; !! def = 2 cm_CO2priceRegConvEndYr = 2050; !! def = 2050 $setGlobal cm_NucRegiPol off !! def = off