-
Notifications
You must be signed in to change notification settings - Fork 142
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
45_carbonprice: added flexibility for starting point of linear curve to diffLin2Lin #1776
45_carbonprice: added flexibility for starting point of linear curve to diffLin2Lin #1776
Conversation
…to diffLin2Lin, restructured code and improved documentation of diffLin2Lin and diffExp2Lin
bbb3187
to
11b5d20
Compare
@@ -1,4 +1,4 @@ | |||
title;start;copyConfigFrom;.description;CES_parameters;c_keep_iteration_gdxes;cm_calibration_string;optimization;c_testOneRegi_region;cm_solver_try_max;cm_nash_mode;cm_startIter_EDGET;subsidizeLearning;trade;cm_trade_SE_exog;cm_EnSecScen_price;cm_EnSecScen_limit;cm_Ger_Pol;c_ccsinjecratescen;c_ccsinjecrateRegi;cm_ccsinjeCost;cm_frac_NetNegEmi;cm_bioprod_regi_lim;c_tech_earlyreti_rate;cm_import_tax;cm_1stgen_phaseout;c_agricult_base_shift;cm_altFeEmiFac;cm_PriceDurSlope_elh2;cm_SEtaxRampUpParam;cm_build_H2costAddH2Inv;cm_steel_secondary_max_share_scenario;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_exogDem_scen;cm_wasteIncinerationCCSshare;cm_feedstockEmiUnknownFate;cm_ind_energy_limit;cm_ind_energy_limit_manual;cm_FEtax_trajectory_abs;cm_FEtax_trajectory_rel;cm_inco0Factor;cm_adj_coeff_multiplier;cm_adj_seed_multiplier;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;c_budgetCO2from2020;carbonprice;cm_co2_tax_2020;cm_peakBudgYr;c_taxCO2inc_after_peakBudgYr;techpol;regipol;cm_regiExoPrice;cm_emiMktTarget;cm_emiMktTarget_tolerance;cm_NucRegiPol;cm_CoalRegiPol;cm_EDGEtr_scen;cm_emiscen;cm_multigasscen;cm_POPscen;cm_GDPscen;cm_demScen;cm_startyear;path_gdx;path_gdx_ref | |||
title;start;copyConfigFrom;.description;CES_parameters;c_keep_iteration_gdxes;cm_calibration_string;optimization;c_testOneRegi_region;cm_solver_try_max;cm_nash_mode;cm_startIter_EDGET;subsidizeLearning;trade;cm_trade_SE_exog;cm_EnSecScen_price;cm_EnSecScen_limit;cm_Ger_Pol;c_ccsinjecratescen;c_ccsinjecrateRegi;cm_ccsinjeCost;cm_frac_NetNegEmi;cm_bioprod_regi_lim;c_tech_earlyreti_rate;cm_import_tax;cm_1stgen_phaseout;c_agricult_base_shift;cm_altFeEmiFac;cm_PriceDurSlope_elh2;cm_SEtaxRampUpParam;cm_build_H2costAddH2Inv;cm_steel_secondary_max_share_scenario;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_exogDem_scen;cm_wasteIncinerationCCSshare;cm_feedstockEmiUnknownFate;cm_ind_energy_limit;cm_ind_energy_limit_manual;cm_FEtax_trajectory_abs;cm_FEtax_trajectory_rel;cm_inco0Factor;cm_adj_coeff_multiplier;cm_adj_seed_multiplier;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;c_budgetCO2from2020;carbonprice;cm_co2_tax_2020;cm_peakBudgYr;cm_taxCO2inc_after_peakBudgYr;techpol;regipol;cm_regiExoPrice;cm_emiMktTarget;cm_emiMktTarget_tolerance;cm_NucRegiPol;cm_CoalRegiPol;cm_EDGEtr_scen;cm_emiscen;cm_multigasscen;cm_POPscen;cm_GDPscen;cm_demScen;cm_startyear;path_gdx;path_gdx_ref |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only changed c_taxCO2inc_after_peakBudgYr
to cm_taxCO2inc_after_peakBudgYr
@@ -1,4 +1,4 @@ | |||
title;start;slurmConfig;climate;cm_import_tax;cm_taxrc_RE;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_wasteIncinerationCCSshare;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;cm_LearningSpillover;c_budgetCO2from2020;carbonprice;carbonpriceRegi;cm_netZeroScen;cm_co2_tax_2020;cm_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_carbonprice;path_gdx;path_gdx_ref;path_gdx_bau;description | |||
title;start;slurmConfig;climate;cm_import_tax;cm_taxrc_RE;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_wasteIncinerationCCSshare;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;cm_LearningSpillover;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_carbonprice;path_gdx;path_gdx_ref;path_gdx_bau;description |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only changed c_taxCO2inc_after_peakBudgYr
to cm_taxCO2inc_after_peakBudgYr
A few additional comments for the reviewers:
|
looking forward! |
hmmm, I would say as part of teh description of teh set it would be good. In general, we know that from time to time we need to check, if our carbon price is still working as intended. So, we should think about it from time to time.... |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do you also need to adjust scenario_config.csv?; Did you check that you do not need to adjust the reporting?
No, since the switch |
@@ -160,7 +160,7 @@ readCheckScenarioConfig <- function(filename, remindPath = ".", testmode = FALSE | |||
"cm_calibration_FE" = "Deleted, only used for old hand made industry trajectories, see https://github.com/remindmodel/remind/pull/1468", | |||
"cm_DAC_eff" = "Deleted, not used anymore, see https://github.com/remindmodel/remind/pull/1487", | |||
"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", | |||
"c_taxCO2inc_after_peakBudgYr" = "Rename to cm_taxCO2inc_after_peakBudgYr, see https://github.com/remindmodel/remind/pull/1776", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
At some point, I wonder whether it would be easier to just accept both cm_taxCO2inc_after_peakBudgYr
and c_taxCO2inc_after_peakBudgYr
as a switch :D
@@ -8,6 +8,18 @@ | |||
|
|||
*#' @description: This realization implements linearly increasing carbon price - either until 2100 or until peak year (constant or linear thereafter). Optional carbon price differentiation and quadratic phase-in can be activated via switch cm_co2_tax_spread. | |||
|
|||
***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks for adding precise documentation
Yes, but I did not see any changes that might affect the reporting. Did you have a specific aspect in mind? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fine from my side, thanks for the detailed explanation and documentation!
no, thanks |
Purpose of this PR
cm_co2_tax_hist
andcm_year_co2_tax_hist
to enable flexible start point of linear CO2 price trajectory indiffLin2Lin
of45_carbonprice
. By default,cm_year_co2_tax_hist
is the last time period beforecm_startyear
(e.g. 2020 if start year is 2025) andcm_co2_tax_hist
is level of CO2 tax (defined as maximum ofpm_taxCO2eq
over all regions) frompath_gdx_ref
incm_year_co2_tax_hist
(e.g. 25$ in 2020).diffLin2Lin
anddiffExp2Lin
diffLin2Lin
anddiffExp2Lin
withcm_iterative_target_adj = 0
in order to easily create exogenous CO2 price trajectories using the switchescm_co2_tax_startyear
andcm_peakBudgYr
Type of change
Checklist:
remind2
where it was neededforbiddenColumnNames
in readCheckScenarioConfig.R in case the PR leads to deprecated switchesFAIL 0
in the output ofmake test
)CHANGELOG.md
has been updated correctlyFurther information:
/p/tmp/laurinko/hpc/remind/output
(all folders created on 08/08/2024). Information on convergence:The execution errors for SSP2-PkBudg500 runs with start year 2030 are a consequence of the shifted start year (compared to 2025 in default runs) together with a very tight budget. The repeated non-convergence for SSP2-PkBudg650-Hotelling runs (i.e. uniform exponentially increasing CO2 price trajectory until peak year, then constant) is due to failed markets and failed tax convergence. However, the successful convergence of runs with other budget (500 or 1050) but otherwise identical settings indicates that this is not an general problem of the
diffExp2Lin
realizationcm_co2_tax_hist
andcm_year_co2_tax_hist
have values25 $ / t CO2
and2020
which agrees with the values for the starting point of the linear curve that had been hard-coded so far. For completeness, here are the CO2 price trajectories:diffLin2Lin
realization, i.e. linear curve going through (2020,25$), with an alternative setting, where the linear curve goes through (2024, 25$).diffLin2Lin
realization, i.e. linear curve going through (period before start year = 2025, maximal CO2 price among all regions in 2025 in NPi run = 25$), with an alternative setting, where the linear curve goes through (2025, 100$).