Refactoring of 45_carbonprice incl. postsolve algorithms - #1874
Conversation
d8a5cc2 to
acc22ad
Compare
There was a problem hiding this comment.
No relevant changes, only renaming. Parameters cannot be moved to module since they are displayed as in 80_optimization.
There was a problem hiding this comment.
Moved parameters to 45_carbonprice
| *-------------------------------calculate regional permit prices----------------------------------- | ||
|
|
||
| *** saving CO2 tax used in this iteration | ||
| p_taxCO2eq_iteration(iteration,ttot,regi) = pm_taxCO2eq(ttot,regi); |
There was a problem hiding this comment.
moved to end of 45_carbonprice/functionalForm/postsolve.gms
There was a problem hiding this comment.
Moved algorithms for cm_iterative_target_adj =5, 7, and 9 to 45_carbonprice/functionalForm/postsolve.gms,
deleted unused algorithms for cm_iterative_target_adj =4 and 6.
There was a problem hiding this comment.
Moved to datainput of 45_carbonprice
| *' * [5]: no adaptation of carbonprice path after peak year | ||
| *' * [0]: after the (exogenously fixed) peak year, carbonprice path increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant); | ||
| *' * choose cm_peakBudgYr = 2110 for no adaptation of carbonprice path until end of century | ||
| *' * (functionalForm): [REMIND default for peak budget and end-of-century budget runs] |
There was a problem hiding this comment.
Adjusted explanations for use of 45_carbonprice
| *' | ||
| parameter | ||
| cm_co2_tax_startyear "level of co2 tax in start year in $ per t CO2eq" | ||
| cm_taxCO2_startyear "level of co2 tax in start year in $ per t CO2eq" |
There was a problem hiding this comment.
Harmonization of switch names, all starting with cm_taxCO2
| *' * initialization of CO2 tax in start year [if cm_iterative_target_adj eq 5, 7 or 9] | ||
| parameter | ||
| cm_co2_tax_growth "growth rate of carbon tax" | ||
| cm_taxCO2_expGrowth "growth rate of carbon tax" |
There was a problem hiding this comment.
Harmonization of switch names, all starting with cm_taxCO2
| *' time of net-zero CO2 emissions (peak budget) | ||
| *' endogenous adjustment by algorithms in 45_carbonprice/functionalForm/postsolve.gms [requires emiscen = 9 and cm_iterative_target_adj = 7 or 9] | ||
| parameter | ||
| cm_taxCO2_IncAfterPeakBudgYr "annual increase of CO2 tax after cm_peakBudgYr in $ per tCO2" |
There was a problem hiding this comment.
Harmonization of switch names, all starting with cm_taxCO2
| cm_co2_tax_growth = 1.045; !! def = 1.045 !! regexp = is.numeric | ||
| cm_taxCO2_expGrowth = 1.045; !! def = 1.045 !! regexp = is.numeric | ||
| *' (any number >= 0): rate of exponential increase over time, default value chosen to be consistent with interest rate | ||
| parameter |
There was a problem hiding this comment.
Reordering of switches to group all switches concerning 45_carbonprice
| *' * (last): last time period before start year (e.g. 2025 if start year is 2030) | ||
| *' * (any number >= 2005 and < cm_startyear): year for which historical level of CO2 tax (cm_co2_tax_hist) is provided (e.g. 2024) | ||
| $setglobal cm_year_co2_tax_hist last !! def = "last" !! regexp = last|is.nonnegative | ||
| *** cm_taxCO2_functionalForm "switch for choosing the functional form of the global anchor trajectory in 45_carbonprice/functionalForm" |
There was a problem hiding this comment.
Harmonization of flag names, all starting with cm_taxCO2
There was a problem hiding this comment.
New realization functionalForm combining diffLin2Lin and diffExp2Lin, and adding new functionalities. Structure (Parts I-IV) explained in realization.gms
There was a problem hiding this comment.
Parameters moved from core to 45_carbonprice
There was a problem hiding this comment.
Moved from core to 45_carbonprice. Main difference concerns use of p45_taxCO2eq_anchor for shifting of carbon price trajectories (instead of pm_taxCO2eq).
There was a problem hiding this comment.
Add warning if postsolve algorithms (cm_iterative_target_adj = 5, 7 or 9) are used, but not carbonprice = functionalForm.
…ce differentiation
24e44ca to
69e212f
Compare
There was a problem hiding this comment.
File comparison: /p/projects/rd3mod/github/repos/remindmodel/remind/develop/config/scenario_config.csv -> ./config/scenario_config.csv
Columns deleted: -
Columns added: cm_taxCO2_functionalForm
Renamed columns: c_budgetCO2from2020 -> cm_budgetCO2from2020, cm_co2_tax_growth -> cm_taxCO2_expGrowth, cm_co2_tax_spread -> cm_taxCO2_regiDiff, cm_co2_tax_startyear -> cm_taxCO2_startyear, cm_CO2priceRegConvEndYr -> cm_taxCO2_regiDiff_endYr
Renamed rows: -
Changes in the scenarios:
~ SSP2-NPi-calibrate:
cm_co2_tax_startyear -> cm_taxCO2_startyear: -1 -> NA
cm_co2_tax_spread -> cm_taxCO2_regiDiff: 10 -> NA
cm_CO2priceRegConvEndYr -> cm_taxCO2_regiDiff_endYr: 2050 -> NA
cm_co2_tax_growth -> cm_taxCO2_expGrowth: 1.045 -> NA
~ SSP2-NDC:
cm_co2_tax_startyear -> cm_taxCO2_startyear: -1 -> NA
cm_co2_tax_spread -> cm_taxCO2_regiDiff: 10 -> NA
cm_CO2priceRegConvEndYr -> cm_taxCO2_regiDiff_endYr: 2050 -> NA
cm_co2_tax_growth -> cm_taxCO2_expGrowth: 1.045 -> NA
path_gdx_ref: SSP2-NPi -> SSP2-NPi2025
~ SSP2-NPi:
cm_co2_tax_startyear -> cm_taxCO2_startyear: -1 -> NA
cm_co2_tax_spread -> cm_taxCO2_regiDiff: 10 -> NA
cm_CO2priceRegConvEndYr -> cm_taxCO2_regiDiff_endYr: 2050 -> NA
cm_co2_tax_growth -> cm_taxCO2_expGrowth: 1.045 -> NA
+ SSP2-NPi2025 was added.
~ SSP2-PkBudg500:
carbonprice: diffLin2Lin -> functionalForm (default: none)
cm_co2_tax_spread -> cm_taxCO2_regiDiff: 10 -> NA
cm_CO2priceRegConvEndYr -> cm_taxCO2_regiDiff_endYr: 2050 -> NA
cm_co2_tax_growth -> cm_taxCO2_expGrowth: 1.045 -> NA
path_gdx_ref: SSP2-NPi -> SSP2-NPi2025
~ SSP2-PkBudg650:
carbonprice: diffLin2Lin -> functionalForm (default: none)
cm_co2_tax_startyear -> cm_taxCO2_startyear: 75 -> 100
cm_co2_tax_spread -> cm_taxCO2_regiDiff: 10 -> NA
cm_CO2priceRegConvEndYr -> cm_taxCO2_regiDiff_endYr: 2050 -> NA
cm_co2_tax_growth -> cm_taxCO2_expGrowth: 1.045 -> NA
path_gdx_ref: SSP2-NPi -> SSP2-NPi2025
~ SSP2-PkBudg1000:
carbonprice: diffLin2Lin -> functionalForm (default: none)
cm_co2_tax_startyear -> cm_taxCO2_startyear: 45 -> 75
cm_co2_tax_spread -> cm_taxCO2_regiDiff: 10 -> NA
cm_CO2priceRegConvEndYr -> cm_taxCO2_regiDiff_endYr: 2050 -> NA
cm_co2_tax_growth -> cm_taxCO2_expGrowth: 1.045 -> NA
path_gdx_ref: SSP2-NPi -> SSP2-NPi2025
~ SSP2-EcBudg400:
carbonprice: diffExp2Lin -> functionalForm (default: none)
cm_co2_tax_spread -> cm_taxCO2_regiDiff: 20 -> initialSpread20
cm_CO2priceRegConvEndYr -> cm_taxCO2_regiDiff_endYr: 2070 -> GLO 2070
cm_co2_tax_growth -> cm_taxCO2_expGrowth: 1.045 -> NA
path_gdx_ref: SSP2-NPi -> SSP2-NPi2025
cm_taxCO2_functionalForm: NA -> exponential
~ SSP2-EU21-NPi-calibrate:
cm_co2_tax_startyear -> cm_taxCO2_startyear: -1 -> NA
cm_co2_tax_spread -> cm_taxCO2_regiDiff: 10 -> NA
cm_CO2priceRegConvEndYr -> cm_taxCO2_regiDiff_endYr: 2050 -> NA
cm_co2_tax_growth -> cm_taxCO2_expGrowth: 1.045 -> NA
~ SSP2-EU21-Base:
cm_co2_tax_startyear -> cm_taxCO2_startyear: -1 -> NA
cm_co2_tax_spread -> cm_taxCO2_regiDiff: 10 -> NA
cm_CO2priceRegConvEndYr -> cm_taxCO2_regiDiff_endYr: 2050 -> NA
cm_co2_tax_growth -> cm_taxCO2_expGrowth: 1.045 -> NA
~ SSP2-EU21-NDC:
cm_co2_tax_startyear -> cm_taxCO2_startyear: -1 -> NA
cm_co2_tax_spread -> cm_taxCO2_regiDiff: 10 -> NA
cm_CO2priceRegConvEndYr -> cm_taxCO2_regiDiff_endYr: 2050 -> NA
cm_co2_tax_growth -> cm_taxCO2_expGrowth: 1.045 -> NA
path_gdx_ref: SSP2-EU21-NPi -> SSP2-EU21-NPi2025
~ SSP2-EU21-NPi:
cm_co2_tax_startyear -> cm_taxCO2_startyear: -1 -> NA
cm_co2_tax_spread -> cm_taxCO2_regiDiff: 10 -> NA
cm_CO2priceRegConvEndYr -> cm_taxCO2_regiDiff_endYr: 2050 -> NA
cm_co2_tax_growth -> cm_taxCO2_expGrowth: 1.045 -> NA
+ SSP2-EU21-NPi2025 was added.
~ SSP2-EU21-PkBudg500:
carbonprice: diffLin2Lin -> functionalForm (default: none)
cm_co2_tax_spread -> cm_taxCO2_regiDiff: 10 -> NA
cm_CO2priceRegConvEndYr -> cm_taxCO2_regiDiff_endYr: 2050 -> NA
cm_co2_tax_growth -> cm_taxCO2_expGrowth: 1.045 -> NA
path_gdx_ref: SSP2-EU21-NPi -> SSP2-EU21-NPi2025
~ SSP2-EU21-PkBudg650:
carbonprice: diffLin2Lin -> functionalForm (default: none)
cm_co2_tax_startyear -> cm_taxCO2_startyear: 75 -> 100
cm_co2_tax_spread -> cm_taxCO2_regiDiff: 10 -> NA
cm_CO2priceRegConvEndYr -> cm_taxCO2_regiDiff_endYr: 2050 -> NA
cm_co2_tax_growth -> cm_taxCO2_expGrowth: 1.045 -> NA
path_gdx_ref: SSP2-EU21-NPi -> SSP2-EU21-NPi2025
~ SSP2-EU21-PkBudg1000:
carbonprice: diffLin2Lin -> functionalForm (default: none)
cm_co2_tax_startyear -> cm_taxCO2_startyear: 45 -> 75
cm_co2_tax_spread -> cm_taxCO2_regiDiff: 10 -> NA
cm_CO2priceRegConvEndYr -> cm_taxCO2_regiDiff_endYr: 2050 -> NA
cm_co2_tax_growth -> cm_taxCO2_expGrowth: 1.045 -> NA
path_gdx_ref: SSP2-EU21-NPi -> SSP2-EU21-NPi2025
~ SSP3-NPi-calibrate:
cm_co2_tax_startyear -> cm_taxCO2_startyear: -1 -> NA
cm_co2_tax_spread -> cm_taxCO2_regiDiff: 10 -> NA
cm_CO2priceRegConvEndYr -> cm_taxCO2_regiDiff_endYr: 2050 -> NA
cm_co2_tax_growth -> cm_taxCO2_expGrowth: 1.045 -> NA
~ SSP3-NDC:
cm_co2_tax_startyear -> cm_taxCO2_startyear: -1 -> NA
cm_co2_tax_spread -> cm_taxCO2_regiDiff: 10 -> NA
cm_CO2priceRegConvEndYr -> cm_taxCO2_regiDiff_endYr: 2050 -> NA
cm_co2_tax_growth -> cm_taxCO2_expGrowth: 1.045 -> NA
path_gdx_ref: SSP2-NPi -> SSP2-NPi2025
~ SSP3-NPi:
cm_co2_tax_startyear -> cm_taxCO2_startyear: -1 -> NA
cm_co2_tax_spread -> cm_taxCO2_regiDiff: 10 -> NA
cm_CO2priceRegConvEndYr -> cm_taxCO2_regiDiff_endYr: 2050 -> NA
cm_co2_tax_growth -> cm_taxCO2_expGrowth: 1.045 -> NA
~ SSP3-PkBudg1000:
carbonprice: diffLin2Lin -> functionalForm (default: none)
cm_co2_tax_startyear -> cm_taxCO2_startyear: 45 -> 55
cm_co2_tax_spread -> cm_taxCO2_regiDiff: 10 -> NA
cm_CO2priceRegConvEndYr -> cm_taxCO2_regiDiff_endYr: 2100 -> GLO 2100
cm_co2_tax_growth -> cm_taxCO2_expGrowth: 1.045 -> NA
path_gdx_ref: SSP2-NPi -> SSP2-NPi2025
~ SSP3-rollBack:
cm_iterative_target_adj: 9 -> 3 (default: 0)
c_budgetCO2from2020 -> cm_budgetCO2from2020: 1150 -> 0
cm_co2_tax_startyear -> cm_taxCO2_startyear: -1 -> NA
cm_co2_tax_spread -> cm_taxCO2_regiDiff: 10 -> NA
cm_CO2priceRegConvEndYr -> cm_taxCO2_regiDiff_endYr: 2050 -> NA
path_gdx_ref: SSP2-NPi -> SSP2-NPi2025
~ SSP1-NPi-calibrate:
cm_co2_tax_startyear -> cm_taxCO2_startyear: -1 -> NA
cm_co2_tax_spread -> cm_taxCO2_regiDiff: 10 -> NA
cm_CO2priceRegConvEndYr -> cm_taxCO2_regiDiff_endYr: 2050 -> NA
cm_LU_emi_scen: SDP -> SSP1 (default: SSP2)
~ SSP1-NDC:
cm_co2_tax_startyear -> cm_taxCO2_startyear: -1 -> NA
cm_co2_tax_spread -> cm_taxCO2_regiDiff: 10 -> NA
cm_CO2priceRegConvEndYr -> cm_taxCO2_regiDiff_endYr: 2050 -> NA
cm_LU_emi_scen: SDP -> SSP1 (default: SSP2)
path_gdx_ref: SSP2-NPi -> SSP2-NPi2025
~ SSP1-NPi:
cm_co2_tax_startyear -> cm_taxCO2_startyear: -1 -> NA
cm_co2_tax_spread -> cm_taxCO2_regiDiff: 10 -> NA
cm_CO2priceRegConvEndYr -> cm_taxCO2_regiDiff_endYr: 2050 -> NA
cm_LU_emi_scen: SDP -> SSP1 (default: SSP2)
+ SSP1-NPi2025 was added.
~ SSP1-PkBudg650:
carbonprice: diffLin2Lin -> functionalForm (default: none)
cm_co2_tax_startyear -> cm_taxCO2_startyear: 75 -> 100
cm_co2_tax_spread -> cm_taxCO2_regiDiff: 10 -> NA
cm_CO2priceRegConvEndYr -> cm_taxCO2_regiDiff_endYr: 2050 -> NA
cm_LU_emi_scen: SDP -> SSP1 (default: SSP2)
path_gdx_ref: SSP2-NPi -> SSP2-NPi2025
~ SSP1-PkBudg1000:
carbonprice: diffLin2Lin -> functionalForm (default: none)
cm_co2_tax_startyear -> cm_taxCO2_startyear: 45 -> 75
cm_co2_tax_spread -> cm_taxCO2_regiDiff: 10 -> NA
cm_CO2priceRegConvEndYr -> cm_taxCO2_regiDiff_endYr: 2050 -> NA
cm_LU_emi_scen: SDP -> SSP1 (default: SSP2)
path_gdx_ref: SSP2-NPi -> SSP2-NPi2025
~ SSP2_lowEn-NPi-calibrate:
cm_co2_tax_startyear -> cm_taxCO2_startyear: -1 -> NA
cm_co2_tax_spread -> cm_taxCO2_regiDiff: 10 -> NA
cm_CO2priceRegConvEndYr -> cm_taxCO2_regiDiff_endYr: 2050 -> NA
cm_co2_tax_growth -> cm_taxCO2_expGrowth: 1.045 -> NA
cm_LU_emi_scen: SSP2 -> SSP2_lowEn (default: SSP2)
~ SSP2_lowEn-NDC:
cm_co2_tax_startyear -> cm_taxCO2_startyear: -1 -> NA
cm_co2_tax_spread -> cm_taxCO2_regiDiff: 10 -> NA
cm_CO2priceRegConvEndYr -> cm_taxCO2_regiDiff_endYr: 2050 -> NA
cm_co2_tax_growth -> cm_taxCO2_expGrowth: 1.045 -> NA
cm_LU_emi_scen: SSP2 -> SSP2_lowEn (default: SSP2)
path_gdx_ref: SSP2-NPi -> SSP2-NPi2025
~ SSP2_lowEn-NPi:
cm_co2_tax_startyear -> cm_taxCO2_startyear: -1 -> NA
cm_co2_tax_spread -> cm_taxCO2_regiDiff: 10 -> NA
cm_CO2priceRegConvEndYr -> cm_taxCO2_regiDiff_endYr: 2050 -> NA
cm_co2_tax_growth -> cm_taxCO2_expGrowth: 1.045 -> NA
cm_LU_emi_scen: SSP2 -> SSP2_lowEn (default: SSP2)
+ SSP2_lowEn-NPi2025 was added.
~ SSP2_lowEn-PkBudg650:
carbonprice: diffLin2Lin -> functionalForm (default: none)
cm_co2_tax_startyear -> cm_taxCO2_startyear: 75 -> 100
cm_co2_tax_spread -> cm_taxCO2_regiDiff: 10 -> NA
cm_CO2priceRegConvEndYr -> cm_taxCO2_regiDiff_endYr: 2050 -> NA
cm_co2_tax_growth -> cm_taxCO2_expGrowth: 1.045 -> NA
cm_LU_emi_scen: SSP2 -> SSP2_lowEn (default: SSP2)
path_gdx_ref: SSP2-NPi -> SSP2-NPi2025
~ SSP2_lowEn-PkBudg1000:
carbonprice: diffLin2Lin -> functionalForm (default: none)
cm_co2_tax_startyear -> cm_taxCO2_startyear: 45 -> 75
cm_co2_tax_spread -> cm_taxCO2_regiDiff: 10 -> NA
cm_CO2priceRegConvEndYr -> cm_taxCO2_regiDiff_endYr: 2050 -> NA
cm_co2_tax_growth -> cm_taxCO2_expGrowth: 1.045 -> NA
cm_LU_emi_scen: SSP2 -> SSP2_lowEn (default: SSP2)
path_gdx_ref: SSP2-NPi -> SSP2-NPi2025
~ SSP5-NPi-calibrate:
cm_co2_tax_startyear -> cm_taxCO2_startyear: -1 -> NA
cm_co2_tax_spread -> cm_taxCO2_regiDiff: 10 -> NA
cm_CO2priceRegConvEndYr -> cm_taxCO2_regiDiff_endYr: 2050 -> NA
cm_co2_tax_growth -> cm_taxCO2_expGrowth: 1.045 -> NA
~ SSP5-NDC:
cm_co2_tax_startyear -> cm_taxCO2_startyear: -1 -> NA
cm_co2_tax_spread -> cm_taxCO2_regiDiff: 10 -> NA
cm_CO2priceRegConvEndYr -> cm_taxCO2_regiDiff_endYr: 2050 -> NA
cm_co2_tax_growth -> cm_taxCO2_expGrowth: 1.045 -> NA
path_gdx_ref: SSP2-NPi -> SSP2-NPi2025
~ SSP5-NPi:
cm_co2_tax_startyear -> cm_taxCO2_startyear: -1 -> NA
cm_co2_tax_spread -> cm_taxCO2_regiDiff: 10 -> NA
cm_CO2priceRegConvEndYr -> cm_taxCO2_regiDiff_endYr: 2050 -> NA
cm_co2_tax_growth -> cm_taxCO2_expGrowth: 1.045 -> NA
+ SSP5-NPi2025 was added.
~ SSP5-PkBudg650:
carbonprice: diffLin2Lin -> functionalForm (default: none)
cm_co2_tax_startyear -> cm_taxCO2_startyear: 75 -> 100
cm_co2_tax_spread -> cm_taxCO2_regiDiff: 10 -> NA
cm_CO2priceRegConvEndYr -> cm_taxCO2_regiDiff_endYr: 2050 -> NA
cm_co2_tax_growth -> cm_taxCO2_expGrowth: 1.045 -> NA
path_gdx_ref: SSP2-NPi -> SSP2-NPi2025
~ SSP5-PkBudg1000:
carbonprice: diffLin2Lin -> functionalForm (default: none)
cm_co2_tax_startyear -> cm_taxCO2_startyear: 45 -> 75
cm_co2_tax_spread -> cm_taxCO2_regiDiff: 10 -> NA
cm_CO2priceRegConvEndYr -> cm_taxCO2_regiDiff_endYr: 2050 -> NA
cm_co2_tax_growth -> cm_taxCO2_expGrowth: 1.045 -> NA
path_gdx_ref: SSP2-NPi -> SSP2-NPi2025
$allwarnings
NULL
Warning messages:
1: In readCheckScenarioConfig(fileList[[2]], remindPath = remindPath, :
For module carbonprice, the undefined realizations NPi2025, functionalForm are used by these scenarios: SSP2-NPi2025, SSP2-PkBudg500, SSP2-PkBudg650, SSP2-PkBudg1000, SSP2-EcBudg400, SSP2-EU21-NPi2025, SSP2-EU21-PkBudg500, SSP2-EU21-PkBudg650, SSP2-EU21-PkBudg1000, SSP3-PkBudg1000, SSP1-NPi2025, SSP1-PkBudg650, SSP1-PkBudg1000, SSP2_lowEn-NPi2025, SSP2_lowEn-PkBudg650, SSP2_lowEn-PkBudg1000, SSP5-NPi2025, SSP5-PkBudg650, SSP5-PkBudg1000
2: In readCheckScenarioConfig(fileList[[2]], remindPath = remindPath, :
Unknown column names: cm_budgetCO2from2020, cm_taxCO2_functionalForm, cm_taxCO2_expGrowth, cm_taxCO2_startyear, cm_taxCO2_regiDiff, cm_taxCO2_regiDiff_endYr
3: In readCheckScenarioConfig(fileList[[2]], remindPath = remindPath, :
2 errors found.
>
There was a problem hiding this comment.
I did not find a way to use compareScenConf so that it recognizes default switches from the old and new main.gms. However, this comparison might still be useful (whenever it says NA, this means the default in the new main.gms).
|
Process to merge this PR:
@LaviniaBaumstark , @robertpietzcker , @Renato-Rodrigues : The adjustment of the |
… SSP1 scenarios as it is not used
|
@LaviniaBaumstark, @robertpietzcker: I just had a look at the updated
Additional question: Do we want to keep old NPi for all SSPs in AMT runs / runs for validation? Or remove after next validation, i.e. once we are happy with NPi2025 results? |
LaviniaBaumstark
left a comment
There was a problem hiding this comment.
thank you! also for all this cleaning, refactoring, documentation and testing
| *' Flexible choices for regional carbon price differentiation. | ||
|
|
||
| ***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ||
| *** The realization uses a global anchor trajectory based on which the regional carbon price trajectories are defined. |
There was a problem hiding this comment.
if you use *`at the beginning of a line, this documentation also will show up in the automated modle documentation
my understanding is that we currently still calibrate to NPi, so we definitely need to keep NPi as default runs to look at. |
Purpose of this PR
Two main purposes of this PR:
Add further flexibility for carbon pricing in peak budget runs (regional carbon price differentiation, regional flexibility for convergence end year, regionally flexible interpolation between carbon prices from NPi run and peak budget run to avoid large jumps, setting carbon prices from NPi as lower bound) (see also Issue#295)
Refactoring of 45_carbonprice. Mainly: (a) moving postsolve algorithms to 45_carbonprice, (b) deleting unused postsolve algorithms, (c) combine diffLin2Lin and diffExp2Lin in one realization called "functionalForm" (see also Issue#295)
Type of change
Checklist:
remind2where it was neededforbiddenColumnNamesin readCheckScenarioConfig.R in case the PR leads to deprecated switchesFAIL 0in the output ofmake test)CHANGELOG.mdhas been updated correctlyFurther information:
functionalFormare in folderp/tmp/laurinko/hpc/remind(started on 18.11.2024), and config file used for testing is attached.scenario_config_functionalForm.csv
Example showing effect of lower bound (from path_gdx_ref which is NPi2025 in this case) in SSP2-EcBudg400:
SSP2-PkBudg650 experiments: All behave as prescribed in scenario_config_functionalForm.csv. Examples are linear increase for EUR until 2060 in h, detailed convergence of SSA in e, linear curve going through the point (2010,0) in c
SSP2-PkBudg1000 experiments: All behave as prescribed in scenario_config_functionalForm.csv. Lower bound for EUR well visible in all plots (except i, where is is deactivated) Examples are linear increase for EUR until 2060 in h, detailed convergence of SSA in e, linear curve going through the point (2010,0) in c