From e54b15409d1ceefe182860e0bd2aa25749c67c11 Mon Sep 17 00:00:00 2001 From: piontek Date: Thu, 7 Mar 2024 11:24:32 +0100 Subject: [PATCH 001/875] new damage realization based on Kotz et al. (2024) --- modules/50_damages/KotzWenz/bounds.gms | 12 ++++ modules/50_damages/KotzWenz/datainput.gms | 69 +++++++++++++++++++ modules/50_damages/KotzWenz/declarations.gms | 18 +++++ modules/50_damages/KotzWenz/not_used.txt | 26 +++++++ modules/50_damages/KotzWenz/postsolve.gms | 60 ++++++++++++++++ modules/50_damages/KotzWenz/realization.gms | 8 +++ modules/50_damages/KotzWenz/sets.gms | 6 ++ modules/50_damages/TC/datainput.gms | 20 ++++-- modules/50_damages/TC/postsolve.gms | 6 +- modules/50_damages/TC/sets.gms | 6 -- modules/50_damages/module.gms | 1 + .../BurkeLikeItr/postsolve.gms | 4 +- .../DiceLikeItr/postsolve.gms | 4 +- .../KWTCintItr/postsolve.gms | 4 +- .../KW_SEitr/postsolve.gms | 4 +- .../KWlikeItr/postsolve.gms | 4 +- .../KWlikeItrCPnash/postsolve.gms | 4 +- .../KWlikeItrCPreg/postsolve.gms | 4 +- .../KotzWenzCPreg/datainput.gms | 19 +++++ .../KotzWenzCPreg/declarations.gms | 16 +++++ .../KotzWenzCPreg/not_used.txt | 28 ++++++++ .../KotzWenzCPreg/postsolve.gms | 53 ++++++++++++++ .../KotzWenzCPreg/realization.gms | 6 ++ .../KotzWenzItr/datainput.gms | 19 +++++ .../KotzWenzItr/declarations.gms | 16 +++++ .../KotzWenzItr/not_used.txt | 28 ++++++++ .../KotzWenzItr/postsolve.gms | 54 +++++++++++++++ .../KotzWenzItr/realization.gms | 6 ++ .../LabItr/postsolve.gms | 4 +- .../51_internalizeDamages/TCitr/postsolve.gms | 4 +- 30 files changed, 480 insertions(+), 33 deletions(-) create mode 100644 modules/50_damages/KotzWenz/bounds.gms create mode 100644 modules/50_damages/KotzWenz/datainput.gms create mode 100644 modules/50_damages/KotzWenz/declarations.gms create mode 100644 modules/50_damages/KotzWenz/not_used.txt create mode 100644 modules/50_damages/KotzWenz/postsolve.gms create mode 100644 modules/50_damages/KotzWenz/realization.gms create mode 100644 modules/50_damages/KotzWenz/sets.gms create mode 100644 modules/51_internalizeDamages/KotzWenzCPreg/datainput.gms create mode 100644 modules/51_internalizeDamages/KotzWenzCPreg/declarations.gms create mode 100644 modules/51_internalizeDamages/KotzWenzCPreg/not_used.txt create mode 100644 modules/51_internalizeDamages/KotzWenzCPreg/postsolve.gms create mode 100644 modules/51_internalizeDamages/KotzWenzCPreg/realization.gms create mode 100644 modules/51_internalizeDamages/KotzWenzItr/datainput.gms create mode 100644 modules/51_internalizeDamages/KotzWenzItr/declarations.gms create mode 100644 modules/51_internalizeDamages/KotzWenzItr/not_used.txt create mode 100644 modules/51_internalizeDamages/KotzWenzItr/postsolve.gms create mode 100644 modules/51_internalizeDamages/KotzWenzItr/realization.gms diff --git a/modules/50_damages/KotzWenz/bounds.gms b/modules/50_damages/KotzWenz/bounds.gms new file mode 100644 index 000000000..59846bd13 --- /dev/null +++ b/modules/50_damages/KotzWenz/bounds.gms @@ -0,0 +1,12 @@ +*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | authors, and contributors see CITATION.cff file. This file is part +*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +*** | AGPL-3.0, you are granted additional permissions described in the +*** | REMIND License Exception, version 1.0 (see LICENSE file). +*** | Contact: remind@pik-potsdam.de +*** SOF ./modules/50_damages/KotzWenz/bounds.gms + +vm_damageProdFactor.fx(ttot,regi,in) = 1; +vm_damageFactor.fx(ttot,regi)$(ttot.val ge 2005) = pm_damage(ttot,regi); + +*** EOF ./modules/50_damages/KotzWenz/bounds.gms diff --git a/modules/50_damages/KotzWenz/datainput.gms b/modules/50_damages/KotzWenz/datainput.gms new file mode 100644 index 000000000..cd7a35047 --- /dev/null +++ b/modules/50_damages/KotzWenz/datainput.gms @@ -0,0 +1,69 @@ +parameter f50_beta1(nboot,iso) "damage function parameter for temperature" +/ +$ondelim +$include "./modules/50_damages/KotzWenz/input/beta1_for_REMIND.csv" +$offdelim +/ +; + +parameter f50_beta2(nboot,iso) "damage function parameter for temperature^2" +/ +$ondelim +$include "./modules/50_damages/KotzWenz/input/beta2_for_REMIND.csv" +$offdelim +/ +; +parameter f50_maxtemp(nboot) "maximum temperature for which damage function is valid" +/ +$ondelim +$include "./modules/50_damages/KotzWenz/input/maxtemp_for_REMIND.csv" +$offdelim +/ +; + +*read in national population and gdp for weighted regional aggregation +*table f50_countryPop(tall,iso,all_POPscen) +*$ondelim +*$include "./modules/50_damages/KotzWenz/input/f50_pop.cs3r" +*$offdelim +*; +*p50_isoPop(tall,iso)=f50_countryPop(tall,iso,"%cm_POPscen%"); + +table f50_countryGDP(tall,iso,all_GDPscen) "country level GDP" +$ondelim +$include "./modules/50_damages/KotzWenz/input/f50_gdp.cs3r" +$offdelim +; +*p50_isoGDP(tall,iso)=f50_countryGDP(tall,iso,"%cm_GDPscen%"); + +*interpolate to annual time steps +*loop(ttot$(ttot.val ge 2005), +* loop(tall$(pm_tall_2_ttot(tall,ttot)), +* p50_isoPop(tall,iso) = +* (1-pm_interpolWeight_ttot_tall(tall))*p50_isoPop(ttot,iso) +* + pm_interpolWeight_ttot_tall(tall)*p50_isoPop(ttot+1,iso); +* p50_isoGDP(tall,iso) = +* (1-pm_interpolWeight_ttot_tall(tall))*p50_isoGDP(ttot,iso) +* + pm_interpolWeight_ttot_tall(tall)*p50_isoGDP(ttot+1,iso); +*)) +*; + +*keep constant after 2150 as it is needed until 2300 for SCC calculation +*p50_isoGDP(tall,iso)$(tall.val ge 2150) = p50_isoGDP("2150",iso); +*p50_isoPop(tall,iso)$(tall.val ge 2150) = p50_isoPop("2150",iso); + +*calculate and interpolate country GDP fraction of regional GDP for SSP2EU scenario, country GDP is in PPP, regional GDP in trl MER! +pm_GDPfrac(tall,iso)=f50_countryGDP(tall,iso,"%cm_GDPscen%")/1000000/(sum(regi2iso(regi,iso),pm_gdp(tall,regi)/pm_shPPPMER(regi))+1e-9); +loop(ttot$(ttot.val ge 2005), + loop(tall$(pm_tall_2_ttot(tall,ttot)), + pm_GDPfrac(tall,iso) = + (1-pm_interpolWeight_ttot_tall(tall))*pm_GDPfrac(ttot,iso) + + pm_interpolWeight_ttot_tall(tall)*pm_GDPfrac(ttot+1,iso); +)); + +display pm_GDPfrac; + +pm_GDPfrac(tall,iso)$(tall.val ge 2150) = pm_GDPfrac("2150",iso); + +* initialize +pm_damage(tall,regi) = 1; diff --git a/modules/50_damages/KotzWenz/declarations.gms b/modules/50_damages/KotzWenz/declarations.gms new file mode 100644 index 000000000..92a192da5 --- /dev/null +++ b/modules/50_damages/KotzWenz/declarations.gms @@ -0,0 +1,18 @@ +Parameters +pm_GDPfrac(tall,iso) "country fraction of regional GDP" +p50_globalMeanTemp2020(nboot,tall) "global mean temperature difference to 2020" +p50_damageIso(tall,iso,nboot) "country level damage factor" +p50_damageIsoPerc(tall,iso) "damage percentile - currently mean" +pm_damage(tall,all_regi) "regional damage factor" +p50_damageMarginalIso(tall,iso,nboot) "country level damage marginal" +p50_damageMarginalIsoPerc(tall,iso) "country level marginal percentile - currently mean" +pm_damageMarginal(tall,all_regi) "regional damage marginal" +p50_r(nboot) "needed for percentile computation" +p50_pct(*) /median 50.0, 95 95.0/ "possible percentiles for damages" +p50_rank(nboot) "needed for percentile computation" +; + +positive variable +vm_damageFactor(ttot,all_regi) "damage factor reducing GDP" +vm_damageProdFactor(ttot,all_regi,all_in) "damage factor reducing production factors" +; diff --git a/modules/50_damages/KotzWenz/not_used.txt b/modules/50_damages/KotzWenz/not_used.txt new file mode 100644 index 000000000..3ea39eb57 --- /dev/null +++ b/modules/50_damages/KotzWenz/not_used.txt @@ -0,0 +1,26 @@ +# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | authors, and contributors see CITATION.cff file. This file is part +# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +# | AGPL-3.0, you are granted additional permissions described in the +# | REMIND License Exception, version 1.0 (see LICENSE file). +# | Contact: remind@pik-potsdam.de +name,type,reason +pm_damageMarginalT,input,questionnaire +pm_damageMarginalTm1,input,questionnaire +pm_damageMarginalTm2,input,questionnaire +pm_temperatureImpulseResponseCO2,input,questionnaire +pm_GDPGross,input,questionnaire +cm_damage_KWSE,input,questionnaire +cm_damages_BurkeLike_specification,input,questionnaire +cm_damages_BurkeLike_persistenceTime,input,questionnaire +pm_regionalTemperature,input,questionnaire +pm_damageGrowthRate,input,questionnaire +pm_tempScaleGlob2Reg,input,questionnaire +pm_damageMarginalTC,input,questionnaire +pm_GDPGrossIso,input,questionnaire +pm_damageImp,input,questionnaire +pm_damageProd,input,questionnaire +pm_damageTC,input,questionnaire +pm_damageGrowthRateTC,input,questionnaire +pm_damageIso,input,questionnaire +pm_damageGrowthRateIso,input,questionnaire diff --git a/modules/50_damages/KotzWenz/postsolve.gms b/modules/50_damages/KotzWenz/postsolve.gms new file mode 100644 index 000000000..d62de18b6 --- /dev/null +++ b/modules/50_damages/KotzWenz/postsolve.gms @@ -0,0 +1,60 @@ +p50_globalMeanTemp2020(nboot,tall)$(tall.val ge 2020 and tall.val le 2300) = + pm_globalMeanTemperatureZeroed1900(tall)-pm_globalMeanTemperatureZeroed1900("2020") +; + +*set temperature to max temp for each realization if it is higher +loop(tall, + loop(nboot, + if((p50_globalMeanTemp2020(nboot,tall) gt f50_maxtemp(nboot)), + p50_globalMeanTemp2020(nboot,tall) = f50_maxtemp(nboot) +); +); +); + +*calculate damage factor for each country and realization +p50_damageIso(tall,iso,nboot)$(tall.val gt 2020 and tall.val le 2300) = + f50_beta1(nboot,iso)/100*p50_globalMeanTemp2020(nboot,tall)+f50_beta2(nboot,iso)/100*p50_globalMeanTemp2020(nboot,tall)*p50_globalMeanTemp2020(nboot,tall); + +*desired percentile of damages +*hardcode mean for now, think about percentiles later +p50_damageIsoPerc(tall,iso)$(tall.val gt 2020 and tall.val le 2300) = + sum(nboot,p50_damageIso(tall,iso,nboot))/1000 +; + +*marginal +p50_damageMarginalIso(tall,iso,nboot)$(tall.val gt 2020 and tall.val le 2300) = + f50_beta1(nboot,iso)/100+2*f50_beta2(nboot,iso)/100*p50_globalMeanTemp2020(nboot,tall) +; + +p50_damageMarginalIsoPerc(tall,iso)$(tall.val gt 2020 and tall.val le 2300) = + sum(nboot,p50_damageMarginalIso(tall,iso,nboot))/1000 +; + +*loop(tall $ (tall.val ge 2020 and tall.val le 2300), +* loop(iso, +* p50_rank(nboot)=p50_damageIso(tall,iso,nboot); +*$libInclude rank p50_rank nboot p50_r p50_pct +* p50_damageIsoPerc(tall,iso)=p50_pct("median"); +** p50_damageIsoPerc(tall,iso)=p50_pct("%cm_DamPerc%") + +* p50_rank(nboot)=p50_damageMarginalIso(tall,iso,nboot); +*$libInclude rank p50_rank nboot p50_r p50_pct +* p50_damageMarginalIsoPerc(tall,iso)=p50_pct("median"); +** p50_damageMarginalIsoPerc(tall,iso)=p50_pct("%cm_DamPerc%") +*display p50_pct; +* ); +*); + + +pm_damageMarginal(tall,regi)$(tall.val gt 2020 and tall.val le 2300) = +* sum(regi2iso(regi,iso),p50_damageMarginalIsoPerc(tall,iso)*p50_isoGDP(tall,iso))/sum(regi2iso(regi,iso),p50_isoGDP(tall,iso)) + sum(regi2iso(regi,iso),p50_damageMarginalIsoPerc(tall,iso)*pm_GDPfrac(tall,iso)) +; + +*regional damage using SSP country level GDP as weight +pm_damage(tall,regi)$(tall.val gt 2020 and tall.val le 2300) = + 1-sum(regi2iso(regi,iso),p50_damageIsoPerc(tall,iso)*pm_GDPfrac(tall,iso)) +; + +display p50_damageIsoPerc,pm_damage,pm_damageMarginal; + diff --git a/modules/50_damages/KotzWenz/realization.gms b/modules/50_damages/KotzWenz/realization.gms new file mode 100644 index 000000000..cf5933c9f --- /dev/null +++ b/modules/50_damages/KotzWenz/realization.gms @@ -0,0 +1,8 @@ + +*####################### R SECTION START (PHASES) ############################## +$Ifi "%phase%" == "sets" $include "./modules/50_damages/KotzWenz/sets.gms" +$Ifi "%phase%" == "declarations" $include "./modules/50_damages/KotzWenz/declarations.gms" +$Ifi "%phase%" == "datainput" $include "./modules/50_damages/KotzWenz/datainput.gms" +$Ifi "%phase%" == "bounds" $include "./modules/50_damages/KotzWenz/bounds.gms" +$Ifi "%phase%" == "postsolve" $include "./modules/50_damages/KotzWenz/postsolve.gms" +*######################## R SECTION END (PHASES) ############################### diff --git a/modules/50_damages/KotzWenz/sets.gms b/modules/50_damages/KotzWenz/sets.gms new file mode 100644 index 000000000..70120489d --- /dev/null +++ b/modules/50_damages/KotzWenz/sets.gms @@ -0,0 +1,6 @@ +SETS +nboot "boot strapping realisations of damage function parameters" + / + 1*1000 + / +; diff --git a/modules/50_damages/TC/datainput.gms b/modules/50_damages/TC/datainput.gms index 2fe08ce87..e60a529d5 100755 --- a/modules/50_damages/TC/datainput.gms +++ b/modules/50_damages/TC/datainput.gms @@ -12,24 +12,30 @@ p50_damageFuncCoefTC2(isoTC) = 0; *** load TC damage parameter data (Krichene et al. 2022) -parameter f50_TCconst(iso,all_TCpers,all_TCspec) "damage parameter for TC, constant" +*parameter f50_TCconst(iso,all_TCpers,all_TCspec) "damage parameter for TC, constant" +parameter f50_TCconst(iso,all_TCspec) "damage parameter for TC, constant" / $ondelim -$include "./modules/50_damages/TC/input/f50_TC_df_const.cs4r" +*$include "./modules/50_damages/TC/input/f50_TC_df_const.cs4r" +$include "./modules/50_damages/TC/input/f50_TC_df_const_new.csv" $offdelim / ; -parameter f50_TCtasK(iso,all_TCpers,all_TCspec) "damage parameter for TC, linear with temperature" +*parameter f50_TCtasK(iso,all_TCpers,all_TCspec) "damage parameter for TC, linear with temperature" +parameter f50_TCtasK(iso,all_TCspec) "damage parameter for TC, linear with temperature" / $ondelim -$include "./modules/50_damages/TC/input/f50_TC_df_tasK.cs4r" +*$include "./modules/50_damages/TC/input/f50_TC_df_tasK.cs4r" +$include "./modules/50_damages/TC/input/f50_TC_df_tasK_new.csv" $offdelim / ; -p50_damageFuncCoefTC0(iso) = f50_TCconst(iso,"%cm_TCpers%","%cm_TCspec%")/100; -p50_damageFuncCoefTC1(iso) = f50_TCtasK(iso,"%cm_TCpers%","%cm_TCspec%")/100; +*p50_damageFuncCoefTC0(iso) = f50_TCconst(iso,"%cm_TCpers%","%cm_TCspec%")/100; +*p50_damageFuncCoefTC1(iso) = f50_TCtasK(iso,"%cm_TCpers%","%cm_TCspec%")/100; +p50_damageFuncCoefTC0(iso) = f50_TCconst(iso,"%cm_TCspec%"); +p50_damageFuncCoefTC1(iso) = f50_TCtasK(iso,"%cm_TCspec%"); display p50_damageFuncCoefTC0; @@ -44,7 +50,7 @@ $offdelim ; *calculate and interpolate country GDP fraction of regional GDP for SSP2EU scenario, country GDP is in PPP, regional GDP in trl MER! -pm_GDPfrac(tall,iso)=f50_countryGDP(tall,iso,"gdp_SSP2EU")/1000000/sum(regi2iso(regi,iso),pm_gdp(tall,regi)/pm_shPPPMER(regi)); +pm_GDPfrac(tall,iso)=f50_countryGDP(tall,iso,"gdp_SSP2EU")/1000000/(sum(regi2iso(regi,iso),pm_gdp(tall,regi)/pm_shPPPMER(regi))+1e-9); loop(ttot$(ttot.val ge 2005), loop(tall$(pm_tall_2_ttot(tall,ttot)), pm_GDPfrac(tall,iso) = diff --git a/modules/50_damages/TC/postsolve.gms b/modules/50_damages/TC/postsolve.gms index c23ca3b5b..433d40bfb 100755 --- a/modules/50_damages/TC/postsolve.gms +++ b/modules/50_damages/TC/postsolve.gms @@ -9,7 +9,8 @@ pm_damageGrowthRateIso(tall,iso) = 0; *the current damage function is estimated for "baseline" TC effect plus climate change effect - need to subtract the baseline effect as in Burke by doing delta(T)-delta(T0) -pm_damageGrowthRateIso(tall,isoTC)$(tall.val ge 2000 and tall.val le 2300) = p50_damageFuncCoefTC1(isoTC) * (pm_globalMeanTemperatureZeroed1900(tall)-pm_globalMeanTemperatureZeroed1900("2000")) + p50_damageFuncCoefTC2(isoTC) * (pm_globalMeanTemperatureZeroed1900(tall)**2-pm_globalMeanTemperatureZeroed1900("2000")**2); +*pm_damageGrowthRateIso(tall,isoTC)$(tall.val ge 2000 and tall.val le 2300) = p50_damageFuncCoefTC1(isoTC) * (pm_globalMeanTemperatureZeroed1900(tall)-pm_globalMeanTemperatureZeroed1900("2000")) + p50_damageFuncCoefTC2(isoTC) * (pm_globalMeanTemperatureZeroed1900(tall)**2-pm_globalMeanTemperatureZeroed1900("2000")**2); +pm_damageGrowthRateIso(tall,isoTC)$(tall.val ge 2000 and tall.val le 2300) = p50_damageFuncCoefTC1(isoTC) * (pm_globalMeanTemperatureZeroed1900(tall)-pm_globalMeanTemperatureZeroed1900("2010")); * no damages before 2020 to match observed GDP pm_damageGrowthRateIso(tall,iso)$(tall.val le 2020) = 0; @@ -40,7 +41,8 @@ display pm_damage,pm_GDPfrac,p50_test; * derivative of damage function w.r.t. temperature (used in 51_internalizeDamages) pm_damageMarginal(tall,iso)=0; -pm_damageMarginal(tall,isoTC)$(tall.val ge 2000 and tall.val le 2300) = p50_damageFuncCoefTC1(isoTC)+2*p50_damageFuncCoefTC2(isoTC)*(pm_globalMeanTemperatureZeroed1900(tall)-pm_globalMeanTemperatureZeroed1900("2000")); +*pm_damageMarginal(tall,isoTC)$(tall.val ge 2000 and tall.val le 2300) = p50_damageFuncCoefTC1(isoTC)+2*p50_damageFuncCoefTC2(isoTC)*(pm_globalMeanTemperatureZeroed1900(tall)-pm_globalMeanTemperatureZeroed1900("2000")); +pm_damageMarginal(tall,isoTC)$(tall.val ge 2000 and tall.val le 2300) = p50_damageFuncCoefTC1(isoTC); display pm_damageMarginal; *** EOF ./modules/50_damages/TC/postsolve.gms diff --git a/modules/50_damages/TC/sets.gms b/modules/50_damages/TC/sets.gms index 4fe3f11d8..d4423ce0d 100755 --- a/modules/50_damages/TC/sets.gms +++ b/modules/50_damages/TC/sets.gms @@ -29,12 +29,6 @@ all_TCspec "TC damage distribution quantiles" */estimates_mean,estimates_median,estimates_95,estimates_83,estimates_17,estimates_05/ /mean,median,95,83,17,05/ -all_SSPscen "all 5 SSP scenarios" -/SSP1,SSP2,SSP3,SSP4,SSP5/ - -all_TCpers "all possible persistencies of TC damages" -/0,1,2,3,4,5,6,7,8,9/ - ; *** EOF ./modules/50_damages/TC/sets.gms diff --git a/modules/50_damages/module.gms b/modules/50_damages/module.gms index 141f85ef6..2a4cb78b4 100644 --- a/modules/50_damages/module.gms +++ b/modules/50_damages/module.gms @@ -18,6 +18,7 @@ $Ifi "%damages%" == "DiceLike" $include "./modules/50_damages/DiceLike/realizati $Ifi "%damages%" == "KWLike" $include "./modules/50_damages/KWLike/realization.gms" $Ifi "%damages%" == "KWTCint" $include "./modules/50_damages/KWTCint/realization.gms" $Ifi "%damages%" == "KW_SE" $include "./modules/50_damages/KW_SE/realization.gms" +$Ifi "%damages%" == "KotzWenz" $include "./modules/50_damages/KotzWenz/realization.gms" $Ifi "%damages%" == "Labor" $include "./modules/50_damages/Labor/realization.gms" $Ifi "%damages%" == "TC" $include "./modules/50_damages/TC/realization.gms" $Ifi "%damages%" == "off" $include "./modules/50_damages/off/realization.gms" diff --git a/modules/51_internalizeDamages/BurkeLikeItr/postsolve.gms b/modules/51_internalizeDamages/BurkeLikeItr/postsolve.gms index 70efbed83..6cc5b7493 100644 --- a/modules/51_internalizeDamages/BurkeLikeItr/postsolve.gms +++ b/modules/51_internalizeDamages/BurkeLikeItr/postsolve.gms @@ -25,7 +25,7 @@ p51_sccParts(tall,tall2,regi2)$((tall.val ge 2010) and (tall.val le 2150) and (t * p51_marginalDamageCumul(tall,tall2,regi2) ; -p51_scc(tall)$((tall.val ge 2010) and (tall.val le 2150)) = 1000 * +p51_scc(tall)$((tall.val ge 2020) and (tall.val le 2150)) = 1000 * *p51_welf(tall)**(-1) * sum(regi2, sum(tall2$( (tall2.val ge tall.val) and (tall2.val le (tall.val + cm_damages_SccHorizon))), !! add this for limiting horizon of damage consideration: and (tall2.val le 2150) @@ -42,7 +42,7 @@ p51_scc(tall)$((tall.val ge 2010) and (tall.val le 2150)) = 1000 * p51_scc(tall) = p51_sccLastItr(tall) * min(max( (p51_scc(tall)/max(p51_sccLastItr(tall),1e-8)),1 - 0.5*0.95**iteration.val),1 + 0.95**iteration.val); pm_taxCO2eqSCC(ttot,regi) = 0; -pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2020) = max(0, p51_scc(ttot) * (44/12)/1000); +pm_taxCO2eqSCC(t,regi)$(t.val ge 2025) = max(0, p51_scc(t) * (44/12)/1000); *); diff --git a/modules/51_internalizeDamages/DiceLikeItr/postsolve.gms b/modules/51_internalizeDamages/DiceLikeItr/postsolve.gms index c1cb17c48..ddf6f3734 100644 --- a/modules/51_internalizeDamages/DiceLikeItr/postsolve.gms +++ b/modules/51_internalizeDamages/DiceLikeItr/postsolve.gms @@ -7,7 +7,7 @@ *** SOF ./modules/51_internalizeDamages/DiceLikeItr/postsolve.gms p51_sccLastItr(tall) = p51_scc(tall); -p51_scc(tall)$((tall.val ge 2010) and (tall.val le 2150)) = 1000 * +p51_scc(tall)$((tall.val ge 2020) and (tall.val le 2150)) = 1000 * sum(regi2, sum(tall2$( (tall2.val ge tall.val) and (tall2.val le (tall.val + cm_damages_SccHorizon)) ), !! add this for limiting horizon of damage consideration: and (tall2.val le 2150) (1 + pm_prtp(regi2))**(-(tall2.val - tall.val)) @@ -22,7 +22,7 @@ p51_scc(tall)$((tall.val ge 2010) and (tall.val le 2150)) = 1000 * *if(cm_iterative_target_adj eq 10 and cm_emiscen eq 9 and mod(iteration.val,2) eq 1, !! update only every uneven iteration to prevent zig-zagging pm_taxCO2eqSCC(ttot,regi) = 0; -pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2020) = p51_scc(ttot) * (44/12)/1000; +pm_taxCO2eqSCC(t,regi)$(t.val ge 2025) = p51_scc(t) * (44/12)/1000; *); diff --git a/modules/51_internalizeDamages/KWTCintItr/postsolve.gms b/modules/51_internalizeDamages/KWTCintItr/postsolve.gms index 7cf50a106..cd8fe1d23 100755 --- a/modules/51_internalizeDamages/KWTCintItr/postsolve.gms +++ b/modules/51_internalizeDamages/KWTCintItr/postsolve.gms @@ -41,7 +41,7 @@ p51_sccParts(tall,tall2,regi2)$((tall.val ge 2010) and (tall.val le 2150) and (t p51_sccLastItr(tall) = p51_scc(tall); -p51_scc(tall)$((tall.val ge 2010) and (tall.val le 2150)) = 1000 * +p51_scc(tall)$((tall.val ge 2020) and (tall.val le 2150)) = 1000 * *p51_welf(tall)**(-1) * sum(regi2, sum(tall2$( (tall2.val ge tall.val) and (tall2.val le (tall.val + cm_damages_SccHorizon))), !! add this for limiting horizon of damage consideration: and (tall2.val le 2150) @@ -59,7 +59,7 @@ display p51_scc; p51_scc(tall) = p51_sccLastItr(tall) * min(max( (p51_scc(tall)/max(p51_sccLastItr(tall),1e-8)),1 - 0.5*0.95**iteration.val),1 + 0.95**iteration.val); pm_taxCO2eqSCC(ttot,regi) = 0; -pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2020) = max(0, p51_scc(ttot) * (44/12)/1000); +pm_taxCO2eqSCC(t,regi)$(t.val ge 2020) = max(0, p51_scc(t) * (44/12)/1000); *); diff --git a/modules/51_internalizeDamages/KW_SEitr/postsolve.gms b/modules/51_internalizeDamages/KW_SEitr/postsolve.gms index 310510038..6e1772a59 100755 --- a/modules/51_internalizeDamages/KW_SEitr/postsolve.gms +++ b/modules/51_internalizeDamages/KW_SEitr/postsolve.gms @@ -17,7 +17,7 @@ p51_sccParts(tall,tall2,regi2)$((tall.val ge 2010) and (tall.val le 2150) and (t ; *convert unit from tr$/GtC to $/tCO2 as GDP is in tr$ and pulse is 1 GtC -p51_scc(tall)$((tall.val ge 2010) and (tall.val le 2150)) = 1000*12/44 * +p51_scc(tall)$((tall.val ge 2020) and (tall.val le 2150)) = 1000*12/44 * *p51_welf(tall)**(-1) * sum(regi2, sum(tall2$( (tall2.val ge tall.val) and (tall2.val le (tall.val + cm_damages_SccHorizon))), !! add this for limiting horizon of damage consideration: and (tall2.val le 2150) @@ -35,7 +35,7 @@ display p51_scc; p51_scc(tall) = p51_sccLastItr(tall) * min(max( (p51_scc(tall)/max(p51_sccLastItr(tall),1e-8)),1 - 0.5*0.95**iteration.val),1 + 0.95**iteration.val); pm_taxCO2eqSCC(ttot,regi) = 0; -pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2020) = max(0, p51_scc(ttot) * (44/12)/1000); +pm_taxCO2eqSCC(t,regi)$(t.val ge 2020) = max(0, p51_scc(t) * (44/12)/1000); *); diff --git a/modules/51_internalizeDamages/KWlikeItr/postsolve.gms b/modules/51_internalizeDamages/KWlikeItr/postsolve.gms index f7b5c63cf..9264442e7 100644 --- a/modules/51_internalizeDamages/KWlikeItr/postsolve.gms +++ b/modules/51_internalizeDamages/KWlikeItr/postsolve.gms @@ -26,7 +26,7 @@ p51_sccParts(tall,tall2,regi2)$((tall.val ge 2010) and (tall.val le 2150) and (t * pm_sccIneq(tall2,regi2) ; -p51_scc(tall)$((tall.val ge 2010) and (tall.val le 2150)) = 1000 * +p51_scc(tall)$((tall.val ge 2020) and (tall.val le 2150)) = 1000 * *p51_welf(tall)**(-1) * sum(regi2, sum(tall2$( (tall2.val ge tall.val) and (tall2.val le (tall.val + cm_damages_SccHorizon))), !! add this for limiting horizon of damage consideration: and (tall2.val le 2150) @@ -44,7 +44,7 @@ display p51_scc; p51_scc(tall) = p51_sccLastItr(tall) * min(max( (p51_scc(tall)/max(p51_sccLastItr(tall),1e-8)),1 - 0.5*0.95**iteration.val),1 + 0.95**iteration.val); pm_taxCO2eqSCC(ttot,regi) = 0; -pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2020) = max(0, p51_scc(ttot) * (44/12)/1000); +pm_taxCO2eqSCC(t,regi)$(t.val ge 2020) = max(0, p51_scc(t) * (44/12)/1000); *); diff --git a/modules/51_internalizeDamages/KWlikeItrCPnash/postsolve.gms b/modules/51_internalizeDamages/KWlikeItrCPnash/postsolve.gms index 72c483ebe..ca2559877 100755 --- a/modules/51_internalizeDamages/KWlikeItrCPnash/postsolve.gms +++ b/modules/51_internalizeDamages/KWlikeItrCPnash/postsolve.gms @@ -26,7 +26,7 @@ p51_sccParts(tall,tall2,regi)$((tall.val ge 2010) and (tall.val le 2150) and (ta * pm_sccIneq(tall2,regi) ; -p51_scc(tall,regi)$((tall.val ge 2010) and (tall.val le 2150)) = 1000 * +p51_scc(tall,regi)$((tall.val ge 2020) and (tall.val le 2150)) = 1000 * *p51_welf(tall)**(-1) * sum(tall2$( (tall2.val ge tall.val) and (tall2.val le (tall.val + cm_damages_SccHorizon))), !! add this for limiting horizon of damage consideration: and (tall2.val le 2150) p51_sccParts(tall,tall2,regi) @@ -42,7 +42,7 @@ display p51_scc; p51_scc(tall,regi) = p51_sccLastItr(tall,regi) * min(max( (p51_scc(tall,regi)/max(p51_sccLastItr(tall,regi),1e-8)),1 - 0.5*0.95**iteration.val),1 + 0.95**iteration.val); pm_taxCO2eqSCC(ttot,regi) = 0; -pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2020) = max(0, p51_scc(ttot,regi) * (44/12)/1000); +pm_taxCO2eqSCC(t,regi)$(t.val ge 2020) = max(0, p51_scc(t,regi) * (44/12)/1000); *); diff --git a/modules/51_internalizeDamages/KWlikeItrCPreg/postsolve.gms b/modules/51_internalizeDamages/KWlikeItrCPreg/postsolve.gms index a312c9877..13233c00b 100644 --- a/modules/51_internalizeDamages/KWlikeItrCPreg/postsolve.gms +++ b/modules/51_internalizeDamages/KWlikeItrCPreg/postsolve.gms @@ -28,7 +28,7 @@ p51_sccParts(tall,tall2,regi)$((tall.val ge 2010) and (tall.val le 2150) and (ta ) ; -p51_scc(tall,regi)$((tall.val ge 2010) and (tall.val le 2150)) = 1000 * +p51_scc(tall,regi)$((tall.val ge 2020) and (tall.val le 2150)) = 1000 * *p51_welf(tall)**(-1) * sum(tall2$( (tall2.val ge tall.val) and (tall2.val le (tall.val + cm_damages_SccHorizon))), !! add this for limiting horizon of damage consideration: and (tall2.val le 2150) p51_sccParts(tall,tall2,regi) @@ -44,7 +44,7 @@ display p51_scc; p51_scc(tall,regi) = p51_sccLastItr(tall,regi) * min(max( (p51_scc(tall,regi)/max(p51_sccLastItr(tall,regi),1e-8)),1 - 0.5*0.95**iteration.val),1 + 0.95**iteration.val); pm_taxCO2eqSCC(ttot,regi) = 0; -pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2020) = max(0, p51_scc(ttot,regi) * (44/12)/1000); +pm_taxCO2eqSCC(t,regi)$(t.val ge 2020) = max(0, p51_scc(t,regi) * (44/12)/1000); *); diff --git a/modules/51_internalizeDamages/KotzWenzCPreg/datainput.gms b/modules/51_internalizeDamages/KotzWenzCPreg/datainput.gms new file mode 100644 index 000000000..ee0833997 --- /dev/null +++ b/modules/51_internalizeDamages/KotzWenzCPreg/datainput.gms @@ -0,0 +1,19 @@ +*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | authors, and contributors see CITATION.cff file. This file is part +*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +*** | AGPL-3.0, you are granted additional permissions described in the +*** | REMIND License Exception, version 1.0 (see LICENSE file). +*** | Contact: remind@pik-potsdam.de +*** SOF ./modules/51_internalizeDamages/KotzWenzItr/datainput.gms + +* satisfy dependencies +$ifi not %damages% == 'KotzWenz' abort "module internalizeDamages=KotzWenzItr requires module damages=KotzWenz"; +$ifi not %cm_magicc_temperatureImpulseResponse% == 'on' abort "module internalizeDamages=DiceLikeItr requires cm_magicc_temperatureImpulseResponse=on"; + +*init carbon tax for 1st iter +p51_scc("2020",regi) = 20; +p51_scc(tall,regi)$(tall.val ge 2010 and tall.val le 2150) = p51_scc("2020",regi)*(1+0.025*(tall.val-2020)); + +pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2010) = p51_scc(ttot,regi) * (44/12)/1000; + +*** EOF ./modules/51_internalizeDamages/KotzWenzItr/datainput.gms diff --git a/modules/51_internalizeDamages/KotzWenzCPreg/declarations.gms b/modules/51_internalizeDamages/KotzWenzCPreg/declarations.gms new file mode 100644 index 000000000..d2c74994f --- /dev/null +++ b/modules/51_internalizeDamages/KotzWenzCPreg/declarations.gms @@ -0,0 +1,16 @@ +*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | authors, and contributors see CITATION.cff file. This file is part +*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +*** | AGPL-3.0, you are granted additional permissions described in the +*** | REMIND License Exception, version 1.0 (see LICENSE file). +*** | Contact: remind@pik-potsdam.de +*** SOF ./modules/51_internalizeDamages/KotzWenzCPreg/declarations.gms + +parameters +p51_scc(tall,all_regi) "Social cost of carbon (due to GDP damages) [$ per tCO2eq]" +p51_sccLastItr(tall,all_regi) "Social cost of carbon (due to GDP damages) from last iteration [$ per tCO2eq]" + +pm_sccConvergenceMaxDeviation "max deviation of SCC from last iteration [percent]" +; + +*** EOF ./modules/51_internalizeDamages/KotzWenzCPreg/declarations.gms diff --git a/modules/51_internalizeDamages/KotzWenzCPreg/not_used.txt b/modules/51_internalizeDamages/KotzWenzCPreg/not_used.txt new file mode 100644 index 000000000..adf8621c6 --- /dev/null +++ b/modules/51_internalizeDamages/KotzWenzCPreg/not_used.txt @@ -0,0 +1,28 @@ +# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | authors, and contributors see CITATION.cff file. This file is part +# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +# | AGPL-3.0, you are granted additional permissions described in the +# | REMIND License Exception, version 1.0 (see LICENSE file). +# | Contact: remind@pik-potsdam.de +name,type,reason +pm_damageMarginalT,input,questionnaire +cm_damages_BurkeLike_persistenceTime,input,questionnaire +pm_tempScaleGlob2Reg,input,questionnaire +pm_damage,input,questionnaire +pm_damageGrowthRate,input,questionnaire +pm_damageMarginalTm1,input,questionnaire +pm_damageMarginalTm2,input,questionnaire +pm_cesdata,input,questionnaire +pm_lab,input,questionnaire +pm_interpolWeight_ttot_tall,input,questionnaire +pm_tall_2_ttot,input,questionnaire +pm_damageProd,input,questionnaire +pm_damageTC,input,questionnaire +pm_damageGrowthRateTC,input,questionnaire +pm_GDPfrac,input,questionnaire +pm_damageMarginalTC,input,questionnaire +pm_GDPGrossIso,input,questionnaire +pm_damageImp,input,questionnaire +pm_damageIso,input,questionnaire +pm_damageGrowthRateIso,input,questionnaire +pm_sccIneq,input,questionnaire diff --git a/modules/51_internalizeDamages/KotzWenzCPreg/postsolve.gms b/modules/51_internalizeDamages/KotzWenzCPreg/postsolve.gms new file mode 100644 index 000000000..eeb9c62d2 --- /dev/null +++ b/modules/51_internalizeDamages/KotzWenzCPreg/postsolve.gms @@ -0,0 +1,53 @@ +*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | authors, and contributors see CITATION.cff file. This file is part +*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +*** | AGPL-3.0, you are granted additional permissions described in the +*** | REMIND License Exception, version 1.0 (see LICENSE file). +*** | Contact: remind@pik-potsdam.de + +*** SOF ./modules/51_internalizeDamages/KotzWenzItr/postsolve.gms + + +p51_sccLastItr(tall,regi) = p51_scc(tall,regi); + + +p51_scc(tall,regi)$((tall.val ge 2020) and (tall.val le 2150)) = 1000 * +*p51_welf(tall)**(-1) * + sum(regi2, + sum(tall2$( (tall2.val ge tall.val) and (tall2.val le (tall.val + cm_damages_SccHorizon))), !! add this for limiting horizon of damage consideration: and (tall2.val le 2150) + (1 + pm_prtp(regi2) )**(-(tall2.val - tall.val)) + * pm_consPC(tall,regi)/pm_consPC(tall2,regi2) + * pm_GDPGross(tall2,regi2) + * pm_temperatureImpulseResponseCO2(tall2,tall) + * pm_damageMarginal(tall2,regi2) + )) +; + +*if(cm_iterative_target_adj eq 10 and cm_emiscen eq 9 and mod(iteration.val,2) eq 1, !! update only every uneven iteration to prevent zig-zagging + +*display "proposed new scc tax:"; +*display p51_scc; +*p51_scc(tall) = p51_sccLastItr(tall) * max(0, min(1.4,max(0.6, (p51_scc(tall)/max(p51_sccLastItr(tall),1e-8))**0.7 ))); +p51_scc(tall,regi) = p51_sccLastItr(tall,regi) * min(max( (p51_scc(tall,regi)/max(p51_sccLastItr(tall,regi),1e-8)),1 - 0.5*0.95**iteration.val),1 + 0.95**iteration.val); + +pm_taxCO2eqSCC(ttot,regi) = 0; +pm_taxCO2eqSCC(t,regi)$(t.val ge 2025) = max(0, p51_scc(t,regi) * (44/12)/1000); + +*); + +*optional: prevent drastic decline towards the final periods +*pm_taxCO2eqSCC(ttot,regi)$(ttot.val gt 2100) = pm_taxCO2eqSCC("2100",regi); +*optional: dampen price adjustment to ease convergence +*pm_taxCO2eqSCC(ttot,regi)$(ttot.val gt 2110) = pm_taxCO2eqSCC("2110",regi) + (ttot.val - 2110) * (pm_taxCO2eqSCC("2110",regi) - pm_taxCO2eqSCC("2100",regi))/10; + +display p51_scc,pm_taxCO2eqSCC; + + +* convergence indicator: +pm_sccConvergenceMaxDeviation=0; +pm_sccConvergenceMaxDeviation = 100 * smax(regi,smax(tall$(tall.val ge cm_startyear and tall.val lt 2150),abs(p51_scc(tall,regi)/max(p51_sccLastItr(tall,regi),1e-8) - 1) )); +display pm_sccConvergenceMaxDeviation; + +*** EOF ./modules/51_internalizeDamages/KotzWenzItr/postsolve.gms + + diff --git a/modules/51_internalizeDamages/KotzWenzCPreg/realization.gms b/modules/51_internalizeDamages/KotzWenzCPreg/realization.gms new file mode 100644 index 000000000..40a633bd4 --- /dev/null +++ b/modules/51_internalizeDamages/KotzWenzCPreg/realization.gms @@ -0,0 +1,6 @@ + +*####################### R SECTION START (PHASES) ############################## +$Ifi "%phase%" == "declarations" $include "./modules/51_internalizeDamages/KotzWenzCPreg/declarations.gms" +$Ifi "%phase%" == "datainput" $include "./modules/51_internalizeDamages/KotzWenzCPreg/datainput.gms" +$Ifi "%phase%" == "postsolve" $include "./modules/51_internalizeDamages/KotzWenzCPreg/postsolve.gms" +*######################## R SECTION END (PHASES) ############################### diff --git a/modules/51_internalizeDamages/KotzWenzItr/datainput.gms b/modules/51_internalizeDamages/KotzWenzItr/datainput.gms new file mode 100644 index 000000000..afadbfa2e --- /dev/null +++ b/modules/51_internalizeDamages/KotzWenzItr/datainput.gms @@ -0,0 +1,19 @@ +*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | authors, and contributors see CITATION.cff file. This file is part +*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +*** | AGPL-3.0, you are granted additional permissions described in the +*** | REMIND License Exception, version 1.0 (see LICENSE file). +*** | Contact: remind@pik-potsdam.de +*** SOF ./modules/51_internalizeDamages/KotzWenzItr/datainput.gms + +* satisfy dependencies +$ifi not %damages% == 'KotzWenz' abort "module internalizeDamages=KotzWenzItr requires module damages=KotzWenz"; +$ifi not %cm_magicc_temperatureImpulseResponse% == 'on' abort "module internalizeDamages=DiceLikeItr requires cm_magicc_temperatureImpulseResponse=on"; + +*init carbon tax for 1st iter +p51_scc("2020") = 20; +p51_scc(tall)$(tall.val ge 2010 and tall.val le 2150) = p51_scc("2020")*(1+0.025*(tall.val-2020)); + +pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2010) = p51_scc(ttot) * (44/12)/1000; + +*** EOF ./modules/51_internalizeDamages/KotzWenzItr/datainput.gms diff --git a/modules/51_internalizeDamages/KotzWenzItr/declarations.gms b/modules/51_internalizeDamages/KotzWenzItr/declarations.gms new file mode 100644 index 000000000..3e86a13fc --- /dev/null +++ b/modules/51_internalizeDamages/KotzWenzItr/declarations.gms @@ -0,0 +1,16 @@ +*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | authors, and contributors see CITATION.cff file. This file is part +*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +*** | AGPL-3.0, you are granted additional permissions described in the +*** | REMIND License Exception, version 1.0 (see LICENSE file). +*** | Contact: remind@pik-potsdam.de +*** SOF ./modules/51_internalizeDamages/KotzWenzItr/declarations.gms + +parameters +p51_scc(tall) "Social cost of carbon (due to GDP damages) [$ per tCO2eq]" +p51_sccLastItr(tall) "Social cost of carbon (due to GDP damages) from last iteration [$ per tCO2eq]" + +pm_sccConvergenceMaxDeviation "max deviation of SCC from last iteration [percent]" +; + +*** EOF ./modules/51_internalizeDamages/KotzWenzItr/declarations.gms diff --git a/modules/51_internalizeDamages/KotzWenzItr/not_used.txt b/modules/51_internalizeDamages/KotzWenzItr/not_used.txt new file mode 100644 index 000000000..e7bc34ad9 --- /dev/null +++ b/modules/51_internalizeDamages/KotzWenzItr/not_used.txt @@ -0,0 +1,28 @@ +# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | authors, and contributors see CITATION.cff file. This file is part +# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +# | AGPL-3.0, you are granted additional permissions described in the +# | REMIND License Exception, version 1.0 (see LICENSE file). +# | Contact: remind@pik-potsdam.de +name,type,reason +cm_damages_BurkeLike_persistenceTime,input,questionnaire +pm_tempScaleGlob2Reg,input,questionnaire +pm_damage,input,questionnaire +pm_damageGrowthRate,input,questionnaire +pm_damageMarginalT,input,questionnaire +pm_damageMarginalTm1,input,questionnaire +pm_damageMarginalTm2,input,questionnaire +pm_cesdata,input,questionnaire +pm_lab,input,questionnaire +pm_interpolWeight_ttot_tall,input,questionnaire +pm_tall_2_ttot,input,questionnaire +pm_damageProd,input,questionnaire +pm_damageTC,input,questionnaire +pm_damageGrowthRateTC,input,questionnaire +pm_GDPfrac,input,questionnaire +pm_damageMarginalTC,input,questionnaire +pm_GDPGrossIso,input,questionnaire +pm_damageImp,input,questionnaire +pm_damageIso,input,questionnaire +pm_damageGrowthRateIso,input,questionnaire +pm_sccIneq,input,questionnaire diff --git a/modules/51_internalizeDamages/KotzWenzItr/postsolve.gms b/modules/51_internalizeDamages/KotzWenzItr/postsolve.gms new file mode 100644 index 000000000..12858b423 --- /dev/null +++ b/modules/51_internalizeDamages/KotzWenzItr/postsolve.gms @@ -0,0 +1,54 @@ +*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | authors, and contributors see CITATION.cff file. This file is part +*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +*** | AGPL-3.0, you are granted additional permissions described in the +*** | REMIND License Exception, version 1.0 (see LICENSE file). +*** | Contact: remind@pik-potsdam.de + +*** SOF ./modules/51_internalizeDamages/KotzWenzItr/postsolve.gms + + +p51_sccLastItr(tall) = p51_scc(tall); + + +p51_scc(tall)$((tall.val ge 2020) and (tall.val le 2150)) = 1000 * +*p51_welf(tall)**(-1) * + sum(regi2, + sum(tall2$( (tall2.val ge tall.val) and (tall2.val le (tall.val + cm_damages_SccHorizon))), !! add this for limiting horizon of damage consideration: and (tall2.val le 2150) + (1 + pm_prtp(regi2) )**(-(tall2.val - tall.val)) + * pm_consPC(tall,regi2)/pm_consPC(tall2,regi2) + * pm_GDPGross(tall2,regi2) + * pm_temperatureImpulseResponseCO2(tall2,tall) + * pm_damageMarginal(tall2,regi2) + ) + ) +; + +*if(cm_iterative_target_adj eq 10 and cm_emiscen eq 9 and mod(iteration.val,2) eq 1, !! update only every uneven iteration to prevent zig-zagging + +*display "proposed new scc tax:"; +*display p51_scc; +*p51_scc(tall) = p51_sccLastItr(tall) * max(0, min(1.4,max(0.6, (p51_scc(tall)/max(p51_sccLastItr(tall),1e-8))**0.7 ))); +p51_scc(tall) = p51_sccLastItr(tall) * min(max( (p51_scc(tall)/max(p51_sccLastItr(tall),1e-8)),1 - 0.5*0.95**iteration.val),1 + 0.95**iteration.val); + +pm_taxCO2eqSCC(ttot,regi) = 0; +pm_taxCO2eqSCC(t,regi)$(t.val ge 2025) = max(0, p51_scc(t) * (44/12)/1000); + +*); + +*optional: prevent drastic decline towards the final periods +*pm_taxCO2eqSCC(ttot,regi)$(ttot.val gt 2100) = pm_taxCO2eqSCC("2100",regi); +*optional: dampen price adjustment to ease convergence +*pm_taxCO2eqSCC(ttot,regi)$(ttot.val gt 2110) = pm_taxCO2eqSCC("2110",regi) + (ttot.val - 2110) * (pm_taxCO2eqSCC("2110",regi) - pm_taxCO2eqSCC("2100",regi))/10; + +display p51_scc,pm_taxCO2eqSCC; + + +* convergence indicator: +pm_sccConvergenceMaxDeviation=0; +pm_sccConvergenceMaxDeviation = 100 * smax(tall$(tall.val ge cm_startyear and tall.val lt 2150),abs(p51_scc(tall)/max(p51_sccLastItr(tall),1e-8) - 1) ); +display pm_sccConvergenceMaxDeviation; + +*** EOF ./modules/51_internalizeDamages/KotzWenzItr/postsolve.gms + + diff --git a/modules/51_internalizeDamages/KotzWenzItr/realization.gms b/modules/51_internalizeDamages/KotzWenzItr/realization.gms new file mode 100644 index 000000000..b83f454f0 --- /dev/null +++ b/modules/51_internalizeDamages/KotzWenzItr/realization.gms @@ -0,0 +1,6 @@ + +*####################### R SECTION START (PHASES) ############################## +$Ifi "%phase%" == "declarations" $include "./modules/51_internalizeDamages/KotzWenzItr/declarations.gms" +$Ifi "%phase%" == "datainput" $include "./modules/51_internalizeDamages/KotzWenzItr/datainput.gms" +$Ifi "%phase%" == "postsolve" $include "./modules/51_internalizeDamages/KotzWenzItr/postsolve.gms" +*######################## R SECTION END (PHASES) ############################### diff --git a/modules/51_internalizeDamages/LabItr/postsolve.gms b/modules/51_internalizeDamages/LabItr/postsolve.gms index 2d00dfdc1..4d9b611c9 100755 --- a/modules/51_internalizeDamages/LabItr/postsolve.gms +++ b/modules/51_internalizeDamages/LabItr/postsolve.gms @@ -46,7 +46,7 @@ p51_sccParts(tall,tall2,regi2)$((tall.val ge 2010) and (tall.val le 2150) and (t ; p51_sccLastItr(tall) = p51_scc(tall); -p51_scc(tall)$((tall.val ge 2010) and (tall.val le 2150)) = 1000 * +p51_scc(tall)$((tall.val ge 2020) and (tall.val le 2150)) = 1000 * sum(regi2, sum(tall2$( (tall2.val ge tall.val) and (tall2.val le (tall.val + cm_damages_SccHorizon)) ), !! add this for limiting horizon of damage consideration: and (tall2.val le 2150) (1 + pm_prtp(regi2))**(-(tall2.val - tall.val)) @@ -59,7 +59,7 @@ p51_scc(tall)$((tall.val ge 2010) and (tall.val le 2150)) = 1000 * *if(cm_iterative_target_adj eq 10 and cm_emiscen eq 9 and mod(iteration.val,2) eq 1, !! update only every uneven iteration to prevent zig-zagging pm_taxCO2eqSCC(ttot,regi) = 0; -pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2020) = p51_scc(ttot) * (44/12)/1000; +pm_taxCO2eqSCC(t,regi)$(t.val ge 2020) = p51_scc(t) * (44/12)/1000; *); diff --git a/modules/51_internalizeDamages/TCitr/postsolve.gms b/modules/51_internalizeDamages/TCitr/postsolve.gms index 567c5ba94..d6267e40b 100755 --- a/modules/51_internalizeDamages/TCitr/postsolve.gms +++ b/modules/51_internalizeDamages/TCitr/postsolve.gms @@ -27,7 +27,7 @@ p51_sccParts(tall,tall2,regi2)$((tall.val ge 2010) and (tall.val le 2150) and (t ) ; -p51_scc(tall)$((tall.val ge 2010) and (tall.val le 2150)) = 1000 * +p51_scc(tall)$((tall.val ge 2020) and (tall.val le 2150)) = 1000 * *p51_welf(tall)**(-1) * sum(regi2, sum(tall2$( (tall2.val ge tall.val) and (tall2.val le (tall.val + cm_damages_SccHorizon))), !! add this for limiting horizon of damage consideration: and (tall2.val le 2150) @@ -46,7 +46,7 @@ p51_scc(tall)$((tall.val ge 2010) and (tall.val le 2150)) = 1000 * p51_scc(tall) = p51_sccLastItr(tall) * min(max( (p51_scc(tall)/max(p51_sccLastItr(tall),1e-8)),1 - 0.5*0.95**iteration.val),1 + 0.95**iteration.val); pm_taxCO2eqSCC(ttot,regi) = 0; -pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2020) = max(0, p51_scc(ttot) * (44/12)/1000); +pm_taxCO2eqSCC(t,regi)$(t.val ge 2020) = max(0, p51_scc(t) * (44/12)/1000); *); From 3234e241bc95e67a0732ae67c0db8e4b5ae0b2ea Mon Sep 17 00:00:00 2001 From: Chen Gong Date: Thu, 18 Apr 2024 07:52:42 +0200 Subject: [PATCH 002/875] bug fix - global early retirement rate was overwriting regional rates --- core/datainput.gms | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/core/datainput.gms b/core/datainput.gms index cc0277ab3..82ad993bf 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -688,6 +688,12 @@ pm_cf(ttot,regi,"h2turbVRE")$(ttot.val ge 2025) = pm_cf(ttot,regi,"ngt"); pm_cf(ttot,regi,"tdh2b") = pm_cf(ttot,regi,"tdh2s"); pm_cf(ttot,regi,"tdh2i") = pm_cf(ttot,regi,"tdh2s"); +*CG* global tech-specific early retirement rates +$IFTHEN.tech_earlyreti not "%c_tech_earlyreti_rate%" == "off" +loop((ext_regi,te)$p_techEarlyRetiRate(ext_regi,te), + pm_regiEarlyRetiRate(t,regi,te)$(regi_group(ext_regi,regi) and (t.val lt 2035 or sameas(ext_regi,"GLO"))) = p_techEarlyRetiRate(ext_regi,te); +); +$ENDIF.tech_earlyreti *SB* Region- and tech-specific early retirement rates *Regional* @@ -705,12 +711,6 @@ pm_regiEarlyRetiRate(t,regi,"coalhp") = 0.5 * pm_regiEarlyRetiRate(t,regi,"coal pm_regiEarlyRetiRate(t,regi,"biohp") = 0.5 * pm_regiEarlyRetiRate(t,regi,"biohp") ; !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input -$IFTHEN.tech_earlyreti not "%c_tech_earlyreti_rate%" == "off" -loop((ext_regi,te)$p_techEarlyRetiRate(ext_regi,te), - pm_regiEarlyRetiRate(t,regi,te)$(regi_group(ext_regi,regi) and (t.val lt 2035 or sameas(ext_regi,"GLO"))) = p_techEarlyRetiRate(ext_regi,te); -); -$ENDIF.tech_earlyreti - *SB* Time-dependent early retirement rates in Baseline scenarios $ifthen.Base_Cprice %carbonprice% == "none" $ifthen.Base_techpol %techpol% == "none" From b84b80b8eea6b34aa80a02c72bbb525bb251da56 Mon Sep 17 00:00:00 2001 From: Chen Gong Date: Thu, 18 Apr 2024 07:59:32 +0200 Subject: [PATCH 003/875] Revert "bug fix - global early retirement rate was overwriting regional rates" This reverts commit 3234e241bc95e67a0732ae67c0db8e4b5ae0b2ea. --- core/datainput.gms | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/core/datainput.gms b/core/datainput.gms index 82ad993bf..cc0277ab3 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -688,12 +688,6 @@ pm_cf(ttot,regi,"h2turbVRE")$(ttot.val ge 2025) = pm_cf(ttot,regi,"ngt"); pm_cf(ttot,regi,"tdh2b") = pm_cf(ttot,regi,"tdh2s"); pm_cf(ttot,regi,"tdh2i") = pm_cf(ttot,regi,"tdh2s"); -*CG* global tech-specific early retirement rates -$IFTHEN.tech_earlyreti not "%c_tech_earlyreti_rate%" == "off" -loop((ext_regi,te)$p_techEarlyRetiRate(ext_regi,te), - pm_regiEarlyRetiRate(t,regi,te)$(regi_group(ext_regi,regi) and (t.val lt 2035 or sameas(ext_regi,"GLO"))) = p_techEarlyRetiRate(ext_regi,te); -); -$ENDIF.tech_earlyreti *SB* Region- and tech-specific early retirement rates *Regional* @@ -711,6 +705,12 @@ pm_regiEarlyRetiRate(t,regi,"coalhp") = 0.5 * pm_regiEarlyRetiRate(t,regi,"coal pm_regiEarlyRetiRate(t,regi,"biohp") = 0.5 * pm_regiEarlyRetiRate(t,regi,"biohp") ; !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input +$IFTHEN.tech_earlyreti not "%c_tech_earlyreti_rate%" == "off" +loop((ext_regi,te)$p_techEarlyRetiRate(ext_regi,te), + pm_regiEarlyRetiRate(t,regi,te)$(regi_group(ext_regi,regi) and (t.val lt 2035 or sameas(ext_regi,"GLO"))) = p_techEarlyRetiRate(ext_regi,te); +); +$ENDIF.tech_earlyreti + *SB* Time-dependent early retirement rates in Baseline scenarios $ifthen.Base_Cprice %carbonprice% == "none" $ifthen.Base_techpol %techpol% == "none" From eb25f369cc74499f49d7443c024cb9870070952d Mon Sep 17 00:00:00 2001 From: Chen Gong Date: Thu, 18 Apr 2024 10:19:38 +0200 Subject: [PATCH 004/875] half finishing the diff floor cost scenario on price structure prevail --- core/datainput.gms | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/core/datainput.gms b/core/datainput.gms index cc0277ab3..5a75b0336 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -314,10 +314,18 @@ p_inco0(ttot,regi,teRegTechCosts) = (1 + p_tkpremused(regi,teRegTechCosts) ) * fm_dataglob("inco0",te) = (1 + sum(regi, p_tkpremused(regi,te))/sum(regi, 1)) * fm_dataglob("inco0",te); *** calculate default floor costs for learning technologies +$ifthen.floorscen %cm_floorCostScen% == "default" pm_data(regi,"floorcost",teLearn(te)) = pm_data(regi,"inco0",te) - pm_data(regi,"incolearn",te); +$endif.floorscen +*** calculate floor costs for learning technologies if historical price structure prevails +$ifthen.floorscen %cm_floorCostScen% == "pricestruc" +p_maxRegTechCost(teRegTechCosts) = SMax(regi, p_inco0("2020",regi,teRegTechCosts)); +pm_data(regi,"floorcost",teLearn(te)) = pm_data(regi,"floorcost",teLearn(te)) * p_inco0("2020",regi,teRegTechCosts(te)) / p_maxRegTechCost(teRegTechCosts(te)); +p_newFloorCostdata(regi,teLearn(te)) = pm_data(regi,teLearn(te)); +$endif.floorscen -*** In case regionally differentiated investment costs should be used the corresponding entries are revised: +*** In case regionally differentiated investment costs should be used, the corresponding entries are revised: $if %cm_techcosts% == "REG" pm_data(regi,"inco0",teRegTechCosts) = p_inco0("2015",regi,teRegTechCosts); loop(teRegTechCosts$(sameas(teRegTechCosts,"spv") ), $if %cm_techcosts% == "REG" pm_data(regi,"inco0",teRegTechCosts) = p_inco0("2020",regi,teRegTechCosts); @@ -707,7 +715,7 @@ pm_regiEarlyRetiRate(t,regi,"biohp") = 0.5 * pm_regiEarlyRetiRate(t,regi,"bioh $IFTHEN.tech_earlyreti not "%c_tech_earlyreti_rate%" == "off" loop((ext_regi,te)$p_techEarlyRetiRate(ext_regi,te), - pm_regiEarlyRetiRate(t,regi,te)$(regi_group(ext_regi,regi) and (t.val lt 2035 or sameas(ext_regi,"GLO"))) = p_techEarlyRetiRate(ext_regi,te); + pm_regiEarlyRetiRate(t,regi,te)$(regi_group(ext_regi,regi) and (t.val lt 2065 or sameas(ext_regi,"GLO"))) = p_techEarlyRetiRate(ext_regi,te); ); $ENDIF.tech_earlyreti From 320699e5783058ee864c2c3c88de7042779db881 Mon Sep 17 00:00:00 2001 From: Chen Gong Date: Thu, 18 Apr 2024 18:02:40 +0200 Subject: [PATCH 005/875] update floor cost regionalization scenario - preserve price strucure --- core/datainput.gms | 19 +++++++++++++++---- core/declarations.gms | 5 +++++ main.gms | 4 ++++ 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/core/datainput.gms b/core/datainput.gms index 5a75b0336..223700c49 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -313,16 +313,27 @@ p_inco0(ttot,regi,teRegTechCosts) = (1 + p_tkpremused(regi,teRegTechCosts) ) * *** take region average p_tkpremused for global convergence price fm_dataglob("inco0",te) = (1 + sum(regi, p_tkpremused(regi,te))/sum(regi, 1)) * fm_dataglob("inco0",te); +*** ====================== floor cost scenarios =========================== *** calculate default floor costs for learning technologies -$ifthen.floorscen %cm_floorCostScen% == "default" pm_data(regi,"floorcost",teLearn(te)) = pm_data(regi,"inco0",te) - pm_data(regi,"incolearn",te); + +*** report old floor costs pre manipulation +$ifthen.floorscen NOT %cm_floorCostScen% == "default" +p_oldFloorCostdata(regi,te) = pm_data(regi,"inco0",te) - pm_data(regi,"incolearn",te); $endif.floorscen *** calculate floor costs for learning technologies if historical price structure prevails $ifthen.floorscen %cm_floorCostScen% == "pricestruc" -p_maxRegTechCost(teRegTechCosts) = SMax(regi, p_inco0("2020",regi,teRegTechCosts)); -pm_data(regi,"floorcost",teLearn(te)) = pm_data(regi,"floorcost",teLearn(te)) * p_inco0("2020",regi,teRegTechCosts(te)) / p_maxRegTechCost(teRegTechCosts(te)); -p_newFloorCostdata(regi,teLearn(te)) = pm_data(regi,teLearn(te)); +** compute maximum tech cost in 2015 for a given tech among regions +p_maxRegTechCost2015(teRegTechCosts) = SMax(regi, p_inco0("2015",regi,teRegTechCosts)); +*take the ratio of the tech cost in 2015 and the maximum cost, and multiply with the global floor to get new floorcost that preserves the price structure +pm_data(regi,"floorcost",te)$(p_maxRegTechCost2015(te) ne 0) = p_oldFloorCostdata(regi,te) * p_inco0("2015",regi,te) / p_maxRegTechCost2015(te); +* for newer data than 2015, use these +p_maxRegTechCost2020(teRegTechCosts) = SMax(regi, p_inco0("2020",regi,teRegTechCosts)); +pm_data(regi,"floorcost",te)$(p_maxRegTechCost2020(te) ne 0) = p_oldFloorCostdata(regi,te) * p_inco0("2020",regi,te) / p_maxRegTechCost2020(te); +* report the new floor cost data +p_newFloorCostdata(regi,te)$(p_maxRegTechCost2015(te) ne 0) = p_oldFloorCostdata(regi,te) * p_inco0("2015",regi,te) / p_maxRegTechCost2015(te); +p_newFloorCostdata(regi,te)$(p_maxRegTechCost2020(te) ne 0) = p_oldFloorCostdata(regi,te) * p_inco0("2020",regi,te) / p_maxRegTechCost2020(te); $endif.floorscen *** In case regionally differentiated investment costs should be used, the corresponding entries are revised: diff --git a/core/declarations.gms b/core/declarations.gms index 31c26cf98..dab0d9f8c 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -111,6 +111,11 @@ p_techEarlyRetiRate(ext_regi,all_te) "Technology specific early $ENDIF.tech_earlyreti pm_regiEarlyRetiRate(ttot,all_regi,all_te) "regional early retirement rate (model native regions)" +p_maxRegTechCost2015(all_te) "highest historical regional tech cost in 2015" +p_maxRegTechCost2020(all_te) "highest historical regional tech cost in 2020" +p_oldFloorCostdata(all_regi,all_te) "print old floor cost data" +p_newFloorCostdata(all_regi,all_te) "print new floor cost data" + pm_EN_demand_from_initialcap2(all_regi,all_enty) "PE demand resulting from the initialcap routine. [EJ, Uranium: MT U3O8]" pm_budgetCO2eq(all_regi) "budget for regional energy-emissions in period 1" p_actualbudgetco2(tall) "actual level of cumulated emissions starting from 2020 [GtCO2]" diff --git a/main.gms b/main.gms index 211a4bd4e..adb78e68c 100755 --- a/main.gms +++ b/main.gms @@ -1333,6 +1333,10 @@ $setglobal cm_calibration_string off !! def = off *** (REG) regionalized technology costs *** (GLO) globally homogenous technology costs $setglobal cm_techcosts REG !! def = REG +*** cm_floorCostScen regionally differentiated floor cost scenarios +*** (default) uniform floor cost (almost no regional differentiation) +*** (pricestruc) regionally differentiated floor costs, the differentiated costs have the same ratio between regions as the ratio between 2020 tech cost values +$setglobal cm_floorCostScen pricestruc !! def = default *** cfg$gms$cm_EDGEtr_scen "the EDGE-T scenario" # def <- "Mix1". For calibration runs: Mix1. Mix2, Mix3, Mix4 also available - numbers after the "mix" denote policy strength, with 1 corresponding roughly to Baseline/NPI, 2= NDC, 3= Budg1500, 4 = Budg800 *** The following descriptions are based on scenario results for EUR in 2050 unless specified otherwise. *** Whenever we give numbers, please be aware that they are just there to estimate the ballpark. From 0f0e5d5653d9ce6e5fd5ca1103598b8979d9099a Mon Sep 17 00:00:00 2001 From: Chen Gong Date: Fri, 19 Apr 2024 14:50:59 +0200 Subject: [PATCH 006/875] update floor cost regionalization scenario - preserve price strucure - small patch --- core/datainput.gms | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/core/datainput.gms b/core/datainput.gms index 223700c49..4ea3d2e47 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -319,7 +319,7 @@ pm_data(regi,"floorcost",teLearn(te)) = pm_data(regi,"inco0",te) - pm_data(regi, *** report old floor costs pre manipulation $ifthen.floorscen NOT %cm_floorCostScen% == "default" -p_oldFloorCostdata(regi,te) = pm_data(regi,"inco0",te) - pm_data(regi,"incolearn",te); +p_oldFloorCostdata(regi,teLearn(te)) = pm_data(regi,"inco0",te) - pm_data(regi,"incolearn",te); $endif.floorscen *** calculate floor costs for learning technologies if historical price structure prevails @@ -327,13 +327,13 @@ $ifthen.floorscen %cm_floorCostScen% == "pricestruc" ** compute maximum tech cost in 2015 for a given tech among regions p_maxRegTechCost2015(teRegTechCosts) = SMax(regi, p_inco0("2015",regi,teRegTechCosts)); *take the ratio of the tech cost in 2015 and the maximum cost, and multiply with the global floor to get new floorcost that preserves the price structure -pm_data(regi,"floorcost",te)$(p_maxRegTechCost2015(te) ne 0) = p_oldFloorCostdata(regi,te) * p_inco0("2015",regi,te) / p_maxRegTechCost2015(te); +pm_data(regi,"floorcost",teLearn(te))$(p_maxRegTechCost2015(te) ne 0) = p_oldFloorCostdata(regi,te) * p_inco0("2015",regi,te) / p_maxRegTechCost2015(te); * for newer data than 2015, use these p_maxRegTechCost2020(teRegTechCosts) = SMax(regi, p_inco0("2020",regi,teRegTechCosts)); -pm_data(regi,"floorcost",te)$(p_maxRegTechCost2020(te) ne 0) = p_oldFloorCostdata(regi,te) * p_inco0("2020",regi,te) / p_maxRegTechCost2020(te); +pm_data(regi,"floorcost",teLearn(te))$(p_maxRegTechCost2020(te) ne 0) = p_oldFloorCostdata(regi,te) * p_inco0("2020",regi,te) / p_maxRegTechCost2020(te); * report the new floor cost data -p_newFloorCostdata(regi,te)$(p_maxRegTechCost2015(te) ne 0) = p_oldFloorCostdata(regi,te) * p_inco0("2015",regi,te) / p_maxRegTechCost2015(te); -p_newFloorCostdata(regi,te)$(p_maxRegTechCost2020(te) ne 0) = p_oldFloorCostdata(regi,te) * p_inco0("2020",regi,te) / p_maxRegTechCost2020(te); +p_newFloorCostdata(regi,teLearn(te))$(p_maxRegTechCost2015(te) ne 0) = p_oldFloorCostdata(regi,te) * p_inco0("2015",regi,te) / p_maxRegTechCost2015(te); +p_newFloorCostdata(regi,teLearn(te))$(p_maxRegTechCost2020(te) ne 0) = p_oldFloorCostdata(regi,te) * p_inco0("2020",regi,te) / p_maxRegTechCost2020(te); $endif.floorscen *** In case regionally differentiated investment costs should be used, the corresponding entries are revised: From a7f55433f698c8a133e632792d541bcf7a2122e9 Mon Sep 17 00:00:00 2001 From: lecfab Date: Fri, 19 Apr 2024 15:10:29 +0200 Subject: [PATCH 007/875] Steeper curve for wind offshore near-term development --- core/datainput.gms | 12 +-- core/sets.gms | 172 ++++++++++++++++++++------------------ scripts/cs2/profiles.json | 4 +- 3 files changed, 98 insertions(+), 90 deletions(-) diff --git a/core/datainput.gms b/core/datainput.gms index 0b7c919bf..61163928b 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -971,12 +971,12 @@ pm_shareWindPotentialOff2On(all_regi) = sum(rlf,f_maxProdGradeRegiWindOff(all_re pm_shareWindOff("2010",regi) = 0.05; pm_shareWindOff("2015",regi) = 0.1; -pm_shareWindOff("2020",regi) = 0.15; -pm_shareWindOff("2025",regi) = 0.2; -pm_shareWindOff("2030",regi) = 0.35; -pm_shareWindOff("2035",regi) = 0.5; -pm_shareWindOff("2040",regi) = 0.65; -pm_shareWindOff("2045",regi) = 0.8; +pm_shareWindOff("2020",regi) = 0.2; +pm_shareWindOff("2025",regi) = 0.4; +pm_shareWindOff("2030",regi) = 0.6; +pm_shareWindOff("2035",regi) = 0.8; +pm_shareWindOff("2040",regi) = 0.9; +pm_shareWindOff("2045",regi) = 0.95; pm_shareWindOff(ttot,regi)$((ttot.val ge 2050)) = 1; $endif.WindOff diff --git a/core/sets.gms b/core/sets.gms index 31f6bf28b..fa4358ab9 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -763,20 +763,20 @@ sets ext_regi "extended regions list (includes subsets of H12 regions)" / GLO, - LAM_regi,OAS_regi,SSA_regi,EUR_regi,NEU_regi,MEA_regi,REF_regi,CAZ_regi,CHA_regi,IND_regi,JPN_regi,USA_regi, - LAM,OAS,SSA,EUR,NEU,MEA,REF,CAZ,CHA,IND,JPN,USA + LAM_regi,OAS_regi,SSA_regi,EUR_regi,NEU_regi,MEA_regi,REF_regi,CAZ_regi,CHA_regi,IND_regi,JPN_regi,USA_regi,EU27_regi,NEU_UKI_regi, + OAS,ENC,NES,MEA,SSA,LAM,REF,CAZ,EWN,ECS,CHA,ESC,ECE,FRA,DEU,UKI,NEN,IND,JPN,ESW,USA / - all_regi "all regions" /LAM,OAS,SSA,EUR,NEU,MEA,REF,CAZ,CHA,IND,JPN,USA/ + all_regi "all regions" /OAS,ENC,NES,MEA,SSA,LAM,REF,CAZ,EWN,ECS,CHA,ESC,ECE,FRA,DEU,UKI,NEN,IND,JPN,ESW,USA/ regi_group(ext_regi,all_regi) "region groups (regions that together corresponds to a H12 region)" / - GLO.( LAM,OAS,SSA,EUR,NEU,MEA,REF,CAZ,CHA,IND,JPN,USA ) + GLO.( OAS,ENC,NES,MEA,SSA,LAM,REF,CAZ,EWN,ECS,CHA,ESC,ECE,FRA,DEU,UKI,NEN,IND,JPN,ESW,USA ) LAM_regi .(LAM) OAS_regi .(OAS) SSA_regi .(SSA) - EUR_regi .(EUR) - NEU_regi .(NEU) + EUR_regi .(ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW) + NEU_regi .(NES,NEN) MEA_regi .(MEA) REF_regi .(REF) CAZ_regi .(CAZ) @@ -784,102 +784,110 @@ sets IND_regi .(IND) JPN_regi .(JPN) USA_regi .(USA) + EU27_regi .(ENC,EWN,ECS,ESC,ECE,FRA,DEU,ESW) + NEU_UKI_regi .(NES,NEN,UKI) / iso "list of iso countries" / - ABW,AFG,AGO,AIA,ALA,ALB,AND,ARE,ARG,ARM, - ASM,ATA,ATF,ATG,AUS,AUT,AZE,BDI,BEL,BEN, - BES,BFA,BGD,BGR,BHR,BHS,BIH,BLM,BLR,BLZ, - BMU,BOL,BRA,BRB,BRN,BTN,BVT,BWA,CAF,CAN, - CCK,CHN,CHE,CHL,CIV,CMR,COD,COG,COK,COL, - COM,CPV,CRI,CUB,CUW,CXR,CYM,CYP,CZE,DEU, - DJI,DMA,DNK,DOM,DZA,ECU,EGY,ERI,ESH,ESP, - EST,ETH,FIN,FJI,FLK,FRA,FRO,FSM,GAB,GBR, - GEO,GGY,GHA,GIB,GIN,GLP,GMB,GNB,GNQ,GRC, - GRD,GRL,GTM,GUF,GUM,GUY,HKG,HMD,HND,HRV, - HTI,HUN,IDN,IMN,IND,IOT,IRL,IRN,IRQ,ISL, - ISR,ITA,JAM,JEY,JOR,JPN,KAZ,KEN,KGZ,KHM, - KIR,KNA,KOR,KWT,LAO,LBN,LBR,LBY,LCA,LIE, - LKA,LSO,LTU,LUX,LVA,MAC,MAF,MAR,MCO,MDA, - MDG,MDV,MEX,MHL,MKD,MLI,MLT,MMR,MNE,MNG, - MNP,MOZ,MRT,MSR,MTQ,MUS,MWI,MYS,MYT,NAM, - NCL,NER,NFK,NGA,NIC,NIU,NLD,NOR,NPL,NRU, - NZL,OMN,PAK,PAN,PCN,PER,PHL,PLW,PNG,POL, - PRI,PRK,PRT,PRY,PSE,PYF,QAT,REU,ROU,RUS, - RWA,SAU,SDN,SEN,SGP,SGS,SHN,SJM,SLB,SLE, - SLV,SMR,SOM,SPM,SRB,SSD,STP,SUR,SVK,SVN, - SWE,SWZ,SXM,SYC,SYR,TCA,TCD,TGO,THA,TJK, - TKL,TKM,TLS,TON,TTO,TUN,TUR,TUV,TWN,TZA, - UGA,UKR,UMI,URY,USA,UZB,VAT,VCT,VEN,VGB, - VIR,VNM,VUT,WLF,WSM,YEM,ZAF,ZMB,ZWE / + AFG,ALA,ALB,DZA,ASM,AND,AGO,AIA,ATA,ATG, + ARG,ARM,ABW,AUS,AUT,AZE,BHS,BHR,BGD,BRB, + BLR,BEL,BLZ,BEN,BMU,BTN,BOL,BES,BIH,BWA, + BVT,BRA,IOT,BRN,BGR,BFA,BDI,KHM,CMR,CAN, + CPV,CYM,CAF,TCD,CHL,CHN,CXR,CCK,COL,COM, + COG,COD,COK,CRI,CIV,HRV,CUB,CUW,CYP,CZE, + DNK,DJI,DMA,DOM,ECU,EGY,SLV,GNQ,ERI,EST, + ETH,FLK,FRO,FJI,FIN,FRA,GUF,PYF,ATF,GAB, + GMB,GEO,DEU,GHA,GIB,GRC,GRL,GRD,GLP,GUM, + GTM,GGY,GIN,GNB,GUY,HTI,HMD,VAT,HND,HKG, + HUN,ISL,IND,IDN,IRN,IRQ,IRL,IMN,ISR,ITA, + JAM,JPN,JEY,JOR,KAZ,KEN,KIR,PRK,KOR,KWT, + KGZ,LAO,LVA,LBN,LSO,LBR,LBY,LIE,LTU,LUX, + MAC,MKD,MDG,MWI,MYS,MDV,MLI,MLT,MHL,MTQ, + MRT,MUS,MYT,MEX,FSM,MDA,MCO,MNG,MNE,MSR, + MAR,MOZ,MMR,NAM,NRU,NPL,NLD,NCL,NZL,NIC, + NER,NGA,NIU,NFK,MNP,NOR,OMN,PAK,PLW,PSE, + PAN,PNG,PRY,PER,PHL,PCN,POL,PRT,PRI,QAT, + REU,ROU,RUS,RWA,BLM,SHN,KNA,LCA,MAF,SPM, + VCT,WSM,SMR,STP,SAU,SEN,SRB,SYC,SLE,SGP, + SXM,SVK,SVN,SLB,SOM,ZAF,SGS,SSD,ESP,LKA, + SDN,SUR,SJM,SWZ,SWE,CHE,SYR,TWN,TJK,TZA, + THA,TLS,TGO,TKL,TON,TTO,TUN,TUR,TKM,TCA, + TUV,UGA,UKR,ARE,GBR,USA,UMI,URY,UZB,VUT, + VEN,VNM,VGB,VIR,WLF,ESH,YEM,ZMB,ZWE / regi2iso(all_regi,iso) "mapping regions to iso countries" / - LAM . (ABW,AIA,ARG,ATA,ATG,BES,BHS,BLM,BLZ,BMU) - LAM . (BOL,BRA,BRB,BVT,CHL,COL,CRI,CUB,CUW,CYM) - LAM . (DMA,DOM,ECU,FLK,GLP,GRD,GTM,GUF,GUY,HND) - LAM . (HTI,JAM,KNA,LCA,MAF,MEX,MSR,MTQ,NIC,PAN) - LAM . (PER,PRI,PRY,SGS,SLV,SUR,SXM,TCA,TTO,URY) - LAM . (VCT,VEN,VGB,VIR) - OAS . (AFG,ASM,ATF,BGD,BRN,BTN,CCK,COK,CXR,FJI) - OAS . (FSM,GUM,IDN,IOT,KHM,KIR,KOR,LAO,LKA,MDV) - OAS . (MHL,MMR,MNG,MNP,MYS,NCL,NFK,NIU,NPL,NRU) - OAS . (PAK,PCN,PHL,PLW,PNG,PRK,PYF,SGP,SLB,THA) - OAS . (TKL,TLS,TON,TUV,UMI,VNM,VUT,WLF,WSM) - SSA . (AGO,BDI,BEN,BFA,BWA,CAF,CIV,CMR,COD,COG) - SSA . (COM,CPV,DJI,ERI,ETH,GAB,GHA,GIN,GMB,GNB) - SSA . (GNQ,KEN,LBR,LSO,MDG,MLI,MOZ,MRT,MUS,MWI) - SSA . (MYT,NAM,NER,NGA,REU,RWA,SEN,SHN,SLE,SOM) - SSA . (SSD,STP,SWZ,SYC,TCD,TGO,TZA,UGA,ZAF,ZMB) - SSA . (ZWE) - EUR . (ALA,AUT,BEL,BGR,CYP,CZE,DEU,DNK,ESP,EST) - EUR . (FIN,FRA,FRO,GBR,GGY,GIB,GRC,HRV,HUN,IMN) - EUR . (IRL,ITA,JEY,LTU,LUX,LVA,MLT,NLD,POL,PRT) - EUR . (ROU,SVK,SVN,SWE) - NEU . (ALB,AND,BIH,CHE,GRL,ISL,LIE,MCO,MKD,MNE) - NEU . (NOR,SJM,SMR,SRB,TUR,VAT) - MEA . (ARE,BHR,DZA,EGY,ESH,IRN,IRQ,ISR,JOR,KWT) - MEA . (LBN,LBY,MAR,OMN,PSE,QAT,SAU,SDN,SYR,TUN) + OAS . (AFG,ASM,BGD,BTN,IOT,BRN,KHM,CXR,CCK,COK) + OAS . (FJI,PYF,ATF,GUM,IDN,KIR,PRK,KOR,LAO,MYS) + OAS . (MDV,MHL,FSM,MNG,MMR,NRU,NPL,NCL,NIU,NFK) + OAS . (MNP,PAK,PLW,PNG,PHL,PCN,WSM,SGP,SLB,LKA) + OAS . (THA,TLS,TKL,TON,TUV,UMI,VUT,VNM,WLF) + ENC . (ALA,DNK,FRO,FIN,SWE) + NES . (ALB,AND,BIH,VAT,MKD,MCO,MNE,SMR,SRB,TUR) + MEA . (DZA,BHR,EGY,IRN,IRQ,ISR,JOR,KWT,LBN,LBY) + MEA . (MAR,OMN,PSE,QAT,SAU,SDN,SYR,TUN,ARE,ESH) MEA . (YEM) + SSA . (AGO,BEN,BWA,BFA,BDI,CMR,CPV,CAF,TCD,COM) + SSA . (COG,COD,CIV,DJI,GNQ,ERI,ETH,GAB,GMB,GHA) + SSA . (GIN,GNB,KEN,LSO,LBR,MDG,MWI,MLI,MRT,MUS) + SSA . (MYT,MOZ,NAM,NER,NGA,REU,RWA,SHN,STP,SEN) + SSA . (SYC,SLE,SOM,ZAF,SSD,SWZ,TZA,TGO,UGA,ZMB) + SSA . (ZWE) + LAM . (AIA,ATA,ATG,ARG,ABW,BHS,BRB,BLZ,BMU,BOL) + LAM . (BES,BVT,BRA,CYM,CHL,COL,CRI,CUB,CUW,DMA) + LAM . (DOM,ECU,SLV,FLK,GUF,GRD,GLP,GTM,GUY,HTI) + LAM . (HND,JAM,MTQ,MEX,MSR,NIC,PAN,PRY,PER,PRI) + LAM . (BLM,KNA,LCA,MAF,VCT,SXM,SGS,SUR,TTO,TCA) + LAM . (URY,VEN,VGB,VIR) REF . (ARM,AZE,BLR,GEO,KAZ,KGZ,MDA,RUS,TJK,TKM) REF . (UKR,UZB) CAZ . (AUS,CAN,HMD,NZL,SPM) + EWN . (AUT,BEL,LUX,NLD) + ECS . (BGR,HRV,HUN,ROU,SVN) CHA . (CHN,HKG,MAC,TWN) + ESC . (CYP,GRC,ITA,MLT) + ECE . (CZE,EST,LVA,LTU,POL,SVK) + FRA . (FRA) + DEU . (DEU) + UKI . (GIB,GGY,IRL,IMN,JEY,GBR) + NEN . (GRL,ISL,LIE,NOR,SJM,CHE) IND . (IND) JPN . (JPN) + ESW . (PRT,ESP) USA . (USA) / iso_regi "all iso countries and EU and greater China region" / EUR,CHA, - ABW,AFG,AGO,AIA,ALA,ALB,AND,ARE,ARG,ARM, - ASM,ATA,ATF,ATG,AUS,AUT,AZE,BDI,BEL,BEN, - BES,BFA,BGD,BGR,BHR,BHS,BIH,BLM,BLR,BLZ, - BMU,BOL,BRA,BRB,BRN,BTN,BVT,BWA,CAF,CAN, - CCK,CHN,CHE,CHL,CIV,CMR,COD,COG,COK,COL, - COM,CPV,CRI,CUB,CUW,CXR,CYM,CYP,CZE,DEU, - DJI,DMA,DNK,DOM,DZA,ECU,EGY,ERI,ESH,ESP, - EST,ETH,FIN,FJI,FLK,FRA,FRO,FSM,GAB,GBR, - GEO,GGY,GHA,GIB,GIN,GLP,GMB,GNB,GNQ,GRC, - GRD,GRL,GTM,GUF,GUM,GUY,HKG,HMD,HND,HRV, - HTI,HUN,IDN,IMN,IND,IOT,IRL,IRN,IRQ,ISL, - ISR,ITA,JAM,JEY,JOR,JPN,KAZ,KEN,KGZ,KHM, - KIR,KNA,KOR,KWT,LAO,LBN,LBR,LBY,LCA,LIE, - LKA,LSO,LTU,LUX,LVA,MAC,MAF,MAR,MCO,MDA, - MDG,MDV,MEX,MHL,MKD,MLI,MLT,MMR,MNE,MNG, - MNP,MOZ,MRT,MSR,MTQ,MUS,MWI,MYS,MYT,NAM, - NCL,NER,NFK,NGA,NIC,NIU,NLD,NOR,NPL,NRU, - NZL,OMN,PAK,PAN,PCN,PER,PHL,PLW,PNG,POL, - PRI,PRK,PRT,PRY,PSE,PYF,QAT,REU,ROU,RUS, - RWA,SAU,SDN,SEN,SGP,SGS,SHN,SJM,SLB,SLE, - SLV,SMR,SOM,SPM,SRB,SSD,STP,SUR,SVK,SVN, - SWE,SWZ,SXM,SYC,SYR,TCA,TCD,TGO,THA,TJK, - TKL,TKM,TLS,TON,TTO,TUN,TUR,TUV,TWN,TZA, - UGA,UKR,UMI,URY,USA,UZB,VAT,VCT,VEN,VGB, - VIR,VNM,VUT,WLF,WSM,YEM,ZAF,ZMB,ZWE / + AFG,ALA,ALB,DZA,ASM,AND,AGO,AIA,ATA,ATG, + ARG,ARM,ABW,AUS,AUT,AZE,BHS,BHR,BGD,BRB, + BLR,BEL,BLZ,BEN,BMU,BTN,BOL,BES,BIH,BWA, + BVT,BRA,IOT,BRN,BGR,BFA,BDI,KHM,CMR,CAN, + CPV,CYM,CAF,TCD,CHL,CHN,CXR,CCK,COL,COM, + COG,COD,COK,CRI,CIV,HRV,CUB,CUW,CYP,CZE, + DNK,DJI,DMA,DOM,ECU,EGY,SLV,GNQ,ERI,EST, + ETH,FLK,FRO,FJI,FIN,FRA,GUF,PYF,ATF,GAB, + GMB,GEO,DEU,GHA,GIB,GRC,GRL,GRD,GLP,GUM, + GTM,GGY,GIN,GNB,GUY,HTI,HMD,VAT,HND,HKG, + HUN,ISL,IND,IDN,IRN,IRQ,IRL,IMN,ISR,ITA, + JAM,JPN,JEY,JOR,KAZ,KEN,KIR,PRK,KOR,KWT, + KGZ,LAO,LVA,LBN,LSO,LBR,LBY,LIE,LTU,LUX, + MAC,MKD,MDG,MWI,MYS,MDV,MLI,MLT,MHL,MTQ, + MRT,MUS,MYT,MEX,FSM,MDA,MCO,MNG,MNE,MSR, + MAR,MOZ,MMR,NAM,NRU,NPL,NLD,NCL,NZL,NIC, + NER,NGA,NIU,NFK,MNP,NOR,OMN,PAK,PLW,PSE, + PAN,PNG,PRY,PER,PHL,PCN,POL,PRT,PRI,QAT, + REU,ROU,RUS,RWA,BLM,SHN,KNA,LCA,MAF,SPM, + VCT,WSM,SMR,STP,SAU,SEN,SRB,SYC,SLE,SGP, + SXM,SVK,SVN,SLB,SOM,ZAF,SGS,SSD,ESP,LKA, + SDN,SUR,SJM,SWZ,SWE,CHE,SYR,TWN,TJK,TZA, + THA,TLS,TGO,TKL,TON,TTO,TUN,TUR,TKM,TCA, + TUV,UGA,UKR,ARE,GBR,USA,UMI,URY,UZB,VUT, + VEN,VNM,VGB,VIR,WLF,ESH,YEM,ZMB,ZWE / map_iso_regi(iso_regi,all_regi) "mapping from iso countries to regions that represent country" / - EUR . EUR CHA . CHA + FRA . FRA + DEU . DEU IND . IND JPN . JPN USA . USA diff --git a/scripts/cs2/profiles.json b/scripts/cs2/profiles.json index cce22ea5f..f9f5da4e5 100644 --- a/scripts/cs2/profiles.json +++ b/scripts/cs2/profiles.json @@ -12,8 +12,8 @@ "H12-short": { "reg": "c('CAZ', 'CHA', 'EUR', 'IND', 'JPN', 'LAM', 'MEA', 'NEU', 'OAS', 'REF', 'SSA', 'USA', 'World')", "yearsScen": "seq(2005, 2050, 5)", - "yearsHist": "c(seq(1990, 2020, 1), seq(2025, 2050, 5))", - "yearsBarPlot": "c(2010, 2030, 2050)" + "yearsHist": "c(seq(1990, 2024, 1), seq(2025, 2050, 5))", + "yearsBarPlot": "c(2020, 2030, 2050)" }, "EU27": { "reg": "c('DEU', 'ECE', 'ECS', 'ENC', 'ESC', 'ESW', 'EU27', 'EWN', 'FRA')", From d3a1baf4f740fa7c369d072215b2c5ad69372b0e Mon Sep 17 00:00:00 2001 From: Chen Gong Date: Fri, 26 Apr 2024 17:07:36 +0200 Subject: [PATCH 008/875] differentiate learning curve convergence or nonconvergence based on scenario --- core/equations.gms | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/core/equations.gms b/core/equations.gms index 41f694a2c..bdc387c77 100644 --- a/core/equations.gms +++ b/core/equations.gms @@ -449,6 +449,7 @@ q_costTeCapital(t,regi,teLearn)$(NOT (pm_data(regi,"tech_stat",teLearn) eq 4 AND ** pm_data(regi,"learnExp_wFC",teLearn) )$( (t.val gt 2005) AND (t.val lt 2020) ) +$ifthen.floorscen %cm_floorCostScen% == "default" *** assuming linear convergence of regional learning curves to global values until 2050 + ( (pm_ttot_val(t) - 2020) / 30 * fm_dataglob("learnMult_wFC",teLearn) * ( sum(regi2, vm_capCum(t,regi2,teLearn)) @@ -462,14 +463,26 @@ q_costTeCapital(t,regi,teLearn)$(NOT (pm_data(regi,"tech_stat",teLearn) eq 4 AND ) ** pm_data(regi,"learnExp_wFC",teLearn) )$( t.val ge 2020 AND t.val le 2050 ) +$endif.floorscen +$ifthen.floorscen %cm_floorCostScen% == "pricestruc" + + ( pm_data(regi,"learnMult_wFC",teLearn) + * ( sum(regi2, vm_capCum(t,regi2,teLearn)) + + pm_capCumForeign(t,regi,teLearn) + ) + ** pm_data(regi,"learnExp_wFC",teLearn) + )$( t.val ge 2020 AND t.val le 2100 ) +$endif.floorscen + +$ifthen.floorscen %cm_floorCostScen% == "default" *** globally harmonized costs after 2050 + ( fm_dataglob("learnMult_wFC",teLearn) * (sum(regi2, vm_capCum(t,regi2,teLearn)) + pm_capCumForeign(t,regi,teLearn) ) **(fm_dataglob("learnExp_wFC",teLearn)) )$(t.val gt 2050) +$endif.floorscen -*** floor costs - calculated such that they coincide for all regions +*** floor costs + pm_data(regi,"floorcost",teLearn) ; From 5719ebb0bfe303be28bc2ed0371a592dfb88f0bc Mon Sep 17 00:00:00 2001 From: Chen Gong Date: Wed, 1 May 2024 13:55:46 +0200 Subject: [PATCH 009/875] adding tech transfer scenario, also add a heuristic battery cost regionalization, which is proportional to regional differences for spv --- core/datainput.gms | 19 ++++++++++++++++--- core/declarations.gms | 3 +++ core/equations.gms | 9 +++++++++ main.gms | 3 ++- 4 files changed, 30 insertions(+), 4 deletions(-) diff --git a/core/datainput.gms b/core/datainput.gms index 4ea3d2e47..3b51ffa01 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -317,7 +317,7 @@ fm_dataglob("inco0",te) = (1 + sum(regi, p_tkpremused(regi,te))/sum(regi, *** calculate default floor costs for learning technologies pm_data(regi,"floorcost",teLearn(te)) = pm_data(regi,"inco0",te) - pm_data(regi,"incolearn",te); -*** report old floor costs pre manipulation +*** report old floor costs pre manipulation in non-default scenario $ifthen.floorscen NOT %cm_floorCostScen% == "default" p_oldFloorCostdata(regi,teLearn(te)) = pm_data(regi,"inco0",te) - pm_data(regi,"incolearn",te); $endif.floorscen @@ -336,11 +336,24 @@ p_newFloorCostdata(regi,teLearn(te))$(p_maxRegTechCost2015(te) ne 0) = p_oldFloo p_newFloorCostdata(regi,teLearn(te))$(p_maxRegTechCost2020(te) ne 0) = p_oldFloorCostdata(regi,te) * p_inco0("2020",regi,te) / p_maxRegTechCost2020(te); $endif.floorscen +*** calculate floor costs for learning technologies if there is technology transfer +$ifthen.floorscen %cm_floorCostScen% == "techtrans" +** compute maximum income GDP PPP per capita among regions in 2050 +p_gdppcap2050_PPP(regi) = pm_gdp("2050",regi) / pm_shPPPMER(regi) / pm_pop("2050",regi); +p_maxPPP2050 = SMax(regi, p_gdppcap2050_PPP(regi)); +*take the ratio of the PPP income and the maximum income, and multiply with the global floor to get new floorcost that simulates tech transfer where costs are solely dependent on local wages, not on IP rent +pm_data(regi,"floorcost",teLearn(te))$(p_maxPPP2050 ne 0) = p_oldFloorCostdata(regi,te) * p_gdppcap2050_PPP(regi) / p_maxPPP2050; +p_newFloorCostdata(regi,teLearn(te))$(p_maxPPP2050 ne 0) = p_oldFloorCostdata(regi,te) * p_gdppcap2050_PPP(regi) / p_maxPPP2050; +$endif.floorscen + + *** In case regionally differentiated investment costs should be used, the corresponding entries are revised: $if %cm_techcosts% == "REG" pm_data(regi,"inco0",teRegTechCosts) = p_inco0("2015",regi,teRegTechCosts); -loop(teRegTechCosts$(sameas(teRegTechCosts,"spv") ), +loop(teRegTechCosts$(sameas(teRegTechCosts,"spv") or sameas(teRegTechCosts,"wind") or sameas(teRegTechCosts,"windoff") ), $if %cm_techcosts% == "REG" pm_data(regi,"inco0",teRegTechCosts) = p_inco0("2020",regi,teRegTechCosts); ); +p_maxSpvCost = SMax(regi, p_inco0("2020",regi,"spv")); +$if %cm_techcosts% == "REG" pm_data(regi,"inco0","storspv") = p_inco0("2020",regi,"spv")/p_maxSpvCost * pm_data(regi,"inco0","storspv"); $if %cm_techcosts% == "REG" pm_data(regi,"incolearn",teLearn(te)) = pm_data(regi,"inco0",te) - pm_data(regi,"floorcost",te) ; @@ -358,7 +371,7 @@ pm_data(regi,"learnExp_wFC",teLearn(te)) = pm_data(regi,"inco0",te) / pm_dat *** global factor *** parameter calculation for global level, that regional values can gradually converge to -fm_dataglob("learnMult_wFC",teLearn(te)) = fm_dataglob("incolearn",te)/(fm_dataglob("ccap0",te)**fm_dataglob("learnExp_wFC", te)); +fm_dataglob("learnMult_wFC",teLearn(te)) = fm_dataglob("incolearn",te) / (fm_dataglob("ccap0",te) ** fm_dataglob("learnExp_wFC", te)); *** regional factor *NB* read in vm_capCum(t0,regi,teLearn) from input.gdx to have info available for the recalibration of 2005 investment costs diff --git a/core/declarations.gms b/core/declarations.gms index dab0d9f8c..b4389a150 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -115,6 +115,9 @@ p_maxRegTechCost2015(all_te) "highest historical regiona p_maxRegTechCost2020(all_te) "highest historical regional tech cost in 2020" p_oldFloorCostdata(all_regi,all_te) "print old floor cost data" p_newFloorCostdata(all_regi,all_te) "print new floor cost data" +p_gdppcap2050_PPP(all_regi) "regional GDP PPP per capita in 2050" +p_maxPPP2050 "maximum income GDP PPP among regions in 2050" +p_maxSpvCost "maximum spv investment cost among regions" pm_EN_demand_from_initialcap2(all_regi,all_enty) "PE demand resulting from the initialcap routine. [EJ, Uranium: MT U3O8]" pm_budgetCO2eq(all_regi) "budget for regional energy-emissions in period 1" diff --git a/core/equations.gms b/core/equations.gms index bdc387c77..77a4ce32b 100644 --- a/core/equations.gms +++ b/core/equations.gms @@ -474,6 +474,15 @@ $ifthen.floorscen %cm_floorCostScen% == "pricestruc" )$( t.val ge 2020 AND t.val le 2100 ) $endif.floorscen +$ifthen.floorscen %cm_floorCostScen% == "techtrans" + + ( pm_data(regi,"learnMult_wFC",teLearn) + * ( sum(regi2, vm_capCum(t,regi2,teLearn)) + + pm_capCumForeign(t,regi,teLearn) + ) + ** pm_data(regi,"learnExp_wFC",teLearn) + )$( t.val ge 2020 AND t.val le 2100 ) +$endif.floorscen + $ifthen.floorscen %cm_floorCostScen% == "default" *** globally harmonized costs after 2050 + ( fm_dataglob("learnMult_wFC",teLearn) diff --git a/main.gms b/main.gms index adb78e68c..2bdaa088d 100755 --- a/main.gms +++ b/main.gms @@ -1336,7 +1336,8 @@ $setglobal cm_techcosts REG !! def = REG *** cm_floorCostScen regionally differentiated floor cost scenarios *** (default) uniform floor cost (almost no regional differentiation) *** (pricestruc) regionally differentiated floor costs, the differentiated costs have the same ratio between regions as the ratio between 2020 tech cost values -$setglobal cm_floorCostScen pricestruc !! def = default +*** (techtrans) regionally differentiated floor costs, which are the universal global floor costs in the default case time the MER PPP price ratios. new floor cost = MER/PPP * old floor cost +$setglobal cm_floorCostScen techtrans !! def = default *** cfg$gms$cm_EDGEtr_scen "the EDGE-T scenario" # def <- "Mix1". For calibration runs: Mix1. Mix2, Mix3, Mix4 also available - numbers after the "mix" denote policy strength, with 1 corresponding roughly to Baseline/NPI, 2= NDC, 3= Budg1500, 4 = Budg800 *** The following descriptions are based on scenario results for EUR in 2050 unless specified otherwise. *** Whenever we give numbers, please be aware that they are just there to estimate the ballpark. From bc32bba2b326f6a3ea4b038105403ac07cb8664a Mon Sep 17 00:00:00 2001 From: Chen Gong Date: Wed, 1 May 2024 13:56:11 +0200 Subject: [PATCH 010/875] backup config --- config/scenario_config_IKEA.csv | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 config/scenario_config_IKEA.csv diff --git a/config/scenario_config_IKEA.csv b/config/scenario_config_IKEA.csv new file mode 100644 index 000000000..092a669f6 --- /dev/null +++ b/config/scenario_config_IKEA.csv @@ -0,0 +1,31 @@ +title;start;CES_parameters;.comment;.comment;optimization;cm_iteration_max;cm_nash_mode;cm_calibration_string;c_testOneRegi_region;c_keep_iteration_gdxes;slurmConfig;c_changeProdCost;c_SlackMultiplier;cm_rcp_scen;cm_floorCostScen;cm_iterative_target_adj;cm_CO2priceRegConvEndYr;cm_flex_tax;cm_VRE_supply_assumptions;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_2020;c_peakBudgYr;cm_emiscen;cm_nucscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_tradecostBio;cm_bioenergy_SustTax;cm_maxProdBiolc;c_ccsinjecratescen;cm_CESMkup_build;cm_CESMkup_ind;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;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_floor1;0;;turn off flex_tax to lower spv share;default global floor cost;testOneRegi;;;;CHA;0;8;;;;default;;;0;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;testOneRegi-Base: This is a test scenario which only runs a single region, not to be used in production. +testOneRegi-Base_floor2;0;;turn off flex_tax to lower spv share;floor cost preserves price structure;testOneRegi;;;;CHA;0;8;;;;pricestruc;;;0;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;testOneRegi-Base: This is a test scenario which only runs a single region, not to be used in production. +testOneRegi-Base_floor3;0;;turn off flex_tax to lower spv share;floor cost simulates tech transfer;testOneRegi;;;;CHA;0;8;;;;techtrans;;;0;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;testOneRegi-Base: This is a test scenario which only runs a single region, not to be used in production. +testOneRegi-Base_500_debug;0;;turn off flex_tax to lower spv share;floor cost preserves price structure;testOneRegi;;1;default;REF;0;8;;;rcp20;default;9;2100;0;0;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;2;GLO 0.25, EUR_regi 0.25;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 25,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 180,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;/p/tmp/chengong/ikea_phaseI/remind/output/SSP2EU-PkBudg500_cost_budget5_2030_2024-04-28_01.17.05/fulldata_5.gdx;SSP2EU-NPi;SSP2EU-NPi;;testOneRegi-Base: This is a test scenario which only runs a single region, not to be used in production. +# H12 SSP2EU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2EU-NPi-calibrate_quick;0;calibrate;turn off flex_tax to lower spv share;;;;;;;1;1;;;rcp45;default;;;0;0;;0;NPi;1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;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. +SSP2EU-NPi-calibrate_floor2_quick;0;calibrate;turn off flex_tax to lower spv share;;;;;;;1;1;;;rcp45;pricestruc;;;0;0;;0;NPi;1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;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. +SSP2EU-NPi-calibrate_floor3_quick;0;calibrate;turn off flex_tax to lower spv share;;;;;;;1;1;;;rcp45;techtrans;;;0;0;;0;NPi;1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;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. +SSP2EU-Base;0;;turn off flex_tax to lower spv share;;;;;;;1;5;;;;default;;;0;0;;0;;;2100;;;GLO 0.04, EUR_regi 0.15;off;;;;;;;;;;;;;EUR_regi, NEU_regi;;;heat;Mix1;2005;;;;;SSP2EU-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2EU-NPi;0;;turn off flex_tax to lower spv share;floor cost default;;;;default;;1;5;;;rcp45;default;3;;0;0;;0;NPi;1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;3;;heat;Mix1;2005;;;;;SSP2EU-NPi: This National Policies Implemented (Npi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi is identical to the NDC scenario until 2020 but assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2EU-NDC;0;;turn off flex_tax to lower spv share;floor cost default;;;;default;;1;5;;;rcp45;default;3;;0;0;globallyOptimal;0;NDC;1;2100;9;2;GLO 0.05, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;3;;heat;Mix2;2025;;SSP2EU-NPi;SSP2EU-NPi;;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. +SSP2EU-PkBudg500;0;;turn off flex_tax to lower spv share;floor cost default;;;;default;;1;5;;;rcp20;default;9;2100;0;0;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;;SSP2EU-NPi;SSP2EU-NPi;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2EU-PkBudg650;0;;turn off flex_tax to lower spv share;floor cost default;;;;default;;1;5;;;rcp20;default;9;2100;0;0;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;;SSP2EU-NPi;SSP2EU-NPi;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2EU-PkBudg1150;0;;turn off flex_tax to lower spv share;floor cost default;;;;default;;1;5;;;rcp26;default;9;2100;0;0;globallyOptimal;1150;diffCurvPhaseIn2Lin;60;2100;9;2;GLO 0.06, 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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;;SSP2EU-NPi;SSP2EU-NPi;;SSP2EU-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a weel below 2??C scenario, peak warming is allowed to be at or slightly above 2??C, at median climate sensitivity but returns to values below 2??C in at least 67?% of scenarios by the end of the century. +SSP2EU-NPi_floor2;0;;turn off flex_tax to lower spv share;floor cost preserves price structure;;;;pricestruc;;1;5;;;rcp45;pricestruc;3;;0;0;;0;NPi;1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;3;;heat;Mix1;2005;;;;;SSP2EU-NPi: This National Policies Implemented (Npi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi is identical to the NDC scenario until 2020 but assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2EU-NDC_floor2;0;;turn off flex_tax to lower spv share;floor cost preserves price structure;;;;pricestruc;;1;5;;;rcp45;pricestruc;3;;0;0;globallyOptimal;0;NDC;1;2100;9;2;GLO 0.05, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;3;;heat;Mix2;2025;;SSP2EU-NPi_floor2;SSP2EU-NPi_floor2;;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. +SSP2EU-PkBudg500_floor2;0;;turn off flex_tax to lower spv share;floor cost preserves price structure;;;;pricestruc;;1;5;;;rcp20;pricestruc;9;2100;0;0;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;;SSP2EU-NPi_floor2;SSP2EU-NPi_floor2;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2EU-PkBudg650_floor2;0;;turn off flex_tax to lower spv share;floor cost preserves price structure;;;;pricestruc;;1;5;;;rcp20;pricestruc;9;2100;0;0;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;;SSP2EU-NPi_floor2;SSP2EU-NPi_floor2;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2EU-PkBudg1150_floor2;0;;turn off flex_tax to lower spv share;floor cost preserves price structure;;;;pricestruc;;1;5;;;rcp26;pricestruc;9;2100;0;0;globallyOptimal;1150;diffCurvPhaseIn2Lin;60;2100;9;2;GLO 0.06, 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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;;SSP2EU-NPi_floor2;SSP2EU-NPi_floor2;;SSP2EU-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a weel below 2??C scenario, peak warming is allowed to be at or slightly above 2??C, at median climate sensitivity but returns to values below 2??C in at least 67?% of scenarios by the end of the century. +SSP2EU-NPi_floor3;1;;turn off flex_tax to lower spv share;floor cost simulates tech transfer;;;;techtrans;;1;5;;;rcp45;techtrans;3;;0;0;;0;NPi;1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;3;;heat;Mix1;2005;;;;;SSP2EU-NPi: This National Policies Implemented (Npi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi is identical to the NDC scenario until 2020 but assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2EU-NPi_floor3_tOR;0;;turn off flex_tax to lower spv share;floor cost simulates tech transfer;;2;1;techtrans;;1;5;;;rcp45;techtrans;3;;0;0;;0;NPi;1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;3;;heat;Mix1;2005;;;;;SSP2EU-NPi: This National Policies Implemented (Npi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi is identical to the NDC scenario until 2020 but assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2EU-NDC_floor3;0;;turn off flex_tax to lower spv share;floor cost simulates tech transfer;;;;techtrans;;1;5;;;rcp45;techtrans;3;;0;0;globallyOptimal;0;NDC;1;2100;9;2;GLO 0.05, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;3;;heat;Mix2;2025;;SSP2EU-NPi_floor3;SSP2EU-NPi_floor3;;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. +SSP2EU-PkBudg500_floor3;0;;turn off flex_tax to lower spv share;floor cost simulates tech transfer;;;;techtrans;;1;5;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;;SSP2EU-NPi_floor3;SSP2EU-NPi_floor3;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2EU-PkBudg650_floor3;0;;turn off flex_tax to lower spv share;floor cost simulates tech transfer;;;;techtrans;;1;5;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;;SSP2EU-NPi_floor3;SSP2EU-NPi_floor3;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2EU-PkBudg1150_floor3;0;;turn off flex_tax to lower spv share;floor cost simulates tech transfer;;;;techtrans;;1;5;;;rcp26;techtrans;9;2100;0;0;globallyOptimal;1150;diffCurvPhaseIn2Lin;60;2100;9;2;GLO 0.06, 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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;;SSP2EU-NPi_floor3;SSP2EU-NPi_floor3;;SSP2EU-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a weel below 2??C scenario, peak warming is allowed to be at or slightly above 2??C, at median climate sensitivity but returns to values below 2??C in at least 67?% of scenarios by the end of the century. +# H12 SSP2EU cost adjust;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2EU-PkBudg500_cost_budget1_bionu;0;;turn off flex_tax to lower spv share;;;;;pricestruc;;1;5;;;rcp20;pricestruc;9;2100;0;0;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;0.1;1.5;50;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 23,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 130,2020.2050.CHA.all.year.netGHG 0.1,2020.2070.JPN.all.budget.netCO2 8.5,2020.2070.CAZ.all.budget.netCO2 4.5,2020.2070.NEU.all.budget.netCO2 7.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;;SSP2EU-NPi_floor2;SSP2EU-NPi_floor2;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2EU-PkBudg500_cost_budget2_bionu;0;;turn off flex_tax to lower spv share;;;;;pricestruc;;1;5;;;rcp20;pricestruc;9;2100;0;0;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;0.1;1.5;50;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 23,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 130,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;;SSP2EU-NPi_floor2;SSP2EU-NPi_floor2;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2EU-PkBudg500_cost_budget5_2030;0;;turn off flex_tax to lower spv share;floor cost simulates tech transfer;;;;techtrans;;1;1;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;2;GLO 0.25, EUR_regi 0.25;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 25,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 180,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2EU-NPi_floor3;SSP2EU-NPi_floor3;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2EU-PkBudg500_cost_year_2030;0;;turn off flex_tax to lower spv share;floor cost simulates tech transfer;;;;techtrans;;1;1;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;2;GLO 0.25, EUR_regi 0.25;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.04, (IND_regi, SSA_regi, OAS_regi).coalchp 0.04;;;;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2050.CHA.all.budget.netCO2 180, 2020.2050.EUR.all.year.netGHG_LULUCFGrassi 0.1, 2020.2050.USA.all.year.netGHG_LULUCFGrassi 0.1;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2EU-NPi_floor3;SSP2EU-NPi_floor3;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. From 139ccacfcd8ec6c9058cb1f9cd42edf6a4e2ff3d Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Fri, 3 May 2024 08:48:13 +0200 Subject: [PATCH 011/875] set SSP2 as default --- main.gms | 8 ++++---- modules/50_damages/KWTCint/datainput.gms | 4 ++-- modules/50_damages/TC/datainput.gms | 8 ++++---- standalone/trade/trade.gms | 8 ++++---- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/main.gms b/main.gms index 95e9c4b2a..e82a5ce0a 100755 --- a/main.gms +++ b/main.gms @@ -1217,7 +1217,7 @@ $setGLobal cm_bioprod_regi_lim off !! def off *' * pop_SSP3 "SSP3 population scenario" *' * pop_SSP4 "SSP4 population scenario" *' * pop_SSP5 "SSP5 population scenario" -$setglobal cm_POPscen pop_SSP2EU !! def = pop_SSP2EU +$setglobal cm_POPscen pop_SSP2 !! def = pop_SSP2 *' cm_GDPscen "assumptions about future GDP development, linked to population development (cm_POPscen)" *' *' * (gdp_SSP1): SSP1 fastGROWTH medCONV @@ -1226,7 +1226,7 @@ $setglobal cm_POPscen pop_SSP2EU !! def = pop_SSP2EU *' * (gdp_SSP3): SSP3 slowGROWTH slowCONV *' * (gdp_SSP4): SSP4 medGROWTH mixedCONV *' * (gdp_SSP5): SSP5 fastGROWTH fastCONV -$setglobal cm_GDPscen gdp_SSP2EU !! def = gdp_SSP2EU +$setglobal cm_GDPscen gdp_SSP2 !! def = gdp_SSP2 *** cm_oil_scen "assumption on oil availability" *** (lowOil): low *** (medOil): medium (this is the new case) @@ -1655,8 +1655,8 @@ $setGlobal cm_conoptv conopt3 !! def = conopt3 *' (on): no model operation, instead input.gdx is copied to fulldata.gdx $setGlobal c_empty_model off !! def = off !! regexp = off|on $setglobal cm_secondary_steel_bound scenario !! def = scenario -$setglobal c_GDPpcScen SSP2EU !! def = gdp_SSP2 (automatically adjusted by start_run() based on GDPscen) -$setglobal cm_demScen gdp_SSP2EU !! def = gdp_SSP2EU +$setglobal c_GDPpcScen SSP2 !! def = gdp_SSP2 (automatically adjusted by start_run() based on GDPscen) +$setglobal cm_demScen gdp_SSP2 !! def = gdp_SSP2 $setGlobal c_scaleEmiHistorical on !! def = on !! regexp = off|on $SetGlobal cm_quick_mode off !! def = off !! regexp = off|on $setGLobal cm_debug_preloop off !! def = off !! regexp = off|on diff --git a/modules/50_damages/KWTCint/datainput.gms b/modules/50_damages/KWTCint/datainput.gms index e8b0b8c44..3ef44b299 100755 --- a/modules/50_damages/KWTCint/datainput.gms +++ b/modules/50_damages/KWTCint/datainput.gms @@ -52,13 +52,13 @@ pm_damageMarginalT(tall,regi) = 0; pm_damageMarginalTm1(tall,regi) = 0; pm_damageMarginalTm2(tall,regi) = 0; -*read in GDP to calculate fraction of countries in a region +*** read in GDP to calculate fraction of countries in a region table f50_countryGDP(tall,iso,all_GDPscen) "ratio country to regional GDP" $ondelim $include "./modules/50_damages/KWTCint/input/f50_gdp.cs3r" $offdelim ; -pm_GDPfrac(ttot,iso)$(ttot.val ge 2005) = f50_countryGDP(ttot,iso,"gdp_SSP2EU")/1000000/sum(regi2iso(regi,iso),pm_gdp(ttot,regi)/pm_shPPPMER(regi)); +pm_GDPfrac(ttot,iso)$(ttot.val ge 2005) = f50_countryGDP(ttot,iso,"gdp_SSP2")/1000000/sum(regi2iso(regi,iso),pm_gdp(ttot,regi)/pm_shPPPMER(regi)); loop(ttot$(ttot.val ge 2005), loop(tall$(pm_tall_2_ttot(tall,ttot)), pm_GDPfrac(tall,iso) = diff --git a/modules/50_damages/TC/datainput.gms b/modules/50_damages/TC/datainput.gms index 2fe08ce87..19db4314c 100755 --- a/modules/50_damages/TC/datainput.gms +++ b/modules/50_damages/TC/datainput.gms @@ -33,18 +33,18 @@ p50_damageFuncCoefTC1(iso) = f50_TCtasK(iso,"%cm_TCpers%","%cm_TCspec%")/100; display p50_damageFuncCoefTC0; -*initialize +*** initialize pm_damage(tall,regi) = 1; -*read in GDP to calculate GDP fraction of countries in a region and convert to MER +*** read in GDP to calculate GDP fraction of countries in a region and convert to MER table f50_countryGDP(tall,iso,all_GDPscen) "ratio of country to regional GDP" $ondelim $include "./modules/50_damages/TC/input/f50_gdp.cs3r" $offdelim ; -*calculate and interpolate country GDP fraction of regional GDP for SSP2EU scenario, country GDP is in PPP, regional GDP in trl MER! -pm_GDPfrac(tall,iso)=f50_countryGDP(tall,iso,"gdp_SSP2EU")/1000000/sum(regi2iso(regi,iso),pm_gdp(tall,regi)/pm_shPPPMER(regi)); +*** calculate and interpolate country GDP fraction of regional GDP for SSP2EU scenario, country GDP is in PPP, regional GDP in trl MER! +pm_GDPfrac(tall,iso)=f50_countryGDP(tall,iso,"gdp_SSP2")/1000000/sum(regi2iso(regi,iso),pm_gdp(tall,regi)/pm_shPPPMER(regi)); loop(ttot$(ttot.val ge 2005), loop(tall$(pm_tall_2_ttot(tall,ttot)), pm_GDPfrac(tall,iso) = diff --git a/standalone/trade/trade.gms b/standalone/trade/trade.gms index 01cbd0b99..271c26a91 100644 --- a/standalone/trade/trade.gms +++ b/standalone/trade/trade.gms @@ -278,10 +278,10 @@ cm_1stgen_phaseout = 0; !! def = 0 $setglobal cm_tradbio_phaseout default !! def = default cm_phaseoutBiolc = 0; !! def = 0 -$setglobal cm_POPscen pop_SSP2EU !! def = pop_SSP2EU -$setglobal cm_GDPscen gdp_SSP2EU !! def = gdp_SSP2EU -$setglobal cm_demScen gdp_SSP2EU !! def = gdp_SSP2EU -$setglobal c_GDPpcScen SSP2EU !! def = gdp_SSP2 (automatically adjusted by start_run() based on GDPscen) +$setglobal cm_POPscen pop_SSP2 !! def = pop_SSP2 +$setglobal cm_GDPscen gdp_SSP2 !! def = gdp_SSP2 +$setglobal cm_demScen gdp_SSP2 !! def = gdp_SSP2 +$setglobal c_GDPpcScen SSP2 !! def = gdp_SSP2 (automatically adjusted by start_run() based on GDPscen) *AG* and *CB* for cm_startyear greater than 2005, you have to copy the fulldata.gdx (rename it to: input_ref.gdx) from the run you want to build your new run onto. cm_startyear = 2005; !! def = 2005 for a BAU, 2015 for policy runs From ce51324d1962816592c15a50ed7116a37c103f66 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Mon, 6 May 2024 17:30:00 +0200 Subject: [PATCH 012/875] delete translation of $2015 in $2005 fr generisdata_tech* parameters and p32_flex_maxdiscount --- core/datainput.gms | 6 ------ core/declarations.gms | 3 +-- modules/32_power/DTcoup/datainput.gms | 4 ++-- modules/32_power/IntC/datainput.gms | 4 ++-- 4 files changed, 5 insertions(+), 12 deletions(-) diff --git a/core/datainput.gms b/core/datainput.gms index 56a6e8b53..487e63d04 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -242,12 +242,6 @@ $if not "%cm_inco0RegiFactor%" == "off" p_inco0(ttot,regi,te)$(p_inco0(ttot,regi $if not "%cm_learnRate%" == "off" parameter p_new_learnRate(all_te) / %cm_learnRate% /; $if not "%cm_learnRate%" == "off" fm_dataglob("learn",te)$p_new_learnRate(te)=p_new_learnRate(te); -*RP* the new cost data in generisdata_tech is now in $2015. As long as the model runs in $2005, these values have first to be converted to D2005 by dividing by 1.2 downwards -fm_dataglob("inco0",te) = s_D2015_2_D2005 * fm_dataglob("inco0",te); -fm_dataglob("incolearn",te) = s_D2015_2_D2005 * fm_dataglob("incolearn",te); -fm_dataglob("omv",te) = s_D2015_2_D2005 * fm_dataglob("omv",te); -p_inco0(ttot,regi,te) = s_D2015_2_D2005 * p_inco0(ttot,regi,te); - *** inco0 (and incolearn) are given in $/kW (or $/(tC/a) for ccs-related tech or $/(t/a) for process-based industry) *** convert to REMIND units, i.e., T$/TW (or T$/(GtC/a) for ccs-related tech or T$/(Gt/a) for process-based industry) *** note that factor for $/kW -> T$/TW is the same as for $/(tC/a) -> T$/(GtC/a) diff --git a/core/declarations.gms b/core/declarations.gms index 3f9f81332..e226b27f2 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -233,7 +233,7 @@ p_co2CCSReference(ttot,all_regi,all_enty,all_enty,all_te,rlf) "Captured CO2 p_prodAllReference(ttot,all_regi,all_te) "Sum of the above in the reference run. As each te has only one type of output, the differing units should not be a problem" -* Energy carrier Prices +*** Energy carrier Prices pm_FEPrice(ttot,all_regi,all_enty,sector,emiMkt) "parameter to capture all FE prices across sectors and markets (tr$2005/TWa)" pm_FEPrice_iter(iteration,ttot,all_regi,all_enty,sector,emiMkt) "parameter to capture all FE prices across sectors and markets (tr$2005/TWa) across iterations" pm_SEPrice(ttot,all_regi,all_enty) "parameter to capture all SE prices (tr$2005/TWa)" @@ -590,7 +590,6 @@ sm_tgch4_2_pgc "conversion factor 100-yr s_MtCH4_2_TWa "Energy content of methane. MtCH4 --> TWa: 1 MtCH4 = 1.23 * 10^6 toe * 42 GJ/toe * 10^-9 EJ/GJ * 1 TWa/31.536 EJ = 0.001638 TWa (BP statistical review)" /0.001638/ -s_D2015_2_D2005 "Convert $2015 to $2005 by dividing by 1.2: 1/1.2 = 0.8333" /0.8333/ sm_DptCO2_2_TDpGtC "Conversion multiplier to go from $/tCO2 to T$/GtC: 44/12/1000" /0.00366667/ s_co2pipe_leakage "Leakage rate of CO2 pipelines. [0..1]" diff --git a/modules/32_power/DTcoup/datainput.gms b/modules/32_power/DTcoup/datainput.gms index b0012b590..9a10e64fc 100644 --- a/modules/32_power/DTcoup/datainput.gms +++ b/modules/32_power/DTcoup/datainput.gms @@ -80,8 +80,8 @@ $include "./modules/32_power/IntC/input/p32_flex_maxdiscount.cs4r" $offdelim / ; -*** convert from USD2015/MWh to trUSD2005/TWa -p32_flex_maxdiscount(regi,te) = p32_flex_maxdiscount(regi,te) * sm_TWa_2_MWh * s_D2015_2_D2005 * 1e-12; +*** convert from USD2015/MWh to trUSD2015/TWa +p32_flex_maxdiscount(regi,te) = p32_flex_maxdiscount(regi,te) * sm_TWa_2_MWh * 1e-12; display p32_flex_maxdiscount; $offtext diff --git a/modules/32_power/IntC/datainput.gms b/modules/32_power/IntC/datainput.gms index 452771b86..6c15cd877 100644 --- a/modules/32_power/IntC/datainput.gms +++ b/modules/32_power/IntC/datainput.gms @@ -91,8 +91,8 @@ $include "./modules/32_power/IntC/input/p32_flex_maxdiscount.cs4r" $offdelim / ; -*** convert from USD2015/MWh to trUSD2005/TWa -p32_flex_maxdiscount(regi,te) = p32_flex_maxdiscount(regi,te) * sm_TWa_2_MWh * s_D2015_2_D2005 * 1e-12; +*** convert from USD2015/MWh to trUSD2015/TWa +p32_flex_maxdiscount(regi,te) = p32_flex_maxdiscount(regi,te) * sm_TWa_2_MWh * 1e-12; display p32_flex_maxdiscount; $offtext From 076b8263c810078aee5f6548681f70388ed70543 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Mon, 6 May 2024 17:40:03 +0200 Subject: [PATCH 013/875] delete comment in generisdata*.prn --- core/input/generisdata_tech.prn | 1 - core/input/generisdata_tech_SSP1.prn | 1 - core/input/generisdata_tech_SSP5.prn | 1 - core/input/generisdata_trade.prn | 1 - 4 files changed, 4 deletions(-) diff --git a/core/input/generisdata_tech.prn b/core/input/generisdata_tech.prn index ea9a3aa22..32d49ba1b 100644 --- a/core/input/generisdata_tech.prn +++ b/core/input/generisdata_tech.prn @@ -1,6 +1,5 @@ *** SOF ./core/input/generisdata_tech.prn $ontext -IMPORTANT: all costs are now given in $2015! As long as the model runs in $2005, the values need to be converted in datainput.gms tech_stat technology status: how close a technology is to market readiness. Scale: 0-3, with 0 'I can go out and build a GW plant today' to 3 'Still some research necessary' inco0 Initial investment costs given in $[2015] / kW[output] capacity; for dac/prc cc: $[2015] / (tC[captured]/a); for other indutry prc: $[2015]/(t[output]/a) constrTme Construction time in years, needed to calculate turn-key cost premium compared to overnight costs diff --git a/core/input/generisdata_tech_SSP1.prn b/core/input/generisdata_tech_SSP1.prn index 38d7b9bf2..ed1056f50 100644 --- a/core/input/generisdata_tech_SSP1.prn +++ b/core/input/generisdata_tech_SSP1.prn @@ -1,6 +1,5 @@ *** SOF ./core/input/generisdata_tech_SSP1.prn $ontext -IMPORTANT: all costs are now given in $2015! As long as the model runs in $2005, the values need to be converted in datainput.gms tech_stat technology status: how close a technology is to market readiness. Scale: 0-3, with 0 'I can go out and build a GW plant today' to 3 'Still some research necessary' inco0 Initial investment costs given in $[2015] / kW[output] capacity; for dac: $[2015] / (tC[captured]/a) constrTme Construction time in years, needed to calculate turn-key cost premium compared to overnight costs diff --git a/core/input/generisdata_tech_SSP5.prn b/core/input/generisdata_tech_SSP5.prn index e604b0ba6..0687f5589 100644 --- a/core/input/generisdata_tech_SSP5.prn +++ b/core/input/generisdata_tech_SSP5.prn @@ -1,6 +1,5 @@ *** SOF ./core/input/generisdata_tech_SSP5.prn $ontext -IMPORTANT: all costs are now given in $2015! As long as the model runs in $2005, the values need to be converted in datainput.gms tech_stat technology status: how close a technology is to market readiness. Scale: 0-3, with 0 'I can go out and build a GW plant today' to 3 'Still some research necessary' inco0 Initial investment costs given in $[2015] / kW[output] capacity; for dac: $[2015] / (tC[captured]/a) constrTme Construction time in years, needed to calculate turn-key cost premium compared to overnight costs diff --git a/core/input/generisdata_trade.prn b/core/input/generisdata_trade.prn index 764f484ef..e171649b9 100644 --- a/core/input/generisdata_trade.prn +++ b/core/input/generisdata_trade.prn @@ -1,6 +1,5 @@ *** SOF ./core/input/generisdata_trade.prn $ontext -IMPORTANT: all costs are now given in $2015! As long as the model runs in $2005, the values need to be converted in datainput.gms tech_stat Technology status: how close a technology is to market readiness. Scale: 0-3, with 0 'I can go out and build a GW plant today' to 3 'Still some research necessary'. inco0 Initial investment costs given in $(2015)/kW(output) capacity. Independent of distance. inco0_d Initial investment costs given in $(2015)/kW(output) capacity. Per 1000km. From 6119541f6bd8b02003f733b01bd3cd0ead89c146 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Wed, 8 May 2024 10:52:04 +0200 Subject: [PATCH 014/875] add conversion factor for $2015 to $2017 and $2005 to $2017 --- core/datainput.gms | 7 +++++++ core/declarations.gms | 3 +++ modules/32_power/DTcoup/datainput.gms | 4 ++-- modules/32_power/IntC/datainput.gms | 4 ++-- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/core/datainput.gms b/core/datainput.gms index 487e63d04..69baffa11 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -242,6 +242,13 @@ $if not "%cm_inco0RegiFactor%" == "off" p_inco0(ttot,regi,te)$(p_inco0(ttot,regi $if not "%cm_learnRate%" == "off" parameter p_new_learnRate(all_te) / %cm_learnRate% /; $if not "%cm_learnRate%" == "off" fm_dataglob("learn",te)$p_new_learnRate(te)=p_new_learnRate(te); + +*** generisdata_tech is in $2015. Needs to be converted to $2017 +fm_dataglob("inco0",te) = s_D2015_2_D2017 * fm_dataglob("inco0",te); +fm_dataglob("incolearn",te) = s_D2015_2_D2017 * fm_dataglob("incolearn",te); +fm_dataglob("omv",te) = s_D2015_2_D2017 * fm_dataglob("omv",te); +p_inco0(ttot,regi,te) = s_D2015_2_D2017 * p_inco0(ttot,regi,te); + *** inco0 (and incolearn) are given in $/kW (or $/(tC/a) for ccs-related tech or $/(t/a) for process-based industry) *** convert to REMIND units, i.e., T$/TW (or T$/(GtC/a) for ccs-related tech or T$/(Gt/a) for process-based industry) *** note that factor for $/kW -> T$/TW is the same as for $/(tC/a) -> T$/(GtC/a) diff --git a/core/declarations.gms b/core/declarations.gms index e226b27f2..a9d0b85d9 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -590,6 +590,9 @@ sm_tgch4_2_pgc "conversion factor 100-yr s_MtCH4_2_TWa "Energy content of methane. MtCH4 --> TWa: 1 MtCH4 = 1.23 * 10^6 toe * 42 GJ/toe * 10^-9 EJ/GJ * 1 TWa/31.536 EJ = 0.001638 TWa (BP statistical review)" /0.001638/ +s_D2015_2_D2017 "Convert $2015 to $2017" /1.0292/ +s_D2005_2_D2017 "Convert $2005 to $2017" /1.231/ + sm_DptCO2_2_TDpGtC "Conversion multiplier to go from $/tCO2 to T$/GtC: 44/12/1000" /0.00366667/ s_co2pipe_leakage "Leakage rate of CO2 pipelines. [0..1]" diff --git a/modules/32_power/DTcoup/datainput.gms b/modules/32_power/DTcoup/datainput.gms index 9a10e64fc..9f27b92e4 100644 --- a/modules/32_power/DTcoup/datainput.gms +++ b/modules/32_power/DTcoup/datainput.gms @@ -80,8 +80,8 @@ $include "./modules/32_power/IntC/input/p32_flex_maxdiscount.cs4r" $offdelim / ; -*** convert from USD2015/MWh to trUSD2015/TWa -p32_flex_maxdiscount(regi,te) = p32_flex_maxdiscount(regi,te) * sm_TWa_2_MWh * 1e-12; +*** convert from USD2015/MWh to trUSD2017/TWa +p32_flex_maxdiscount(regi,te) = p32_flex_maxdiscount(regi,te) * sm_TWa_2_MWh * s_D2015_2_D2017 * 1e-12; display p32_flex_maxdiscount; $offtext diff --git a/modules/32_power/IntC/datainput.gms b/modules/32_power/IntC/datainput.gms index 6c15cd877..3d84134e9 100644 --- a/modules/32_power/IntC/datainput.gms +++ b/modules/32_power/IntC/datainput.gms @@ -91,8 +91,8 @@ $include "./modules/32_power/IntC/input/p32_flex_maxdiscount.cs4r" $offdelim / ; -*** convert from USD2015/MWh to trUSD2015/TWa -p32_flex_maxdiscount(regi,te) = p32_flex_maxdiscount(regi,te) * sm_TWa_2_MWh * 1e-12; +*** convert from USD2015/MWh to trUSD2017/TWa +p32_flex_maxdiscount(regi,te) = p32_flex_maxdiscount(regi,te) * sm_TWa_2_MWh * s_D2015_2_D2017 * 1e-12; display p32_flex_maxdiscount; $offtext From e4ce8aee143f1f2e4fe31b8db1896f22c4be56aa Mon Sep 17 00:00:00 2001 From: Chen Gong Date: Thu, 9 May 2024 08:13:40 +0200 Subject: [PATCH 015/875] update config --- config/scenario_config_IKEA.csv | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/config/scenario_config_IKEA.csv b/config/scenario_config_IKEA.csv index 092a669f6..9f873a8fa 100644 --- a/config/scenario_config_IKEA.csv +++ b/config/scenario_config_IKEA.csv @@ -2,12 +2,11 @@ title;start;CES_parameters;.comment;.comment;optimization;cm_iteration_max;cm_na testOneRegi-Base_floor1;0;;turn off flex_tax to lower spv share;default global floor cost;testOneRegi;;;;CHA;0;8;;;;default;;;0;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;testOneRegi-Base: This is a test scenario which only runs a single region, not to be used in production. testOneRegi-Base_floor2;0;;turn off flex_tax to lower spv share;floor cost preserves price structure;testOneRegi;;;;CHA;0;8;;;;pricestruc;;;0;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;testOneRegi-Base: This is a test scenario which only runs a single region, not to be used in production. testOneRegi-Base_floor3;0;;turn off flex_tax to lower spv share;floor cost simulates tech transfer;testOneRegi;;;;CHA;0;8;;;;techtrans;;;0;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;testOneRegi-Base: This is a test scenario which only runs a single region, not to be used in production. -testOneRegi-Base_500_debug;0;;turn off flex_tax to lower spv share;floor cost preserves price structure;testOneRegi;;1;default;REF;0;8;;;rcp20;default;9;2100;0;0;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;2;GLO 0.25, EUR_regi 0.25;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 25,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 180,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;/p/tmp/chengong/ikea_phaseI/remind/output/SSP2EU-PkBudg500_cost_budget5_2030_2024-04-28_01.17.05/fulldata_5.gdx;SSP2EU-NPi;SSP2EU-NPi;;testOneRegi-Base: This is a test scenario which only runs a single region, not to be used in production. +testOneRegi-Base_500_debug;0;;turn off flex_tax to lower spv share;floor cost simulates tech transfer;testOneRegi;;1;default;REF;0;8;;;rcp20;default;9;2100;0;0;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;2;GLO 0.25, EUR_regi 0.25;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 25,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 180,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;/p/tmp/chengong/ikea_phaseI/remind/output/SSP2EU-PkBudg500_cost_budget5_2030_2024-04-28_01.17.05/fulldata_5.gdx;SSP2EU-NPi;SSP2EU-NPi;;testOneRegi-Base: This is a test scenario which only runs a single region, not to be used in production. # H12 SSP2EU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2EU-NPi-calibrate_quick;0;calibrate;turn off flex_tax to lower spv share;;;;;;;1;1;;;rcp45;default;;;0;0;;0;NPi;1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;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. -SSP2EU-NPi-calibrate_floor2_quick;0;calibrate;turn off flex_tax to lower spv share;;;;;;;1;1;;;rcp45;pricestruc;;;0;0;;0;NPi;1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;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. -SSP2EU-NPi-calibrate_floor3_quick;0;calibrate;turn off flex_tax to lower spv share;;;;;;;1;1;;;rcp45;techtrans;;;0;0;;0;NPi;1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;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. -SSP2EU-Base;0;;turn off flex_tax to lower spv share;;;;;;;1;5;;;;default;;;0;0;;0;;;2100;;;GLO 0.04, EUR_regi 0.15;off;;;;;;;;;;;;;EUR_regi, NEU_regi;;;heat;Mix1;2005;;;;;SSP2EU-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2EU-NPi-calibrate_quick;0;calibrate;turn off flex_tax to lower spv share;;;;;;;1;1;;;rcp45;default;;;0;0;;0;NPi;-1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;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. +SSP2EU-NPi-calibrate_floor2_quick;0;calibrate;turn off flex_tax to lower spv share;;;;;;;1;1;;;rcp45;pricestruc;;;0;0;;0;NPi;-1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;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. +SSP2EU-NPi-calibrate_floor3_quick;0;calibrate;turn off flex_tax to lower spv share;;;;;;;1;1;;;rcp45;techtrans;;;0;0;;0;NPi;-1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;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. SSP2EU-NPi;0;;turn off flex_tax to lower spv share;floor cost default;;;;default;;1;5;;;rcp45;default;3;;0;0;;0;NPi;1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;3;;heat;Mix1;2005;;;;;SSP2EU-NPi: This National Policies Implemented (Npi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi is identical to the NDC scenario until 2020 but assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. SSP2EU-NDC;0;;turn off flex_tax to lower spv share;floor cost default;;;;default;;1;5;;;rcp45;default;3;;0;0;globallyOptimal;0;NDC;1;2100;9;2;GLO 0.05, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;3;;heat;Mix2;2025;;SSP2EU-NPi;SSP2EU-NPi;;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. SSP2EU-PkBudg500;0;;turn off flex_tax to lower spv share;floor cost default;;;;default;;1;5;;;rcp20;default;9;2100;0;0;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;;SSP2EU-NPi;SSP2EU-NPi;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. @@ -18,14 +17,15 @@ SSP2EU-NDC_floor2;0;;turn off flex_tax to lower spv share;floor cost preserves p SSP2EU-PkBudg500_floor2;0;;turn off flex_tax to lower spv share;floor cost preserves price structure;;;;pricestruc;;1;5;;;rcp20;pricestruc;9;2100;0;0;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;;SSP2EU-NPi_floor2;SSP2EU-NPi_floor2;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. SSP2EU-PkBudg650_floor2;0;;turn off flex_tax to lower spv share;floor cost preserves price structure;;;;pricestruc;;1;5;;;rcp20;pricestruc;9;2100;0;0;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;;SSP2EU-NPi_floor2;SSP2EU-NPi_floor2;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. SSP2EU-PkBudg1150_floor2;0;;turn off flex_tax to lower spv share;floor cost preserves price structure;;;;pricestruc;;1;5;;;rcp26;pricestruc;9;2100;0;0;globallyOptimal;1150;diffCurvPhaseIn2Lin;60;2100;9;2;GLO 0.06, 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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;;SSP2EU-NPi_floor2;SSP2EU-NPi_floor2;;SSP2EU-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a weel below 2??C scenario, peak warming is allowed to be at or slightly above 2??C, at median climate sensitivity but returns to values below 2??C in at least 67?% of scenarios by the end of the century. -SSP2EU-NPi_floor3;1;;turn off flex_tax to lower spv share;floor cost simulates tech transfer;;;;techtrans;;1;5;;;rcp45;techtrans;3;;0;0;;0;NPi;1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;3;;heat;Mix1;2005;;;;;SSP2EU-NPi: This National Policies Implemented (Npi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi is identical to the NDC scenario until 2020 but assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2EU-NPi_floor3_tOR;0;;turn off flex_tax to lower spv share;floor cost simulates tech transfer;;2;1;techtrans;;1;5;;;rcp45;techtrans;3;;0;0;;0;NPi;1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;3;;heat;Mix1;2005;;;;;SSP2EU-NPi: This National Policies Implemented (Npi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi is identical to the NDC scenario until 2020 but assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2EU-NPi_floor3;0;;turn off flex_tax to lower spv share;floor cost simulates tech transfer;;;;techtrans;;1;5;;;rcp45;techtrans;3;;0;0;;0;NPi;1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;3;;heat;Mix1;2005;;;;;SSP2EU-NPi: This National Policies Implemented (Npi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi is identical to the NDC scenario until 2020 but assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. SSP2EU-NDC_floor3;0;;turn off flex_tax to lower spv share;floor cost simulates tech transfer;;;;techtrans;;1;5;;;rcp45;techtrans;3;;0;0;globallyOptimal;0;NDC;1;2100;9;2;GLO 0.05, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;3;;heat;Mix2;2025;;SSP2EU-NPi_floor3;SSP2EU-NPi_floor3;;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. SSP2EU-PkBudg500_floor3;0;;turn off flex_tax to lower spv share;floor cost simulates tech transfer;;;;techtrans;;1;5;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;;SSP2EU-NPi_floor3;SSP2EU-NPi_floor3;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. SSP2EU-PkBudg650_floor3;0;;turn off flex_tax to lower spv share;floor cost simulates tech transfer;;;;techtrans;;1;5;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;;SSP2EU-NPi_floor3;SSP2EU-NPi_floor3;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2EU-PkBudg1150_floor3;0;;turn off flex_tax to lower spv share;floor cost simulates tech transfer;;;;techtrans;;1;5;;;rcp26;techtrans;9;2100;0;0;globallyOptimal;1150;diffCurvPhaseIn2Lin;60;2100;9;2;GLO 0.06, 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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;;SSP2EU-NPi_floor3;SSP2EU-NPi_floor3;;SSP2EU-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a weel below 2??C scenario, peak warming is allowed to be at or slightly above 2??C, at median climate sensitivity but returns to values below 2??C in at least 67?% of scenarios by the end of the century. +SSP2EU-PkBudg1150_floor3;0;;turn off flex_tax to lower spv share;floor cost simulates tech transfer;;;;techtrans;;1;1;;;rcp26;techtrans;9;2100;0;0;globallyOptimal;1150;diffCurvPhaseIn2Lin;60;2100;9;2;GLO 0.06, 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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;;SSP2EU-NPi_floor3;SSP2EU-NPi_floor3;;SSP2EU-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a weel below 2??C scenario, peak warming is allowed to be at or slightly above 2??C, at median climate sensitivity but returns to values below 2??C in at least 67?% of scenarios by the end of the century. # H12 SSP2EU cost adjust;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP2EU-PkBudg500_cost_budget1_bionu;0;;turn off flex_tax to lower spv share;;;;;pricestruc;;1;5;;;rcp20;pricestruc;9;2100;0;0;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;0.1;1.5;50;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 23,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 130,2020.2050.CHA.all.year.netGHG 0.1,2020.2070.JPN.all.budget.netCO2 8.5,2020.2070.CAZ.all.budget.netCO2 4.5,2020.2070.NEU.all.budget.netCO2 7.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;;SSP2EU-NPi_floor2;SSP2EU-NPi_floor2;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. SSP2EU-PkBudg500_cost_budget2_bionu;0;;turn off flex_tax to lower spv share;;;;;pricestruc;;1;5;;;rcp20;pricestruc;9;2100;0;0;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;0.1;1.5;50;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 23,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 130,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;;SSP2EU-NPi_floor2;SSP2EU-NPi_floor2;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2EU-PkBudg500_cost_budget5_2030;0;;turn off flex_tax to lower spv share;floor cost simulates tech transfer;;;;techtrans;;1;1;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;2;GLO 0.25, EUR_regi 0.25;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 25,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 180,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2EU-NPi_floor3;SSP2EU-NPi_floor3;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2EU-PkBudg500_cost_year_2030;0;;turn off flex_tax to lower spv share;floor cost simulates tech transfer;;;;techtrans;;1;1;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;2;GLO 0.25, EUR_regi 0.25;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.04, (IND_regi, SSA_regi, OAS_regi).coalchp 0.04;;;;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2050.CHA.all.budget.netCO2 180, 2020.2050.EUR.all.year.netGHG_LULUCFGrassi 0.1, 2020.2050.USA.all.year.netGHG_LULUCFGrassi 0.1;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2EU-NPi_floor3;SSP2EU-NPi_floor3;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2EU-PkBudg500_cost_budget5_2030;1;;turn off flex_tax to lower spv share;floor cost simulates tech transfer;;;;techtrans;;1;1;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;2;GLO 0.25, EUR_regi 0.25;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 25,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 180,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2EU-NPi_floor3;SSP2EU-NPi_floor3;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2EU-PkBudg550_cost_budget5_2030;1;;turn off flex_tax to lower spv share;floor cost simulates tech transfer;;;;techtrans;;1;1;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;550;diffCurvPhaseIn2Lin;100;2080;9;2;GLO 0.25, EUR_regi 0.25;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 25,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 180,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2EU-NPi_floor3;SSP2EU-NPi_floor3;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2EU-PkBudg500_cost_year_2030;1;;turn off flex_tax to lower spv share;floor cost simulates tech transfer;;;;techtrans;;1;1;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;2;GLO 0.25, EUR_regi 0.25;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.04, (IND_regi, SSA_regi, OAS_regi).coalchp 0.04;;;;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2050.CHA.all.budget.netCO2 180, 2020.2050.EUR.all.year.netGHG_LULUCFGrassi 0.1, 2020.2050.USA.all.year.netGHG_LULUCFGrassi 0.1;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2EU-NPi_floor3;SSP2EU-NPi_floor3;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2EU-PkBudg550_cost_year_2030;1;;turn off flex_tax to lower spv share;floor cost simulates tech transfer;;;;techtrans;;1;1;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;550;diffCurvPhaseIn2Lin;100;2080;9;2;GLO 0.25, EUR_regi 0.25;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.04, (IND_regi, SSA_regi, OAS_regi).coalchp 0.04;;;;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 40,2020.2050.USA.all.budget.netCO2 57,2020.2050.CHA.all.budget.netCO2 180;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2EU-NPi_floor3;SSP2EU-NPi_floor3;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. From 38c9cc950d8335f38202f8fe8f9a118eae7639ca Mon Sep 17 00:00:00 2001 From: Chen Gong Date: Thu, 9 May 2024 08:14:06 +0200 Subject: [PATCH 016/875] update battery cost WEO2021 --- core/input/generisdata_tech.prn | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/input/generisdata_tech.prn b/core/input/generisdata_tech.prn index f0e90dc3b..e5570646b 100644 --- a/core/input/generisdata_tech.prn +++ b/core/input/generisdata_tech.prn @@ -144,9 +144,9 @@ mix0 0.00 0.00 0.00 eta 0.74 0.85 0.79 omf 0.02 0.02 0.02 lifetime 25 25 25 -incolearn 5440 2090 1800 +incolearn 7590 2090 1800 ccap0 0.00005 0.00005 0.00005 -learn 0.10 0.10 0.10 +learn 0.15 0.15 0.15 + gridspv gridwind gridcsp inco0 2400 720 3120 From 8e04a613b1617d2da5be198db39b65f4062e5de1 Mon Sep 17 00:00:00 2001 From: Chen Gong Date: Thu, 9 May 2024 08:14:31 +0200 Subject: [PATCH 017/875] adjust solar share --- modules/32_power/IntC/datainput.gms | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/32_power/IntC/datainput.gms b/modules/32_power/IntC/datainput.gms index 452771b86..a7f120de8 100644 --- a/modules/32_power/IntC/datainput.gms +++ b/modules/32_power/IntC/datainput.gms @@ -44,6 +44,7 @@ f32_factorStorage(all_regi,"windoff") = f32_factorStorage(all_regi,"wind"); f32_factorStorage(all_regi,"wind") = 1.35 * f32_factorStorage(all_regi,"wind"); $ENDIF.WindOff p32_factorStorage(all_regi,all_te) = f32_factorStorage(all_regi,all_te); +p32_factorStorage(all_regi,"spv") = f32_factorStorage(all_regi,"spv") *1.3; $if not "%cm_storageFactor%" == "off" p32_factorStorage(all_regi,all_te)=%cm_storageFactor%*p32_factorStorage(all_regi,all_te); From 5447cd20d6941efa66d8e90567701783b1128628 Mon Sep 17 00:00:00 2001 From: Chen Gong Date: Thu, 9 May 2024 08:20:37 +0200 Subject: [PATCH 018/875] update config --- config/scenario_config_IKEA.csv | 48 +++++---------------------------- 1 file changed, 7 insertions(+), 41 deletions(-) diff --git a/config/scenario_config_IKEA.csv b/config/scenario_config_IKEA.csv index 48331f24f..3f5a1d310 100644 --- a/config/scenario_config_IKEA.csv +++ b/config/scenario_config_IKEA.csv @@ -1,13 +1,12 @@ -<<<<<<< HEAD title;start;CES_parameters;.comment;.comment;optimization;cm_iteration_max;cm_nash_mode;cm_calibration_string;c_testOneRegi_region;c_keep_iteration_gdxes;slurmConfig;c_changeProdCost;c_SlackMultiplier;cm_rcp_scen;cm_floorCostScen;cm_iterative_target_adj;cm_CO2priceRegConvEndYr;cm_flex_tax;cm_VRE_supply_assumptions;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_2020;c_peakBudgYr;cm_emiscen;cm_nucscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_tradecostBio;cm_bioenergy_SustTax;cm_maxProdBiolc;c_ccsinjecratescen;cm_CESMkup_build;cm_CESMkup_ind;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;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_floor1;0;;turn off flex_tax to lower spv share;default global floor cost;testOneRegi;;;;CHA;0;8;;;;default;;;0;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;testOneRegi-Base: This is a test scenario which only runs a single region, not to be used in production. testOneRegi-Base_floor2;0;;turn off flex_tax to lower spv share;floor cost preserves price structure;testOneRegi;;;;CHA;0;8;;;;pricestruc;;;0;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;testOneRegi-Base: This is a test scenario which only runs a single region, not to be used in production. testOneRegi-Base_floor3;0;;turn off flex_tax to lower spv share;floor cost simulates tech transfer;testOneRegi;;;;CHA;0;8;;;;techtrans;;;0;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;testOneRegi-Base: This is a test scenario which only runs a single region, not to be used in production. testOneRegi-Base_500_debug;0;;turn off flex_tax to lower spv share;floor cost simulates tech transfer;testOneRegi;;1;default;REF;0;8;;;rcp20;default;9;2100;0;0;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;2;GLO 0.25, EUR_regi 0.25;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 25,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 180,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;/p/tmp/chengong/ikea_phaseI/remind/output/SSP2EU-PkBudg500_cost_budget5_2030_2024-04-28_01.17.05/fulldata_5.gdx;SSP2EU-NPi;SSP2EU-NPi;;testOneRegi-Base: This is a test scenario which only runs a single region, not to be used in production. # H12 SSP2EU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2EU-NPi-calibrate_quick;0;calibrate;turn off flex_tax to lower spv share;;;;;;;1;1;;;rcp45;default;;;0;0;;0;NPi;-1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;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. -SSP2EU-NPi-calibrate_floor2_quick;0;calibrate;turn off flex_tax to lower spv share;;;;;;;1;1;;;rcp45;pricestruc;;;0;0;;0;NPi;-1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;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. -SSP2EU-NPi-calibrate_floor3_quick;0;calibrate;turn off flex_tax to lower spv share;;;;;;;1;1;;;rcp45;techtrans;;;0;0;;0;NPi;-1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;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. +SSP2EU-NPi-calibrate_quick;1;calibrate;turn off flex_tax to lower spv share;;;;;;;1;1;;;rcp45;default;;;0;0;;0;NPi;-1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;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. +SSP2EU-NPi-calibrate_floor2_quick;1;calibrate;turn off flex_tax to lower spv share;;;;;;;1;1;;;rcp45;pricestruc;;;0;0;;0;NPi;-1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;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. +SSP2EU-NPi-calibrate_floor3_quick;1;calibrate;turn off flex_tax to lower spv share;;;;;;;1;1;;;rcp45;techtrans;;;0;0;;0;NPi;-1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;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. SSP2EU-NPi;0;;turn off flex_tax to lower spv share;floor cost default;;;;default;;1;5;;;rcp45;default;3;;0;0;;0;NPi;1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;3;;heat;Mix1;2005;;;;;SSP2EU-NPi: This National Policies Implemented (Npi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi is identical to the NDC scenario until 2020 but assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. SSP2EU-NDC;0;;turn off flex_tax to lower spv share;floor cost default;;;;default;;1;5;;;rcp45;default;3;;0;0;globallyOptimal;0;NDC;1;2100;9;2;GLO 0.05, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;3;;heat;Mix2;2025;;SSP2EU-NPi;SSP2EU-NPi;;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. SSP2EU-PkBudg500;0;;turn off flex_tax to lower spv share;floor cost default;;;;default;;1;5;;;rcp20;default;9;2100;0;0;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;;SSP2EU-NPi;SSP2EU-NPi;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. @@ -26,40 +25,7 @@ SSP2EU-PkBudg1150_floor3;0;;turn off flex_tax to lower spv share;floor cost simu # H12 SSP2EU cost adjust;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP2EU-PkBudg500_cost_budget1_bionu;0;;turn off flex_tax to lower spv share;;;;;pricestruc;;1;5;;;rcp20;pricestruc;9;2100;0;0;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;0.1;1.5;50;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 23,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 130,2020.2050.CHA.all.year.netGHG 0.1,2020.2070.JPN.all.budget.netCO2 8.5,2020.2070.CAZ.all.budget.netCO2 4.5,2020.2070.NEU.all.budget.netCO2 7.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;;SSP2EU-NPi_floor2;SSP2EU-NPi_floor2;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. SSP2EU-PkBudg500_cost_budget2_bionu;0;;turn off flex_tax to lower spv share;;;;;pricestruc;;1;5;;;rcp20;pricestruc;9;2100;0;0;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;0.1;1.5;50;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 23,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 130,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;;SSP2EU-NPi_floor2;SSP2EU-NPi_floor2;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2EU-PkBudg500_cost_budget5_2030;1;;turn off flex_tax to lower spv share;floor cost simulates tech transfer;;;;techtrans;;1;1;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;2;GLO 0.25, EUR_regi 0.25;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 25,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 180,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2EU-NPi_floor3;SSP2EU-NPi_floor3;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2EU-PkBudg550_cost_budget5_2030;1;;turn off flex_tax to lower spv share;floor cost simulates tech transfer;;;;techtrans;;1;1;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;550;diffCurvPhaseIn2Lin;100;2080;9;2;GLO 0.25, EUR_regi 0.25;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 25,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 180,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2EU-NPi_floor3;SSP2EU-NPi_floor3;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2EU-PkBudg500_cost_year_2030;1;;turn off flex_tax to lower spv share;floor cost simulates tech transfer;;;;techtrans;;1;1;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;2;GLO 0.25, EUR_regi 0.25;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.04, (IND_regi, SSA_regi, OAS_regi).coalchp 0.04;;;;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2050.CHA.all.budget.netCO2 180, 2020.2050.EUR.all.year.netGHG_LULUCFGrassi 0.1, 2020.2050.USA.all.year.netGHG_LULUCFGrassi 0.1;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2EU-NPi_floor3;SSP2EU-NPi_floor3;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2EU-PkBudg550_cost_year_2030;1;;turn off flex_tax to lower spv share;floor cost simulates tech transfer;;;;techtrans;;1;1;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;550;diffCurvPhaseIn2Lin;100;2080;9;2;GLO 0.25, EUR_regi 0.25;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.04, (IND_regi, SSA_regi, OAS_regi).coalchp 0.04;;;;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 40,2020.2050.USA.all.budget.netCO2 57,2020.2050.CHA.all.budget.netCO2 180;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2EU-NPi_floor3;SSP2EU-NPi_floor3;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -||||||| merged common ancestors -======= -title;start;CES_parameters;optimization;cm_calibration_string;c_testOneRegi_region;c_keep_iteration_gdxes;slurmConfig;cm_rcp_scen;cm_iterative_target_adj;cm_CO2priceRegConvEndYr;cm_flex_tax;cm_VRE_supply_assumptions;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_2020;c_peakBudgYr;cm_emiscen;cm_nucscen;c_tech_earlyreti_rate;cm_tradecostBio;cm_bioenergy_SustTax;cm_maxProdBiolc;c_ccsinjecratescen;cm_CESMkup_build;cm_CESMkup_ind;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;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;0;;testOneRegi;;CHA;0;8;;;;1;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;0;calibrate;;;;0;14;rcp45;;;1;0;;0;NPi;1;2100;9;2;;;;;;;;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. -SSP2EU-Base;0;;;;;0;;;;;1;0;;0;;;2100;;;off;;;;;;;;;;;;;EUR_regi, NEU_regi;;;heat;Mix1;2005;;;;;SSP2EU-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2EU-NDC;0;;;;;0;;rcp45;3;;1;0;globallyOptimal;0;NDC;1;2100;9;2;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;3;;heat;Mix2;2025;;SSP2EU-NPi;SSP2EU-NPi;;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. -SSP2EU-NPi;0;;;;;0;;rcp45;3;;1;0;;0;NPi;1;2100;9;2;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;3;;heat;Mix1;2005;;;;;SSP2EU-NPi: This National Policies Implemented (Npi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi is identical to the NDC scenario until 2020 but assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2EU-PkBudg500;0;;;;;0;;rcp20;9;;1;1;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, IND_regi.pc 0.04;;;75;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;;SSP2EU-NPi;SSP2EU-NPi;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2EU-PkBudg1150;0;;;;;0;;rcp26;9;;1;1;globallyOptimal;1150;diffCurvPhaseIn2Lin;60;2100;9;2;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.04, IND_regi.pc 0.04;;;75;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;;SSP2EU-NPi;SSP2EU-NPi;;SSP2EU-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a weel below 2??C scenario, peak warming is allowed to be at or slightly above 2??C, at median climate sensitivity but returns to values below 2??C in at least 67?% of scenarios by the end of the century. -SSP2EU-PkBudg500_bio50_deepEl;0;;;;;0;5;rcp20;9;;1;1;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, IND_regi.pc 0.04;;;50;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;;SSP2EU-NPi_2023-07-27_14.54.26;SSP2EU-NPi_2023-07-27_14.54.26;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2EU-PkBudg1150_bio50_deepEl;0;;;;;0;5;rcp26;9;;1;1;globallyOptimal;1150;diffCurvPhaseIn2Lin;60;2100;9;2;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.04, IND_regi.pc 0.04;;;50;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;;SSP2EU-NPi_2023-07-27_14.54.26;SSP2EU-NPi_2023-07-27_14.54.26;;SSP2EU-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a weel below 2??C scenario, peak warming is allowed to be at or slightly above 2??C, at median climate sensitivity but returns to values below 2??C in at least 67?% of scenarios by the end of the century. -SSP2EU-PkBudg500_bio50_deepEl_nuc6;0;;;;;0;5;rcp20;9;;1;1;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;6;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.04, IND_regi.pc 0.04;;;50;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;;SSP2EU-NPi_2023-07-27_14.54.26;SSP2EU-NPi_2023-07-27_14.54.26;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2EU-PkBudg1150_bio50_deepEl_nuc6;0;;;;;0;5;rcp26;9;;1;1;globallyOptimal;1150;diffCurvPhaseIn2Lin;60;2100;9;6;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.04, IND_regi.pc 0.04;;;50;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;;SSP2EU-NPi_2023-07-27_14.54.26;SSP2EU-NPi_2023-07-27_14.54.26;;SSP2EU-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a weel below 2??C scenario, peak warming is allowed to be at or slightly above 2??C, at median climate sensitivity but returns to values below 2??C in at least 67?% of scenarios by the end of the century. -SSP2EU-PkBudg500_bio50_deepEl_noNucBnd;0;;;;;0;5;rcp20;9;;1;1;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;6;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.04, IND_regi.pc 0.04;;;50;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;;SSP2EU-NPi_2023-07-27_14.54.26;SSP2EU-NPi_2023-07-27_14.54.26;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2EU-PkBudg1150_bio50_deepEl_noNucBnd;0;;;;;0;5;rcp26;9;;1;1;globallyOptimal;1150;diffCurvPhaseIn2Lin;60;2100;9;6;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.04, IND_regi.pc 0.04;;;50;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;;SSP2EU-NPi_2023-07-27_14.54.26;SSP2EU-NPi_2023-07-27_14.54.26;;SSP2EU-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a weel below 2??C scenario, peak warming is allowed to be at or slightly above 2??C, at median climate sensitivity but returns to values below 2??C in at least 67?% of scenarios by the end of the century. -SSP2EU-PkBudg500_biotaxlim_adj;0;;;;;0;5;rcp20;9;;1;1;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;6;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.04, IND_regi.pc 0.04;0.1;1.5;75;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;;SSP2EU-NPi_2023-07-27_14.54.26;SSP2EU-NPi_2023-07-27_14.54.26;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2EU-PkBudg1150_biotaxlim_adj;0;;;;;0;5;rcp26;9;;1;1;globallyOptimal;1150;diffCurvPhaseIn2Lin;60;2100;9;6;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.04, IND_regi.pc 0.04;0.1;1.5;75;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;;SSP2EU-NPi_2023-07-27_14.54.26;SSP2EU-NPi_2023-07-27_14.54.26;;SSP2EU-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a weel below 2??C scenario, peak warming is allowed to be at or slightly above 2??C, at median climate sensitivity but returns to values below 2??C in at least 67?% of scenarios by the end of the century. -SSP2EU-PkBudg500_biotaxlim_noh2flex;0;;;;;0;5;rcp20;9;;0;1;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;6;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.04, IND_regi.pc 0.04;0.1;1.5;75;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;;SSP2EU-NPi_2023-07-27_14.54.26;SSP2EU-NPi_2023-07-27_14.54.26;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2EU-PkBudg1150_biotaxlim_noh2flex;0;;;;;0;5;rcp26;9;;0;1;globallyOptimal;1150;diffCurvPhaseIn2Lin;60;2100;9;6;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.04, IND_regi.pc 0.04;0.1;1.5;75;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;;SSP2EU-NPi;SSP2EU-NPi;;SSP2EU-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a weel below 2??C scenario, peak warming is allowed to be at or slightly above 2??C, at median climate sensitivity but returns to values below 2??C in at least 67?% of scenarios by the end of the century. -# H12 SSP2EU cost adjust;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2EU-NPi-calibrate_new1_cost;1;calibrate;;;;0;14;rcp45;;;1;0;;0;NPi;1;2100;9;2;;;;;;;;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. -SSP2EU-Base_new1;0;;;ikea_cost;;0;;;;;1;0;;0;;;2100;;;off;;;;;;;;;;;;;EUR_regi, NEU_regi;;;heat;Mix1;2005;;;;;SSP2EU-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2EU-NDC_new1;0;;;ikea_cost;;0;5;rcp45;3;;1;0;globallyOptimal;0;NDC;1;2100;9;2;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;3;;heat;Mix2;2025;;SSP2EU-NPi_cost;SSP2EU-NPi_cost;;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. -SSP2EU-NPi_new1;0;;;ikea_cost;;0;5;rcp45;3;;1;0;;0;NPi;1;2100;9;2;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;3;;heat;Mix1;2005;;;;;SSP2EU-NPi: This National Policies Implemented (Npi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi is identical to the NDC scenario until 2020 but assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2EU-PkBudg500_cost_noconv_newstart;0;;;ikea_cost;;1;5;rcp20;9;2100;1;1;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, IND_regi.pc 0.04;;;75;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;/p/tmp/chengong/remind_ikea/remind/output/SSP2EU-PkBudg500_cost_noconv_newstart_2024-02-19_14.14.35/fulldata_11.gdx;SSP2EU-NPi_cost;SSP2EU-NPi_cost;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2EU-PkBudg500_cost_budget2_ns;0;;;ikea_cost;;1;5;rcp20;9;2100;1;1;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, IND_regi.pc 0.04;;;75;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.CHA.all.budget.netCO2 140, 2020.2060.EUR.all.budget.netCO2 35, 2020.2050.USA.all.budget.netCO2 45;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;/p/tmp/chengong/remind_ikea/remind/output/SSP2EU-PkBudg500_cost_budget2_2024-02-19_16.52.47/fulldata_14.gdx;SSP2EU-NPi_cost;SSP2EU-NPi_cost;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2EU-PkBudg500_cost_year;0;;;ikea_cost;;1;5;rcp20;9;2100;1;1;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, IND_regi.pc 0.04;;;75;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2055.CHA.all.year.netGHG_LULUCFGrassi 0.1, 2020.2045.EUR.all.year.netGHG_LULUCFGrassi 0.1, 2020.2045.USA.all.year.netGHG_LULUCFGrassi 0.1;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;/p/tmp/chengong/remind_ikea/remind/output/SSP2EU-PkBudg500_cost_budget2_2024-02-19_16.52.47/fulldata_14.gdx;SSP2EU-NPi_cost;SSP2EU-NPi_cost;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2EU-PkBudg500_cost_year_nu_biolim;0;;;ikea_cost;;1;5;rcp20;9;2100;1;1;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;6;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.04, IND_regi.pc 0.04;0.1;1.5;75;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2055.CHA.all.year.netGHG_LULUCFGrassi 0.1, 2020.2045.EUR.all.year.netGHG_LULUCFGrassi 0.1, 2020.2045.USA.all.year.netGHG_LULUCFGrassi 0.1;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;/p/tmp/chengong/remind_ikea/remind/output/SSP2EU-PkBudg500_cost_budget2_2024-02-19_16.52.47/fulldata_14.gdx;SSP2EU-NPi_cost;SSP2EU-NPi_cost;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2EU-PkBudg500_cost_biolim2;0;;;ikea_cost;;1;5;rcp20;9;2100;1;1;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;6;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.04, IND_regi.pc 0.04;0.3;3;75;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;/p/tmp/chengong/remind_ikea/remind/output/SSP2EU-PkBudg500_cost_noconv_nu_biolim_ns_2024-02-21_09.58.23/fulldata.gdx;SSP2EU-NPi_cost;SSP2EU-NPi_cost;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2EU-PkBudg500_regidiff2_biolim2;0;;;ikea_cost;;1;5;rcp20;9;2100;1;1;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;6;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.04, IND_regi.pc 0.04;0.3;3;75;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2050.CHA.all.year.netGHG_LULUCFGrassi 0.1, 2020.2040.EUR.all.year.netGHG_LULUCFGrassi 0.1, 2020.2040.USA.all.year.netGHG_LULUCFGrassi 0.1;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2025;/p/tmp/chengong/remind_ikea/remind/output/SSP2EU-PkBudg500_cost_noconv_nu_biolim_ns_2024-02-21_09.58.23/fulldata.gdx;SSP2EU-NPi_cost;SSP2EU-NPi_cost;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. ->>>>>>> develop +SSP2EU-PkBudg500_cost_budget5_2030;0;;turn off flex_tax to lower spv share;floor cost simulates tech transfer;;;;techtrans;;1;1;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;2;GLO 0.25, EUR_regi 0.25;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 25,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 180,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2EU-NPi_floor3;SSP2EU-NPi_floor3;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2EU-PkBudg550_cost_budget5_2030;0;;turn off flex_tax to lower spv share;floor cost simulates tech transfer;;;;techtrans;;1;1;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;550;diffCurvPhaseIn2Lin;100;2080;9;2;GLO 0.25, EUR_regi 0.25;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 25,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 180,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2EU-NPi_floor3;SSP2EU-NPi_floor3;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2EU-PkBudg500_cost_year_2030;0;;turn off flex_tax to lower spv share;floor cost simulates tech transfer;;;;techtrans;;1;1;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;2;GLO 0.25, EUR_regi 0.25;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.04, (IND_regi, SSA_regi, OAS_regi).coalchp 0.04;;;;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2050.CHA.all.budget.netCO2 180, 2020.2050.EUR.all.year.netGHG_LULUCFGrassi 0.1, 2020.2050.USA.all.year.netGHG_LULUCFGrassi 0.1;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2EU-NPi_floor3;SSP2EU-NPi_floor3;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2EU-PkBudg550_cost_year_2030;0;;turn off flex_tax to lower spv share;floor cost simulates tech transfer;;;;techtrans;;1;1;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;550;diffCurvPhaseIn2Lin;100;2080;9;2;GLO 0.25, EUR_regi 0.25;GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.(biodiesel 0.15, bioeths 0.15), USA_regi.pc 0.13, REF_regi.pc 0.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.04, (IND_regi, SSA_regi, OAS_regi).coalchp 0.04;;;;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 40,2020.2050.USA.all.budget.netCO2 57,2020.2050.CHA.all.budget.netCO2 180;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2EU-NPi_floor3;SSP2EU-NPi_floor3;;SSP2EU-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. From d59e494b473e9f68ce7c32047f43f2a8431bd705 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Wed, 15 May 2024 11:12:23 +0200 Subject: [PATCH 019/875] cleaning --- core/datainput.gms | 63 +++++++++---------- core/postsolve.gms | 14 ++--- .../37_industry/fixed_shares/datainput.gms | 2 +- 3 files changed, 39 insertions(+), 40 deletions(-) diff --git a/core/datainput.gms b/core/datainput.gms index 69baffa11..7f68b1b76 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -13,7 +13,7 @@ vm_emiCO2Sector.l(ttot,all_regi,emi_sectors) = 0; *AJS* initialize parameter (avoid compilation errors) -* do this at the start of datainput to prevent accidental overwriting +*** do this at the start of datainput to prevent accidental overwriting pm_SolNonInfes(regi) = 1; !! assume the starting point came from a feasible solution pm_capCum0(ttot,regi,teLearn)$( (ttot.val ge 2005) and (pm_SolNonInfes(regi) eq 1)) = 0; @@ -158,7 +158,7 @@ $include "./core/input/generisdata_trade.prn" $ifthen.WindOff %cm_wind_offshore% == "1" *CG* set wind offshore, storage and grid to be the same as wind onshore (later should be integrated into input data) -* main difference between onshore and offshore is the difference in f32_factorStorage +*** main difference between onshore and offshore is the difference in f32_factorStorage fm_dataglob(char,"storwindoff") = fm_dataglob(char,"storwind"); fm_dataglob(char,"gridwindoff") = fm_dataglob(char,"gridwind"); f_dataglob_SSP1(char,"storwindoff") = f_dataglob_SSP1(char,"storwind"); @@ -200,8 +200,7 @@ if (cm_VRE_supply_assumptions eq 3, fm_dataglob("incolearn","spv") = 4960; ); - -*JH* New nuclear assumption for SSP5 +*** New nuclear assumption for SSP5 if (cm_nucscen eq 6, f_dataglob_SSP5("inco0","tnrs") = 6270; !! increased from 4000 to 6270 with the update of technology costs in REMIND 1.7 to keep the percentage increase between SSP2 and SSP5 constant ); @@ -223,11 +222,11 @@ $endif.WindOff display fm_dataglob; *TD* ccsinje cost scenarios -* low estimate: ccsinje cost prior to 03/2024; i.e. ~11 USD/tCO2 in 2025, decreasing to ~7.5USD/tCO2 as of 2035 +*** low estimate: ccsinje cost prior to 03/2024; i.e. ~11 USD/tCO2 in 2025, decreasing to ~7.5USD/tCO2 as of 2035 $if "%cm_ccsinjeCost%" == "low" fm_dataglob("tech_stat","ccsinje") = 2; $if "%cm_ccsinjeCost%" == "low" fm_dataglob("inco0","ccsinje") = 220; $if "%cm_ccsinjeCost%" == "low" fm_dataglob("constrTme","ccsinje") = 0; -* high estimate: ~20USD/tCO2 (constant), assuming upper end of storage cost and long transport distances +*** high estimate: ~20USD/tCO2 (constant), assuming upper end of storage cost and long transport distances $if "%cm_ccsinjeCost%" == "high" fm_dataglob("inco0","ccsinje") = 550; ***--------------------------------------------------------------------------- *** Manipulating global or regional cost technology data - relative value @@ -254,8 +253,8 @@ p_inco0(ttot,regi,te) = s_D2015_2_D2017 * p_inco0(ttot,regi,te); *** note that factor for $/kW -> T$/TW is the same as for $/(tC/a) -> T$/(GtC/a) fm_dataglob("inco0",te) = s_DpKW_2_TDpTW * fm_dataglob("inco0",te); fm_dataglob("incolearn",te) = s_DpKW_2_TDpTW * fm_dataglob("incolearn",te); -fm_dataglob("omv",te) = s_DpKWa_2_TDpTWa * fm_dataglob("omv",te); -p_inco0(ttot,regi,te) = s_DpKW_2_TDpTW * p_inco0(ttot,regi,te); +fm_dataglob("omv",te) = s_DpKWa_2_TDpTWa * fm_dataglob("omv",te); +p_inco0(ttot,regi,te) = s_DpKW_2_TDpTW * p_inco0(ttot,regi,te); *RP* rescale the global CSP investment costs in REMIND: Originally we assume a SM3/12h setup, while the cost data from IEA for the short term seems rather based on a SM2/6h setup (with 40% average CF) *** Accordingly, also decrease long-term costs in REMIND to 0.7 of the current values @@ -335,8 +334,9 @@ $ifthen.REG_techcosts not "%cm_techcosts%" == "GLO" !! cm_techcosts is REG or pm_data(regi,"incolearn",teLearn(te)) = pm_data(regi,"inco0",te) - pm_data(regi,"floorcost",te) ; $endif.REG_techcosts +*** ------------------------------------------------------------------------------- *** Calculate learning parameters: - +*** ------------------------------------------------------------------------------- *** global exponent *** parameter calculation for global level, that regional values can gradually converge to fm_dataglob("learnExp_wFC",teLearn(te)) = fm_dataglob("inco0",te)/fm_dataglob("incolearn",te) * log(1-fm_dataglob("learn", te))/log(2); @@ -370,8 +370,8 @@ $else pm_data(regi,"learnMult_wFC","spv") = pm_data(regi,"incolearn","spv") / (sum(regi2,p_capCum("2020",regi2,"spv")) ** pm_data(regi,"learnExp_wFC","spv")); $endif -*FS initialize learning curve for most advanced technologies as defined by tech_stat = 4 in generisdata_tech.prn (with very small real-world capacities in 2020) -* equally for all regions based on global cumulate capacity of ccap0 and incolearn (difference between initial investment cost and floor cost) +*FS* initialize learning curve for most advanced technologies as defined by tech_stat = 4 in generisdata_tech.prn (with very small real-world capacities in 2020) +*** equally for all regions based on global cumulate capacity of ccap0 and incolearn (difference between initial investment cost and floor cost) pm_data(regi,"learnMult_wFC",te)$( pm_data(regi,"tech_stat",te) eq 4 ) = pm_data(regi,"incolearn",te) / ( fm_dataglob("ccap0",te) @@ -380,8 +380,9 @@ pm_data(regi,"learnMult_wFC",te)$( pm_data(regi,"tech_stat",te) eq 4 ) display p_capCum; display pm_data; - +*** ------------------------------------------------------------------------------- *** end learning parameters +*** ------------------------------------------------------------------------------- *RP* 2012-03-07: Markup for advanced technologies table p_costMarkupAdvTech(s_statusTe,tall) "Multiplicative investment cost markup for early time periods (until 2030) on advanced technologies (CCS, Hydrogen) that are not modeled through endogenous learning" @@ -389,8 +390,8 @@ $include "./core/input/p_costMarkupAdvTech.prn" ; *** add mark-up cost for tech_stat 4 and 5 technologies as for tech_stat 3 technologies in first years -p_costMarkupAdvTech("4",ttot)=p_costMarkupAdvTech("3",ttot); -p_costMarkupAdvTech("5",ttot)=p_costMarkupAdvTech("3",ttot); +p_costMarkupAdvTech("4",ttot) = p_costMarkupAdvTech("3",ttot); +p_costMarkupAdvTech("5",ttot) = p_costMarkupAdvTech("3",ttot); loop (teNoLearn(te), pm_inco0_t(ttot,regi,te) = pm_data(regi,"inco0",te); @@ -450,16 +451,16 @@ $ifthen.REG_techcosts "%cm_techcosts%" == "REG" !! cm_techcosts REG $endif.REG_techcosts -*------------------------------------------------------------------------------------ -* END of Technology cost data input read-in and manipulation in core -*------------------------------------------------------------------------------------ +***------------------------------------------------------------------------------------ +*** END of Technology cost data input read-in and manipulation in core +***------------------------------------------------------------------------------------ *** Note: in modules/05_initialCap/on/preloop.gms, there are additional adjustment to investment *** cost in the near term due to calibration of historical energy conversion efficiencies based on *** initial capacities *------------------------------------------------------------------------------------ -*JH* Determine CCS injection rates -*LP* for c_ccsinjecratescen =0 the storing variable vm_co2CCS will be fixed to 0 in bounds.gms, the sm_ccsinjecrate=0 will cause a division by 0 error in the 21_tax module +*** Determine CCS injection rates +*** for c_ccsinjecratescen =0 the storing variable vm_co2CCS will be fixed to 0 in bounds.gms, the sm_ccsinjecrate=0 will cause a division by 0 error in the 21_tax module s_ccsinjecrate = 0.005 if (c_ccsinjecratescen eq 2, s_ccsinjecrate = s_ccsinjecrate * 0.50 ); !! Lower estimate if (c_ccsinjecratescen eq 3, s_ccsinjecrate = s_ccsinjecrate * 1.50 ); !! Upper estimate @@ -480,7 +481,7 @@ table fm_dataemiglob(all_enty,all_enty,all_te,all_enty) "read-in of emissions f $include "./core/input/generisdata_emi.prn" ; -parameter pm_share_ind_fesos(tall,all_regi) "Share of coal solids (coaltr) used in the industry (rest is residential)" +parameter pm_share_ind_fesos(tall,all_regi) "Share of coal solids (coaltr) used in the industry (rest is residential)" / $ondelim $include "./core/input/p_share_ind_fesos.cs4r" @@ -488,7 +489,7 @@ $offdelim / ; -parameter pm_share_ind_fesos_bio(tall,all_regi) "Share of biomass solids (biotr) used in the industry (rest is residential)" +parameter pm_share_ind_fesos_bio(tall,all_regi) "Share of biomass solids (biotr) used in the industry (rest is residential)" / $ondelim $include "./core/input/p_share_ind_fesos_bio.cs4r" @@ -496,7 +497,7 @@ $offdelim / ; -parameter pm_share_ind_fehos(tall,all_regi) "Share of heating oil used in the industry (rest is residential)" +parameter pm_share_ind_fehos(tall,all_regi) "Share of heating oil used in the industry (rest is residential)" / $ondelim $include "./core/input/p_share_ind_fehos.cs4r" @@ -525,7 +526,7 @@ pm_share_trans("2130",regi) = 0.865; pm_share_trans("2150",regi) = 0.872; -*JH* CO2 capture rate of CCS technologies (new SSP5 assumptions) +*** CO2 capture rate of CCS technologies (new SSP5 assumptions) if (c_ccscapratescen eq 2, fm_dataemiglob("pecoal","seel","igccc","co2") = 0.2; fm_dataemiglob("pecoal","seel","igccc","cco2") = 25.9; @@ -549,7 +550,7 @@ table f_dataetaglob(tall,all_te) "global eta data" $include "./core/input/generisdata_varying_eta.prn" ; -* Read in mac historical emissions to calibrate MAC reference emissions +*** Read in mac historical emissions to calibrate MAC reference emissions parameter p_histEmiMac(tall,all_regi,all_enty) "historical emissions per MAC" / $ondelim @@ -557,7 +558,7 @@ $include "./core/input/p_histEmiMac.cs4r" $offdelim / ; -* Read in historical emissions per sector to calibrate MAC reference emissions +*** Read in historical emissions per sector to calibrate MAC reference emissions parameter p_histEmiSector(tall,all_regi,all_enty,emi_sectors,sector_types) "historical emissions per sector" / $ondelim @@ -612,7 +613,7 @@ $offdelim ; pm_IO_trade(ttot,regi,enty,char) = f_IO_trade(ttot,regi,enty,char) * sm_EJ_2_TWa; -*LB* use scaled data for export to guarantee net trade = 0 for each traded good +*** use scaled data for export to guarantee net trade = 0 for each traded good loop(tradePe, loop(ttot, if(sum(regi2, pm_IO_trade(ttot,regi2,tradePe,"Xport")) ne 0, @@ -636,7 +637,7 @@ p_cint(regi,"co2","peoil","7")=0.2283105600; p_cint(regi,"co2","peoil","8")=0.4153983800; $ifthen.WindOff %cm_wind_offshore% == "0" -** historical installed capacity +*** historical installed capacity *** read-in of pm_histCap.cs3r $Offlisting table pm_histCap(tall,all_regi,all_te) "historical installed capacity" @@ -717,11 +718,11 @@ pm_cf(ttot,regi,"tdh2i") = pm_cf(ttot,regi,"tdh2s"); *SB* Region- and tech-specific early retirement rates -*Regional* +***Regional* loop(ext_regi$pm_extRegiEarlyRetiRate(ext_regi), pm_regiEarlyRetiRate(t,regi,te)$(regi_group(ext_regi,regi)) = pm_extRegiEarlyRetiRate(ext_regi); ); -*Tech-specific* +***Tech-specific* *RP*: reduce early retirement for technologies with additional characteristics that are difficult to represent in REMIND, eg. industries built around heating/CHP plants, or flexibility from ngt plants pm_regiEarlyRetiRate(t,regi,"ngt") = 0.3 * pm_regiEarlyRetiRate(t,regi,"ngt") ; !! ngt should only be phased out very slowly, as they provide flexibility - which REMIND is not too good at capturing endogeneously pm_regiEarlyRetiRate(t,regi,"gaschp") = 0.5 * pm_regiEarlyRetiRate(t,regi,"gaschp") ; !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input @@ -778,7 +779,7 @@ loop(regi, ); ); -*LB* calculate mapping tsu2opTimeYr +*** calculate mapping tsu2opTimeYr alias(ttot, tttot); tsu2opTimeYr(ttot,opTimeYr) = no; tsu2opTimeYr(ttot,"1") = yes; @@ -1332,7 +1333,6 @@ if(c_macscen eq 2, if(c_macscen eq 1, pm_macSwitch(emiMacSector) = 1; ); -*pm_macCostSwitch(enty)=pm_macSwitch(enty); *** for NDC and NPi switch off landuse MACs $if %carbonprice% == "off" pm_macSwitch(emiMacMagpie) = 0; @@ -1350,7 +1350,6 @@ $offdelim ; pm_taxCO2eq(t,regi)$(t.val le 2020) = f_taxCO2eqHist(t,regi) * sm_DptCO2_2_TDpGtC; - *DK* LU emissions are abated in MAgPIE in coupling mode *** An alternative to the approach below could be to introduce a new value for c_macswitch that only deactivates the LU MACs $if %cm_MAgPIE_coupling% == "on" pm_macSwitch(enty)$emiMacMagpie(enty) = 0; diff --git a/core/postsolve.gms b/core/postsolve.gms index bef3e3399..c8481d794 100644 --- a/core/postsolve.gms +++ b/core/postsolve.gms @@ -828,13 +828,13 @@ p_FEPrice_by_SE_Sector_EmiMkt(t,regi,entySe,entyFe,sector,emiMkt)$(abs (qm_budge loop((t,regi,entySe,entyFe,sector,emiMkt)$(sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector)), *** initialize prices - p_FEPrice_by_Sector_EmiMkt(t,regi,entyFe,sector,emiMkt)=0; - pm_FEPrice_by_SE_Sector(t,regi,entySe,entyFe,sector)=0; - p_FEPrice_by_SE_EmiMkt(t,regi,entySe,entyFe,emiMkt)=0; - p_FEPrice_by_SE(t,regi,entySe,entyFe)=0; - p_FEPrice_by_Sector(t,regi,entyFe,sector)=0; - p_FEPrice_by_EmiMkt(t,regi,entyFe,emiMkt)=0; - p_FEPrice_by_FE(t,regi,entyFe)=0; + p_FEPrice_by_Sector_EmiMkt(t,regi,entyFe,sector,emiMkt) = 0; + pm_FEPrice_by_SE_Sector(t,regi,entySe,entyFe,sector) = 0; + p_FEPrice_by_SE_EmiMkt(t,regi,entySe,entyFe,emiMkt) = 0; + p_FEPrice_by_SE(t,regi,entySe,entyFe) = 0; + p_FEPrice_by_Sector(t,regi,entyFe,sector) = 0; + p_FEPrice_by_EmiMkt(t,regi,entyFe,emiMkt) = 0; + p_FEPrice_by_FE(t,regi,entyFe) = 0; *** lower level marginal price is equal to non-zero, non-eps minimal price at higher level loop(entySe2, diff --git a/modules/37_industry/fixed_shares/datainput.gms b/modules/37_industry/fixed_shares/datainput.gms index 0c916cf2d..cb8a7e6fb 100644 --- a/modules/37_industry/fixed_shares/datainput.gms +++ b/modules/37_industry/fixed_shares/datainput.gms @@ -61,7 +61,7 @@ $offdelim $include "./modules/37_industry/fixed_shares/input/pm_abatparam_Ind.gms"; $IFTHEN.Industry_CCS_markup not "%cm_Industry_CCS_markup%" == "off" - pm_abatparam_Ind(ttot,regi,all_enty,steps)$pm_abatparam_Ind(ttot,regi,all_enty,steps) = (1/%cm_Industry_CCS_markup%)*pm_abatparam_Ind(ttot,regi,all_enty,steps); + pm_abatparam_Ind(ttot,regi,all_enty,steps)$pm_abatparam_Ind(ttot,regi,all_enty,steps) = (1/%cm_Industry_CCS_markup%)*pm_abatparam_Ind(ttot,regi,all_enty,steps); $ENDIF.Industry_CCS_markup *** fill in share of other industry sector From f849bde4bf8b83e2931c6dcb667c33c65767091b Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Wed, 15 May 2024 15:45:28 +0200 Subject: [PATCH 020/875] cleaning --- modules/21_tax/on/datainput.gms | 4 ++-- modules/21_tax/on/equations.gms | 2 +- modules/21_tax/on/postsolve.gms | 2 +- modules/21_tax/on/presolve.gms | 2 +- modules/32_power/DTcoup/datainput.gms | 13 ------------- modules/32_power/IntC/datainput.gms | 13 ------------- 6 files changed, 5 insertions(+), 31 deletions(-) diff --git a/modules/21_tax/on/datainput.gms b/modules/21_tax/on/datainput.gms index 98e7dc60c..5b82b6bf1 100644 --- a/modules/21_tax/on/datainput.gms +++ b/modules/21_tax/on/datainput.gms @@ -94,10 +94,10 @@ p21_tau_pe2se_tax(ttot,regi,"coalgas")$(ttot.val ge 2005) = 0.5; ***JaS* Introduces inconvenience costs as taxes for the transformation of primary to secondary energy types ***JaS* Taxes are given in USD(2005) per GJ *cb* to be exchanged for file with values if needed -p21_tau_pe2se_inconv(ttot,regi,te)$(ttot.val ge 2005)=0.000000; +p21_tau_pe2se_inconv(ttot,regi,te)$(ttot.val ge 2005) = 0.000000; *** description: Taxes/subsidies are given in USD(2005) per GJ *** unit: USD(2005) per GJ -p21_tau_pe2se_inconv(ttot,regi,te)$(ttot.val ge 2005)=0.000000; +p21_tau_pe2se_inconv(ttot,regi,te)$(ttot.val ge 2005) = 0.000000; ***cb20110923 rescaling of PE2SE parameters from $/GJ to trillion $ / TWa diff --git a/modules/21_tax/on/equations.gms b/modules/21_tax/on/equations.gms index d6811b0a5..4feacbb48 100644 --- a/modules/21_tax/on/equations.gms +++ b/modules/21_tax/on/equations.gms @@ -287,7 +287,7 @@ q21_taxrevFlex(t,regi)$( t.val ge max(2010, cm_startyear) ) .. !! vm_flexAdj is electricity price reduction/increases for flexible/ !! inflexible technologies change sign such that flexible technologies !! get subsidy - -vm_flexAdj(t,regi,te) + - vm_flexAdj(t,regi,te) * vm_demSe(t,regi,enty,enty2,te) ) - p21_taxrevFlex0(t,regi) diff --git a/modules/21_tax/on/postsolve.gms b/modules/21_tax/on/postsolve.gms index 3a5015b37..da4f327a8 100644 --- a/modules/21_tax/on/postsolve.gms +++ b/modules/21_tax/on/postsolve.gms @@ -48,7 +48,7 @@ p21_taxrevBio0(ttot,regi) = v21_tau_bio.l(ttot) * vm_pebiolc_price.l(ttot,regi) p21_implicitDiscRate0(ttot,regi) = sum(ppfKap(in), p21_implicitDiscRateMarg(ttot,regi,in) * vm_cesIO.l(ttot,regi,in) ); p21_taxemiMkt0(ttot,regi,emiMkt) = pm_taxemiMkt(ttot,regi,emiMkt) * vm_co2eqMkt.l(ttot,regi,emiMkt); p21_taxrevFlex0(ttot,regi) = sum(en2en(enty,enty2,te)$(teFlexTax(te)), - -vm_flexAdj.l(ttot,regi,te) * vm_demSe.l(ttot,regi,enty,enty2,te)); + - vm_flexAdj.l(ttot,regi,te) * vm_demSe.l(ttot,regi,enty,enty2,te)); p21_taxrevImport0(ttot,regi,tradePe,tax_import_type_21) = p21_tau_Import(ttot,regi,tradePe,tax_import_type_21)$sameas(tax_import_type_21, "worldPricemarkup") * pm_pvp(ttot,tradePe) / pm_pvp(ttot,"good") * vm_Mport.l(ttot,regi,tradePe)+ p21_tau_Import(ttot, regi, tradePe, tax_import_type_21)$sameas(tax_import_type_21, "CO2taxmarkup") * pm_taxCO2eqSum(ttot,regi) * pm_cintraw(tradePe) * vm_Mport.l(ttot,regi,tradePe)+ diff --git a/modules/21_tax/on/presolve.gms b/modules/21_tax/on/presolve.gms index 37b204f93..96d209119 100644 --- a/modules/21_tax/on/presolve.gms +++ b/modules/21_tax/on/presolve.gms @@ -47,7 +47,7 @@ p21_taxrevBio0(ttot,regi) = v21_tau_bio.l(ttot) * vm_pebiolc_price.l(ttot,regi) p21_implicitDiscRate0(ttot,regi) = sum(ppfKap(in), p21_implicitDiscRateMarg(ttot,regi,in) * vm_cesIO.l(ttot,regi,in) ); p21_taxemiMkt0(ttot,regi,emiMkt) = pm_taxemiMkt(ttot,regi,emiMkt) * vm_co2eqMkt.l(ttot,regi,emiMkt); p21_taxrevFlex0(ttot,regi) = sum(en2en(enty,enty2,te)$(teFlexTax(te)), - -vm_flexAdj.l(ttot,regi,te) * vm_demSe.l(ttot,regi,enty,enty2,te)); + - vm_flexAdj.l(ttot,regi,te) * vm_demSe.l(ttot,regi,enty,enty2,te)); p21_taxrevImport0(ttot,regi,tradePe,tax_import_type_21) = p21_tau_Import(ttot,regi,tradePe,tax_import_type_21)$sameas(tax_import_type_21, "worldPricemarkup") * pm_pvp(ttot,tradePe) / pm_pvp(ttot,"good") * vm_Mport.l(ttot,regi,tradePe)+ p21_tau_Import(ttot, regi, tradePe, tax_import_type_21)$sameas(tax_import_type_21, "CO2taxmarkup") * pm_taxCO2eqSum(ttot,regi) * pm_cintraw(tradePe) * vm_Mport.l(ttot,regi,tradePe)+ p21_tau_Import(ttot, regi, tradePe, tax_import_type_21)$sameas(tax_import_type_21, "avCO2taxmarkup") * max(pm_taxCO2eqSum(ttot,regi), sum(regi2, pm_taxCO2eqSum(ttot,regi2))/(card(regi2))) * pm_cintraw(tradePe) * vm_Mport.l(ttot,regi,tradePe); diff --git a/modules/32_power/DTcoup/datainput.gms b/modules/32_power/DTcoup/datainput.gms index 9f27b92e4..19708b906 100644 --- a/modules/32_power/DTcoup/datainput.gms +++ b/modules/32_power/DTcoup/datainput.gms @@ -72,19 +72,6 @@ $ENDIF.WindOff p32_storageCap(te,char) = f32_storageCap(char,te); display p32_storageCap; -$ontext -parameter p32_flex_maxdiscount(all_regi,all_te) "maximum electricity price discount for flexible technologies reached at high VRE shares" -/ -$ondelim -$include "./modules/32_power/IntC/input/p32_flex_maxdiscount.cs4r" -$offdelim -/ -; -*** convert from USD2015/MWh to trUSD2017/TWa -p32_flex_maxdiscount(regi,te) = p32_flex_maxdiscount(regi,te) * sm_TWa_2_MWh * s_D2015_2_D2017 * 1e-12; -display p32_flex_maxdiscount; -$offtext - *** initialize p32_PriceDurSlope parameter p32_PriceDurSlope(regi,"elh2") = cm_PriceDurSlope_elh2; diff --git a/modules/32_power/IntC/datainput.gms b/modules/32_power/IntC/datainput.gms index 3d84134e9..b2b1e493e 100644 --- a/modules/32_power/IntC/datainput.gms +++ b/modules/32_power/IntC/datainput.gms @@ -83,19 +83,6 @@ p32_shThresholdTotVREAddIntCost(t)$(t.val > 2045) = 95; p32_FactorAddIntCostTotVRE = 1.5; -$ontext -parameter p32_flex_maxdiscount(all_regi,all_te) "maximum electricity price discount for flexible technologies reached at high VRE shares" -/ -$ondelim -$include "./modules/32_power/IntC/input/p32_flex_maxdiscount.cs4r" -$offdelim -/ -; -*** convert from USD2015/MWh to trUSD2017/TWa -p32_flex_maxdiscount(regi,te) = p32_flex_maxdiscount(regi,te) * sm_TWa_2_MWh * s_D2015_2_D2017 * 1e-12; -display p32_flex_maxdiscount; -$offtext - *** Flexibility Tax Parameter *** Both flexibility tax parameters are based on a regression analysis with hourly dispatch data from high-VRE scenarios of the Langfristszenarien From 5898f4c15a53047ae9f7f4ebe5a7e667d102150a Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Wed, 15 May 2024 17:14:44 +0200 Subject: [PATCH 021/875] convert p02_inconvpen_lap, p37_priceMat and p21_tau_pe2se_tax to $US2017 --- core/declarations.gms | 6 ++++-- modules/02_welfare/ineqLognormal/datainput.gms | 18 +++++++++--------- modules/02_welfare/utilitarian/datainput.gms | 16 ++++++++-------- modules/21_tax/on/datainput.gms | 18 +++++++++--------- modules/37_industry/subsectors/datainput.gms | 14 +++++++------- .../37_industry/subsectors/declarations.gms | 2 +- 6 files changed, 38 insertions(+), 36 deletions(-) diff --git a/core/declarations.gms b/core/declarations.gms index a9d0b85d9..549741be3 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -590,8 +590,10 @@ sm_tgch4_2_pgc "conversion factor 100-yr s_MtCH4_2_TWa "Energy content of methane. MtCH4 --> TWa: 1 MtCH4 = 1.23 * 10^6 toe * 42 GJ/toe * 10^-9 EJ/GJ * 1 TWa/31.536 EJ = 0.001638 TWa (BP statistical review)" /0.001638/ -s_D2015_2_D2017 "Convert $2015 to $2017" /1.0292/ -s_D2005_2_D2017 "Convert $2005 to $2017" /1.231/ +s_D2015_2_D2017 "Convert $2015 to $2017" /1.0292/ +s_D2005_2_D2017 "Convert $2005 to $2017" /1.231/ +s_D2020_2_D2017 "Convert $2020 to $2017" /0.9469/ +s_EURO2023_2_D2017 "Convert EURO 2023 to $2017" /0.8915/ sm_DptCO2_2_TDpGtC "Conversion multiplier to go from $/tCO2 to T$/GtC: 44/12/1000" /0.00366667/ diff --git a/modules/02_welfare/ineqLognormal/datainput.gms b/modules/02_welfare/ineqLognormal/datainput.gms index 6ec94cae5..77b270809 100644 --- a/modules/02_welfare/ineqLognormal/datainput.gms +++ b/modules/02_welfare/ineqLognormal/datainput.gms @@ -11,15 +11,15 @@ $if %cm_less_TS% == "on" pm_welf("2060") = 0.9; *RP* 2012-03-06: Inconvenience costs on seprod $IFTHEN.INCONV %cm_INCONV_PENALTY% == "on" -p02_inconvpen_lap(ttot,regi,"coaltr")$(ttot.val ge 2005) = 0.5; !! In dollar per GJ seprod at 1.000$/cap GDP, or 10$/GJ at 10.000$_GDP/cap -p02_inconvpen_lap(ttot,regi,"biotr")$(ttot.val ge 2005) = 1.0; !! In dollar per GJ seprod -p02_inconvpen_lap(ttot,regi,"biotrmod")$(ttot.val ge 2005) = 0.25; !! In dollar per GJ seprod. Biotrmod is a mix of wood stoves and automated wood pellets for heating, which has lower air pollution and other discomfort effects +p02_inconvpen_lap(ttot,regi,"coaltr")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.5; !! In dollar per GJ seprod at 1.000$/cap GDP, or 10$/GJ at 10.000$_GDP/cap +p02_inconvpen_lap(ttot,regi,"biotr")$(ttot.val ge 2005) = s_D2005_2_D2017 * 1.0; !! In dollar per GJ seprod +p02_inconvpen_lap(ttot,regi,"biotrmod")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.25; !! In dollar per GJ seprod. Biotrmod is a mix of wood stoves and automated wood pellets for heating, which has lower air pollution and other discomfort effects *' Transformation of coal to liquids/gases/H2 brings local pollution, which is less accepted at higher incomes -> use the inconvenience cost channel -p02_inconvpen_lap(ttot,regi,"coalftrec")$(ttot.val ge 2005) = 0.9; !! In dollar per GJ seprod -p02_inconvpen_lap(ttot,regi,"coalftcrec")$(ttot.val ge 2005) = 0.9; !! equivalent to 4$/GJ at 40.000$_GDP/cap, or 10$/GJ at 100.000$_GDP/cap -p02_inconvpen_lap(ttot,regi,"coalgas")$(ttot.val ge 2005) = 0.9; !! -p02_inconvpen_lap(ttot,regi,"coalh2")$(ttot.val ge 2005) = 0.9; !! -p02_inconvpen_lap(ttot,regi,"coalh2c")$(ttot.val ge 2005) = 0.9; !! +p02_inconvpen_lap(ttot,regi,"coalftrec")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.9; !! In dollar per GJ seprod +p02_inconvpen_lap(ttot,regi,"coalftcrec")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.9; !! equivalent to 4$/GJ at 40.000$_GDP/cap, or 10$/GJ at 100.000$_GDP/cap +p02_inconvpen_lap(ttot,regi,"coalgas")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.9; +p02_inconvpen_lap(ttot,regi,"coalh2")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.9; +p02_inconvpen_lap(ttot,regi,"coalh2c")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.9; p02_inconvpen_lap(ttot,regi,te)$(ttot.val ge 2005) = p02_inconvpen_lap(ttot,regi,te) * 4.3 * 1E-4; !! this is now equivalent to 1$/GJ at 1000$/per Capita in the welfare logarithm p02_inconvpen_lap(ttot,regi,te)$(ttot.val ge 2005) = p02_inconvpen_lap(ttot,regi,te) * (1/sm_giga_2_non) / sm_GJ_2_TWa; !! conversion util/(GJ/cap) -> util/(TWa/Gcap) *RP* these values are all calculated on seprod level. @@ -27,7 +27,7 @@ display p02_inconvpen_lap; $ENDIF.INCONV *BS* 2020-03-12: additional inputs for inequality -* To Do: rename file, then also in "files" and moinput::fullREMIND.R +*** To Do: rename file, then also in "files" and moinput::fullREMIND.R parameter f02_ineqTheil(tall,all_regi,all_GDPscen) "Gini data" / $ondelim diff --git a/modules/02_welfare/utilitarian/datainput.gms b/modules/02_welfare/utilitarian/datainput.gms index d09cc1160..05ba0e18c 100644 --- a/modules/02_welfare/utilitarian/datainput.gms +++ b/modules/02_welfare/utilitarian/datainput.gms @@ -11,15 +11,15 @@ pm_welf("2060") = 0.9; *RP* 2012-03-06: Inconvenience costs on seprod $IFTHEN.INCONV %cm_INCONV_PENALTY% == "on" -p02_inconvpen_lap(ttot,regi,"coaltr")$(ttot.val ge 2005) = 0.5; !! In dollar per GJ seprod at 1.000$/cap GDP, or 10$/GJ at 10.000$_GDP/cap -p02_inconvpen_lap(ttot,regi,"biotr")$(ttot.val ge 2005) = 1.0; !! In dollar per GJ seprod -p02_inconvpen_lap(ttot,regi,"biotrmod")$(ttot.val ge 2005) = 0.25; !! In dollar per GJ seprod. Biotrmod is a mix of wood stoves and automated wood pellets for heating, which has lower air pollution and other discomfort effects +p02_inconvpen_lap(ttot,regi,"coaltr")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.5; !! In dollar per GJ seprod at 1.000$/cap GDP, or 10$/GJ at 10.000$_GDP/cap +p02_inconvpen_lap(ttot,regi,"biotr")$(ttot.val ge 2005) = s_D2005_2_D2017 * 1.0; !! In dollar per GJ seprod +p02_inconvpen_lap(ttot,regi,"biotrmod")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.25; !! In dollar per GJ seprod. Biotrmod is a mix of wood stoves and automated wood pellets for heating, which has lower air pollution and other discomfort effects *' Transformation of coal to liquids/gases/H2 brings local pollution, which is less accepted at higher incomes -> use the inconvenience cost channel -p02_inconvpen_lap(ttot,regi,"coalftrec")$(ttot.val ge 2005) = 0.9; !! In dollar per GJ seprod -p02_inconvpen_lap(ttot,regi,"coalftcrec")$(ttot.val ge 2005) = 0.9; !! equivalent to 4$/GJ at 40.000$_GDP/cap, or 10$/GJ at 100.000$_GDP/cap -p02_inconvpen_lap(ttot,regi,"coalgas")$(ttot.val ge 2005) = 0.9; !! -p02_inconvpen_lap(ttot,regi,"coalh2")$(ttot.val ge 2005) = 0.9; !! -p02_inconvpen_lap(ttot,regi,"coalh2c")$(ttot.val ge 2005) = 0.9; !! +p02_inconvpen_lap(ttot,regi,"coalftrec")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.9; !! In dollar per GJ seprod +p02_inconvpen_lap(ttot,regi,"coalftcrec")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.9; !! equivalent to 4$/GJ at 40.000$_GDP/cap, or 10$/GJ at 100.000$_GDP/cap +p02_inconvpen_lap(ttot,regi,"coalgas")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.9; +p02_inconvpen_lap(ttot,regi,"coalh2")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.9; +p02_inconvpen_lap(ttot,regi,"coalh2c")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.9; p02_inconvpen_lap(ttot,regi,te)$(ttot.val ge 2005) = p02_inconvpen_lap(ttot,regi,te) * 4.3 * 1E-4; !! this is now equivalent to 1$/GJ at 1000$/per Capita in the welfare logarithm p02_inconvpen_lap(ttot,regi,te)$(ttot.val ge 2005) = p02_inconvpen_lap(ttot,regi,te) * (1/sm_giga_2_non) / sm_GJ_2_TWa; !! conversion util/(GJ/cap) -> util/(TWa/Gcap) *RP* these values are all calculated on seprod level. diff --git a/modules/21_tax/on/datainput.gms b/modules/21_tax/on/datainput.gms index 5b82b6bf1..b8298895b 100644 --- a/modules/21_tax/on/datainput.gms +++ b/modules/21_tax/on/datainput.gms @@ -81,15 +81,15 @@ p21_tau_pe2se_inconv(tall,regi,te) = 0; p21_tau_pe2se_sub(tall,regi,te)= 0; *RP* FILE changed by hand after introduction of SO2 taxes and inconvenience penalties on 2012-03-08 -*GL* Values try to account for excessive water use, further pollution -*GL* Taxes are given in USD(2005) per GJ -p21_tau_pe2se_tax(ttot,regi,"igcc")$(ttot.val ge 2005) = 0.25; -p21_tau_pe2se_tax(ttot,regi,"igccc")$(ttot.val ge 2005) = 0.25; -p21_tau_pe2se_tax(ttot,regi,"coalftrec")$(ttot.val ge 2005) = 1.0; -p21_tau_pe2se_tax(ttot,regi,"coalftcrec")$(ttot.val ge 2005) = 1.0; -p21_tau_pe2se_tax(ttot,regi,"coalh2")$(ttot.val ge 2005) = 0.5; -p21_tau_pe2se_tax(ttot,regi,"coalh2c")$(ttot.val ge 2005) = 0.5; -p21_tau_pe2se_tax(ttot,regi,"coalgas")$(ttot.val ge 2005) = 0.5; +*** Values try to account for excessive water use, further pollution +*** Taxes are given in USD(2005) and converted to USD(2017) per GJ +p21_tau_pe2se_tax(ttot,regi,"igcc")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.25; +p21_tau_pe2se_tax(ttot,regi,"igccc")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.25; +p21_tau_pe2se_tax(ttot,regi,"coalftrec")$(ttot.val ge 2005) = s_D2005_2_D2017 * 1.0; +p21_tau_pe2se_tax(ttot,regi,"coalftcrec")$(ttot.val ge 2005) = s_D2005_2_D2017 * 1.0; +p21_tau_pe2se_tax(ttot,regi,"coalh2")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.5; +p21_tau_pe2se_tax(ttot,regi,"coalh2c")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.5; +p21_tau_pe2se_tax(ttot,regi,"coalgas")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.5; ***JaS* Introduces inconvenience costs as taxes for the transformation of primary to secondary energy types ***JaS* Taxes are given in USD(2005) per GJ diff --git a/modules/37_industry/subsectors/datainput.gms b/modules/37_industry/subsectors/datainput.gms index fed832bfd..fb32981e3 100644 --- a/modules/37_industry/subsectors/datainput.gms +++ b/modules/37_industry/subsectors/datainput.gms @@ -657,13 +657,13 @@ $endif.cm_subsec_model_steel p37_priceMat(all_enty) = 0.; $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" !! IEA STeel Roadmap Fig 1.3 Caption: Scrap price 200-300 $/t -!! => take 250 $/t, inflation 2005 --> 2020 / 1.33 -p37_priceMat("eafscrap") = 0.188; -p37_priceMat("bofscrap") = 0.188; -!! Agora KSV-Rechner: 114 €/tSteel / (1.4 2005$/2023€) / (tn$ /bn t) -p37_priceMat("ironore") = 0.081; -!! Agora KSV-Rechner: 154 €/tSteel / (1.4 2005$/2023€) / (tn$ /bn t) -p37_priceMat("dripell") = 0.110; +!! => take 250 $/t, unit 2020$US +p37_priceMat("eafscrap") = s_D2020_2_D2017 * 0.250 ; +p37_priceMat("bofscrap") = s_D2020_2_D2017 * 0.250; +!! Agora KSV-Rechner: 114 €2023/tSteel / (tn$ /bn t) +p37_priceMat("ironore") = s_EURO2023_2_D2017 * 0.114; +!! Agora KSV-Rechner: 154 €2023/tSteel / (tn$ /bn t) +p37_priceMat("dripell") = s_EURO2023_2_D2017 * 0.154; $endif.cm_subsec_model_steel *** -------------------------------- diff --git a/modules/37_industry/subsectors/declarations.gms b/modules/37_industry/subsectors/declarations.gms index 03be8b55a..9897d3637 100644 --- a/modules/37_industry/subsectors/declarations.gms +++ b/modules/37_industry/subsectors/declarations.gms @@ -31,7 +31,7 @@ Parameters p37_mat2ue(all_enty,all_in) "Contribution of process output to ue in CES tree [Gt/Gt]. Trivial if just one material per UE, as in steel" p37_captureRate(all_te) "Capture rate of CCS technology" p37_selfCaptureRate(all_te) "Share of emissions from fossil fuels used for a CCS process which are captured by the CCS process itself" - p37_priceMat(all_enty) "Prices of external material input [2005$/kg] = [trn2005$/Gt]" + p37_priceMat(all_enty) "Prices of external material input [US$/kg] = [trn$US/Gt]" p37_chemicals_feedstock_share(ttot,all_regi) "minimum share of feso/feli/fega in total chemicals FE input [0-1]" p37_FeedstockCarbonContent(ttot,all_regi,all_enty) "carbon content of feedstocks [GtC/TWa]" From ab814588b9dc04730dcf419ec28ca4894d91fee4 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Fri, 17 May 2024 08:56:23 +0200 Subject: [PATCH 022/875] convert p35_esCapCost, exogenousFEprices and exogenousPEprices from US$2005 to US$2017 --- core/presolve.gms | 8 ++++---- modules/35_transport/edge_esm/presolve.gms | 3 ++- modules/47_regipol/regiCarbonPrice/datainput.gms | 6 ++++-- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/core/presolve.gms b/core/presolve.gms index 312c3f52a..2973ef3db 100644 --- a/core/presolve.gms +++ b/core/presolve.gms @@ -346,8 +346,8 @@ p_macLevFree(ttot,regi,enty)$( ttot.val gt 2005 ) $IFTHEN.scaleEmiHist %c_scaleEmiHistorical% == "on" -**p_macLevFree(ttot,regi,emiMacMagpie(enty))=0; -* Set minimum abatment levels based on historical emissions +*** p_macLevFree(ttot,regi,emiMacMagpie(enty))=0; +*** Set minimum abatment levels based on historical emissions p_macLevFree("2010",regi,enty)$(p_histEmiSector("2005",regi,"ch4","agriculture","process") AND (sameas(enty,"ch4rice") OR sameas(enty,"ch4animals") OR sameas(enty,"ch4anmlwst"))) = max( 0, 1 - (p_histEmiSector("2010",regi,"ch4","agriculture","process")+p_histEmiSector("2010",regi,"ch4","lulucf","process"))/(p_histEmiSector("2005",regi,"ch4","agriculture","process")+p_histEmiSector("2005",regi,"ch4","lulucf","process"))); p_macLevFree(ttot,regi,enty)$((ttot.val ge 2015) AND p_histEmiSector("2005",regi,"ch4","agriculture","process") AND (sameas(enty,"ch4rice") OR sameas(enty,"ch4animals") OR sameas(enty,"ch4anmlwst"))) = max( 0, 1 - (p_histEmiSector("2015",regi,"ch4","agriculture","process")+p_histEmiSector("2015",regi,"ch4","lulucf","process"))/(p_histEmiSector("2005",regi,"ch4","agriculture","process")+p_histEmiSector("2005",regi,"ch4","lulucf","process")) ); p_macLevFree("2010",regi,enty)$(p_histEmiSector("2005",regi,"ch4","agriculture","process") AND (sameas(enty,"n2ofertin") OR sameas(enty,"n2ofertcr") OR sameas(enty,"n2oanwstc") OR sameas(enty,"n2oanwstm") OR sameas(enty,"n2oanwstp"))) = max( 0, 1 - (p_histEmiSector("2010",regi,"n2o","agriculture","process")+p_histEmiSector("2010",regi,"n2o","lulucf","process"))/(p_histEmiSector("2005",regi,"n2o","agriculture","process")+p_histEmiSector("2005",regi,"n2o","lulucf","process")) ); @@ -373,7 +373,7 @@ pm_macAbatLev(ttot,regi,enty)$( ttot.val gt 2015 ) pm_macAbat(ttot,regi,enty,steps) ), p_macLevFree(ttot,regi,enty) - ); + ); pm_macAbatLev("2015",regi,"co2luc") = 0; pm_macAbatLev("2020",regi,"co2luc") = 0; @@ -391,7 +391,7 @@ loop (ttot$( ttot.val ge 2015 ), Display "computed abatement levels at carbon price", pm_macAbatLev; - + ***-------------------------------------- *** MAC costs ***-------------------------------------- diff --git a/modules/35_transport/edge_esm/presolve.gms b/modules/35_transport/edge_esm/presolve.gms index e5b7a1ae0..e084e5676 100644 --- a/modules/35_transport/edge_esm/presolve.gms +++ b/modules/35_transport/edge_esm/presolve.gms @@ -13,7 +13,8 @@ if( (ord(iteration) le 25 and ord(iteration) ge cm_startIter_EDGET and (mod(ord( Execute "Rscript -e 'edgeTransport::toolIterativeEDGETransport()'"; Execute_Loadpoint 'p35_esCapCost' p35_esCapCost; - pm_esCapCost(t,regi,teEs_dyn35)$(t.val gt 2010 AND t.val ge cm_startyear AND t.val le 2100) = p35_esCapCost(t,regi,"%cm_GDPscen%","%cm_demScen%","%cm_EDGEtr_scen%",teEs_dyn35); + !! convert transport costs from US$2005 to US$2017 + pm_esCapCost(t,regi,teEs_dyn35)$(t.val gt 2010 AND t.val ge cm_startyear AND t.val le 2100) = s_D2005_2_D2017 * p35_esCapCost(t,regi,"%cm_GDPscen%","%cm_demScen%","%cm_EDGEtr_scen%",teEs_dyn35); !! load FE-to-ES results from EDGE-Transport into auxilliary parameter Execute_Loadpoint "p35_fe2es", p35_fe2es_aux = p35_fe2es; diff --git a/modules/47_regipol/regiCarbonPrice/datainput.gms b/modules/47_regipol/regiCarbonPrice/datainput.gms index d07bec00c..77f195875 100644 --- a/modules/47_regipol/regiCarbonPrice/datainput.gms +++ b/modules/47_regipol/regiCarbonPrice/datainput.gms @@ -140,7 +140,8 @@ $offdelim loop((t,ext_regi,entyFe,entySe,sector)$f47_implicitPriceTarget("%cm_implicitPriceTarget%",ext_regi,entyFe,entySe,sector,t), loop(regi$regi_groupExt(ext_regi,regi), - pm_implicitPriceTarget(t,regi,entyFe,entySe,sector)=f47_implicitPriceTarget("%cm_implicitPriceTarget%",ext_regi,entyFe,entySe,sector,t)*sm_DpGJ_2_TDpTWa; + !! convert data from US$2005 to US$2017 + pm_implicitPriceTarget(t,regi,entyFe,entySe,sector) = s_D2005_2_D2017 * f47_implicitPriceTarget("%cm_implicitPriceTarget%",ext_regi,entyFe,entySe,sector,t)*sm_DpGJ_2_TDpTWa; ); ); @@ -174,7 +175,8 @@ $offdelim loop((t,ext_regi,entyPe)$f47_implicitPePriceTarget("%cm_implicitPePriceTarget%",ext_regi,entyPe,t), loop(regi$regi_groupExt(ext_regi,regi), - pm_implicitPePriceTarget(t,regi,entyPe)=f47_implicitPePriceTarget("%cm_implicitPePriceTarget%",ext_regi,entyPe,t)*sm_DpGJ_2_TDpTWa; + !! convert data from US$2005 to US$2017 + pm_implicitPePriceTarget(t,regi,entyPe) = s_D2005_2_D2017 * f47_implicitPePriceTarget("%cm_implicitPePriceTarget%",ext_regi,entyPe,t)*sm_DpGJ_2_TDpTWa; ); ); From 8abc5acf69120b49d0423b7994a5b6d7ca61f4a4 Mon Sep 17 00:00:00 2001 From: amerfort Date: Fri, 24 May 2024 11:59:11 +0200 Subject: [PATCH 023/875] remove DEU 2030 CCS limit that is no longer needed --- modules/47_regipol/regiCarbonPrice/bounds.gms | 4 ---- 1 file changed, 4 deletions(-) diff --git a/modules/47_regipol/regiCarbonPrice/bounds.gms b/modules/47_regipol/regiCarbonPrice/bounds.gms index 2c0d70083..476ced096 100644 --- a/modules/47_regipol/regiCarbonPrice/bounds.gms +++ b/modules/47_regipol/regiCarbonPrice/bounds.gms @@ -49,10 +49,6 @@ vm_capEarlyReti.up('2025',regi,'pc') = 0.65; *' 5 GW * 8760 (hours per year) * 0.5 (capacity factor) / 0.4 (conversion efficiency) * 1e-3 * 0.35 MtCO2/TWh (emissions factor coal) ~ 20 Mt CO2/yr. vm_capTotal.lo("2030",regi,"pecoal","seel")$(sameas(regi,"DEU"))=5/1000; - -*' This limits CO2 underground injection up to 2030 in line with recent developments as of 2023. -vm_co2CCS.up(t,regi,"cco2","ico2",te,rlf)$((t.val le 2030) AND (sameas(regi,"DEU"))) = 1e-3; - *' ###### Bounds for Germany-specific Policies (activated by switches) *' If c_noPeFosCCDeu = 1 chosen, fossil CCS for energy system technologies (pe2se) is forbidden. From 55967eff1d96b032fd03f4f1232e8d6bd0089b50 Mon Sep 17 00:00:00 2001 From: amerfort Date: Fri, 24 May 2024 12:13:04 +0200 Subject: [PATCH 024/875] reduce 2030 CCS upper bound to 40% of announced projects per default, changable with switch --- core/bounds.gms | 9 +++------ main.gms | 7 +++++++ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/core/bounds.gms b/core/bounds.gms index f0a67fc34..85b281d96 100755 --- a/core/bounds.gms +++ b/core/bounds.gms @@ -393,7 +393,7 @@ $endif *** ------------------------------------------------------------------------------------------------------------- *AM* No geological storage before 2025 (omitting approx. 40 MtCCS/yr globally in 2020 for Enhanced Oil Recovery) *AM* Lower limit for 2025 and 2030 is capacities of all projects that are operational and under construction from project data base -*AM* Upper limit for 2025 and 2030 additionally includes announced/planned projects from project data base +*AM* Upper limit for 2025 and 2030 additionally includes 40% (default, or changed by c_SharenonFIDCCS2030) announced/planned projects from project data base *AM* In nash-mode regions cannot easily share ressources, therefore CCS potentials are redistributed in Europe: *AM* Potential of EU27 regions is pooled and redistributed according to GDP (Only upper limit for 2030) *AM* Norway and UK announced to store CO2 for EU27 countries. So 50% of Norway and UK potential in 2030 is attributed to EU27-Pool @@ -401,11 +401,8 @@ $endif *** ------------------------------------------------------------------------------------------------------------- if ( c_ccsinjecratescen gt 0, - vm_co2CCS.up(ttot,regi,"cco2","ico2","ccsinje","1")$(ttot.val ge 2005 AND ttot.val lt 2025) = 0; - vm_co2CCS.up("2025",regi,"cco2","ico2","ccsinje","1") = pm_boundCapCCS("2025",regi,"up")/(1000*11/3); - vm_co2CCS.up("2030",regi,"cco2","ico2","ccsinje","1") = pm_boundCapCCS("2030",regi,"up")/(1000*11/3); - vm_co2CCS.lo("2025",regi,"cco2","ico2","ccsinje","1") = pm_boundCapCCS("2025",regi,"low")/(1000*11/3); - vm_co2CCS.lo("2030",regi,"cco2","ico2","ccsinje","1") = pm_boundCapCCS("2030",regi,"low")/(1000*11/3); + vm_co2CCS.lo(t,regi,"cco2","ico2","ccsinje","1")$(t.val le 2030) = pm_boundCapCCS(t,regi,"low")$(t.val le 2030) / (1000*11/3); + vm_co2CCS.up(t,regi,"cco2","ico2","ccsinje","1")$(t.val le 2030) = (pm_boundCapCCS(t,regi,"low")$(t.val le 2030) + (pm_boundCapCCS(t,regi,"up")$(t.val le 2030) - pm_boundCapCCS(t,regi,"low")$(t.val le 2030)) * c_SharenonFIDCCS2030) / (1000*11/3); ); loop(regi, diff --git a/main.gms b/main.gms index 1e9513699..e4fdeee3f 100755 --- a/main.gms +++ b/main.gms @@ -1091,6 +1091,13 @@ parameter *' * (0) none *' * (1) no fossil carbon and capture in Germany *' + +parameter + c_SharenonFIDCCS2030 "switch to adjust the share of announced CCS projects from database that will be realised by 2030" +; + c_SharenonFIDCCS2030 = 0.4; !! def = 0.4 +*' This switch changes the assumption about the share of realised projects from announced/planned in 2030 from the IEA CCS data base + parameter cm_startIter_EDGET "starting iteration of EDGE-T" ; From ddb2642f3f454de2d8440c2fd1c58c49c25c0ee6 Mon Sep 17 00:00:00 2001 From: Chen Gong Date: Sat, 25 May 2024 10:01:38 +0200 Subject: [PATCH 025/875] clean up --- core/input/generisdata_tech.prn | 4 ++-- main.gms | 2 +- modules/32_power/IntC/datainput.gms | 1 - 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/core/input/generisdata_tech.prn b/core/input/generisdata_tech.prn index 198c05f04..ea9a3aa22 100644 --- a/core/input/generisdata_tech.prn +++ b/core/input/generisdata_tech.prn @@ -144,9 +144,9 @@ mix0 0.00 0.00 0.00 eta 0.74 0.85 0.79 omf 0.02 0.02 0.02 lifetime 25 25 25 -incolearn 7590 2090 1800 +incolearn 5440 2090 1800 ccap0 0.00005 0.00005 0.00005 -learn 0.15 0.15 0.15 +learn 0.10 0.10 0.10 + gridspv gridwind gridcsp inco0 2400 720 3120 diff --git a/main.gms b/main.gms index 53cf1f88d..f77d86d33 100755 --- a/main.gms +++ b/main.gms @@ -1343,7 +1343,7 @@ $setglobal cm_techcosts REG !! def = REG !! regexp = REG|REG2040|GLO *** (default) uniform floor cost (almost no regional differentiation) *** (pricestruc) regionally differentiated floor costs, the differentiated costs have the same ratio between regions as the ratio between 2020 tech cost values *** (techtrans) regionally differentiated floor costs, which are the universal global floor costs in the default case time the MER PPP price ratios. new floor cost = MER/PPP * old floor cost -$setglobal cm_floorCostScen techtrans !! def = default +$setglobal cm_floorCostScen default !! def = default *** cfg$gms$cm_EDGEtr_scen "the EDGE-T scenario" # def <- "Mix1". For calibration runs: Mix1. Mix2, Mix3, Mix4 also available - numbers after the "mix" denote policy strength, with 1 corresponding roughly to Baseline/NPI, 2= NDC, 3= Budg1500, 4 = Budg800 *** The following descriptions are based on scenario results for EUR in 2050 unless specified otherwise. *** Whenever we give numbers, please be aware that they are just there to estimate the ballpark. diff --git a/modules/32_power/IntC/datainput.gms b/modules/32_power/IntC/datainput.gms index a7f120de8..452771b86 100644 --- a/modules/32_power/IntC/datainput.gms +++ b/modules/32_power/IntC/datainput.gms @@ -44,7 +44,6 @@ f32_factorStorage(all_regi,"windoff") = f32_factorStorage(all_regi,"wind"); f32_factorStorage(all_regi,"wind") = 1.35 * f32_factorStorage(all_regi,"wind"); $ENDIF.WindOff p32_factorStorage(all_regi,all_te) = f32_factorStorage(all_regi,all_te); -p32_factorStorage(all_regi,"spv") = f32_factorStorage(all_regi,"spv") *1.3; $if not "%cm_storageFactor%" == "off" p32_factorStorage(all_regi,all_te)=%cm_storageFactor%*p32_factorStorage(all_regi,all_te); From 3c95ee3cf4c79eb3d2572f0b57f5bbae3a398f95 Mon Sep 17 00:00:00 2001 From: johannah-pik <89136160+johannah-pik@users.noreply.github.com> Date: Sun, 26 May 2024 09:46:41 +0200 Subject: [PATCH 026/875] changes to REMIND for new edgeT version --- config/default.cfg | 18 +++++++----------- .../29_CES_parameters/calibrate/datainput.gms | 2 +- modules/35_transport/edge_esm/datainput.gms | 4 ++-- modules/35_transport/edge_esm/output.gms | 2 +- scripts/output/single/reporting.R | 4 ++-- 5 files changed, 13 insertions(+), 17 deletions(-) diff --git a/config/default.cfg b/config/default.cfg index 4126ea0b3..114da43a0 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -138,17 +138,13 @@ cfg$files2export$start <- c("config/conopt3.opt", "modules/11_aerosols/exoGAINS/input/emi_gains.cs4r", "modules/11_aerosols/exoGAINS/input/mappingGAINSmixedtoREMIND17activities.csv", "modules/11_aerosols/exoGAINS/input/mappingGAINStoREMINDsectors.csv", - "modules/35_transport/edge_esm/input/mapping_CESnodes_EDGE.csv", - "modules/35_transport/edge_esm/input/mapping_EDGE_REMIND_transport_categories.csv", - "modules/35_transport/edge_esm/input/value_time.cs4r", - "modules/35_transport/edge_esm/input/pref.cs4r", - "modules/35_transport/edge_esm/input/logit_exponent.cs4r", - "modules/35_transport/edge_esm/input/annual_mileage.cs4r", - "modules/35_transport/edge_esm/input/harmonized_intensities.cs4r", - "modules/35_transport/edge_esm/input/UCD_NEC_iso.cs4r", - "modules/35_transport/edge_esm/input/price_nonmot.cs4r", - "modules/35_transport/edge_esm/input/loadFactor.cs4r", - "modules/35_transport/edge_esm/input/ptab4W.cs4r") + "modules/35_transport/edge_esm/input/CAPEXandNonFuelOPEX.cs4r", + "modules/35_transport/edge_esm/input/scenSpecPrefTrends.cs4r", + "modules/35_transport/edge_esm/input/scenSpecLoadFactor.cs4r", + "modules/35_transport/edge_esm/input/scenSpecEnIntensity.cs4r", + "modules/35_transport/edge_esm/input/initialIncoCosts.cs4r", + "modules/35_transport/edge_esm/input/annualMileage.cs4r", + "modules/35_transport/edge_esm/input/timeValueCosts.cs4r") # Files that should be copied after the REMIND run is finished cfg$files2export$end <- NULL diff --git a/modules/29_CES_parameters/calibrate/datainput.gms b/modules/29_CES_parameters/calibrate/datainput.gms index 592435b90..410bf1ec0 100644 --- a/modules/29_CES_parameters/calibrate/datainput.gms +++ b/modules/29_CES_parameters/calibrate/datainput.gms @@ -147,7 +147,7 @@ Parameter p29_trpdemand "transport demand" / $ondelim -$include "./modules/29_CES_parameters/calibrate/input/pm_trp_demand.cs4r" +$include "./modules/29_CES_parameters/calibrate/input/f29_trpdemand.cs4r" $offdelim / diff --git a/modules/35_transport/edge_esm/datainput.gms b/modules/35_transport/edge_esm/datainput.gms index e33ebd55c..77c0da4eb 100644 --- a/modules/35_transport/edge_esm/datainput.gms +++ b/modules/35_transport/edge_esm/datainput.gms @@ -33,14 +33,14 @@ $offdelim p35_fe2es(tall,all_regi,all_GDPscen,all_demScen,EDGE_scenario_all,all_teEs) "Aggregate energy efficiency of transport fuel technologies [trn pkm/Twa or trn tkm/Twa]" / $ondelim -$include "./modules/35_transport/edge_esm/input/fe2es.cs4r" +$include "./modules/35_transport/edge_esm/input/f35_fe2es.cs4r" $offdelim / p35_demByTech(tall,all_regi,all_GDPscen,all_demScen,EDGE_scenario_all,all_enty,all_in,all_teEs) "Aggregate FE Demand per transport fuel technology [TWa]" / $ondelim -$include "./modules/35_transport/edge_esm/input/fe_demand_tech.cs4r" +$include "./modules/35_transport/edge_esm/input/p35_demByTech.cs4r" $offdelim / diff --git a/modules/35_transport/edge_esm/output.gms b/modules/35_transport/edge_esm/output.gms index 6ff8ee72e..73cd20641 100644 --- a/modules/35_transport/edge_esm/output.gms +++ b/modules/35_transport/edge_esm/output.gms @@ -7,7 +7,7 @@ *** SOF ./modules/35_transport/edge_esm/output.gms $ifthen.calibrate %CES_parameters% == "load" - Execute "Rscript -e 'edgeTransport::toolIterativeEDGETransport(reporting=TRUE)'"; + Execute "Rscript -e 'edgeTransport::toolIterativeEDGETransport()'"; $endif.calibrate *** EOF ./modules/35_transport/edge_esm/output.gms diff --git a/scripts/output/single/reporting.R b/scripts/output/single/reporting.R index 8eeb4f186..faa9d6ee8 100644 --- a/scripts/output/single/reporting.R +++ b/scripts/output/single/reporting.R @@ -75,10 +75,10 @@ edgetOutputDir <- file.path(outputdir, "EDGE-T") if(file.exists(edgetOutputDir)) { if (! file.exists(file.path(edgetOutputDir, "demandF_plot_pkm.RDS"))) { message("EDGE-T reporting files are missing, probably because the run was killed.") - message("Rerunning toolIterativeEDGETransport(reporting = TRUE).") + message("Rerunning toolIterativeEDGETransport().") savewd <- getwd() setwd(outputdir) - edgeTransport::toolIterativeEDGETransport(reporting = TRUE) + edgeTransport::toolIterativeEDGETransport() setwd(savewd) } message("start generation of EDGE-T reporting") From 53b739ea0fc8a0f7bba8ab800e06dcf5b5bb80bb Mon Sep 17 00:00:00 2001 From: amerfort <72214099+amerfort@users.noreply.github.com> Date: Tue, 28 May 2024 19:33:33 +0200 Subject: [PATCH 027/875] Rename switch for clarity --- main.gms | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/main.gms b/main.gms index e4fdeee3f..6b6da26ff 100755 --- a/main.gms +++ b/main.gms @@ -1093,10 +1093,11 @@ parameter *' parameter - c_SharenonFIDCCS2030 "switch to adjust the share of announced CCS projects from database that will be realised by 2030" + c_sharemaxCCScap2030 "switch to adjust the share of realised CCS capacities from total announced/planned projects from database in 2030" ; - c_SharenonFIDCCS2030 = 0.4; !! def = 0.4 -*' This switch changes the assumption about the share of realised projects from announced/planned in 2030 from the IEA CCS data base + c_sharemaxCCScap2030 = 0.4; !! def = 0.4 +*' This switch changes the assumption about the share of timely realised capacities from sum of announced/planned in 2030 from the IEA CCS data base +*' Default assumption is that only 40% of announced or planned capacities will be realised, either due to discontinuation or delay parameter cm_startIter_EDGET "starting iteration of EDGE-T" From 3a604d87addc391103bb2b4a1dcf9bfd7fc35217 Mon Sep 17 00:00:00 2001 From: amerfort <72214099+amerfort@users.noreply.github.com> Date: Tue, 28 May 2024 19:39:03 +0200 Subject: [PATCH 028/875] Update to new switch name --- core/bounds.gms | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/bounds.gms b/core/bounds.gms index 85b281d96..212362621 100755 --- a/core/bounds.gms +++ b/core/bounds.gms @@ -393,7 +393,7 @@ $endif *** ------------------------------------------------------------------------------------------------------------- *AM* No geological storage before 2025 (omitting approx. 40 MtCCS/yr globally in 2020 for Enhanced Oil Recovery) *AM* Lower limit for 2025 and 2030 is capacities of all projects that are operational and under construction from project data base -*AM* Upper limit for 2025 and 2030 additionally includes 40% (default, or changed by c_SharenonFIDCCS2030) announced/planned projects from project data base +*AM* Upper limit for 2025 and 2030 additionally includes 40% (default, or changed by c_sharemaxCCScap2030) announced/planned projects from project data base *AM* In nash-mode regions cannot easily share ressources, therefore CCS potentials are redistributed in Europe: *AM* Potential of EU27 regions is pooled and redistributed according to GDP (Only upper limit for 2030) *AM* Norway and UK announced to store CO2 for EU27 countries. So 50% of Norway and UK potential in 2030 is attributed to EU27-Pool @@ -402,7 +402,7 @@ $endif if ( c_ccsinjecratescen gt 0, vm_co2CCS.lo(t,regi,"cco2","ico2","ccsinje","1")$(t.val le 2030) = pm_boundCapCCS(t,regi,"low")$(t.val le 2030) / (1000*11/3); - vm_co2CCS.up(t,regi,"cco2","ico2","ccsinje","1")$(t.val le 2030) = (pm_boundCapCCS(t,regi,"low")$(t.val le 2030) + (pm_boundCapCCS(t,regi,"up")$(t.val le 2030) - pm_boundCapCCS(t,regi,"low")$(t.val le 2030)) * c_SharenonFIDCCS2030) / (1000*11/3); + vm_co2CCS.up(t,regi,"cco2","ico2","ccsinje","1")$(t.val le 2030) = (pm_boundCapCCS(t,regi,"low")$(t.val le 2030) + (pm_boundCapCCS(t,regi,"up")$(t.val le 2030) - pm_boundCapCCS(t,regi,"low")$(t.val le 2030)) * c_sharemaxCCScap2030) / (1000*11/3); ); loop(regi, From 55b63e1ebf5c3dfe3ae06477168458d3d056bddc Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Fri, 31 May 2024 09:34:10 +0200 Subject: [PATCH 029/875] delete p21_tau_xpres_tax, reorder core/datainput.gms to have teh right conversion factor for inco0 --- core/datainput.gms | 79 +++++++++++++----------------- modules/21_tax/on/datainput.gms | 15 +----- modules/21_tax/on/declarations.gms | 4 -- modules/21_tax/on/equations.gms | 9 ---- modules/21_tax/on/input/files | 2 +- modules/21_tax/on/postsolve.gms | 2 - modules/21_tax/on/presolve.gms | 1 - 7 files changed, 37 insertions(+), 75 deletions(-) diff --git a/core/datainput.gms b/core/datainput.gms index 7f68b1b76..249d0d7fc 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -6,13 +6,13 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./core/datainput.gms -*AJS* technical. initialize parameters so that they are read from gdx +*** technical. initialize parameters so that they are read from gdx vm_co2eq.l(ttot,regi) = 0; vm_emiAll.l(ttot,regi,enty) = 0; vm_emiCO2Sector.l(ttot,all_regi,emi_sectors) = 0; -*AJS* initialize parameter (avoid compilation errors) +*** initialize parameter (avoid compilation errors) *** do this at the start of datainput to prevent accidental overwriting pm_SolNonInfes(regi) = 1; !! assume the starting point came from a feasible solution pm_capCum0(ttot,regi,teLearn)$( (ttot.val ge 2005) and (pm_SolNonInfes(regi) eq 1)) = 0; @@ -21,7 +21,7 @@ pm_globalMeanTemperature(tall) = 0; pm_globalMeanTemperatureZeroed1900(tall) = 0; pm_temperatureImpulseResponseCO2(tall,tall) = 0; -*AL* Initialise to avoid compilation errors in presolve if variable not in input.gdx +*** Initialise to avoid compilation errors in presolve if variable not in input.gdx vm_demFeForEs.L(t,regi,entyFe,esty,teEs) = 0; vm_demFeForEs.L(t,regi,fe2es(entyFe,esty,teEs)) = 0.1; @@ -41,14 +41,12 @@ pm_dt("1900") = 5; pm_dt(ttot)$(ttot.val > 1900) = ttot.val - pm_ttot_val(ttot-1); display pm_ts, pm_dt; - loop(ttot, loop(tall$((ttot.val le tall.val) AND (pm_ttot_val(ttot+1) ge tall.val)), pm_interpolWeight_ttot_tall(tall) = ( p_tall_val(tall) - pm_ttot_val(ttot) ) / ( pm_ttot_val(ttot+1) - pm_ttot_val(ttot) ); ); ); - pm_tall_2_ttot(tall, ttot)$((ttot.val lt tall.val) AND (pm_ttot_val(ttot+1) gt tall.val)) = Yes; pm_ttot_2_tall(ttot,tall)$((ttot.val = tall.val) ) = Yes; @@ -105,14 +103,12 @@ $offdelim ; p_developmentState(tall,all_regi) = f_developmentState(tall,all_regi,"%c_GDPpcScen%"); - *** Load information from BAU run Execute_Loadpoint 'input' vm_cesIO, vm_invMacro; pm_gdp_gdx(ttot,regi) = vm_cesIO.l(ttot,regi,"inco"); p_inv_gdx(ttot,regi) = vm_invMacro.l(ttot,regi,"kap"); - *------------------------------------------------------------------------------------ *------------------------------------------------------------------------------------ *** ESM @@ -132,10 +128,10 @@ pm_shGasLiq_fe_lo(ttot,regi,sector)=0; *------------------------------------------------------------------------------------ -*** Technology data input read-in and manipulation +*** Technology data input read-in and manipulation START *------------------------------------------------------------------------------------ -*** Note: future to be its own module perhaps -*** Note: in module 5 there are more cost manipulation after initial capacities are calculated, be aware those can overwrite your technology values for policy runs if you set them here in the core +*** In module 5 there are more cost manipulation after initial capacities are calculated, +*** be aware those can overwrite your technology values for policy runs if you set them here in the core ***--------------------------------------------------------------------------- *** Reading in and initializing global data ***--------------------------------------------------------------------------- @@ -145,8 +141,9 @@ $include "./core/input/generisdata_tech.prn" $include "./core/input/generisdata_trade.prn" ; -*** CG warning: some of the SSP1 and SSP5 costs are not consistent with the story line (e.g. under SSP1 blue H2 and some fossil fuel CCS technologies have lower costs than in SSP2). This is to be fixed in the future when new SSP storylines are implemented, unclear when (29-1-2024). In the future, SSP1 and SSP5 data should be implemented as switches to avoid errors -*JH* SSP energy technology scenario +*** CG warning: some of the SSP1 and SSP5 costs are not consistent with the story line (e.g. under SSP1 blue H2 and some fossil fuel CCS technologies have lower costs than in SSP2). +*** This is to be fixed in the future when new SSP storylines are implemented, unclear when (29-1-2024). +*** In the future, SSP1 and SSP5 data should be implemented as switches to avoid errors table f_dataglob_SSP1(char,all_te) "Techno-economic assumptions consistent with SSP1" $include "./core/input/generisdata_tech_SSP1.prn" $include "./core/input/generisdata_trade.prn" @@ -157,7 +154,7 @@ $include "./core/input/generisdata_trade.prn" ; $ifthen.WindOff %cm_wind_offshore% == "1" -*CG* set wind offshore, storage and grid to be the same as wind onshore (later should be integrated into input data) +*** set wind offshore, storage and grid to be the same as wind onshore (later should be integrated into input data) *** main difference between onshore and offshore is the difference in f32_factorStorage fm_dataglob(char,"storwindoff") = fm_dataglob(char,"storwind"); fm_dataglob(char,"gridwindoff") = fm_dataglob(char,"gridwind"); @@ -167,17 +164,6 @@ f_dataglob_SSP5(char,"storwindoff") = f_dataglob_SSP5(char,"storwind"); f_dataglob_SSP5(char,"gridwindoff") = f_dataglob_SSP5(char,"gridwind"); $endif.WindOff -***--------------------------------------------------------------------------- -*** Reading in and initializing regional cost data -***--------------------------------------------------------------------------- -parameter p_inco0(ttot,all_regi,all_te) "regionalized technology costs Unit: USD$/KW" -/ -$ondelim -$include "./core/input/p_inco0.cs4r" -$offdelim -/ -; - *** initializing energy service capital pm_esCapCost(tall,all_regi,all_teEs) = 0; @@ -221,7 +207,7 @@ $endif.WindOff display fm_dataglob; -*TD* ccsinje cost scenarios +*** ccsinje cost scenarios *** low estimate: ccsinje cost prior to 03/2024; i.e. ~11 USD/tCO2 in 2025, decreasing to ~7.5USD/tCO2 as of 2035 $if "%cm_ccsinjeCost%" == "low" fm_dataglob("tech_stat","ccsinje") = 2; $if "%cm_ccsinjeCost%" == "low" fm_dataglob("inco0","ccsinje") = 220; @@ -232,21 +218,31 @@ $if "%cm_ccsinjeCost%" == "high" fm_dataglob("inco0","ccsinje") = 550; *** Manipulating global or regional cost technology data - relative value ***--------------------------------------------------------------------------- *** Overwrite default technology cost parameter values based on specific scenario configs -$if not "%cm_incolearn%" == "off" parameter p_new_incolearn(all_te) / %cm_incolearn% /; -$if not "%cm_incolearn%" == "off" fm_dataglob("incolearn",te)$p_new_incolearn(te)=p_new_incolearn(te); -$if not "%cm_inco0Factor%" == "off" parameter p_new_inco0Factor(all_te) / %cm_inco0Factor% /; -$if not "%cm_inco0Factor%" == "off" fm_dataglob("inco0",te)$p_new_inco0Factor(te)=p_new_inco0Factor(te)*fm_dataglob("inco0",te); -$if not "%cm_inco0RegiFactor%" == "off" parameter p_new_inco0RegiFactor(all_te) / %cm_inco0RegiFactor% /; -$if not "%cm_inco0RegiFactor%" == "off" p_inco0(ttot,regi,te)$(p_inco0(ttot,regi,te) and p_new_inco0RegiFactor(te)) = p_new_inco0RegiFactor(te)*p_inco0(ttot,regi,te); -$if not "%cm_learnRate%" == "off" parameter p_new_learnRate(all_te) / %cm_learnRate% /; -$if not "%cm_learnRate%" == "off" fm_dataglob("learn",te)$p_new_learnRate(te)=p_new_learnRate(te); - +$if not "%cm_incolearn%" == "off" parameter p_new_incolearn(all_te) / %cm_incolearn% /; +$if not "%cm_incolearn%" == "off" fm_dataglob("incolearn",te)$p_new_incolearn(te) = p_new_incolearn(te); +$if not "%cm_inco0Factor%" == "off" parameter p_new_inco0Factor(all_te) / %cm_inco0Factor% /; +$if not "%cm_inco0Factor%" == "off" fm_dataglob("inco0",te)$p_new_inco0Factor(te) = p_new_inco0Factor(te)*fm_dataglob("inco0",te); +$if not "%cm_learnRate%" == "off" parameter p_new_learnRate(all_te) / %cm_learnRate% /; +$if not "%cm_learnRate%" == "off" fm_dataglob("learn",te)$p_new_learnRate(te)=p_new_learnRate(te); *** generisdata_tech is in $2015. Needs to be converted to $2017 fm_dataglob("inco0",te) = s_D2015_2_D2017 * fm_dataglob("inco0",te); fm_dataglob("incolearn",te) = s_D2015_2_D2017 * fm_dataglob("incolearn",te); fm_dataglob("omv",te) = s_D2015_2_D2017 * fm_dataglob("omv",te); -p_inco0(ttot,regi,te) = s_D2015_2_D2017 * p_inco0(ttot,regi,te); + +***--------------------------------------------------------------------------- +*** Reading in and initializing regional cost data +***--------------------------------------------------------------------------- +parameter p_inco0(ttot,all_regi,all_te) "regionalized technology costs Unit: USD$/KW" +/ +$ondelim +$include "./core/input/p_inco0.cs4r" +$offdelim +/ +; + +$if not "%cm_inco0RegiFactor%" == "off" parameter p_new_inco0RegiFactor(all_te) / %cm_inco0RegiFactor% /; +$if not "%cm_inco0RegiFactor%" == "off" p_inco0(ttot,regi,te)$(p_inco0(ttot,regi,te) and p_new_inco0RegiFactor(te)) = p_new_inco0RegiFactor(te)*p_inco0(ttot,regi,te); *** inco0 (and incolearn) are given in $/kW (or $/(tC/a) for ccs-related tech or $/(t/a) for process-based industry) *** convert to REMIND units, i.e., T$/TW (or T$/(GtC/a) for ccs-related tech or T$/(Gt/a) for process-based industry) @@ -261,7 +257,6 @@ p_inco0(ttot,regi,te) = s_DpKW_2_TDpTW * p_inco0(ttot,regi, fm_dataglob("inco0","csp") = 0.7 * fm_dataglob("inco0","csp"); fm_dataglob("incolearn","csp") = 0.7 * fm_dataglob("incolearn","csp"); - *** -------------------------------------------------------------------------------- *** Regionalize technology investment cost data *** ------------------------------------------------------------------------------- @@ -298,7 +293,6 @@ $endif ) ); - *** nuclear sees 3% higher interest rates during construction time due to higher construction time risk, see "The economic future of nuclear power - A study conducted at The University of Chicago" (2004) loop(te$sameas(te,"tnrs"), p_tkpremused(regi,te) = 1/fm_dataglob("constrTme",te) @@ -313,7 +307,6 @@ $endif display p_tkpremused; *** modify regionalized cost data using cost premium during construction time - pm_data(regi,"inco0",te) = (1 + p_tkpremused(regi,te) ) * pm_data(regi,"inco0",te); pm_data(regi,"incolearn",te) = (1 + p_tkpremused(regi,te) ) * pm_data(regi,"incolearn",te); p_inco0(ttot,regi,teRegTechCosts) = (1 + p_tkpremused(regi,teRegTechCosts) ) * p_inco0(ttot,regi,teRegTechCosts); @@ -324,7 +317,6 @@ fm_dataglob("inco0",te) = (1 + sum(regi, p_tkpremused(regi,te))/sum(regi, *** calculate default floor costs for learning technologies pm_data(regi,"floorcost",teLearn(te)) = pm_data(regi,"inco0",te) - pm_data(regi,"incolearn",te); - *** In case regionally differentiated investment costs should be used the corresponding entries are revised: $ifthen.REG_techcosts not "%cm_techcosts%" == "GLO" !! cm_techcosts is REG or REG2040 pm_data(regi,"inco0",teRegTechCosts) = p_inco0("2015",regi,teRegTechCosts); @@ -405,7 +397,7 @@ loop (teNoLearn(te), ); display pm_inco0_t; -*FL* regional differentiation and convergence of non-learning technologies costs +*** regional differentiation and convergence of non-learning technologies costs $ifthen.REG2040_techcosts "%cm_techcosts%" == "REG2040" !! cm_techcosts REG2040 *** for 2015-2040, use differentiated costs when available for a specific non-learning technology loop(te$( teNoLearn(te) AND teRegTechCosts(te) ), @@ -450,10 +442,9 @@ $ifthen.REG_techcosts "%cm_techcosts%" == "REG" !! cm_techcosts REG ); $endif.REG_techcosts - -***------------------------------------------------------------------------------------ -*** END of Technology cost data input read-in and manipulation in core -***------------------------------------------------------------------------------------ +*------------------------------------------------------------------------------------ +*** Technology data input read-in and manipulation END +*------------------------------------------------------------------------------------ *** Note: in modules/05_initialCap/on/preloop.gms, there are additional adjustment to investment *** cost in the near term due to calibration of historical energy conversion efficiencies based on *** initial capacities diff --git a/modules/21_tax/on/datainput.gms b/modules/21_tax/on/datainput.gms index 592a77667..ed4b375ee 100644 --- a/modules/21_tax/on/datainput.gms +++ b/modules/21_tax/on/datainput.gms @@ -104,20 +104,7 @@ $ifThen.SEtaxRampUpParam not "%cm_SEtaxRampUpParam%" == "off" ); $endif.SEtaxRampUpParam -***cb 20110923 load paths for ressource export taxes -***cb* file for resource export taxes, not used in default settings -Parameter p21_tau_xpres_tax(tall,all_regi,all_enty) "tax path for ressource export" - / -$ondelim -$include "./modules/21_tax/on/input/p21_tau_xpres_tax.cs4r" -$offdelim - / ; -*** converted to T$/TWyr -p21_tau_xpres_tax(ttot,regi,"peoil")$(ttot.val ge 2005) = p21_tau_xpres_tax(ttot,regi,"peoil") * sm_DpGJ_2_TDpTWa; -*LB* use 0 for all regions as default -p21_tau_xpres_tax(ttot,regi,all_enty) = 0; - -*JeS for SO2 tax case: tax path in 10^12$/TgS (= 10^6 $/t S) @ GDP/cap of 1000$/cap (value gets scaled by GDP/cap) +***JeS for SO2 tax case: tax path in 10^12$/TgS (= 10^6 $/t S) @ GDP/cap of 1000$/cap (value gets scaled by GDP/cap) if((cm_so2tax_scen eq 0), s21_so2_tax_2010=0.0; elseif(cm_so2tax_scen eq 1), diff --git a/modules/21_tax/on/declarations.gms b/modules/21_tax/on/declarations.gms index 60b55d066..5e0bbc789 100644 --- a/modules/21_tax/on/declarations.gms +++ b/modules/21_tax/on/declarations.gms @@ -31,7 +31,6 @@ p21_taxrevFE0(ttot,all_regi) "reference level va p21_taxrevCES0(ttot,all_regi,all_in) "reference level value of ces production tax" p21_taxrevResEx0(ttot,all_regi) "reference level value of resource extraction tax" p21_taxrevPE2SE0(ttot,all_regi) "reference level value of pe2se technologies tax" -p21_taxrevXport0(ttot,all_regi) "reference level value of exports tax" p21_taxrevSO20(ttot,all_regi) "reference level value of SO2 tax" p21_taxrevBio0(ttot,all_regi) "reference level value of bioenergy tax" p21_implicitDiscRate0(ttot,all_regi) "reference level value of implicit tax on energy efficient capital" @@ -49,7 +48,6 @@ p21_taxrevFE_iter(iteration,ttot,all_regi) "reference level valu p21_taxrevCES_iter(iteration,ttot,all_regi,all_in) "reference level value of ces production tax revenue" p21_taxrevResEx_iter(iteration,ttot,all_regi) "reference level value of resource extraction tax revenue" p21_taxrevPE2SE_iter(iteration,ttot,all_regi) "reference level value of pe2se technologies tax revenue" -p21_taxrevXport_iter(iteration,ttot,all_regi) "reference level value of exports tax revenue" p21_taxrevSO2_iter(iteration,ttot,all_regi) "reference level value of SO2 tax revenue" p21_taxrevBio_iter(iteration,ttot,all_regi) "reference level value of bioenergy tax revenue" p21_implicitDiscRate_iter(iteration,ttot,all_regi) "reference level value of implicit tax on energy efficient capital" @@ -116,7 +114,6 @@ v21_taxrevFE(ttot,all_regi) "tax on final energy (?)" v21_taxrevCES(ttot,all_regi,all_in) "tax on ces production function" v21_taxrevResEx(ttot,all_regi) "tax on resource extraction (?)" v21_taxrevPE2SE(ttot,all_regi) "tax on pe2se technologies (?)" -v21_taxrevXport(ttot,all_regi) "tax on exports (?)" v21_taxrevSO2(ttot,all_regi) "tax on SO2 (to reflect health impacts)" v21_taxrevBio(ttot,all_regi) "tax on bioenergy (to reflect sustainability constraints on bioenergy production)" v21_taxrevFlex(ttot,all_regi) "tax on technologies with flexible or inflexible electricity input" @@ -147,7 +144,6 @@ q21_taxrevFE(ttot,all_regi) "calculation of tax on final ene q21_taxrevCES(ttot,all_regi,all_in) "calculation of tax on ces production function" q21_taxrevResEx(ttot,all_regi) "calculation of tax on resource extraction" q21_taxrevPE2SE(ttot,all_regi) "calculation of tax on pe2se technologies" -q21_taxrevXport(ttot,all_regi) "calculation of tax on exports" q21_taxrevSO2(ttot,all_regi) "calculation of tax on SO2" q21_taxrevBio(ttot,all_regi) "calculation of tax on bioenergy" q21_taxrevFlex(ttot,all_regi) "tax on technologies with flexible or inflexible electricity input" diff --git a/modules/21_tax/on/equations.gms b/modules/21_tax/on/equations.gms index ed3d6ac74..60d1fc56b 100644 --- a/modules/21_tax/on/equations.gms +++ b/modules/21_tax/on/equations.gms @@ -43,7 +43,6 @@ q21_taxrev(t,regi)$(t.val ge max(2010,cm_startyear)).. + sum(in, v21_taxrevCES(t,regi,in)) + v21_taxrevResEx(t,regi) + v21_taxrevPE2SE(t,regi) - + v21_taxrevXport(t,regi) + v21_taxrevSO2(t,regi) + v21_taxrevBio(t,regi) - vm_costSubsidizeLearning(t,regi) @@ -191,14 +190,6 @@ v21_taxrevPE2SE(t,regi) ) - p21_taxrevPE2SE0(t,regi); -***--------------------------------------------------------------------------- -*' Calculation of export taxes: tax rate times export volume -*' Documentation of overall tax approach is above at q21_taxrev. -***--------------------------------------------------------------------------- -q21_taxrevXport(t,regi)$(t.val ge max(2010,cm_startyear)).. -v21_taxrevXport(t,regi) =e= SUM(tradePe(enty), p21_tau_xpres_tax(t,regi,enty) * vm_Xport(t,regi,enty)) - - p21_taxrevXport0(t,regi); - ***--------------------------------------------------------------------------- *' Calculation of so2 tax: tax rate times emissions *' Documentation of overall tax approach is above at q21_taxrev. diff --git a/modules/21_tax/on/input/files b/modules/21_tax/on/input/files index 14cf390f2..5bb4a6ad7 100644 --- a/modules/21_tax/on/input/files +++ b/modules/21_tax/on/input/files @@ -5,4 +5,4 @@ f21_prop_fe_sub.cs4r f21_tau_pe_sub.cs4r f21_max_pe_sub.cs4r f21_tax_convergence.cs4r -p21_tau_xpres_tax.cs4r + diff --git a/modules/21_tax/on/postsolve.gms b/modules/21_tax/on/postsolve.gms index 9b8fdd88d..7ef30a442 100644 --- a/modules/21_tax/on/postsolve.gms +++ b/modules/21_tax/on/postsolve.gms @@ -41,7 +41,6 @@ p21_taxrevCES0(ttot,regi,in) = pm_tau_ces_tax(ttot,regi,in) * vm_cesIO.l(ttot,re p21_taxrevPE2SE0(ttot,regi) = sum(pe2se(enty,enty2,te), (p21_tau_pe2se_tax(ttot,regi,te) + p21_tau_pe2se_sub(ttot,regi,te)) * vm_prodSe.l(ttot,regi,enty,enty2,te) ); -p21_taxrevXport0(ttot,regi) = sum(tradePe(enty), p21_tau_xpres_tax(ttot,regi,enty) * vm_Xport.l(ttot,regi,enty)); p21_taxrevSO20(ttot,regi) = p21_tau_so2_tax(ttot,regi) * vm_emiTe.l(ttot,regi,"so2"); p21_taxrevBio0(ttot,regi) = v21_tau_bio.l(ttot) * vm_pebiolc_price.l(ttot,regi) * vm_fuExtr.l(ttot,regi,"pebiolc","1") + p21_bio_EF(ttot,regi) * pm_taxCO2eq(ttot,regi) * (vm_fuExtr.l(ttot,regi,"pebiolc","1") - (vm_Xport.l(ttot,regi,"pebiolc")-vm_Mport.l(ttot,regi,"pebiolc"))); @@ -72,7 +71,6 @@ p21_taxrevResEx_iter(iteration+1,ttot,regi) = v21_taxrevResEx.l(ttot,regi); p21_taxrevPE_iter(iteration+1,ttot,regi,entyPe) = v21_taxrevPE.l(ttot,regi,entyPe); p21_taxrevCES_iter(iteration+1,ttot,regi,in) = v21_taxrevCES.l(ttot,regi,in); p21_taxrevPE2SE_iter(iteration+1,ttot,regi) = v21_taxrevPE2SE.l(ttot,regi); -p21_taxrevXport_iter(iteration+1,ttot,regi) = v21_taxrevXport.l(ttot,regi); p21_taxrevSO2_iter(iteration+1,ttot,regi) = v21_taxrevSO2.l(ttot,regi); p21_taxrevBio_iter(iteration+1,ttot,regi) = v21_taxrevBio.l(ttot,regi); p21_implicitDiscRate_iter(iteration+1,ttot,regi) = v21_implicitDiscRate.l(ttot,regi); diff --git a/modules/21_tax/on/presolve.gms b/modules/21_tax/on/presolve.gms index 885c9a3a2..ddb3cd2c5 100644 --- a/modules/21_tax/on/presolve.gms +++ b/modules/21_tax/on/presolve.gms @@ -40,7 +40,6 @@ p21_taxrevCES0(ttot,regi,in) = pm_tau_ces_tax(ttot,regi,in) * vm_cesIO.l(ttot,re p21_taxrevPE2SE0(ttot,regi) = sum(pe2se(enty,enty2,te), (p21_tau_pe2se_tax(ttot,regi,te) + p21_tau_pe2se_sub(ttot,regi,te)) * vm_prodSe.l(ttot,regi,enty,enty2,te) ); -p21_taxrevXport0(ttot,regi) = sum(tradePe(enty), p21_tau_xpres_tax(ttot,regi,enty) * vm_Xport.l(ttot,regi,enty)); p21_taxrevSO20(ttot,regi) = p21_tau_so2_tax(ttot,regi) * vm_emiTe.l(ttot,regi,"so2"); p21_taxrevBio0(ttot,regi) = v21_tau_bio.l(ttot) * vm_pebiolc_price.l(ttot,regi) * vm_fuExtr.l(ttot,regi,"pebiolc","1") + p21_bio_EF(ttot,regi) * pm_taxCO2eq(ttot,regi) * (vm_fuExtr.l(ttot,regi,"pebiolc","1") - (vm_Xport.l(ttot,regi,"pebiolc")-vm_Mport.l(ttot,regi,"pebiolc"))); From d95219c6b4bf105c2a9e645c7234265ffba3875b Mon Sep 17 00:00:00 2001 From: Johanna Hoppe Date: Thu, 6 Jun 2024 11:18:43 +0200 Subject: [PATCH 030/875] Update edgeTransport scenarios --- config/default.cfg | 2 +- modules/35_transport/edge_esm/sets.gms | 19 +- renv.lock | 4405 ++++++++++++++++++++++++ 3 files changed, 4411 insertions(+), 15 deletions(-) create mode 100644 renv.lock diff --git a/config/default.cfg b/config/default.cfg index 114da43a0..810afce57 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -27,7 +27,7 @@ cfg$regionmapping <- "config/regionmappingH12.csv" ### Additional (optional) region mapping, so that those validation data can be loaded that contain the corresponding additional regions. cfg$extramappings_historic <- "" #### Current input data revision (.) #### -cfg$inputRevision <- "6.75" +cfg$inputRevision <- "rev6.76edgeTransportReloaded" #### Current CES parameter and GDX revision (commit hash) #### cfg$CESandGDXversion <- "57279476db7f09f9eee8717b0fff8b1fa3436b67" diff --git a/modules/35_transport/edge_esm/sets.gms b/modules/35_transport/edge_esm/sets.gms index 8438861ce..2638bcf80 100644 --- a/modules/35_transport/edge_esm/sets.gms +++ b/modules/35_transport/edge_esm/sets.gms @@ -118,24 +118,15 @@ ces_transport_dyn35(all_in,all_in) "CES tree structure - edge transport" EDGE_scenario_all "EDGE-T scenarios" / -ConvCase -ConvCaseWise -ElecEra -ElecEraWise -HydrHype -HydrHype4 -HydrHypeWise -Mix -MixWise -Mix1Wise -Mix2Wise -Mix3Wise -Mix4Wise Mix1 +Mix1ICEban Mix2 +Mix2ICEban Mix3 +Mix3ICEban Mix4 -PhOP +Mix4ICEban +HydrHype4 ECEMF_HighEl_HighEff ECEMF_HighEl_ModEff ECEMF_HighEl_LifestCha diff --git a/renv.lock b/renv.lock new file mode 100644 index 000000000..67636dfdd --- /dev/null +++ b/renv.lock @@ -0,0 +1,4405 @@ +{ + "R": { + "Version": "4.1.2", + "Repositories": [ + { + "Name": "CRAN", + "URL": "https://cran.rstudio.com" + }, + { + "Name": "pik", + "URL": "https://rse.pik-potsdam.de/r/packages" + } + ] + }, + "Packages": { + "DBI": { + "Package": "DBI", + "Version": "1.2.2", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "164809cd72e1d5160b4cb3aa57f510fe", + "Requirements": [] + }, + "Formula": { + "Package": "Formula", + "Version": "1.2-5", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "7a29697b75e027767a53fde6c903eca7", + "Requirements": [] + }, + "GDPuc": { + "Package": "GDPuc", + "Version": "1.0.0", + "Source": "Repository", + "Repository": "https://rse.pik-potsdam.de/r/packages", + "RemoteUrl": "git@github.com:pik-piam/GDPuc", + "RemoteRef": "HEAD", + "RemoteSha": "c05803ffe22f857ac7fafa704a06e0f55e359aa0", + "Hash": "5bcbd02df44da7426438b26dd63dfb01", + "Requirements": [ + "cli", + "crayon", + "dplyr", + "glue", + "lifecycle", + "magrittr", + "rlang", + "tibble", + "tidyr", + "tidyselect", + "withr" + ] + }, + "Hmisc": { + "Package": "Hmisc", + "Version": "5.1-1", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "27c7750992bc511728e2f9ebd2911199", + "Requirements": [ + "Formula", + "base64enc", + "cluster", + "colorspace", + "data.table", + "foreign", + "ggplot2", + "gridExtra", + "gtable", + "htmlTable", + "htmltools", + "knitr", + "nnet", + "rmarkdown", + "rpart", + "viridis" + ] + }, + "KernSmooth": { + "Package": "KernSmooth", + "Version": "2.23-20", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "8dcfa99b14c296bc9f1fd64d52fd3ce7", + "Requirements": [] + }, + "Lmoments": { + "Package": "Lmoments", + "Version": "1.3-1", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "Lmoments", + "RemoteRef": "Lmoments", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.3-1", + "Hash": "bc6d8022f00e5a1724b97d29295f4715", + "Requirements": [ + "Rcpp", + "RcppArmadillo" + ] + }, + "MASS": { + "Package": "MASS", + "Version": "7.3-60.0.1", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "b765b28387acc8ec9e9c1530713cb19c", + "Requirements": [] + }, + "Matrix": { + "Package": "Matrix", + "Version": "1.6-5", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "8c7115cd3a0e048bda2a7cd110549f7a", + "Requirements": [ + "lattice" + ] + }, + "MatrixModels": { + "Package": "MatrixModels", + "Version": "0.5-3", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "0776bf7526869e0286b0463cb72fb211", + "Requirements": [ + "Matrix" + ] + }, + "R.methodsS3": { + "Package": "R.methodsS3", + "Version": "1.8.2", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "R.methodsS3", + "RemoteRef": "R.methodsS3", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.8.2", + "Hash": "278c286fd6e9e75d0c2e8f731ea445c8", + "Requirements": [] + }, + "R.oo": { + "Package": "R.oo", + "Version": "1.26.0", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "4fed809e53ddb5407b3da3d0f572e591", + "Requirements": [ + "R.methodsS3" + ] + }, + "R.utils": { + "Package": "R.utils", + "Version": "2.12.3", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "3dc2829b790254bfba21e60965787651", + "Requirements": [ + "R.methodsS3", + "R.oo" + ] + }, + "R6": { + "Package": "R6", + "Version": "2.5.1", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "R6", + "RemoteRef": "R6", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "2.5.1", + "Hash": "470851b6d5d0ac559e9d01bb352b4021", + "Requirements": [] + }, + "RColorBrewer": { + "Package": "RColorBrewer", + "Version": "1.1-3", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "RColorBrewer", + "RemoteRef": "RColorBrewer", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.1-3", + "Hash": "45f0398006e83a5b10b72a90663d8d8c", + "Requirements": [] + }, + "Rcpp": { + "Package": "Rcpp", + "Version": "1.0.11", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "ae6cbbe1492f4de79c45fce06f967ce8", + "Requirements": [] + }, + "RcppArmadillo": { + "Package": "RcppArmadillo", + "Version": "0.12.8.2.1", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "RcppArmadillo", + "RemoteRef": "RcppArmadillo", + "RemoteRepos": "https://cran.rstudio.com", + "RemoteReposName": "CRAN", + "RemotePkgPlatform": "source", + "RemoteSha": "0.12.8.2.1", + "Hash": "d5448fb24fb114c4da1275a37a571f37", + "Requirements": [ + "Rcpp" + ] + }, + "RcppEigen": { + "Package": "RcppEigen", + "Version": "0.3.4.0.0", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "df49e3306f232ec28f1604e36a202847", + "Requirements": [ + "Rcpp" + ] + }, + "RcppProgress": { + "Package": "RcppProgress", + "Version": "0.4.2", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "RcppProgress", + "RemoteRef": "RcppProgress", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.4.2", + "Hash": "1c0aa18b97e6aaa17f93b8b866c0ace5", + "Requirements": [] + }, + "RcppTOML": { + "Package": "RcppTOML", + "Version": "0.2.2", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "c232938949fcd8126034419cc529333a", + "Requirements": [ + "Rcpp" + ] + }, + "SPEI": { + "Package": "SPEI", + "Version": "1.8.1", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "45d4dd94bcdfe9c7a6c95e2d35c792ee", + "Requirements": [ + "TLMoments", + "checkmate", + "ggplot2", + "lmom", + "lmomco", + "lubridate", + "reshape", + "zoo" + ] + }, + "SparseM": { + "Package": "SparseM", + "Version": "1.81", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "SparseM", + "RemoteRef": "SparseM", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.81", + "Hash": "2042cd9759cc89a453c4aefef0ce9aae", + "Requirements": [] + }, + "TLMoments": { + "Package": "TLMoments", + "Version": "0.7.5.3", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "TLMoments", + "RemoteRef": "TLMoments", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.7.5.3", + "Hash": "097b94d554eaa84c48ad0016abecd7f3", + "Requirements": [ + "Rcpp", + "ggplot2", + "hypergeo", + "lmomco" + ] + }, + "abind": { + "Package": "abind", + "Version": "1.4-5", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "abind", + "RemoteRef": "abind", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.4-5", + "Hash": "4f57884290cc75ab22f4af9e9d4ca862", + "Requirements": [] + }, + "askpass": { + "Package": "askpass", + "Version": "1.2.0", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "cad6cf7f1d5f6e906700b9d3e718c796", + "Requirements": [ + "sys" + ] + }, + "assertr": { + "Package": "assertr", + "Version": "3.0.1", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "dd34511e88d11c95e80f8d9bb0606e79", + "Requirements": [ + "MASS", + "dplyr", + "rlang" + ] + }, + "assertthat": { + "Package": "assertthat", + "Version": "0.2.1", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "assertthat", + "RemoteRef": "assertthat", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.2.1", + "Hash": "50c838a310445e954bc13f26f26a6ecf", + "Requirements": [] + }, + "backports": { + "Package": "backports", + "Version": "1.4.1", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "backports", + "RemoteRef": "backports", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.4.1", + "Hash": "c39fbec8a30d23e721980b8afb31984c", + "Requirements": [] + }, + "base64enc": { + "Package": "base64enc", + "Version": "0.1-3", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "base64enc", + "RemoteRef": "base64enc", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.1-3", + "Hash": "543776ae6848fde2f48ff3816d0628bc", + "Requirements": [] + }, + "bit": { + "Package": "bit", + "Version": "4.0.5", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "bit", + "RemoteRef": "bit", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "4.0.5", + "Hash": "d242abec29412ce988848d0294b208fd", + "Requirements": [] + }, + "bit64": { + "Package": "bit64", + "Version": "4.0.5", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "bit64", + "RemoteRef": "bit64", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "4.0.5", + "Hash": "9fe98599ca456d6552421db0d6772d8f", + "Requirements": [ + "bit" + ] + }, + "blob": { + "Package": "blob", + "Version": "1.2.4", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "40415719b5a479b87949f3aa0aee737c", + "Requirements": [ + "rlang", + "vctrs" + ] + }, + "boot": { + "Package": "boot", + "Version": "1.3-30", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "96abeed416a286d4a0f52e550b612343", + "Requirements": [] + }, + "brew": { + "Package": "brew", + "Version": "1.0-10", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "8f4a384e19dccd8c65356dc096847b76", + "Requirements": [] + }, + "brio": { + "Package": "brio", + "Version": "1.1.5", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "brio", + "RemoteRef": "brio", + "RemoteRepos": "https://cran.rstudio.com", + "RemoteReposName": "CRAN", + "RemotePkgPlatform": "source", + "RemoteSha": "1.1.5", + "Hash": "c1ee497a6d999947c2c224ae46799b1a", + "Requirements": [] + }, + "broom": { + "Package": "broom", + "Version": "1.0.5", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "fd25391c3c4f6ecf0fa95f1e6d15378c", + "Requirements": [ + "backports", + "dplyr", + "ellipsis", + "generics", + "glue", + "lifecycle", + "purrr", + "rlang", + "stringr", + "tibble", + "tidyr" + ] + }, + "bslib": { + "Package": "bslib", + "Version": "0.7.0", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "bslib", + "RemoteRef": "bslib", + "RemoteRepos": "https://cran.rstudio.com", + "RemoteReposName": "CRAN", + "RemotePkgPlatform": "source", + "RemoteSha": "0.7.0", + "Hash": "8644cc53f43828f19133548195d7e59e", + "Requirements": [ + "base64enc", + "cachem", + "fastmap", + "htmltools", + "jquerylib", + "jsonlite", + "lifecycle", + "memoise", + "mime", + "rlang", + "sass" + ] + }, + "cachem": { + "Package": "cachem", + "Version": "1.0.8", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "c35768291560ce302c0a6589f92e837d", + "Requirements": [ + "fastmap", + "rlang" + ] + }, + "callr": { + "Package": "callr", + "Version": "3.7.6", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "callr", + "RemoteRef": "callr", + "RemoteRepos": "https://cran.rstudio.com", + "RemoteReposName": "CRAN", + "RemotePkgPlatform": "source", + "RemoteSha": "3.7.6", + "Hash": "d7e13f49c19103ece9e58ad2d83a7354", + "Requirements": [ + "R6", + "processx" + ] + }, + "car": { + "Package": "car", + "Version": "3.1-2", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "839b351f31d56e0147439eb22c00a66a", + "Requirements": [ + "MASS", + "abind", + "carData", + "lme4", + "mgcv", + "nlme", + "nnet", + "pbkrtest", + "quantreg", + "scales" + ] + }, + "carData": { + "Package": "carData", + "Version": "3.0-5", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "carData", + "RemoteRef": "carData", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "3.0-5", + "Hash": "ac6cdb8552c61bd36b0e54d07cf2aab7", + "Requirements": [] + }, + "cellranger": { + "Package": "cellranger", + "Version": "1.1.0", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "cellranger", + "RemoteRef": "cellranger", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.1.0", + "Hash": "f61dbaec772ccd2e17705c1e872e9e7c", + "Requirements": [ + "rematch", + "tibble" + ] + }, + "checkmate": { + "Package": "checkmate", + "Version": "2.3.0", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "ed4275b13c6ab74b89a31def0b6bf835", + "Requirements": [ + "backports" + ] + }, + "citation": { + "Package": "citation", + "Version": "0.11.2", + "Source": "Repository", + "Repository": "https://rse.pik-potsdam.de/r/packages", + "RemoteType": "standard", + "RemotePkgRef": "citation", + "RemoteRef": "citation", + "RemoteRepos": "https://rse.pik-potsdam.de/r/packages", + "RemoteReposName": "pik", + "RemotePkgPlatform": "source", + "RemoteSha": "0.11.2", + "Hash": "dba4e8bad32706ac93aa611a7ccd32ad", + "Requirements": [ + "desc", + "jsonlite", + "withr", + "yaml" + ] + }, + "class": { + "Package": "class", + "Version": "7.3-22", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "f91f6b29f38b8c280f2b9477787d4bb2", + "Requirements": [ + "MASS" + ] + }, + "cli": { + "Package": "cli", + "Version": "3.6.2", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "1216ac65ac55ec0058a6f75d7ca0fd52", + "Requirements": [] + }, + "clipr": { + "Package": "clipr", + "Version": "0.8.0", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "clipr", + "RemoteRef": "clipr", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.8.0", + "Hash": "3f038e5ac7f41d4ac41ce658c85e3042", + "Requirements": [] + }, + "cluster": { + "Package": "cluster", + "Version": "2.1.6", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "0aaa05204035dc43ea0004b9c76611dd", + "Requirements": [] + }, + "codetools": { + "Package": "codetools", + "Version": "0.2-18", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "019388fc48e48b3da0d3a76ff94608a8", + "Requirements": [] + }, + "colorspace": { + "Package": "colorspace", + "Version": "2.1-0", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "colorspace", + "RemoteRef": "colorspace", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "2.1-0", + "Hash": "f20c47fd52fae58b4e377c37bb8c335b", + "Requirements": [] + }, + "commonmark": { + "Package": "commonmark", + "Version": "1.9.0", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "d691c61bff84bd63c383874d2d0c3307", + "Requirements": [] + }, + "conflicted": { + "Package": "conflicted", + "Version": "1.2.0", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "bb097fccb22d156624fd07cd2894ddb6", + "Requirements": [ + "cli", + "memoise", + "rlang" + ] + }, + "contfrac": { + "Package": "contfrac", + "Version": "1.1-12", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "contfrac", + "RemoteRef": "contfrac", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.1-12", + "Hash": "57120b229b87ba5206eb33c5b6f04f75", + "Requirements": [] + }, + "countrycode": { + "Package": "countrycode", + "Version": "1.5.0", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "bbc5ab5258e5ddf38f2cd2c5a7afa860", + "Requirements": [] + }, + "cpp11": { + "Package": "cpp11", + "Version": "0.4.7", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "5a295d7d963cc5035284dcdbaf334f4e", + "Requirements": [] + }, + "crayon": { + "Package": "crayon", + "Version": "1.5.2", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "crayon", + "RemoteRef": "crayon", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.5.2", + "Hash": "e8a1e41acf02548751f45c718d55aa6a", + "Requirements": [] + }, + "credentials": { + "Package": "credentials", + "Version": "2.0.1", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "c7844b32098dcbd1c59cbd8dddb4ecc6", + "Requirements": [ + "askpass", + "curl", + "jsonlite", + "openssl", + "sys" + ] + }, + "crosstalk": { + "Package": "crosstalk", + "Version": "1.2.1", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "ab12c7b080a57475248a30f4db6298c0", + "Requirements": [ + "R6", + "htmltools", + "jsonlite", + "lazyeval" + ] + }, + "curl": { + "Package": "curl", + "Version": "5.2.1", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "411ca2c03b1ce5f548345d2fc2685f7a", + "Requirements": [] + }, + "cyclocomp": { + "Package": "cyclocomp", + "Version": "1.1.1", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "cdc4a473222b0112d4df0bcfbed12d44", + "Requirements": [ + "callr", + "crayon", + "desc", + "remotes", + "withr" + ] + }, + "data.table": { + "Package": "data.table", + "Version": "1.14.8", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "b4c06e554f33344e044ccd7fdca750a9", + "Requirements": [] + }, + "dbplyr": { + "Package": "dbplyr", + "Version": "2.5.0", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "dbplyr", + "RemoteRef": "dbplyr", + "RemoteRepos": "https://cran.rstudio.com", + "RemoteReposName": "CRAN", + "RemotePkgPlatform": "source", + "RemoteSha": "2.5.0", + "Hash": "39b2e002522bfd258039ee4e889e0fd1", + "Requirements": [ + "DBI", + "R6", + "blob", + "cli", + "dplyr", + "glue", + "lifecycle", + "magrittr", + "pillar", + "purrr", + "rlang", + "tibble", + "tidyr", + "tidyselect", + "vctrs", + "withr" + ] + }, + "deSolve": { + "Package": "deSolve", + "Version": "1.40", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "0a861334beb4eb8ca0d24a27b28b6679", + "Requirements": [] + }, + "desc": { + "Package": "desc", + "Version": "1.4.3", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "99b79fcbd6c4d1ce087f5c5c758b384f", + "Requirements": [ + "R6", + "cli" + ] + }, + "devtools": { + "Package": "devtools", + "Version": "2.4.5", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "devtools", + "RemoteRef": "devtools", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "2.4.5", + "Hash": "ea5bc8b4a6a01e4f12d98b58329930bb", + "Requirements": [ + "cli", + "desc", + "ellipsis", + "fs", + "lifecycle", + "memoise", + "miniUI", + "pkgbuild", + "pkgdown", + "pkgload", + "profvis", + "rcmdcheck", + "remotes", + "rlang", + "roxygen2", + "rversions", + "sessioninfo", + "testthat", + "urlchecker", + "usethis", + "withr" + ] + }, + "diffobj": { + "Package": "diffobj", + "Version": "0.3.5", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "diffobj", + "RemoteRef": "diffobj", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.3.5", + "Hash": "bcaa8b95f8d7d01a5dedfd959ce88ab8", + "Requirements": [ + "crayon" + ] + }, + "digest": { + "Package": "digest", + "Version": "0.6.35", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "698ece7ba5a4fa4559e3d537e7ec3d31", + "Requirements": [] + }, + "doParallel": { + "Package": "doParallel", + "Version": "1.0.17", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "doParallel", + "RemoteRef": "doParallel", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.0.17", + "Hash": "451e5edf411987991ab6a5410c45011f", + "Requirements": [ + "foreach", + "iterators" + ] + }, + "dotCall64": { + "Package": "dotCall64", + "Version": "1.1-1", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "80f374ef8500fcdc5d84a0345b837227", + "Requirements": [] + }, + "downlit": { + "Package": "downlit", + "Version": "0.4.3", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "14fa1f248b60ed67e1f5418391a17b14", + "Requirements": [ + "brio", + "desc", + "digest", + "evaluate", + "fansi", + "memoise", + "rlang", + "vctrs", + "withr", + "yaml" + ] + }, + "dplyr": { + "Package": "dplyr", + "Version": "1.1.4", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "fedd9d00c2944ff00a0e2696ccf048ec", + "Requirements": [ + "R6", + "cli", + "generics", + "glue", + "lifecycle", + "magrittr", + "pillar", + "rlang", + "tibble", + "tidyselect", + "vctrs" + ] + }, + "dtplyr": { + "Package": "dtplyr", + "Version": "1.3.1", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "54ed3ea01b11e81a86544faaecfef8e2", + "Requirements": [ + "cli", + "data.table", + "dplyr", + "glue", + "lifecycle", + "rlang", + "tibble", + "tidyselect", + "vctrs" + ] + }, + "edgeTransport": { + "Package": "edgeTransport", + "Version": "1.5.5.9007", + "Source": "Local", + "RemoteType": "local", + "RemoteUrl": "/p/projects/edget/Refactoring/lib/edgeTransport", + "Hash": "39bc45874366f5dfb4ca67e29b979191", + "Requirements": [ + "data.table", + "gdx", + "gdxrrw", + "madrat", + "magclass", + "magrittr", + "rmndt", + "rootSolve", + "zoo" + ] + }, + "ellipsis": { + "Package": "ellipsis", + "Version": "0.3.2", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "ellipsis", + "RemoteRef": "ellipsis", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.3.2", + "Hash": "bb0eec2fe32e88d9e2836c2f73ea2077", + "Requirements": [ + "rlang" + ] + }, + "elliptic": { + "Package": "elliptic", + "Version": "1.4-0", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "elliptic", + "RemoteRef": "elliptic", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.4-0", + "Hash": "4ad4fc696f70fece9399140246f409f3", + "Requirements": [ + "MASS" + ] + }, + "evaluate": { + "Package": "evaluate", + "Version": "0.23", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "daf4a1246be12c1fa8c7705a0935c1a0", + "Requirements": [] + }, + "fansi": { + "Package": "fansi", + "Version": "1.0.5", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "3e8583a60163b4bc1a80016e63b9959e", + "Requirements": [] + }, + "farver": { + "Package": "farver", + "Version": "2.1.1", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "farver", + "RemoteRef": "farver", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "2.1.1", + "Hash": "8106d78941f34855c440ddb946b8f7a5", + "Requirements": [] + }, + "fastmap": { + "Package": "fastmap", + "Version": "1.1.1", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "f7736a18de97dea803bde0a2daaafb27", + "Requirements": [] + }, + "fields": { + "Package": "fields", + "Version": "15.2", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "66fa5a16464666772f4929f8f5b2fc71", + "Requirements": [ + "maps", + "spam", + "viridisLite" + ] + }, + "filelock": { + "Package": "filelock", + "Version": "1.0.3", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "192053c276525c8495ccfd523aa8f2d1", + "Requirements": [] + }, + "flexdashboard": { + "Package": "flexdashboard", + "Version": "0.6.2", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "c3c5a921ab91cb02845cb287efa7fcff", + "Requirements": [ + "bslib", + "htmltools", + "htmlwidgets", + "jsonlite", + "knitr", + "rmarkdown", + "sass", + "scales", + "shiny" + ] + }, + "fontawesome": { + "Package": "fontawesome", + "Version": "0.5.2", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "c2efdd5f0bcd1ea861c2d4e2a883a67d", + "Requirements": [ + "htmltools", + "rlang" + ] + }, + "forcats": { + "Package": "forcats", + "Version": "1.0.0", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "1a0a9a3d5083d0d573c4214576f1e690", + "Requirements": [ + "cli", + "glue", + "lifecycle", + "magrittr", + "rlang", + "tibble" + ] + }, + "foreach": { + "Package": "foreach", + "Version": "1.5.2", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "foreach", + "RemoteRef": "foreach", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.5.2", + "Hash": "618609b42c9406731ead03adf5379850", + "Requirements": [ + "codetools", + "iterators" + ] + }, + "foreign": { + "Package": "foreign", + "Version": "0.8-86", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "550170303dbb19d07b2bcc288068e7dc", + "Requirements": [] + }, + "fs": { + "Package": "fs", + "Version": "1.6.4", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "15aeb8c27f5ea5161f9f6a641fafd93a", + "Requirements": [] + }, + "gargle": { + "Package": "gargle", + "Version": "1.5.2", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "fc0b272e5847c58cd5da9b20eedbd026", + "Requirements": [ + "cli", + "fs", + "glue", + "httr", + "jsonlite", + "lifecycle", + "openssl", + "rappdirs", + "rlang", + "withr" + ] + }, + "gdx": { + "Package": "gdx", + "Version": "1.53.1", + "Source": "Repository", + "Repository": "https://rse.pik-potsdam.de/r/packages", + "RemoteUrl": "https://github.com/pik-piam/gdx", + "RemoteRef": "HEAD", + "RemoteSha": "3a901f395740f5aa97f41f38acff12fb3ca8eca5", + "Hash": "14cdcbe2f03eea3708e81e5148db450b", + "Requirements": [ + "gdxrrw", + "magclass" + ] + }, + "gdxdt": { + "Package": "gdxdt", + "Version": "0.1.0", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "gdxdt", + "RemoteRef": "gdxdt", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.1.0", + "Hash": "55c045611f78fcee69141fcc061e468e", + "Requirements": [ + "data.table" + ] + }, + "gdxrrw": { + "Package": "gdxrrw", + "Version": "1.0.10", + "Source": "Repository", + "Repository": "https://pik-piam.r-universe.dev", + "RemoteUrl": "https://github.com/GAMS-dev/gdxrrw", + "RemoteRef": "gdxrrw", + "RemoteSha": "1.0.10", + "RemoteType": "standard", + "RemotePkgRef": "gdxrrw", + "RemoteRepos": "https://pik-piam.r-universe.dev", + "RemotePkgPlatform": "source", + "Hash": "881b6eeac3ef2b1af0f039b60cc9370a", + "Requirements": [ + "reshape2" + ] + }, + "generics": { + "Package": "generics", + "Version": "0.1.3", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "generics", + "RemoteRef": "generics", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.1.3", + "Hash": "15e9634c0fcd294799e9b2e929ed1b86", + "Requirements": [] + }, + "geometry": { + "Package": "geometry", + "Version": "0.4.7", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "8e5ba8a115dee2730bab618934db4b85", + "Requirements": [ + "Rcpp", + "RcppProgress", + "linprog", + "lpSolve", + "magic" + ] + }, + "gert": { + "Package": "gert", + "Version": "2.0.0", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "bbbd21a253d473f4671d7dcbd6d8971f", + "Requirements": [ + "askpass", + "credentials", + "openssl", + "rstudioapi", + "sys", + "zip" + ] + }, + "getopt": { + "Package": "getopt", + "Version": "1.20.4", + "Source": "Repository", + "Repository": "RSPM", + "Hash": "ed33b16c6d24f7ced1d68877ac2509ee", + "Requirements": [] + }, + "ggplot2": { + "Package": "ggplot2", + "Version": "3.4.4", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "313d31eff2274ecf4c1d3581db7241f9", + "Requirements": [ + "MASS", + "cli", + "glue", + "gtable", + "isoband", + "lifecycle", + "mgcv", + "rlang", + "scales", + "tibble", + "vctrs", + "withr" + ] + }, + "gh": { + "Package": "gh", + "Version": "1.4.0", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "03533b1c875028233598f848fda44c4c", + "Requirements": [ + "cli", + "gitcreds", + "httr2", + "ini", + "jsonlite", + "rlang" + ] + }, + "gitcreds": { + "Package": "gitcreds", + "Version": "0.1.2", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "gitcreds", + "RemoteRef": "gitcreds", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.1.2", + "Hash": "ab08ac61f3e1be454ae21911eb8bc2fe", + "Requirements": [] + }, + "glue": { + "Package": "glue", + "Version": "1.7.0", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "e0b3a53876554bd45879e596cdb10a52", + "Requirements": [] + }, + "gms": { + "Package": "gms", + "Version": "0.30.9", + "Source": "Repository", + "Repository": "https://rse.pik-potsdam.de/r/packages", + "RemoteUrl": "https://github.com/pik-piam/gms", + "RemoteRef": "HEAD", + "RemoteSha": "7f12aab1c49bf4f6d27d9c14e6b43825fbe3556b", + "Hash": "aa5e72d8c80e54b2572bc5f8e5cd640c", + "Requirements": [ + "dplyr", + "filelock", + "rlang", + "stringr", + "withr", + "yaml" + ] + }, + "goftest": { + "Package": "goftest", + "Version": "1.2-3", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "goftest", + "RemoteRef": "goftest", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.2-3", + "Hash": "dbe0201f91eeb15918dd3fbf01ee689a", + "Requirements": [] + }, + "googledrive": { + "Package": "googledrive", + "Version": "2.1.1", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "e99641edef03e2a5e87f0a0b1fcc97f4", + "Requirements": [ + "cli", + "gargle", + "glue", + "httr", + "jsonlite", + "lifecycle", + "magrittr", + "pillar", + "purrr", + "rlang", + "tibble", + "uuid", + "vctrs", + "withr" + ] + }, + "googlesheets4": { + "Package": "googlesheets4", + "Version": "1.1.1", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "d6db1667059d027da730decdc214b959", + "Requirements": [ + "cellranger", + "cli", + "curl", + "gargle", + "glue", + "googledrive", + "httr", + "ids", + "lifecycle", + "magrittr", + "purrr", + "rematch2", + "rlang", + "tibble", + "vctrs", + "withr" + ] + }, + "goxygen": { + "Package": "goxygen", + "Version": "1.4.4", + "Source": "Repository", + "Repository": "https://rse.pik-potsdam.de/r/packages", + "RemoteUrl": "https://github.com/pik-piam/goxygen", + "RemoteRef": "HEAD", + "RemoteSha": "3f566c77d7510cd48ecbc36086f45e406d1de12c", + "Hash": "9ae9cbbcb712ef8b77de596b78cb0d59", + "Requirements": [ + "citation", + "gms", + "pander", + "stringi", + "withr", + "yaml" + ] + }, + "gridExtra": { + "Package": "gridExtra", + "Version": "2.3", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "gridExtra", + "RemoteRef": "gridExtra", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "2.3", + "Hash": "7d7f283939f563670a697165b2cf5560", + "Requirements": [ + "gtable" + ] + }, + "gtable": { + "Package": "gtable", + "Version": "0.3.4", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "b29cf3031f49b04ab9c852c912547eef", + "Requirements": [ + "cli", + "glue", + "lifecycle", + "rlang" + ] + }, + "gtools": { + "Package": "gtools", + "Version": "3.9.5", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "588d091c35389f1f4a9d533c8d709b35", + "Requirements": [] + }, + "haven": { + "Package": "haven", + "Version": "2.5.4", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "9171f898db9d9c4c1b2c745adc2c1ef1", + "Requirements": [ + "cli", + "cpp11", + "forcats", + "hms", + "lifecycle", + "readr", + "rlang", + "tibble", + "tidyselect", + "vctrs" + ] + }, + "hdf5r": { + "Package": "hdf5r", + "Version": "1.3.10", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "455082f1cd7e02855a5bd087527706b5", + "Requirements": [ + "R6", + "bit64" + ] + }, + "here": { + "Package": "here", + "Version": "1.0.1", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "here", + "RemoteRef": "here", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.0.1", + "Hash": "24b224366f9c2e7534d2344d10d59211", + "Requirements": [ + "rprojroot" + ] + }, + "highr": { + "Package": "highr", + "Version": "0.10", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "highr", + "RemoteRef": "highr", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.10", + "Hash": "06230136b2d2b9ba5805e1963fa6e890", + "Requirements": [ + "xfun" + ] + }, + "hms": { + "Package": "hms", + "Version": "1.1.3", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "b59377caa7ed00fa41808342002138f9", + "Requirements": [ + "lifecycle", + "pkgconfig", + "rlang", + "vctrs" + ] + }, + "htmlTable": { + "Package": "htmlTable", + "Version": "2.4.2", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "0164d8cade33fac2190703da7e6e3241", + "Requirements": [ + "checkmate", + "htmltools", + "htmlwidgets", + "knitr", + "magrittr", + "rstudioapi", + "stringr" + ] + }, + "htmltools": { + "Package": "htmltools", + "Version": "0.5.8.1", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "81d371a9cc60640e74e4ab6ac46dcedc", + "Requirements": [ + "base64enc", + "digest", + "fastmap", + "rlang" + ] + }, + "htmlwidgets": { + "Package": "htmlwidgets", + "Version": "1.6.3", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "a4040b08269c9af64554e55f514d002c", + "Requirements": [ + "htmltools", + "jsonlite", + "knitr", + "rmarkdown", + "yaml" + ] + }, + "httpuv": { + "Package": "httpuv", + "Version": "1.6.12", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "c992f75861325961c29a188b45e549f7", + "Requirements": [ + "R6", + "Rcpp", + "later", + "promises" + ] + }, + "httr": { + "Package": "httr", + "Version": "1.4.7", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "ac107251d9d9fd72f0ca8049988f1d7f", + "Requirements": [ + "R6", + "curl", + "jsonlite", + "mime", + "openssl" + ] + }, + "httr2": { + "Package": "httr2", + "Version": "1.0.0", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "e2b30f1fc039a0bab047dd52bb20ef71", + "Requirements": [ + "R6", + "cli", + "curl", + "glue", + "lifecycle", + "magrittr", + "openssl", + "rappdirs", + "rlang", + "vctrs", + "withr" + ] + }, + "hypergeo": { + "Package": "hypergeo", + "Version": "1.2-13", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "hypergeo", + "RemoteRef": "hypergeo", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.2-13", + "Hash": "3195e099bdbe91e28310c818d925d471", + "Requirements": [ + "contfrac", + "deSolve", + "elliptic" + ] + }, + "ids": { + "Package": "ids", + "Version": "1.0.1", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "ids", + "RemoteRef": "ids", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.0.1", + "Hash": "99df65cfef20e525ed38c3d2577f7190", + "Requirements": [ + "openssl", + "uuid" + ] + }, + "igraph": { + "Package": "igraph", + "Version": "2.0.3", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "c3b7d801d722e26e4cd888e042bf9af5", + "Requirements": [ + "Matrix", + "cli", + "cpp11", + "lifecycle", + "magrittr", + "pkgconfig", + "rlang", + "vctrs" + ] + }, + "ini": { + "Package": "ini", + "Version": "0.3.1", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "ini", + "RemoteRef": "ini", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.3.1", + "Hash": "6154ec2223172bce8162d4153cda21f7", + "Requirements": [] + }, + "isoband": { + "Package": "isoband", + "Version": "0.2.7", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "isoband", + "RemoteRef": "isoband", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.2.7", + "Hash": "0080607b4a1a7b28979aecef976d8bc2", + "Requirements": [] + }, + "iterators": { + "Package": "iterators", + "Version": "1.0.14", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "iterators", + "RemoteRef": "iterators", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.0.14", + "Hash": "8954069286b4b2b0d023d1b288dce978", + "Requirements": [] + }, + "jquerylib": { + "Package": "jquerylib", + "Version": "0.1.4", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "jquerylib", + "RemoteRef": "jquerylib", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.1.4", + "Hash": "5aab57a3bd297eee1c1d862735972182", + "Requirements": [ + "htmltools" + ] + }, + "jsonlite": { + "Package": "jsonlite", + "Version": "1.8.8", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "e1b9c55281c5adc4dd113652d9e26768", + "Requirements": [] + }, + "kableExtra": { + "Package": "kableExtra", + "Version": "1.4.0", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "532d16304274c23c8563f94b79351c86", + "Requirements": [ + "digest", + "htmltools", + "knitr", + "magrittr", + "rmarkdown", + "rstudioapi", + "scales", + "stringr", + "svglite", + "viridisLite", + "xml2" + ] + }, + "knitr": { + "Package": "knitr", + "Version": "1.46", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "6e008ab1d696a5283c79765fa7b56b47", + "Requirements": [ + "evaluate", + "highr", + "xfun", + "yaml" + ] + }, + "labeling": { + "Package": "labeling", + "Version": "0.4.3", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "b64ec208ac5bc1852b285f665d6368b3", + "Requirements": [] + }, + "later": { + "Package": "later", + "Version": "1.3.1", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "40401c9cf2bc2259dfe83311c9384710", + "Requirements": [ + "Rcpp", + "rlang" + ] + }, + "lattice": { + "Package": "lattice", + "Version": "0.20-45", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "b64cdbb2b340437c4ee047a1f4c4377b", + "Requirements": [] + }, + "lazyeval": { + "Package": "lazyeval", + "Version": "0.2.2", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "lazyeval", + "RemoteRef": "lazyeval", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.2.2", + "Hash": "d908914ae53b04d4c0c0fd72ecc35370", + "Requirements": [] + }, + "lifecycle": { + "Package": "lifecycle", + "Version": "1.0.4", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "b8552d117e1b808b09a832f589b79035", + "Requirements": [ + "cli", + "glue", + "rlang" + ] + }, + "linprog": { + "Package": "linprog", + "Version": "0.9-4", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "linprog", + "RemoteRef": "linprog", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.9-4", + "Hash": "66e9d4ebd71ddcd6f86a2a9a34f5cdc5", + "Requirements": [ + "lpSolve" + ] + }, + "lintr": { + "Package": "lintr", + "Version": "3.1.1", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "93e9379f4be8c0bf1862dfc7f720193e", + "Requirements": [ + "backports", + "codetools", + "cyclocomp", + "digest", + "glue", + "knitr", + "rex", + "xml2", + "xmlparsedata" + ] + }, + "lme4": { + "Package": "lme4", + "Version": "1.1-35.3", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "862f9d995f528f3051f524791955b20c", + "Requirements": [ + "MASS", + "Matrix", + "Rcpp", + "RcppEigen", + "boot", + "lattice", + "minqa", + "nlme", + "nloptr" + ] + }, + "lmom": { + "Package": "lmom", + "Version": "3.0", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "a69348cee0766082223f1c7e2a545505", + "Requirements": [] + }, + "lmomco": { + "Package": "lmomco", + "Version": "2.4.14", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "fa89923ab92716b742e4af1bb318b2cb", + "Requirements": [ + "Lmoments", + "MASS", + "goftest" + ] + }, + "lpSolve": { + "Package": "lpSolve", + "Version": "5.6.19", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "1dde7a359a18e255a35e0ae09d034be9", + "Requirements": [] + }, + "lpjclass": { + "Package": "lpjclass", + "Version": "1.19.7", + "Source": "Repository", + "Repository": "https://rse.pik-potsdam.de/r/packages", + "RemoteUrl": "https://github.com/pik-piam/lpjclass.git", + "RemoteRef": "HEAD", + "RemoteSha": "6f884a689592535d6ebbda9e2e55e5ca16e6f263", + "Hash": "68e61715f4d98cb2e8ace12c1d279dc6", + "Requirements": [ + "magclass" + ] + }, + "lpjmlkit": { + "Package": "lpjmlkit", + "Version": "1.6.0", + "Source": "Repository", + "Repository": "https://rse.pik-potsdam.de/r/packages", + "RemoteUrl": "https://github.com/PIK-LPJmL/lpjmlkit", + "RemoteRef": "HEAD", + "RemoteSha": "a4c72de475cfa36f39f2dfa7e80d22cb68e10cfe", + "Hash": "4fd29a233688547db6f84022ca8d529e", + "Requirements": [ + "abind", + "cli", + "doParallel", + "dplyr", + "foreach", + "jsonlite", + "magrittr", + "processx", + "rlang", + "stringi", + "tibble", + "withr" + ] + }, + "lubridate": { + "Package": "lubridate", + "Version": "1.9.3", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "680ad542fbcf801442c83a6ac5a2126c", + "Requirements": [ + "generics", + "timechange" + ] + }, + "lucode2": { + "Package": "lucode2", + "Version": "0.47.7", + "Source": "Repository", + "Repository": "https://rse.pik-potsdam.de/r/packages", + "RemoteUrl": "https://github.com/pik-piam/lucode2", + "RemoteRef": "HEAD", + "RemoteSha": "ab7ee2e477d569bdb69d77b768e3f73e6c5175b0", + "Hash": "d03d480aec51ebd2b47b0b494fc05c51", + "Requirements": [ + "callr", + "citation", + "data.table", + "desc", + "devtools", + "dplyr", + "lintr", + "rlang", + "usethis", + "withr", + "yaml" + ] + }, + "luplot": { + "Package": "luplot", + "Version": "4.0.0", + "Source": "Repository", + "Repository": "https://rse.pik-potsdam.de/r/packages", + "RemoteType": "standard", + "RemotePkgRef": "luplot", + "RemoteRef": "luplot", + "RemoteRepos": "https://rse.pik-potsdam.de/r/packages", + "RemoteReposName": "pik", + "RemotePkgPlatform": "source", + "RemoteSha": "4.0.0", + "Hash": "c290facb23bf178a2a45d8edb6fa6eb9", + "Requirements": [ + "RColorBrewer", + "data.table", + "ggplot2", + "gridExtra", + "lusweave", + "magclass", + "mip", + "mstools", + "quitte", + "reshape2", + "rworldmap" + ] + }, + "luscale": { + "Package": "luscale", + "Version": "3.0.0", + "Source": "Repository", + "Repository": "https://rse.pik-potsdam.de/r/packages", + "RemoteUrl": "https://github.com/pik-piam/luscale", + "RemoteRef": "HEAD", + "RemoteSha": "0e553f080cc24e89ff590607521be8814a3d802e", + "Hash": "ff4ea572bd69443ca9159a0b9a7b4f39", + "Requirements": [ + "madrat", + "magclass", + "spam" + ] + }, + "lusweave": { + "Package": "lusweave", + "Version": "1.46.3", + "Source": "Repository", + "Repository": "https://pik-piam.r-universe.dev", + "RemoteUrl": "https://github.com/pik-piam/lusweave", + "RemoteRef": "lusweave", + "RemoteSha": "1.46.3", + "RemoteType": "standard", + "RemotePkgRef": "lusweave", + "RemoteRepos": "https://pik-piam.r-universe.dev", + "RemotePkgPlatform": "source", + "Hash": "04e7987b44b5729e5b3fe1db50314573", + "Requirements": [ + "knitr", + "xtable" + ] + }, + "madrat": { + "Package": "madrat", + "Version": "3.11.4", + "Source": "Repository", + "Repository": "https://rse.pik-potsdam.de/r/packages", + "RemoteType": "standard", + "RemotePkgRef": "madrat", + "RemoteRef": "madrat", + "RemoteRepos": "https://rse.pik-potsdam.de/r/packages", + "RemoteReposName": "pik", + "RemotePkgPlatform": "source", + "RemoteSha": "3.11.4", + "Hash": "42c845d67988f1059568ba062686d8e1", + "Requirements": [ + "Matrix", + "callr", + "digest", + "igraph", + "magclass", + "pkgload", + "renv", + "stringi", + "withr", + "yaml" + ] + }, + "magclass": { + "Package": "magclass", + "Version": "6.16.0", + "Source": "Repository", + "Repository": "https://rse.pik-potsdam.de/r/packages", + "RemoteType": "standard", + "RemotePkgRef": "magclass", + "RemoteRef": "magclass", + "RemoteRepos": "https://rse.pik-potsdam.de/r/packages", + "RemoteReposName": "pik", + "RemotePkgPlatform": "source", + "RemoteSha": "6.16.0", + "Hash": "f280266457572d81f876b73e5960db22", + "Requirements": [ + "abind", + "data.table" + ] + }, + "magic": { + "Package": "magic", + "Version": "1.6-1", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "magic", + "RemoteRef": "magic", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.6-1", + "Hash": "1da6217cea8a3ef496258819b80770e1", + "Requirements": [ + "abind" + ] + }, + "magpie4": { + "Package": "magpie4", + "Version": "2.3.3", + "Source": "Repository", + "Repository": "https://rse.pik-potsdam.de/r/packages", + "RemoteType": "standard", + "RemotePkgRef": "magpie4", + "RemoteRef": "magpie4", + "RemoteRepos": "https://rse.pik-potsdam.de/r/packages", + "RemoteReposName": "pik", + "RemotePkgPlatform": "source", + "RemoteSha": "2.3.3", + "Hash": "3ceb1ec968f9ec24812e38f489812679", + "Requirements": [ + "dplyr", + "gdx", + "gms", + "luscale", + "lusweave", + "madrat", + "magclass", + "magpiesets", + "mip", + "mstools", + "nonparaeff", + "reshape2", + "rlang", + "stringr" + ] + }, + "magpiesets": { + "Package": "magpiesets", + "Version": "0.45.7", + "Source": "Repository", + "Repository": "https://rse.pik-potsdam.de/r/packages", + "RemoteType": "standard", + "RemotePkgRef": "magpiesets", + "RemoteRef": "magpiesets", + "RemoteRepos": "https://rse.pik-potsdam.de/r/packages", + "RemoteReposName": "pik", + "RemotePkgPlatform": "source", + "RemoteSha": "0.45.7", + "Hash": "3ff8ac968aaf24b4979d03fadd4afe4e", + "Requirements": [ + "magclass" + ] + }, + "magrittr": { + "Package": "magrittr", + "Version": "2.0.3", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "magrittr", + "RemoteRef": "magrittr", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "2.0.3", + "Hash": "7ce2733a9826b3aeb1775d56fd305472", + "Requirements": [] + }, + "maps": { + "Package": "maps", + "Version": "3.4.1.1", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "49575d57c53981f0f033a84239d75085", + "Requirements": [] + }, + "memoise": { + "Package": "memoise", + "Version": "2.0.1", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "memoise", + "RemoteRef": "memoise", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "2.0.1", + "Hash": "e2817ccf4a065c5d9d7f2cfbe7c1d78c", + "Requirements": [ + "cachem", + "rlang" + ] + }, + "mgcv": { + "Package": "mgcv", + "Version": "1.9-1", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "110ee9d83b496279960e162ac97764ce", + "Requirements": [ + "Matrix", + "nlme" + ] + }, + "mime": { + "Package": "mime", + "Version": "0.12", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "mime", + "RemoteRef": "mime", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.12", + "Hash": "18e9c28c1d3ca1560ce30658b22ce104", + "Requirements": [] + }, + "miniUI": { + "Package": "miniUI", + "Version": "0.1.1.1", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "miniUI", + "RemoteRef": "miniUI", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.1.1.1", + "Hash": "fec5f52652d60615fdb3957b3d74324a", + "Requirements": [ + "htmltools", + "shiny" + ] + }, + "minqa": { + "Package": "minqa", + "Version": "1.2.6", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "f48238f8d4740426ca12f53f27d004dd", + "Requirements": [ + "Rcpp" + ] + }, + "mip": { + "Package": "mip", + "Version": "0.148.19", + "Source": "Repository", + "Repository": "https://rse.pik-potsdam.de/r/packages", + "RemoteUrl": "https://github.com/pik-piam/mip", + "RemoteRef": "HEAD", + "RemoteSha": "68795ce163c920079eb381f49a94718ec7fa69c7", + "Hash": "aa50a679214c25dd585b73dee16ed084", + "Requirements": [ + "RColorBrewer", + "data.table", + "dplyr", + "ggplot2", + "gridExtra", + "htmltools", + "lusweave", + "magclass", + "plotly", + "quitte", + "reshape2", + "rlang", + "shiny", + "stringr", + "tidyr", + "trafficlight" + ] + }, + "modelr": { + "Package": "modelr", + "Version": "0.1.11", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "4f50122dc256b1b6996a4703fecea821", + "Requirements": [ + "broom", + "magrittr", + "purrr", + "rlang", + "tibble", + "tidyr", + "tidyselect", + "vctrs" + ] + }, + "modelstats": { + "Package": "modelstats", + "Version": "0.21.6", + "Source": "Repository", + "Repository": "https://rse.pik-potsdam.de/r/packages", + "RemoteUrl": "https://github.com/pik-piam/modelstats", + "RemoteRef": "HEAD", + "RemoteSha": "3cf544e98132454fe61d284dbb61b73cfcdcffc9", + "Hash": "121bcf4eb721b610b887843a49597709", + "Requirements": [ + "crayon", + "dplyr", + "gdx", + "gms", + "gtools", + "lubridate", + "lucode2", + "quitte", + "rlang", + "withr" + ] + }, + "mrcommons": { + "Package": "mrcommons", + "Version": "1.41.0", + "Source": "Repository", + "Repository": "https://rse.pik-potsdam.de/r/packages", + "RemoteType": "standard", + "RemotePkgRef": "mrcommons", + "RemoteRef": "mrcommons", + "RemoteRepos": "https://rse.pik-potsdam.de/r/packages", + "RemoteReposName": "pik", + "RemotePkgPlatform": "source", + "RemoteSha": "1.41.0", + "Hash": "18f5e57eded4fb750042a54b6f7658df", + "Requirements": [ + "GDPuc", + "countrycode", + "data.table", + "dplyr", + "hdf5r", + "luscale", + "madrat", + "magclass", + "magpiesets", + "mrdrivers", + "mrfaocore", + "mrlandcore", + "mstools", + "ncdf4", + "openxlsx", + "purrr", + "quitte", + "raster", + "readxl", + "reshape2", + "rlang", + "stringr", + "terra", + "tibble", + "tidyr", + "withr", + "zoo" + ] + }, + "mrdrivers": { + "Package": "mrdrivers", + "Version": "2.0.0", + "Source": "Repository", + "Repository": "https://rse.pik-potsdam.de/r/packages", + "RemoteUrl": "https://github.com/pik-piam/mrdrivers", + "RemoteRef": "HEAD", + "RemoteSha": "32475d655e1b2cd79e9c375c5a0629e3446ee22f", + "Hash": "e550febd39def46a691ad2223809c189", + "Requirements": [ + "GDPuc", + "countrycode", + "dplyr", + "glue", + "lifecycle", + "madrat", + "magclass", + "magrittr", + "purrr", + "readr", + "readxl", + "rlang", + "tibble", + "tidyr", + "tidyselect", + "zoo" + ] + }, + "mrfactors": { + "Package": "mrfactors", + "Version": "0.4.0", + "Source": "Repository", + "Repository": "https://rse.pik-potsdam.de/r/packages", + "RemoteUrl": "git@github.com:pik-piam/mrfactors", + "RemoteRef": "HEAD", + "RemoteSha": "130d55609a8f9b490e4c69e491de7dccb51fefa7", + "Hash": "3a6beb1edfbe519d6b036255bada91b5", + "Requirements": [ + "GDPuc", + "dplyr", + "luscale", + "madrat", + "magclass", + "magpiesets", + "mrcommons", + "mrdrivers", + "mstools", + "readxl", + "stringr" + ] + }, + "mrfaocore": { + "Package": "mrfaocore", + "Version": "1.0.0", + "Source": "Repository", + "Repository": "https://rse.pik-potsdam.de/r/packages", + "RemoteUrl": "https://github.com/pik-piam/mrfaocore", + "RemoteRef": "HEAD", + "RemoteSha": "e0636b0c85dbc2f13e852df676182f7a6923b166", + "Hash": "1a77111d0085118a37cf3d3fa48db4f9", + "Requirements": [ + "GDPuc", + "data.table", + "dplyr", + "madrat", + "magclass", + "magpiesets", + "mrdrivers", + "mstools", + "tidyr", + "withr" + ] + }, + "mrland": { + "Package": "mrland", + "Version": "0.59.0", + "Source": "Repository", + "Repository": "https://rse.pik-potsdam.de/r/packages", + "RemoteUrl": "https://github.com/pik-piam/mrland", + "RemoteRef": "HEAD", + "RemoteSha": "0bd897f0b757a456a63ca76453ff2c31fe174bfa", + "Hash": "bbc3c909c7afb8d85f644de82e94781d", + "Requirements": [ + "GDPuc", + "SPEI", + "countrycode", + "data.table", + "dplyr", + "madrat", + "magclass", + "magpiesets", + "mrcommons", + "mrfactors", + "mrfaocore", + "mrlandcore", + "mstools", + "ncdf4", + "raster", + "readxl", + "reshape2", + "stringr", + "terra", + "withr" + ] + }, + "mrlandcore": { + "Package": "mrlandcore", + "Version": "1.1.0", + "Source": "Repository", + "Repository": "https://rse.pik-potsdam.de/r/packages", + "RemoteUrl": "https://github.com/pik-piam/mrlandcore", + "RemoteRef": "HEAD", + "RemoteSha": "2eb77b1a26b7b5b5f9b7f7292a4f8484c80b8cdd", + "Hash": "d486f65e98c2beee789f82a9636e78f5", + "Requirements": [ + "SPEI", + "dplyr", + "lpjclass", + "lpjmlkit", + "luscale", + "madrat", + "magclass", + "magpiesets", + "mrdrivers", + "mrfaocore", + "mstools", + "ncdf4", + "nleqslv", + "raster", + "stringr", + "terra", + "withr" + ] + }, + "mrmagpie": { + "Package": "mrmagpie", + "Version": "1.49.0", + "Source": "Repository", + "Repository": "https://rse.pik-potsdam.de/r/packages", + "RemoteUrl": "https://github.com/pik-piam/mrmagpie", + "RemoteRef": "HEAD", + "RemoteSha": "cf62acb02226cffdc28f955674269aa76b56cc1c", + "Hash": "07aeee40e8ba533b521e449fa460a9f9", + "Requirements": [ + "abind", + "class", + "digest", + "dplyr", + "ggplot2", + "lpjclass", + "luplot", + "madrat", + "magclass", + "magpiesets", + "mrcommons", + "mrland", + "mrlandcore", + "mrsoil", + "mrwater", + "mstools", + "ncdf4", + "pbapply", + "raster", + "readxl", + "stringr", + "terra", + "tidyr", + "withr" + ] + }, + "mrremind": { + "Package": "mrremind", + "Version": "0.180.0", + "Source": "Repository", + "Repository": "https://rse.pik-potsdam.de/r/packages", + "RemoteUrl": "https://github.com/pik-piam/mrremind", + "RemoteRef": "HEAD", + "RemoteSha": "cb47df8628cbac258fee8c04634a1000d5ec9904", + "Hash": "6086a486ce055013f9ab5c7bd7505023", + "Requirements": [ + "Hmisc", + "R.utils", + "assertr", + "assertthat", + "broom", + "car", + "countrycode", + "data.table", + "dplyr", + "edgeTransport", + "ggplot2", + "luscale", + "madrat", + "magclass", + "magrittr", + "mrcommons", + "mrdrivers", + "nnls", + "purrr", + "quitte", + "readODS", + "readr", + "readxl", + "reshape2", + "rlang", + "rmndt", + "tibble", + "tidyr", + "tidyselect", + "zoo" + ] + }, + "mrsoil": { + "Package": "mrsoil", + "Version": "2.2.1", + "Source": "Repository", + "Repository": "https://rse.pik-potsdam.de/r/packages", + "RemoteUrl": "https://github.com/pik-piam/mrsoil", + "RemoteRef": "HEAD", + "RemoteSha": "2530b694c6cfd86b95aba4fcb7c3c2168512c0c1", + "Hash": "51cfe1799ac172196cfff1d5bf3458bf", + "Requirements": [ + "jsonlite", + "lpjclass", + "madrat", + "magclass", + "magpiesets", + "mrcommons", + "mrdrivers", + "readxl" + ] + }, + "mrvalidation": { + "Package": "mrvalidation", + "Version": "2.58.0", + "Source": "Repository", + "Repository": "https://rse.pik-potsdam.de/r/packages", + "RemoteType": "standard", + "RemotePkgRef": "mrvalidation", + "RemoteRef": "mrvalidation", + "RemoteRepos": "https://rse.pik-potsdam.de/r/packages", + "RemoteReposName": "pik", + "RemotePkgPlatform": "source", + "RemoteSha": "2.58.0", + "Hash": "9348603d2c773e8675c87f798a142396", + "Requirements": [ + "GDPuc", + "dplyr", + "madrat", + "magclass", + "magpiesets", + "mrcommons", + "mrdrivers", + "mrfactors", + "mrfaocore", + "mrlandcore", + "mrmagpie", + "mstools", + "ncdf4", + "openxlsx", + "purrr", + "raster", + "readxl", + "reshape2", + "rlang", + "stringr", + "tidyr", + "withr" + ] + }, + "mrwater": { + "Package": "mrwater", + "Version": "1.13.0", + "Source": "Repository", + "Repository": "https://rse.pik-potsdam.de/r/packages", + "RemoteType": "standard", + "RemotePkgRef": "mrwater", + "RemoteRef": "mrwater", + "RemoteRepos": "https://rse.pik-potsdam.de/r/packages", + "RemoteReposName": "pik", + "RemotePkgPlatform": "source", + "RemoteSha": "1.13.0", + "Hash": "00ecc596659ba230e3f5013b492df3ef", + "Requirements": [ + "madrat", + "magclass", + "magpiesets", + "mrcommons", + "mrland", + "mrlandcore", + "mstools", + "raster", + "stringr", + "withr" + ] + }, + "mstools": { + "Package": "mstools", + "Version": "0.7.0", + "Source": "Repository", + "Repository": "https://rse.pik-potsdam.de/r/packages", + "RemoteUrl": "https://github.com/pik-piam/mstools", + "RemoteRef": "HEAD", + "RemoteSha": "aa604841492d339087990707f491647ccf9ffabc", + "Hash": "165b80319ada805d71c8a50077ac3b3e", + "Requirements": [ + "madrat", + "magclass", + "magpiesets", + "stringr" + ] + }, + "munsell": { + "Package": "munsell", + "Version": "0.5.1", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "munsell", + "RemoteRef": "munsell", + "RemoteRepos": "https://cran.rstudio.com", + "RemoteReposName": "CRAN", + "RemotePkgPlatform": "source", + "RemoteSha": "0.5.1", + "Hash": "4fd8900853b746af55b81fda99da7695", + "Requirements": [ + "colorspace" + ] + }, + "ncdf4": { + "Package": "ncdf4", + "Version": "1.22", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "004b5219ae6d8ff53a3dcd2c89e56139", + "Requirements": [] + }, + "nleqslv": { + "Package": "nleqslv", + "Version": "3.3.5", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "982736cfb7276c4d9a2afa4e6b8e95a4", + "Requirements": [] + }, + "nlme": { + "Package": "nlme", + "Version": "3.1-164", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "a623a2239e642806158bc4dc3f51565d", + "Requirements": [ + "lattice" + ] + }, + "nloptr": { + "Package": "nloptr", + "Version": "2.0.3", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "nloptr", + "RemoteRef": "nloptr", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "2.0.3", + "Hash": "277c67a08f358f42b6a77826e4492f79", + "Requirements": [ + "testthat" + ] + }, + "nnet": { + "Package": "nnet", + "Version": "7.3-19", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "2c797b46eea7fb58ede195bc0b1f1138", + "Requirements": [] + }, + "nnls": { + "Package": "nnls", + "Version": "1.5", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "942974f860268d8b22148d142bb8b946", + "Requirements": [] + }, + "nonparaeff": { + "Package": "nonparaeff", + "Version": "0.5-13", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "nonparaeff", + "RemoteRef": "nonparaeff", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.5-13", + "Hash": "435ec96da326a6261e1c493ed5064332", + "Requirements": [ + "Hmisc", + "geometry", + "lpSolve" + ] + }, + "numDeriv": { + "Package": "numDeriv", + "Version": "2016.8-1.1", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "numDeriv", + "RemoteRef": "numDeriv", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "2016.8-1.1", + "Hash": "df58958f293b166e4ab885ebcad90e02", + "Requirements": [] + }, + "openssl": { + "Package": "openssl", + "Version": "2.1.1", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "2a0dc8c6adfb6f032e4d4af82d258ab5", + "Requirements": [ + "askpass" + ] + }, + "openxlsx": { + "Package": "openxlsx", + "Version": "4.2.5.2", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "c03b4c18d42da881fb8e15a085c2b9d6", + "Requirements": [ + "Rcpp", + "stringi", + "zip" + ] + }, + "optparse": { + "Package": "optparse", + "Version": "1.7.5", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "optparse", + "RemoteRef": "optparse", + "RemoteRepos": "https://cran.rstudio.com", + "RemoteReposName": "CRAN", + "RemotePkgPlatform": "source", + "RemoteSha": "1.7.5", + "Hash": "ce5f8381cd2c38d1fc14c83d8b21efd0", + "Requirements": [ + "getopt" + ] + }, + "pander": { + "Package": "pander", + "Version": "0.6.5", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "pander", + "RemoteRef": "pander", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.6.5", + "Hash": "737924139a1e4fc96356ff377c754c35", + "Requirements": [ + "Rcpp", + "digest" + ] + }, + "pbapply": { + "Package": "pbapply", + "Version": "1.7-2", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "68a2d681e10cf72f0afa1d84d45380e5", + "Requirements": [] + }, + "pbkrtest": { + "Package": "pbkrtest", + "Version": "0.5.2", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "pbkrtest", + "RemoteRef": "pbkrtest", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.5.2", + "Hash": "3b5b99f4d3f067bb9c1d59317d071370", + "Requirements": [ + "MASS", + "Matrix", + "broom", + "dplyr", + "lme4", + "numDeriv" + ] + }, + "piamInterfaces": { + "Package": "piamInterfaces", + "Version": "0.20.1", + "Source": "Repository", + "Repository": "https://rse.pik-potsdam.de/r/packages", + "RemoteUrl": "https://github.com/pik-piam/piamInterfaces.git", + "RemoteRef": "HEAD", + "RemoteSha": "0b14bcc8000e116bdac137bf62b336d2e9042b31", + "Hash": "84581e4d7ff9e71a7af1c1b18d5ec9e9", + "Requirements": [ + "dplyr", + "gms", + "magclass", + "mip", + "piamutils", + "quitte", + "readxl", + "rlang", + "stringr", + "tibble", + "tidyr", + "yaml" + ] + }, + "piamPlotComparison": { + "Package": "piamPlotComparison", + "Version": "0.0.12", + "Source": "Repository", + "Repository": "https://rse.pik-potsdam.de/r/packages", + "RemoteType": "standard", + "RemotePkgRef": "piamPlotComparison", + "RemoteRef": "piamPlotComparison", + "RemoteRepos": "https://rse.pik-potsdam.de/r/packages", + "RemoteReposName": "pik", + "RemotePkgPlatform": "source", + "RemoteSha": "0.0.12", + "Hash": "8532da87b654957915a8a884b28d0093", + "Requirements": [ + "dplyr", + "jsonlite", + "knitr", + "magclass", + "mip", + "piamutils", + "quitte", + "rlang", + "rmarkdown", + "tidyr", + "yaml", + "ymlthis" + ] + }, + "piamenv": { + "Package": "piamenv", + "Version": "0.5.3", + "Source": "Repository", + "Repository": "https://rse.pik-potsdam.de/r/packages", + "RemoteUrl": "https://github.com/pik-piam/piamenv", + "RemoteRef": "HEAD", + "RemoteSha": "b435a71a8aab5f73d9921bf55f5940f9d371ee48", + "Hash": "80ecba6591b4488ed6fb86a17fa205ef", + "Requirements": [ + "desc", + "renv", + "withr" + ] + }, + "piamutils": { + "Package": "piamutils", + "Version": "0.0.10", + "Source": "Repository", + "Repository": "https://rse.pik-potsdam.de/r/packages", + "RemoteType": "standard", + "RemotePkgRef": "piamutils", + "RemoteRef": "piamutils", + "RemoteRepos": "https://rse.pik-potsdam.de/r/packages", + "RemoteReposName": "pik", + "RemotePkgPlatform": "source", + "RemoteSha": "0.0.10", + "Hash": "35e68cab0b1cc253e0738b2fff50bc39", + "Requirements": [ + "magclass", + "pkgload", + "quitte" + ] + }, + "pillar": { + "Package": "pillar", + "Version": "1.9.0", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "15da5a8412f317beeee6175fbc76f4bb", + "Requirements": [ + "cli", + "fansi", + "glue", + "lifecycle", + "rlang", + "utf8", + "vctrs" + ] + }, + "pkgbuild": { + "Package": "pkgbuild", + "Version": "1.4.2", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "beb25b32a957a22a5c301a9e441190b3", + "Requirements": [ + "R6", + "callr", + "cli", + "crayon", + "desc", + "prettyunits", + "processx", + "rprojroot" + ] + }, + "pkgconfig": { + "Package": "pkgconfig", + "Version": "2.0.3", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "pkgconfig", + "RemoteRef": "pkgconfig", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "2.0.3", + "Hash": "01f28d4278f15c76cddbea05899c5d6f", + "Requirements": [] + }, + "pkgdown": { + "Package": "pkgdown", + "Version": "2.0.9", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "pkgdown", + "RemoteRef": "pkgdown", + "RemoteRepos": "https://cran.rstudio.com", + "RemoteReposName": "CRAN", + "RemotePkgPlatform": "source", + "RemoteSha": "2.0.9", + "Hash": "8bf1151ed1a48328d71b937e651117a6", + "Requirements": [ + "bslib", + "callr", + "cli", + "desc", + "digest", + "downlit", + "fs", + "httr", + "jsonlite", + "magrittr", + "memoise", + "purrr", + "ragg", + "rlang", + "rmarkdown", + "tibble", + "whisker", + "withr", + "xml2", + "yaml" + ] + }, + "pkgload": { + "Package": "pkgload", + "Version": "1.3.4", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "876c618df5ae610be84356d5d7a5d124", + "Requirements": [ + "cli", + "crayon", + "desc", + "fs", + "glue", + "pkgbuild", + "rlang", + "rprojroot", + "withr" + ] + }, + "plotly": { + "Package": "plotly", + "Version": "4.10.4", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "a1ac5c03ad5ad12b9d1597e00e23c3dd", + "Requirements": [ + "RColorBrewer", + "base64enc", + "crosstalk", + "data.table", + "digest", + "dplyr", + "ggplot2", + "htmltools", + "htmlwidgets", + "httr", + "jsonlite", + "lazyeval", + "magrittr", + "promises", + "purrr", + "rlang", + "scales", + "tibble", + "tidyr", + "vctrs", + "viridisLite" + ] + }, + "plyr": { + "Package": "plyr", + "Version": "1.8.9", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "6b8177fd19982f0020743fadbfdbd933", + "Requirements": [ + "Rcpp" + ] + }, + "png": { + "Package": "png", + "Version": "0.1-8", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "png", + "RemoteRef": "png", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.1-8", + "Hash": "bd54ba8a0a5faded999a7aab6e46b374", + "Requirements": [] + }, + "praise": { + "Package": "praise", + "Version": "1.0.0", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "praise", + "RemoteRef": "praise", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.0.0", + "Hash": "a555924add98c99d2f411e37e7d25e9f", + "Requirements": [] + }, + "prettyunits": { + "Package": "prettyunits", + "Version": "1.2.0", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "6b01fc98b1e86c4f705ce9dcfd2f57c7", + "Requirements": [] + }, + "processx": { + "Package": "processx", + "Version": "3.8.4", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "0c90a7d71988856bad2a2a45dd871bb9", + "Requirements": [ + "R6", + "ps" + ] + }, + "profvis": { + "Package": "profvis", + "Version": "0.3.8", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "aa5a3864397ce6ae03458f98618395a1", + "Requirements": [ + "htmlwidgets", + "purrr", + "rlang", + "stringr", + "vctrs" + ] + }, + "progress": { + "Package": "progress", + "Version": "1.2.3", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "f4625e061cb2865f111b47ff163a5ca6", + "Requirements": [ + "R6", + "crayon", + "hms", + "prettyunits" + ] + }, + "promises": { + "Package": "promises", + "Version": "1.2.1", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "0d8a15c9d000970ada1ab21405387dee", + "Requirements": [ + "R6", + "Rcpp", + "fastmap", + "later", + "magrittr", + "rlang" + ] + }, + "ps": { + "Package": "ps", + "Version": "1.7.6", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "dd2b9319ee0656c8acf45c7f40c59de7", + "Requirements": [] + }, + "purrr": { + "Package": "purrr", + "Version": "1.0.2", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "1cba04a4e9414bdefc9dcaa99649a8dc", + "Requirements": [ + "cli", + "lifecycle", + "magrittr", + "rlang", + "vctrs" + ] + }, + "qualV": { + "Package": "qualV", + "Version": "0.3-5", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "54a3ba270d25f5284cec3e10e8f0c7da", + "Requirements": [ + "KernSmooth" + ] + }, + "quantreg": { + "Package": "quantreg", + "Version": "5.97", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "1bbc97f7d637ab3917c514a69047b2c1", + "Requirements": [ + "MASS", + "Matrix", + "MatrixModels", + "SparseM", + "survival" + ] + }, + "quitte": { + "Package": "quitte", + "Version": "0.3132.2", + "Source": "Repository", + "Repository": "https://rse.pik-potsdam.de/r/packages", + "RemoteType": "standard", + "RemotePkgRef": "quitte", + "RemoteRef": "quitte", + "RemoteRepos": "https://rse.pik-potsdam.de/r/packages", + "RemoteReposName": "pik", + "RemotePkgPlatform": "source", + "RemoteSha": "0.3132.2", + "Hash": "9cb06b0cfe8896e71246a1e0420f977c", + "Requirements": [ + "countrycode", + "dplyr", + "forcats", + "ggplot2", + "glue", + "gms", + "lazyeval", + "lifecycle", + "lubridate", + "magclass", + "magrittr", + "plyr", + "purrr", + "readr", + "readxl", + "reshape2", + "rlang", + "stringr", + "tibble", + "tidyr", + "tidyselect", + "writexl", + "zoo" + ] + }, + "ragg": { + "Package": "ragg", + "Version": "1.2.6", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "6ba2fa8740abdc2cc148407836509901", + "Requirements": [ + "systemfonts", + "textshaping" + ] + }, + "rappdirs": { + "Package": "rappdirs", + "Version": "0.3.3", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "rappdirs", + "RemoteRef": "rappdirs", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.3.3", + "Hash": "5e3c5dc0b071b21fa128676560dbe94d", + "Requirements": [] + }, + "raster": { + "Package": "raster", + "Version": "3.6-26", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "7d6eda494f34a644420ac1bfd2a8023a", + "Requirements": [ + "Rcpp", + "sp", + "terra" + ] + }, + "rcmdcheck": { + "Package": "rcmdcheck", + "Version": "1.4.0", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "rcmdcheck", + "RemoteRef": "rcmdcheck", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.4.0", + "Hash": "8f25ebe2ec38b1f2aef3b0d2ef76f6c4", + "Requirements": [ + "R6", + "callr", + "cli", + "curl", + "desc", + "digest", + "pkgbuild", + "prettyunits", + "rprojroot", + "sessioninfo", + "withr", + "xopen" + ] + }, + "readODS": { + "Package": "readODS", + "Version": "2.2.0", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "79c0f23a27909659c1a2d62048c15096", + "Requirements": [ + "cellranger", + "cpp11", + "readr", + "stringi", + "tibble", + "vctrs", + "zip" + ] + }, + "readr": { + "Package": "readr", + "Version": "2.1.4", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "b5047343b3825f37ad9d3b5d89aa1078", + "Requirements": [ + "R6", + "cli", + "clipr", + "cpp11", + "crayon", + "hms", + "lifecycle", + "rlang", + "tibble", + "tzdb", + "vroom" + ] + }, + "readxl": { + "Package": "readxl", + "Version": "1.4.3", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "8cf9c239b96df1bbb133b74aef77ad0a", + "Requirements": [ + "cellranger", + "cpp11", + "progress", + "tibble" + ] + }, + "rematch": { + "Package": "rematch", + "Version": "2.0.0", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "cbff1b666c6fa6d21202f07e2318d4f1", + "Requirements": [] + }, + "rematch2": { + "Package": "rematch2", + "Version": "2.1.2", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "rematch2", + "RemoteRef": "rematch2", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "2.1.2", + "Hash": "76c9e04c712a05848ae7a23d2f170a40", + "Requirements": [ + "tibble" + ] + }, + "remind2": { + "Package": "remind2", + "Version": "1.143.1", + "Source": "Repository", + "Repository": "https://rse.pik-potsdam.de/r/packages", + "RemoteUrl": "https://github.com/pik-piam/remind2.git", + "RemoteRef": "HEAD", + "RemoteSha": "7927dad0dfae6cb860985aa745e02148db23a53f", + "Hash": "67676daf507a06c0a57b97f6309cd566", + "Requirements": [ + "abind", + "assertr", + "data.table", + "dplyr", + "gdx", + "gdxdt", + "gdxrrw", + "ggplot2", + "gms", + "htmltools", + "knitr", + "lucode2", + "lusweave", + "madrat", + "magclass", + "mip", + "openxlsx", + "piamInterfaces", + "piamPlotComparison", + "piamutils", + "plotly", + "quitte", + "readr", + "remulator", + "reshape2", + "rlang", + "rmarkdown", + "rmndt", + "tibble", + "tidyr", + "tidyselect", + "withr", + "yaml" + ] + }, + "remotes": { + "Package": "remotes", + "Version": "2.4.2.1", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "63d15047eb239f95160112bcadc4fcb9", + "Requirements": [] + }, + "remulator": { + "Package": "remulator", + "Version": "1.22.0", + "Source": "Repository", + "Repository": "https://rse.pik-potsdam.de/r/packages", + "RemoteUrl": "https://github.com/pik-piam/remulator", + "RemoteRef": "HEAD", + "RemoteSha": "43f6734ee27d27ebbb223e149112d2da0b9e8888", + "Hash": "7220c98accb505f667b7bd38202bd20a", + "Requirements": [ + "ggplot2", + "gms", + "luplot", + "lusweave", + "madrat", + "magclass", + "magpie4" + ] + }, + "renv": { + "Package": "renv", + "Version": "0.16.0", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "c9e8442ab69bc21c9697ecf856c1e6c7", + "Requirements": [] + }, + "reprex": { + "Package": "reprex", + "Version": "2.1.0", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "1425f91b4d5d9a8f25352c44a3d914ed", + "Requirements": [ + "callr", + "cli", + "clipr", + "fs", + "glue", + "knitr", + "lifecycle", + "rlang", + "rmarkdown", + "rstudioapi", + "withr" + ] + }, + "reshape": { + "Package": "reshape", + "Version": "0.8.9", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "reshape", + "RemoteRef": "reshape", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.8.9", + "Hash": "603d56041d7d4fa3ceb1864b3f6ee6b1", + "Requirements": [ + "plyr" + ] + }, + "reshape2": { + "Package": "reshape2", + "Version": "1.4.4", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "reshape2", + "RemoteRef": "reshape2", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.4.4", + "Hash": "bb5996d0bd962d214a11140d77589917", + "Requirements": [ + "Rcpp", + "plyr", + "stringr" + ] + }, + "reticulate": { + "Package": "reticulate", + "Version": "1.36.1", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "reticulate", + "RemoteRef": "reticulate", + "RemoteRepos": "https://cran.rstudio.com", + "RemoteReposName": "CRAN", + "RemotePkgPlatform": "source", + "RemoteSha": "1.36.1", + "Hash": "e037fb5dc364efdaf616eb6bc05aaca2", + "Requirements": [ + "Matrix", + "Rcpp", + "RcppTOML", + "here", + "jsonlite", + "png", + "rappdirs", + "rlang", + "withr" + ] + }, + "rex": { + "Package": "rex", + "Version": "1.2.1", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "rex", + "RemoteRef": "rex", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.2.1", + "Hash": "ae34cd56890607370665bee5bd17812f", + "Requirements": [ + "lazyeval" + ] + }, + "rlang": { + "Package": "rlang", + "Version": "1.1.3", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "42548638fae05fd9a9b5f3f437fbbbe2", + "Requirements": [] + }, + "rmarkdown": { + "Package": "rmarkdown", + "Version": "2.26", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "9b148e7f95d33aac01f31282d49e4f44", + "Requirements": [ + "bslib", + "evaluate", + "fontawesome", + "htmltools", + "jquerylib", + "jsonlite", + "knitr", + "tinytex", + "xfun", + "yaml" + ] + }, + "rmndt": { + "Package": "rmndt", + "Version": "0.6.0", + "Source": "Repository", + "Repository": "https://rse.pik-potsdam.de/r/packages", + "RemoteUrl": "https://github.com/pik-piam/rmndt", + "RemoteRef": "HEAD", + "RemoteSha": "7adc50e4c27032db8f55a2384e2b86cb09782faa", + "Hash": "963bb69e7f5fb5d03e353eaf79cb2145", + "Requirements": [ + "data.table" + ] + }, + "rootSolve": { + "Package": "rootSolve", + "Version": "1.8.2.4", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "c6fa270a97604238a5ce5fe5d327fdad", + "Requirements": [] + }, + "roxygen2": { + "Package": "roxygen2", + "Version": "7.3.1", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "c25fe7b2d8cba73d1b63c947bf7afdb9", + "Requirements": [ + "R6", + "brew", + "cli", + "commonmark", + "cpp11", + "desc", + "knitr", + "pkgload", + "purrr", + "rlang", + "stringi", + "stringr", + "withr", + "xml2" + ] + }, + "rpart": { + "Package": "rpart", + "Version": "4.1.23", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "b3d390424f41d04174cccf84d49676c2", + "Requirements": [] + }, + "rprojroot": { + "Package": "rprojroot", + "Version": "2.0.4", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "4c8415e0ec1e29f3f4f6fc108bef0144", + "Requirements": [] + }, + "rstudioapi": { + "Package": "rstudioapi", + "Version": "0.15.0", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "5564500e25cffad9e22244ced1379887", + "Requirements": [] + }, + "rversions": { + "Package": "rversions", + "Version": "2.1.2", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "rversions", + "RemoteRef": "rversions", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "2.1.2", + "Hash": "a9881dfed103e83f9de151dc17002cd1", + "Requirements": [ + "curl", + "xml2" + ] + }, + "rvest": { + "Package": "rvest", + "Version": "1.0.4", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "0bcf0c6f274e90ea314b812a6d19a519", + "Requirements": [ + "cli", + "glue", + "httr", + "lifecycle", + "magrittr", + "rlang", + "selectr", + "tibble", + "xml2" + ] + }, + "rworldmap": { + "Package": "rworldmap", + "Version": "1.3-8", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "764b6b1e9c3108357fb51da00b8d92d7", + "Requirements": [ + "fields", + "raster", + "sp", + "terra" + ] + }, + "sass": { + "Package": "sass", + "Version": "0.4.9", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "d53dbfddf695303ea4ad66f86e99b95d", + "Requirements": [ + "R6", + "fs", + "htmltools", + "rappdirs", + "rlang" + ] + }, + "scales": { + "Package": "scales", + "Version": "1.3.0", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "c19df082ba346b0ffa6f833e92de34d1", + "Requirements": [ + "R6", + "RColorBrewer", + "cli", + "farver", + "glue", + "labeling", + "lifecycle", + "munsell", + "rlang", + "viridisLite" + ] + }, + "selectr": { + "Package": "selectr", + "Version": "0.4-2", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "selectr", + "RemoteRef": "selectr", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.4-2", + "Hash": "3838071b66e0c566d55cc26bd6e27bf4", + "Requirements": [ + "R6", + "stringr" + ] + }, + "sessioninfo": { + "Package": "sessioninfo", + "Version": "1.2.2", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "sessioninfo", + "RemoteRef": "sessioninfo", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.2.2", + "Hash": "3f9796a8d0a0e8c6eb49a4b029359d1f", + "Requirements": [ + "cli" + ] + }, + "shiny": { + "Package": "shiny", + "Version": "1.8.0", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "3a1f41807d648a908e3c7f0334bf85e6", + "Requirements": [ + "R6", + "bslib", + "cachem", + "commonmark", + "crayon", + "ellipsis", + "fastmap", + "fontawesome", + "glue", + "htmltools", + "httpuv", + "jsonlite", + "later", + "lifecycle", + "mime", + "promises", + "rlang", + "sourcetools", + "withr", + "xtable" + ] + }, + "sourcetools": { + "Package": "sourcetools", + "Version": "0.1.7-1", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "5f5a7629f956619d519205ec475fe647", + "Requirements": [] + }, + "sp": { + "Package": "sp", + "Version": "2.1-2", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "40a9887191d33b2521a1d741f8c8aea2", + "Requirements": [ + "lattice" + ] + }, + "spam": { + "Package": "spam", + "Version": "2.10-0", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "ffe1f9e95a4375530747b268f82b5086", + "Requirements": [ + "Rcpp", + "dotCall64" + ] + }, + "stringi": { + "Package": "stringi", + "Version": "1.8.2", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "e68c45f81639001af5f1b15cd3599bbd", + "Requirements": [] + }, + "stringr": { + "Package": "stringr", + "Version": "1.5.1", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "960e2ae9e09656611e0b8214ad543207", + "Requirements": [ + "cli", + "glue", + "lifecycle", + "magrittr", + "rlang", + "stringi", + "vctrs" + ] + }, + "survival": { + "Package": "survival", + "Version": "3.6-4", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "e6e3071f471513e4b85f98ca041303c7", + "Requirements": [ + "Matrix" + ] + }, + "svglite": { + "Package": "svglite", + "Version": "2.1.3", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "124a41fdfa23e8691cb744c762f10516", + "Requirements": [ + "cpp11", + "systemfonts" + ] + }, + "sys": { + "Package": "sys", + "Version": "3.4.2", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "3a1be13d68d47a8cd0bfd74739ca1555", + "Requirements": [] + }, + "systemfonts": { + "Package": "systemfonts", + "Version": "1.0.5", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "15b594369e70b975ba9f064295983499", + "Requirements": [ + "cpp11" + ] + }, + "terra": { + "Package": "terra", + "Version": "1.7-71", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "e8611881ab70a4fb7a1f629b31e6fcff", + "Requirements": [ + "Rcpp" + ] + }, + "testthat": { + "Package": "testthat", + "Version": "3.2.1.1", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "testthat", + "RemoteRef": "testthat", + "RemoteRepos": "https://cran.rstudio.com", + "RemoteReposName": "CRAN", + "RemotePkgPlatform": "source", + "RemoteSha": "3.2.1.1", + "Hash": "3f6e7e5e2220856ff865e4834766bf2b", + "Requirements": [ + "R6", + "brio", + "callr", + "cli", + "desc", + "digest", + "evaluate", + "jsonlite", + "lifecycle", + "magrittr", + "pkgload", + "praise", + "processx", + "ps", + "rlang", + "waldo", + "withr" + ] + }, + "textshaping": { + "Package": "textshaping", + "Version": "0.3.7", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "997aac9ad649e0ef3b97f96cddd5622b", + "Requirements": [ + "cpp11", + "systemfonts" + ] + }, + "tibble": { + "Package": "tibble", + "Version": "3.2.1", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "a84e2cc86d07289b3b6f5069df7a004c", + "Requirements": [ + "fansi", + "lifecycle", + "magrittr", + "pillar", + "pkgconfig", + "rlang", + "vctrs" + ] + }, + "tidyr": { + "Package": "tidyr", + "Version": "1.3.1", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "915fb7ce036c22a6a33b5a8adb712eb1", + "Requirements": [ + "cli", + "cpp11", + "dplyr", + "glue", + "lifecycle", + "magrittr", + "purrr", + "rlang", + "stringr", + "tibble", + "tidyselect", + "vctrs" + ] + }, + "tidyselect": { + "Package": "tidyselect", + "Version": "1.2.1", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "829f27b9c4919c16b593794a6344d6c0", + "Requirements": [ + "cli", + "glue", + "lifecycle", + "rlang", + "vctrs", + "withr" + ] + }, + "tidyverse": { + "Package": "tidyverse", + "Version": "2.0.0", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "c328568cd14ea89a83bd4ca7f54ae07e", + "Requirements": [ + "broom", + "cli", + "conflicted", + "dbplyr", + "dplyr", + "dtplyr", + "forcats", + "ggplot2", + "googledrive", + "googlesheets4", + "haven", + "hms", + "httr", + "jsonlite", + "lubridate", + "magrittr", + "modelr", + "pillar", + "purrr", + "ragg", + "readr", + "readxl", + "reprex", + "rlang", + "rstudioapi", + "rvest", + "stringr", + "tibble", + "tidyr", + "xml2" + ] + }, + "timechange": { + "Package": "timechange", + "Version": "0.3.0", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "c5f3c201b931cd6474d17d8700ccb1c8", + "Requirements": [ + "cpp11" + ] + }, + "tinytex": { + "Package": "tinytex", + "Version": "0.51", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "tinytex", + "RemoteRef": "tinytex", + "RemoteRepos": "https://cran.rstudio.com", + "RemoteReposName": "CRAN", + "RemotePkgPlatform": "source", + "RemoteSha": "0.51", + "Hash": "d44e2fcd2e4e076f0aac540208559d1d", + "Requirements": [ + "xfun" + ] + }, + "trafficlight": { + "Package": "trafficlight", + "Version": "1.15.1", + "Source": "Repository", + "Repository": "https://rse.pik-potsdam.de/r/packages", + "RemoteUrl": "https://github.com/pik-piam/trafficlight", + "RemoteRef": "HEAD", + "RemoteSha": "3ff25cf3c1c9a9d60f1e92c5de0714e44ac923a3", + "Hash": "f93d9023c872d2156f964735905b0664", + "Requirements": [ + "ggplot2", + "magclass", + "qualV" + ] + }, + "tzdb": { + "Package": "tzdb", + "Version": "0.4.0", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "f561504ec2897f4d46f0c7657e488ae1", + "Requirements": [ + "cpp11" + ] + }, + "urlchecker": { + "Package": "urlchecker", + "Version": "1.0.1", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "urlchecker", + "RemoteRef": "urlchecker", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.0.1", + "Hash": "409328b8e1253c8d729a7836fe7f7a16", + "Requirements": [ + "cli", + "curl", + "xml2" + ] + }, + "usethis": { + "Package": "usethis", + "Version": "2.2.2", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "60e51f0b94d0324dc19e44110098fa9f", + "Requirements": [ + "cli", + "clipr", + "crayon", + "curl", + "desc", + "fs", + "gert", + "gh", + "glue", + "jsonlite", + "lifecycle", + "purrr", + "rappdirs", + "rlang", + "rprojroot", + "rstudioapi", + "whisker", + "withr", + "yaml" + ] + }, + "utf8": { + "Package": "utf8", + "Version": "1.2.4", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "62b65c52671e6665f803ff02954446e9", + "Requirements": [] + }, + "uuid": { + "Package": "uuid", + "Version": "1.2-0", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "303c19bfd970bece872f93a824e323d9", + "Requirements": [] + }, + "vctrs": { + "Package": "vctrs", + "Version": "0.6.5", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "c03fa420630029418f7e6da3667aac4a", + "Requirements": [ + "cli", + "glue", + "lifecycle", + "rlang" + ] + }, + "viridis": { + "Package": "viridis", + "Version": "0.6.4", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "80cd127bc8c9d3d9f0904ead9a9102f1", + "Requirements": [ + "ggplot2", + "gridExtra", + "viridisLite" + ] + }, + "viridisLite": { + "Package": "viridisLite", + "Version": "0.4.2", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "c826c7c4241b6fc89ff55aaea3fa7491", + "Requirements": [] + }, + "vroom": { + "Package": "vroom", + "Version": "1.6.4", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "9db52c1656cf19c124f93124ea57f0fd", + "Requirements": [ + "bit64", + "cli", + "cpp11", + "crayon", + "glue", + "hms", + "lifecycle", + "progress", + "rlang", + "tibble", + "tidyselect", + "tzdb", + "vctrs", + "withr" + ] + }, + "waldo": { + "Package": "waldo", + "Version": "0.5.2", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "c7d3fd6d29ab077cbac8f0e2751449e6", + "Requirements": [ + "cli", + "diffobj", + "fansi", + "glue", + "rematch2", + "rlang", + "tibble" + ] + }, + "whisker": { + "Package": "whisker", + "Version": "0.4.1", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "whisker", + "RemoteRef": "whisker", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.4.1", + "Hash": "c6abfa47a46d281a7d5159d0a8891e88", + "Requirements": [] + }, + "whoami": { + "Package": "whoami", + "Version": "1.3.0", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "whoami", + "RemoteRef": "whoami", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.3.0", + "Hash": "ef0f4d9b8f2cc2ebeccae1d725b8a023", + "Requirements": [ + "httr", + "jsonlite" + ] + }, + "withr": { + "Package": "withr", + "Version": "2.5.2", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "4b25e70111b7d644322e9513f403a272", + "Requirements": [] + }, + "writexl": { + "Package": "writexl", + "Version": "1.5.0", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "856a075aec895ea1bea3055fa54e356c", + "Requirements": [] + }, + "xfun": { + "Package": "xfun", + "Version": "0.43", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "ab6371d8653ce5f2f9290f4ec7b42a8e", + "Requirements": [] + }, + "xml2": { + "Package": "xml2", + "Version": "1.3.5", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "6c40e5cfcc6aefd88110666e18c31f40", + "Requirements": [] + }, + "xmlparsedata": { + "Package": "xmlparsedata", + "Version": "1.0.5", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "xmlparsedata", + "RemoteRef": "xmlparsedata", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.0.5", + "Hash": "45e4bf3c46476896e821fc0a408fb4fc", + "Requirements": [] + }, + "xopen": { + "Package": "xopen", + "Version": "1.0.1", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "423df1e86d5533fcb73c6b02b4923b49", + "Requirements": [ + "processx" + ] + }, + "xtable": { + "Package": "xtable", + "Version": "1.8-4", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "xtable", + "RemoteRef": "xtable", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.8-4", + "Hash": "b8acdf8af494d9ec19ccb2481a9b11c2", + "Requirements": [] + }, + "yaml": { + "Package": "yaml", + "Version": "2.3.8", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "29240487a071f535f5e5d5a323b7afbd", + "Requirements": [] + }, + "ymlthis": { + "Package": "ymlthis", + "Version": "0.1.7", + "Source": "Repository", + "Repository": "CRAN", + "RemoteType": "standard", + "RemotePkgRef": "ymlthis", + "RemoteRef": "ymlthis", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.1.7", + "Hash": "e9a88a6c05373f3008c42d1009ee6d28", + "Requirements": [ + "crayon", + "fs", + "glue", + "magrittr", + "purrr", + "rlang", + "rmarkdown", + "rstudioapi", + "stringr", + "usethis", + "whoami", + "withr", + "yaml" + ] + }, + "zip": { + "Package": "zip", + "Version": "2.3.0", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "d98c94dacb7e0efcf83b0a133a705504", + "Requirements": [] + }, + "zoo": { + "Package": "zoo", + "Version": "1.8-12", + "Source": "Repository", + "Repository": "CRAN", + "Hash": "5c715954112b45499fb1dadc6ee6ee3e", + "Requirements": [ + "lattice" + ] + } + } +} From 1a3b81348448aeaab93ef0282a975cb6919bbbba Mon Sep 17 00:00:00 2001 From: piontek Date: Thu, 13 Jun 2024 09:40:01 +0200 Subject: [PATCH 031/875] change KotzWenz damage implementation to allow using high/low/median/mean damages from the distribution, using an R script --- config/default.cfg | 1 + config/scenario_config_NGFS_v5.csv | 94 ++++++------------- main.gms | 4 + modules/50_damages/BurkeLike/not_used.txt | 1 + modules/50_damages/DiceLike/not_used.txt | 1 + modules/50_damages/KWLike/not_used.txt | 1 + modules/50_damages/KWTCint/not_used.txt | 1 + modules/50_damages/KW_SE/not_used.txt | 1 + modules/50_damages/KotzWenz/datainput.gms | 41 +------- modules/50_damages/KotzWenz/declarations.gms | 14 +-- modules/50_damages/KotzWenz/not_used.txt | 1 + modules/50_damages/KotzWenz/postsolve.gms | 56 ++--------- modules/50_damages/KotzWenz/sets.gms | 5 + modules/50_damages/Labor/not_used.txt | 1 + modules/50_damages/TC/not_used.txt | 1 + modules/50_damages/off/not_used.txt | 1 + .../BurkeLikeItr/not_used.txt | 1 + .../DiceLikeItr/not_used.txt | 1 + .../KWTCintItr/not_used.txt | 1 + .../KW_SEitr/not_used.txt | 1 + .../KWlikeItr/not_used.txt | 1 + .../KWlikeItrCPnash/not_used.txt | 1 + .../KWlikeItrCPreg/not_used.txt | 1 + .../KotzWenzCPreg/not_used.txt | 2 +- .../KotzWenzCPreg/postsolve.gms | 3 +- .../KotzWenzItr/not_used.txt | 2 +- .../KotzWenzItr/postsolve.gms | 3 +- .../51_internalizeDamages/LabItr/not_used.txt | 1 + .../51_internalizeDamages/TCitr/not_used.txt | 1 + .../51_internalizeDamages/off/not_used.txt | 1 + scripts/input/run_KotzWenz_damages.R | 76 +++++++++++++++ 31 files changed, 152 insertions(+), 168 deletions(-) create mode 100644 scripts/input/run_KotzWenz_damages.R diff --git a/config/default.cfg b/config/default.cfg index 99e240b39..6b5cab02f 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -136,6 +136,7 @@ cfg$files2export$start <- c("config/conopt3.opt", "scripts/input/exoGAINSAirpollutants.R", "scripts/input/climate_assessment_run.R", "scripts/input/climate_assessment_temperatureImpulseResponse.R", + "scripts/input/run_KotzWenz_damages.R", ".Rprofile", "config/mappingEDGEtoREMINDsectors.csv", "modules/11_aerosols/exoGAINS/input/ef_gains.cs4r", diff --git a/config/scenario_config_NGFS_v5.csv b/config/scenario_config_NGFS_v5.csv index 507d449ae..19964ecf5 100644 --- a/config/scenario_config_NGFS_v5.csv +++ b/config/scenario_config_NGFS_v5.csv @@ -1,67 +1,27 @@ -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_wasteIncinerationCCSshare;cm_DiscRateScen;c_shBioTrans;cm_EDGEtr_scen;cm_reducCostB;cm_CES_calibration_default_prices;cm_CO2TaxSectorMarkup;c_ccsinjecratescen;c_ccsinjecrateRegi;cm_33DAC;cm_33EW;cm_bioenergy_SustTax;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;carbonpriceRegi;regipol;cm_implicitQttyTarget;cm_implicitQttyTarget_tolerance;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -# ___Baselines___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-Base;0;;;gdp_SSP2EU;medOil;medGas;medCoal;load;5;off;off;uncalibrated;off;0;off;RCP26_50;off;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;;0;1;Mix1;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-Base: 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. -SSP2-Base_d50;0;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KWLike;0;;RCP26_50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d50: 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -SSP2-Base_d95;0;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KWLike;0;;RCP26_95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d95: 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -SSP2-Base_d50high;d50high;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KW_SE;1.96;;RCP26_50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d50: 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -SSP2-Base_d95high;d95high;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KW_SE;1.96;;RCP26_95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d95: 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -# ___NO_DAMAGES___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -h_cpol_noUkr;NGFS;SSP2-Base;;;;;;;;;;;;;;;;;30;;;;;;;;;;;Mix2;none;;;;;0;0;1.5;rcp45;3;off;0;NPi;none;;;;;;1;2100;;2050;9;;;3;1.05;100;;NPi2018;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2005;;;;;h_cpol: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. -h_cpol;NGFS;h_cpol_noUkr;EUR.pegas.worldPricemarkup 0.5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;;h_cpol_noUkr;;; -h_ndc;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;;;;Mix3;none;;;1;;;;1.5;rcp45;3;globallyOptimal;0;NDC;none;;;;;;1;2100;3;2050;;;;;;;;NDC;;;;3;;;;;;;2025;;h_cpol_noUkr;h_cpol;h_cpol_noUkr;h_ndc: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. -o_1p5c;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;Mix4;heatpumps;;;1;;;;1.5;rcp20;9;globallyOptimal;560;diffCurvPhaseIn2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 4300, 2080.GLO.tax.t.CCS.biomass 4300;0.1;;;200;2045;6;2050;;;;;;;;NDC;;;;2;;;;;;;2025;;h_cpol_noUkr;h_cpol;;o_1p5c: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. -o_lowdem;NGFS;o_1p5c;;gdp_SSP2_lowEn;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;;;;;;GLO 0.00125, CAZ_regi 0.0045, CHA_regi 0.004, EUR_regi 0.0045, IND_regi 0.004, JPN_regi 0.002, USA_regi 0.002;;;;;;;560;diffCurvPhaseIn2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 3800, 2080.GLO.tax.t.CCS.biomass 3800;0.1;;;;;1;;;;;;;;;;;;;;;;;;;;2025;;h_cpol_noUkr;h_cpol;;o_lowdem: Low Demand scenario -o_2c;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.5;;;Mix4;heatpumps;;;1;;;;1.5;rcp26;9;globallyOptimal;1050;diffCurvPhaseIn2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 2300, 2080.GLO.tax.t.CCS.biomass 2300;;;NGFS_v4_20pc;100;2080;3;2050;;;;;;;;NDC;;;;2;;;;;;;2025;;h_cpol_noUkr;h_cpol;;o_2c: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. -d_delfrag;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.5;;;Mix3;heatpumps;;;;GLO 0.00125, CAZ_regi 0.0045, CHA_regi 0.004, EUR_regi 0.0045, IND_regi 0.004, JPN_regi 0.002, USA_regi 0.002;;;1.5;rcp26;9;globallyOptimal;1010;diffCurvPhaseIn2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 2300, 2080.GLO.tax.t.CCS.biomass 2300;;;;100;2080;;2050;;;;;;;;NDC;;;;2;;;;;;;2035;;h_cpol;h_cpol;;d_delfrag: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. -d_strain;NGFS;d_delfrag;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3;off;;NPi;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 2300, 2080.GLO.tax.t.CCS.biomass 2300;;;NGFS_v4_20pc;1;2100;;;;;;;;;;;;;;;;;;;;;2035;;h_cpol;h_cpol;;d_strain: Fragmented world -d_rap;0;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;Mix4;heatpumps;;GLO.trans 2, GLO.build 2;2;;;;1.5;rcp20;9;globallyOptimal;560;diffCurvPhaseIn2Lin;none;;;;;;200;2045;3;2050;;;;;;;;NDC;;;;2;;;;;;;2025;;h_cpol_noUkr;h_cpol;;d_rap: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. -# ___WITH_DAMAGES___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -h_cpol_d50;d50;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d50: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -h_cpol_d95;d95;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_95;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d95: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -h_cpol_d50high;d50high;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d50high: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -h_cpol_d95high;d95high;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;RCP26_95;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d95high: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -h_ndc_d50;d50;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d50;SSP2-Base;h_ndc_d50: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -h_ndc_d95;d95;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_95;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d95;SSP2-Base;h_ndc_d95: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -h_ndc_d50high;d50high;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d50high;SSP2-Base;h_ndc_d50high: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -h_ndc_d95high;d95high;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;RCP26_95;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d95high;SSP2-Base;h_ndc_d95high: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -o_1p5c_d50;d50;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d50;;o_1p5c_d50: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_1p5c_d95;d95;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d95;;o_1p5c_d95: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_1p5c_d50high;d50high;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d50high;;o_1p5c_d50high: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_1p5c_d95high;d95high;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d95high;;o_1p5c_d95high: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_1p5c_d50_cpricereg;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_d50_cpricereg: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_1p5c_d95_cpricereg;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_d95_cpricereg: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_1p5c_dni50;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_dni50: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -o_1p5c_dni95;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_95;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_dni95: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -o_lowdem_d50;d50;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d50;;o_lowdem_d50 -o_lowdem_d95;d95;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d95;;o_lowdem_d95 -o_lowdem_d50high;d50high;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d50high;;o_lowdem_d50high -o_lowdem_d95high;d95high;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d95high;;o_lowdem_d95high -o_2c_d50;d50;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d50;;o_2c_d50: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_2c_d95;d95;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d95;;o_2c_d95: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_2c_d50high;d50high;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d50high;;o_2c_d50high: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_2c_d95high;d95high;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d95high;;o_2c_d95high: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_2c_d50_cpricereg;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_d50_cpricereg: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. The Social Cost of Carbon is regional rather than globally uniform. -o_2c_d95_cpricereg;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_d95_cpricereg: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. The Social Cost of Carbon is regional rather than globally uniform. -o_2c_dni50;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_dni50: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -o_2c_dni50_fixCprice;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;0;;1050;exogenous;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_dni50_fixCprice: a test run fixing the carbon price to the one from the fully integrated o_2c_d50 scenario -o_2c_fixCprice;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;off;0;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;0;;1050;exogenous;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_fixCprice: a test run fixing the carbon price to the one from the fully integrated o_2c scenario -o_2c_dni95;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_95;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_dni95: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -d_delfrag_d50;d50;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d50;h_cpol_d50;;d_delfrag_d50: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -d_delfrag_d95;d95;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d95;h_cpol_d95;;d_delfrag_d95: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -d_delfrag_d50high;d50high;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d50high;h_cpol_d50high;;d_delfrag_d50high: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -d_delfrag_d95high;d95high;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d95high;h_cpol_d95high;;d_delfrag_d95high: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -d_strain_d50;d50;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d50;h_cpol_d50;;d_strain_d50: Fragmented World -d_strain_d95;d95;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d95;h_cpol_d95;;d_strain_d95: Fragmented World -d_strain_d50high;d50high;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d50high;h_cpol_d50high;;d_strain_d50high: Fragmented World -d_strain_d95high;d95high;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d95high;h_cpol_d95high;;d_strain_d95high: Fragmented World -d_rap_d50;d50;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d50;;d_rap_d50: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -d_rap_d95;d95;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d95;;d_rap_d95: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -d_rap_d50high;d50high;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d50high;;d_rap_d50high: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -d_rap_d95high;d95high;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d95high;;d_rap_d95high: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_cba_d50;d50;;;;;;;load;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_50;on;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;o_2c;h_cpol_noUkr;h_cpol_d50;;o_cba_d50: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_cba_d95;d95;;;;;;;load;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_95;on;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;o_2c;h_cpol_noUkr;h_cpol_d95;;o_cba_d95: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_cba_d50high;d50high;;;;;;;load;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_50;on;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;o_2c;h_cpol_noUkr;h_cpol_d50high;;o_cba_d50high: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_cba_d95high;d95high;;;;;;;load;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_95;on;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;o_2c;h_cpol_noUkr;h_cpol_d95high;;o_cba_d95high: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +title;start;copyConfigFrom;cm_import_tax;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;CES_parameters;slurmConfig;climate;cm_magicc_calibrateTemperature2000;damages;cm_KotzWenzPerc;internalizeDamages;cm_magicc_config;cm_magicc_temperatureImpulseResponse;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;cm_CO2TaxSectorMarkup;c_ccsinjecratescen;c_ccsinjecrateRegi;cm_33DAC;cm_33EW;cm_bioenergy_SustTax;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;carbonpriceRegi;regipol;cm_implicitQttyTarget;cm_implicitQttyTarget_tolerance;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;uncalibrated;off;;off;OLDDEFAULT;off;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +# ___Baselines___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2-Base;0;;;gdp_SSP2EU;medOil;medGas;medCoal;load;5;off;uncalibrated;off;;off;RCP26_50;off;0;100;0;0;simple;edge_esm;subsectors;;0;1;Mix1;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-Base: 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. +SSP2-Base_d50;0;SSP2-Base;;;;;;;;magicc;HADCRUT4;KotzWenz;med;;RCP26_50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d50: 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. +# ___NO_DAMAGES___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +h_cpol_noUkr;NGFS;SSP2-Base;;;;;;;;;;;;;;;;;;;;;;;;;Mix2;none;;;;;0;0;1.5;rcp45;3;off;0;NPi;none;;;;;;1;2100;;2050;9;;;3;1.05;100;;NPi2018;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2005;;;;;h_cpol: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. +h_cpol;NGFS;h_cpol_noUkr;EUR.pegas.worldPricemarkup 0.5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;;h_cpol_noUkr;;; +h_ndc;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;Mix3;none;;;1;;;;1.5;rcp45;3;globallyOptimal;0;NDC;none;;;;;;1;2100;3;2050;;;;;;;;NDC;;;;3;;;;;;;2025;;h_cpol_noUkr;h_cpol;h_cpol_noUkr;h_ndc: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. +o_1p5c;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;Mix4;heatpumps;;;1;;;;1.5;rcp20;9;globallyOptimal;560;diffCurvPhaseIn2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 4300, 2080.GLO.tax.t.CCS.biomass 4300;0.1;;;200;2045;6;2050;;;;;;;;NDC;;;;2;;;;;;;2025;;h_cpol_noUkr;h_cpol;;o_1p5c: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. +o_lowdem;NGFS;o_1p5c;;gdp_SSP2_lowEn;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;;;;;;GLO 0.00125, CAZ_regi 0.0045, CHA_regi 0.004, EUR_regi 0.0045, IND_regi 0.004, JPN_regi 0.002, USA_regi 0.002;;;;;;;560;diffCurvPhaseIn2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 3800, 2080.GLO.tax.t.CCS.biomass 3800;0.1;;;;;1;;;;;;;;;;;;;;;;;;;;2025;;h_cpol_noUkr;h_cpol;;o_lowdem: Low Demand scenario +o_2c;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.5;;;Mix4;heatpumps;;;1;;;;1.5;rcp26;9;globallyOptimal;1050;diffCurvPhaseIn2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 2300, 2080.GLO.tax.t.CCS.biomass 2300;;;NGFS_v4_20pc;100;2080;3;2050;;;;;;;;NDC;;;;2;;;;;;;2025;;h_cpol_noUkr;h_cpol;;o_2c: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. +d_delfrag;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.5;;;Mix3;heatpumps;;;;GLO 0.00125, CAZ_regi 0.0045, CHA_regi 0.004, EUR_regi 0.0045, IND_regi 0.004, JPN_regi 0.002, USA_regi 0.002;;;1.5;rcp26;9;globallyOptimal;1010;diffCurvPhaseIn2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 2300, 2080.GLO.tax.t.CCS.biomass 2300;;;;100;2080;;2050;;;;;;;;NDC;;;;2;;;;;;;2035;;h_cpol;h_cpol;;d_delfrag: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. +d_strain;NGFS;d_delfrag;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3;off;;NPi;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 2300, 2080.GLO.tax.t.CCS.biomass 2300;;;NGFS_v4_20pc;1;2100;;;;;;;;;;;;;;;;;;;;;2035;;h_cpol;h_cpol;;d_strain: Fragmented world +d_rap;0;h_cpol;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;Mix4;heatpumps;;GLO.trans 2, GLO.build 2;2;;;;1.5;rcp20;9;globallyOptimal;560;diffCurvPhaseIn2Lin;none;;;;;;200;2045;3;2050;;;;;;;;NDC;;;;2;;;;;;;2025;;h_cpol_noUkr;h_cpol;;d_rap: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. +# ___WITH_DAMAGES___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +h_cpol_d50;d50;h_cpol;;;;;;;14;magicc;HADCRUT4;KotzWenz;med;off;RCP26_50;off;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d50: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. +h_ndc_d50;d50;h_ndc;;;;;;;14;magicc;HADCRUT4;KotzWenz;med;off;RCP26_50;off;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d50;SSP2-Base;h_ndc_d50: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. +o_1p5c_d50;d50;o_1p5c;;;;;;;14;magicc;HADCRUT4;KotzWenz;med;KotzWenzItr;RCP26_50;on;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d50;;o_1p5c_d50: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +o_lowdem_d50;d50;o_lowdem;;;;;;;14;magicc;HADCRUT4;KotzWenz;med;KotzWenzItr;RCP26_50;on;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d50;;o_lowdem_d50 +o_2c_d50;d50;o_2c;;;;;;;14;magicc;HADCRUT4;KotzWenz;med;KotzWenzItr;RCP26_50;on;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d50;;o_2c_d50: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +o_2c_d95;d95;o_2c;;;;;;;14;magicc;HADCRUT4;KotzWenz;med;KotzWenzItr;RCP26_95;on;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d95;;o_2c_d95: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +d_strain_d50;d50;d_strain;;;;;;;14;magicc;HADCRUT4;KotzWenz;med;KotzWenzItr;RCP26_50;on;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d50;h_cpol_d50;;d_strain_d50: Fragmented World +d_rap_d50;d50;d_rap;;;;;;;14;magicc;HADCRUT4;KotzWenz;med;KotzWenzItr;RCP26_50;on;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d50;;d_rap_d50: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +o_cba_d50;d50;;;;;;;;14;magicc;HADCRUT4;KotzWenz;med;KotzWenzItr;RCP26_50;on;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;o_2c;h_cpol_noUkr;h_cpol_d50;;o_cba_d50: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. diff --git a/main.gms b/main.gms index 15c85d043..6be613596 100755 --- a/main.gms +++ b/main.gms @@ -401,6 +401,7 @@ $setglobal regipol none !! def = none *' * (off): no damages on GDP *' * (DiceLike): DICE-like damages (linear-quadratic damages on GDP). Choose specification via cm_damage_DiceLike_specification *' * (BurkeLike): Burke-like damages (growth rate damages on GDP). Choose specification via cm_damage_BurkeLike_specification and cm_damage_BurkeLike_persistenceTime +*' * (KotzWenz): damage function based on Kotz et al. (2024) *' * (KWLike): Damage function based on Kalkuhl & Wenz (2020) *' * (KW_SE): Damage function based on Kalkuhl & Wenz (2020), but for the upper bound of the damages based on their standard error calculation *' * (KWTCint): Combines aggregate damages from Kalkuhl & Wenz (2020) and tropical cyclone damages from Krichene et al. (2022) @@ -412,6 +413,7 @@ $setGlobal damages off !! def = off *' * (off): *' * (DiceLikeItr): Internalize DICE-like damages (calculate the SCC) adjust cm_damages_SccHorizon. Requires cm_emiscen set to 9 for now. *' * (BurkeLikeItr): Internalize Burke-like damages (calculate the SCC) adjust cm_damages_SccHorizo. Requires cm_emiscen set to 9 for now. +*' * (KotzWenzItr): Internalize KotzWenz damages (calculate the SCC). Requires cm_emiscen set to 9. *' * (KWlikeItr): Internalize damage function based on Kalkuhl & Wenz (2020). Requires cm_emiscen set to 9 for now. *' * (KWlikeItrCPnash): Internalize damage function based on Kalkuhl & Wenz (2020), but with Nash SCC, i.e. each region only internalizes its own damages. Requires cm_emiscen set to 9 for now. *' * (KWlikeItrCPreg): Internalize damage function based on Kalkuhl & Wenz (2020), but with regional SCC instead of a global uniform price. Requires cm_emiscen set to 9 for now. @@ -1665,6 +1667,8 @@ $setGlobal cm_magicc_temperatureImpulseResponse off !! def = off !! $setGlobal cm_magicc_config OLDDEFAULT !! def = OLDDEFAULT ; {OLDDEFAULT, RCP26_[5,15,..,95], TCRE_[LOWEST,LOW,MEDIUM,HIGH,HIGHEST] } *' climate damages (HowardNonCatastrophic, DICE2013R, DICE2016, HowardNonCatastrophic, HowardInclCatastrophic, KWcross, KWpanelPop} $setGlobal cm_damage_DiceLike_specification HowardNonCatastrophic !! def = HowardNonCatastrophic +***cfg$gms$cm_KotzWenzPerc <- mean #def = mean; {low,med,mean,high} the percentile of the damage distribution from Kotz et al. (2024), low = 5th, high = 95th percentile +$setGlobal cm_KotzWenzPerc mean !! def = mean *** cfg$gms$cm_damage_Labor_exposure <- "low" # def = "low"; {low,high} $setGlobal cm_damage_Labor_exposure low !! def = low !! regexp = low|high *** cfg$gms$cm_TCssp <- "SSP2" #def = "SSP2"; {SSP2,SSP5} the scenario for which the damage function is specified - currently only SSP2 and SSP5 are available diff --git a/modules/50_damages/BurkeLike/not_used.txt b/modules/50_damages/BurkeLike/not_used.txt index 21ec74012..5627d4359 100644 --- a/modules/50_damages/BurkeLike/not_used.txt +++ b/modules/50_damages/BurkeLike/not_used.txt @@ -5,6 +5,7 @@ # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de name,type,reason +pm_damageMarginalIsoPerc,input,questionnaire pm_globalMeanTemperatureZeroed1900,input,questionnaire pm_damageMarginalT,input,questionnaire pm_damageMarginalTm1,input,questionnaire diff --git a/modules/50_damages/DiceLike/not_used.txt b/modules/50_damages/DiceLike/not_used.txt index affac1b01..a262e9b8e 100644 --- a/modules/50_damages/DiceLike/not_used.txt +++ b/modules/50_damages/DiceLike/not_used.txt @@ -5,6 +5,7 @@ # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de name,type,reason +pm_damageMarginalIsoPerc,input,questionnaire pm_regionalTemperature,input,questionnaire pm_damageGrowthRate,input,questionnaire cm_damages_BurkeLike_specification,input,questionnaire diff --git a/modules/50_damages/KWLike/not_used.txt b/modules/50_damages/KWLike/not_used.txt index 4c44ec3c6..d5e1161f6 100644 --- a/modules/50_damages/KWLike/not_used.txt +++ b/modules/50_damages/KWLike/not_used.txt @@ -5,6 +5,7 @@ # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de name,type,reason +pm_damageMarginalIsoPerc,input,questionnaire pm_globalMeanTemperatureZeroed1900,input,questionnaire cm_damages_BurkeLike_specification,input,questionnaire cm_damages_BurkeLike_persistenceTime,input,questionnaire diff --git a/modules/50_damages/KWTCint/not_used.txt b/modules/50_damages/KWTCint/not_used.txt index e36d3b939..7ae36cbac 100755 --- a/modules/50_damages/KWTCint/not_used.txt +++ b/modules/50_damages/KWTCint/not_used.txt @@ -5,6 +5,7 @@ # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de name,type,reason +pm_damageMarginalIsoPerc,input,questionnaire cm_damages_BurkeLike_specification,input,questionnaire cm_damages_BurkeLike_persistenceTime,input,questionnaire pm_damageMarginal,input,questionnaire diff --git a/modules/50_damages/KW_SE/not_used.txt b/modules/50_damages/KW_SE/not_used.txt index 8db49cde6..3e070eeec 100755 --- a/modules/50_damages/KW_SE/not_used.txt +++ b/modules/50_damages/KW_SE/not_used.txt @@ -5,6 +5,7 @@ # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de name,type,reason +pm_damageMarginalIsoPerc,input,questionnaire pm_GDPGross,input,questionnaire pm_damageMarginalTC,input,questionnaire pm_GDPGrossIso,input,questionnaire diff --git a/modules/50_damages/KotzWenz/datainput.gms b/modules/50_damages/KotzWenz/datainput.gms index cd7a35047..6480a2254 100644 --- a/modules/50_damages/KotzWenz/datainput.gms +++ b/modules/50_damages/KotzWenz/datainput.gms @@ -1,35 +1,5 @@ -parameter f50_beta1(nboot,iso) "damage function parameter for temperature" -/ -$ondelim -$include "./modules/50_damages/KotzWenz/input/beta1_for_REMIND.csv" -$offdelim -/ -; -parameter f50_beta2(nboot,iso) "damage function parameter for temperature^2" -/ -$ondelim -$include "./modules/50_damages/KotzWenz/input/beta2_for_REMIND.csv" -$offdelim -/ -; -parameter f50_maxtemp(nboot) "maximum temperature for which damage function is valid" -/ -$ondelim -$include "./modules/50_damages/KotzWenz/input/maxtemp_for_REMIND.csv" -$offdelim -/ -; - -*read in national population and gdp for weighted regional aggregation -*table f50_countryPop(tall,iso,all_POPscen) -*$ondelim -*$include "./modules/50_damages/KotzWenz/input/f50_pop.cs3r" -*$offdelim -*; -*p50_isoPop(tall,iso)=f50_countryPop(tall,iso,"%cm_POPscen%"); - -table f50_countryGDP(tall,iso,all_GDPscen) "country level GDP" +table f50_countryGDP(tall,iso,all_GDPscen) "country level GDP from SSPs" $ondelim $include "./modules/50_damages/KotzWenz/input/f50_gdp.cs3r" $offdelim @@ -39,9 +9,6 @@ $offdelim *interpolate to annual time steps *loop(ttot$(ttot.val ge 2005), * loop(tall$(pm_tall_2_ttot(tall,ttot)), -* p50_isoPop(tall,iso) = -* (1-pm_interpolWeight_ttot_tall(tall))*p50_isoPop(ttot,iso) -* + pm_interpolWeight_ttot_tall(tall)*p50_isoPop(ttot+1,iso); * p50_isoGDP(tall,iso) = * (1-pm_interpolWeight_ttot_tall(tall))*p50_isoGDP(ttot,iso) * + pm_interpolWeight_ttot_tall(tall)*p50_isoGDP(ttot+1,iso); @@ -50,7 +17,9 @@ $offdelim *keep constant after 2150 as it is needed until 2300 for SCC calculation *p50_isoGDP(tall,iso)$(tall.val ge 2150) = p50_isoGDP("2150",iso); -*p50_isoPop(tall,iso)$(tall.val ge 2150) = p50_isoPop("2150",iso); + +* initialize +pm_damage(tall,regi) = 1; *calculate and interpolate country GDP fraction of regional GDP for SSP2EU scenario, country GDP is in PPP, regional GDP in trl MER! pm_GDPfrac(tall,iso)=f50_countryGDP(tall,iso,"%cm_GDPscen%")/1000000/(sum(regi2iso(regi,iso),pm_gdp(tall,regi)/pm_shPPPMER(regi))+1e-9); @@ -65,5 +34,3 @@ display pm_GDPfrac; pm_GDPfrac(tall,iso)$(tall.val ge 2150) = pm_GDPfrac("2150",iso); -* initialize -pm_damage(tall,regi) = 1; diff --git a/modules/50_damages/KotzWenz/declarations.gms b/modules/50_damages/KotzWenz/declarations.gms index 92a192da5..79be5ca45 100644 --- a/modules/50_damages/KotzWenz/declarations.gms +++ b/modules/50_damages/KotzWenz/declarations.gms @@ -1,15 +1,9 @@ Parameters -pm_GDPfrac(tall,iso) "country fraction of regional GDP" -p50_globalMeanTemp2020(nboot,tall) "global mean temperature difference to 2020" -p50_damageIso(tall,iso,nboot) "country level damage factor" -p50_damageIsoPerc(tall,iso) "damage percentile - currently mean" +pm_GDPfrac(tall,iso) "GDP fraction of a country in its region" +p50_damageIsoPerc(tall,iso,percentile) "damage factor for country and bootstrapping" pm_damage(tall,all_regi) "regional damage factor" -p50_damageMarginalIso(tall,iso,nboot) "country level damage marginal" -p50_damageMarginalIsoPerc(tall,iso) "country level marginal percentile - currently mean" -pm_damageMarginal(tall,all_regi) "regional damage marginal" -p50_r(nboot) "needed for percentile computation" -p50_pct(*) /median 50.0, 95 95.0/ "possible percentiles for damages" -p50_rank(nboot) "needed for percentile computation" +pm_damageMarginalIsoPerc(tall,iso,percentile) "marginal damage for country and bootstrapping" +pm_damageMarginal(tall,all_regi) "regional marginal damage" ; positive variable diff --git a/modules/50_damages/KotzWenz/not_used.txt b/modules/50_damages/KotzWenz/not_used.txt index 3ea39eb57..1f9f52dbc 100644 --- a/modules/50_damages/KotzWenz/not_used.txt +++ b/modules/50_damages/KotzWenz/not_used.txt @@ -8,6 +8,7 @@ name,type,reason pm_damageMarginalT,input,questionnaire pm_damageMarginalTm1,input,questionnaire pm_damageMarginalTm2,input,questionnaire +pm_globalMeanTemperatureZeroed1900,input,questionnaire pm_temperatureImpulseResponseCO2,input,questionnaire pm_GDPGross,input,questionnaire cm_damage_KWSE,input,questionnaire diff --git a/modules/50_damages/KotzWenz/postsolve.gms b/modules/50_damages/KotzWenz/postsolve.gms index d62de18b6..6374293ec 100644 --- a/modules/50_damages/KotzWenz/postsolve.gms +++ b/modules/50_damages/KotzWenz/postsolve.gms @@ -1,60 +1,16 @@ -p50_globalMeanTemp2020(nboot,tall)$(tall.val ge 2020 and tall.val le 2300) = - pm_globalMeanTemperatureZeroed1900(tall)-pm_globalMeanTemperatureZeroed1900("2020") -; - -*set temperature to max temp for each realization if it is higher -loop(tall, - loop(nboot, - if((p50_globalMeanTemp2020(nboot,tall) gt f50_maxtemp(nboot)), - p50_globalMeanTemp2020(nboot,tall) = f50_maxtemp(nboot) -); -); -); - -*calculate damage factor for each country and realization -p50_damageIso(tall,iso,nboot)$(tall.val gt 2020 and tall.val le 2300) = - f50_beta1(nboot,iso)/100*p50_globalMeanTemp2020(nboot,tall)+f50_beta2(nboot,iso)/100*p50_globalMeanTemp2020(nboot,tall)*p50_globalMeanTemp2020(nboot,tall); - -*desired percentile of damages -*hardcode mean for now, think about percentiles later -p50_damageIsoPerc(tall,iso)$(tall.val gt 2020 and tall.val le 2300) = - sum(nboot,p50_damageIso(tall,iso,nboot))/1000 -; - -*marginal -p50_damageMarginalIso(tall,iso,nboot)$(tall.val gt 2020 and tall.val le 2300) = - f50_beta1(nboot,iso)/100+2*f50_beta2(nboot,iso)/100*p50_globalMeanTemp2020(nboot,tall) -; - -p50_damageMarginalIsoPerc(tall,iso)$(tall.val gt 2020 and tall.val le 2300) = - sum(nboot,p50_damageMarginalIso(tall,iso,nboot))/1000 -; - -*loop(tall $ (tall.val ge 2020 and tall.val le 2300), -* loop(iso, -* p50_rank(nboot)=p50_damageIso(tall,iso,nboot); -*$libInclude rank p50_rank nboot p50_r p50_pct -* p50_damageIsoPerc(tall,iso)=p50_pct("median"); -** p50_damageIsoPerc(tall,iso)=p50_pct("%cm_DamPerc%") - -* p50_rank(nboot)=p50_damageMarginalIso(tall,iso,nboot); -*$libInclude rank p50_rank nboot p50_r p50_pct -* p50_damageMarginalIsoPerc(tall,iso)=p50_pct("median"); -** p50_damageMarginalIsoPerc(tall,iso)=p50_pct("%cm_DamPerc%") -*display p50_pct; -* ); -*); +execute "Rscript run_KotzWenz_damages.R" +execute_loadpoint 'pm_KotzWenz_damageIso' p50_damageIsoPerc=pm_damageIso; +execute_loadpoint 'pm_KotzWenz_damageMarginalIso' pm_damageMarginalIsoPerc=pm_damageMarginalIso; pm_damageMarginal(tall,regi)$(tall.val gt 2020 and tall.val le 2300) = -* sum(regi2iso(regi,iso),p50_damageMarginalIsoPerc(tall,iso)*p50_isoGDP(tall,iso))/sum(regi2iso(regi,iso),p50_isoGDP(tall,iso)) - sum(regi2iso(regi,iso),p50_damageMarginalIsoPerc(tall,iso)*pm_GDPfrac(tall,iso)) + sum(regi2iso(regi,iso),pm_damageMarginalIsoPerc(tall,iso,"%cm_KotzWenzPerc%")*pm_GDPfrac(tall,iso)) ; *regional damage using SSP country level GDP as weight pm_damage(tall,regi)$(tall.val gt 2020 and tall.val le 2300) = - 1-sum(regi2iso(regi,iso),p50_damageIsoPerc(tall,iso)*pm_GDPfrac(tall,iso)) + 1-sum(regi2iso(regi,iso),p50_damageIsoPerc(tall,iso,"%cm_KotzWenzPerc%")*pm_GDPfrac(tall,iso)) ; -display p50_damageIsoPerc,pm_damage,pm_damageMarginal; +display pm_damage,pm_damageMarginal; diff --git a/modules/50_damages/KotzWenz/sets.gms b/modules/50_damages/KotzWenz/sets.gms index 70120489d..daa7834a1 100644 --- a/modules/50_damages/KotzWenz/sets.gms +++ b/modules/50_damages/KotzWenz/sets.gms @@ -3,4 +3,9 @@ nboot "boot strapping realisations of damage function parameters" / 1*1000 / +percentile "possible percentiles of damage function as coded in the R script" + / + low,mean,med,high + / + ; diff --git a/modules/50_damages/Labor/not_used.txt b/modules/50_damages/Labor/not_used.txt index 85cfaee50..8664f548b 100755 --- a/modules/50_damages/Labor/not_used.txt +++ b/modules/50_damages/Labor/not_used.txt @@ -5,6 +5,7 @@ # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de name,type,reason +pm_damageMarginalIsoPerc,input,questionnaire pm_globalMeanTemperatureZeroed1900,input,questionnaire pm_temperatureImpulseResponseCO2,input,questionnaire pm_GDPGross,input,questionnaire diff --git a/modules/50_damages/TC/not_used.txt b/modules/50_damages/TC/not_used.txt index 5b22dda33..9ef5d0674 100755 --- a/modules/50_damages/TC/not_used.txt +++ b/modules/50_damages/TC/not_used.txt @@ -5,6 +5,7 @@ # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de name,type,reason +pm_damageMarginalIsoPerc,input,questionnaire pm_temperatureImpulseResponseCO2,input,questionnaire cm_damages_BurkeLike_specification,input,questionnaire cm_damages_BurkeLike_persistenceTime,input,questionnaire diff --git a/modules/50_damages/off/not_used.txt b/modules/50_damages/off/not_used.txt index 16fb7c646..6aa74b3db 100644 --- a/modules/50_damages/off/not_used.txt +++ b/modules/50_damages/off/not_used.txt @@ -5,6 +5,7 @@ # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de name,type,reason +pm_damageMarginalIsoPerc,input,questionnaire pm_globalMeanTemperatureZeroed1900,input,questionnaire pm_regionalTemperature,input,questionnaire pm_damage,input,questionnaire diff --git a/modules/51_internalizeDamages/BurkeLikeItr/not_used.txt b/modules/51_internalizeDamages/BurkeLikeItr/not_used.txt index 67d73dcb9..6d7ac9b5c 100644 --- a/modules/51_internalizeDamages/BurkeLikeItr/not_used.txt +++ b/modules/51_internalizeDamages/BurkeLikeItr/not_used.txt @@ -5,6 +5,7 @@ # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de name,type,reason +pm_damageMarginalIsoPerc,input,questionnaire pm_damageMarginalT,input,questionnaire pm_damageMarginalTm1,input,questionnaire pm_damageMarginalTm2,input,questionnaire diff --git a/modules/51_internalizeDamages/DiceLikeItr/not_used.txt b/modules/51_internalizeDamages/DiceLikeItr/not_used.txt index f46ff4339..788c95eeb 100644 --- a/modules/51_internalizeDamages/DiceLikeItr/not_used.txt +++ b/modules/51_internalizeDamages/DiceLikeItr/not_used.txt @@ -5,6 +5,7 @@ # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de name,type,reason +pm_damageMarginalIsoPerc,input,questionnaire pm_tempScaleGlob2Reg,input,questionnaire pm_damage,input,questionnaire pm_damageGrowthRate,input,questionnaire diff --git a/modules/51_internalizeDamages/KWTCintItr/not_used.txt b/modules/51_internalizeDamages/KWTCintItr/not_used.txt index 599fe3418..3bfc50fab 100755 --- a/modules/51_internalizeDamages/KWTCintItr/not_used.txt +++ b/modules/51_internalizeDamages/KWTCintItr/not_used.txt @@ -5,6 +5,7 @@ # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de name,type,reason +pm_damageMarginalIsoPerc,input,questionnaire cm_damages_BurkeLike_persistenceTime,input,questionnaire pm_damageMarginal,input,questionnaire pm_cesdata,input,questionnaire diff --git a/modules/51_internalizeDamages/KW_SEitr/not_used.txt b/modules/51_internalizeDamages/KW_SEitr/not_used.txt index a1d65ba51..f06176996 100755 --- a/modules/51_internalizeDamages/KW_SEitr/not_used.txt +++ b/modules/51_internalizeDamages/KW_SEitr/not_used.txt @@ -5,6 +5,7 @@ # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de name,type,reason +pm_damageMarginalIsoPerc,input,questionnaire cm_damages_BurkeLike_persistenceTime,input,questionnaire pm_damageMarginal,input,questionnaire pm_cesdata,input,questionnaire diff --git a/modules/51_internalizeDamages/KWlikeItr/not_used.txt b/modules/51_internalizeDamages/KWlikeItr/not_used.txt index 56e98ee15..d4a0917e6 100644 --- a/modules/51_internalizeDamages/KWlikeItr/not_used.txt +++ b/modules/51_internalizeDamages/KWlikeItr/not_used.txt @@ -5,6 +5,7 @@ # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de name,type,reason +pm_damageMarginalIsoPerc,input,questionnaire pm_cesdata,input,questionnaire pm_lab,input,questionnaire pm_interpolWeight_ttot_tall,input,questionnaire diff --git a/modules/51_internalizeDamages/KWlikeItrCPnash/not_used.txt b/modules/51_internalizeDamages/KWlikeItrCPnash/not_used.txt index 6c71fe4bf..94fb08aea 100755 --- a/modules/51_internalizeDamages/KWlikeItrCPnash/not_used.txt +++ b/modules/51_internalizeDamages/KWlikeItrCPnash/not_used.txt @@ -5,6 +5,7 @@ # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de name,type,reason +pm_damageMarginalIsoPerc,input,questionnaire pm_cesdata,input,questionnaire pm_lab,input,questionnaire pm_interpolWeight_ttot_tall,input,questionnaire diff --git a/modules/51_internalizeDamages/KWlikeItrCPreg/not_used.txt b/modules/51_internalizeDamages/KWlikeItrCPreg/not_used.txt index 7c15785d8..c64a86f7c 100644 --- a/modules/51_internalizeDamages/KWlikeItrCPreg/not_used.txt +++ b/modules/51_internalizeDamages/KWlikeItrCPreg/not_used.txt @@ -5,6 +5,7 @@ # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de name,type,reason +pm_damageMarginalIsoPerc,input,questionnaire cm_damages_BurkeLike_persistenceTime,input,questionnaire pm_damageMarginal,input,questionnaire pm_cesdata,input,questionnaire diff --git a/modules/51_internalizeDamages/KotzWenzCPreg/not_used.txt b/modules/51_internalizeDamages/KotzWenzCPreg/not_used.txt index adf8621c6..278193e7d 100644 --- a/modules/51_internalizeDamages/KotzWenzCPreg/not_used.txt +++ b/modules/51_internalizeDamages/KotzWenzCPreg/not_used.txt @@ -5,6 +5,7 @@ # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de name,type,reason +pm_damageMarginal,input,questionnaire pm_damageMarginalT,input,questionnaire cm_damages_BurkeLike_persistenceTime,input,questionnaire pm_tempScaleGlob2Reg,input,questionnaire @@ -19,7 +20,6 @@ pm_tall_2_ttot,input,questionnaire pm_damageProd,input,questionnaire pm_damageTC,input,questionnaire pm_damageGrowthRateTC,input,questionnaire -pm_GDPfrac,input,questionnaire pm_damageMarginalTC,input,questionnaire pm_GDPGrossIso,input,questionnaire pm_damageImp,input,questionnaire diff --git a/modules/51_internalizeDamages/KotzWenzCPreg/postsolve.gms b/modules/51_internalizeDamages/KotzWenzCPreg/postsolve.gms index eeb9c62d2..f1c4b0326 100644 --- a/modules/51_internalizeDamages/KotzWenzCPreg/postsolve.gms +++ b/modules/51_internalizeDamages/KotzWenzCPreg/postsolve.gms @@ -19,7 +19,8 @@ p51_scc(tall,regi)$((tall.val ge 2020) and (tall.val le 2150)) = 1000 * * pm_consPC(tall,regi)/pm_consPC(tall2,regi2) * pm_GDPGross(tall2,regi2) * pm_temperatureImpulseResponseCO2(tall2,tall) - * pm_damageMarginal(tall2,regi2) +* * pm_damageMarginal(tall2,regi2) + * sum(regi2iso(regi2,iso),pm_damageMarginalIsoPerc(tall2,iso,"%cm_KotzWenzPerc%")*pm_GDPfrac(tall2,iso)) )) ; diff --git a/modules/51_internalizeDamages/KotzWenzItr/not_used.txt b/modules/51_internalizeDamages/KotzWenzItr/not_used.txt index e7bc34ad9..dc16d0223 100644 --- a/modules/51_internalizeDamages/KotzWenzItr/not_used.txt +++ b/modules/51_internalizeDamages/KotzWenzItr/not_used.txt @@ -5,6 +5,7 @@ # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de name,type,reason +pm_damageMarginal,input,questionnaire cm_damages_BurkeLike_persistenceTime,input,questionnaire pm_tempScaleGlob2Reg,input,questionnaire pm_damage,input,questionnaire @@ -19,7 +20,6 @@ pm_tall_2_ttot,input,questionnaire pm_damageProd,input,questionnaire pm_damageTC,input,questionnaire pm_damageGrowthRateTC,input,questionnaire -pm_GDPfrac,input,questionnaire pm_damageMarginalTC,input,questionnaire pm_GDPGrossIso,input,questionnaire pm_damageImp,input,questionnaire diff --git a/modules/51_internalizeDamages/KotzWenzItr/postsolve.gms b/modules/51_internalizeDamages/KotzWenzItr/postsolve.gms index 12858b423..df3fd9889 100644 --- a/modules/51_internalizeDamages/KotzWenzItr/postsolve.gms +++ b/modules/51_internalizeDamages/KotzWenzItr/postsolve.gms @@ -19,7 +19,8 @@ p51_scc(tall)$((tall.val ge 2020) and (tall.val le 2150)) = 1000 * * pm_consPC(tall,regi2)/pm_consPC(tall2,regi2) * pm_GDPGross(tall2,regi2) * pm_temperatureImpulseResponseCO2(tall2,tall) - * pm_damageMarginal(tall2,regi2) +* * pm_damageMarginal(tall2,regi2) + * sum(regi2iso(regi2,iso),pm_damageMarginalIsoPerc(tall2,iso,"%cm_KotzWenzPerc%")*pm_GDPfrac(tall2,iso)) ) ) ; diff --git a/modules/51_internalizeDamages/LabItr/not_used.txt b/modules/51_internalizeDamages/LabItr/not_used.txt index 24b7f0225..80561f79d 100755 --- a/modules/51_internalizeDamages/LabItr/not_used.txt +++ b/modules/51_internalizeDamages/LabItr/not_used.txt @@ -5,6 +5,7 @@ # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de name,type,reason +pm_damageMarginalIsoPerc,input,questionnaire cm_damages_BurkeLike_persistenceTime,input,questionnaire pm_damageGrowthRate,input,questionnaire pm_damageMarginalT,input,questionnaire diff --git a/modules/51_internalizeDamages/TCitr/not_used.txt b/modules/51_internalizeDamages/TCitr/not_used.txt index c64d6eaba..52f051238 100755 --- a/modules/51_internalizeDamages/TCitr/not_used.txt +++ b/modules/51_internalizeDamages/TCitr/not_used.txt @@ -5,6 +5,7 @@ # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de name,type,reason +pm_damageMarginalIsoPerc,input,questionnaire pm_cesdata,input,questionnaire pm_lab,input,questionnaire pm_GDPGross,input,questionnaire diff --git a/modules/51_internalizeDamages/off/not_used.txt b/modules/51_internalizeDamages/off/not_used.txt index 8e37f7372..b35ea2b80 100644 --- a/modules/51_internalizeDamages/off/not_used.txt +++ b/modules/51_internalizeDamages/off/not_used.txt @@ -5,6 +5,7 @@ # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de name,type,reason +pm_damageMarginalIsoPerc,input,questionnaire pm_temperatureImpulseResponseCO2,input,questionnaire pm_tempScaleGlob2Reg,input,questionnaire pm_damage,input,questionnaire diff --git a/scripts/input/run_KotzWenz_damages.R b/scripts/input/run_KotzWenz_damages.R new file mode 100644 index 000000000..92a6878f4 --- /dev/null +++ b/scripts/input/run_KotzWenz_damages.R @@ -0,0 +1,76 @@ +# | (C) 2006-2020 Potsdam Institute for Climate Impact Research (PIK) +# | authors, and contributors see CITATION.cff file. This file is part +# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +# | AGPL-3.0, you are granted additional permissions described in the +# | REMIND License Exception, version 1.0 (see LICENSE file). +# | Contact: remind@pik-potsdam.de +# Calculate damage factor and marginal damages from Kotz et al. (2024) for the full distribution +# FP +print("Calculating damages and marginal damages for SCC ") +require(dplyr) +require(gdxrrw) +igdx(system("dirname $( which gams )", intern = TRUE)) + +beta1 <- read.csv("../../modules/50_damages/KotzWenz/input/PERC_scaling_coefs_ssp2_ssp585_lagdiff_lintren_fix_spec_NL_8_9_10_movfix_30_Nboot1000_beta1.csv") %>% select(-"X") +beta2 <- read.csv("../../modules/50_damages/KotzWenz/input/PERC_scaling_coefs_ssp2_ssp585_lagdiff_lintren_fix_spec_NL_8_9_10_movfix_30_Nboot1000_beta2.csv") %>% select(-"X") +maxtemp <- read.csv("../../modules/50_damages/KotzWenz/input/PERC_scaling_coefs_ssp2_ssp585_lagdiff_lintren_fix_spec_NL_8_9_10_movfix_30_Nboot1000_maxGMT.csv") %>% select(-"X") + +getTemperatureMagicc = function(file = "./magicc/DAT_SURFACE_TEMP.OUT"){ + x = read.table(file, skip = 19,header = T) + x = x[,c(1,2)] + names(x) = c('period','value') + x$period = as.integer(as.character(x$period)) + # Get relevant years + years <- x[x$period >= 2005 & x$period <= 2300,1] + return(x[x$period %in% years,]) +} + +temp <- getTemperatureMagicc() %>% subset(period >= 2020) %>% mutate(value=value-value[1]) + +countries <- colnames(beta1) + +# calculate damage and marginal damage for mean, median, 5th and 95th percentile of damage distribution for each country +# if country temperature is above the robust range of the damages (indicated by maxtemp) the temperature is set to maxtemp + +alldam <- tibble(tall=integer(),iso=character(),low=double(),med=double(),mean=double(),high=double()) +alldam_marg <- tibble(tall=integer(),iso=character(),low_marg=double(),med_marg=double(),mean_marg=double(),high_marg=double()) + +for(i in countries){ + df <- as.data.frame(cbind(beta1[,i],beta2[,i],maxtemp[,i])) %>% + rename(beta1=V1,beta2=V2,maxtemp=V3) + dam <- merge(temp,df) + dam[which(dam$maxtemp < dam$value),]$value <- + dam[which(dam$maxtemp < dam$value),]$maxtemp + dam$dam <- dam$beta1/100*dam$value+dam$beta2/100*dam$value^2 + dam$marginal <- dam$beta1/100+2*dam$beta2/100*dam$value + dam_q <- dam %>% group_by(period) %>% + summarize(low=quantile(dam,probs=0.05),med=quantile(dam,probs=0.5),mean=mean(dam), + high=quantile(dam,probs=0.95),low_marg=quantile(marginal,probs=0.05), + med_marg=quantile(marginal,probs=0.5),mean_marg=mean(marginal), + high_marg=quantile(marginal,probs=0.95)) %>% ungroup() + dam_q$iso = i + alldam <- rbind(alldam,rename(select(dam_q,c("iso","period","low","med","mean","high")),tall=period)) + alldam_marg <- rbind(alldam_marg,rename(select(dam_q,c("iso","period","low_marg","med_marg","mean_marg","high_marg")),tall=period)) +} + +writeToGdx = function(file,df,name){ + df$tall = factor(df$tall) + df$iso = factor(df$iso) + df$percentile = factor(df$percentile) + attr(df,which = 'symName') = name + attr(df,which = 'domains') = c('tall','iso','percentile') + attr(df,which = 'domInfo') = 'full' + + wgdx.lst(file,df,squeeze = F) +} + +alldam <- reshape2::melt(alldam,id.vars=c("tall","iso")) %>% rename(percentile=variable) +alldam_marg <- reshape2::melt(rename(alldam_marg,low=low_marg,med=med_marg,mean=mean_marg,high=high_marg),id.vars=c("tall","iso")) %>% rename(percentile=variable) + +# write to GDX: +writeToGdx('pm_KotzWenz_damageIso',alldam,'pm_damageIso') +writeToGdx('pm_KotzWenz_damageMarginalIso',alldam_marg,'pm_damageMarginalIso') +print("...done.") + + + From 82e3be7d3db7e944692cb3c33a10fccdabb95335 Mon Sep 17 00:00:00 2001 From: piontek Date: Thu, 13 Jun 2024 16:23:39 +0200 Subject: [PATCH 032/875] correct KotzWenz damage input data --- modules/50_damages/KotzWenz/files | 5 +++++ scripts/input/run_KotzWenz_damages.R | 9 ++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 modules/50_damages/KotzWenz/files diff --git a/modules/50_damages/KotzWenz/files b/modules/50_damages/KotzWenz/files new file mode 100644 index 000000000..11493f24c --- /dev/null +++ b/modules/50_damages/KotzWenz/files @@ -0,0 +1,5 @@ +f50_gdp.cs3r +f50_KLW_df_beta1.cs4r +f50_KLW_df_beta2.cs4r +f50_KLW_df_maxGMT.cs4r + diff --git a/scripts/input/run_KotzWenz_damages.R b/scripts/input/run_KotzWenz_damages.R index 92a6878f4..0898b6f02 100644 --- a/scripts/input/run_KotzWenz_damages.R +++ b/scripts/input/run_KotzWenz_damages.R @@ -11,9 +11,12 @@ require(dplyr) require(gdxrrw) igdx(system("dirname $( which gams )", intern = TRUE)) -beta1 <- read.csv("../../modules/50_damages/KotzWenz/input/PERC_scaling_coefs_ssp2_ssp585_lagdiff_lintren_fix_spec_NL_8_9_10_movfix_30_Nboot1000_beta1.csv") %>% select(-"X") -beta2 <- read.csv("../../modules/50_damages/KotzWenz/input/PERC_scaling_coefs_ssp2_ssp585_lagdiff_lintren_fix_spec_NL_8_9_10_movfix_30_Nboot1000_beta2.csv") %>% select(-"X") -maxtemp <- read.csv("../../modules/50_damages/KotzWenz/input/PERC_scaling_coefs_ssp2_ssp585_lagdiff_lintren_fix_spec_NL_8_9_10_movfix_30_Nboot1000_maxGMT.csv") %>% select(-"X") +#beta1 <- read.csv("../../modules/50_damages/KotzWenz/input/PERC_scaling_coefs_ssp2_ssp585_lagdiff_lintren_fix_spec_NL_8_9_10_movfix_30_Nboot1000_beta1.csv") %>% select(-"X") +#beta2 <- read.csv("../../modules/50_damages/KotzWenz/input/PERC_scaling_coefs_ssp2_ssp585_lagdiff_lintren_fix_spec_NL_8_9_10_movfix_30_Nboot1000_beta2.csv") %>% select(-"X") +#maxtemp <- read.csv("../../modules/50_damages/KotzWenz/input/PERC_scaling_coefs_ssp2_ssp585_lagdiff_lintren_fix_spec_NL_8_9_10_movfix_30_Nboot1000_maxGMT.csv") %>% select(-"X") +beta1 <- read.csv("../../modules/50_damages/KotzWenz/input/f50_KLW_df_beta1.cs4r") %>% select(-"X") +beta2 <- read.csv("../../modules/50_damages/KotzWenz/input/f50_KLW_df_beta2.cs4r") %>% select(-"X") +maxtemp <- read.csv("../../modules/50_damages/KotzWenz/input/f50_KLW_df_maxGMT.cs4r") %>% select(-"X") getTemperatureMagicc = function(file = "./magicc/DAT_SURFACE_TEMP.OUT"){ x = read.table(file, skip = 19,header = T) From 68895691cce19d35fbd86a6296c214d31eb4486b Mon Sep 17 00:00:00 2001 From: Johanna Hoppe Date: Fri, 14 Jun 2024 15:47:40 +0200 Subject: [PATCH 033/875] adjust edge_esm --- () | 18 +++++++++++++++ config/default.cfg | 4 ++-- core/sets.gms | 2 +- f35_esCapCos.csv | 0 .../29_CES_parameters/calibrate/input/files | 3 +-- modules/35_transport/edge_esm/datainput.gms | 6 ++--- modules/35_transport/edge_esm/input/files | 22 +++++++++---------- modules/35_transport/edge_esm/sets.gms | 1 + 8 files changed, 36 insertions(+), 20 deletions(-) create mode 100644 () create mode 100644 f35_esCapCos.csv diff --git a/() b/() new file mode 100644 index 000000000..49e65ac20 --- /dev/null +++ b/() @@ -0,0 +1,18 @@ +update edge_esm +add! + + jPlease enter the commit message for your changes. Lines starting +# with '#' will be ignored, and an empty message aborts the commit. +# +# On branch develop +# Your branch is up to date with 'origin/develop'. +# +# Changes to be committed: +# modified: config/default.cfg +# modified: core/sets.gms +# new file: f35_esCapCos.csv +# modified: modules/29_CES_parameters/calibrate/input/files +# modified: modules/35_transport/edge_esm/datainput.gms +# modified: modules/35_transport/edge_esm/input/files +# modified: modules/35_transport/edge_esm/sets.gms +# diff --git a/config/default.cfg b/config/default.cfg index 1d2f896b4..80608ce96 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -27,13 +27,13 @@ cfg$regionmapping <- "config/regionmappingH12.csv" ### Additional (optional) region mapping, so that those validation data can be loaded that contain the corresponding additional regions. cfg$extramappings_historic <- "" #### Current input data revision (.) #### -cfg$inputRevision <- "rev6.76edgeTransportReloaded" +cfg$inputRevision <- "6.79edgeTransportReloaded" #### Current CES parameter and GDX revision (commit hash) #### cfg$CESandGDXversion <- "57279476db7f09f9eee8717b0fff8b1fa3436b67" #### Force the model to download new input data #### -cfg$force_download <- FALSE +cfg$force_download <- TRUE # Should an existing output folder be replaced if a new run with the same name is started? cfg$force_replace <- FALSE diff --git a/core/sets.gms b/core/sets.gms index 34bad0fe9..7cb13e1e7 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -76,7 +76,7 @@ gdp_SSP2EU_NAV_lce "NAVIGATE demand scenarios: Low consumption energy (act + tec gdp_SSP2EU_NAV_all "NAVIGATE demand scenarios: All measures (ele + act + tec)" gdp_SSP2EU_CAMP_weak "CAMPAIGNers scenario with low ambition lifestyle change" gdp_SSP2EU_CAMP_strong "CAMPAIGNers scenario with high ambition lifestyle change" -gdp_SSP2EU_demRedWeak +gdp_SSP2EU_demRedStrong / all_GDPpcScen "all possible GDP per capita scenarios (GDP and Population from the same SSP-scenario" diff --git a/f35_esCapCos.csv b/f35_esCapCos.csv new file mode 100644 index 000000000..e69de29bb diff --git a/modules/29_CES_parameters/calibrate/input/files b/modules/29_CES_parameters/calibrate/input/files index aac8eb335..b265298a2 100644 --- a/modules/29_CES_parameters/calibrate/input/files +++ b/modules/29_CES_parameters/calibrate/input/files @@ -1,3 +1,2 @@ f29_capitalQuantity.cs4r -pm_trp_demand.cs4r -pm_fe_demand_EDGETbased.cs4r +f29_trpdemand.cs4r diff --git a/modules/35_transport/edge_esm/datainput.gms b/modules/35_transport/edge_esm/datainput.gms index 77c0da4eb..2f68a500c 100644 --- a/modules/35_transport/edge_esm/datainput.gms +++ b/modules/35_transport/edge_esm/datainput.gms @@ -19,7 +19,7 @@ parameters p35_esCapCost(tall,all_regi,all_GDPscen,all_demScen,EDGE_scenario_all,all_teEs) "Capital costs for the transport system [$/pkm or $/tkm]" / $ondelim -$include "./modules/35_transport/edge_esm/input/esCapCost.cs4r" +$include "./modules/35_transport/edge_esm/input/f35_esCapCost.cs4r" $offdelim / @@ -40,7 +40,7 @@ $offdelim p35_demByTech(tall,all_regi,all_GDPscen,all_demScen,EDGE_scenario_all,all_enty,all_in,all_teEs) "Aggregate FE Demand per transport fuel technology [TWa]" / $ondelim -$include "./modules/35_transport/edge_esm/input/p35_demByTech.cs4r" +$include "./modules/35_transport/edge_esm/input/f35_demByTech.cs4r" $offdelim / @@ -49,7 +49,7 @@ p35_shFeCes(tall,all_regi,all_GDPscen,all_demScen,EDGE_scenario_all,all_enty,all ; *** calculate shares for fuels by CES node -p35_shFeCes(ttot,regi,"%cm_GDPscen%","%cm_demScen%","%cm_EDGEtr_scen%",entyFe,ppfen_dyn35,teEs_dyn35)$(fe2ces_dyn35(entyFe,ppfen_dyn35,teEs_dyn35) AND (ttot.val ge 1995)) = +p35_shFeCes(ttot,regi,"%cm_GDPscen%","%cm_demScen%","%cm_EDGEtr_scen%",entyFe,ppfen_dyn35,teEs_dyn35)$(fe2ces_dyn35(entyFe,ppfen_dyn35,teEs_dyn35) AND (ttot.val ge 2005)) = p35_demByTech(ttot,regi,"%cm_GDPscen%","%cm_demScen%","%cm_EDGEtr_scen%",entyFe,ppfen_dyn35,teEs_dyn35) / sum((entyFe2,teEs_dyn35_2)$fe2ces_dyn35(entyFe2,ppfen_dyn35,teEs_dyn35_2),p35_demByTech(ttot,regi,"%cm_GDPscen%","%cm_demScen%","%cm_EDGEtr_scen%",entyFe2,ppfen_dyn35,teEs_dyn35_2)); diff --git a/modules/35_transport/edge_esm/input/files b/modules/35_transport/edge_esm/input/files index c516adc80..cec63a874 100644 --- a/modules/35_transport/edge_esm/input/files +++ b/modules/35_transport/edge_esm/input/files @@ -1,13 +1,11 @@ -UCD_NEC_iso.cs4r -esCapCost.cs4r -fe2es.cs4r -fe_demand_tech.cs4r -harmonized_intensities.cs4r -pref.cs4r -logit_exponent.cs4r -price_nonmot.cs4r -value_time.cs4r -loadFactor.cs4r -annual_mileage.cs4r -ptab4W.cs4r f35_transportGDPshare.cs4r +f35_esCapCost.cs4r +f35_fe2es.cs4r +f35_demByTech.cs4r +CAPEXandNonFuelOPEX.cs4r +scenSpecPrefTrends.cs4r +scenSpecLoadFactor.cs4r +scenSpecEnIntensity.cs4r +initialIncoCosts.cs4r +annualMileage.cs4r +timeValueCosts.cs4r diff --git a/modules/35_transport/edge_esm/sets.gms b/modules/35_transport/edge_esm/sets.gms index 2638bcf80..cc3f2276d 100644 --- a/modules/35_transport/edge_esm/sets.gms +++ b/modules/35_transport/edge_esm/sets.gms @@ -140,6 +140,7 @@ NAV_lce NAV_all CAMP_lscWeak CAMP_lscStrong +CAMP_lscLow / EDGE_scenario(EDGE_scenario_all) "Selected EDGE-T scenario" From 263ac04713709d89aaffac9e156adf5b2798b465 Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Sat, 15 Jun 2024 18:04:26 +0200 Subject: [PATCH 034/875] yet another set of improvements to the emission market convergence algorithm and debugging information --- .../47_regipol/regiCarbonPrice/datainput.gms | 5 + .../regiCarbonPrice/declarations.gms | 5 +- .../47_regipol/regiCarbonPrice/postsolve.gms | 97 +++++++++++++------ modules/47_regipol/regiCarbonPrice/sets.gms | 5 +- 4 files changed, 78 insertions(+), 34 deletions(-) diff --git a/modules/47_regipol/regiCarbonPrice/datainput.gms b/modules/47_regipol/regiCarbonPrice/datainput.gms index acafda76e..ee69f814d 100644 --- a/modules/47_regipol/regiCarbonPrice/datainput.gms +++ b/modules/47_regipol/regiCarbonPrice/datainput.gms @@ -111,6 +111,11 @@ p47_taxemiMkt_init(ttot,regi,emiMkt)$(p47_taxCO2eq_ref(ttot,regi) and (NOT(p47_t ); ); +*** initialize required parameter for cm_emiMktTarget slope calculation. This is necessary to allow logical if statement checks not trowing an error before the parameter is assigned for the first time in the postsolve code. +p47_factorRescaleSlope_iter("1","2020","2030",ext_regi,emiMktExt) = 0; +*** initialize required parameter for cm_emiMktTarget rescale oscillation dampening. +p47_factorRescaleemiMktCO2Tax_iter("1","2020","2030",ext_regi,emiMktExt) = 0; + $ENDIF.emiMkt ***--------------------------------------------------------------------------- diff --git a/modules/47_regipol/regiCarbonPrice/declarations.gms b/modules/47_regipol/regiCarbonPrice/declarations.gms index 61d36f93a..8b1cb6080 100644 --- a/modules/47_regipol/regiCarbonPrice/declarations.gms +++ b/modules/47_regipol/regiCarbonPrice/declarations.gms @@ -60,8 +60,9 @@ $endif.emiMktTargetType p47_slopeReferenceIteration_iter(iteration,ttot,ext_regi) "auxiliary parameter to store reference iteration used for calculating slope of current mititgation cost [#]" pm_factorRescaleemiMktCO2Tax(ttot,ttot2,ext_regi,emiMktExt) "multiplicative tax rescale factor that rescales emiMkt carbon price from iteration to iteration to reach regipol targets [%]" p47_factorRescaleemiMktCO2Tax_iter(iteration,ttot,ttot2,ext_regi,emiMktExt) "parameter to save rescale factor across iterations for debugging purposes [%]" - p47_clampedRescaleSlope(iteration,ttot,ttot2,ext_regi,emiMktExt) "auxiliary parameter to save the slope value before clamping for debugging purposes [#]" - + p47_clampedRescaleSlope_iter(iteration,ttot,ttot2,ext_regi,emiMktExt) "auxiliary parameter to save the slope value before clamping. Useful for debugging purposes [#]" + p47_dampedFactorRescaleemiMktCO2Tax_iter(iteration,ttot,ttot2,ext_regi,emiMktExt) "auxiliary parameter to save the rescale factor value before dampening. Useful for debugging purposes [#]" + *** Parameters necessary to define the CO2 tax curve shape p47_targetConverged(ttot,ext_regi) "boolean to store if emission target has converged [0 or 1]" p47_targetConverged_iter(iteration,ttot,ext_regi) "parameter to save p47_targetConverged across iterations [0 or 1]" diff --git a/modules/47_regipol/regiCarbonPrice/postsolve.gms b/modules/47_regipol/regiCarbonPrice/postsolve.gms index f97bcdd17..6e38f1c58 100644 --- a/modules/47_regipol/regiCarbonPrice/postsolve.gms +++ b/modules/47_regipol/regiCarbonPrice/postsolve.gms @@ -256,8 +256,6 @@ loop((ext_regi,ttot)$regiANDperiodEmiMktTarget_47(ttot,ext_regi), ); ); - - *** resetting rescale factor for the next iteration p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt) = 0; pm_factorRescaleemiMktCO2Tax(ttot,ttot2,ext_regi,emiMktExt) = 0; @@ -268,9 +266,12 @@ loop(ext_regi$regiEmiMktTarget(ext_regi), loop((ttot,emiMktExt,target_type_47,emi_type_47)$(pm_emiMktTarget(ttot,ttot2,ext_regi,emiMktExt,target_type_47,emi_type_47)), loop(emiMkt$emiMktGroup(emiMktExt,emiMkt), loop(regi$regiEmiMktTarget2regi_47(ext_regi,regi), +*** if rescale factor was already calculated for ext_regi, there is no need to recalculate it + continue$(pm_factorRescaleemiMktCO2Tax(ttot,ttot2,ext_regi,emiMktExt)); +*** calculating the rescale factor loop(iteration2$((iteration2.val le iteration.val) and (iteration2.val eq p47_slopeReferenceIteration_iter(iteration,ttot2,ext_regi))), !!reference iteration for slope calculation *** if it is the first iteration or the reference iteration changed, initialize the rescale factor based on remaining deviation - if(iteration.val - p47_slopeReferenceIteration_iter(iteration,ttot,ext_regi) eq 0, + if((iteration.val - iteration2.val) eq 0, regiEmiMktRescaleType(iteration,ttot,ttot2,ext_regi,emiMktExt,"squareDev_firstIteration") = YES; pm_factorRescaleemiMktCO2Tax(ttot,ttot2,ext_regi,emiMktExt) = power(1+pm_emiMktTarget_dev(ttot,ttot2,ext_regi,emiMktExt), 2); *** else if for the extreme case of a perfect match with no change between the two iterations emisssion taxes used in the slope calculation, in order to avoid a division by zero error assume the rescale factor based on remaining deviation @@ -285,48 +286,82 @@ loop(ext_regi$regiEmiMktTarget(ext_regi), (abs(pm_taxemiMkt_iteration(iteration,ttot2,regi,emiMkt) - pm_taxemiMkt_iteration("1",ttot2,regi,emiMkt)) lt 1e-2)), regiEmiMktRescaleType(iteration,ttot,ttot2,ext_regi,emiMktExt,"squareDev_smallChange") = YES; pm_factorRescaleemiMktCO2Tax(ttot,ttot2,ext_regi,emiMktExt) = power(1+pm_emiMktTarget_dev(ttot,ttot2,ext_regi,emiMktExt), 2); -*** else, use previous iteration information to define rescale factor +*** else, calculate rescale factor using quantities and prices slope changes else -*** if denominator is not close to zero, calculate the price slope in relation to the previous iteration mitigation and price levels - if(NOT(pm_taxemiMkt_iteration(iteration,ttot2,regi,emiMkt) - pm_taxemiMkt_iteration(iteration2,ttot2,regi,emiMkt) eq 0) OR - NOT(abs(pm_taxemiMkt_iteration(iteration,ttot2,regi,emiMkt) - pm_taxemiMkt_iteration(iteration2,ttot2,regi,emiMkt)) lt 1e-2), - regiEmiMktRescaleType(iteration,ttot,ttot2,ext_regi,emiMktExt,"slope_prevIteration") = YES; +*** if denominator in relation to reference is not close to zero, calculate the price slope in relation to the reference iteration mitigation and price levels + if(NOT(abs(pm_taxemiMkt_iteration(iteration,ttot2,regi,emiMkt) - pm_taxemiMkt_iteration(iteration2,ttot2,regi,emiMkt)) lt 1e-2), + regiEmiMktRescaleType(iteration,ttot,ttot2,ext_regi,emiMktExt,"slope_refIteration") = YES; p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt) = (p47_emiMktCurrent_iter(iteration,ttot,ttot2,ext_regi,emiMktExt) - p47_emiMktCurrent_iter(iteration2,ttot,ttot2,ext_regi,emiMktExt)) / (pm_taxemiMkt_iteration(iteration,ttot2,regi,emiMkt) - pm_taxemiMkt_iteration(iteration2,ttot2,regi,emiMkt)); -*** else, calculate the price slope in relation to the first iteration mitigation and price levels - else - regiEmiMktRescaleType(iteration,ttot,ttot2,ext_regi,emiMktExt,"slope_firstIteration") = YES; - p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt) = - (p47_emiMktCurrent_iter(iteration,ttot,ttot2,ext_regi,emiMktExt) - p47_emiMktCurrent_iter("1",ttot,ttot2,ext_regi,emiMktExt)) - / - (pm_taxemiMkt_iteration(iteration,ttot2,regi,emiMkt) - pm_taxemiMkt_iteration("1",ttot2,regi,emiMkt)); - - ); -*** if the slope is positive, recalculate the slope based on the initial iteration instead of the reference one because we assume a trade-off between tax and emission levels - if(p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt) gt 0, - regiEmiMktRescaleType(iteration,ttot,ttot2,ext_regi,emiMktExt,rescaleType) = NO; +*** else if denominator in relation to first iteration is not close to zero, calculate the price slope in relation to the first iteration mitigation and price levels instead + elseif(NOT(abs(pm_taxemiMkt_iteration(iteration,ttot2,regi,emiMkt) - pm_taxemiMkt_iteration("1",ttot2,regi,emiMkt)) lt 1e-2)), regiEmiMktRescaleType(iteration,ttot,ttot2,ext_regi,emiMktExt,"slope_firstIteration") = YES; p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt) = (p47_emiMktCurrent_iter(iteration,ttot,ttot2,ext_regi,emiMktExt) - p47_emiMktCurrent_iter("1",ttot,ttot2,ext_regi,emiMktExt)) / (pm_taxemiMkt_iteration(iteration,ttot2,regi,emiMkt) - pm_taxemiMkt_iteration("1",ttot2,regi,emiMkt)); +*** else if there is a previous iteration calculated slope, repeat the previous iteration slope + elseif((iteration.val gt 1) and (p47_slopeReferenceIteration_iter(iteration,ttot,ext_regi) - p47_slopeReferenceIteration_iter(iteration-1,ttot,ext_regi) eq 0)), + regiEmiMktRescaleType(iteration,ttot,ttot2,ext_regi,emiMktExt,"slope_repeatPrev") = YES; + p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt) = p47_factorRescaleSlope_iter(iteration-1,ttot,ttot2,ext_regi,emiMktExt); +*** else slope is not available, set the rescale factor based on remaining deviation + else + regiEmiMktRescaleType(iteration,ttot,ttot2,ext_regi,emiMktExt,"squareDev_noSlope") = YES; + pm_factorRescaleemiMktCO2Tax(ttot,ttot2,ext_regi,emiMktExt) = power(1+pm_emiMktTarget_dev(ttot,ttot2,ext_regi,emiMktExt), 2); ); -*** clamp slopes values to avoid extreme changes (or no change) on a single iteration (avoid corner cases where other parts of the model changes causing undesirable fluctuations on the calculated slope) - if((p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt) gt -0.3) OR (p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt) lt -5), - p47_clampedRescaleSlope(iteration,ttot,ttot2,ext_regi,emiMktExt) = p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt); +*** if we are using the slope + if(NOT(regiEmiMktRescaleType(iteration,ttot,ttot2,ext_regi,emiMktExt,"squareDev_noSlope")), +*** if the slope is positive + if(p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt) gt 0, + regiEmiMktRescaleType(iteration,ttot,ttot2,ext_regi,emiMktExt,rescaleType) = NO; +*** if there is a previous iteration calculated slope, repeat the previous iteration slope to avoid the positive value because we assume a trade-off between tax and emission levels + if((iteration.val gt 1) and (p47_slopeReferenceIteration_iter(iteration,ttot,ext_regi) - p47_slopeReferenceIteration_iter(iteration-1,ttot,ext_regi) eq 0), + regiEmiMktRescaleType(iteration,ttot,ttot2,ext_regi,emiMktExt,"slope_repeatPrev_positiveSlope") = YES; + p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt) = p47_factorRescaleSlope_iter(iteration-1,ttot,ttot2,ext_regi,emiMktExt); +*** else slope is not available, set the rescale factor based on remaining deviation + else + regiEmiMktRescaleType(iteration,ttot,ttot2,ext_regi,emiMktExt,"squareDev_noNonPositiveSlope") = YES; + pm_factorRescaleemiMktCO2Tax(ttot,ttot2,ext_regi,emiMktExt) = power(1+pm_emiMktTarget_dev(ttot,ttot2,ext_regi,emiMktExt), 2); + ); + ); +*** if we are still using the slope + if(NOT(regiEmiMktRescaleType(iteration,ttot,ttot2,ext_regi,emiMktExt,"squareDev_noNonPositiveSlope")), +*** clamp slopes values to avoid extreme changes (or no change) on a single iteration (avoid corner cases where other parts of the model changes causing undesirable fluctuations on the calculated slope) + if((p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt) gt -0.3) OR (p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt) lt -5), + p47_clampedRescaleSlope_iter(iteration,ttot,ttot2,ext_regi,emiMktExt) = p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt); + ); + p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt) = max(-5,min(-0.3, p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt))); +*** calculate the tax rescale factor using the above calculated slope + pm_factorRescaleemiMktCO2Tax(ttot,ttot2,ext_regi,emiMktExt) = + ( + (pm_emiMktTarget(ttot,ttot2,ext_regi,emiMktExt,target_type_47,emi_type_47) - p47_emiMktCurrent_iter(iteration,ttot,ttot2,ext_regi,emiMktExt)) + / + (p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt) * pm_taxemiMkt_iteration(iteration,ttot2,regi,emiMkt)) + ) + 1; + ); ); - p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt) = max(-5,min(-0.3, p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt))); -*** calculate the tax rescale factor using the above calculated slope - pm_factorRescaleemiMktCO2Tax(ttot,ttot2,ext_regi,emiMktExt) = - ( - (pm_emiMktTarget(ttot,ttot2,ext_regi,emiMktExt,target_type_47,emi_type_47) - p47_emiMktCurrent_iter(iteration,ttot,ttot2,ext_regi,emiMktExt)) - / - (p47_factorRescaleSlope(ttot,ttot2,ext_regi,emiMktExt) * pm_taxemiMkt_iteration(iteration,ttot2,regi,emiMkt)) - ) + 1; ); ); +*** dampen if rescale oscillates + if( (iteration.val > 3) , + if ( ( + ( ( ( p47_factorRescaleemiMktCO2Tax_iter(iteration-1,ttot,ttot2,ext_regi,emiMktExt) - 1 ) + * ( pm_factorRescaleemiMktCO2Tax(ttot,ttot2,ext_regi,emiMktExt) - 1 ) ) < 0 + ) AND !! test if rescale changed from >1 to <1 or vice versa between iteration -1 and current iteration + ( ( ( p47_factorRescaleemiMktCO2Tax_iter(iteration-1,ttot,ttot2,ext_regi,emiMktExt) - 1 ) + * ( p47_factorRescaleemiMktCO2Tax_iter(iteration-2,ttot,ttot2,ext_regi,emiMktExt) -1 ) ) < 0 + ) !! test if rescale changed from >1 to <1 or vice versa between iteration -2 and iteration -1 + ) , + p47_dampedFactorRescaleemiMktCO2Tax_iter(iteration,ttot,ttot2,ext_regi,emiMktExt) = pm_factorRescaleemiMktCO2Tax(ttot,ttot2,ext_regi,emiMktExt); + pm_factorRescaleemiMktCO2Tax(ttot,ttot2,ext_regi,emiMktExt) = + 1 + ( ( pm_factorRescaleemiMktCO2Tax(ttot,ttot2,ext_regi,emiMktExt) - 1 ) / 2 ) + ; !! this brings the value closer to one. The formulation works reasonably well within the range of 0.5..2 + put_utility "msg" / "Reducing pm_factorRescaleemiMktCO2Tax due to oscillation in the previous 3 iterations: "; + put_utility "msg" / ttot.tl " " ttot2.tl " " ext_regi.tl " " emiMktExt.tl " " pm_factorRescaleemiMktCO2Tax(ttot,ttot2,ext_regi,emiMktExt):10:3; + ); + ); ); ); ); diff --git a/modules/47_regipol/regiCarbonPrice/sets.gms b/modules/47_regipol/regiCarbonPrice/sets.gms index bdf2ba983..1c084bca7 100644 --- a/modules/47_regipol/regiCarbonPrice/sets.gms +++ b/modules/47_regipol/regiCarbonPrice/sets.gms @@ -21,7 +21,10 @@ $ifThen.emiMkt not "%cm_emiMktTarget%" == "off" regiEmiMktTarget(ext_regi) "regions with emiMkt targets" / / regiANDperiodEmiMktTarget_47(ttot,ext_regi) "regions and periods with emiMkt targets" / / regiEmiMktTarget2regi_47(ext_regi,all_regi) "regions controlled by emiMkt market set to ext_regi" / / - rescaleType "carbon price scaling types" / "squareDev_firstIteration", "squareDev_perfectMatch", "squareDev_smallChange", "squareDev_noChange", "slope_prevIteration", "slope_firstIteration"/ + rescaleType "emi mkt carbon price scaling factor calculation methods" / + "squareDev_firstIteration", "squareDev_perfectMatch", "squareDev_smallChange", "squareDev_noChange", + "slope_refIteration", "slope_firstIteration", "slope_repeatPrev", "slope_repeatPrev_positiveSlope", + "squareDev_noSlope", "squareDev_noNonPositiveSlope"/ regiEmiMktRescaleType(iteration,ttot,ttot,ext_regi,emiMktExt,rescaleType) "saving scaling type used in iteration" / / convergenceType "emiMkt target non convergence reason" / "lowerThanTolerance", "smallPrice" / regiEmiMktconvergenceType(iteration,ttot,ttot,ext_regi,emiMktExt,convergenceType) "saving convergence type in iteration" / / From abcc26cfddc26b6fd1b1b49ff5ae55a75ae7c263 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Tue, 18 Jun 2024 19:04:55 +0200 Subject: [PATCH 035/875] update to master --- core/datainput.gms | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/core/datainput.gms b/core/datainput.gms index 23e2b8184..264abe392 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -450,7 +450,7 @@ $endif.REG_techcosts *------------------------------------------------------------------------------------ -* END of Technology cost data input read-in and manipulation in core +*** END of Technology cost data input read-in and manipulation in core *------------------------------------------------------------------------------------ *** Note: in modules/05_initialCap/on/preloop.gms, there are additional adjustment to investment *** cost in the near term due to calibration of historical energy conversion efficiencies based on @@ -548,7 +548,7 @@ table f_dataetaglob(tall,all_te) "global eta data" $include "./core/input/generisdata_varying_eta.prn" ; -* Read in mac historical emissions to calibrate MAC reference emissions +*** Read in mac historical emissions to calibrate MAC reference emissions parameter p_histEmiMac(tall,all_regi,all_enty) "historical emissions per MAC" / $ondelim @@ -556,7 +556,7 @@ $include "./core/input/p_histEmiMac.cs4r" $offdelim / ; -* Read in historical emissions per sector to calibrate MAC reference emissions +*** Read in historical emissions per sector to calibrate MAC reference emissions parameter p_histEmiSector(tall,all_regi,all_enty,emi_sectors,sector_types) "historical emissions per sector" / $ondelim @@ -584,9 +584,9 @@ pm_emifac(ttot,regi,enty,enty2,te,"cco2")$emi2te(enty,enty2,te,"cco2") = fm_data *JeS scale N2O energy emissions to EDGAR pm_emifac(ttot,regi,enty,enty2,te,"n2o")$emi2te(enty,enty2,te,"n2o") = 0.905 * fm_dataemiglob(enty,enty2,te,"n2o"); -*JeS from IPCC http://www.ipcc-nggip.iges.or.jp/public/gp/bgp/2_2_Non-CO2_Stationary_Combustion.pdf: -*JeS CH4: 300 kg/TJ = 0.3 Mt/EJ * 31.536 EJ/TWa = 9.46 Mt /TWa -*JeS N2O: 1 kg/TJ = 0.001 Mt/EJ * 31.536 EJ/TWa = 0.031536 Mt / TWa +***JeS from IPCC http://www.ipcc-nggip.iges.or.jp/public/gp/bgp/2_2_Non-CO2_Stationary_Combustion.pdf: +***JeS CH4: 300 kg/TJ = 0.3 Mt/EJ * 31.536 EJ/TWa = 9.46 Mt /TWa +***JeS N2O: 1 kg/TJ = 0.001 Mt/EJ * 31.536 EJ/TWa = 0.031536 Mt / TWa *** coal 1.4 kg/TJ = 0.04415 Mt/TWa *** gas 0.1 kg/TJ = 0.00315 Mt/TWa *** oil 0.6 kg/TJ = 0.01892 Mt/TWa @@ -715,8 +715,8 @@ pm_cf(ttot,regi,"tdh2b") = pm_cf(ttot,regi,"tdh2s"); pm_cf(ttot,regi,"tdh2i") = pm_cf(ttot,regi,"tdh2s"); -*SB* Region- and tech-specific early retirement rates -*Regional* +*** Region- and tech-specific early retirement rates +***Regional* loop(ext_regi$pm_extRegiEarlyRetiRate(ext_regi), pm_regiEarlyRetiRate(t,regi,te)$(regi_group(ext_regi,regi)) = pm_extRegiEarlyRetiRate(ext_regi); ); @@ -737,7 +737,7 @@ loop((ext_regi,te)$p_techEarlyRetiRate(ext_regi,te), ); $endif.tech_earlyreti -*SB* Time-dependent early retirement rates in Baseline scenarios +*** Time-dependent early retirement rates in Baseline scenarios $ifthen.Base_Cprice %carbonprice% == "none" $ifthen.Base_techpol %techpol% == "none" *** CG: Allow no early retirement in future periods under baseline for developing countries From 673a436ebd0ca385b4269ed0f4d87bdfc69f3352 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Wed, 19 Jun 2024 08:35:36 +0000 Subject: [PATCH 036/875] Release development version 3.3.1.dev2 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index cdb74f927..26ba43ad0 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -260,8 +260,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.1" -date-released: 2024-06-18 +version: "3.3.1.dev2" +date-released: 2024-06-19 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 0f7578a14..fca80d3f0 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.1" +cfg$model_version <- "3.3.1.dev2" #### settings #### cfg$gms <- list() From 3c198637413826a6e106eb1a6fb94e82fe0fcac0 Mon Sep 17 00:00:00 2001 From: piontek Date: Wed, 19 Jun 2024 11:47:38 +0200 Subject: [PATCH 037/875] move files to input folder --- modules/50_damages/KotzWenz/input/files | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 modules/50_damages/KotzWenz/input/files diff --git a/modules/50_damages/KotzWenz/input/files b/modules/50_damages/KotzWenz/input/files new file mode 100644 index 000000000..11493f24c --- /dev/null +++ b/modules/50_damages/KotzWenz/input/files @@ -0,0 +1,5 @@ +f50_gdp.cs3r +f50_KLW_df_beta1.cs4r +f50_KLW_df_beta2.cs4r +f50_KLW_df_maxGMT.cs4r + From 61493bff7994de9ae04e4230cef6acf553587973 Mon Sep 17 00:00:00 2001 From: orichters Date: Wed, 19 Jun 2024 12:38:06 +0200 Subject: [PATCH 038/875] allow to select reporting and MAGICC7_AR6 in one output.R session --- output.R | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/output.R b/output.R index 1c0993e1e..b02726cae 100755 --- a/output.R +++ b/output.R @@ -130,15 +130,19 @@ if (isFALSE(comp)) comp <- "single" # legacy from times only two comp modes exis if (isTRUE(comp)) comp <- "comparison" if (! exists("output")) { + # search for R scripts in scripts/output subfolders modules <- gsub("\\.R$", "", grep("\\.R$", list.files(paste0("./scripts/output/", if (isFALSE(comp)) "single" else comp)), value = TRUE)) + # if more than one option exists, let user choose output <- if (length(modules) == 1) modules else chooseFromList(modules, type = "modules to be used for output generation", addAllPattern = FALSE) + # move "reporting" to first position, if it exists + output <- c(if ("reporting" %in% output) "reporting", output[! output %in% "reporting"]) } # Select output directories if not defined by readArgs if (! exists("outputdir")) { modulesNeedingMif <- c("compareScenarios2", "xlsx_IIASA", "policyCosts", "Ariadne_output", "plot_compare_iterations", "varListHtml", "fixOnRef", "MAGICC7_AR6") - needingMif <- any(modulesNeedingMif %in% output) + needingMif <- any(modulesNeedingMif %in% output) && ! "reporting" %in% output[[1]] if (exists("remind_dir")) { dir_folder <- c(file.path(remind_dir, "output"), remind_dir) } else { From b0f3cf6bc0c705629e3cad5abca5f07b5408f3a0 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Thu, 20 Jun 2024 06:27:35 +0000 Subject: [PATCH 039/875] Release development version 3.3.1.dev5 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 26ba43ad0..ff8f0d018 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -260,8 +260,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.1.dev2" -date-released: 2024-06-19 +version: "3.3.1.dev5" +date-released: 2024-06-20 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index fca80d3f0..ada603964 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.1.dev2" +cfg$model_version <- "3.3.1.dev5" #### settings #### cfg$gms <- list() From eb612b8c7faaa99a698badf7b2bdae0e61457413 Mon Sep 17 00:00:00 2001 From: orichters Date: Sun, 16 Jun 2024 12:04:58 +0200 Subject: [PATCH 040/875] undo renv update --- .Rprofile | 11 +- renv/activate.R | 490 ++++++++++++--------------------------------- renv/settings.json | 17 -- 3 files changed, 134 insertions(+), 384 deletions(-) delete mode 100644 renv/settings.json diff --git a/.Rprofile b/.Rprofile index bf3c215a9..c726d95bf 100644 --- a/.Rprofile +++ b/.Rprofile @@ -10,19 +10,12 @@ if (file.exists("renv.lock") && file.exists("README.md") && !file.exists("renv/o message("moved legacy renv.lock to renv/old_renv.lock") } -# do not check if library and renv.lock are in sync, because normally renv.lock does not exist -options(renv.config.synchronized.check = FALSE) - source("renv/activate.R") -# when increasing renvVersion first commit new version's activate script and -# put that commit's hash into the download.file call below -renvVersion <- "1.0.7" +renvVersion <- "0.16.0" if (packageVersion("renv") != renvVersion) { renvLockExisted <- file.exists(renv::paths$lockfile()) - renv::install(paste0("renv@", renvVersion)) - message("Downloading 'renv/activate.R' of renv version 1.0.7") - download.file("https://raw.githubusercontent.com/remindmodel/remind/b83bb1811ff08d8ee5ba8e834af5dd0080d10e66/renv/activate.R", "renv/activate.R") + renv::upgrade(version = renvVersion, reload = TRUE, prompt = FALSE) if (!renvLockExisted) { unlink(renv::paths$lockfile()) } diff --git a/renv/activate.R b/renv/activate.R index d13f9932a..019b5a669 100644 --- a/renv/activate.R +++ b/renv/activate.R @@ -2,28 +2,10 @@ local({ # the requested version of renv - version <- "1.0.7" - attr(version, "sha") <- NULL + version <- "0.16.0" # the project directory - project <- Sys.getenv("RENV_PROJECT") - if (!nzchar(project)) - project <- getwd() - - # use start-up diagnostics if enabled - diagnostics <- Sys.getenv("RENV_STARTUP_DIAGNOSTICS", unset = "FALSE") - if (diagnostics) { - start <- Sys.time() - profile <- tempfile("renv-startup-", fileext = ".Rprof") - utils::Rprof(profile) - on.exit({ - utils::Rprof(NULL) - elapsed <- signif(difftime(Sys.time(), start, units = "auto"), digits = 2L) - writeLines(sprintf("- renv took %s to run the autoloader.", format(elapsed))) - writeLines(sprintf("- Profile: %s", profile)) - print(utils::summaryRprof(profile)) - }, add = TRUE) - } + project <- getwd() # figure out whether the autoloader is enabled enabled <- local({ @@ -33,14 +15,6 @@ local({ if (!is.null(override)) return(override) - # if we're being run in a context where R_LIBS is already set, - # don't load -- presumably we're being run as a sub-process and - # the parent process has already set up library paths for us - rcmd <- Sys.getenv("R_CMD", unset = NA) - rlibs <- Sys.getenv("R_LIBS", unset = NA) - if (!is.na(rlibs) && !is.na(rcmd)) - return(FALSE) - # next, check environment variables # TODO: prefer using the configuration one in the future envvars <- c( @@ -60,22 +34,9 @@ local({ }) - # bail if we're not enabled - if (!enabled) { - - # if we're not enabled, we might still need to manually load - # the user profile here - profile <- Sys.getenv("R_PROFILE_USER", unset = "~/.Rprofile") - if (file.exists(profile)) { - cfg <- Sys.getenv("RENV_CONFIG_USER_PROFILE", unset = "TRUE") - if (tolower(cfg) %in% c("true", "t", "1")) - sys.source(profile, envir = globalenv()) - } - + if (!enabled) return(FALSE) - } - # avoid recursion if (identical(getOption("renv.autoloader.running"), TRUE)) { warning("ignoring recursive attempt to run renv autoloader") @@ -99,90 +60,21 @@ local({ # load bootstrap tools `%||%` <- function(x, y) { - if (is.null(x)) y else x - } - - catf <- function(fmt, ..., appendLF = TRUE) { - - quiet <- getOption("renv.bootstrap.quiet", default = FALSE) - if (quiet) - return(invisible()) - - msg <- sprintf(fmt, ...) - cat(msg, file = stdout(), sep = if (appendLF) "\n" else "") - - invisible(msg) - - } - - header <- function(label, - ..., - prefix = "#", - suffix = "-", - n = min(getOption("width"), 78)) - { - label <- sprintf(label, ...) - n <- max(n - nchar(label) - nchar(prefix) - 2L, 8L) - if (n <= 0) - return(paste(prefix, label)) - - tail <- paste(rep.int(suffix, n), collapse = "") - paste0(prefix, " ", label, " ", tail) - - } - - heredoc <- function(text, leave = 0) { - - # remove leading, trailing whitespace - trimmed <- gsub("^\\s*\\n|\\n\\s*$", "", text) - - # split into lines - lines <- strsplit(trimmed, "\n", fixed = TRUE)[[1L]] - - # compute common indent - indent <- regexpr("[^[:space:]]", lines) - common <- min(setdiff(indent, -1L)) - leave - paste(substring(lines, common), collapse = "\n") - - } - - startswith <- function(string, prefix) { - substring(string, 1, nchar(prefix)) == prefix + if (is.environment(x) || length(x)) x else y } bootstrap <- function(version, library) { - friendly <- renv_bootstrap_version_friendly(version) - section <- header(sprintf("Bootstrapping renv %s", friendly)) - catf(section) - # attempt to download renv - catf("- Downloading renv ... ", appendLF = FALSE) - withCallingHandlers( - tarball <- renv_bootstrap_download(version), - error = function(err) { - catf("FAILED") - stop("failed to download:\n", conditionMessage(err)) - } - ) - catf("OK") - on.exit(unlink(tarball), add = TRUE) + tarball <- tryCatch(renv_bootstrap_download(version), error = identity) + if (inherits(tarball, "error")) + stop("failed to download renv ", version) # now attempt to install - catf("- Installing renv ... ", appendLF = FALSE) - withCallingHandlers( - status <- renv_bootstrap_install(version, tarball, library), - error = function(err) { - catf("FAILED") - stop("failed to install:\n", conditionMessage(err)) - } - ) - catf("OK") - - # add empty line to break up bootstrapping from normal output - catf("") + status <- tryCatch(renv_bootstrap_install(version, tarball, library), error = identity) + if (inherits(status, "error")) + stop("failed to install renv ", version) - return(invisible()) } renv_bootstrap_tests_running <- function() { @@ -191,32 +83,28 @@ local({ renv_bootstrap_repos <- function() { - # get CRAN repository - cran <- getOption("renv.repos.cran", "https://cloud.r-project.org") - # check for repos override repos <- Sys.getenv("RENV_CONFIG_REPOS_OVERRIDE", unset = NA) - if (!is.na(repos)) { - - # check for RSPM; if set, use a fallback repository for renv - rspm <- Sys.getenv("RSPM", unset = NA) - if (identical(rspm, repos)) - repos <- c(RSPM = rspm, CRAN = cran) - + if (!is.na(repos)) return(repos) - } - # check for lockfile repositories repos <- tryCatch(renv_bootstrap_repos_lockfile(), error = identity) if (!inherits(repos, "error") && length(repos)) return(repos) + # if we're testing, re-use the test repositories + if (renv_bootstrap_tests_running()) + return(getOption("renv.tests.repos")) + # retrieve current repos repos <- getOption("repos") # ensure @CRAN@ entries are resolved - repos[repos == "@CRAN@"] <- cran + repos[repos == "@CRAN@"] <- getOption( + "renv.repos.cran", + "https://cloud.r-project.org" + ) # add in renv.bootstrap.repos if set default <- c(FALLBACK = "https://cloud.r-project.org") @@ -255,34 +143,33 @@ local({ renv_bootstrap_download <- function(version) { - sha <- attr(version, "sha", exact = TRUE) - - methods <- if (!is.null(sha)) { - - # attempting to bootstrap a development version of renv - c( - function() renv_bootstrap_download_tarball(sha), - function() renv_bootstrap_download_github(sha) + # if the renv version number has 4 components, assume it must + # be retrieved via github + nv <- numeric_version(version) + components <- unclass(nv)[[1]] + + # if this appears to be a development version of 'renv', we'll + # try to restore from github + dev <- length(components) == 4L + + # begin collecting different methods for finding renv + methods <- c( + renv_bootstrap_download_tarball, + if (dev) + renv_bootstrap_download_github + else c( + renv_bootstrap_download_cran_latest, + renv_bootstrap_download_cran_archive ) - - } else { - - # attempting to bootstrap a release version of renv - c( - function() renv_bootstrap_download_tarball(version), - function() renv_bootstrap_download_cran_latest(version), - function() renv_bootstrap_download_cran_archive(version) - ) - - } + ) for (method in methods) { - path <- tryCatch(method(), error = identity) + path <- tryCatch(method(version), error = identity) if (is.character(path) && file.exists(path)) return(path) } - stop("All download methods failed") + stop("failed to download renv ", version) } @@ -346,6 +233,8 @@ local({ type <- spec$type repos <- spec$repos + message("* Downloading renv ", version, " ... ", appendLF = FALSE) + baseurl <- utils::contrib.url(repos = repos, type = type) ext <- if (identical(type, "source")) ".tar.gz" @@ -362,10 +251,13 @@ local({ condition = identity ) - if (inherits(status, "condition")) + if (inherits(status, "condition")) { + message("FAILED") return(FALSE) + } # report success and return + message("OK (downloaded ", type, ")") destfile } @@ -422,6 +314,8 @@ local({ urls <- file.path(repos, "src/contrib/Archive/renv", name) destfile <- file.path(tempdir(), name) + message("* Downloading renv ", version, " ... ", appendLF = FALSE) + for (url in urls) { status <- tryCatch( @@ -429,11 +323,14 @@ local({ condition = identity ) - if (identical(status, 0L)) + if (identical(status, 0L)) { + message("OK") return(destfile) + } } + message("FAILED") return(FALSE) } @@ -447,7 +344,8 @@ local({ return() # allow directories - if (dir.exists(tarball)) { + info <- file.info(tarball, extra_cols = FALSE) + if (identical(info$isdir, TRUE)) { name <- sprintf("renv_%s.tar.gz", version) tarball <- file.path(tarball, name) } @@ -456,7 +354,7 @@ local({ if (!file.exists(tarball)) { # let the user know we weren't able to honour their request - fmt <- "- RENV_BOOTSTRAP_TARBALL is set (%s) but does not exist." + fmt <- "* RENV_BOOTSTRAP_TARBALL is set (%s) but does not exist." msg <- sprintf(fmt, tarball) warning(msg) @@ -465,7 +363,10 @@ local({ } - catf("- Using local tarball '%s'.", tarball) + fmt <- "* Bootstrapping with tarball at path '%s'." + msg <- sprintf(fmt, tarball) + message(msg) + tarball } @@ -492,6 +393,8 @@ local({ on.exit(do.call(base::options, saved), add = TRUE) } + message("* Downloading renv ", version, " from GitHub ... ", appendLF = FALSE) + url <- file.path("https://api.github.com/repos/rstudio/renv/tarball", version) name <- sprintf("renv_%s.tar.gz", version) destfile <- file.path(tempdir(), name) @@ -501,105 +404,26 @@ local({ condition = identity ) - if (!identical(status, 0L)) + if (!identical(status, 0L)) { + message("FAILED") return(FALSE) - - renv_bootstrap_download_augment(destfile) - - return(destfile) - - } - - # Add Sha to DESCRIPTION. This is stop gap until #890, after which we - # can use renv::install() to fully capture metadata. - renv_bootstrap_download_augment <- function(destfile) { - sha <- renv_bootstrap_git_extract_sha1_tar(destfile) - if (is.null(sha)) { - return() } - # Untar - tempdir <- tempfile("renv-github-") - on.exit(unlink(tempdir, recursive = TRUE), add = TRUE) - untar(destfile, exdir = tempdir) - pkgdir <- dir(tempdir, full.names = TRUE)[[1]] - - # Modify description - desc_path <- file.path(pkgdir, "DESCRIPTION") - desc_lines <- readLines(desc_path) - remotes_fields <- c( - "RemoteType: github", - "RemoteHost: api.github.com", - "RemoteRepo: renv", - "RemoteUsername: rstudio", - "RemotePkgRef: rstudio/renv", - paste("RemoteRef: ", sha), - paste("RemoteSha: ", sha) - ) - writeLines(c(desc_lines[desc_lines != ""], remotes_fields), con = desc_path) - - # Re-tar - local({ - old <- setwd(tempdir) - on.exit(setwd(old), add = TRUE) + message("OK") + return(destfile) - tar(destfile, compression = "gzip") - }) - invisible() - } - - # Extract the commit hash from a git archive. Git archives include the SHA1 - # hash as the comment field of the tarball pax extended header - # (see https://www.kernel.org/pub/software/scm/git/docs/git-archive.html) - # For GitHub archives this should be the first header after the default one - # (512 byte) header. - renv_bootstrap_git_extract_sha1_tar <- function(bundle) { - - # open the bundle for reading - # We use gzcon for everything because (from ?gzcon) - # > Reading from a connection which does not supply a 'gzip' magic - # > header is equivalent to reading from the original connection - conn <- gzcon(file(bundle, open = "rb", raw = TRUE)) - on.exit(close(conn)) - - # The default pax header is 512 bytes long and the first pax extended header - # with the comment should be 51 bytes long - # `52 comment=` (11 chars) + 40 byte SHA1 hash - len <- 0x200 + 0x33 - res <- rawToChar(readBin(conn, "raw", n = len)[0x201:len]) - - if (grepl("^52 comment=", res)) { - sub("52 comment=", "", res) - } else { - NULL - } } renv_bootstrap_install <- function(version, tarball, library) { # attempt to install it into project library + message("* Installing renv ", version, " ... ", appendLF = FALSE) dir.create(library, showWarnings = FALSE, recursive = TRUE) - output <- renv_bootstrap_install_impl(library, tarball) - - # check for successful install - status <- attr(output, "status") - if (is.null(status) || identical(status, 0L)) - return(status) - - # an error occurred; report it - header <- "installation of renv failed" - lines <- paste(rep.int("=", nchar(header)), collapse = "") - text <- paste(c(header, lines, output), collapse = "\n") - stop(text) - - } - - renv_bootstrap_install_impl <- function(library, tarball) { # invoke using system2 so we can capture and report output bin <- R.home("bin") exe <- if (Sys.info()[["sysname"]] == "Windows") "R.exe" else "R" - R <- file.path(bin, exe) + r <- file.path(bin, exe) args <- c( "--vanilla", "CMD", "INSTALL", "--no-multiarch", @@ -607,7 +431,19 @@ local({ shQuote(path.expand(tarball)) ) - system2(R, args, stdout = TRUE, stderr = TRUE) + output <- system2(r, args, stdout = TRUE, stderr = TRUE) + message("Done!") + + # check for successful install + status <- attr(output, "status") + if (is.numeric(status) && !identical(status, 0L)) { + header <- "Error installing renv:" + lines <- paste(rep.int("=", nchar(header)), collapse = "") + text <- c(header, lines, output) + writeLines(text, con = stderr()) + } + + status } @@ -648,9 +484,6 @@ local({ # if the user has requested an automatic prefix, generate it auto <- Sys.getenv("RENV_PATHS_PREFIX_AUTO", unset = NA) - if (is.na(auto) && getRversion() >= "4.4.0") - auto <- "TRUE" - if (auto %in% c("TRUE", "True", "true", "1")) return(renv_bootstrap_platform_prefix_auto()) @@ -820,61 +653,34 @@ local({ } - renv_bootstrap_validate_version <- function(version, description = NULL) { + renv_bootstrap_validate_version <- function(version) { - # resolve description file - # - # avoid passing lib.loc to `packageDescription()` below, since R will - # use the loaded version of the package by default anyhow. note that - # this function should only be called after 'renv' is loaded - # https://github.com/rstudio/renv/issues/1625 - description <- description %||% packageDescription("renv") - - # check whether requested version 'version' matches loaded version of renv - sha <- attr(version, "sha", exact = TRUE) - valid <- if (!is.null(sha)) - renv_bootstrap_validate_version_dev(sha, description) - else - renv_bootstrap_validate_version_release(version, description) - - if (valid) + loadedversion <- utils::packageDescription("renv", fields = "Version") + if (version == loadedversion) return(TRUE) - # the loaded version of renv doesn't match the requested version; - # give the user instructions on how to proceed - dev <- identical(description[["RemoteType"]], "github") - remote <- if (dev) - paste("rstudio/renv", description[["RemoteSha"]], sep = "@") + # assume four-component versions are from GitHub; three-component + # versions are from CRAN + components <- strsplit(loadedversion, "[.-]")[[1]] + remote <- if (length(components) == 4L) + paste("rstudio/renv", loadedversion, sep = "@") else - paste("renv", description[["Version"]], sep = "@") + paste("renv", loadedversion, sep = "@") - # display both loaded version + sha if available - friendly <- renv_bootstrap_version_friendly( - version = description[["Version"]], - sha = if (dev) description[["RemoteSha"]] + fmt <- paste( + "renv %1$s was loaded from project library, but this project is configured to use renv %2$s.", + "Use `renv::record(\"%3$s\")` to record renv %1$s in the lockfile.", + "Use `renv::restore(packages = \"renv\")` to install renv %2$s into the project library.", + sep = "\n" ) - fmt <- heredoc(" - renv %1$s was loaded from project library, but this project is configured to use renv %2$s. - - Use `renv::record(\"%3$s\")` to record renv %1$s in the lockfile. - - Use `renv::restore(packages = \"renv\")` to install renv %2$s into the project library. - ") - catf(fmt, friendly, renv_bootstrap_version_friendly(version), remote) + msg <- sprintf(fmt, loadedversion, version, remote) + warning(msg, call. = FALSE) FALSE } - renv_bootstrap_validate_version_dev <- function(version, description) { - expected <- description[["RemoteSha"]] - is.character(expected) && startswith(expected, version) - } - - renv_bootstrap_validate_version_release <- function(version, description) { - expected <- description[["Version"]] - is.character(expected) && identical(expected, version) - } - renv_bootstrap_hash_text <- function(text) { hashfile <- tempfile("renv-hash-") @@ -894,12 +700,6 @@ local({ # warn if the version of renv loaded does not match renv_bootstrap_validate_version(version) - # execute renv load hooks, if any - hooks <- getHook("renv::autoload") - for (hook in hooks) - if (is.function(hook)) - tryCatch(hook(), error = warnify) - # load the project renv::load(project) @@ -1039,78 +839,26 @@ local({ } - renv_bootstrap_version_friendly <- function(version, shafmt = NULL, sha = NULL) { - sha <- sha %||% attr(version, "sha", exact = TRUE) - parts <- c(version, sprintf(shafmt %||% " [sha: %s]", substring(sha, 1L, 7L))) - paste(parts, collapse = "") - } - - renv_bootstrap_exec <- function(project, libpath, version) { - if (!renv_bootstrap_load(project, libpath, version)) - renv_bootstrap_run(version, libpath) - } - - renv_bootstrap_run <- function(version, libpath) { - - # perform bootstrap - bootstrap(version, libpath) - - # exit early if we're just testing bootstrap - if (!is.na(Sys.getenv("RENV_BOOTSTRAP_INSTALL_ONLY", unset = NA))) - return(TRUE) - - # try again to load - if (requireNamespace("renv", lib.loc = libpath, quietly = TRUE)) { - return(renv::load(project = getwd())) - } - - # failed to download or load renv; warn the user - msg <- c( - "Failed to find an renv installation: the project will not be loaded.", - "Use `renv::activate()` to re-initialize the project." - ) - - warning(paste(msg, collapse = "\n"), call. = FALSE) - - } renv_json_read <- function(file = NULL, text = NULL) { - jlerr <- NULL - # if jsonlite is loaded, use that instead - if ("jsonlite" %in% loadedNamespaces()) { - - json <- tryCatch(renv_json_read_jsonlite(file, text), error = identity) - if (!inherits(json, "error")) - return(json) - - jlerr <- json - - } - - # otherwise, fall back to the default JSON reader - json <- tryCatch(renv_json_read_default(file, text), error = identity) - if (!inherits(json, "error")) - return(json) - - # report an error - if (!is.null(jlerr)) - stop(jlerr) + if ("jsonlite" %in% loadedNamespaces()) + renv_json_read_jsonlite(file, text) else - stop(json) + renv_json_read_default(file, text) } renv_json_read_jsonlite <- function(file = NULL, text = NULL) { - text <- paste(text %||% readLines(file, warn = FALSE), collapse = "\n") + text <- paste(text %||% read(file), collapse = "\n") jsonlite::fromJSON(txt = text, simplifyVector = FALSE) } renv_json_read_default <- function(file = NULL, text = NULL) { # find strings in the JSON - text <- paste(text %||% readLines(file, warn = FALSE), collapse = "\n") + text <- paste(text %||% read(file), collapse = "\n") pattern <- '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]' locs <- gregexpr(pattern, text, perl = TRUE)[[1]] @@ -1158,14 +906,14 @@ local({ map <- as.list(map) # remap strings in object - remapped <- renv_json_read_remap(json, map) + remapped <- renv_json_remap(json, map) # evaluate eval(remapped, envir = baseenv()) } - renv_json_read_remap <- function(json, map) { + renv_json_remap <- function(json, map) { # fix names if (!is.null(names(json))) { @@ -1192,7 +940,7 @@ local({ # recurse if (is.recursive(json)) { for (i in seq_along(json)) { - json[i] <- list(renv_json_read_remap(json[[i]], map)) + json[i] <- list(renv_json_remap(json[[i]], map)) } } @@ -1212,9 +960,35 @@ local({ # construct full libpath libpath <- file.path(root, prefix) - # run bootstrap code - renv_bootstrap_exec(project, libpath, version) + # attempt to load + if (renv_bootstrap_load(project, libpath, version)) + return(TRUE) + + # load failed; inform user we're about to bootstrap + prefix <- paste("# Bootstrapping renv", version) + postfix <- paste(rep.int("-", 77L - nchar(prefix)), collapse = "") + header <- paste(prefix, postfix) + message(header) + + # perform bootstrap + bootstrap(version, libpath) + + # exit early if we're just testing bootstrap + if (!is.na(Sys.getenv("RENV_BOOTSTRAP_INSTALL_ONLY", unset = NA))) + return(TRUE) + + # try again to load + if (requireNamespace("renv", lib.loc = libpath, quietly = TRUE)) { + message("* Successfully installed and loaded renv ", version, ".") + return(renv::load()) + } + + # failed to download or load renv; warn the user + msg <- c( + "Failed to find an renv installation: the project will not be loaded.", + "Use `renv::activate()` to re-initialize the project." + ) - invisible() + warning(paste(msg, collapse = "\n"), call. = FALSE) }) diff --git a/renv/settings.json b/renv/settings.json deleted file mode 100644 index 3331ef253..000000000 --- a/renv/settings.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "bioconductor.version": [], - "external.libraries": [], - "ignored.packages": [], - "package.dependency.fields": [ - "Imports", - "Depends", - "LinkingTo" - ], - "r.version": [], - "snapshot.type": "implicit", - "use.cache": true, - "vcs.ignore.cellar": true, - "vcs.ignore.library": true, - "vcs.ignore.local": true, - "vcs.manage.ignores": true -} From 1346cb68076a9ea2435434d81238773bcf396583 Mon Sep 17 00:00:00 2001 From: David Klein Date: Thu, 20 Jun 2024 11:36:40 +0200 Subject: [PATCH 041/875] Use the folder from which the R session is started as the renv project (not always the main folder). Change renv test back from warning into error. --- .Rprofile | 3 +++ scripts/start/run.R | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.Rprofile b/.Rprofile index bf3c215a9..da9b92df8 100644 --- a/.Rprofile +++ b/.Rprofile @@ -13,6 +13,9 @@ if (file.exists("renv.lock") && file.exists("README.md") && !file.exists("renv/o # do not check if library and renv.lock are in sync, because normally renv.lock does not exist options(renv.config.synchronized.check = FALSE) +# always set the renv project to the current direcotry (formerly done by renv/activate.R under version 0.16.0) +Sys.setenv("RENV_PROJECT" = getwd()) + source("renv/activate.R") # when increasing renvVersion first commit new version's activate script and diff --git a/scripts/start/run.R b/scripts/start/run.R index 5655b1fd8..8fa14b828 100644 --- a/scripts/start/run.R +++ b/scripts/start/run.R @@ -259,7 +259,7 @@ run <- function() { # make sure the renv used for the run is also used for generating output if (!is.null(renv::project())) { if (normalizePath(renv::project()) != normalizePath(outputdir)) { - warning("loaded renv=", normalizePath(renv::project()), " and outputdir=", normalizePath(outputdir), " must be equal.") + stop("loaded renv=", normalizePath(renv::project()), " and outputdir=", normalizePath(outputdir), " must be equal.") } argv <- c(get0("argv"), paste0("--renv=", renv::project())) } From 3fd5f1607b8307753f36405dde79e5633860b83e Mon Sep 17 00:00:00 2001 From: orichters Date: Thu, 20 Jun 2024 11:41:28 +0200 Subject: [PATCH 042/875] fix nashAnalysis, add cs2 tutorial link --- scripts/output/comparison/compareScenarios2.R | 3 ++- scripts/output/single/nashAnalysis.R | 2 +- tutorials/05_AnalysingModelOutputs.md | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/scripts/output/comparison/compareScenarios2.R b/scripts/output/comparison/compareScenarios2.R index 684099471..ed3e723a8 100644 --- a/scripts/output/comparison/compareScenarios2.R +++ b/scripts/output/comparison/compareScenarios2.R @@ -94,7 +94,8 @@ if (! exists("profileNames") || ! all(profileNames %in% names(profiles))) { profileNames <- names(profiles)[gms::chooseFromList( ifelse(names(profiles) %in% profileNamesDefault, crayon::cyan(names(profiles)), names(profiles)), type = "profiles for cs2", - userinfo = paste0("Leave empty for ", crayon::cyan("cyan"), " default profiles."), + userinfo = paste0("Leave empty for ", crayon::cyan("cyan"), " default profiles.\n", + "For a tutorial, see https://pik-piam.r-universe.dev/articles/remind2/compareScenariosRemind2.html"), returnBoolean = TRUE )] } diff --git a/scripts/output/single/nashAnalysis.R b/scripts/output/single/nashAnalysis.R index 78bdd21d5..7e8743ef7 100644 --- a/scripts/output/single/nashAnalysis.R +++ b/scripts/output/single/nashAnalysis.R @@ -9,7 +9,7 @@ library(remind2) if (!exists("outputdir")) { # Define arguments that can be read from command line - readArgs("outputdir") + lucode2::readArgs("outputdir") } gdx_name <- "fulldata.gdx" diff --git a/tutorials/05_AnalysingModelOutputs.md b/tutorials/05_AnalysingModelOutputs.md index ed7eab584..f8b9f3e56 100644 --- a/tutorials/05_AnalysingModelOutputs.md +++ b/tutorials/05_AnalysingModelOutputs.md @@ -182,7 +182,7 @@ In both cases, you can choose from the list of available model scenarios, for wh Now, the selected scripts are executed. After completion, the results are written in the respective folder of the run (combination of **model title** name and the **current date** inside the **output** folder of the model). -One recommended script for comparison of different scenarios is `compareScenarios2`. After you selected folder names, specified a `filename_prefix`, the priority on the cluster, and a *profile* (describes some output parameters) it produces a large PDF (or HTML if a respective profile is chosen) in the `./remind/` folder. +One recommended script for comparison of different scenarios is `compareScenarios2`, see [the specific tutorial](https://pik-piam.r-universe.dev/articles/remind2/compareScenariosRemind2.html). After you selected folder names, specified a `filename_prefix`, the priority on the cluster, and a *profile* (describes some output parameters) it produces a large PDF (or HTML if a respective profile is chosen) in the `./remind/` folder. You can also specify the parameters in the command line, for example starting a `compareScenario2` run without any prefix as: From 367745ee5f54a07945d069efd548af0f51073170 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Thu, 20 Jun 2024 09:51:11 +0000 Subject: [PATCH 043/875] Release development version 3.3.1.dev8 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index ff8f0d018..501d7d686 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -260,7 +260,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.1.dev5" +version: "3.3.1.dev8" date-released: 2024-06-20 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index ada603964..c2ff8791b 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.1.dev5" +cfg$model_version <- "3.3.1.dev8" #### settings #### cfg$gms <- list() From 3bb99e668f31a3a57c21f3bc8778dfa064eed9ae Mon Sep 17 00:00:00 2001 From: David Klein Date: Thu, 20 Jun 2024 12:01:19 +0200 Subject: [PATCH 044/875] Update .Rprofile Co-authored-by: orichters <90761609+orichters@users.noreply.github.com> --- .Rprofile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.Rprofile b/.Rprofile index da9b92df8..3e1a88ed8 100644 --- a/.Rprofile +++ b/.Rprofile @@ -13,7 +13,7 @@ if (file.exists("renv.lock") && file.exists("README.md") && !file.exists("renv/o # do not check if library and renv.lock are in sync, because normally renv.lock does not exist options(renv.config.synchronized.check = FALSE) -# always set the renv project to the current direcotry (formerly done by renv/activate.R under version 0.16.0) +# always set the renv project to the current directory (formerly done by renv/activate.R under version 0.16.0) Sys.setenv("RENV_PROJECT" = getwd()) source("renv/activate.R") From b7d0ef3bd0072c4c5ad12d84b2e4889126826834 Mon Sep 17 00:00:00 2001 From: David Klein Date: Thu, 20 Jun 2024 12:07:10 +0200 Subject: [PATCH 045/875] Reverting previous commit: throw warning instead of error if reporting runs with renv other than that of the run. --- scripts/start/run.R | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/start/run.R b/scripts/start/run.R index 8fa14b828..cafd1cffd 100644 --- a/scripts/start/run.R +++ b/scripts/start/run.R @@ -259,10 +259,11 @@ run <- function() { # make sure the renv used for the run is also used for generating output if (!is.null(renv::project())) { if (normalizePath(renv::project()) != normalizePath(outputdir)) { - stop("loaded renv=", normalizePath(renv::project()), " and outputdir=", normalizePath(outputdir), " must be equal.") + warning("loaded renv=", normalizePath(renv::project()), " and outputdir=", normalizePath(outputdir), " must be equal.") } argv <- c(get0("argv"), paste0("--renv=", renv::project())) } + message("Using ", normalizePath(renv::project()), " as renv project") sys.source("output.R",envir=new.env()) # get runtime for output From 68bbf7e3cfe5df78ac0145c7b0635d02b638716b Mon Sep 17 00:00:00 2001 From: David Klein Date: Thu, 20 Jun 2024 12:09:30 +0200 Subject: [PATCH 046/875] Shift code up --- scripts/start/run.R | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/start/run.R b/scripts/start/run.R index cafd1cffd..c5d2baca9 100644 --- a/scripts/start/run.R +++ b/scripts/start/run.R @@ -261,9 +261,10 @@ run <- function() { if (normalizePath(renv::project()) != normalizePath(outputdir)) { warning("loaded renv=", normalizePath(renv::project()), " and outputdir=", normalizePath(outputdir), " must be equal.") } + message("Using ", normalizePath(renv::project()), " as renv project") argv <- c(get0("argv"), paste0("--renv=", renv::project())) } - message("Using ", normalizePath(renv::project()), " as renv project") + sys.source("output.R",envir=new.env()) # get runtime for output From 25d7c967fbbd3e956107975bea8f287c44065467 Mon Sep 17 00:00:00 2001 From: David Klein Date: Thu, 20 Jun 2024 12:10:17 +0200 Subject: [PATCH 047/875] Remove empty line --- scripts/start/run.R | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/start/run.R b/scripts/start/run.R index c5d2baca9..15ad01541 100644 --- a/scripts/start/run.R +++ b/scripts/start/run.R @@ -264,7 +264,6 @@ run <- function() { message("Using ", normalizePath(renv::project()), " as renv project") argv <- c(get0("argv"), paste0("--renv=", renv::project())) } - sys.source("output.R",envir=new.env()) # get runtime for output From 62a6ed16e449229b0f0641b378c43b33a4756370 Mon Sep 17 00:00:00 2001 From: amerfort Date: Thu, 20 Jun 2024 12:25:56 +0200 Subject: [PATCH 048/875] Add even better switch name and parameter for unit conversion --- core/bounds.gms | 5 +++-- core/declarations.gms | 1 + main.gms | 4 ++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/core/bounds.gms b/core/bounds.gms index 212362621..364ea1488 100755 --- a/core/bounds.gms +++ b/core/bounds.gms @@ -401,8 +401,9 @@ $endif *** ------------------------------------------------------------------------------------------------------------- if ( c_ccsinjecratescen gt 0, - vm_co2CCS.lo(t,regi,"cco2","ico2","ccsinje","1")$(t.val le 2030) = pm_boundCapCCS(t,regi,"low")$(t.val le 2030) / (1000*11/3); - vm_co2CCS.up(t,regi,"cco2","ico2","ccsinje","1")$(t.val le 2030) = (pm_boundCapCCS(t,regi,"low")$(t.val le 2030) + (pm_boundCapCCS(t,regi,"up")$(t.val le 2030) - pm_boundCapCCS(t,regi,"low")$(t.val le 2030)) * c_sharemaxCCScap2030) / (1000*11/3); + vm_co2CCS.fx(t,regi,"cco2","ico2","ccsinje","1")$(t.val lt 2025) = 0; + vm_co2CCS.lo(t,regi,"cco2","ico2","ccsinje","1")$(t.val le 2030) = pm_boundCapCCS(t,regi,"low")$(t.val le 2030) * s_MtCO2_2_GtC; + vm_co2CCS.up(t,regi,"cco2","ico2","ccsinje","1")$(t.val le 2030) = (pm_boundCapCCS(t,regi,"low")$(t.val le 2030) + (pm_boundCapCCS(t,regi,"up")$(t.val le 2030) - pm_boundCapCCS(t,regi,"low")$(t.val le 2030)) * c_fracRealfromAnnouncedCCScap2030) / (1000*11/3); ); loop(regi, diff --git a/core/declarations.gms b/core/declarations.gms index 3f9f81332..a10727b1e 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -587,6 +587,7 @@ sm_dmac "step in MAC functions [US sm_macChange "maximum yearly increase of relative abatement in percentage points of maximum abatement. [0..1]" /0.05/ sm_tgn_2_pgc "conversion factor 100-yr GWP from TgN to PgCeq" sm_tgch4_2_pgc "conversion factor 100-yr GWP from TgCH4 to PgCeq" +s_MtCO2_2_GtC "conversion factor from MtCO2 to native REMIND emission unit GtC" /2.727e-04/ s_MtCH4_2_TWa "Energy content of methane. MtCH4 --> TWa: 1 MtCH4 = 1.23 * 10^6 toe * 42 GJ/toe * 10^-9 EJ/GJ * 1 TWa/31.536 EJ = 0.001638 TWa (BP statistical review)" /0.001638/ diff --git a/main.gms b/main.gms index 6b6da26ff..57a92386d 100755 --- a/main.gms +++ b/main.gms @@ -1093,9 +1093,9 @@ parameter *' parameter - c_sharemaxCCScap2030 "switch to adjust the share of realised CCS capacities from total announced/planned projects from database in 2030" + c_fracRealfromAnnouncedCCScap2030 "switch to adjust the share of realised CCS capacities from total announced/planned projects from database in 2030" ; - c_sharemaxCCScap2030 = 0.4; !! def = 0.4 + c_fracRealfromAnnouncedCCScap2030 = 0.4; !! def = 0.4 *' This switch changes the assumption about the share of timely realised capacities from sum of announced/planned in 2030 from the IEA CCS data base *' Default assumption is that only 40% of announced or planned capacities will be realised, either due to discontinuation or delay From 71b94b6622d92a8de3b9e0e2d59f68bb10266c56 Mon Sep 17 00:00:00 2001 From: amerfort Date: Thu, 20 Jun 2024 12:28:31 +0200 Subject: [PATCH 049/875] small changes for consistency --- core/bounds.gms | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/bounds.gms b/core/bounds.gms index 364ea1488..02449329f 100755 --- a/core/bounds.gms +++ b/core/bounds.gms @@ -393,7 +393,7 @@ $endif *** ------------------------------------------------------------------------------------------------------------- *AM* No geological storage before 2025 (omitting approx. 40 MtCCS/yr globally in 2020 for Enhanced Oil Recovery) *AM* Lower limit for 2025 and 2030 is capacities of all projects that are operational and under construction from project data base -*AM* Upper limit for 2025 and 2030 additionally includes 40% (default, or changed by c_sharemaxCCScap2030) announced/planned projects from project data base +*AM* Upper limit for 2025 and 2030 additionally includes 40% (default, or changed by c_fracRealfromAnnouncedCCScap2030) announced/planned projects from project data base *AM* In nash-mode regions cannot easily share ressources, therefore CCS potentials are redistributed in Europe: *AM* Potential of EU27 regions is pooled and redistributed according to GDP (Only upper limit for 2030) *AM* Norway and UK announced to store CO2 for EU27 countries. So 50% of Norway and UK potential in 2030 is attributed to EU27-Pool @@ -403,7 +403,7 @@ $endif if ( c_ccsinjecratescen gt 0, vm_co2CCS.fx(t,regi,"cco2","ico2","ccsinje","1")$(t.val lt 2025) = 0; vm_co2CCS.lo(t,regi,"cco2","ico2","ccsinje","1")$(t.val le 2030) = pm_boundCapCCS(t,regi,"low")$(t.val le 2030) * s_MtCO2_2_GtC; - vm_co2CCS.up(t,regi,"cco2","ico2","ccsinje","1")$(t.val le 2030) = (pm_boundCapCCS(t,regi,"low")$(t.val le 2030) + (pm_boundCapCCS(t,regi,"up")$(t.val le 2030) - pm_boundCapCCS(t,regi,"low")$(t.val le 2030)) * c_fracRealfromAnnouncedCCScap2030) / (1000*11/3); + vm_co2CCS.up(t,regi,"cco2","ico2","ccsinje","1")$(t.val le 2030) = (pm_boundCapCCS(t,regi,"low")$(t.val le 2030) + (pm_boundCapCCS(t,regi,"up")$(t.val le 2030) - pm_boundCapCCS(t,regi,"low")$(t.val le 2030)) * c_fracRealfromAnnouncedCCScap2030) * s_MtCO2_2_GtC; ); loop(regi, From a5f301223f2415fba61d41dd9b21a1ed7c2ead84 Mon Sep 17 00:00:00 2001 From: gabriel-abrahao Date: Thu, 20 Jun 2024 12:57:03 +0200 Subject: [PATCH 050/875] Use own python script for tirf FIXME using own remind2 library --- config/default.cfg | 1 + modules/15_climate/magicc7_ar6/postsolve.gms | 6 +- .../input/climate_assessment_openscm_run.py | 198 ++++++++++++++++++ scripts/input/climate_assessment_run.R | 5 +- ...te_assessment_temperatureImpulseResponse.R | 11 +- 5 files changed, 213 insertions(+), 8 deletions(-) create mode 100644 scripts/input/climate_assessment_openscm_run.py diff --git a/config/default.cfg b/config/default.cfg index fca80d3f0..59b5d2a43 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -136,6 +136,7 @@ cfg$files2export$start <- c("config/conopt3.opt", "scripts/input/exoGAINSAirpollutants.R", "scripts/input/climate_assessment_run.R", "scripts/input/climate_assessment_temperatureImpulseResponse.R", + "scripts/input/climate_assessment_openscm_run.py", ".Rprofile", "config/mappingEDGEtoREMINDsectors.csv", "modules/11_aerosols/exoGAINS/input/ef_gains.cs4r", diff --git a/modules/15_climate/magicc7_ar6/postsolve.gms b/modules/15_climate/magicc7_ar6/postsolve.gms index ee30aed37..fa5083af3 100644 --- a/modules/15_climate/magicc7_ar6/postsolve.gms +++ b/modules/15_climate/magicc7_ar6/postsolve.gms @@ -17,9 +17,11 @@ *' @code * Run only on first iteration to avoid incomplete GDXs -if (iteration.val ge 2, -* Run the climate assessment script. Takes around 2-3m for a single parameter set, including harmonization and infilling Execute_unload 'fulldata_postsolve'; +* if (iteration.val ge 2, +if (iteration.val ge 1, +* Run the climate assessment script. Takes around 2-3m for a single parameter set, including harmonization and infilling +* Execute_unload 'fulldata_postsolve'; Execute "Rscript climate_assessment_run.R"; * Read in results Execute_Loadpoint 'p15_forc_magicc' p15_forc_magicc; diff --git a/scripts/input/climate_assessment_openscm_run.py b/scripts/input/climate_assessment_openscm_run.py new file mode 100644 index 000000000..de54651e7 --- /dev/null +++ b/scripts/input/climate_assessment_openscm_run.py @@ -0,0 +1,198 @@ +#%% +import argparse +import datetime as dt +import logging +import os + +import scmdata +# import pymagicc +import openscm_runner +import scmdata +# import climate_assessment +# from climate_assessment.climate.wg3 import clean_wg3_scenarios +import pyam +import pandas as pd +import xarray as xr +# import copy +import json + +# TONN REMOVE start +# If these are already set, it shouldn't override it. We actually may not want to have a default but just throw an error if not set +os.environ["MAGICC_EXECUTABLE_7"] = "/p/projects/piam/abrahao/scratch/module_climate_tests/climate-assessment-files/magicc-v7.5.3/bin/magicc" +os.environ["MAGICC_WORKER_ROOT_DIR"] = "/p/projects/piam/abrahao/scratch/methane/methane_scm/workers" + +LOGGER = logging.getLogger(__name__) # We don't need this +# TONN REMOVE end + +# %% +# Parsing arguments +parser = argparse.ArgumentParser( + description='Runs MAGICC for given a harmonized and infilled emissions file created by climate-assessment.' + ) +parser.add_argument('scens_file', type=str, + help='an integer for the accumulator') +parser.add_argument('--climatetempdir', default=os.getcwd(), + help='Temporary folder for climate assessment files') +parser.add_argument('--endyear', default=2100, + help='Final year for MAGICC runs') +parser.add_argument('--scenario-batch-size', default=1, + help='How many scenarios to run in a batch, only makes sense when running more than one') +parser.add_argument('--probabilistic-file', required=True, + help='Required, JSON file with the MAGICC parameter sets. Number of sets must match --num-cfgs') +parser.add_argument('--num-cfgs', default=1, + help='Number of parameter sets must match --probabilistic-file') + + +args = parser.parse_args() +print(args) + + + + +# %% +# Setting parameters +# REMOVE +# args = argparse.Namespace(scens_file='/p/projects/piam/abrahao/scratch/remind_tonn/output/N_SSP2EU-NPi-internalize-ar6_2024-06-12_10.39.45/climate-assessment-data-tirf/allpulses.xlsx', climatetempdir='/p/projects/piam/abrahao/scratch/remind_tonn/output/N_SSP2EU-NPi-internalize-ar6_2024-06-12_10.39.45/climate-assessment-data-tirf', endyear='2205', scenario_batch_size='1', probabilistic_file='/p/projects/piam/abrahao/scratch/remind_tonn/output/N_SSP2EU-NPi-internalize-ar6_2024-06-12_10.39.45/probmod.json', num_cfgs='1') +# END REMOVE + +# Harmonized and infilled emissions scenario +basescenfname = args.scens_file + +# JSON with parameter sets +climate_assessment_magicc_prob_file_iteration = args.probabilistic_file + +# Final year for MAGICC run +endyear = args.endyear + +# Output file name, assumed to be inside climatetempdir +# TODO: We don't really use climatetempdir here, +# so we might want to replace it with a --outfilename +# argument, with default in the current working directory +outfilename = os.path.join(args.climatetempdir,"openscm_output.xlsx") + +# %% +# Check arguments + +# %% +# Clean the harmonized and infilled scenario, fixing some variable names required +inbasescen = pyam.IamDataFrame(basescenfname) + +# %% +def clean_wg3_scenarios(inp): + inp.filter( + variable=[ + "*Infilled|Emissions|CO2", + "*Infilled|Emissions|F-Gases", + "*Infilled|Emissions|HFC", + "*Infilled|Emissions|PFC", + "*Infilled|Emissions|Kyoto Gases (AR5-GWP100)", + "*Infilled|Emissions|Kyoto Gases (AR6-GWP100)", + ], + keep=False, + inplace=True, + ) + + infilled_emms_filter = "*Infilled*" + df_clean = inp.filter(variable=infilled_emms_filter).data.copy() + + if df_clean.empty: + LOGGER.error("No '%s' data available", infilled_emms_filter) + + return None + + replacements_variables = { + r".*\|Infilled\|": "", + "AFOLU": "MAGICC AFOLU", + "Energy and Industrial Processes": "MAGICC Fossil and Industrial", + "HFC43-10": "HFC4310mee", + # "Sulfur": "SOx", + # "VOC": "NMVOC", + r"HFC\|": "", + r"PFC\|": "", + "HFC245ca": "HFC245fa", # still needed? + } + for old, new in replacements_variables.items(): + df_clean["variable"] = df_clean["variable"].str.replace(old, new, regex=True) + + replacements_units = { + "HFC43-10": "HFC4310mee", + } + for old, new in replacements_units.items(): + df_clean["unit"] = df_clean["unit"].str.replace(old, new) + + # # avoid MAGICC's weird end year effects by ensuring scenarios go just beyond + # # the years we're interested in + # scens_scmrun = scmdata.ScmRun(df_clean) + # output_times = [ + # dt.datetime(y, 1, 1) for y in scens_scmrun["year"].tolist() + [3000] + # ] + # scens_scmrun = scens_scmrun.interpolate( + # output_times, + # extrapolation_type="constant", + # ) + # clean_scenarios = scens_scmrun.timeseries().reset_index() + clean_scenarios = df_clean + + def fix_hfc_unit(variable): + if "HFC" not in variable: + raise NotImplementedError(variable) + + return "kt {}/yr".format(variable.split("|")[-1]) + + hfc_rows = clean_scenarios["variable"].str.contains("HFC") + clean_scenarios.loc[hfc_rows, "unit"] = clean_scenarios.loc[ + hfc_rows, "variable" + ].apply(fix_hfc_unit) + + try: + # if extra col is floating around, remove it + clean_scenarios = clean_scenarios.drop("unnamed: 0", axis="columns") + except KeyError: + pass + + return clean_scenarios +#%% +basescen = clean_wg3_scenarios(inbasescen) +#%% +# Read parameter sets, can also be multiple +with open(climate_assessment_magicc_prob_file_iteration) as f: + allparsets = json.load(f) +allparsets = [i["nml_allcfgs"] for i in allparsets["configurations"]] + +# Set endyear in all parsets +for parset in allparsets: + parset["endyear"] = int(endyear) + + +# %% +runresults = openscm_runner.run( + climate_models_cfgs={ + "MAGICC7" : allparsets + }, + output_variables=( + "Surface Air Temperature Change", + "Net Atmosphere to Land Flux|CO2" + ), +scenarios = scmdata.ScmRun(basescen) + ) + +# %% +# Write output + +outfilename = os.path.splitext(basescenfname)[0] + '_IAMC_climateassessment.xlsx' + +runresults.filter(region = "World" + ).to_iamdataframe( + + ).swap_time_for_year( + + ).to_excel( + outfilename + ) + +# # # %% +# # # Show basic results +# # runresults.filter( +# # variable = "Surface Air Temperature Change", +# # region = "World" +# # ).lineplot() \ No newline at end of file diff --git a/scripts/input/climate_assessment_run.R b/scripts/input/climate_assessment_run.R index 85d5c122b..a4c7b7d7a 100644 --- a/scripts/input/climate_assessment_run.R +++ b/scripts/input/climate_assessment_run.R @@ -101,9 +101,12 @@ timeStopSetUpScript <- Sys.time() # # Run emissions report here +# Includes air pollutant emissions from reportEmiAirPol() # timeStartPreprocessing <- Sys.time() -emiReport <- reportEmi(gdxPath) +emiReport <- reportEmi(gdxPath, basicmode=TRUE) +emiAPReport <- reportEmiAirPol(gdxPath) +emiReport <-mbind(emiReport,emiAPReport[,getYears(emiReport),]) logMsg <- paste0( date(), " climate_assessment_prepare.R: Done reportEmi, start to wrangle emissions report into shape\n" diff --git a/scripts/input/climate_assessment_temperatureImpulseResponse.R b/scripts/input/climate_assessment_temperatureImpulseResponse.R index b72d5843c..f85c97bfd 100644 --- a/scripts/input/climate_assessment_temperatureImpulseResponse.R +++ b/scripts/input/climate_assessment_temperatureImpulseResponse.R @@ -178,16 +178,15 @@ fileAllPulsesClimate <- paste0(normalizePath(climateTempDir), "/allpulses_IAMC_c # BUILD climate-assessment RUN COMMAND runClimateEmulatorCmd <- paste( - "python", file.path(scriptsDir, "run_clim.py"), + "python climate_assessment_openscm_run.py ", fileAllPulsesScen, - climateTempDir, + "--climatetempdir", climateTempDir, # Note: Option --year-filter-last requires https://github.com/gabriel-abrahao/climate-assessment/tree/yearfilter - "--year-filter-last", 2305, + "--endyear", 2200, "--num-cfgs", nparsets, "--scenario-batch-size", 1, "--probabilistic-file", probabilisticFileModified ) - # Get conda environment folder condaDir <- "/p/projects/rd3mod/python/environments/scm_magicc7" # Command to activate the conda environment @@ -226,7 +225,8 @@ system(paste0(condaCmd, runClimateEmulatorCmd)) timeStopEmulation <- Sys.time() # Actual runs done, read the output, already filtering what we need -temperatureVarName <- "AR6 climate diagnostics|Surface Temperature (GSAT)|MAGICCv7.5.3|50.0th Percentile" +# temperatureVarName <- "AR6 climate diagnostics|Surface Temperature (GSAT)|MAGICCv7.5.3|50.0th Percentile" +temperatureVarName <- "Surface Air Temperature Change" mifAllPulsesClimate <- read.quitte(fileAllPulsesClimate) %>% filter(variable == temperatureVarName) %>% filter(between(period, 2020, 2300)) @@ -322,3 +322,4 @@ writeToGdx <- function(file = "pm_magicc_temperatureImpulseResponse", df) { # write to GDX: writeToGdx("pm_magicc_temperatureImpulseResponse", oupt) print("...done.") + From d72f7adde1ca48c193d46d78c538ffdf7b8e97aa Mon Sep 17 00:00:00 2001 From: amerfort Date: Thu, 20 Jun 2024 14:27:15 +0200 Subject: [PATCH 051/875] add clarifications --- core/bounds.gms | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/core/bounds.gms b/core/bounds.gms index 02449329f..2cae16655 100755 --- a/core/bounds.gms +++ b/core/bounds.gms @@ -391,8 +391,7 @@ $endif *** ------------------------------------------------------------------------------------------------------------- -*AM* No geological storage before 2025 (omitting approx. 40 MtCCS/yr globally in 2020 for Enhanced Oil Recovery) -*AM* Lower limit for 2025 and 2030 is capacities of all projects that are operational and under construction from project data base +*AM* Lower limit for 2020-2030 is capacities of all projects that are operational (2020-2030) and under construction (2025-2030) from project data base *AM* Upper limit for 2025 and 2030 additionally includes 40% (default, or changed by c_fracRealfromAnnouncedCCScap2030) announced/planned projects from project data base *AM* In nash-mode regions cannot easily share ressources, therefore CCS potentials are redistributed in Europe: *AM* Potential of EU27 regions is pooled and redistributed according to GDP (Only upper limit for 2030) @@ -401,7 +400,6 @@ $endif *** ------------------------------------------------------------------------------------------------------------- if ( c_ccsinjecratescen gt 0, - vm_co2CCS.fx(t,regi,"cco2","ico2","ccsinje","1")$(t.val lt 2025) = 0; vm_co2CCS.lo(t,regi,"cco2","ico2","ccsinje","1")$(t.val le 2030) = pm_boundCapCCS(t,regi,"low")$(t.val le 2030) * s_MtCO2_2_GtC; vm_co2CCS.up(t,regi,"cco2","ico2","ccsinje","1")$(t.val le 2030) = (pm_boundCapCCS(t,regi,"low")$(t.val le 2030) + (pm_boundCapCCS(t,regi,"up")$(t.val le 2030) - pm_boundCapCCS(t,regi,"low")$(t.val le 2030)) * c_fracRealfromAnnouncedCCScap2030) * s_MtCO2_2_GtC; ); From e628b45e7f10e7fae9d2cf4b66b9ca9a379f7006 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Thu, 20 Jun 2024 12:40:38 +0000 Subject: [PATCH 052/875] Release development version 3.3.1.dev17 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 501d7d686..fccd498b9 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -260,7 +260,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.1.dev8" +version: "3.3.1.dev17" date-released: 2024-06-20 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index c2ff8791b..b1627d763 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.1.dev8" +cfg$model_version <- "3.3.1.dev17" #### settings #### cfg$gms <- list() From 288a5242990d69044fe0c91edf4e0d1e0d5548bc Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Thu, 20 Jun 2024 14:08:32 +0000 Subject: [PATCH 053/875] Release development version 3.3.1.dev25 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index fccd498b9..91cab26af 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -260,7 +260,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.1.dev17" +version: "3.3.1.dev25" date-released: 2024-06-20 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index b1627d763..4240eb408 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.1.dev17" +cfg$model_version <- "3.3.1.dev25" #### settings #### cfg$gms <- list() From 9168e0426cf480f6bbac5c270acc0434b74ac33a Mon Sep 17 00:00:00 2001 From: gabriel-abrahao Date: Fri, 21 Jun 2024 12:13:02 +0200 Subject: [PATCH 054/875] Use reportEmiForClimateAssessment --- scripts/input/climate_assessment_run.R | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/scripts/input/climate_assessment_run.R b/scripts/input/climate_assessment_run.R index a4c7b7d7a..afc4c8d12 100644 --- a/scripts/input/climate_assessment_run.R +++ b/scripts/input/climate_assessment_run.R @@ -104,9 +104,7 @@ timeStopSetUpScript <- Sys.time() # Includes air pollutant emissions from reportEmiAirPol() # timeStartPreprocessing <- Sys.time() -emiReport <- reportEmi(gdxPath, basicmode=TRUE) -emiAPReport <- reportEmiAirPol(gdxPath) -emiReport <-mbind(emiReport,emiAPReport[,getYears(emiReport),]) +emiReport <- reportEmiForClimateAssessment(gdxPath) logMsg <- paste0( date(), " climate_assessment_prepare.R: Done reportEmi, start to wrangle emissions report into shape\n" From b5bfa37cf221f41c37102bc814d3708c35478d8a Mon Sep 17 00:00:00 2001 From: gabriel-abrahao Date: Fri, 21 Jun 2024 12:26:07 +0200 Subject: [PATCH 055/875] Update remind2 requirement --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 2c56098d6..9c9912fdc 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -60,7 +60,7 @@ Imports: raster, readr, readxl, - remind2 (>= 1.142), + remind2 (>= 1.144), renv, reshape2, reticulate, From c3a8175842fa78ac806ab6c6a038253a5795b253 Mon Sep 17 00:00:00 2001 From: gabriel-abrahao Date: Fri, 21 Jun 2024 12:44:31 +0200 Subject: [PATCH 056/875] Revert "undo renv update" This reverts commit eb612b8c7faaa99a698badf7b2bdae0e61457413. --- .Rprofile | 11 +- renv/activate.R | 490 +++++++++++++++++++++++++++++++++------------ renv/settings.json | 17 ++ 3 files changed, 381 insertions(+), 137 deletions(-) create mode 100644 renv/settings.json diff --git a/.Rprofile b/.Rprofile index ff75ffd18..bf3c215a9 100644 --- a/.Rprofile +++ b/.Rprofile @@ -13,15 +13,16 @@ if (file.exists("renv.lock") && file.exists("README.md") && !file.exists("renv/o # do not check if library and renv.lock are in sync, because normally renv.lock does not exist options(renv.config.synchronized.check = FALSE) -# always set the renv project to the current directory (formerly done by renv/activate.R under version 0.16.0) -Sys.setenv("RENV_PROJECT" = getwd()) - source("renv/activate.R") -renvVersion <- "0.16.0" +# when increasing renvVersion first commit new version's activate script and +# put that commit's hash into the download.file call below +renvVersion <- "1.0.7" if (packageVersion("renv") != renvVersion) { renvLockExisted <- file.exists(renv::paths$lockfile()) - renv::upgrade(version = renvVersion, reload = TRUE, prompt = FALSE) + renv::install(paste0("renv@", renvVersion)) + message("Downloading 'renv/activate.R' of renv version 1.0.7") + download.file("https://raw.githubusercontent.com/remindmodel/remind/b83bb1811ff08d8ee5ba8e834af5dd0080d10e66/renv/activate.R", "renv/activate.R") if (!renvLockExisted) { unlink(renv::paths$lockfile()) } diff --git a/renv/activate.R b/renv/activate.R index 019b5a669..d13f9932a 100644 --- a/renv/activate.R +++ b/renv/activate.R @@ -2,10 +2,28 @@ local({ # the requested version of renv - version <- "0.16.0" + version <- "1.0.7" + attr(version, "sha") <- NULL # the project directory - project <- getwd() + project <- Sys.getenv("RENV_PROJECT") + if (!nzchar(project)) + project <- getwd() + + # use start-up diagnostics if enabled + diagnostics <- Sys.getenv("RENV_STARTUP_DIAGNOSTICS", unset = "FALSE") + if (diagnostics) { + start <- Sys.time() + profile <- tempfile("renv-startup-", fileext = ".Rprof") + utils::Rprof(profile) + on.exit({ + utils::Rprof(NULL) + elapsed <- signif(difftime(Sys.time(), start, units = "auto"), digits = 2L) + writeLines(sprintf("- renv took %s to run the autoloader.", format(elapsed))) + writeLines(sprintf("- Profile: %s", profile)) + print(utils::summaryRprof(profile)) + }, add = TRUE) + } # figure out whether the autoloader is enabled enabled <- local({ @@ -15,6 +33,14 @@ local({ if (!is.null(override)) return(override) + # if we're being run in a context where R_LIBS is already set, + # don't load -- presumably we're being run as a sub-process and + # the parent process has already set up library paths for us + rcmd <- Sys.getenv("R_CMD", unset = NA) + rlibs <- Sys.getenv("R_LIBS", unset = NA) + if (!is.na(rlibs) && !is.na(rcmd)) + return(FALSE) + # next, check environment variables # TODO: prefer using the configuration one in the future envvars <- c( @@ -34,9 +60,22 @@ local({ }) - if (!enabled) + # bail if we're not enabled + if (!enabled) { + + # if we're not enabled, we might still need to manually load + # the user profile here + profile <- Sys.getenv("R_PROFILE_USER", unset = "~/.Rprofile") + if (file.exists(profile)) { + cfg <- Sys.getenv("RENV_CONFIG_USER_PROFILE", unset = "TRUE") + if (tolower(cfg) %in% c("true", "t", "1")) + sys.source(profile, envir = globalenv()) + } + return(FALSE) + } + # avoid recursion if (identical(getOption("renv.autoloader.running"), TRUE)) { warning("ignoring recursive attempt to run renv autoloader") @@ -60,21 +99,90 @@ local({ # load bootstrap tools `%||%` <- function(x, y) { - if (is.environment(x) || length(x)) x else y + if (is.null(x)) y else x + } + + catf <- function(fmt, ..., appendLF = TRUE) { + + quiet <- getOption("renv.bootstrap.quiet", default = FALSE) + if (quiet) + return(invisible()) + + msg <- sprintf(fmt, ...) + cat(msg, file = stdout(), sep = if (appendLF) "\n" else "") + + invisible(msg) + + } + + header <- function(label, + ..., + prefix = "#", + suffix = "-", + n = min(getOption("width"), 78)) + { + label <- sprintf(label, ...) + n <- max(n - nchar(label) - nchar(prefix) - 2L, 8L) + if (n <= 0) + return(paste(prefix, label)) + + tail <- paste(rep.int(suffix, n), collapse = "") + paste0(prefix, " ", label, " ", tail) + + } + + heredoc <- function(text, leave = 0) { + + # remove leading, trailing whitespace + trimmed <- gsub("^\\s*\\n|\\n\\s*$", "", text) + + # split into lines + lines <- strsplit(trimmed, "\n", fixed = TRUE)[[1L]] + + # compute common indent + indent <- regexpr("[^[:space:]]", lines) + common <- min(setdiff(indent, -1L)) - leave + paste(substring(lines, common), collapse = "\n") + + } + + startswith <- function(string, prefix) { + substring(string, 1, nchar(prefix)) == prefix } bootstrap <- function(version, library) { + friendly <- renv_bootstrap_version_friendly(version) + section <- header(sprintf("Bootstrapping renv %s", friendly)) + catf(section) + # attempt to download renv - tarball <- tryCatch(renv_bootstrap_download(version), error = identity) - if (inherits(tarball, "error")) - stop("failed to download renv ", version) + catf("- Downloading renv ... ", appendLF = FALSE) + withCallingHandlers( + tarball <- renv_bootstrap_download(version), + error = function(err) { + catf("FAILED") + stop("failed to download:\n", conditionMessage(err)) + } + ) + catf("OK") + on.exit(unlink(tarball), add = TRUE) # now attempt to install - status <- tryCatch(renv_bootstrap_install(version, tarball, library), error = identity) - if (inherits(status, "error")) - stop("failed to install renv ", version) + catf("- Installing renv ... ", appendLF = FALSE) + withCallingHandlers( + status <- renv_bootstrap_install(version, tarball, library), + error = function(err) { + catf("FAILED") + stop("failed to install:\n", conditionMessage(err)) + } + ) + catf("OK") + + # add empty line to break up bootstrapping from normal output + catf("") + return(invisible()) } renv_bootstrap_tests_running <- function() { @@ -83,28 +191,32 @@ local({ renv_bootstrap_repos <- function() { + # get CRAN repository + cran <- getOption("renv.repos.cran", "https://cloud.r-project.org") + # check for repos override repos <- Sys.getenv("RENV_CONFIG_REPOS_OVERRIDE", unset = NA) - if (!is.na(repos)) + if (!is.na(repos)) { + + # check for RSPM; if set, use a fallback repository for renv + rspm <- Sys.getenv("RSPM", unset = NA) + if (identical(rspm, repos)) + repos <- c(RSPM = rspm, CRAN = cran) + return(repos) + } + # check for lockfile repositories repos <- tryCatch(renv_bootstrap_repos_lockfile(), error = identity) if (!inherits(repos, "error") && length(repos)) return(repos) - # if we're testing, re-use the test repositories - if (renv_bootstrap_tests_running()) - return(getOption("renv.tests.repos")) - # retrieve current repos repos <- getOption("repos") # ensure @CRAN@ entries are resolved - repos[repos == "@CRAN@"] <- getOption( - "renv.repos.cran", - "https://cloud.r-project.org" - ) + repos[repos == "@CRAN@"] <- cran # add in renv.bootstrap.repos if set default <- c(FALLBACK = "https://cloud.r-project.org") @@ -143,33 +255,34 @@ local({ renv_bootstrap_download <- function(version) { - # if the renv version number has 4 components, assume it must - # be retrieved via github - nv <- numeric_version(version) - components <- unclass(nv)[[1]] - - # if this appears to be a development version of 'renv', we'll - # try to restore from github - dev <- length(components) == 4L - - # begin collecting different methods for finding renv - methods <- c( - renv_bootstrap_download_tarball, - if (dev) - renv_bootstrap_download_github - else c( - renv_bootstrap_download_cran_latest, - renv_bootstrap_download_cran_archive + sha <- attr(version, "sha", exact = TRUE) + + methods <- if (!is.null(sha)) { + + # attempting to bootstrap a development version of renv + c( + function() renv_bootstrap_download_tarball(sha), + function() renv_bootstrap_download_github(sha) ) - ) + + } else { + + # attempting to bootstrap a release version of renv + c( + function() renv_bootstrap_download_tarball(version), + function() renv_bootstrap_download_cran_latest(version), + function() renv_bootstrap_download_cran_archive(version) + ) + + } for (method in methods) { - path <- tryCatch(method(version), error = identity) + path <- tryCatch(method(), error = identity) if (is.character(path) && file.exists(path)) return(path) } - stop("failed to download renv ", version) + stop("All download methods failed") } @@ -233,8 +346,6 @@ local({ type <- spec$type repos <- spec$repos - message("* Downloading renv ", version, " ... ", appendLF = FALSE) - baseurl <- utils::contrib.url(repos = repos, type = type) ext <- if (identical(type, "source")) ".tar.gz" @@ -251,13 +362,10 @@ local({ condition = identity ) - if (inherits(status, "condition")) { - message("FAILED") + if (inherits(status, "condition")) return(FALSE) - } # report success and return - message("OK (downloaded ", type, ")") destfile } @@ -314,8 +422,6 @@ local({ urls <- file.path(repos, "src/contrib/Archive/renv", name) destfile <- file.path(tempdir(), name) - message("* Downloading renv ", version, " ... ", appendLF = FALSE) - for (url in urls) { status <- tryCatch( @@ -323,14 +429,11 @@ local({ condition = identity ) - if (identical(status, 0L)) { - message("OK") + if (identical(status, 0L)) return(destfile) - } } - message("FAILED") return(FALSE) } @@ -344,8 +447,7 @@ local({ return() # allow directories - info <- file.info(tarball, extra_cols = FALSE) - if (identical(info$isdir, TRUE)) { + if (dir.exists(tarball)) { name <- sprintf("renv_%s.tar.gz", version) tarball <- file.path(tarball, name) } @@ -354,7 +456,7 @@ local({ if (!file.exists(tarball)) { # let the user know we weren't able to honour their request - fmt <- "* RENV_BOOTSTRAP_TARBALL is set (%s) but does not exist." + fmt <- "- RENV_BOOTSTRAP_TARBALL is set (%s) but does not exist." msg <- sprintf(fmt, tarball) warning(msg) @@ -363,10 +465,7 @@ local({ } - fmt <- "* Bootstrapping with tarball at path '%s'." - msg <- sprintf(fmt, tarball) - message(msg) - + catf("- Using local tarball '%s'.", tarball) tarball } @@ -393,8 +492,6 @@ local({ on.exit(do.call(base::options, saved), add = TRUE) } - message("* Downloading renv ", version, " from GitHub ... ", appendLF = FALSE) - url <- file.path("https://api.github.com/repos/rstudio/renv/tarball", version) name <- sprintf("renv_%s.tar.gz", version) destfile <- file.path(tempdir(), name) @@ -404,26 +501,105 @@ local({ condition = identity ) - if (!identical(status, 0L)) { - message("FAILED") + if (!identical(status, 0L)) return(FALSE) - } - message("OK") + renv_bootstrap_download_augment(destfile) + return(destfile) } + # Add Sha to DESCRIPTION. This is stop gap until #890, after which we + # can use renv::install() to fully capture metadata. + renv_bootstrap_download_augment <- function(destfile) { + sha <- renv_bootstrap_git_extract_sha1_tar(destfile) + if (is.null(sha)) { + return() + } + + # Untar + tempdir <- tempfile("renv-github-") + on.exit(unlink(tempdir, recursive = TRUE), add = TRUE) + untar(destfile, exdir = tempdir) + pkgdir <- dir(tempdir, full.names = TRUE)[[1]] + + # Modify description + desc_path <- file.path(pkgdir, "DESCRIPTION") + desc_lines <- readLines(desc_path) + remotes_fields <- c( + "RemoteType: github", + "RemoteHost: api.github.com", + "RemoteRepo: renv", + "RemoteUsername: rstudio", + "RemotePkgRef: rstudio/renv", + paste("RemoteRef: ", sha), + paste("RemoteSha: ", sha) + ) + writeLines(c(desc_lines[desc_lines != ""], remotes_fields), con = desc_path) + + # Re-tar + local({ + old <- setwd(tempdir) + on.exit(setwd(old), add = TRUE) + + tar(destfile, compression = "gzip") + }) + invisible() + } + + # Extract the commit hash from a git archive. Git archives include the SHA1 + # hash as the comment field of the tarball pax extended header + # (see https://www.kernel.org/pub/software/scm/git/docs/git-archive.html) + # For GitHub archives this should be the first header after the default one + # (512 byte) header. + renv_bootstrap_git_extract_sha1_tar <- function(bundle) { + + # open the bundle for reading + # We use gzcon for everything because (from ?gzcon) + # > Reading from a connection which does not supply a 'gzip' magic + # > header is equivalent to reading from the original connection + conn <- gzcon(file(bundle, open = "rb", raw = TRUE)) + on.exit(close(conn)) + + # The default pax header is 512 bytes long and the first pax extended header + # with the comment should be 51 bytes long + # `52 comment=` (11 chars) + 40 byte SHA1 hash + len <- 0x200 + 0x33 + res <- rawToChar(readBin(conn, "raw", n = len)[0x201:len]) + + if (grepl("^52 comment=", res)) { + sub("52 comment=", "", res) + } else { + NULL + } + } + renv_bootstrap_install <- function(version, tarball, library) { # attempt to install it into project library - message("* Installing renv ", version, " ... ", appendLF = FALSE) dir.create(library, showWarnings = FALSE, recursive = TRUE) + output <- renv_bootstrap_install_impl(library, tarball) + + # check for successful install + status <- attr(output, "status") + if (is.null(status) || identical(status, 0L)) + return(status) + + # an error occurred; report it + header <- "installation of renv failed" + lines <- paste(rep.int("=", nchar(header)), collapse = "") + text <- paste(c(header, lines, output), collapse = "\n") + stop(text) + + } + + renv_bootstrap_install_impl <- function(library, tarball) { # invoke using system2 so we can capture and report output bin <- R.home("bin") exe <- if (Sys.info()[["sysname"]] == "Windows") "R.exe" else "R" - r <- file.path(bin, exe) + R <- file.path(bin, exe) args <- c( "--vanilla", "CMD", "INSTALL", "--no-multiarch", @@ -431,19 +607,7 @@ local({ shQuote(path.expand(tarball)) ) - output <- system2(r, args, stdout = TRUE, stderr = TRUE) - message("Done!") - - # check for successful install - status <- attr(output, "status") - if (is.numeric(status) && !identical(status, 0L)) { - header <- "Error installing renv:" - lines <- paste(rep.int("=", nchar(header)), collapse = "") - text <- c(header, lines, output) - writeLines(text, con = stderr()) - } - - status + system2(R, args, stdout = TRUE, stderr = TRUE) } @@ -484,6 +648,9 @@ local({ # if the user has requested an automatic prefix, generate it auto <- Sys.getenv("RENV_PATHS_PREFIX_AUTO", unset = NA) + if (is.na(auto) && getRversion() >= "4.4.0") + auto <- "TRUE" + if (auto %in% c("TRUE", "True", "true", "1")) return(renv_bootstrap_platform_prefix_auto()) @@ -653,34 +820,61 @@ local({ } - renv_bootstrap_validate_version <- function(version) { + renv_bootstrap_validate_version <- function(version, description = NULL) { - loadedversion <- utils::packageDescription("renv", fields = "Version") - if (version == loadedversion) + # resolve description file + # + # avoid passing lib.loc to `packageDescription()` below, since R will + # use the loaded version of the package by default anyhow. note that + # this function should only be called after 'renv' is loaded + # https://github.com/rstudio/renv/issues/1625 + description <- description %||% packageDescription("renv") + + # check whether requested version 'version' matches loaded version of renv + sha <- attr(version, "sha", exact = TRUE) + valid <- if (!is.null(sha)) + renv_bootstrap_validate_version_dev(sha, description) + else + renv_bootstrap_validate_version_release(version, description) + + if (valid) return(TRUE) - # assume four-component versions are from GitHub; three-component - # versions are from CRAN - components <- strsplit(loadedversion, "[.-]")[[1]] - remote <- if (length(components) == 4L) - paste("rstudio/renv", loadedversion, sep = "@") + # the loaded version of renv doesn't match the requested version; + # give the user instructions on how to proceed + dev <- identical(description[["RemoteType"]], "github") + remote <- if (dev) + paste("rstudio/renv", description[["RemoteSha"]], sep = "@") else - paste("renv", loadedversion, sep = "@") + paste("renv", description[["Version"]], sep = "@") - fmt <- paste( - "renv %1$s was loaded from project library, but this project is configured to use renv %2$s.", - "Use `renv::record(\"%3$s\")` to record renv %1$s in the lockfile.", - "Use `renv::restore(packages = \"renv\")` to install renv %2$s into the project library.", - sep = "\n" + # display both loaded version + sha if available + friendly <- renv_bootstrap_version_friendly( + version = description[["Version"]], + sha = if (dev) description[["RemoteSha"]] ) - msg <- sprintf(fmt, loadedversion, version, remote) - warning(msg, call. = FALSE) + fmt <- heredoc(" + renv %1$s was loaded from project library, but this project is configured to use renv %2$s. + - Use `renv::record(\"%3$s\")` to record renv %1$s in the lockfile. + - Use `renv::restore(packages = \"renv\")` to install renv %2$s into the project library. + ") + catf(fmt, friendly, renv_bootstrap_version_friendly(version), remote) FALSE } + renv_bootstrap_validate_version_dev <- function(version, description) { + expected <- description[["RemoteSha"]] + is.character(expected) && startswith(expected, version) + } + + renv_bootstrap_validate_version_release <- function(version, description) { + expected <- description[["Version"]] + is.character(expected) && identical(expected, version) + } + renv_bootstrap_hash_text <- function(text) { hashfile <- tempfile("renv-hash-") @@ -700,6 +894,12 @@ local({ # warn if the version of renv loaded does not match renv_bootstrap_validate_version(version) + # execute renv load hooks, if any + hooks <- getHook("renv::autoload") + for (hook in hooks) + if (is.function(hook)) + tryCatch(hook(), error = warnify) + # load the project renv::load(project) @@ -839,26 +1039,78 @@ local({ } + renv_bootstrap_version_friendly <- function(version, shafmt = NULL, sha = NULL) { + sha <- sha %||% attr(version, "sha", exact = TRUE) + parts <- c(version, sprintf(shafmt %||% " [sha: %s]", substring(sha, 1L, 7L))) + paste(parts, collapse = "") + } + + renv_bootstrap_exec <- function(project, libpath, version) { + if (!renv_bootstrap_load(project, libpath, version)) + renv_bootstrap_run(version, libpath) + } + + renv_bootstrap_run <- function(version, libpath) { + + # perform bootstrap + bootstrap(version, libpath) + + # exit early if we're just testing bootstrap + if (!is.na(Sys.getenv("RENV_BOOTSTRAP_INSTALL_ONLY", unset = NA))) + return(TRUE) + + # try again to load + if (requireNamespace("renv", lib.loc = libpath, quietly = TRUE)) { + return(renv::load(project = getwd())) + } + + # failed to download or load renv; warn the user + msg <- c( + "Failed to find an renv installation: the project will not be loaded.", + "Use `renv::activate()` to re-initialize the project." + ) + + warning(paste(msg, collapse = "\n"), call. = FALSE) + + } renv_json_read <- function(file = NULL, text = NULL) { + jlerr <- NULL + # if jsonlite is loaded, use that instead - if ("jsonlite" %in% loadedNamespaces()) - renv_json_read_jsonlite(file, text) + if ("jsonlite" %in% loadedNamespaces()) { + + json <- tryCatch(renv_json_read_jsonlite(file, text), error = identity) + if (!inherits(json, "error")) + return(json) + + jlerr <- json + + } + + # otherwise, fall back to the default JSON reader + json <- tryCatch(renv_json_read_default(file, text), error = identity) + if (!inherits(json, "error")) + return(json) + + # report an error + if (!is.null(jlerr)) + stop(jlerr) else - renv_json_read_default(file, text) + stop(json) } renv_json_read_jsonlite <- function(file = NULL, text = NULL) { - text <- paste(text %||% read(file), collapse = "\n") + text <- paste(text %||% readLines(file, warn = FALSE), collapse = "\n") jsonlite::fromJSON(txt = text, simplifyVector = FALSE) } renv_json_read_default <- function(file = NULL, text = NULL) { # find strings in the JSON - text <- paste(text %||% read(file), collapse = "\n") + text <- paste(text %||% readLines(file, warn = FALSE), collapse = "\n") pattern <- '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]' locs <- gregexpr(pattern, text, perl = TRUE)[[1]] @@ -906,14 +1158,14 @@ local({ map <- as.list(map) # remap strings in object - remapped <- renv_json_remap(json, map) + remapped <- renv_json_read_remap(json, map) # evaluate eval(remapped, envir = baseenv()) } - renv_json_remap <- function(json, map) { + renv_json_read_remap <- function(json, map) { # fix names if (!is.null(names(json))) { @@ -940,7 +1192,7 @@ local({ # recurse if (is.recursive(json)) { for (i in seq_along(json)) { - json[i] <- list(renv_json_remap(json[[i]], map)) + json[i] <- list(renv_json_read_remap(json[[i]], map)) } } @@ -960,35 +1212,9 @@ local({ # construct full libpath libpath <- file.path(root, prefix) - # attempt to load - if (renv_bootstrap_load(project, libpath, version)) - return(TRUE) - - # load failed; inform user we're about to bootstrap - prefix <- paste("# Bootstrapping renv", version) - postfix <- paste(rep.int("-", 77L - nchar(prefix)), collapse = "") - header <- paste(prefix, postfix) - message(header) - - # perform bootstrap - bootstrap(version, libpath) - - # exit early if we're just testing bootstrap - if (!is.na(Sys.getenv("RENV_BOOTSTRAP_INSTALL_ONLY", unset = NA))) - return(TRUE) - - # try again to load - if (requireNamespace("renv", lib.loc = libpath, quietly = TRUE)) { - message("* Successfully installed and loaded renv ", version, ".") - return(renv::load()) - } - - # failed to download or load renv; warn the user - msg <- c( - "Failed to find an renv installation: the project will not be loaded.", - "Use `renv::activate()` to re-initialize the project." - ) + # run bootstrap code + renv_bootstrap_exec(project, libpath, version) - warning(paste(msg, collapse = "\n"), call. = FALSE) + invisible() }) diff --git a/renv/settings.json b/renv/settings.json new file mode 100644 index 000000000..3331ef253 --- /dev/null +++ b/renv/settings.json @@ -0,0 +1,17 @@ +{ + "bioconductor.version": [], + "external.libraries": [], + "ignored.packages": [], + "package.dependency.fields": [ + "Imports", + "Depends", + "LinkingTo" + ], + "r.version": [], + "snapshot.type": "implicit", + "use.cache": true, + "vcs.ignore.cellar": true, + "vcs.ignore.library": true, + "vcs.ignore.local": true, + "vcs.manage.ignores": true +} From 7209af30f241c49a95df9f6319940a176f240cc4 Mon Sep 17 00:00:00 2001 From: gabriel-abrahao Date: Fri, 21 Jun 2024 12:51:03 +0200 Subject: [PATCH 057/875] Redoing Davids renv fixes --- .Rprofile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.Rprofile b/.Rprofile index bf3c215a9..3e1a88ed8 100644 --- a/.Rprofile +++ b/.Rprofile @@ -13,6 +13,9 @@ if (file.exists("renv.lock") && file.exists("README.md") && !file.exists("renv/o # do not check if library and renv.lock are in sync, because normally renv.lock does not exist options(renv.config.synchronized.check = FALSE) +# always set the renv project to the current directory (formerly done by renv/activate.R under version 0.16.0) +Sys.setenv("RENV_PROJECT" = getwd()) + source("renv/activate.R") # when increasing renvVersion first commit new version's activate script and From 5108d4d7bffe6347a46c513f94e21ab8746dc1c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabrice=20L=C3=A9cuyer?= Date: Fri, 21 Jun 2024 16:21:53 +0200 Subject: [PATCH 058/875] collect_calibration: explain how to save commit --- scripts/utils/set-local-calibration/collect_calibration | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/utils/set-local-calibration/collect_calibration b/scripts/utils/set-local-calibration/collect_calibration index e382699e4..54f0466cb 100644 --- a/scripts/utils/set-local-calibration/collect_calibration +++ b/scripts/utils/set-local-calibration/collect_calibration @@ -21,7 +21,8 @@ new CES parameters and GDX files # add descriptions for parameter sources as needed # comments starting with '#' are ignored -# quit the editor without saving to abort the commit (use \`:cq\` in vim) +# to confirm the commit, save the file (use \`:wq\` in vim) +# to abort the commit, quit the editor without saving (use \`:cq\` in vim) parameters based on calibrations:" > commit-message.txt From 108df8f9b817dd02bfa42607727d84eb5cf7fcf4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabrice=20L=C3=A9cuyer?= Date: Fri, 21 Jun 2024 16:22:56 +0200 Subject: [PATCH 059/875] set-local-calibration: config automatically takes new hash --- .../utils/set-local-calibration/post-commit | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/scripts/utils/set-local-calibration/post-commit b/scripts/utils/set-local-calibration/post-commit index d0b1ac965..0d02bf921 100644 --- a/scripts/utils/set-local-calibration/post-commit +++ b/scripts/utils/set-local-calibration/post-commit @@ -85,6 +85,22 @@ else git branch -vv | grep -q "^\* .* [0-9a-f]\+ \[.*\]" && git push # report hash - echo -e "\n'CESandGDXversion' to include in REMIND configuration:" \ - "$commit_hash\n" + echo -e "\n'CESandGDXversion' to include in REMIND configuration: $commit_hash" + + configFile=../config/default.cfg + configRegex='^cfg.CESandGDXversion .*' + if [ -f $configFile ] && oldLine=$(grep -E "$configRegex" $configFile) && [[ $oldLine ]] + then + newLine='cfg$CESandGDXversion <- "'"${commit_hash}"'"' + + echo -e "File $configFile currently contains:\n\t$oldLine" + read -p "Do you want to update it automatically with the new hash (Y/n)? " confirm + if echo $confirm | grep '^[Yy]\?$' + then + sed --in-place "s/$configRegex/$newLine/" $configFile + echo -e "File $configFile now contains:\n\t$(grep -E "$configRegex" $configFile)" + else + echo "Please manually set 'CESandGDXversion' to: $commit_hash" + fi + fi fi From 4f999411b60685bfcf9cd7cd8e912e1a61dbf45e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabrice=20L=C3=A9cuyer?= Date: Fri, 21 Jun 2024 16:34:30 +0200 Subject: [PATCH 060/875] set-local-calibration: Avoid "read -p" --- scripts/utils/set-local-calibration/post-commit | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/utils/set-local-calibration/post-commit b/scripts/utils/set-local-calibration/post-commit index 0d02bf921..e13a04e4d 100644 --- a/scripts/utils/set-local-calibration/post-commit +++ b/scripts/utils/set-local-calibration/post-commit @@ -94,7 +94,8 @@ else newLine='cfg$CESandGDXversion <- "'"${commit_hash}"'"' echo -e "File $configFile currently contains:\n\t$oldLine" - read -p "Do you want to update it automatically with the new hash (Y/n)? " confirm + printf "%s" "Do you want to update it automatically with the new hash (Y/n)? " + read confirm if echo $confirm | grep '^[Yy]\?$' then sed --in-place "s/$configRegex/$newLine/" $configFile From 602f9d7fab1d6f481a7ed7518527e81b6e08e3d5 Mon Sep 17 00:00:00 2001 From: gabriel-abrahao Date: Mon, 24 Jun 2024 13:35:05 +0200 Subject: [PATCH 061/875] Remove unnecessary if clause --- modules/15_climate/magicc7_ar6/postsolve.gms | 3 --- 1 file changed, 3 deletions(-) diff --git a/modules/15_climate/magicc7_ar6/postsolve.gms b/modules/15_climate/magicc7_ar6/postsolve.gms index fa5083af3..f656df6f6 100644 --- a/modules/15_climate/magicc7_ar6/postsolve.gms +++ b/modules/15_climate/magicc7_ar6/postsolve.gms @@ -18,8 +18,6 @@ * Run only on first iteration to avoid incomplete GDXs Execute_unload 'fulldata_postsolve'; -* if (iteration.val ge 2, -if (iteration.val ge 1, * Run the climate assessment script. Takes around 2-3m for a single parameter set, including harmonization and infilling * Execute_unload 'fulldata_postsolve'; Execute "Rscript climate_assessment_run.R"; @@ -29,7 +27,6 @@ Execute_Loadpoint 'p15_magicc_temp' pm_globalMeanTemperature = pm_globalMeanTemp *** climate_assessment only reports until 2100: pm_globalMeanTemperature(tall)$(tall.val gt 2100) = pm_globalMeanTemperature("2100"); -); ***--------------------------------------------------------------------------- *' Raw temperature (GMT anomaly) from MAGICC is further calibrated to match HADCRUT4 in 2000. From fb2f1f9e6b2c3d65a708c4837e5cfa64967ef392 Mon Sep 17 00:00:00 2001 From: gabriel-abrahao Date: Mon, 24 Jun 2024 14:43:07 +0200 Subject: [PATCH 062/875] Remove commented line --- modules/15_climate/magicc7_ar6/postsolve.gms | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/15_climate/magicc7_ar6/postsolve.gms b/modules/15_climate/magicc7_ar6/postsolve.gms index f656df6f6..d8a960912 100644 --- a/modules/15_climate/magicc7_ar6/postsolve.gms +++ b/modules/15_climate/magicc7_ar6/postsolve.gms @@ -19,7 +19,6 @@ * Run only on first iteration to avoid incomplete GDXs Execute_unload 'fulldata_postsolve'; * Run the climate assessment script. Takes around 2-3m for a single parameter set, including harmonization and infilling -* Execute_unload 'fulldata_postsolve'; Execute "Rscript climate_assessment_run.R"; * Read in results Execute_Loadpoint 'p15_forc_magicc' p15_forc_magicc; From 92d3342f3c6bb04e7acf2c6de644f52b5bd5118c Mon Sep 17 00:00:00 2001 From: amerfort Date: Mon, 24 Jun 2024 18:39:47 +0200 Subject: [PATCH 063/875] bug fix such that default and default-testOneRegi work again --- core/bounds.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/bounds.gms b/core/bounds.gms index 2cae16655..953bbe876 100755 --- a/core/bounds.gms +++ b/core/bounds.gms @@ -399,7 +399,7 @@ $endif *LP* if c_ccsinjecratescen=0 --> no CCS at all and vm_co2CCS is fixed to 0 before, therefore the upper bound is only set if there should be CCS! *** ------------------------------------------------------------------------------------------------------------- -if ( c_ccsinjecratescen gt 0, +if ( (c_ccsinjecratescen gt 0) AND (NOT cm_emiscen eq 1), vm_co2CCS.lo(t,regi,"cco2","ico2","ccsinje","1")$(t.val le 2030) = pm_boundCapCCS(t,regi,"low")$(t.val le 2030) * s_MtCO2_2_GtC; vm_co2CCS.up(t,regi,"cco2","ico2","ccsinje","1")$(t.val le 2030) = (pm_boundCapCCS(t,regi,"low")$(t.val le 2030) + (pm_boundCapCCS(t,regi,"up")$(t.val le 2030) - pm_boundCapCCS(t,regi,"low")$(t.val le 2030)) * c_fracRealfromAnnouncedCCScap2030) * s_MtCO2_2_GtC; ); From 85b79d679a33877095248c0d62f8494e6aea22b2 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 25 Jun 2024 06:32:37 +0000 Subject: [PATCH 064/875] Release development version 3.3.1.dev28 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 91cab26af..baeb09cfe 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -260,8 +260,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.1.dev25" -date-released: 2024-06-20 +version: "3.3.1.dev28" +date-released: 2024-06-25 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 4240eb408..eb62d61af 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.1.dev25" +cfg$model_version <- "3.3.1.dev28" #### settings #### cfg$gms <- list() From aa019207128288641dc1e2736f4e5e4bcead3341 Mon Sep 17 00:00:00 2001 From: orichters <90761609+orichters@users.noreply.github.com> Date: Mon, 24 Jun 2024 13:51:50 +0200 Subject: [PATCH 065/875] fix R complaining about if in output.R ``` Error in all(is.na(output)) || output == "NA" : 'length = 5' in coercion to 'logical(1)' Calls: prepareAndRun -> run -> sys.source -> eval -> eval ``` --- modules/70_water/heat/declarations.gms | 2 +- output.R | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/70_water/heat/declarations.gms b/modules/70_water/heat/declarations.gms index f8ce0392c..78c34620b 100644 --- a/modules/70_water/heat/declarations.gms +++ b/modules/70_water/heat/declarations.gms @@ -19,7 +19,7 @@ p70_cap_vintages(ttot, all_regi, all_te, ttot2) "capacity build p70_cap_vintages_share(ttot, all_regi, all_te, ttot2) "fraction of capacity build in ttot2 still standing in ttot out of total capacity in ttot. Unit: 0-1" p70_heat(ttot,all_regi,all_enty,all_enty,all_te) "excess heat. Unit: TWa" p70_water_con(all_regi, all_te, coolte70) "water consumption coefficients per excess heat. Unit: m3/MWh" -p70_water_wtd(all_regi, all_te, coolte70) "water withdrawal coefficients per excess heat. Unit: m3/MWh)" +p70_water_wtd(all_regi, all_te, coolte70) "water withdrawal coefficients per excess heat. Unit: m3/MWh" p70_water_output(ttot,all_regi,descr_water_ext) "output" diff --git a/output.R b/output.R index b02726cae..c7784266d 100755 --- a/output.R +++ b/output.R @@ -279,7 +279,7 @@ if (comp %in% c("comparison", "export")) { # output creation for --testOneRegi was switched off in start.R in this commit: # https://github.com/remindmodel/remind/commit/5905d9dd814b4e4a62738d282bf1815e6029c965 - if (all(is.na(output)) || output == "NA") { + if (all(output %in% c(NA, "NA"))) { message("\nNo output generation, as output was set to NA, as for example for --testOneRegi or --quick.") } else { message("\nStarting output generation for ", outputdir, "\n") From a0ecf094ad00f4548c7d536901cf1cf7f89e7b48 Mon Sep 17 00:00:00 2001 From: Michaja Pehl Date: Wed, 19 Jun 2024 11:58:38 +0200 Subject: [PATCH 066/875] formatting --- core/equations.gms | 17 +++++++---------- modules/37_industry/subsectors/equations.gms | 8 ++++---- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/core/equations.gms b/core/equations.gms index 9e20dbaff..4c4d83630 100644 --- a/core/equations.gms +++ b/core/equations.gms @@ -809,21 +809,18 @@ q_budgetCO2eqGlob$(cm_emiscen=6).. *' Definition of carbon capture : ***--------------------------------------------------------------------------- q_balcapture(t,regi,ccs2te(ccsCo2(enty),enty2,te)) .. - sum(teCCS2rlf(te,rlf),vm_co2capture(t,regi,enty,enty2,te,rlf)) + sum(teCCS2rlf(te,rlf), vm_co2capture(t,regi,enty,enty2,te,rlf)) =e= -*** Carbon captured in energy sector + !! carbon captured in energy sector sum(emi2te(enty3,enty4,te2,enty), vm_emiTeDetail(t,regi,enty3,enty4,te2,enty) ) -*** Carbon captured from CDR technologies in CDR module - + sum(teCCS2rlf(te,rlf), - vm_ccs_cdr(t,regi,enty,enty2,te,rlf) - ) -*** Carbon captured from industry - + sum(emiInd37, - vm_emiIndCCS(t,regi,emiInd37) - ) + !! carbon captured from CDR technologies in CDR module + + sum(teCCS2rlf(te,rlf), vm_ccs_cdr(t,regi,enty,enty2,te,rlf)) + !! carbon captured from industry + + sum(emiInd37, vm_emiIndCCS(t,regi,emiInd37)) ; + ***--------------------------------------------------------------------------- *' Definition of splitting of captured CO2 to CCS, CCU and a valve (the valve *' accounts for different lifetimes of capture, CCS and CCU technologies s.t. diff --git a/modules/37_industry/subsectors/equations.gms b/modules/37_industry/subsectors/equations.gms index ad701f7c1..97c900736 100644 --- a/modules/37_industry/subsectors/equations.gms +++ b/modules/37_industry/subsectors/equations.gms @@ -295,15 +295,15 @@ q37_plasticWaste(ttot,regi,sefe(entySe,entyFe),emiMkt)$( + v37_plasticsCarbon(ttot-1,regi,entySe,entyFe,emiMkt)$( ttot.val gt 2070 ) ; -*' emissions from plastics incineration as a share of total plastic waste, discounted by captured amount +*' emissions from plastics incineration as a share of total plastic waste, +*' discounted by captured amount q37_incinerationEmi(t,regi,sefe(entySe,entyFe),emiMkt)$( - entyFE2sector2emiMkt_NonEn(entyFe,"indst",emiMkt)) .. + entyFE2sector2emiMkt_NonEn(entyFe,"indst",emiMkt) ) .. vm_incinerationEmi(t,regi,entySe,entyFe,emiMkt) =e= - ( v37_plasticWaste(t,regi,entySe,entyFe,emiMkt) * pm_incinerationRate(t,regi) - ) * (1 - p37_regionalWasteIncinerationCCSshare(t,regi)) + * (1 - p37_regionalWasteIncinerationCCSshare(t,regi)) ; *' calculate carbon contained in non-incinerated plastics From 7bcd3147b8786eb5a4f79d8198ff64b35892ad92 Mon Sep 17 00:00:00 2001 From: Michaja Pehl Date: Wed, 19 Jun 2024 13:45:45 +0200 Subject: [PATCH 067/875] add plastic waste incineration CCS to vm_co2capture --- CHANGELOG.md | 3 ++ core/declarations.gms | 1 + core/equations.gms | 4 +++ modules/37_industry/fixed_shares/not_used.txt | 33 ++++++++++--------- .../37_industry/subsectors/declarations.gms | 1 + modules/37_industry/subsectors/equations.gms | 9 +++++ 6 files changed, 35 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4d095f15f..6f96d83dc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### added ### fixed +- included CCS from plastic waste incineration in CCS mass flows so it is + subject to injection constraints (but did not add CCS costs, see + https://github.com/remindmodel/development_issues/issues/274 ### removed diff --git a/core/declarations.gms b/core/declarations.gms index cecd141b5..afffd7e23 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -417,6 +417,7 @@ vm_emiCdrAll(ttot,all_regi) "all CDR emissions" vm_feedstockEmiUnknownFate(ttot,all_regi,all_enty,all_enty,all_emiMkt) "Carbon flow: carbon contained in feedstocks with unknown fate (not plastics)(assumed to go back into the atmosphere) [GtC]" vm_incinerationEmi(ttot,all_regi,all_enty,all_enty,all_emiMkt) "Emissions from incineration of plastic waste [GtC]" +vm_incinerationCCS(ttot,all_regi,all_enty,all_enty,all_emiMkt) "CCS from incineration of plastic waste [GtC]" vm_nonIncineratedPlastics(ttot,all_regi,all_enty,all_enty,all_emiMkt) "Carbon flow: carbon contained in plastics that are not incinerated [GtC]" v_changeProdStartyearAdj(ttot,all_regi,all_te) "Absolute effect size of changing output with respect to the reference run for each te" diff --git a/core/equations.gms b/core/equations.gms index 4c4d83630..d84edb268 100644 --- a/core/equations.gms +++ b/core/equations.gms @@ -819,6 +819,10 @@ q_balcapture(t,regi,ccs2te(ccsCo2(enty),enty2,te)) .. + sum(teCCS2rlf(te,rlf), vm_ccs_cdr(t,regi,enty,enty2,te,rlf)) !! carbon captured from industry + sum(emiInd37, vm_emiIndCCS(t,regi,emiInd37)) + + sum((sefe(entySe,entyFe),emiMkt)$( + entyFE2sector2emiMkt_NonEn(entyFe,"indst",emiMkt) ), + vm_incinerationCCS(t,regi,entySe,entyFe,emiMkt) + ) ; ***--------------------------------------------------------------------------- diff --git a/modules/37_industry/fixed_shares/not_used.txt b/modules/37_industry/fixed_shares/not_used.txt index 2073258d5..d638d8dc0 100644 --- a/modules/37_industry/fixed_shares/not_used.txt +++ b/modules/37_industry/fixed_shares/not_used.txt @@ -5,31 +5,32 @@ # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de name, type, reason -pm_delta_kap, input, questionnaire +cm_emiscen, parameter, not needed pm_calibrate_eff_scale, parameter, not needed -pm_fedemand, parameter, not needed -sm_TWa_2_MWh, input, questionnaire -sm_giga_2_non, input, not needed -sm_EJ_2_TWa, input, not needed -sm_tmp2, parameter, not needed -vm_cap, variable, not needed -vm_capFac, variable, not needed -pm_tau_ces_tax, input, questionnaire -pm_secBioShare, parameter, not needed +pm_delta_kap, input, questionnaire +pm_emifacNonEnergy, parameter, not needed pm_exogDemScen, input, added by codeCheck -pm_ts, parameter, not needed +pm_fedemand, parameter, not needed +pm_incinerationRate, parameter, not needed pm_outflowPrcIni, parameter, not needed +pm_secBioShare, parameter, not needed pm_specFeDem, parameter, not needed +pm_tau_ces_tax, input, questionnaire +pm_ts, parameter, not needed +sm_EJ_2_TWa, input, not needed +sm_giga_2_non, input, not needed sm_macChange, parameter, not needed -vm_demFENonEnergySector, variable, not needed +sm_tmp2, parameter, not needed +sm_TWa_2_MWh, input, questionnaire v37_FeedstocksCarbon, variable, not needed v37_plasticsCarbon, variable, not needed v37_plasticWaste, variable, not needed +vm_capFac, variable, not needed +vm_cap, variable, not needed +vm_costMatPrc, variable, not needed +vm_demFENonEnergySector, variable, not needed vm_feedstockEmiUnknownFate, variable, not needed +vm_incinerationCCS, variable, does not want to play vm_incinerationEmi, variable, not needed vm_nonIncineratedPlastics, variable, not needed vm_outflowPrc, variable, not needed -vm_costMatPrc, variable, not needed -pm_emifacNonEnergy, parameter, not needed -pm_incinerationRate, parameter, not needed -cm_emiscen, parameter, not needed diff --git a/modules/37_industry/subsectors/declarations.gms b/modules/37_industry/subsectors/declarations.gms index 5ed409313..1d41d89bc 100644 --- a/modules/37_industry/subsectors/declarations.gms +++ b/modules/37_industry/subsectors/declarations.gms @@ -112,6 +112,7 @@ $endif.no_calibration q37_plasticsCarbon(ttot,all_regi,all_enty,all_enty,all_emiMkt) "calculate carbon contained in plastics [GtC]" q37_plasticWaste(ttot,all_regi,all_enty,all_enty,all_emiMkt) "calculate carbon contained in plastic waste [GtC]" q37_incinerationEmi(ttot,all_regi,all_enty,all_enty,all_emiMkt) "calculate carbon contained in plastics that are incinerated [GtC]" + q37_incinerationCCS(ttot,all_regi,all_enty,all_enty,all_emiMkt) "calculate carbon captured from plastics that are incinerated [GtC]" q37_nonIncineratedPlastics(ttot,all_regi,all_enty,all_enty,all_emiMkt) "calculate carbon contained in plastics that are not incinerated [GtC]" q37_feedstockEmiUnknownFate(ttot,all_regi,all_enty,all_enty,all_emiMkt) "calculate carbon contained in chemical feedstock with unknown fate [GtC]" q37_feedstocksLimit(ttot,all_regi,all_enty,all_enty,all_emiMkt) "restrict feedstocks flow to total energy flows into industry" diff --git a/modules/37_industry/subsectors/equations.gms b/modules/37_industry/subsectors/equations.gms index 97c900736..567b2cff4 100644 --- a/modules/37_industry/subsectors/equations.gms +++ b/modules/37_industry/subsectors/equations.gms @@ -306,6 +306,15 @@ q37_incinerationEmi(t,regi,sefe(entySe,entyFe),emiMkt)$( * (1 - p37_regionalWasteIncinerationCCSshare(t,regi)) ; +q37_incinerationCCS(t,regi,sefe(entySe,entyFe),emiMkt)$( + entyFE2sector2emiMkt_NonEn(entyFe,"indst",emiMkt) ) .. + vm_incinerationCCS(t,regi,entySe,entyFe,emiMkt) + =e= + v37_plasticWaste(t,regi,entySe,entyFe,emiMkt) + * pm_incinerationRate(t,regi) + * p37_regionalWasteIncinerationCCSshare(t,regi) +; + *' calculate carbon contained in non-incinerated plastics *' this is used in emissions accounting to subtract the carbon that gets *' sequestered in plastic products From 1770225a8ffe944e060ab67db1fc503a01ea68c4 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 25 Jun 2024 10:06:40 +0000 Subject: [PATCH 068/875] Release development version 3.3.1.dev32 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index baeb09cfe..bbc7cc585 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -260,7 +260,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.1.dev28" +version: "3.3.1.dev32" date-released: 2024-06-25 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index eb62d61af..df93e1548 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.1.dev28" +cfg$model_version <- "3.3.1.dev32" #### settings #### cfg$gms <- list() From 275d0c6a206069235bde91d7fe73d9d696b27e22 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 25 Jun 2024 14:23:03 +0000 Subject: [PATCH 069/875] Release development version 3.3.1.dev35 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index bbc7cc585..e794ebe7d 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -260,7 +260,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.1.dev32" +version: "3.3.1.dev35" date-released: 2024-06-25 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index df93e1548..bc3ff0d3c 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.1.dev32" +cfg$model_version <- "3.3.1.dev35" #### settings #### cfg$gms <- list() From c29c0574d9a512768a504383e2a79a716dbc7d2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabrice=20L=C3=A9cuyer?= Date: Wed, 26 Jun 2024 10:56:55 +0200 Subject: [PATCH 070/875] Description of set-local-calibration --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index e3be3cf9d..7060d3436 100644 --- a/Makefile +++ b/Makefile @@ -109,4 +109,4 @@ test-validation: ## Run validation tests, requires a full set of runs in the out set-local-calibration: ## set up local calibration results directory @./scripts/utils/set-local-calibration.sh - $(info use `collect_calibration` script in calibration_results/ directory ) + $(info Local calibration has been set. Now use `collect_calibration` script in calibration_results/ directory ) From 9a7465f7680341e3b666a8fb2361dba4fe466c8f Mon Sep 17 00:00:00 2001 From: orichters Date: Wed, 26 Jun 2024 11:42:48 +0200 Subject: [PATCH 071/875] improve documentation for 45_carbonprice/exogenous --- main.gms | 2 +- modules/45_carbonprice/exogenous/datainput.gms | 4 ++-- modules/45_carbonprice/exogenous/realization.gms | 4 +++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/main.gms b/main.gms index a1ba02627..9628bc90d 100755 --- a/main.gms +++ b/main.gms @@ -374,7 +374,7 @@ $setglobal emicapregi none !! def = none *' * (none): no tax policy (combined with all emiscens except emiscen = 9) *' * (exponential): 5% exponential increase over time of the tax level in 2020 set via cm_co2_tax_2020 (combined with emiscen = 9 and cm_co2_tax_2020>0) *' * (expoLinear): 5% exponential increase until c_expoLinear_yearStart, linear increase thereafter -*' * (exogenous): carbon price is specified using an external input file or using the switch cm_regiExoPrice +*' * (exogenous): carbon price is specified using an external input file or using the switch cm_regiExoPrice. Requires cm_emiscen = 9 and cm_iterative_target_adj = 0 *' * (linear): linear increase over time of the tax level in 2020 set via cm_co2_tax_2020 (combined with emiscen = 9 and cm_co2_tax_2020>0) *' * (temperatureNotToExceed): [test and verify before using it!] Find the optimal carbon carbon tax (set cm_emiscen = 1, iterative_target_adj = 9] curved convergence of CO2 prices between regions until cm_CO2priceRegConvEndYr; developed countries have linear path from 0 in 2010 through cm_co2_tax_2020 in 2020; *' * (diffCurvPhaseIn2Lin): [REMIND 2.1 default for validation peakBudget runs, in combination with iterative_target_adj = 9] curved convergence of CO2 prices between regions until cm_CO2priceRegConvEndYr; developed countries have linear path from 0 in 2010 through cm_co2_tax_2020 in 2020; diff --git a/modules/45_carbonprice/exogenous/datainput.gms b/modules/45_carbonprice/exogenous/datainput.gms index 10b7006e5..26e4d31a0 100644 --- a/modules/45_carbonprice/exogenous/datainput.gms +++ b/modules/45_carbonprice/exogenous/datainput.gms @@ -9,7 +9,7 @@ *** CO2 Tax level ***---------------------------- -if((cm_emiscen eq 9), +if((cm_emiscen eq 9 AND cm_iterative_target_adj eq 0), p45_tau_co2_tax(ttot, regi) = 0; @@ -21,7 +21,7 @@ pm_taxCO2eq(ttot,regi)$(ttot.val ge 2005) = p45_tau_co2_tax(ttot,regi); else pm_taxCO2eq(ttot,regi)$(ttot.val ge 2005) = 0; -abort "Error: Please set cm_emiscen to 9"; +abort "Error: Please set cm_emiscen to 9 and cm_iterative_target_adj to 0"; ); *** EOF ./modules/45_carbonprice/exogenous/datainput.gms diff --git a/modules/45_carbonprice/exogenous/realization.gms b/modules/45_carbonprice/exogenous/realization.gms index f9a59ec2a..42f4f533e 100644 --- a/modules/45_carbonprice/exogenous/realization.gms +++ b/modules/45_carbonprice/exogenous/realization.gms @@ -6,7 +6,9 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/45_carbonprice/exogenous/realization.gms -*#' @description This realization implements carbon price trajectories from an exogenous file (p45_tau_co2_tax.inc). +*#' @description This realization implements carbon price trajectories from an exogenous file (p45_tau_co2_tax.inc). +*#' Alternatively, specify in 'path_gdx_carbonprice' the run to be used +*#' Requires cm_emiscen = 9 and cm_iterative_target_adj = 0 *####################### R SECTION START (PHASES) ############################## From 7c31cebd78d402e9071f9291dacd80c8f16d9d72 Mon Sep 17 00:00:00 2001 From: orichters Date: Wed, 26 Jun 2024 11:43:08 +0200 Subject: [PATCH 072/875] allow to run fixOnRef non-interactively --- modules/45_carbonprice/exogenous/not_used.txt | 1 - output.R | 8 ++++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/modules/45_carbonprice/exogenous/not_used.txt b/modules/45_carbonprice/exogenous/not_used.txt index 58ad010b8..e8a8105be 100644 --- a/modules/45_carbonprice/exogenous/not_used.txt +++ b/modules/45_carbonprice/exogenous/not_used.txt @@ -9,7 +9,6 @@ cm_co2_tax_2020, switch, ??? sm_c_2_co2,switch, ??? pm_ttot_val,parameter,??? cm_co2_tax_growth,switch,??? -cm_iterative_target_adj,switch,??? cm_expoLinear_yearStart,switch,??? vm_co2eq,variable,??? vm_emiFgas,input,questionnaire diff --git a/output.R b/output.R index c7784266d..e836c11cc 100755 --- a/output.R +++ b/output.R @@ -99,6 +99,8 @@ choose_slurmConfig_output <- function(output) { slurm_options <- paste(slurm_options[1:3], "--mem=32000") } else if ("reporting" %in% output) { slurm_options <- grep("--mem=[0-9]*[0-9]{3}", slurm_options, value = TRUE) + } else if ("fixOnRef" %in% output && length(output) == 1) { + slurm_options <- c("direct", slurm_options) } if (length(slurm_options) == 1) { @@ -220,11 +222,10 @@ if (comp %in% c("comparison", "export")) { } } else { # comp = single # define slurm class or direct execution - outputInteractive <- c("plotIterations", "fixOnRef", "integratedDamageCosts") + outputInteractive <- c("plotIterations", "integratedDamageCosts") if (! exists("source_include")) { if (any(output %in% outputInteractive)) { slurmConfig <- "direct" - flags <- c(flags, "--interactive") # to tell scripts they can run in interactive mode } # if this script is not being sourced by another script but called from the command line via Rscript let the user # choose the slurm options @@ -235,6 +236,9 @@ if (comp %in% c("comparison", "export")) { if (slurmConfig %in% c("priority", "short", "standby")) { slurmConfig <- paste0("--qos=", slurmConfig, " --nodes=1 --tasks-per-node=1") } + if (isTRUE(slurmConfig %in% "direct")) { + flags <- c(flags, "--interactive") # to tell scripts they can run in interactive mode + } } else { # if being sourced by another script execute the output scripts directly without sending them to the cluster slurmConfig <- "direct" From 9de6dfaa566314d5638fd97565dcf5bd86a6afe7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabrice=20L=C3=A9cuyer?= Date: Wed, 26 Jun 2024 12:07:48 +0200 Subject: [PATCH 073/875] git hooks user input needs special care --- scripts/utils/set-local-calibration/post-commit | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/scripts/utils/set-local-calibration/post-commit b/scripts/utils/set-local-calibration/post-commit index e13a04e4d..9439d6c09 100644 --- a/scripts/utils/set-local-calibration/post-commit +++ b/scripts/utils/set-local-calibration/post-commit @@ -87,17 +87,20 @@ else # report hash echo -e "\n'CESandGDXversion' to include in REMIND configuration: $commit_hash" + # if default.cfg is easy to find, paste hash there automatically configFile=../config/default.cfg configRegex='^cfg.CESandGDXversion .*' if [ -f $configFile ] && oldLine=$(grep -E "$configRegex" $configFile) && [[ $oldLine ]] then - newLine='cfg$CESandGDXversion <- "'"${commit_hash}"'"' - echo -e "File $configFile currently contains:\n\t$oldLine" - printf "%s" "Do you want to update it automatically with the new hash (Y/n)? " - read confirm - if echo $confirm | grep '^[Yy]\?$' + + # ask confirmation to user (https://stackoverflow.com/a/54866905/8072168) + read -p "Do you want to update it automatically with the new hash (Y/n)? " -n 1 -r < /dev/tty + echo + if echo $REPLY | grep '^[Yy]\?$' > /dev/null then + newLine='cfg$CESandGDXversion <- "'"${commit_hash}"'"' + # replace old hash by new hash sed --in-place "s/$configRegex/$newLine/" $configFile echo -e "File $configFile now contains:\n\t$(grep -E "$configRegex" $configFile)" else From baf6afcfdd51adc7b284ef76c52a9b4d24307187 Mon Sep 17 00:00:00 2001 From: orichters Date: Wed, 26 Jun 2024 12:12:43 +0200 Subject: [PATCH 074/875] remove all cols and rows from settings_config where realizations were deleted --- config/settings_config.csv | 90 +++++++++++++++----------------------- 1 file changed, 36 insertions(+), 54 deletions(-) diff --git a/config/settings_config.csv b/config/settings_config.csv index 9d081d75e..54f80bc48 100644 --- a/config/settings_config.csv +++ b/config/settings_config.csv @@ -1,54 +1,36 @@ - ;climate|off;growth|exogenous;growth|endogenous;growth|spillover;biomass|exogenous;biomass|magpie_hightccost;fossil|timeDepGrades;fossil|grades;fossil|polynomial;fossil|simple;fossil|exogenous;transport|simple;techpol|none;techpol|moderate;techpol|stringent;techpol|eur;techpol|lowCarbonPush;techpol|CombLowCandCoalPO;techpol|coalPhaseout;emicapregi|none;emicapregi|CandC;emicapregi|GDPint;emicapregi|POPint;emicapregi|exog;emicapregi|exogMod;emicapregi|exogMod2;emicapregi|exogStr;emicapregi|exogMT;emicapregi|exogG8;banking|off;banking|banking;banking|bankborrow;carbonprice|none;optimization|negishi;optimization|nash;optimization|testOneRegi;cm_emiscen|0;cm_emiscen|1;cm_emiscen|2;cm_emiscen|3;cm_emiscen|4;cm_emiscen|5;cm_emiscen|8;cm_emiscen|9;cm_rcp_scen|none;cm_rcp_scen|26;cm_iterative_target_adj|1;tax|off;cm_fetaxscen|1;cm_fetaxscen|2;codePerformance|on;cm_IndCCSscen|1;buildings|simple;industry|fixed_shares -climate|off;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;1;0;0;1;1;1;1;1;1;1;1;1;1;1 -growth|exogenous;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -growth|endogenous;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -growth|spillover;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -biomass|exogenous;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -biomass|magpie_hightccost;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -fossil|timeDepGrades;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -fossil|grades;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -fossil|polynomial;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -fossil|simple;0;0;0;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;1;0;1;1;1;1;1;1;1;1 -fossil|exogenous;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -industry|simple;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1 -transport|simple;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -techpol|none;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -techpol|moderate;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -techpol|stringent;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -techpol|eur;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -techpol|lowCarbonPush;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -techpol|CombLowCandCoalPO;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -techpol|coalPhaseout;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -emicapregi|none;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1 -emicapregi|CandC;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;0;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -emicapregi|GDPint;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;0;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -emicapregi|POPint;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;0;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -emicapregi|exog;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1 -emicapregi|exogMod;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1 -emicapregi|exogMod2;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1 -emicapregi|exogStr;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1 -emicapregi|exogMT;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1 -emicapregi|exogG8;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1 -banking|off;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -banking|banking;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -banking|bankborrow;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -carbonprice|none;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;0;1;1;1 -optimization|negishi;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1 -optimization|nash;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;0;0;0;1;0;0;0;0;0;0;0;0;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1 -optimization|testOneRegi;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1 -cm_emiscen|0;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;0;0;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;1;1;1;0;1;1;1;0;1;1;1 -cm_emiscen|1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;0;0;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;1;1;1;0;1;1;1;0;1;1;1 -cm_emiscen|2;0;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;1;0;0;0;0;0;0;1;0;1;1;1;0;1;1;1 -cm_emiscen|3;0;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;1;0;0;0;0;0;1;0;1;1;1;0;1;1;1 -cm_emiscen|4;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;0;1;1;1;0;0;0;0;0;0;1;1;1;1;0;1;1;0;0;0;0;1;0;0;1;0;1;0;1;1;1;0;1;1;1 -cm_emiscen|5;0;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;1;0;1;0;0;0;1;1;1;0;1;1;1 -cm_emiscen|8;0;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;1;0;0;1;0;1;1;1;0;1;1;1 -cm_emiscen|9;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;0;0;1;1;0;1;0;1;1;1;1;1;1;1;1;1 -cm_rcp_scen|0;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;1;1;1;1;1;1;1;1;1;1 -cm_rcp_scen|1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;0;1;1;1;1;1;1;1 -cm_iterative_target_adj|1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;0;0;1;1;0;1;1;1;1;1;1;1;1 -tax|off;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;1;1;1;1 -cm_fetaxscen|1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1 -cm_fetaxscen|2;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1 -buildings|simple;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -industry|fixed_shares;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 + ;climate|off;growth|exogenous;growth|spillover;fossil|timeDepGrades;fossil|exogenous;techpol|none;techpol|lowCarbonPush;techpol|CombLowCandCoalPO;techpol|coalPhaseout;emicapregi|none;emicapregi|CandC;emicapregi|GDPint;emicapregi|POPint;emicapregi|exog;carbonprice|none;optimization|negishi;optimization|nash;optimization|testOneRegi;cm_emiscen|0;cm_emiscen|1;cm_emiscen|2;cm_emiscen|3;cm_emiscen|4;cm_emiscen|5;cm_emiscen|8;cm_emiscen|9;cm_rcp_scen|none;cm_rcp_scen|26;cm_iterative_target_adj|1;tax|off;cm_fetaxscen|1;cm_fetaxscen|2;codePerformance|on;cm_IndCCSscen|1;buildings|simple;industry|fixed_shares +climate|off;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;1;0;0;1;1;1;1;1;1;1;1;1;1;1 +growth|exogenous;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 +growth|spillover;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 +fossil|timeDepGrades;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 +fossil|exogenous;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 +industry|simple;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1 +techpol|none;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 +techpol|lowCarbonPush;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 +techpol|CombLowCandCoalPO;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 +techpol|coalPhaseout;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 +emicapregi|none;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1 +emicapregi|CandC;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;0;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 +emicapregi|GDPint;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;0;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 +emicapregi|POPint;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;0;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 +emicapregi|exog;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1 +carbonprice|none;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;0;1;1;1 +optimization|negishi;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1 +optimization|nash;1;1;1;1;1;1;0;0;0;1;0;0;0;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1 +optimization|testOneRegi;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1 +cm_emiscen|0;1;1;1;1;1;1;1;1;1;1;0;0;0;1;1;1;1;1;1;1;0;0;0;0;0;1;1;1;0;1;1;1;0;1;1;1 +cm_emiscen|1;1;1;1;1;1;1;1;1;1;1;0;0;0;1;1;1;1;1;1;1;0;0;0;0;0;1;1;1;0;1;1;1;0;1;1;1 +cm_emiscen|2;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;1;0;0;0;0;0;0;1;0;1;1;1;0;1;1;1 +cm_emiscen|3;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;1;0;0;0;0;0;1;0;1;1;1;0;1;1;1 +cm_emiscen|4;1;1;1;1;1;1;1;1;1;0;1;1;1;0;1;0;1;1;0;0;0;0;1;0;0;1;0;1;0;1;1;1;0;1;1;1 +cm_emiscen|5;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;1;0;1;0;0;0;1;1;1;0;1;1;1 +cm_emiscen|8;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;1;0;0;1;0;1;1;1;0;1;1;1 +cm_emiscen|9;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;0;0;1;1;0;1;0;1;1;1;1;1;1;1;1;1 +cm_rcp_scen|0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;1;1;1;1;1;1;1;1;1;1 +cm_rcp_scen|1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;0;1;1;1;1;1;1;1 +cm_iterative_target_adj|1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;0;0;1;1;0;1;1;1;1;1;1;1;1 +tax|off;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;1;1;1;1 +cm_fetaxscen|1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1 +cm_fetaxscen|2;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1 +buildings|simple;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 +industry|fixed_shares;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 From ce5acc8c5c815fb1e7e9a69827afadc09ca29449 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabrice=20L=C3=A9cuyer?= Date: Wed, 26 Jun 2024 12:21:46 +0200 Subject: [PATCH 075/875] shorten comment --- scripts/utils/set-local-calibration/collect_calibration | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scripts/utils/set-local-calibration/collect_calibration b/scripts/utils/set-local-calibration/collect_calibration index 54f0466cb..4a3905cfc 100644 --- a/scripts/utils/set-local-calibration/collect_calibration +++ b/scripts/utils/set-local-calibration/collect_calibration @@ -74,8 +74,7 @@ do fi done -# if there where errors during copying, show the user the files that where -# staged +# if there where errors during copying, show staged files to the user if [ 0 -ne $(( all_errors )) ] then echo " " From 475bffe4fad537372de7fc5ee63453a40f008c2c Mon Sep 17 00:00:00 2001 From: orichters Date: Wed, 26 Jun 2024 12:31:23 +0200 Subject: [PATCH 076/875] remove from settings_config all rows+cols that are 1 everywhere --- config/settings_config.csv | 65 +++++++++++++++++--------------------- 1 file changed, 29 insertions(+), 36 deletions(-) diff --git a/config/settings_config.csv b/config/settings_config.csv index 54f80bc48..ba05072a1 100644 --- a/config/settings_config.csv +++ b/config/settings_config.csv @@ -1,36 +1,29 @@ - ;climate|off;growth|exogenous;growth|spillover;fossil|timeDepGrades;fossil|exogenous;techpol|none;techpol|lowCarbonPush;techpol|CombLowCandCoalPO;techpol|coalPhaseout;emicapregi|none;emicapregi|CandC;emicapregi|GDPint;emicapregi|POPint;emicapregi|exog;carbonprice|none;optimization|negishi;optimization|nash;optimization|testOneRegi;cm_emiscen|0;cm_emiscen|1;cm_emiscen|2;cm_emiscen|3;cm_emiscen|4;cm_emiscen|5;cm_emiscen|8;cm_emiscen|9;cm_rcp_scen|none;cm_rcp_scen|26;cm_iterative_target_adj|1;tax|off;cm_fetaxscen|1;cm_fetaxscen|2;codePerformance|on;cm_IndCCSscen|1;buildings|simple;industry|fixed_shares -climate|off;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;1;0;0;1;1;1;1;1;1;1;1;1;1;1 -growth|exogenous;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -growth|spillover;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -fossil|timeDepGrades;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -fossil|exogenous;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -industry|simple;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1 -techpol|none;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -techpol|lowCarbonPush;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -techpol|CombLowCandCoalPO;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -techpol|coalPhaseout;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -emicapregi|none;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1 -emicapregi|CandC;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;0;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -emicapregi|GDPint;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;0;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -emicapregi|POPint;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;0;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -emicapregi|exog;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1 -carbonprice|none;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;0;1;1;1 -optimization|negishi;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1 -optimization|nash;1;1;1;1;1;1;0;0;0;1;0;0;0;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1 -optimization|testOneRegi;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1 -cm_emiscen|0;1;1;1;1;1;1;1;1;1;1;0;0;0;1;1;1;1;1;1;1;0;0;0;0;0;1;1;1;0;1;1;1;0;1;1;1 -cm_emiscen|1;1;1;1;1;1;1;1;1;1;1;0;0;0;1;1;1;1;1;1;1;0;0;0;0;0;1;1;1;0;1;1;1;0;1;1;1 -cm_emiscen|2;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;1;0;0;0;0;0;0;1;0;1;1;1;0;1;1;1 -cm_emiscen|3;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;1;0;0;0;0;0;1;0;1;1;1;0;1;1;1 -cm_emiscen|4;1;1;1;1;1;1;1;1;1;0;1;1;1;0;1;0;1;1;0;0;0;0;1;0;0;1;0;1;0;1;1;1;0;1;1;1 -cm_emiscen|5;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;1;0;1;0;0;0;1;1;1;0;1;1;1 -cm_emiscen|8;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;1;0;0;1;0;1;1;1;0;1;1;1 -cm_emiscen|9;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;0;0;1;1;0;1;0;1;1;1;1;1;1;1;1;1 -cm_rcp_scen|0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;1;1;1;1;1;1;1;1;1;1 -cm_rcp_scen|1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;0;1;1;1;1;1;1;1 -cm_iterative_target_adj|1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;0;0;1;1;0;1;1;1;1;1;1;1;1 -tax|off;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;1;1;1;1 -cm_fetaxscen|1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1 -cm_fetaxscen|2;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1 -buildings|simple;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 -industry|fixed_shares;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 + ;climate|off;techpol|lowCarbonPush;techpol|CombLowCandCoalPO;techpol|coalPhaseout;emicapregi|none;emicapregi|CandC;emicapregi|GDPint;emicapregi|POPint;emicapregi|exog;carbonprice|none;optimization|negishi;optimization|nash;optimization|testOneRegi;cm_emiscen|0;cm_emiscen|1;cm_emiscen|2;cm_emiscen|3;cm_emiscen|4;cm_emiscen|5;cm_emiscen|8;cm_emiscen|9;cm_rcp_scen|none;cm_rcp_scen|26;cm_iterative_target_adj|1;tax|off;cm_fetaxscen|1;cm_fetaxscen|2;codePerformance|on;cm_IndCCSscen|1 +climate|off;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;1;0;0;1;1;1;1;1;1;1;1;1 +industry|simple;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0 +techpol|lowCarbonPush;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 +techpol|CombLowCandCoalPO;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 +techpol|coalPhaseout;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1 +emicapregi|none;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1 +emicapregi|CandC;1;1;1;1;1;1;1;1;1;1;1;0;1;0;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1 +emicapregi|GDPint;1;1;1;1;1;1;1;1;1;1;1;0;1;0;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1 +emicapregi|POPint;1;1;1;1;1;1;1;1;1;1;1;0;1;0;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1 +emicapregi|exog;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1 +carbonprice|none;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;0;1 +optimization|negishi;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;1;1;1;1;1;1 +optimization|nash;1;0;0;0;1;0;0;0;0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1 +optimization|testOneRegi;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1 +cm_emiscen|0;1;1;1;1;1;0;0;0;1;1;1;1;1;1;1;0;0;0;0;0;1;1;1;0;1;1;1;0;1 +cm_emiscen|1;1;1;1;1;1;0;0;0;1;1;1;1;1;1;1;0;0;0;0;0;1;1;1;0;1;1;1;0;1 +cm_emiscen|2;0;1;1;1;1;1;1;1;1;1;1;1;1;0;0;1;0;0;0;0;0;0;1;0;1;1;1;0;1 +cm_emiscen|3;0;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;1;0;0;0;0;0;1;0;1;1;1;0;1 +cm_emiscen|4;1;1;1;1;0;1;1;1;0;1;0;1;1;0;0;0;0;1;0;0;1;0;1;0;1;1;1;0;1 +cm_emiscen|5;0;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;1;0;1;0;0;0;1;1;1;0;1 +cm_emiscen|8;0;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;1;0;0;1;0;1;1;1;0;1 +cm_emiscen|9;1;1;1;1;1;1;1;1;1;0;1;1;1;1;1;0;0;1;1;0;1;0;1;1;1;1;1;1;1 +cm_rcp_scen|0;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;1;1;1;1;1;1;1;1 +cm_rcp_scen|1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1;0;1;1;1;1;1 +cm_iterative_target_adj|1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;0;0;0;0;0;0;1;1;0;1;1;1;1;1;1 +tax|off;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;0;1;1 +cm_fetaxscen|1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1 +cm_fetaxscen|2;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;0;1;1;1;1 From 8d41701aca42c9cf417919426cebb4712739e7c2 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Wed, 26 Jun 2024 17:15:44 +0200 Subject: [PATCH 077/875] - new input data (6.79) - new CES parameters and gdx files for new input data (6.79) for SSP2, SSP2-EU21, SSP1, SDP_MC, SDP_RC, SDP_EI, SSP2_lowEn, SSP5 calibration runs: /p/tmp/lavinia/REMIND/REMIND_calibration_2024_06_21/remind - add SSP2-lowEn to input data file for gdx and CES paramteters - delete NDC scenarios for SDP_MC, SDP_EI and SDP_RD from scenario_config.csv --- config/default.cfg | 4 ++-- config/gdx-files/files | 3 ++- config/scenario_config.csv | 3 --- modules/29_CES_parameters/load/input/files | 4 +++- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/config/default.cfg b/config/default.cfg index bc3ff0d3c..29ccb2eb9 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -27,10 +27,10 @@ cfg$regionmapping <- "config/regionmappingH12.csv" ### Additional (optional) region mapping, so that those validation data can be loaded that contain the corresponding additional regions. cfg$extramappings_historic <- "" #### Current input data revision (.) #### -cfg$inputRevision <- "6.77" +cfg$inputRevision <- "6.79" #### Current CES parameter and GDX revision (commit hash) #### -cfg$CESandGDXversion <- "31bbe498c5e0fc19da876e8b543d5aa1fc112015" +cfg$CESandGDXversion <- "997bd3ebd9de58471f80adeb5d79fda0915878d2" #### Force the model to download new input data #### cfg$force_download <- FALSE diff --git a/config/gdx-files/files b/config/gdx-files/files index 6e8aef604..0e63251f8 100644 --- a/config/gdx-files/files +++ b/config/gdx-files/files @@ -1,8 +1,9 @@ indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP2-GDP_gdp_SSP2-En_gdp_SSP2-Kap_debt_limit-Reg_62eff8f7.gdx +indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP2-GDP_gdp_SSP2-En_gdp_SSP2-Kap_debt_limit-Reg_2b1450bc.gdx indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP1-GDP_gdp_SSP1-En_gdp_SSP1-Kap_debt_limit-Reg_62eff8f7.gdx indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SDP_MC-GDP_gdp_SDP_MC-En_gdp_SDP_MC-Kap_debt_limit-Reg_62eff8f7.gdx indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SDP_RC-GDP_gdp_SDP_RC-En_gdp_SDP_RC-Kap_debt_limit-Reg_62eff8f7.gdx indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SDP_EI-GDP_gdp_SDP_EI-En_gdp_SDP_EI-Kap_debt_limit-Reg_62eff8f7.gdx indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP5-GDP_gdp_SSP5-En_gdp_SSP5-Kap_debt_limit-Reg_62eff8f7.gdx -indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP2-GDP_gdp_SSP2-En_gdp_SSP2-Kap_debt_limit-Reg_2b1450bc.gdx +indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP2-GDP_gdp_SSP2-En_gdp_SSP2_lowEn-Kap_debt_limit-Reg_62eff8f7.gdx diff --git a/config/scenario_config.csv b/config/scenario_config.csv index ec5658010..283e2cc5e 100644 --- a/config/scenario_config.csv +++ b/config/scenario_config.csv @@ -29,17 +29,14 @@ SSP5-PkBudg650;1,AMT;;;;;;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;150;20 SSP5-PkBudg1050;1,AMT,compileInTests;;;;;;rcp26;9;globallyOptimal;1050;diffCurvPhaseIn2Lin;80;2100;;9;;;1;;1.75;;3;2;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix3;2025;;SSP2-NPi;;;SSP5-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. # H12 SDP_MC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SDP_MC-NPi-calibrate;calibrate;calibrate;;14;;;rcp45;;;0;NPi;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;152;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SDP_MC;gdp_SDP_MC;gdp_SDP_MC;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix4;2005;;;;;"SDP_MC-calibration: This baseline calibration scenario follows the Sustainable Development Pathway scenario following the narrative of ""Managing the global commons"": strong global institutions - efficient technological solutions." -SDP_MC-NDC;1,AMT;;;;;;rcp45;3;globallyOptimal;0;NDC;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;152;2;;;;;;;NDCplus;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SDP_MC;gdp_SDP_MC;gdp_SDP_MC;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix4;2025;;SSP2-NPi;SDP_MC-NPi;SDP_MC-NPi;"SDP_MC-NDC: This Nationally Determined Contribution (NDC) scenario follows the Sustainable Development Pathway scenario following the narrative of ""Managing the global commons"": strong global institutions - efficient technological solutions. 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." SDP_MC-NPi;1,AMT;;;;;;rcp45;3;;0;NPi;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;152;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SDP_MC;gdp_SDP_MC;gdp_SDP_MC;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix4;2005;;;;;"SDP_MC-NPi: This National Policies Implemented (NPi) scenario follows the Sustainable Development Pathway scenario following the narrative of ""Managing the global commons"": strong global institutions - efficient technological solutions. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies." SDP_MC-PkBudg650;1,AMT,compileInTests;;;;;;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;150;2045;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;152;2;;;feelhpb 1.05, fehob 1.75, feheb 0.1;manual;feh2_otherInd 1.04, feelhth_otherInd 0.4, feh2_cement 2.0, feelhth_chemicals 1.3, feh2_chemicals 1.04;2050.GLO 0.9;NDCplus;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SDP_MC;gdp_SDP_MC;gdp_SDP_MC;lowOil;lowGas;lowCoal;2;;4;;SDP;0.5;1;forcing_SSP1;MFR;Mix4;2025;;SSP2-NPi;;;"SDP_MC-PkBudg650: This climate policy scenario follows the Sustainable Development Pathway scenario following the narrative of ""Managing the global commons"": strong global institutions - efficient technological solutions. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century." # H12 SDP_EI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SDP_EI-NPi-calibrate;calibrate;calibrate;;14;;;rcp45;;;0;NPi;;;;9;GLO 0.14, EUR_regi 0.15;;2;1.025;1.75;300;;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SDP_EI;gdp_SDP_EI;gdp_SDP_EI;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;SSP1;Mix4;2005;;;;;"SDP_EI-calibration: This baseline calibration scenario follows the Sustainable Development Pathway scenario following the narrative of ""Economy-driven innovation"": tech & market driven - globalized word - high-growth." -SDP_EI-NDC;0;;;;;;rcp45;3;globallyOptimal;0;NDC;;;;9;GLO 0.14, EUR_regi 0.15;;2;1.025;1.75;300;;2;;;;;;NDCplus;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SDP_EI;gdp_SDP_EI;gdp_SDP_EI;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;SSP1;Mix4;2025;;SSP2-NPi;SDP_EI-NPi;SDP_EI-NPi;"SDP_EI-NDC: This Nationally Determined Contribution (NDC) scenario follows the Sustainable Development Pathway scenario following the narrative of ""Economy-driven innovation"": tech & market driven - globalized word - high-growth. 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." SDP_EI-NPi;0;;;;;;rcp45;3;;0;NPi;;;;9;GLO 0.14, EUR_regi 0.15;;2;1.025;1.75;300;;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SDP_EI;gdp_SDP_EI;gdp_SDP_EI;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;SSP1;Mix4;2005;;;;;"SDP_EI-NPi: This National Policies Implemented (NPi) scenario following the narrative of ""Economy-driven innovation"": tech & market driven - globalized word - high-growth. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies." SDP_EI-PkBudg650;0;;;;;;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;150;2045;;9;GLO 0.14, EUR_regi 0.15;;2;1.025;1.75;300;;2;;feelhpb 1.05, fehob 1.75, feheb 0.35;manual;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05;2050.GLO 0.9;NDCplus;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SDP_EI;gdp_SDP_EI;gdp_SDP_EI;lowOil;lowGas;lowCoal;2;;4;;SDP;0.5;1;forcing_SSP1;SSP1;Mix4;2025;;SSP2-NPi;;;"SDP_EI-PkBudg650: This climate policy scenario following the narrative of ""Economy-driven innovation"": tech & market driven - globalized word - high-growth. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century." # H12 SDP_RC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SDP_RC-NPi-calibrate;calibrate;calibrate;;14;;;rcp45;;;0;NPi;;;;9;;;4;1.025;2;100;5;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SDP_RC;gdp_SDP_RC;gdp_SDP_RC;lowOil;lowGas;lowCoal;2;;4;3;SDP;;1;forcing_SSP1;SSP1;Mix3;2005;;;;;"SDP_RC-calibration: This baseline calibration scenario follows the Sustainable Development Pathway scenario following the narrative of ""Resilient communities"": human well-being - behavioural change - local & less tech-driven." -SDP_RC-NDC;0;;;;;;rcp45;3;globallyOptimal;0;NDC;;;;9;;;4;1.025;2;100;5;;;;;;;NDCplus;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SDP_RC;gdp_SDP_RC;gdp_SDP_RC;lowOil;lowGas;lowCoal;2;;4;3;SDP;;1;forcing_SSP1;SSP1;Mix3;2025;;SSP2-NPi;SDP_RC-NPi;SDP_RC-NPi;"SDP_RC-NDC: This Nationally Determined Contribution (NDC) scenario follows the Sustainable Development Pathway scenario following the narrative of ""Resilient communities"": human well-being - behavioural change - local & less tech-driven. 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." SDP_RC-NPi;0;;;;;;rcp45;3;;0;NPi;;;;9;;;4;1.025;2;100;5;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SDP_RC;gdp_SDP_RC;gdp_SDP_RC;lowOil;lowGas;lowCoal;2;;4;3;SDP;;1;forcing_SSP1;SSP1;Mix3;2005;;;;;"SDP_RC-NPi: This National Policies Implemented (NPi) scenario follows the Sustainable Development Pathway scenario following the narrative of ""Resilient communities"": human well-being - behavioural change - local & less tech-driven. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies." SDP_RC-PkBudg650;0;;;;;;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;150;2045;2060;9;;;4;1.025;2;100;5;;;feelhpb 1.05, fehob 1.75, feheb 0.35;manual;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05;2050.GLO 0.9;NDCplus;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SDP_RC;gdp_SDP_RC;gdp_SDP_RC;lowOil;lowGas;lowCoal;2;;4;;SDP;;1;forcing_SSP1;SSP1;Mix3;2025;;SSP2-NPi;;;"SDP_RC-PkBudg650: This climate policy scenario follows the Sustainable Development Pathway scenario following the narrative of ""Resilient communities"": human well-being - behavioural change - local & less tech-driven. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century." # H12 SSP2 lowEnergy;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/modules/29_CES_parameters/load/input/files b/modules/29_CES_parameters/load/input/files index c6aba3957..157075de9 100644 --- a/modules/29_CES_parameters/load/input/files +++ b/modules/29_CES_parameters/load/input/files @@ -1,8 +1,10 @@ indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP2-GDP_gdp_SSP2-En_gdp_SSP2-Kap_debt_limit-Reg_62eff8f7.inc +indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP2-GDP_gdp_SSP2-En_gdp_SSP2-Kap_debt_limit-Reg_2b1450bc.inc indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP1-GDP_gdp_SSP1-En_gdp_SSP1-Kap_debt_limit-Reg_62eff8f7.inc indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SDP_MC-GDP_gdp_SDP_MC-En_gdp_SDP_MC-Kap_debt_limit-Reg_62eff8f7.inc indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SDP_RC-GDP_gdp_SDP_RC-En_gdp_SDP_RC-Kap_debt_limit-Reg_62eff8f7.inc indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SDP_EI-GDP_gdp_SDP_EI-En_gdp_SDP_EI-Kap_debt_limit-Reg_62eff8f7.inc indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP5-GDP_gdp_SSP5-En_gdp_SSP5-Kap_debt_limit-Reg_62eff8f7.inc -indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP2-GDP_gdp_SSP2-En_gdp_SSP2-Kap_debt_limit-Reg_2b1450bc.inc +indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP2-GDP_gdp_SSP2-En_gdp_SSP2_lowEn-Kap_debt_limit-Reg_62eff8f7.inc + From 646539d9b4897257eb7e0e7c550c5aca633c5aa8 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Wed, 26 Jun 2024 16:06:22 +0000 Subject: [PATCH 078/875] Release development version 3.3.1.dev38 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index e794ebe7d..2979937d5 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -260,8 +260,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.1.dev35" -date-released: 2024-06-25 +version: "3.3.1.dev38" +date-released: 2024-06-26 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 29ccb2eb9..9cc50e2f0 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.1.dev35" +cfg$model_version <- "3.3.1.dev38" #### settings #### cfg$gms <- list() From b056f2f482063d0f3a37d93ad5344b91018ddaf3 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Thu, 27 Jun 2024 07:44:48 +0000 Subject: [PATCH 079/875] Release development version 3.3.1.dev46 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 2979937d5..17f013b28 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -260,8 +260,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.1.dev38" -date-released: 2024-06-26 +version: "3.3.1.dev46" +date-released: 2024-06-27 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 9cc50e2f0..b56376941 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.1.dev38" +cfg$model_version <- "3.3.1.dev46" #### settings #### cfg$gms <- list() From 3a216da330c6d68ca6e2ccdc53de820209a4b928 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Thu, 27 Jun 2024 08:44:14 +0000 Subject: [PATCH 080/875] Release development version 3.3.1.dev52 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 17f013b28..23a1020fd 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -260,7 +260,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.1.dev46" +version: "3.3.1.dev52" date-released: 2024-06-27 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index b56376941..9f1673bf6 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.1.dev46" +cfg$model_version <- "3.3.1.dev52" #### settings #### cfg$gms <- list() From ab3e7dd172c8122ca6178db608eb655374e7487a Mon Sep 17 00:00:00 2001 From: piontek Date: Mon, 1 Jul 2024 14:41:50 +0200 Subject: [PATCH 081/875] update damage R script for new input data and MAGICC update --- modules/50_damages/KotzWenz/files | 5 ----- scripts/input/run_KotzWenz_damages.R | 33 ++++++++++++++++++---------- 2 files changed, 21 insertions(+), 17 deletions(-) delete mode 100644 modules/50_damages/KotzWenz/files diff --git a/modules/50_damages/KotzWenz/files b/modules/50_damages/KotzWenz/files deleted file mode 100644 index 11493f24c..000000000 --- a/modules/50_damages/KotzWenz/files +++ /dev/null @@ -1,5 +0,0 @@ -f50_gdp.cs3r -f50_KLW_df_beta1.cs4r -f50_KLW_df_beta2.cs4r -f50_KLW_df_maxGMT.cs4r - diff --git a/scripts/input/run_KotzWenz_damages.R b/scripts/input/run_KotzWenz_damages.R index 0898b6f02..aa59e86d4 100644 --- a/scripts/input/run_KotzWenz_damages.R +++ b/scripts/input/run_KotzWenz_damages.R @@ -9,28 +9,35 @@ print("Calculating damages and marginal damages for SCC ") require(dplyr) require(gdxrrw) +require(quitte) igdx(system("dirname $( which gams )", intern = TRUE)) #beta1 <- read.csv("../../modules/50_damages/KotzWenz/input/PERC_scaling_coefs_ssp2_ssp585_lagdiff_lintren_fix_spec_NL_8_9_10_movfix_30_Nboot1000_beta1.csv") %>% select(-"X") #beta2 <- read.csv("../../modules/50_damages/KotzWenz/input/PERC_scaling_coefs_ssp2_ssp585_lagdiff_lintren_fix_spec_NL_8_9_10_movfix_30_Nboot1000_beta2.csv") %>% select(-"X") #maxtemp <- read.csv("../../modules/50_damages/KotzWenz/input/PERC_scaling_coefs_ssp2_ssp585_lagdiff_lintren_fix_spec_NL_8_9_10_movfix_30_Nboot1000_maxGMT.csv") %>% select(-"X") -beta1 <- read.csv("../../modules/50_damages/KotzWenz/input/f50_KLW_df_beta1.cs4r") %>% select(-"X") -beta2 <- read.csv("../../modules/50_damages/KotzWenz/input/f50_KLW_df_beta2.cs4r") %>% select(-"X") -maxtemp <- read.csv("../../modules/50_damages/KotzWenz/input/f50_KLW_df_maxGMT.cs4r") %>% select(-"X") +beta1 <- read.csv("../../modules/50_damages/KotzWenz/input/f50_KLW_df_beta1.cs4r",skip=4,header=FALSE) %>% rename(iso=V1,realization=V2,value=V3) +beta2 <- read.csv("../../modules/50_damages/KotzWenz/input/f50_KLW_df_beta2.cs4r",skip=4,header=FALSE) %>% rename(iso=V1,realization=V2,value=V3) +maxtemp <- read.csv("../../modules/50_damages/KotzWenz/input/f50_KLW_df_maxGMT.cs4r",skip=4,header=FALSE) %>% rename(iso=V1,realization=V2,value=V3) -getTemperatureMagicc = function(file = "./magicc/DAT_SURFACE_TEMP.OUT"){ - x = read.table(file, skip = 19,header = T) - x = x[,c(1,2)] - names(x) = c('period','value') - x$period = as.integer(as.character(x$period)) +#getTemperatureMagicc = function(file = "./magicc/DAT_SURFACE_TEMP.OUT"){ +# x = read.table(file, skip = 19,header = T) +# x = x[,c(1,2)] +# names(x) = c('period','value') +# x$period = as.integer(as.character(x$period)) +# # Get relevant years +# years <- x[x$period >= 2005 & x$period <= 2300,1] +# return(x[x$period %in% years,]) +#} +getTemperatureMagicc = function(file="./p15_magicc_temp.gdx"){ + x <- read.gdx("p15_magicc_temp.gdx","pm_globalMeanTemperature") %>% rename(period=tall) # Get relevant years - years <- x[x$period >= 2005 & x$period <= 2300,1] - return(x[x$period %in% years,]) + return(subset(x,period >= 2005 & period <= 2300)) } temp <- getTemperatureMagicc() %>% subset(period >= 2020) %>% mutate(value=value-value[1]) -countries <- colnames(beta1) +#countries <- colnames(beta1) +countries <- unique(beta1$iso) # calculate damage and marginal damage for mean, median, 5th and 95th percentile of damage distribution for each country # if country temperature is above the robust range of the damages (indicated by maxtemp) the temperature is set to maxtemp @@ -39,7 +46,9 @@ alldam <- tibble(tall=integer(),iso=character(),low=double(),med=double(),mean=d alldam_marg <- tibble(tall=integer(),iso=character(),low_marg=double(),med_marg=double(),mean_marg=double(),high_marg=double()) for(i in countries){ - df <- as.data.frame(cbind(beta1[,i],beta2[,i],maxtemp[,i])) %>% +# df <- as.data.frame(cbind(beta1[,i],beta2[,i],maxtemp[,i])) %>% +# rename(beta1=V1,beta2=V2,maxtemp=V3) + df <- as.data.frame(cbind(subset(beta1,iso==i)$value,subset(beta2,iso==i)$value,subset(maxtemp,iso==i)$value)) %>% rename(beta1=V1,beta2=V2,maxtemp=V3) dam <- merge(temp,df) dam[which(dam$maxtemp < dam$value),]$value <- From b9d0052c07cab05e0c9a0ddd1c57f5235adb50d8 Mon Sep 17 00:00:00 2001 From: gabriel-abrahao Date: Tue, 2 Jul 2024 15:20:27 +0200 Subject: [PATCH 082/875] p15 gdxes now use all periods available --- scripts/input/climate_assessment_run.R | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/input/climate_assessment_run.R b/scripts/input/climate_assessment_run.R index afc4c8d12..a068e99a5 100644 --- a/scripts/input/climate_assessment_run.R +++ b/scripts/input/climate_assessment_run.R @@ -268,7 +268,8 @@ climateAssessmentOutput <- file.path( ) assessmentData <- read.quitte(climateAssessmentOutput) -usePeriods <- as.numeric(grep("[0-9]+", names(climateAssessmentInputData), value = TRUE)) +# usePeriods <- as.numeric(grep("[0-9]+", names(climateAssessmentInputData), value = TRUE)) +usePeriods <- unique(assessmentData[["period"]]) logMsg <- paste0( " =================== POSTPROCESS climate-assessment output ==================\n", date(), "Read climate assessment output file '", climateAssessmentOutput, "' file containing ", From 6c9a0ddada0782f3ee00db34b50d7ceb63a61e8b Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Wed, 3 Jul 2024 09:11:12 +0000 Subject: [PATCH 083/875] Release development version 3.3.1.dev65 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 23a1020fd..9509e63c6 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -260,8 +260,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.1.dev52" -date-released: 2024-06-27 +version: "3.3.1.dev65" +date-released: 2024-07-03 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 7371da1ce..30b01ba49 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.1.dev52" +cfg$model_version <- "3.3.1.dev65" #### settings #### cfg$gms <- list() From ade2303bf9d22613aa4fdea8366f855958aa6494 Mon Sep 17 00:00:00 2001 From: Pascal Weigmann Date: Thu, 4 Jul 2024 10:31:28 +0200 Subject: [PATCH 084/875] update headers to 2024 --- config/default.cfg | 2 +- core/bounds.gms | 2 +- core/datainput.gms | 2 +- core/declarations.gms | 2 +- core/equations.gms | 2 +- core/loop.gms | 2 +- core/magicc.gms | 2 +- core/output.gms | 2 +- core/postsolve.gms | 2 +- core/preloop.gms | 2 +- core/presolve.gms | 2 +- core/sets.gms | 2 +- core/sets_calculations.gms | 2 +- ignoreFiles.R | 2 +- main.gms | 2 +- modules/01_macro/module.gms | 2 +- modules/01_macro/singleSectorGr/bounds.gms | 2 +- modules/01_macro/singleSectorGr/datainput.gms | 2 +- modules/01_macro/singleSectorGr/declarations.gms | 2 +- modules/01_macro/singleSectorGr/equations.gms | 2 +- modules/01_macro/singleSectorGr/postsolve.gms | 2 +- modules/01_macro/singleSectorGr/preloop.gms | 2 +- modules/01_macro/singleSectorGr/realization.gms | 2 +- modules/01_macro/singleSectorGr/sets.gms | 2 +- modules/02_welfare/ineqLognormal/bounds.gms | 2 +- modules/02_welfare/ineqLognormal/datainput.gms | 2 +- modules/02_welfare/ineqLognormal/declarations.gms | 2 +- modules/02_welfare/ineqLognormal/equations.gms | 2 +- modules/02_welfare/ineqLognormal/not_used.txt | 2 +- modules/02_welfare/ineqLognormal/postsolve.gms | 2 +- modules/02_welfare/ineqLognormal/realization.gms | 2 +- modules/02_welfare/ineqLognormal/sets.gms | 2 +- modules/02_welfare/module.gms | 2 +- modules/02_welfare/utilitarian/bounds.gms | 2 +- modules/02_welfare/utilitarian/datainput.gms | 2 +- modules/02_welfare/utilitarian/declarations.gms | 2 +- modules/02_welfare/utilitarian/equations.gms | 2 +- modules/02_welfare/utilitarian/not_used.txt | 2 +- modules/02_welfare/utilitarian/postsolve.gms | 2 +- modules/02_welfare/utilitarian/realization.gms | 2 +- modules/04_PE_FE_parameters/iea2014/datainput.gms | 2 +- modules/04_PE_FE_parameters/iea2014/declarations.gms | 2 +- modules/04_PE_FE_parameters/iea2014/not_used.txt | 2 +- modules/04_PE_FE_parameters/iea2014/realization.gms | 2 +- modules/04_PE_FE_parameters/iea2014/sets.gms | 2 +- modules/04_PE_FE_parameters/module.gms | 2 +- modules/05_initialCap/module.gms | 2 +- modules/05_initialCap/on/declarations.gms | 2 +- modules/05_initialCap/on/preloop.gms | 2 +- modules/05_initialCap/on/realization.gms | 2 +- modules/11_aerosols/exoGAINS/datainput.gms | 2 +- modules/11_aerosols/exoGAINS/declarations.gms | 2 +- modules/11_aerosols/exoGAINS/equations.gms | 2 +- modules/11_aerosols/exoGAINS/not_used.txt | 2 +- modules/11_aerosols/exoGAINS/postsolve.gms | 2 +- modules/11_aerosols/exoGAINS/presolve.gms | 2 +- modules/11_aerosols/exoGAINS/realization.gms | 2 +- modules/11_aerosols/exoGAINS/sets.gms | 2 +- modules/11_aerosols/module.gms | 2 +- modules/15_climate/magicc/datainput.gms | 2 +- modules/15_climate/magicc/declarations.gms | 2 +- modules/15_climate/magicc/not_used.txt | 2 +- modules/15_climate/magicc/postsolve.gms | 2 +- modules/15_climate/magicc/realization.gms | 2 +- modules/15_climate/magicc/sets.gms | 2 +- modules/15_climate/magicc7_ar6/datainput.gms | 2 +- modules/15_climate/magicc7_ar6/declarations.gms | 2 +- modules/15_climate/magicc7_ar6/not_used.txt | 2 +- modules/15_climate/magicc7_ar6/postsolve.gms | 2 +- modules/15_climate/magicc7_ar6/realization.gms | 2 +- modules/15_climate/magicc7_ar6/sets.gms | 2 +- modules/15_climate/module.gms | 2 +- modules/15_climate/off/datainput.gms | 2 +- modules/15_climate/off/declarations.gms | 2 +- modules/15_climate/off/not_used.txt | 2 +- modules/15_climate/off/realization.gms | 2 +- modules/16_downscaleTemperature/CMIP5/datainput.gms | 2 +- modules/16_downscaleTemperature/CMIP5/declarations.gms | 2 +- modules/16_downscaleTemperature/CMIP5/postsolve.gms | 2 +- modules/16_downscaleTemperature/CMIP5/realization.gms | 2 +- modules/16_downscaleTemperature/module.gms | 2 +- modules/16_downscaleTemperature/off/realization.gms | 2 +- modules/20_growth/exogenous/bounds.gms | 2 +- modules/20_growth/exogenous/declarations.gms | 2 +- modules/20_growth/exogenous/not_used.txt | 2 +- modules/20_growth/exogenous/realization.gms | 2 +- modules/20_growth/module.gms | 2 +- modules/20_growth/spillover/bounds.gms | 2 +- modules/20_growth/spillover/datainput.gms | 2 +- modules/20_growth/spillover/declarations.gms | 2 +- modules/20_growth/spillover/equations.gms | 2 +- modules/20_growth/spillover/output.gms | 2 +- modules/20_growth/spillover/realization.gms | 2 +- modules/20_growth/spillover/sets.gms | 2 +- modules/21_tax/module.gms | 2 +- modules/21_tax/off/bounds.gms | 2 +- modules/21_tax/off/not_used.txt | 2 +- modules/21_tax/off/realization.gms | 2 +- modules/21_tax/on/bounds.gms | 2 +- modules/21_tax/on/datainput.gms | 2 +- modules/21_tax/on/declarations.gms | 2 +- modules/21_tax/on/equations.gms | 2 +- modules/21_tax/on/not_used.txt | 2 +- modules/21_tax/on/postsolve.gms | 2 +- modules/21_tax/on/preloop.gms | 2 +- modules/21_tax/on/presolve.gms | 2 +- modules/21_tax/on/realization.gms | 2 +- modules/21_tax/on/sets.gms | 2 +- modules/22_subsidizeLearning/globallyOptimal/bounds.gms | 2 +- .../22_subsidizeLearning/globallyOptimal/datainput.gms | 2 +- .../22_subsidizeLearning/globallyOptimal/declarations.gms | 2 +- .../22_subsidizeLearning/globallyOptimal/equations.gms | 2 +- .../22_subsidizeLearning/globallyOptimal/postsolve.gms | 2 +- modules/22_subsidizeLearning/globallyOptimal/presolve.gms | 2 +- .../22_subsidizeLearning/globallyOptimal/realization.gms | 2 +- modules/22_subsidizeLearning/globallyOptimal/sets.gms | 2 +- modules/22_subsidizeLearning/module.gms | 2 +- modules/22_subsidizeLearning/off/bounds.gms | 2 +- modules/22_subsidizeLearning/off/declarations.gms | 2 +- modules/22_subsidizeLearning/off/not_used.txt | 2 +- modules/22_subsidizeLearning/off/postsolve.gms | 2 +- modules/22_subsidizeLearning/off/realization.gms | 2 +- modules/23_capitalMarket/debt_limit/datainput.gms | 2 +- modules/23_capitalMarket/debt_limit/declarations.gms | 2 +- modules/23_capitalMarket/debt_limit/equations.gms | 2 +- modules/23_capitalMarket/debt_limit/not_used.txt | 2 +- modules/23_capitalMarket/debt_limit/realization.gms | 2 +- modules/23_capitalMarket/imperfect/datainput.gms | 2 +- modules/23_capitalMarket/imperfect/declarations.gms | 2 +- modules/23_capitalMarket/imperfect/equations.gms | 2 +- modules/23_capitalMarket/imperfect/realization.gms | 2 +- modules/23_capitalMarket/module.gms | 2 +- modules/24_trade/capacity/bounds.gms | 2 +- modules/24_trade/capacity/datainput.gms | 2 +- modules/24_trade/capacity/declarations.gms | 2 +- modules/24_trade/capacity/equations.gms | 2 +- modules/24_trade/capacity/not_used.txt | 2 +- modules/24_trade/capacity/postsolve.gms | 2 +- modules/24_trade/capacity/preloop.gms | 2 +- modules/24_trade/capacity/presolve.gms | 2 +- modules/24_trade/capacity/realization.gms | 2 +- modules/24_trade/capacity/sets.gms | 2 +- modules/24_trade/module.gms | 2 +- modules/24_trade/se_trade/bounds.gms | 2 +- modules/24_trade/se_trade/datainput.gms | 2 +- modules/24_trade/se_trade/declarations.gms | 2 +- modules/24_trade/se_trade/not_used.txt | 2 +- modules/24_trade/se_trade/postsolve.gms | 2 +- modules/24_trade/se_trade/preloop.gms | 2 +- modules/24_trade/se_trade/presolve.gms | 2 +- modules/24_trade/se_trade/realization.gms | 2 +- modules/24_trade/se_trade/sets.gms | 2 +- modules/24_trade/standard/bounds.gms | 2 +- modules/24_trade/standard/datainput.gms | 2 +- modules/24_trade/standard/declarations.gms | 2 +- modules/24_trade/standard/not_used.txt | 2 +- modules/24_trade/standard/postsolve.gms | 2 +- modules/24_trade/standard/presolve.gms | 2 +- modules/24_trade/standard/realization.gms | 2 +- modules/24_trade/standard/sets.gms | 2 +- modules/26_agCosts/costs/datainput.gms | 2 +- modules/26_agCosts/costs/declarations.gms | 2 +- modules/26_agCosts/costs/presolve.gms | 2 +- modules/26_agCosts/costs/realization.gms | 2 +- modules/26_agCosts/costs_trade/datainput.gms | 2 +- modules/26_agCosts/costs_trade/not_used.txt | 2 +- modules/26_agCosts/costs_trade/realization.gms | 2 +- modules/26_agCosts/module.gms | 2 +- modules/26_agCosts/off/declarations.gms | 2 +- modules/26_agCosts/off/not_used.txt | 2 +- modules/26_agCosts/off/realization.gms | 2 +- modules/29_CES_parameters/calibrate/bounds.gms | 2 +- modules/29_CES_parameters/calibrate/datainput.gms | 2 +- modules/29_CES_parameters/calibrate/declarations.gms | 2 +- modules/29_CES_parameters/calibrate/not_used.txt | 2 +- modules/29_CES_parameters/calibrate/output.gms | 2 +- modules/29_CES_parameters/calibrate/preloop.gms | 2 +- modules/29_CES_parameters/calibrate/realization.gms | 2 +- modules/29_CES_parameters/calibrate/sets.gms | 2 +- modules/29_CES_parameters/load/datainput.gms | 2 +- modules/29_CES_parameters/load/not_used.txt | 2 +- modules/29_CES_parameters/load/preloop.gms | 2 +- modules/29_CES_parameters/load/realization.gms | 2 +- modules/29_CES_parameters/load/sets.gms | 2 +- modules/29_CES_parameters/module.gms | 2 +- modules/30_biomass/magpie_40/bounds.gms | 2 +- modules/30_biomass/magpie_40/datainput.gms | 2 +- modules/30_biomass/magpie_40/declarations.gms | 2 +- modules/30_biomass/magpie_40/equations.gms | 2 +- modules/30_biomass/magpie_40/not_used.txt | 2 +- modules/30_biomass/magpie_40/output.gms | 2 +- modules/30_biomass/magpie_40/postsolve.gms | 2 +- modules/30_biomass/magpie_40/preloop.gms | 2 +- modules/30_biomass/magpie_40/presolve.gms | 2 +- modules/30_biomass/magpie_40/realization.gms | 2 +- modules/30_biomass/magpie_40/sets.gms | 2 +- modules/30_biomass/module.gms | 2 +- modules/31_fossil/MOFEX/bounds.gms | 2 +- modules/31_fossil/MOFEX/datainput.gms | 2 +- modules/31_fossil/MOFEX/declarations.gms | 2 +- modules/31_fossil/MOFEX/equations.gms | 2 +- modules/31_fossil/MOFEX/not_used.txt | 2 +- modules/31_fossil/MOFEX/output.gms | 2 +- modules/31_fossil/MOFEX/preloop.gms | 2 +- modules/31_fossil/MOFEX/realization.gms | 2 +- modules/31_fossil/MOFEX/sets.gms | 2 +- modules/31_fossil/MOFEX/solve.gms | 2 +- modules/31_fossil/exogenous/bounds.gms | 2 +- modules/31_fossil/exogenous/datainput.gms | 2 +- modules/31_fossil/exogenous/declarations.gms | 2 +- modules/31_fossil/exogenous/not_used.txt | 2 +- modules/31_fossil/exogenous/realization.gms | 2 +- modules/31_fossil/grades2poly/bounds.gms | 2 +- modules/31_fossil/grades2poly/datainput.gms | 2 +- modules/31_fossil/grades2poly/declarations.gms | 2 +- modules/31_fossil/grades2poly/equations.gms | 2 +- modules/31_fossil/grades2poly/not_used.txt | 2 +- modules/31_fossil/grades2poly/preloop.gms | 2 +- modules/31_fossil/grades2poly/realization.gms | 2 +- modules/31_fossil/grades2poly/sets.gms | 2 +- modules/31_fossil/module.gms | 2 +- modules/31_fossil/timeDepGrades/bounds.gms | 2 +- modules/31_fossil/timeDepGrades/datainput.gms | 2 +- modules/31_fossil/timeDepGrades/declarations.gms | 2 +- modules/31_fossil/timeDepGrades/equations.gms | 2 +- modules/31_fossil/timeDepGrades/not_used.txt | 2 +- modules/31_fossil/timeDepGrades/output.gms | 2 +- modules/31_fossil/timeDepGrades/preloop.gms | 2 +- modules/31_fossil/timeDepGrades/realization.gms | 2 +- modules/31_fossil/timeDepGrades/sets.gms | 2 +- modules/32_power/DTcoup/bounds.gms | 2 +- modules/32_power/DTcoup/datainput.gms | 2 +- modules/32_power/DTcoup/declarations.gms | 2 +- modules/32_power/DTcoup/equations.gms | 2 +- modules/32_power/DTcoup/not_used.txt | 2 +- modules/32_power/DTcoup/postsolve.gms | 2 +- modules/32_power/DTcoup/preloop.gms | 2 +- modules/32_power/DTcoup/presolve.gms | 2 +- modules/32_power/DTcoup/realization.gms | 2 +- modules/32_power/IntC/bounds.gms | 2 +- modules/32_power/IntC/datainput.gms | 2 +- modules/32_power/IntC/declarations.gms | 2 +- modules/32_power/IntC/equations.gms | 2 +- modules/32_power/IntC/input/p32_flex_maxdiscount.cs4r | 2 +- modules/32_power/IntC/not_used.txt | 2 +- modules/32_power/IntC/postsolve.gms | 2 +- modules/32_power/IntC/preloop.gms | 2 +- modules/32_power/IntC/presolve.gms | 2 +- modules/32_power/IntC/realization.gms | 2 +- modules/32_power/RLDC/bounds.gms | 2 +- modules/32_power/RLDC/datainput.gms | 2 +- modules/32_power/RLDC/declarations.gms | 2 +- modules/32_power/RLDC/equations.gms | 2 +- modules/32_power/RLDC/not_used.txt | 2 +- modules/32_power/RLDC/postsolve.gms | 2 +- modules/32_power/RLDC/preloop.gms | 2 +- modules/32_power/RLDC/presolve.gms | 2 +- modules/32_power/RLDC/realization.gms | 2 +- modules/32_power/RLDC/sets.gms | 2 +- modules/32_power/module.gms | 2 +- modules/33_CDR/module.gms | 2 +- modules/33_CDR/portfolio/bounds.gms | 2 +- modules/33_CDR/portfolio/datainput.gms | 2 +- modules/33_CDR/portfolio/declarations.gms | 2 +- modules/33_CDR/portfolio/equations.gms | 2 +- modules/33_CDR/portfolio/realization.gms | 2 +- modules/33_CDR/portfolio/sets.gms | 2 +- modules/35_transport/edge_esm/datainput.gms | 2 +- modules/35_transport/edge_esm/declarations.gms | 2 +- modules/35_transport/edge_esm/equations.gms | 2 +- modules/35_transport/edge_esm/not_used.txt | 2 +- modules/35_transport/edge_esm/output.gms | 2 +- modules/35_transport/edge_esm/postsolve.gms | 2 +- modules/35_transport/edge_esm/presolve.gms | 2 +- modules/35_transport/edge_esm/realization.gms | 2 +- modules/35_transport/edge_esm/sets.gms | 2 +- modules/35_transport/module.gms | 2 +- modules/36_buildings/module.gms | 2 +- modules/36_buildings/simple/bounds.gms | 2 +- modules/36_buildings/simple/datainput.gms | 2 +- modules/36_buildings/simple/declarations.gms | 2 +- modules/36_buildings/simple/equations.gms | 2 +- modules/36_buildings/simple/not_used.txt | 2 +- modules/36_buildings/simple/postsolve.gms | 2 +- modules/36_buildings/simple/realization.gms | 2 +- modules/36_buildings/simple/sets.gms | 2 +- modules/37_industry/fixed_shares/bounds.gms | 2 +- modules/37_industry/fixed_shares/datainput.gms | 2 +- modules/37_industry/fixed_shares/declarations.gms | 2 +- modules/37_industry/fixed_shares/equations.gms | 2 +- .../37_industry/fixed_shares/input/pm_abatparam_Ind.gms | 2 +- modules/37_industry/fixed_shares/not_used.txt | 2 +- modules/37_industry/fixed_shares/output.gms | 2 +- modules/37_industry/fixed_shares/postsolve.gms | 2 +- modules/37_industry/fixed_shares/preloop.gms | 2 +- modules/37_industry/fixed_shares/presolve.gms | 2 +- modules/37_industry/fixed_shares/realization.gms | 2 +- modules/37_industry/fixed_shares/sets.gms | 2 +- modules/37_industry/module.gms | 2 +- modules/37_industry/subsectors/bounds.gms | 2 +- modules/37_industry/subsectors/datainput.gms | 2 +- modules/37_industry/subsectors/declarations.gms | 2 +- modules/37_industry/subsectors/equations.gms | 2 +- modules/37_industry/subsectors/not_used.txt | 2 +- modules/37_industry/subsectors/postsolve.gms | 2 +- modules/37_industry/subsectors/preloop.gms | 2 +- modules/37_industry/subsectors/realization.gms | 2 +- modules/37_industry/subsectors/sets.gms | 2 +- modules/39_CCU/module.gms | 2 +- modules/39_CCU/off/bounds.gms | 2 +- modules/39_CCU/off/declarations.gms | 2 +- modules/39_CCU/off/not_used.txt | 2 +- modules/39_CCU/off/realization.gms | 2 +- modules/39_CCU/off/sets.gms | 2 +- modules/39_CCU/on/bounds.gms | 2 +- modules/39_CCU/on/datainput.gms | 2 +- modules/39_CCU/on/declarations.gms | 2 +- modules/39_CCU/on/equations.gms | 2 +- modules/39_CCU/on/not_used.txt | 2 +- modules/39_CCU/on/realization.gms | 2 +- modules/39_CCU/on/sets.gms | 2 +- modules/40_techpol/CombLowCandCoalPO/datainput.gms | 2 +- modules/40_techpol/CombLowCandCoalPO/declarations.gms | 2 +- modules/40_techpol/CombLowCandCoalPO/equations.gms | 2 +- modules/40_techpol/CombLowCandCoalPO/not_used.txt | 2 +- modules/40_techpol/CombLowCandCoalPO/realization.gms | 2 +- modules/40_techpol/NDC/bounds.gms | 2 +- modules/40_techpol/NDC/datainput.gms | 2 +- modules/40_techpol/NDC/declarations.gms | 2 +- modules/40_techpol/NDC/equations.gms | 2 +- modules/40_techpol/NDC/not_used.txt | 2 +- modules/40_techpol/NDC/realization.gms | 2 +- modules/40_techpol/NDCplus/bounds.gms | 2 +- modules/40_techpol/NDCplus/datainput.gms | 2 +- modules/40_techpol/NDCplus/declarations.gms | 2 +- modules/40_techpol/NDCplus/equations.gms | 2 +- modules/40_techpol/NDCplus/not_used.txt | 2 +- modules/40_techpol/NDCplus/realization.gms | 2 +- modules/40_techpol/NPi2018/bounds.gms | 2 +- modules/40_techpol/NPi2018/datainput.gms | 2 +- modules/40_techpol/NPi2018/declarations.gms | 2 +- modules/40_techpol/NPi2018/equations.gms | 2 +- modules/40_techpol/NPi2018/not_used.txt | 2 +- modules/40_techpol/NPi2018/realization.gms | 2 +- modules/40_techpol/coalPhaseout/bounds.gms | 2 +- modules/40_techpol/coalPhaseout/declarations.gms | 2 +- modules/40_techpol/coalPhaseout/equations.gms | 2 +- modules/40_techpol/coalPhaseout/not_used.txt | 2 +- modules/40_techpol/coalPhaseout/realization.gms | 2 +- modules/40_techpol/coalPhaseoutRegional/bounds.gms | 2 +- modules/40_techpol/coalPhaseoutRegional/datainput.gms | 2 +- modules/40_techpol/coalPhaseoutRegional/declarations.gms | 2 +- modules/40_techpol/coalPhaseoutRegional/equations.gms | 2 +- modules/40_techpol/coalPhaseoutRegional/not_used.txt | 2 +- modules/40_techpol/coalPhaseoutRegional/realization.gms | 2 +- modules/40_techpol/lowCarbonPush/datainput.gms | 2 +- modules/40_techpol/lowCarbonPush/declarations.gms | 2 +- modules/40_techpol/lowCarbonPush/equations.gms | 2 +- modules/40_techpol/lowCarbonPush/not_used.txt | 2 +- modules/40_techpol/lowCarbonPush/realization.gms | 2 +- modules/40_techpol/module.gms | 2 +- modules/40_techpol/none/not_used.txt | 2 +- modules/40_techpol/none/realization.gms | 2 +- modules/41_emicapregi/AbilityToPay/bounds.gms | 2 +- modules/41_emicapregi/AbilityToPay/datainput.gms | 2 +- modules/41_emicapregi/AbilityToPay/declarations.gms | 2 +- modules/41_emicapregi/AbilityToPay/not_used.txt | 2 +- modules/41_emicapregi/AbilityToPay/realization.gms | 2 +- modules/41_emicapregi/CandC/bounds.gms | 2 +- modules/41_emicapregi/CandC/datainput.gms | 2 +- modules/41_emicapregi/CandC/declarations.gms | 2 +- modules/41_emicapregi/CandC/equations.gms | 2 +- modules/41_emicapregi/CandC/not_used.txt | 2 +- modules/41_emicapregi/CandC/realization.gms | 2 +- modules/41_emicapregi/GDPint/datainput.gms | 2 +- modules/41_emicapregi/GDPint/declarations.gms | 2 +- modules/41_emicapregi/GDPint/equations.gms | 2 +- modules/41_emicapregi/GDPint/not_used.txt | 2 +- modules/41_emicapregi/GDPint/realization.gms | 2 +- modules/41_emicapregi/POPint/bounds.gms | 2 +- modules/41_emicapregi/POPint/datainput.gms | 2 +- modules/41_emicapregi/POPint/declarations.gms | 2 +- modules/41_emicapregi/POPint/equations.gms | 2 +- modules/41_emicapregi/POPint/not_used.txt | 2 +- modules/41_emicapregi/POPint/preloop.gms | 2 +- modules/41_emicapregi/POPint/realization.gms | 2 +- modules/41_emicapregi/PerCapitaConvergence/bounds.gms | 2 +- modules/41_emicapregi/PerCapitaConvergence/datainput.gms | 2 +- .../41_emicapregi/PerCapitaConvergence/declarations.gms | 2 +- modules/41_emicapregi/PerCapitaConvergence/not_used.txt | 2 +- .../41_emicapregi/PerCapitaConvergence/realization.gms | 2 +- modules/41_emicapregi/exog/bounds.gms | 2 +- modules/41_emicapregi/exog/datainput.gms | 2 +- modules/41_emicapregi/exog/declarations.gms | 2 +- modules/41_emicapregi/exog/not_used.txt | 2 +- modules/41_emicapregi/exog/realization.gms | 2 +- modules/41_emicapregi/module.gms | 2 +- modules/41_emicapregi/none/bounds.gms | 2 +- modules/41_emicapregi/none/datainput.gms | 2 +- modules/41_emicapregi/none/not_used.txt | 2 +- modules/41_emicapregi/none/realization.gms | 2 +- modules/45_carbonprice/NDC/datainput.gms | 2 +- modules/45_carbonprice/NDC/declarations.gms | 2 +- modules/45_carbonprice/NDC/not_used.txt | 2 +- modules/45_carbonprice/NDC/postsolve.gms | 2 +- modules/45_carbonprice/NDC/preloop.gms | 2 +- modules/45_carbonprice/NDC/realization.gms | 2 +- modules/45_carbonprice/NPi/datainput.gms | 2 +- modules/45_carbonprice/NPi/not_used.txt | 2 +- modules/45_carbonprice/NPi/realization.gms | 2 +- modules/45_carbonprice/diffCurvPhaseIn2Lin/datainput.gms | 2 +- .../45_carbonprice/diffCurvPhaseIn2Lin/declarations.gms | 2 +- modules/45_carbonprice/diffCurvPhaseIn2Lin/not_used.txt | 2 +- modules/45_carbonprice/diffCurvPhaseIn2Lin/postsolve.gms | 2 +- .../45_carbonprice/diffCurvPhaseIn2Lin/realization.gms | 2 +- modules/45_carbonprice/exogenous/datainput.gms | 2 +- modules/45_carbonprice/exogenous/declarations.gms | 2 +- modules/45_carbonprice/exogenous/not_used.txt | 2 +- modules/45_carbonprice/exogenous/realization.gms | 2 +- modules/45_carbonprice/expoLinear/datainput.gms | 2 +- modules/45_carbonprice/expoLinear/declarations.gms | 2 +- modules/45_carbonprice/expoLinear/not_used.txt | 2 +- modules/45_carbonprice/expoLinear/realization.gms | 2 +- modules/45_carbonprice/exponential/datainput.gms | 2 +- modules/45_carbonprice/exponential/not_used.txt | 2 +- modules/45_carbonprice/exponential/realization.gms | 2 +- modules/45_carbonprice/linear/datainput.gms | 2 +- modules/45_carbonprice/linear/not_used.txt | 2 +- modules/45_carbonprice/linear/realization.gms | 2 +- modules/45_carbonprice/module.gms | 2 +- modules/45_carbonprice/none/datainput.gms | 2 +- modules/45_carbonprice/none/not_used.txt | 2 +- modules/45_carbonprice/none/realization.gms | 2 +- .../45_carbonprice/temperatureNotToExceed/datainput.gms | 2 +- .../temperatureNotToExceed/declarations.gms | 2 +- .../45_carbonprice/temperatureNotToExceed/not_used.txt | 2 +- .../45_carbonprice/temperatureNotToExceed/postsolve.gms | 2 +- .../45_carbonprice/temperatureNotToExceed/realization.gms | 2 +- modules/46_carbonpriceRegi/NDC/datainput.gms | 2 +- modules/46_carbonpriceRegi/NDC/declarations.gms | 2 +- modules/46_carbonpriceRegi/NDC/not_used.txt | 2 +- modules/46_carbonpriceRegi/NDC/postsolve.gms | 2 +- modules/46_carbonpriceRegi/NDC/preloop.gms | 2 +- modules/46_carbonpriceRegi/NDC/realization.gms | 2 +- modules/46_carbonpriceRegi/module.gms | 2 +- modules/46_carbonpriceRegi/netZero/datainput.gms | 2 +- modules/46_carbonpriceRegi/netZero/declarations.gms | 2 +- modules/46_carbonpriceRegi/netZero/not_used.txt | 2 +- modules/46_carbonpriceRegi/netZero/postsolve.gms | 2 +- modules/46_carbonpriceRegi/netZero/realization.gms | 2 +- modules/46_carbonpriceRegi/netZero/sets.gms | 2 +- modules/46_carbonpriceRegi/none/datainput.gms | 2 +- modules/46_carbonpriceRegi/none/not_used.txt | 2 +- modules/46_carbonpriceRegi/none/realization.gms | 2 +- modules/47_regipol/module.gms | 2 +- modules/47_regipol/none/bounds.gms | 2 +- modules/47_regipol/none/datainput.gms | 2 +- modules/47_regipol/none/declarations.gms | 2 +- modules/47_regipol/none/not_used.txt | 2 +- modules/47_regipol/none/realization.gms | 2 +- modules/47_regipol/regiCarbonPrice/bounds.gms | 2 +- modules/47_regipol/regiCarbonPrice/datainput.gms | 2 +- modules/47_regipol/regiCarbonPrice/declarations.gms | 2 +- modules/47_regipol/regiCarbonPrice/equations.gms | 2 +- .../regiCarbonPrice/input/exogenousFEprices.cs3r | 2 +- .../regiCarbonPrice/input/exogenousPEprices.cs3r | 2 +- modules/47_regipol/regiCarbonPrice/postsolve.gms | 2 +- modules/47_regipol/regiCarbonPrice/preloop.gms | 2 +- modules/47_regipol/regiCarbonPrice/presolve.gms | 2 +- modules/47_regipol/regiCarbonPrice/realization.gms | 2 +- modules/47_regipol/regiCarbonPrice/sets.gms | 2 +- modules/50_damages/BurkeLike/bounds.gms | 2 +- modules/50_damages/BurkeLike/datainput.gms | 2 +- modules/50_damages/BurkeLike/declarations.gms | 2 +- modules/50_damages/BurkeLike/not_used.txt | 2 +- modules/50_damages/BurkeLike/postsolve.gms | 2 +- modules/50_damages/BurkeLike/realization.gms | 2 +- modules/50_damages/DiceLike/bounds.gms | 2 +- modules/50_damages/DiceLike/datainput.gms | 2 +- modules/50_damages/DiceLike/declarations.gms | 2 +- modules/50_damages/DiceLike/not_used.txt | 2 +- modules/50_damages/DiceLike/postsolve.gms | 2 +- modules/50_damages/DiceLike/realization.gms | 2 +- modules/50_damages/KWLike/bounds.gms | 2 +- modules/50_damages/KWLike/datainput.gms | 2 +- modules/50_damages/KWLike/declarations.gms | 2 +- modules/50_damages/KWLike/not_used.txt | 2 +- modules/50_damages/KWLike/postsolve.gms | 2 +- modules/50_damages/KWLike/realization.gms | 2 +- modules/50_damages/KWTCint/bounds.gms | 2 +- modules/50_damages/KWTCint/datainput.gms | 2 +- modules/50_damages/KWTCint/declarations.gms | 2 +- modules/50_damages/KWTCint/not_used.txt | 2 +- modules/50_damages/KWTCint/postsolve.gms | 2 +- modules/50_damages/KWTCint/realization.gms | 2 +- modules/50_damages/KWTCint/sets.gms | 2 +- modules/50_damages/KW_SE/bounds.gms | 2 +- modules/50_damages/KW_SE/datainput.gms | 2 +- modules/50_damages/KW_SE/declarations.gms | 2 +- modules/50_damages/KW_SE/not_used.txt | 2 +- modules/50_damages/KW_SE/postsolve.gms | 2 +- modules/50_damages/KW_SE/realization.gms | 2 +- modules/50_damages/Labor/bounds.gms | 2 +- modules/50_damages/Labor/datainput.gms | 2 +- modules/50_damages/Labor/declarations.gms | 2 +- modules/50_damages/Labor/not_used.txt | 2 +- modules/50_damages/Labor/postsolve.gms | 2 +- modules/50_damages/Labor/realization.gms | 2 +- modules/50_damages/TC/bounds.gms | 2 +- modules/50_damages/TC/datainput.gms | 2 +- modules/50_damages/TC/declarations.gms | 2 +- modules/50_damages/TC/not_used.txt | 2 +- modules/50_damages/TC/postsolve.gms | 2 +- modules/50_damages/TC/realization.gms | 2 +- modules/50_damages/TC/sets.gms | 2 +- modules/50_damages/module.gms | 2 +- modules/50_damages/off/bounds.gms | 2 +- modules/50_damages/off/declarations.gms | 2 +- modules/50_damages/off/not_used.txt | 2 +- modules/50_damages/off/realization.gms | 2 +- modules/51_internalizeDamages/BurkeLikeItr/datainput.gms | 2 +- .../51_internalizeDamages/BurkeLikeItr/declarations.gms | 2 +- modules/51_internalizeDamages/BurkeLikeItr/not_used.txt | 2 +- modules/51_internalizeDamages/BurkeLikeItr/postsolve.gms | 2 +- .../51_internalizeDamages/BurkeLikeItr/realization.gms | 2 +- modules/51_internalizeDamages/DiceLikeItr/datainput.gms | 2 +- .../51_internalizeDamages/DiceLikeItr/declarations.gms | 2 +- modules/51_internalizeDamages/DiceLikeItr/not_used.txt | 2 +- modules/51_internalizeDamages/DiceLikeItr/postsolve.gms | 2 +- modules/51_internalizeDamages/DiceLikeItr/realization.gms | 2 +- modules/51_internalizeDamages/KWTCintItr/datainput.gms | 2 +- modules/51_internalizeDamages/KWTCintItr/declarations.gms | 2 +- modules/51_internalizeDamages/KWTCintItr/not_used.txt | 2 +- modules/51_internalizeDamages/KWTCintItr/postsolve.gms | 2 +- modules/51_internalizeDamages/KWTCintItr/realization.gms | 2 +- modules/51_internalizeDamages/KW_SEitr/datainput.gms | 2 +- modules/51_internalizeDamages/KW_SEitr/declarations.gms | 2 +- modules/51_internalizeDamages/KW_SEitr/not_used.txt | 2 +- modules/51_internalizeDamages/KW_SEitr/postsolve.gms | 2 +- modules/51_internalizeDamages/KW_SEitr/realization.gms | 2 +- modules/51_internalizeDamages/KWlikeItr/datainput.gms | 2 +- modules/51_internalizeDamages/KWlikeItr/declarations.gms | 2 +- modules/51_internalizeDamages/KWlikeItr/not_used.txt | 2 +- modules/51_internalizeDamages/KWlikeItr/postsolve.gms | 2 +- modules/51_internalizeDamages/KWlikeItr/realization.gms | 2 +- .../51_internalizeDamages/KWlikeItrCPnash/datainput.gms | 2 +- .../KWlikeItrCPnash/declarations.gms | 2 +- .../51_internalizeDamages/KWlikeItrCPnash/not_used.txt | 2 +- .../51_internalizeDamages/KWlikeItrCPnash/postsolve.gms | 2 +- .../51_internalizeDamages/KWlikeItrCPnash/realization.gms | 2 +- .../51_internalizeDamages/KWlikeItrCPreg/datainput.gms | 2 +- .../51_internalizeDamages/KWlikeItrCPreg/declarations.gms | 2 +- modules/51_internalizeDamages/KWlikeItrCPreg/not_used.txt | 2 +- .../51_internalizeDamages/KWlikeItrCPreg/postsolve.gms | 2 +- .../51_internalizeDamages/KWlikeItrCPreg/realization.gms | 2 +- modules/51_internalizeDamages/LabItr/datainput.gms | 2 +- modules/51_internalizeDamages/LabItr/declarations.gms | 2 +- modules/51_internalizeDamages/LabItr/not_used.txt | 2 +- modules/51_internalizeDamages/LabItr/postsolve.gms | 2 +- modules/51_internalizeDamages/LabItr/realization.gms | 2 +- modules/51_internalizeDamages/TCitr/datainput.gms | 2 +- modules/51_internalizeDamages/TCitr/declarations.gms | 2 +- modules/51_internalizeDamages/TCitr/not_used.txt | 2 +- modules/51_internalizeDamages/TCitr/postsolve.gms | 2 +- modules/51_internalizeDamages/TCitr/realization.gms | 2 +- modules/51_internalizeDamages/module.gms | 2 +- modules/51_internalizeDamages/off/datainput.gms | 2 +- modules/51_internalizeDamages/off/declarations.gms | 2 +- modules/51_internalizeDamages/off/not_used.txt | 2 +- modules/51_internalizeDamages/off/realization.gms | 2 +- modules/70_water/heat/datainput.gms | 2 +- modules/70_water/heat/declarations.gms | 2 +- modules/70_water/heat/not_used.txt | 2 +- modules/70_water/heat/output.gms | 2 +- modules/70_water/heat/realization.gms | 2 +- modules/70_water/heat/sets.gms | 2 +- modules/70_water/module.gms | 2 +- modules/70_water/off/realization.gms | 2 +- modules/80_optimization/module.gms | 2 +- modules/80_optimization/nash/bounds.gms | 2 +- modules/80_optimization/nash/datainput.gms | 2 +- modules/80_optimization/nash/declarations.gms | 2 +- modules/80_optimization/nash/equations.gms | 2 +- modules/80_optimization/nash/not_used.txt | 2 +- modules/80_optimization/nash/output.gms | 2 +- modules/80_optimization/nash/postsolve.gms | 2 +- modules/80_optimization/nash/preloop.gms | 2 +- modules/80_optimization/nash/presolve.gms | 2 +- modules/80_optimization/nash/realization.gms | 2 +- modules/80_optimization/nash/sets.gms | 2 +- modules/80_optimization/nash/solve.gms | 2 +- modules/80_optimization/negishi/bounds.gms | 2 +- modules/80_optimization/negishi/datainput.gms | 2 +- modules/80_optimization/negishi/declarations.gms | 2 +- modules/80_optimization/negishi/equations.gms | 2 +- modules/80_optimization/negishi/not_used.txt | 2 +- modules/80_optimization/negishi/output.gms | 2 +- modules/80_optimization/negishi/postsolve.gms | 2 +- modules/80_optimization/negishi/preloop.gms | 2 +- modules/80_optimization/negishi/realization.gms | 2 +- modules/80_optimization/negishi/solve.gms | 2 +- modules/80_optimization/testOneRegi/bounds.gms | 2 +- modules/80_optimization/testOneRegi/datainput.gms | 2 +- modules/80_optimization/testOneRegi/declarations.gms | 2 +- modules/80_optimization/testOneRegi/equations.gms | 2 +- modules/80_optimization/testOneRegi/not_used.txt | 2 +- modules/80_optimization/testOneRegi/postsolve.gms | 2 +- modules/80_optimization/testOneRegi/preloop.gms | 2 +- modules/80_optimization/testOneRegi/realization.gms | 2 +- modules/80_optimization/testOneRegi/sets.gms | 2 +- modules/80_optimization/testOneRegi/solve.gms | 2 +- modules/81_codePerformance/module.gms | 2 +- modules/81_codePerformance/off/realization.gms | 2 +- modules/81_codePerformance/on/datainput.gms | 2 +- modules/81_codePerformance/on/declarations.gms | 2 +- modules/81_codePerformance/on/postsolve.gms | 2 +- modules/81_codePerformance/on/presolve.gms | 2 +- modules/81_codePerformance/on/realization.gms | 2 +- modules/81_codePerformance/on/sets.gms | 2 +- modules/include.gms | 2 +- output.R | 2 +- renv/activate.R | 6 ++++++ requirements.txt | 4 ++-- scripts/cs2/MAGICC7_AR6.Rmd | 2 +- scripts/cs2/magpie.Rmd | 2 +- scripts/cs2/mySection.Rmd | 2 +- scripts/cs2/run_compareScenarios2.R | 2 +- scripts/input/climate_assessment_run.R | 2 +- .../input/climate_assessment_temperatureImpulseResponse.R | 2 +- scripts/input/create_input_for_45_carbonprice_exogenous.R | 2 +- scripts/input/exoGAINSAirpollutants.R | 2 +- scripts/input/prepare_NDC.R | 2 +- scripts/input/r_gen_co2_tax.R | 2 +- scripts/insertheader/insertheader.R | 4 ++-- scripts/output/comparison/bioenergy.R | 2 +- scripts/output/comparison/bioenergy_SSP.R | 2 +- scripts/output/comparison/compareCalibrationTargets.R | 2 +- scripts/output/comparison/compareScenarios2.R | 2 +- scripts/output/comparison/plotRuntime.R | 2 +- scripts/output/comparison/plot_compare_iterations.R | 2 +- scripts/output/comparison/policyCosts.R | 2 +- scripts/output/comparison/runtime.R | 2 +- scripts/output/comparison/supplycurves.R | 2 +- scripts/output/comparison/varListHtml.R | 2 +- scripts/output/export/xlsx_IIASA.R | 2 +- scripts/output/single/LCOEPlot.R | 2 +- scripts/output/single/MAGICC7_AR6.R | 2 +- scripts/output/single/checkProjectSummations.R | 6 ++++++ scripts/output/single/checkVsCalibData.R | 2 +- scripts/output/single/emulator.R | 2 +- scripts/output/single/fixOnRef.R | 2 +- scripts/output/single/integratedDamageCosts.R | 6 ++++++ scripts/output/single/nashAnalysis.R | 2 +- .../single/notebook_templates/cesCalibrationReport.Rmd | 8 ++++++++ scripts/output/single/plotIterations.R | 2 +- scripts/output/single/rds_report.R | 2 +- scripts/output/single/reportCEScalib.R | 2 +- scripts/output/single/reportDIETER.R | 2 +- scripts/output/single/reportEsubs.R | 2 +- scripts/output/single/reportLogit.R | 2 +- scripts/output/single/reporting.R | 2 +- scripts/output/single/reportingREMIND2MAgPIE.R | 2 +- scripts/output/single/reporting_MOFEX.R | 2 +- scripts/start/addTitletag.R | 2 +- scripts/start/calculate_CES_configuration.R | 2 +- scripts/start/checkFixCfg.R | 6 ++++++ scripts/start/choose_slurmConfig.R | 2 +- scripts/start/combine_slurmConfig.R | 2 +- scripts/start/configureCfg.R | 2 +- scripts/start/ensureRequirementsInstalled.R | 2 +- scripts/start/getReportData.R | 2 +- scripts/start/isSlurmAvailable.R | 2 +- scripts/start/missingInputData.R | 6 ++++++ scripts/start/modelSummary.R | 2 +- scripts/start/needBau.R | 2 +- scripts/start/path_gdx_list.R | 2 +- scripts/start/prepare.R | 2 +- scripts/start/prepareAndRun.R | 2 +- scripts/start/readCheckScenarioConfig.R | 2 +- scripts/start/run.R | 2 +- scripts/start/runGamsCompile.R | 2 +- scripts/start/selectScenarios.R | 2 +- scripts/start/selectTestOneRegiRegion.R | 2 +- scripts/start/submit.R | 2 +- scripts/start/updateInputData.R | 6 ++++++ scripts/start/updateSets.R | 2 +- scripts/utils/checkSetup.R | 2 +- scripts/utils/create1mif.R | 2 +- scripts/utils/create1mif_woPlus.R | 2 +- scripts/utils/create1mifwithoutPlus.R | 2 +- standalone/MOFEX/MOFEX.gms | 2 +- standalone/MOFEX/scripts/reporting_MOFEX.R | 2 +- standalone/template.gms | 2 +- standalone/trade/trade.gms | 2 +- start.R | 2 +- start_bundle_coupled.R | 2 +- start_coupled.R | 2 +- tests/testthat/helper_localSystem2.R | 2 +- tests/testthat/helper_printIfFailed.R | 2 +- tests/testthat/helper_skipFailed.R | 2 +- tests/testthat/helper_skipIfFast.R | 2 +- tests/testthat/setup_loadFunctions.R | 2 +- tests/testthat/setup_updateRenv.R | 2 +- tests/testthat/test_01-addTitletag.R | 2 +- tests/testthat/test_01-checkFixCfg.R | 2 +- tests/testthat/test_01-codeCheck.R | 2 +- tests/testthat/test_01-combine_slurmConfig.R | 2 +- tests/testthat/test_01-gms_readSettings.R | 2 +- tests/testthat/test_01-inputdata.R | 6 ++++++ tests/testthat/test_01-path_gdx_list.R | 2 +- tests/testthat/test_01-readCheckScenarioConfig.R | 2 +- tests/testthat/test_01-readDefaultConfig.R | 6 ++++++ tests/testthat/test_01-runGamsCompile.R | 2 +- tests/testthat/test_01-selectScenarios.R | 2 +- tests/testthat/test_01-start.R | 2 +- tests/testthat/test_01-test-gams-compile.R | 2 +- tests/testthat/test_02-compile.R | 2 +- tests/testthat/test_03-quick.R | 2 +- tests/testthat/test_04-gamscompile.R | 2 +- tests/testthat/test_05-default.R | 2 +- tests/testthat/test_06-output.R | 2 +- tests/testthat/test_20-coupled.R | 2 +- tests/testthat/validation/test_01-mifs_exist.R | 2 +- tests/testthat/validation/test_02-fe_liquids.R | 2 +- tests/testthat/validation/test_03-negative_electrictiy.R | 2 +- tests/testthat/validation/test_04-invest_esm.R | 2 +- tutorials/08_Advanced_AnalysingModelOutputs.Rmd | 2 +- tutorials/08a_Advanced_CreatingSimpleDashboard.Rmd | 2 +- 728 files changed, 777 insertions(+), 721 deletions(-) diff --git a/config/default.cfg b/config/default.cfg index 30b01ba49..77b7786ec 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/core/bounds.gms b/core/bounds.gms index 953bbe876..ab78271fc 100755 --- a/core/bounds.gms +++ b/core/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/core/datainput.gms b/core/datainput.gms index 264abe392..2be670b22 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/core/declarations.gms b/core/declarations.gms index afffd7e23..767d0734a 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/core/equations.gms b/core/equations.gms index d84edb268..07c7098d1 100644 --- a/core/equations.gms +++ b/core/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/core/loop.gms b/core/loop.gms index 5e3e6fa54..9b195c177 100644 --- a/core/loop.gms +++ b/core/loop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/core/magicc.gms b/core/magicc.gms index c63c46383..879ad1d2e 100644 --- a/core/magicc.gms +++ b/core/magicc.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/core/output.gms b/core/output.gms index f83c2ee3f..7d6e5b0a9 100644 --- a/core/output.gms +++ b/core/output.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/core/postsolve.gms b/core/postsolve.gms index bef3e3399..7ba3d5925 100644 --- a/core/postsolve.gms +++ b/core/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/core/preloop.gms b/core/preloop.gms index 7cda6bd96..245a8399a 100644 --- a/core/preloop.gms +++ b/core/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/core/presolve.gms b/core/presolve.gms index 1f20fc765..6412b1acf 100644 --- a/core/presolve.gms +++ b/core/presolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/core/sets.gms b/core/sets.gms index 34bad0fe9..36c6a7efd 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/core/sets_calculations.gms b/core/sets_calculations.gms index c593d2309..1b2e3f977 100644 --- a/core/sets_calculations.gms +++ b/core/sets_calculations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/ignoreFiles.R b/ignoreFiles.R index c686b5981..d4f6874dd 100644 --- a/ignoreFiles.R +++ b/ignoreFiles.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/main.gms b/main.gms index 9628bc90d..6a74954f1 100755 --- a/main.gms +++ b/main.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/01_macro/module.gms b/modules/01_macro/module.gms index 924b54fa0..57c456040 100644 --- a/modules/01_macro/module.gms +++ b/modules/01_macro/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/01_macro/singleSectorGr/bounds.gms b/modules/01_macro/singleSectorGr/bounds.gms index 3e394d4d9..d6f836640 100644 --- a/modules/01_macro/singleSectorGr/bounds.gms +++ b/modules/01_macro/singleSectorGr/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/01_macro/singleSectorGr/datainput.gms b/modules/01_macro/singleSectorGr/datainput.gms index e1a20b833..11e75b6fd 100644 --- a/modules/01_macro/singleSectorGr/datainput.gms +++ b/modules/01_macro/singleSectorGr/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/01_macro/singleSectorGr/declarations.gms b/modules/01_macro/singleSectorGr/declarations.gms index 19abfa479..5788d5475 100644 --- a/modules/01_macro/singleSectorGr/declarations.gms +++ b/modules/01_macro/singleSectorGr/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/01_macro/singleSectorGr/equations.gms b/modules/01_macro/singleSectorGr/equations.gms index 6e99df1b5..ee2d7ffa7 100644 --- a/modules/01_macro/singleSectorGr/equations.gms +++ b/modules/01_macro/singleSectorGr/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/01_macro/singleSectorGr/postsolve.gms b/modules/01_macro/singleSectorGr/postsolve.gms index bcad34b61..e45707180 100644 --- a/modules/01_macro/singleSectorGr/postsolve.gms +++ b/modules/01_macro/singleSectorGr/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/01_macro/singleSectorGr/preloop.gms b/modules/01_macro/singleSectorGr/preloop.gms index f790aea26..0b55273aa 100644 --- a/modules/01_macro/singleSectorGr/preloop.gms +++ b/modules/01_macro/singleSectorGr/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/01_macro/singleSectorGr/realization.gms b/modules/01_macro/singleSectorGr/realization.gms index 1fae54a6a..567fac832 100644 --- a/modules/01_macro/singleSectorGr/realization.gms +++ b/modules/01_macro/singleSectorGr/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/01_macro/singleSectorGr/sets.gms b/modules/01_macro/singleSectorGr/sets.gms index f61927d52..9a6360310 100644 --- a/modules/01_macro/singleSectorGr/sets.gms +++ b/modules/01_macro/singleSectorGr/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/02_welfare/ineqLognormal/bounds.gms b/modules/02_welfare/ineqLognormal/bounds.gms index 237fbec83..87a4fcb91 100644 --- a/modules/02_welfare/ineqLognormal/bounds.gms +++ b/modules/02_welfare/ineqLognormal/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/02_welfare/ineqLognormal/datainput.gms b/modules/02_welfare/ineqLognormal/datainput.gms index 6ec94cae5..5f7460555 100644 --- a/modules/02_welfare/ineqLognormal/datainput.gms +++ b/modules/02_welfare/ineqLognormal/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/02_welfare/ineqLognormal/declarations.gms b/modules/02_welfare/ineqLognormal/declarations.gms index 1bf6b9eff..e01513212 100644 --- a/modules/02_welfare/ineqLognormal/declarations.gms +++ b/modules/02_welfare/ineqLognormal/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/02_welfare/ineqLognormal/equations.gms b/modules/02_welfare/ineqLognormal/equations.gms index 07eb66ddf..abca99484 100644 --- a/modules/02_welfare/ineqLognormal/equations.gms +++ b/modules/02_welfare/ineqLognormal/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/02_welfare/ineqLognormal/not_used.txt b/modules/02_welfare/ineqLognormal/not_used.txt index 8f3a075bb..f8690cccc 100644 --- a/modules/02_welfare/ineqLognormal/not_used.txt +++ b/modules/02_welfare/ineqLognormal/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/02_welfare/ineqLognormal/postsolve.gms b/modules/02_welfare/ineqLognormal/postsolve.gms index b5596bd6b..8dc8bfb84 100644 --- a/modules/02_welfare/ineqLognormal/postsolve.gms +++ b/modules/02_welfare/ineqLognormal/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/02_welfare/ineqLognormal/realization.gms b/modules/02_welfare/ineqLognormal/realization.gms index 5b7386ad7..5eff24433 100644 --- a/modules/02_welfare/ineqLognormal/realization.gms +++ b/modules/02_welfare/ineqLognormal/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/02_welfare/ineqLognormal/sets.gms b/modules/02_welfare/ineqLognormal/sets.gms index 9f786a725..08885a7e5 100755 --- a/modules/02_welfare/ineqLognormal/sets.gms +++ b/modules/02_welfare/ineqLognormal/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/02_welfare/module.gms b/modules/02_welfare/module.gms index 4013fc8aa..b37ad903f 100644 --- a/modules/02_welfare/module.gms +++ b/modules/02_welfare/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/02_welfare/utilitarian/bounds.gms b/modules/02_welfare/utilitarian/bounds.gms index fc6b32999..dc3fcd93f 100644 --- a/modules/02_welfare/utilitarian/bounds.gms +++ b/modules/02_welfare/utilitarian/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/02_welfare/utilitarian/datainput.gms b/modules/02_welfare/utilitarian/datainput.gms index d09cc1160..0aedb70f3 100644 --- a/modules/02_welfare/utilitarian/datainput.gms +++ b/modules/02_welfare/utilitarian/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/02_welfare/utilitarian/declarations.gms b/modules/02_welfare/utilitarian/declarations.gms index 5970adda5..b7c0c88d3 100644 --- a/modules/02_welfare/utilitarian/declarations.gms +++ b/modules/02_welfare/utilitarian/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/02_welfare/utilitarian/equations.gms b/modules/02_welfare/utilitarian/equations.gms index ff5e0c4ad..7fd236abc 100644 --- a/modules/02_welfare/utilitarian/equations.gms +++ b/modules/02_welfare/utilitarian/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/02_welfare/utilitarian/not_used.txt b/modules/02_welfare/utilitarian/not_used.txt index d8e32d03b..9b16fa73b 100644 --- a/modules/02_welfare/utilitarian/not_used.txt +++ b/modules/02_welfare/utilitarian/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/02_welfare/utilitarian/postsolve.gms b/modules/02_welfare/utilitarian/postsolve.gms index d68d9c0a5..18c1c22d7 100644 --- a/modules/02_welfare/utilitarian/postsolve.gms +++ b/modules/02_welfare/utilitarian/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/02_welfare/utilitarian/realization.gms b/modules/02_welfare/utilitarian/realization.gms index df8c67946..36738f6ad 100644 --- a/modules/02_welfare/utilitarian/realization.gms +++ b/modules/02_welfare/utilitarian/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/04_PE_FE_parameters/iea2014/datainput.gms b/modules/04_PE_FE_parameters/iea2014/datainput.gms index ea5659f93..7cd7f08ea 100644 --- a/modules/04_PE_FE_parameters/iea2014/datainput.gms +++ b/modules/04_PE_FE_parameters/iea2014/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/04_PE_FE_parameters/iea2014/declarations.gms b/modules/04_PE_FE_parameters/iea2014/declarations.gms index f53888de4..9d075aa5a 100644 --- a/modules/04_PE_FE_parameters/iea2014/declarations.gms +++ b/modules/04_PE_FE_parameters/iea2014/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/04_PE_FE_parameters/iea2014/not_used.txt b/modules/04_PE_FE_parameters/iea2014/not_used.txt index 96f710c35..536c29ad0 100644 --- a/modules/04_PE_FE_parameters/iea2014/not_used.txt +++ b/modules/04_PE_FE_parameters/iea2014/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/04_PE_FE_parameters/iea2014/realization.gms b/modules/04_PE_FE_parameters/iea2014/realization.gms index 28020f098..65ae7aed2 100644 --- a/modules/04_PE_FE_parameters/iea2014/realization.gms +++ b/modules/04_PE_FE_parameters/iea2014/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/04_PE_FE_parameters/iea2014/sets.gms b/modules/04_PE_FE_parameters/iea2014/sets.gms index 1a8abf84b..9c815a026 100644 --- a/modules/04_PE_FE_parameters/iea2014/sets.gms +++ b/modules/04_PE_FE_parameters/iea2014/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/04_PE_FE_parameters/module.gms b/modules/04_PE_FE_parameters/module.gms index bb6522406..5913f9e72 100644 --- a/modules/04_PE_FE_parameters/module.gms +++ b/modules/04_PE_FE_parameters/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/05_initialCap/module.gms b/modules/05_initialCap/module.gms index cd8e4cff3..6077bf8ee 100644 --- a/modules/05_initialCap/module.gms +++ b/modules/05_initialCap/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/05_initialCap/on/declarations.gms b/modules/05_initialCap/on/declarations.gms index 2118bcd46..57397d998 100644 --- a/modules/05_initialCap/on/declarations.gms +++ b/modules/05_initialCap/on/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/05_initialCap/on/preloop.gms b/modules/05_initialCap/on/preloop.gms index e58f5bb9e..e3ddd5b7c 100644 --- a/modules/05_initialCap/on/preloop.gms +++ b/modules/05_initialCap/on/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/05_initialCap/on/realization.gms b/modules/05_initialCap/on/realization.gms index 6f3778177..854b7e038 100644 --- a/modules/05_initialCap/on/realization.gms +++ b/modules/05_initialCap/on/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/11_aerosols/exoGAINS/datainput.gms b/modules/11_aerosols/exoGAINS/datainput.gms index e356d7c85..3623fa108 100644 --- a/modules/11_aerosols/exoGAINS/datainput.gms +++ b/modules/11_aerosols/exoGAINS/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/11_aerosols/exoGAINS/declarations.gms b/modules/11_aerosols/exoGAINS/declarations.gms index 107e5f255..8dab5fef0 100644 --- a/modules/11_aerosols/exoGAINS/declarations.gms +++ b/modules/11_aerosols/exoGAINS/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/11_aerosols/exoGAINS/equations.gms b/modules/11_aerosols/exoGAINS/equations.gms index ab7b761a6..ceac59398 100644 --- a/modules/11_aerosols/exoGAINS/equations.gms +++ b/modules/11_aerosols/exoGAINS/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/11_aerosols/exoGAINS/not_used.txt b/modules/11_aerosols/exoGAINS/not_used.txt index 96f710c35..536c29ad0 100644 --- a/modules/11_aerosols/exoGAINS/not_used.txt +++ b/modules/11_aerosols/exoGAINS/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/11_aerosols/exoGAINS/postsolve.gms b/modules/11_aerosols/exoGAINS/postsolve.gms index aff86ec41..e01e9b3f6 100644 --- a/modules/11_aerosols/exoGAINS/postsolve.gms +++ b/modules/11_aerosols/exoGAINS/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/11_aerosols/exoGAINS/presolve.gms b/modules/11_aerosols/exoGAINS/presolve.gms index 6bbc20c68..aadbcf3d0 100644 --- a/modules/11_aerosols/exoGAINS/presolve.gms +++ b/modules/11_aerosols/exoGAINS/presolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/11_aerosols/exoGAINS/realization.gms b/modules/11_aerosols/exoGAINS/realization.gms index b1a0996bd..606db25c1 100644 --- a/modules/11_aerosols/exoGAINS/realization.gms +++ b/modules/11_aerosols/exoGAINS/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/11_aerosols/exoGAINS/sets.gms b/modules/11_aerosols/exoGAINS/sets.gms index bb3a6a478..b56c4ad0d 100644 --- a/modules/11_aerosols/exoGAINS/sets.gms +++ b/modules/11_aerosols/exoGAINS/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/11_aerosols/module.gms b/modules/11_aerosols/module.gms index 772dc6c23..8a830fc28 100644 --- a/modules/11_aerosols/module.gms +++ b/modules/11_aerosols/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/15_climate/magicc/datainput.gms b/modules/15_climate/magicc/datainput.gms index 664f2a64f..2b8da7c15 100644 --- a/modules/15_climate/magicc/datainput.gms +++ b/modules/15_climate/magicc/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/15_climate/magicc/declarations.gms b/modules/15_climate/magicc/declarations.gms index 7144d73cc..5dc33ee40 100644 --- a/modules/15_climate/magicc/declarations.gms +++ b/modules/15_climate/magicc/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/15_climate/magicc/not_used.txt b/modules/15_climate/magicc/not_used.txt index 2f12b064c..d903c6839 100644 --- a/modules/15_climate/magicc/not_used.txt +++ b/modules/15_climate/magicc/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/15_climate/magicc/postsolve.gms b/modules/15_climate/magicc/postsolve.gms index 2ba84748d..99f6b4f6d 100644 --- a/modules/15_climate/magicc/postsolve.gms +++ b/modules/15_climate/magicc/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/15_climate/magicc/realization.gms b/modules/15_climate/magicc/realization.gms index 5c7253c03..081f3255f 100644 --- a/modules/15_climate/magicc/realization.gms +++ b/modules/15_climate/magicc/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/15_climate/magicc/sets.gms b/modules/15_climate/magicc/sets.gms index 1d414eaa6..a5f4201c2 100644 --- a/modules/15_climate/magicc/sets.gms +++ b/modules/15_climate/magicc/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/15_climate/magicc7_ar6/datainput.gms b/modules/15_climate/magicc7_ar6/datainput.gms index 5e20fa41c..47ed2ad6d 100644 --- a/modules/15_climate/magicc7_ar6/datainput.gms +++ b/modules/15_climate/magicc7_ar6/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/15_climate/magicc7_ar6/declarations.gms b/modules/15_climate/magicc7_ar6/declarations.gms index 557d9855e..bc3f612a1 100644 --- a/modules/15_climate/magicc7_ar6/declarations.gms +++ b/modules/15_climate/magicc7_ar6/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/15_climate/magicc7_ar6/not_used.txt b/modules/15_climate/magicc7_ar6/not_used.txt index 3e8db1616..6adb7cf31 100644 --- a/modules/15_climate/magicc7_ar6/not_used.txt +++ b/modules/15_climate/magicc7_ar6/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/15_climate/magicc7_ar6/postsolve.gms b/modules/15_climate/magicc7_ar6/postsolve.gms index d8a960912..62906e8b6 100644 --- a/modules/15_climate/magicc7_ar6/postsolve.gms +++ b/modules/15_climate/magicc7_ar6/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/15_climate/magicc7_ar6/realization.gms b/modules/15_climate/magicc7_ar6/realization.gms index 547d93e35..3e663d856 100644 --- a/modules/15_climate/magicc7_ar6/realization.gms +++ b/modules/15_climate/magicc7_ar6/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/15_climate/magicc7_ar6/sets.gms b/modules/15_climate/magicc7_ar6/sets.gms index 1d414eaa6..a5f4201c2 100644 --- a/modules/15_climate/magicc7_ar6/sets.gms +++ b/modules/15_climate/magicc7_ar6/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/15_climate/module.gms b/modules/15_climate/module.gms index e64e403a2..4581616f7 100644 --- a/modules/15_climate/module.gms +++ b/modules/15_climate/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/15_climate/off/datainput.gms b/modules/15_climate/off/datainput.gms index f1ca9e47a..1353e9fd7 100644 --- a/modules/15_climate/off/datainput.gms +++ b/modules/15_climate/off/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/15_climate/off/declarations.gms b/modules/15_climate/off/declarations.gms index 55860e055..ccfc27b37 100644 --- a/modules/15_climate/off/declarations.gms +++ b/modules/15_climate/off/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/15_climate/off/not_used.txt b/modules/15_climate/off/not_used.txt index 2bcdb2b3f..a7bd128b7 100644 --- a/modules/15_climate/off/not_used.txt +++ b/modules/15_climate/off/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/15_climate/off/realization.gms b/modules/15_climate/off/realization.gms index 440aaebe2..f7eaa5c0f 100644 --- a/modules/15_climate/off/realization.gms +++ b/modules/15_climate/off/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/16_downscaleTemperature/CMIP5/datainput.gms b/modules/16_downscaleTemperature/CMIP5/datainput.gms index 35b457070..4bba7010a 100644 --- a/modules/16_downscaleTemperature/CMIP5/datainput.gms +++ b/modules/16_downscaleTemperature/CMIP5/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/16_downscaleTemperature/CMIP5/declarations.gms b/modules/16_downscaleTemperature/CMIP5/declarations.gms index 157889ef2..ef4e26206 100644 --- a/modules/16_downscaleTemperature/CMIP5/declarations.gms +++ b/modules/16_downscaleTemperature/CMIP5/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/16_downscaleTemperature/CMIP5/postsolve.gms b/modules/16_downscaleTemperature/CMIP5/postsolve.gms index 2d304f224..19383fae8 100644 --- a/modules/16_downscaleTemperature/CMIP5/postsolve.gms +++ b/modules/16_downscaleTemperature/CMIP5/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/16_downscaleTemperature/CMIP5/realization.gms b/modules/16_downscaleTemperature/CMIP5/realization.gms index 4a215418a..8f59d24b3 100644 --- a/modules/16_downscaleTemperature/CMIP5/realization.gms +++ b/modules/16_downscaleTemperature/CMIP5/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/16_downscaleTemperature/module.gms b/modules/16_downscaleTemperature/module.gms index 291eb7f78..51be7f411 100644 --- a/modules/16_downscaleTemperature/module.gms +++ b/modules/16_downscaleTemperature/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/16_downscaleTemperature/off/realization.gms b/modules/16_downscaleTemperature/off/realization.gms index 23259a2ad..9dc83991d 100644 --- a/modules/16_downscaleTemperature/off/realization.gms +++ b/modules/16_downscaleTemperature/off/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/20_growth/exogenous/bounds.gms b/modules/20_growth/exogenous/bounds.gms index 00daa0854..86fb92a64 100644 --- a/modules/20_growth/exogenous/bounds.gms +++ b/modules/20_growth/exogenous/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/20_growth/exogenous/declarations.gms b/modules/20_growth/exogenous/declarations.gms index a341fa15f..4d8ac5c79 100644 --- a/modules/20_growth/exogenous/declarations.gms +++ b/modules/20_growth/exogenous/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/20_growth/exogenous/not_used.txt b/modules/20_growth/exogenous/not_used.txt index fb19021bc..145bf847a 100644 --- a/modules/20_growth/exogenous/not_used.txt +++ b/modules/20_growth/exogenous/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/20_growth/exogenous/realization.gms b/modules/20_growth/exogenous/realization.gms index ac192a0d8..09b05f6d4 100644 --- a/modules/20_growth/exogenous/realization.gms +++ b/modules/20_growth/exogenous/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/20_growth/module.gms b/modules/20_growth/module.gms index 76883447b..6a4a4549d 100644 --- a/modules/20_growth/module.gms +++ b/modules/20_growth/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/20_growth/spillover/bounds.gms b/modules/20_growth/spillover/bounds.gms index f87da9671..d7f115f89 100644 --- a/modules/20_growth/spillover/bounds.gms +++ b/modules/20_growth/spillover/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/20_growth/spillover/datainput.gms b/modules/20_growth/spillover/datainput.gms index bde0793da..7c789e0e8 100644 --- a/modules/20_growth/spillover/datainput.gms +++ b/modules/20_growth/spillover/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/20_growth/spillover/declarations.gms b/modules/20_growth/spillover/declarations.gms index ceba5b6e9..223b3003d 100644 --- a/modules/20_growth/spillover/declarations.gms +++ b/modules/20_growth/spillover/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/20_growth/spillover/equations.gms b/modules/20_growth/spillover/equations.gms index b6d8db371..c90d7c547 100644 --- a/modules/20_growth/spillover/equations.gms +++ b/modules/20_growth/spillover/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/20_growth/spillover/output.gms b/modules/20_growth/spillover/output.gms index 27aa7685f..bde595b7c 100644 --- a/modules/20_growth/spillover/output.gms +++ b/modules/20_growth/spillover/output.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/20_growth/spillover/realization.gms b/modules/20_growth/spillover/realization.gms index 14e20aeaa..43bf3a517 100644 --- a/modules/20_growth/spillover/realization.gms +++ b/modules/20_growth/spillover/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/20_growth/spillover/sets.gms b/modules/20_growth/spillover/sets.gms index 450f0c44c..f883d1d4b 100644 --- a/modules/20_growth/spillover/sets.gms +++ b/modules/20_growth/spillover/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/21_tax/module.gms b/modules/21_tax/module.gms index 73858606b..8b920ca75 100644 --- a/modules/21_tax/module.gms +++ b/modules/21_tax/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/21_tax/off/bounds.gms b/modules/21_tax/off/bounds.gms index 382fd22a0..7d3265c1b 100644 --- a/modules/21_tax/off/bounds.gms +++ b/modules/21_tax/off/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/21_tax/off/not_used.txt b/modules/21_tax/off/not_used.txt index 3dd1c8623..12e8c638e 100644 --- a/modules/21_tax/off/not_used.txt +++ b/modules/21_tax/off/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/21_tax/off/realization.gms b/modules/21_tax/off/realization.gms index 5c637c127..7af4acef2 100644 --- a/modules/21_tax/off/realization.gms +++ b/modules/21_tax/off/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/21_tax/on/bounds.gms b/modules/21_tax/on/bounds.gms index c91fddd28..20fa2cd09 100644 --- a/modules/21_tax/on/bounds.gms +++ b/modules/21_tax/on/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/21_tax/on/datainput.gms b/modules/21_tax/on/datainput.gms index 98e7dc60c..0f9b64208 100644 --- a/modules/21_tax/on/datainput.gms +++ b/modules/21_tax/on/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/21_tax/on/declarations.gms b/modules/21_tax/on/declarations.gms index 5af9aa774..0da2ba55d 100644 --- a/modules/21_tax/on/declarations.gms +++ b/modules/21_tax/on/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/21_tax/on/equations.gms b/modules/21_tax/on/equations.gms index d6811b0a5..463b2b781 100644 --- a/modules/21_tax/on/equations.gms +++ b/modules/21_tax/on/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/21_tax/on/not_used.txt b/modules/21_tax/on/not_used.txt index ad14a32d8..85ff9312e 100644 --- a/modules/21_tax/on/not_used.txt +++ b/modules/21_tax/on/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/21_tax/on/postsolve.gms b/modules/21_tax/on/postsolve.gms index 3a5015b37..ecc4f8855 100644 --- a/modules/21_tax/on/postsolve.gms +++ b/modules/21_tax/on/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/21_tax/on/preloop.gms b/modules/21_tax/on/preloop.gms index b2cbe5b9a..15c95acbb 100644 --- a/modules/21_tax/on/preloop.gms +++ b/modules/21_tax/on/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/21_tax/on/presolve.gms b/modules/21_tax/on/presolve.gms index 37b204f93..b8db92642 100644 --- a/modules/21_tax/on/presolve.gms +++ b/modules/21_tax/on/presolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/21_tax/on/realization.gms b/modules/21_tax/on/realization.gms index a506510f0..452871b24 100644 --- a/modules/21_tax/on/realization.gms +++ b/modules/21_tax/on/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/21_tax/on/sets.gms b/modules/21_tax/on/sets.gms index e07908229..832b37615 100644 --- a/modules/21_tax/on/sets.gms +++ b/modules/21_tax/on/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/22_subsidizeLearning/globallyOptimal/bounds.gms b/modules/22_subsidizeLearning/globallyOptimal/bounds.gms index 09ee6f6d6..579a53d58 100644 --- a/modules/22_subsidizeLearning/globallyOptimal/bounds.gms +++ b/modules/22_subsidizeLearning/globallyOptimal/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/22_subsidizeLearning/globallyOptimal/datainput.gms b/modules/22_subsidizeLearning/globallyOptimal/datainput.gms index e6c375011..0ebc9bfb4 100644 --- a/modules/22_subsidizeLearning/globallyOptimal/datainput.gms +++ b/modules/22_subsidizeLearning/globallyOptimal/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/22_subsidizeLearning/globallyOptimal/declarations.gms b/modules/22_subsidizeLearning/globallyOptimal/declarations.gms index b23b40843..6cdc5db55 100644 --- a/modules/22_subsidizeLearning/globallyOptimal/declarations.gms +++ b/modules/22_subsidizeLearning/globallyOptimal/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/22_subsidizeLearning/globallyOptimal/equations.gms b/modules/22_subsidizeLearning/globallyOptimal/equations.gms index aec012dab..4eb60ec98 100644 --- a/modules/22_subsidizeLearning/globallyOptimal/equations.gms +++ b/modules/22_subsidizeLearning/globallyOptimal/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/22_subsidizeLearning/globallyOptimal/postsolve.gms b/modules/22_subsidizeLearning/globallyOptimal/postsolve.gms index 639f5f507..5b4684174 100644 --- a/modules/22_subsidizeLearning/globallyOptimal/postsolve.gms +++ b/modules/22_subsidizeLearning/globallyOptimal/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/22_subsidizeLearning/globallyOptimal/presolve.gms b/modules/22_subsidizeLearning/globallyOptimal/presolve.gms index fa3abebcc..6e0dc8d78 100644 --- a/modules/22_subsidizeLearning/globallyOptimal/presolve.gms +++ b/modules/22_subsidizeLearning/globallyOptimal/presolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/22_subsidizeLearning/globallyOptimal/realization.gms b/modules/22_subsidizeLearning/globallyOptimal/realization.gms index b5cff1331..2af37f589 100644 --- a/modules/22_subsidizeLearning/globallyOptimal/realization.gms +++ b/modules/22_subsidizeLearning/globallyOptimal/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/22_subsidizeLearning/globallyOptimal/sets.gms b/modules/22_subsidizeLearning/globallyOptimal/sets.gms index 2257bf17f..06453eec8 100644 --- a/modules/22_subsidizeLearning/globallyOptimal/sets.gms +++ b/modules/22_subsidizeLearning/globallyOptimal/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/22_subsidizeLearning/module.gms b/modules/22_subsidizeLearning/module.gms index abba292ce..cd78ebbee 100644 --- a/modules/22_subsidizeLearning/module.gms +++ b/modules/22_subsidizeLearning/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/22_subsidizeLearning/off/bounds.gms b/modules/22_subsidizeLearning/off/bounds.gms index 48ec0b782..1f23b0276 100644 --- a/modules/22_subsidizeLearning/off/bounds.gms +++ b/modules/22_subsidizeLearning/off/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/22_subsidizeLearning/off/declarations.gms b/modules/22_subsidizeLearning/off/declarations.gms index c683c9471..1e2a34d4f 100644 --- a/modules/22_subsidizeLearning/off/declarations.gms +++ b/modules/22_subsidizeLearning/off/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/22_subsidizeLearning/off/not_used.txt b/modules/22_subsidizeLearning/off/not_used.txt index d7f028626..371dafc69 100644 --- a/modules/22_subsidizeLearning/off/not_used.txt +++ b/modules/22_subsidizeLearning/off/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/22_subsidizeLearning/off/postsolve.gms b/modules/22_subsidizeLearning/off/postsolve.gms index 001ece563..dd9cc45a3 100644 --- a/modules/22_subsidizeLearning/off/postsolve.gms +++ b/modules/22_subsidizeLearning/off/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/22_subsidizeLearning/off/realization.gms b/modules/22_subsidizeLearning/off/realization.gms index 4f04cb419..28bad507c 100644 --- a/modules/22_subsidizeLearning/off/realization.gms +++ b/modules/22_subsidizeLearning/off/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/23_capitalMarket/debt_limit/datainput.gms b/modules/23_capitalMarket/debt_limit/datainput.gms index 2b3c8361c..5d5f83383 100644 --- a/modules/23_capitalMarket/debt_limit/datainput.gms +++ b/modules/23_capitalMarket/debt_limit/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/23_capitalMarket/debt_limit/declarations.gms b/modules/23_capitalMarket/debt_limit/declarations.gms index 4a085cca3..898d82666 100644 --- a/modules/23_capitalMarket/debt_limit/declarations.gms +++ b/modules/23_capitalMarket/debt_limit/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/23_capitalMarket/debt_limit/equations.gms b/modules/23_capitalMarket/debt_limit/equations.gms index cfd394c0f..f75f061b8 100644 --- a/modules/23_capitalMarket/debt_limit/equations.gms +++ b/modules/23_capitalMarket/debt_limit/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/23_capitalMarket/debt_limit/not_used.txt b/modules/23_capitalMarket/debt_limit/not_used.txt index 225a38e35..6c76d5031 100644 --- a/modules/23_capitalMarket/debt_limit/not_used.txt +++ b/modules/23_capitalMarket/debt_limit/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/23_capitalMarket/debt_limit/realization.gms b/modules/23_capitalMarket/debt_limit/realization.gms index cead699bf..91bd39a47 100644 --- a/modules/23_capitalMarket/debt_limit/realization.gms +++ b/modules/23_capitalMarket/debt_limit/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/23_capitalMarket/imperfect/datainput.gms b/modules/23_capitalMarket/imperfect/datainput.gms index a56e7813b..054312d47 100644 --- a/modules/23_capitalMarket/imperfect/datainput.gms +++ b/modules/23_capitalMarket/imperfect/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/23_capitalMarket/imperfect/declarations.gms b/modules/23_capitalMarket/imperfect/declarations.gms index 6463e9313..30fa587c0 100644 --- a/modules/23_capitalMarket/imperfect/declarations.gms +++ b/modules/23_capitalMarket/imperfect/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/23_capitalMarket/imperfect/equations.gms b/modules/23_capitalMarket/imperfect/equations.gms index 8c5a4ac7e..c592b9bb9 100644 --- a/modules/23_capitalMarket/imperfect/equations.gms +++ b/modules/23_capitalMarket/imperfect/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/23_capitalMarket/imperfect/realization.gms b/modules/23_capitalMarket/imperfect/realization.gms index d6eb3b78d..86699c4a7 100644 --- a/modules/23_capitalMarket/imperfect/realization.gms +++ b/modules/23_capitalMarket/imperfect/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/23_capitalMarket/module.gms b/modules/23_capitalMarket/module.gms index b04a44b7c..52ed77edd 100644 --- a/modules/23_capitalMarket/module.gms +++ b/modules/23_capitalMarket/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/capacity/bounds.gms b/modules/24_trade/capacity/bounds.gms index bb8c9def9..f4e617675 100644 --- a/modules/24_trade/capacity/bounds.gms +++ b/modules/24_trade/capacity/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/capacity/datainput.gms b/modules/24_trade/capacity/datainput.gms index 3328b08ea..fc528846c 100644 --- a/modules/24_trade/capacity/datainput.gms +++ b/modules/24_trade/capacity/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/capacity/declarations.gms b/modules/24_trade/capacity/declarations.gms index 0a9dd4e12..06b8283f6 100644 --- a/modules/24_trade/capacity/declarations.gms +++ b/modules/24_trade/capacity/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/capacity/equations.gms b/modules/24_trade/capacity/equations.gms index 3bc138d93..ca13b83b6 100644 --- a/modules/24_trade/capacity/equations.gms +++ b/modules/24_trade/capacity/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/capacity/not_used.txt b/modules/24_trade/capacity/not_used.txt index 045d3accd..f4f43ed32 100644 --- a/modules/24_trade/capacity/not_used.txt +++ b/modules/24_trade/capacity/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/capacity/postsolve.gms b/modules/24_trade/capacity/postsolve.gms index 555c2bcf0..907f81725 100644 --- a/modules/24_trade/capacity/postsolve.gms +++ b/modules/24_trade/capacity/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/capacity/preloop.gms b/modules/24_trade/capacity/preloop.gms index 54423bd3a..52e871be3 100644 --- a/modules/24_trade/capacity/preloop.gms +++ b/modules/24_trade/capacity/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/capacity/presolve.gms b/modules/24_trade/capacity/presolve.gms index 41927fabf..757ce78d6 100644 --- a/modules/24_trade/capacity/presolve.gms +++ b/modules/24_trade/capacity/presolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/capacity/realization.gms b/modules/24_trade/capacity/realization.gms index 8b11ea74f..f0922d256 100644 --- a/modules/24_trade/capacity/realization.gms +++ b/modules/24_trade/capacity/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/capacity/sets.gms b/modules/24_trade/capacity/sets.gms index 50022dd10..990832544 100644 --- a/modules/24_trade/capacity/sets.gms +++ b/modules/24_trade/capacity/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/module.gms b/modules/24_trade/module.gms index 92e9accb3..a55013799 100644 --- a/modules/24_trade/module.gms +++ b/modules/24_trade/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/se_trade/bounds.gms b/modules/24_trade/se_trade/bounds.gms index 883230595..f1e6f4904 100644 --- a/modules/24_trade/se_trade/bounds.gms +++ b/modules/24_trade/se_trade/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/se_trade/datainput.gms b/modules/24_trade/se_trade/datainput.gms index e989dc849..f68a4c99a 100644 --- a/modules/24_trade/se_trade/datainput.gms +++ b/modules/24_trade/se_trade/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/se_trade/declarations.gms b/modules/24_trade/se_trade/declarations.gms index fba52f9d2..bc2a14ea6 100644 --- a/modules/24_trade/se_trade/declarations.gms +++ b/modules/24_trade/se_trade/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/se_trade/not_used.txt b/modules/24_trade/se_trade/not_used.txt index 777a1401e..d4c12be04 100644 --- a/modules/24_trade/se_trade/not_used.txt +++ b/modules/24_trade/se_trade/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/se_trade/postsolve.gms b/modules/24_trade/se_trade/postsolve.gms index 43d7d5207..5f2732d9a 100644 --- a/modules/24_trade/se_trade/postsolve.gms +++ b/modules/24_trade/se_trade/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/se_trade/preloop.gms b/modules/24_trade/se_trade/preloop.gms index 573c84d84..22ab4ce97 100644 --- a/modules/24_trade/se_trade/preloop.gms +++ b/modules/24_trade/se_trade/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/se_trade/presolve.gms b/modules/24_trade/se_trade/presolve.gms index 0c8ce1e6d..0e754fa5d 100644 --- a/modules/24_trade/se_trade/presolve.gms +++ b/modules/24_trade/se_trade/presolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/se_trade/realization.gms b/modules/24_trade/se_trade/realization.gms index d869cb723..8798437d6 100644 --- a/modules/24_trade/se_trade/realization.gms +++ b/modules/24_trade/se_trade/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/se_trade/sets.gms b/modules/24_trade/se_trade/sets.gms index ede9c5d5d..0bfff64f0 100644 --- a/modules/24_trade/se_trade/sets.gms +++ b/modules/24_trade/se_trade/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/standard/bounds.gms b/modules/24_trade/standard/bounds.gms index 3eb1b6a6c..5729d6fa3 100644 --- a/modules/24_trade/standard/bounds.gms +++ b/modules/24_trade/standard/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/standard/datainput.gms b/modules/24_trade/standard/datainput.gms index d5c2d9177..921dc1091 100644 --- a/modules/24_trade/standard/datainput.gms +++ b/modules/24_trade/standard/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/standard/declarations.gms b/modules/24_trade/standard/declarations.gms index 827e5b26b..6b1f3e7e6 100644 --- a/modules/24_trade/standard/declarations.gms +++ b/modules/24_trade/standard/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/standard/not_used.txt b/modules/24_trade/standard/not_used.txt index e3396677a..ed49b4639 100644 --- a/modules/24_trade/standard/not_used.txt +++ b/modules/24_trade/standard/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/standard/postsolve.gms b/modules/24_trade/standard/postsolve.gms index acf080b78..6354a5b79 100644 --- a/modules/24_trade/standard/postsolve.gms +++ b/modules/24_trade/standard/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/standard/presolve.gms b/modules/24_trade/standard/presolve.gms index a3b8b034d..a9ef50511 100644 --- a/modules/24_trade/standard/presolve.gms +++ b/modules/24_trade/standard/presolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/standard/realization.gms b/modules/24_trade/standard/realization.gms index 10bb8a12b..f1de59fb0 100644 --- a/modules/24_trade/standard/realization.gms +++ b/modules/24_trade/standard/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/24_trade/standard/sets.gms b/modules/24_trade/standard/sets.gms index 3efefded0..dff6dc5cd 100644 --- a/modules/24_trade/standard/sets.gms +++ b/modules/24_trade/standard/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/26_agCosts/costs/datainput.gms b/modules/26_agCosts/costs/datainput.gms index 6bccde53d..a7f9918a6 100644 --- a/modules/26_agCosts/costs/datainput.gms +++ b/modules/26_agCosts/costs/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/26_agCosts/costs/declarations.gms b/modules/26_agCosts/costs/declarations.gms index 29ea19bfd..06087aef3 100644 --- a/modules/26_agCosts/costs/declarations.gms +++ b/modules/26_agCosts/costs/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/26_agCosts/costs/presolve.gms b/modules/26_agCosts/costs/presolve.gms index 5205a431c..f2308419c 100644 --- a/modules/26_agCosts/costs/presolve.gms +++ b/modules/26_agCosts/costs/presolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/26_agCosts/costs/realization.gms b/modules/26_agCosts/costs/realization.gms index 41652f169..e77ea427d 100644 --- a/modules/26_agCosts/costs/realization.gms +++ b/modules/26_agCosts/costs/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/26_agCosts/costs_trade/datainput.gms b/modules/26_agCosts/costs_trade/datainput.gms index 6a9e7b055..89cc3f6f0 100644 --- a/modules/26_agCosts/costs_trade/datainput.gms +++ b/modules/26_agCosts/costs_trade/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/26_agCosts/costs_trade/not_used.txt b/modules/26_agCosts/costs_trade/not_used.txt index ebf6e4852..33f72eabe 100644 --- a/modules/26_agCosts/costs_trade/not_used.txt +++ b/modules/26_agCosts/costs_trade/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/26_agCosts/costs_trade/realization.gms b/modules/26_agCosts/costs_trade/realization.gms index 131d836d6..9a7770ecd 100644 --- a/modules/26_agCosts/costs_trade/realization.gms +++ b/modules/26_agCosts/costs_trade/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/26_agCosts/module.gms b/modules/26_agCosts/module.gms index 3a2ab8dd5..6885c3957 100644 --- a/modules/26_agCosts/module.gms +++ b/modules/26_agCosts/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/26_agCosts/off/declarations.gms b/modules/26_agCosts/off/declarations.gms index 088d36185..5f1b75f27 100644 --- a/modules/26_agCosts/off/declarations.gms +++ b/modules/26_agCosts/off/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/26_agCosts/off/not_used.txt b/modules/26_agCosts/off/not_used.txt index ebf6e4852..33f72eabe 100644 --- a/modules/26_agCosts/off/not_used.txt +++ b/modules/26_agCosts/off/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/26_agCosts/off/realization.gms b/modules/26_agCosts/off/realization.gms index a7a946ecd..1714d4881 100644 --- a/modules/26_agCosts/off/realization.gms +++ b/modules/26_agCosts/off/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/29_CES_parameters/calibrate/bounds.gms b/modules/29_CES_parameters/calibrate/bounds.gms index 7eff90102..925a310f0 100644 --- a/modules/29_CES_parameters/calibrate/bounds.gms +++ b/modules/29_CES_parameters/calibrate/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/29_CES_parameters/calibrate/datainput.gms b/modules/29_CES_parameters/calibrate/datainput.gms index 592435b90..97ec0b068 100644 --- a/modules/29_CES_parameters/calibrate/datainput.gms +++ b/modules/29_CES_parameters/calibrate/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/29_CES_parameters/calibrate/declarations.gms b/modules/29_CES_parameters/calibrate/declarations.gms index 44ad91949..ee853110d 100644 --- a/modules/29_CES_parameters/calibrate/declarations.gms +++ b/modules/29_CES_parameters/calibrate/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/29_CES_parameters/calibrate/not_used.txt b/modules/29_CES_parameters/calibrate/not_used.txt index ad14a32d8..85ff9312e 100644 --- a/modules/29_CES_parameters/calibrate/not_used.txt +++ b/modules/29_CES_parameters/calibrate/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/29_CES_parameters/calibrate/output.gms b/modules/29_CES_parameters/calibrate/output.gms index 77844d47c..a242c6c5b 100644 --- a/modules/29_CES_parameters/calibrate/output.gms +++ b/modules/29_CES_parameters/calibrate/output.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/29_CES_parameters/calibrate/preloop.gms b/modules/29_CES_parameters/calibrate/preloop.gms index 5542296d0..4df3d8e84 100644 --- a/modules/29_CES_parameters/calibrate/preloop.gms +++ b/modules/29_CES_parameters/calibrate/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/29_CES_parameters/calibrate/realization.gms b/modules/29_CES_parameters/calibrate/realization.gms index dfe63ccd3..871a38ed3 100644 --- a/modules/29_CES_parameters/calibrate/realization.gms +++ b/modules/29_CES_parameters/calibrate/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/29_CES_parameters/calibrate/sets.gms b/modules/29_CES_parameters/calibrate/sets.gms index 846d02412..b075b51a7 100644 --- a/modules/29_CES_parameters/calibrate/sets.gms +++ b/modules/29_CES_parameters/calibrate/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/29_CES_parameters/load/datainput.gms b/modules/29_CES_parameters/load/datainput.gms index 08e1d505b..0d2edcdfa 100644 --- a/modules/29_CES_parameters/load/datainput.gms +++ b/modules/29_CES_parameters/load/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/29_CES_parameters/load/not_used.txt b/modules/29_CES_parameters/load/not_used.txt index 8b582a3a0..cd181cc66 100644 --- a/modules/29_CES_parameters/load/not_used.txt +++ b/modules/29_CES_parameters/load/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/29_CES_parameters/load/preloop.gms b/modules/29_CES_parameters/load/preloop.gms index 35232c329..4c172d758 100644 --- a/modules/29_CES_parameters/load/preloop.gms +++ b/modules/29_CES_parameters/load/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/29_CES_parameters/load/realization.gms b/modules/29_CES_parameters/load/realization.gms index 9bcd91863..25a57ef18 100644 --- a/modules/29_CES_parameters/load/realization.gms +++ b/modules/29_CES_parameters/load/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/29_CES_parameters/load/sets.gms b/modules/29_CES_parameters/load/sets.gms index 1c8619672..5b6dcbd9b 100644 --- a/modules/29_CES_parameters/load/sets.gms +++ b/modules/29_CES_parameters/load/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/29_CES_parameters/module.gms b/modules/29_CES_parameters/module.gms index c904d86de..b0ba89fc3 100644 --- a/modules/29_CES_parameters/module.gms +++ b/modules/29_CES_parameters/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/30_biomass/magpie_40/bounds.gms b/modules/30_biomass/magpie_40/bounds.gms index c1cc9b3c9..c3a13e4bb 100644 --- a/modules/30_biomass/magpie_40/bounds.gms +++ b/modules/30_biomass/magpie_40/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/30_biomass/magpie_40/datainput.gms b/modules/30_biomass/magpie_40/datainput.gms index ff075d684..123d5fedc 100644 --- a/modules/30_biomass/magpie_40/datainput.gms +++ b/modules/30_biomass/magpie_40/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/30_biomass/magpie_40/declarations.gms b/modules/30_biomass/magpie_40/declarations.gms index 13e051c72..f5626d471 100644 --- a/modules/30_biomass/magpie_40/declarations.gms +++ b/modules/30_biomass/magpie_40/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/30_biomass/magpie_40/equations.gms b/modules/30_biomass/magpie_40/equations.gms index 45dc49d8c..beaae676e 100644 --- a/modules/30_biomass/magpie_40/equations.gms +++ b/modules/30_biomass/magpie_40/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/30_biomass/magpie_40/not_used.txt b/modules/30_biomass/magpie_40/not_used.txt index 96f710c35..536c29ad0 100644 --- a/modules/30_biomass/magpie_40/not_used.txt +++ b/modules/30_biomass/magpie_40/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/30_biomass/magpie_40/output.gms b/modules/30_biomass/magpie_40/output.gms index 037bd1c4d..db98293b0 100644 --- a/modules/30_biomass/magpie_40/output.gms +++ b/modules/30_biomass/magpie_40/output.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/30_biomass/magpie_40/postsolve.gms b/modules/30_biomass/magpie_40/postsolve.gms index b765610f8..050246a92 100644 --- a/modules/30_biomass/magpie_40/postsolve.gms +++ b/modules/30_biomass/magpie_40/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/30_biomass/magpie_40/preloop.gms b/modules/30_biomass/magpie_40/preloop.gms index be2614921..dc84ba3db 100644 --- a/modules/30_biomass/magpie_40/preloop.gms +++ b/modules/30_biomass/magpie_40/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/30_biomass/magpie_40/presolve.gms b/modules/30_biomass/magpie_40/presolve.gms index 3caaad494..9850f75a5 100644 --- a/modules/30_biomass/magpie_40/presolve.gms +++ b/modules/30_biomass/magpie_40/presolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/30_biomass/magpie_40/realization.gms b/modules/30_biomass/magpie_40/realization.gms index 97894b822..cfb0449af 100644 --- a/modules/30_biomass/magpie_40/realization.gms +++ b/modules/30_biomass/magpie_40/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/30_biomass/magpie_40/sets.gms b/modules/30_biomass/magpie_40/sets.gms index 1012493e2..a6b0a9f19 100644 --- a/modules/30_biomass/magpie_40/sets.gms +++ b/modules/30_biomass/magpie_40/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/30_biomass/module.gms b/modules/30_biomass/module.gms index 2e04bf07a..c824ca335 100644 --- a/modules/30_biomass/module.gms +++ b/modules/30_biomass/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/MOFEX/bounds.gms b/modules/31_fossil/MOFEX/bounds.gms index 7f6dd96f8..71dc21bdd 100644 --- a/modules/31_fossil/MOFEX/bounds.gms +++ b/modules/31_fossil/MOFEX/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/MOFEX/datainput.gms b/modules/31_fossil/MOFEX/datainput.gms index 2d5c1c60f..a9ef94ae9 100644 --- a/modules/31_fossil/MOFEX/datainput.gms +++ b/modules/31_fossil/MOFEX/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/MOFEX/declarations.gms b/modules/31_fossil/MOFEX/declarations.gms index 429801a5f..80f7258dc 100644 --- a/modules/31_fossil/MOFEX/declarations.gms +++ b/modules/31_fossil/MOFEX/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/MOFEX/equations.gms b/modules/31_fossil/MOFEX/equations.gms index 51cdab1aa..6a18d8c9f 100644 --- a/modules/31_fossil/MOFEX/equations.gms +++ b/modules/31_fossil/MOFEX/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/MOFEX/not_used.txt b/modules/31_fossil/MOFEX/not_used.txt index 906176c70..eeb5c5fc6 100644 --- a/modules/31_fossil/MOFEX/not_used.txt +++ b/modules/31_fossil/MOFEX/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/MOFEX/output.gms b/modules/31_fossil/MOFEX/output.gms index 6f5668167..21024f1a1 100644 --- a/modules/31_fossil/MOFEX/output.gms +++ b/modules/31_fossil/MOFEX/output.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/MOFEX/preloop.gms b/modules/31_fossil/MOFEX/preloop.gms index 013d22529..4ef98bd24 100644 --- a/modules/31_fossil/MOFEX/preloop.gms +++ b/modules/31_fossil/MOFEX/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/MOFEX/realization.gms b/modules/31_fossil/MOFEX/realization.gms index 79c0cc234..197580e4b 100644 --- a/modules/31_fossil/MOFEX/realization.gms +++ b/modules/31_fossil/MOFEX/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/MOFEX/sets.gms b/modules/31_fossil/MOFEX/sets.gms index 73233890a..60f9fb387 100644 --- a/modules/31_fossil/MOFEX/sets.gms +++ b/modules/31_fossil/MOFEX/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/MOFEX/solve.gms b/modules/31_fossil/MOFEX/solve.gms index 0f2ed1880..1ec9ee347 100644 --- a/modules/31_fossil/MOFEX/solve.gms +++ b/modules/31_fossil/MOFEX/solve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/exogenous/bounds.gms b/modules/31_fossil/exogenous/bounds.gms index b203b91fe..22eed2e6f 100644 --- a/modules/31_fossil/exogenous/bounds.gms +++ b/modules/31_fossil/exogenous/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/exogenous/datainput.gms b/modules/31_fossil/exogenous/datainput.gms index 7f05cbb07..b9d0651cb 100644 --- a/modules/31_fossil/exogenous/datainput.gms +++ b/modules/31_fossil/exogenous/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/exogenous/declarations.gms b/modules/31_fossil/exogenous/declarations.gms index 38045ab0c..f92e58d52 100644 --- a/modules/31_fossil/exogenous/declarations.gms +++ b/modules/31_fossil/exogenous/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/exogenous/not_used.txt b/modules/31_fossil/exogenous/not_used.txt index 5a5a0d2b1..ef8d71d7f 100644 --- a/modules/31_fossil/exogenous/not_used.txt +++ b/modules/31_fossil/exogenous/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/exogenous/realization.gms b/modules/31_fossil/exogenous/realization.gms index 572da7308..acf51465a 100644 --- a/modules/31_fossil/exogenous/realization.gms +++ b/modules/31_fossil/exogenous/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/grades2poly/bounds.gms b/modules/31_fossil/grades2poly/bounds.gms index 3bd245799..777a63770 100644 --- a/modules/31_fossil/grades2poly/bounds.gms +++ b/modules/31_fossil/grades2poly/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/grades2poly/datainput.gms b/modules/31_fossil/grades2poly/datainput.gms index 933049cb5..31c97f79a 100644 --- a/modules/31_fossil/grades2poly/datainput.gms +++ b/modules/31_fossil/grades2poly/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/grades2poly/declarations.gms b/modules/31_fossil/grades2poly/declarations.gms index 6dcf40c12..9e732d4a1 100644 --- a/modules/31_fossil/grades2poly/declarations.gms +++ b/modules/31_fossil/grades2poly/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/grades2poly/equations.gms b/modules/31_fossil/grades2poly/equations.gms index 10f2a0a53..cfe222052 100644 --- a/modules/31_fossil/grades2poly/equations.gms +++ b/modules/31_fossil/grades2poly/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/grades2poly/not_used.txt b/modules/31_fossil/grades2poly/not_used.txt index 8db3a73e0..3d54a625a 100644 --- a/modules/31_fossil/grades2poly/not_used.txt +++ b/modules/31_fossil/grades2poly/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/grades2poly/preloop.gms b/modules/31_fossil/grades2poly/preloop.gms index a1c7cb56b..19b4c6844 100644 --- a/modules/31_fossil/grades2poly/preloop.gms +++ b/modules/31_fossil/grades2poly/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/grades2poly/realization.gms b/modules/31_fossil/grades2poly/realization.gms index 20e293fa1..6a9dfb189 100644 --- a/modules/31_fossil/grades2poly/realization.gms +++ b/modules/31_fossil/grades2poly/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/grades2poly/sets.gms b/modules/31_fossil/grades2poly/sets.gms index dc8312550..e482c1d94 100644 --- a/modules/31_fossil/grades2poly/sets.gms +++ b/modules/31_fossil/grades2poly/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/module.gms b/modules/31_fossil/module.gms index c38ed569c..7f6ffc71d 100644 --- a/modules/31_fossil/module.gms +++ b/modules/31_fossil/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/timeDepGrades/bounds.gms b/modules/31_fossil/timeDepGrades/bounds.gms index f08c8cca2..d7df16be5 100644 --- a/modules/31_fossil/timeDepGrades/bounds.gms +++ b/modules/31_fossil/timeDepGrades/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/timeDepGrades/datainput.gms b/modules/31_fossil/timeDepGrades/datainput.gms index f1bdfa1a3..e5a8bf736 100644 --- a/modules/31_fossil/timeDepGrades/datainput.gms +++ b/modules/31_fossil/timeDepGrades/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/timeDepGrades/declarations.gms b/modules/31_fossil/timeDepGrades/declarations.gms index 5ca02a6da..98c489f25 100644 --- a/modules/31_fossil/timeDepGrades/declarations.gms +++ b/modules/31_fossil/timeDepGrades/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/timeDepGrades/equations.gms b/modules/31_fossil/timeDepGrades/equations.gms index 5469b8da5..6a11c50d9 100644 --- a/modules/31_fossil/timeDepGrades/equations.gms +++ b/modules/31_fossil/timeDepGrades/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/timeDepGrades/not_used.txt b/modules/31_fossil/timeDepGrades/not_used.txt index f50e0a144..4a8bb9e5f 100644 --- a/modules/31_fossil/timeDepGrades/not_used.txt +++ b/modules/31_fossil/timeDepGrades/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/timeDepGrades/output.gms b/modules/31_fossil/timeDepGrades/output.gms index 2558aaddb..a6e4842a4 100644 --- a/modules/31_fossil/timeDepGrades/output.gms +++ b/modules/31_fossil/timeDepGrades/output.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/timeDepGrades/preloop.gms b/modules/31_fossil/timeDepGrades/preloop.gms index 753f5ef79..e08b41fb2 100644 --- a/modules/31_fossil/timeDepGrades/preloop.gms +++ b/modules/31_fossil/timeDepGrades/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/timeDepGrades/realization.gms b/modules/31_fossil/timeDepGrades/realization.gms index cd10d7b94..0e3507322 100644 --- a/modules/31_fossil/timeDepGrades/realization.gms +++ b/modules/31_fossil/timeDepGrades/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/31_fossil/timeDepGrades/sets.gms b/modules/31_fossil/timeDepGrades/sets.gms index 86203cdb4..5235b293d 100644 --- a/modules/31_fossil/timeDepGrades/sets.gms +++ b/modules/31_fossil/timeDepGrades/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/DTcoup/bounds.gms b/modules/32_power/DTcoup/bounds.gms index abb47251e..05bae18a5 100644 --- a/modules/32_power/DTcoup/bounds.gms +++ b/modules/32_power/DTcoup/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/DTcoup/datainput.gms b/modules/32_power/DTcoup/datainput.gms index b0012b590..0ac13070b 100644 --- a/modules/32_power/DTcoup/datainput.gms +++ b/modules/32_power/DTcoup/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/DTcoup/declarations.gms b/modules/32_power/DTcoup/declarations.gms index cdba3c293..7776e381a 100644 --- a/modules/32_power/DTcoup/declarations.gms +++ b/modules/32_power/DTcoup/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/DTcoup/equations.gms b/modules/32_power/DTcoup/equations.gms index dad875297..fcaa37f62 100644 --- a/modules/32_power/DTcoup/equations.gms +++ b/modules/32_power/DTcoup/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/DTcoup/not_used.txt b/modules/32_power/DTcoup/not_used.txt index 374a11820..8ddfa6f74 100644 --- a/modules/32_power/DTcoup/not_used.txt +++ b/modules/32_power/DTcoup/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/DTcoup/postsolve.gms b/modules/32_power/DTcoup/postsolve.gms index 8b3c4804c..7ee28a95e 100644 --- a/modules/32_power/DTcoup/postsolve.gms +++ b/modules/32_power/DTcoup/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/DTcoup/preloop.gms b/modules/32_power/DTcoup/preloop.gms index d89926409..d496d54cd 100644 --- a/modules/32_power/DTcoup/preloop.gms +++ b/modules/32_power/DTcoup/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/DTcoup/presolve.gms b/modules/32_power/DTcoup/presolve.gms index c81574ba0..054158db1 100644 --- a/modules/32_power/DTcoup/presolve.gms +++ b/modules/32_power/DTcoup/presolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/DTcoup/realization.gms b/modules/32_power/DTcoup/realization.gms index da59ee2d7..47ac083a2 100644 --- a/modules/32_power/DTcoup/realization.gms +++ b/modules/32_power/DTcoup/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/IntC/bounds.gms b/modules/32_power/IntC/bounds.gms index ccea911d9..9c64323c1 100644 --- a/modules/32_power/IntC/bounds.gms +++ b/modules/32_power/IntC/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/IntC/datainput.gms b/modules/32_power/IntC/datainput.gms index 452771b86..c6faa16ac 100644 --- a/modules/32_power/IntC/datainput.gms +++ b/modules/32_power/IntC/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/IntC/declarations.gms b/modules/32_power/IntC/declarations.gms index 78cc1a6f5..7143eb387 100644 --- a/modules/32_power/IntC/declarations.gms +++ b/modules/32_power/IntC/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/IntC/equations.gms b/modules/32_power/IntC/equations.gms index d3c7b211b..f6c4bf72e 100644 --- a/modules/32_power/IntC/equations.gms +++ b/modules/32_power/IntC/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/IntC/input/p32_flex_maxdiscount.cs4r b/modules/32_power/IntC/input/p32_flex_maxdiscount.cs4r index d25d29ef2..8909528c8 100644 --- a/modules/32_power/IntC/input/p32_flex_maxdiscount.cs4r +++ b/modules/32_power/IntC/input/p32_flex_maxdiscount.cs4r @@ -1,4 +1,4 @@ -* | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +* | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) * | authors, and contributors see CITATION.cff file. This file is part * | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of * | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/IntC/not_used.txt b/modules/32_power/IntC/not_used.txt index 50ddbe1c0..9261eeb93 100644 --- a/modules/32_power/IntC/not_used.txt +++ b/modules/32_power/IntC/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/IntC/postsolve.gms b/modules/32_power/IntC/postsolve.gms index 7442a50a7..80d1a3a9e 100644 --- a/modules/32_power/IntC/postsolve.gms +++ b/modules/32_power/IntC/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/IntC/preloop.gms b/modules/32_power/IntC/preloop.gms index 2617540f8..e3178a8ab 100644 --- a/modules/32_power/IntC/preloop.gms +++ b/modules/32_power/IntC/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/IntC/presolve.gms b/modules/32_power/IntC/presolve.gms index 2bb8fbb91..49fb4d9e8 100644 --- a/modules/32_power/IntC/presolve.gms +++ b/modules/32_power/IntC/presolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/IntC/realization.gms b/modules/32_power/IntC/realization.gms index d0d4c255e..0175e2e47 100644 --- a/modules/32_power/IntC/realization.gms +++ b/modules/32_power/IntC/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/RLDC/bounds.gms b/modules/32_power/RLDC/bounds.gms index 24961ae3d..1babb500d 100644 --- a/modules/32_power/RLDC/bounds.gms +++ b/modules/32_power/RLDC/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/RLDC/datainput.gms b/modules/32_power/RLDC/datainput.gms index 21b6d32d3..f9bcd8f2a 100644 --- a/modules/32_power/RLDC/datainput.gms +++ b/modules/32_power/RLDC/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/RLDC/declarations.gms b/modules/32_power/RLDC/declarations.gms index 9fc9ceb1c..5b3699993 100644 --- a/modules/32_power/RLDC/declarations.gms +++ b/modules/32_power/RLDC/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/RLDC/equations.gms b/modules/32_power/RLDC/equations.gms index b7cbbeff6..428c83760 100644 --- a/modules/32_power/RLDC/equations.gms +++ b/modules/32_power/RLDC/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/RLDC/not_used.txt b/modules/32_power/RLDC/not_used.txt index a80a3d9a4..e0e11ba42 100644 --- a/modules/32_power/RLDC/not_used.txt +++ b/modules/32_power/RLDC/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/RLDC/postsolve.gms b/modules/32_power/RLDC/postsolve.gms index 1626e7015..5833c3662 100644 --- a/modules/32_power/RLDC/postsolve.gms +++ b/modules/32_power/RLDC/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/RLDC/preloop.gms b/modules/32_power/RLDC/preloop.gms index 89586acbc..a6610c45b 100644 --- a/modules/32_power/RLDC/preloop.gms +++ b/modules/32_power/RLDC/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/RLDC/presolve.gms b/modules/32_power/RLDC/presolve.gms index 0b14c5498..b4791358a 100644 --- a/modules/32_power/RLDC/presolve.gms +++ b/modules/32_power/RLDC/presolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/RLDC/realization.gms b/modules/32_power/RLDC/realization.gms index b1cb86408..788739c72 100644 --- a/modules/32_power/RLDC/realization.gms +++ b/modules/32_power/RLDC/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/RLDC/sets.gms b/modules/32_power/RLDC/sets.gms index 2c12ff1b2..ed3a69439 100644 --- a/modules/32_power/RLDC/sets.gms +++ b/modules/32_power/RLDC/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/32_power/module.gms b/modules/32_power/module.gms index 0d6d3fb54..93972e180 100644 --- a/modules/32_power/module.gms +++ b/modules/32_power/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/33_CDR/module.gms b/modules/33_CDR/module.gms index e2301dac3..ebfac14c5 100644 --- a/modules/33_CDR/module.gms +++ b/modules/33_CDR/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/33_CDR/portfolio/bounds.gms b/modules/33_CDR/portfolio/bounds.gms index 5da8d850e..2fd7bc04f 100644 --- a/modules/33_CDR/portfolio/bounds.gms +++ b/modules/33_CDR/portfolio/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/33_CDR/portfolio/datainput.gms b/modules/33_CDR/portfolio/datainput.gms index ef7ac9380..f386d913c 100644 --- a/modules/33_CDR/portfolio/datainput.gms +++ b/modules/33_CDR/portfolio/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/33_CDR/portfolio/declarations.gms b/modules/33_CDR/portfolio/declarations.gms index 65cc0eaba..9a1a43c63 100644 --- a/modules/33_CDR/portfolio/declarations.gms +++ b/modules/33_CDR/portfolio/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/33_CDR/portfolio/equations.gms b/modules/33_CDR/portfolio/equations.gms index b674cd2da..e171ac591 100644 --- a/modules/33_CDR/portfolio/equations.gms +++ b/modules/33_CDR/portfolio/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/33_CDR/portfolio/realization.gms b/modules/33_CDR/portfolio/realization.gms index f1e171644..084ac57eb 100644 --- a/modules/33_CDR/portfolio/realization.gms +++ b/modules/33_CDR/portfolio/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/33_CDR/portfolio/sets.gms b/modules/33_CDR/portfolio/sets.gms index 3c9adbbf6..cf70edd0e 100644 --- a/modules/33_CDR/portfolio/sets.gms +++ b/modules/33_CDR/portfolio/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/35_transport/edge_esm/datainput.gms b/modules/35_transport/edge_esm/datainput.gms index e33ebd55c..3f3c3d54b 100644 --- a/modules/35_transport/edge_esm/datainput.gms +++ b/modules/35_transport/edge_esm/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/35_transport/edge_esm/declarations.gms b/modules/35_transport/edge_esm/declarations.gms index cd7f5c7c0..4c73d2976 100644 --- a/modules/35_transport/edge_esm/declarations.gms +++ b/modules/35_transport/edge_esm/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/35_transport/edge_esm/equations.gms b/modules/35_transport/edge_esm/equations.gms index 55889fe29..12609abac 100644 --- a/modules/35_transport/edge_esm/equations.gms +++ b/modules/35_transport/edge_esm/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/35_transport/edge_esm/not_used.txt b/modules/35_transport/edge_esm/not_used.txt index ad14a32d8..85ff9312e 100644 --- a/modules/35_transport/edge_esm/not_used.txt +++ b/modules/35_transport/edge_esm/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/35_transport/edge_esm/output.gms b/modules/35_transport/edge_esm/output.gms index 6ff8ee72e..7e1724890 100644 --- a/modules/35_transport/edge_esm/output.gms +++ b/modules/35_transport/edge_esm/output.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/35_transport/edge_esm/postsolve.gms b/modules/35_transport/edge_esm/postsolve.gms index db50519ff..176f7fc64 100644 --- a/modules/35_transport/edge_esm/postsolve.gms +++ b/modules/35_transport/edge_esm/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/35_transport/edge_esm/presolve.gms b/modules/35_transport/edge_esm/presolve.gms index e5b7a1ae0..d688543eb 100644 --- a/modules/35_transport/edge_esm/presolve.gms +++ b/modules/35_transport/edge_esm/presolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/35_transport/edge_esm/realization.gms b/modules/35_transport/edge_esm/realization.gms index 3d3331335..3af8e8c81 100644 --- a/modules/35_transport/edge_esm/realization.gms +++ b/modules/35_transport/edge_esm/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/35_transport/edge_esm/sets.gms b/modules/35_transport/edge_esm/sets.gms index 8438861ce..6c388b14b 100644 --- a/modules/35_transport/edge_esm/sets.gms +++ b/modules/35_transport/edge_esm/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/35_transport/module.gms b/modules/35_transport/module.gms index 9d902bc88..af8f91102 100644 --- a/modules/35_transport/module.gms +++ b/modules/35_transport/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/36_buildings/module.gms b/modules/36_buildings/module.gms index 731398851..4b790bac3 100644 --- a/modules/36_buildings/module.gms +++ b/modules/36_buildings/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/36_buildings/simple/bounds.gms b/modules/36_buildings/simple/bounds.gms index cb23bbc10..074b44595 100644 --- a/modules/36_buildings/simple/bounds.gms +++ b/modules/36_buildings/simple/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/36_buildings/simple/datainput.gms b/modules/36_buildings/simple/datainput.gms index 6ac984542..7608e568a 100644 --- a/modules/36_buildings/simple/datainput.gms +++ b/modules/36_buildings/simple/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/36_buildings/simple/declarations.gms b/modules/36_buildings/simple/declarations.gms index f1b34c9b7..ec0df72c8 100644 --- a/modules/36_buildings/simple/declarations.gms +++ b/modules/36_buildings/simple/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/36_buildings/simple/equations.gms b/modules/36_buildings/simple/equations.gms index 92853d441..bea5febef 100644 --- a/modules/36_buildings/simple/equations.gms +++ b/modules/36_buildings/simple/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/36_buildings/simple/not_used.txt b/modules/36_buildings/simple/not_used.txt index ad14a32d8..85ff9312e 100644 --- a/modules/36_buildings/simple/not_used.txt +++ b/modules/36_buildings/simple/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/36_buildings/simple/postsolve.gms b/modules/36_buildings/simple/postsolve.gms index d519e7f43..7d86c2393 100644 --- a/modules/36_buildings/simple/postsolve.gms +++ b/modules/36_buildings/simple/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/36_buildings/simple/realization.gms b/modules/36_buildings/simple/realization.gms index 50768e11b..8b4e99410 100644 --- a/modules/36_buildings/simple/realization.gms +++ b/modules/36_buildings/simple/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/36_buildings/simple/sets.gms b/modules/36_buildings/simple/sets.gms index 8c44a6714..78b6ea5db 100644 --- a/modules/36_buildings/simple/sets.gms +++ b/modules/36_buildings/simple/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/37_industry/fixed_shares/bounds.gms b/modules/37_industry/fixed_shares/bounds.gms index 79474f5fd..24341db95 100644 --- a/modules/37_industry/fixed_shares/bounds.gms +++ b/modules/37_industry/fixed_shares/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/37_industry/fixed_shares/datainput.gms b/modules/37_industry/fixed_shares/datainput.gms index 0c916cf2d..3cda8fe57 100644 --- a/modules/37_industry/fixed_shares/datainput.gms +++ b/modules/37_industry/fixed_shares/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/37_industry/fixed_shares/declarations.gms b/modules/37_industry/fixed_shares/declarations.gms index 213298113..ab2f7981e 100644 --- a/modules/37_industry/fixed_shares/declarations.gms +++ b/modules/37_industry/fixed_shares/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/37_industry/fixed_shares/equations.gms b/modules/37_industry/fixed_shares/equations.gms index 39ca17845..96f8ef350 100644 --- a/modules/37_industry/fixed_shares/equations.gms +++ b/modules/37_industry/fixed_shares/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/37_industry/fixed_shares/input/pm_abatparam_Ind.gms b/modules/37_industry/fixed_shares/input/pm_abatparam_Ind.gms index 5e20e62bb..df9d96b89 100644 --- a/modules/37_industry/fixed_shares/input/pm_abatparam_Ind.gms +++ b/modules/37_industry/fixed_shares/input/pm_abatparam_Ind.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/37_industry/fixed_shares/not_used.txt b/modules/37_industry/fixed_shares/not_used.txt index d638d8dc0..e97b7962b 100644 --- a/modules/37_industry/fixed_shares/not_used.txt +++ b/modules/37_industry/fixed_shares/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/37_industry/fixed_shares/output.gms b/modules/37_industry/fixed_shares/output.gms index 71c907c57..10ec2198d 100644 --- a/modules/37_industry/fixed_shares/output.gms +++ b/modules/37_industry/fixed_shares/output.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/37_industry/fixed_shares/postsolve.gms b/modules/37_industry/fixed_shares/postsolve.gms index 025b91368..bc0d0f16c 100644 --- a/modules/37_industry/fixed_shares/postsolve.gms +++ b/modules/37_industry/fixed_shares/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/37_industry/fixed_shares/preloop.gms b/modules/37_industry/fixed_shares/preloop.gms index 9a9baab52..46a3f5823 100644 --- a/modules/37_industry/fixed_shares/preloop.gms +++ b/modules/37_industry/fixed_shares/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/37_industry/fixed_shares/presolve.gms b/modules/37_industry/fixed_shares/presolve.gms index efc399662..1e638b3d8 100644 --- a/modules/37_industry/fixed_shares/presolve.gms +++ b/modules/37_industry/fixed_shares/presolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/37_industry/fixed_shares/realization.gms b/modules/37_industry/fixed_shares/realization.gms index 949f2700e..560810cbb 100644 --- a/modules/37_industry/fixed_shares/realization.gms +++ b/modules/37_industry/fixed_shares/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/37_industry/fixed_shares/sets.gms b/modules/37_industry/fixed_shares/sets.gms index 7488c4dd7..024c00074 100644 --- a/modules/37_industry/fixed_shares/sets.gms +++ b/modules/37_industry/fixed_shares/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/37_industry/module.gms b/modules/37_industry/module.gms index 3960b0433..bda9b940e 100644 --- a/modules/37_industry/module.gms +++ b/modules/37_industry/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/37_industry/subsectors/bounds.gms b/modules/37_industry/subsectors/bounds.gms index 029e0b8ff..6de29d801 100755 --- a/modules/37_industry/subsectors/bounds.gms +++ b/modules/37_industry/subsectors/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/37_industry/subsectors/datainput.gms b/modules/37_industry/subsectors/datainput.gms index 9e5e20692..10aa2ccdc 100644 --- a/modules/37_industry/subsectors/datainput.gms +++ b/modules/37_industry/subsectors/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/37_industry/subsectors/declarations.gms b/modules/37_industry/subsectors/declarations.gms index 1d41d89bc..54221db44 100644 --- a/modules/37_industry/subsectors/declarations.gms +++ b/modules/37_industry/subsectors/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/37_industry/subsectors/equations.gms b/modules/37_industry/subsectors/equations.gms index 567b2cff4..2b6b50813 100644 --- a/modules/37_industry/subsectors/equations.gms +++ b/modules/37_industry/subsectors/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/37_industry/subsectors/not_used.txt b/modules/37_industry/subsectors/not_used.txt index 0db6e05b1..2b2763d7f 100644 --- a/modules/37_industry/subsectors/not_used.txt +++ b/modules/37_industry/subsectors/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/37_industry/subsectors/postsolve.gms b/modules/37_industry/subsectors/postsolve.gms index e24d2ded7..2e92cadbe 100644 --- a/modules/37_industry/subsectors/postsolve.gms +++ b/modules/37_industry/subsectors/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/37_industry/subsectors/preloop.gms b/modules/37_industry/subsectors/preloop.gms index 2a5e22f7a..931ed36e8 100644 --- a/modules/37_industry/subsectors/preloop.gms +++ b/modules/37_industry/subsectors/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/37_industry/subsectors/realization.gms b/modules/37_industry/subsectors/realization.gms index bc70e2151..bd620d73e 100644 --- a/modules/37_industry/subsectors/realization.gms +++ b/modules/37_industry/subsectors/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/37_industry/subsectors/sets.gms b/modules/37_industry/subsectors/sets.gms index 75a946029..7b3543a52 100644 --- a/modules/37_industry/subsectors/sets.gms +++ b/modules/37_industry/subsectors/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/39_CCU/module.gms b/modules/39_CCU/module.gms index c4ef08546..eee6e0e44 100644 --- a/modules/39_CCU/module.gms +++ b/modules/39_CCU/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/39_CCU/off/bounds.gms b/modules/39_CCU/off/bounds.gms index 7017f86a5..4a211f95e 100644 --- a/modules/39_CCU/off/bounds.gms +++ b/modules/39_CCU/off/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/39_CCU/off/declarations.gms b/modules/39_CCU/off/declarations.gms index 39448b613..b606ec5c9 100644 --- a/modules/39_CCU/off/declarations.gms +++ b/modules/39_CCU/off/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/39_CCU/off/not_used.txt b/modules/39_CCU/off/not_used.txt index 14e1f0dc9..d5dc3e529 100644 --- a/modules/39_CCU/off/not_used.txt +++ b/modules/39_CCU/off/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/39_CCU/off/realization.gms b/modules/39_CCU/off/realization.gms index 5398c8d0b..bda672657 100644 --- a/modules/39_CCU/off/realization.gms +++ b/modules/39_CCU/off/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/39_CCU/off/sets.gms b/modules/39_CCU/off/sets.gms index 9b8c3d200..e889bce98 100644 --- a/modules/39_CCU/off/sets.gms +++ b/modules/39_CCU/off/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/39_CCU/on/bounds.gms b/modules/39_CCU/on/bounds.gms index 7ac690ac5..ac5eb5e14 100644 --- a/modules/39_CCU/on/bounds.gms +++ b/modules/39_CCU/on/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/39_CCU/on/datainput.gms b/modules/39_CCU/on/datainput.gms index 97c856882..3785b41d8 100644 --- a/modules/39_CCU/on/datainput.gms +++ b/modules/39_CCU/on/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/39_CCU/on/declarations.gms b/modules/39_CCU/on/declarations.gms index eb512f42a..46a6e8bf6 100644 --- a/modules/39_CCU/on/declarations.gms +++ b/modules/39_CCU/on/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/39_CCU/on/equations.gms b/modules/39_CCU/on/equations.gms index 9793f620c..595170183 100644 --- a/modules/39_CCU/on/equations.gms +++ b/modules/39_CCU/on/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/39_CCU/on/not_used.txt b/modules/39_CCU/on/not_used.txt index 96f710c35..536c29ad0 100644 --- a/modules/39_CCU/on/not_used.txt +++ b/modules/39_CCU/on/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/39_CCU/on/realization.gms b/modules/39_CCU/on/realization.gms index 2fc66fd27..cc8df19f1 100644 --- a/modules/39_CCU/on/realization.gms +++ b/modules/39_CCU/on/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/39_CCU/on/sets.gms b/modules/39_CCU/on/sets.gms index 0ec4e5916..42b2a6816 100644 --- a/modules/39_CCU/on/sets.gms +++ b/modules/39_CCU/on/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/CombLowCandCoalPO/datainput.gms b/modules/40_techpol/CombLowCandCoalPO/datainput.gms index 7c02dfe73..1ce3c18b7 100644 --- a/modules/40_techpol/CombLowCandCoalPO/datainput.gms +++ b/modules/40_techpol/CombLowCandCoalPO/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/CombLowCandCoalPO/declarations.gms b/modules/40_techpol/CombLowCandCoalPO/declarations.gms index 4bd16cd8a..660da93d4 100644 --- a/modules/40_techpol/CombLowCandCoalPO/declarations.gms +++ b/modules/40_techpol/CombLowCandCoalPO/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/CombLowCandCoalPO/equations.gms b/modules/40_techpol/CombLowCandCoalPO/equations.gms index 00aaf67df..0894f2c93 100644 --- a/modules/40_techpol/CombLowCandCoalPO/equations.gms +++ b/modules/40_techpol/CombLowCandCoalPO/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/CombLowCandCoalPO/not_used.txt b/modules/40_techpol/CombLowCandCoalPO/not_used.txt index 89dd6ba1d..1cc2ff045 100644 --- a/modules/40_techpol/CombLowCandCoalPO/not_used.txt +++ b/modules/40_techpol/CombLowCandCoalPO/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/CombLowCandCoalPO/realization.gms b/modules/40_techpol/CombLowCandCoalPO/realization.gms index 9ef9b0ebb..c351f3e4c 100644 --- a/modules/40_techpol/CombLowCandCoalPO/realization.gms +++ b/modules/40_techpol/CombLowCandCoalPO/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/NDC/bounds.gms b/modules/40_techpol/NDC/bounds.gms index 0d26f85bb..3a4a50594 100755 --- a/modules/40_techpol/NDC/bounds.gms +++ b/modules/40_techpol/NDC/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/NDC/datainput.gms b/modules/40_techpol/NDC/datainput.gms index 5bd398889..5a6bf2e66 100644 --- a/modules/40_techpol/NDC/datainput.gms +++ b/modules/40_techpol/NDC/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/NDC/declarations.gms b/modules/40_techpol/NDC/declarations.gms index 5e02d86f3..0ebc425e8 100644 --- a/modules/40_techpol/NDC/declarations.gms +++ b/modules/40_techpol/NDC/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/NDC/equations.gms b/modules/40_techpol/NDC/equations.gms index 5c0d75d0e..301fa6cf4 100644 --- a/modules/40_techpol/NDC/equations.gms +++ b/modules/40_techpol/NDC/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/NDC/not_used.txt b/modules/40_techpol/NDC/not_used.txt index 3008561d2..c2eb9b080 100644 --- a/modules/40_techpol/NDC/not_used.txt +++ b/modules/40_techpol/NDC/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/NDC/realization.gms b/modules/40_techpol/NDC/realization.gms index 9ead7e934..1d9143b31 100644 --- a/modules/40_techpol/NDC/realization.gms +++ b/modules/40_techpol/NDC/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/NDCplus/bounds.gms b/modules/40_techpol/NDCplus/bounds.gms index 225fe5df0..9c88c7063 100644 --- a/modules/40_techpol/NDCplus/bounds.gms +++ b/modules/40_techpol/NDCplus/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/NDCplus/datainput.gms b/modules/40_techpol/NDCplus/datainput.gms index f9dd970f1..a2bddd21d 100644 --- a/modules/40_techpol/NDCplus/datainput.gms +++ b/modules/40_techpol/NDCplus/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/NDCplus/declarations.gms b/modules/40_techpol/NDCplus/declarations.gms index ece6b13be..08bedaec8 100644 --- a/modules/40_techpol/NDCplus/declarations.gms +++ b/modules/40_techpol/NDCplus/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/NDCplus/equations.gms b/modules/40_techpol/NDCplus/equations.gms index eb0a3344a..46ade5806 100644 --- a/modules/40_techpol/NDCplus/equations.gms +++ b/modules/40_techpol/NDCplus/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/NDCplus/not_used.txt b/modules/40_techpol/NDCplus/not_used.txt index a71d906ab..2cec58eee 100644 --- a/modules/40_techpol/NDCplus/not_used.txt +++ b/modules/40_techpol/NDCplus/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/NDCplus/realization.gms b/modules/40_techpol/NDCplus/realization.gms index 226248bfc..991434069 100644 --- a/modules/40_techpol/NDCplus/realization.gms +++ b/modules/40_techpol/NDCplus/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/NPi2018/bounds.gms b/modules/40_techpol/NPi2018/bounds.gms index 958f01d16..2188a52f0 100644 --- a/modules/40_techpol/NPi2018/bounds.gms +++ b/modules/40_techpol/NPi2018/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/NPi2018/datainput.gms b/modules/40_techpol/NPi2018/datainput.gms index 92909471e..9243046f8 100644 --- a/modules/40_techpol/NPi2018/datainput.gms +++ b/modules/40_techpol/NPi2018/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/NPi2018/declarations.gms b/modules/40_techpol/NPi2018/declarations.gms index 8469c2286..d32a0baf8 100644 --- a/modules/40_techpol/NPi2018/declarations.gms +++ b/modules/40_techpol/NPi2018/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/NPi2018/equations.gms b/modules/40_techpol/NPi2018/equations.gms index 89fd29bd1..3c5110b89 100644 --- a/modules/40_techpol/NPi2018/equations.gms +++ b/modules/40_techpol/NPi2018/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/NPi2018/not_used.txt b/modules/40_techpol/NPi2018/not_used.txt index 52bb66ba8..a86ba9e9d 100644 --- a/modules/40_techpol/NPi2018/not_used.txt +++ b/modules/40_techpol/NPi2018/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/NPi2018/realization.gms b/modules/40_techpol/NPi2018/realization.gms index 4b21b9bc6..2cf5b9a8f 100644 --- a/modules/40_techpol/NPi2018/realization.gms +++ b/modules/40_techpol/NPi2018/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/coalPhaseout/bounds.gms b/modules/40_techpol/coalPhaseout/bounds.gms index b91d0593c..814354c36 100644 --- a/modules/40_techpol/coalPhaseout/bounds.gms +++ b/modules/40_techpol/coalPhaseout/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/coalPhaseout/declarations.gms b/modules/40_techpol/coalPhaseout/declarations.gms index 313828794..890a6f8dd 100644 --- a/modules/40_techpol/coalPhaseout/declarations.gms +++ b/modules/40_techpol/coalPhaseout/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/coalPhaseout/equations.gms b/modules/40_techpol/coalPhaseout/equations.gms index e489f9dbc..6ddc577a0 100644 --- a/modules/40_techpol/coalPhaseout/equations.gms +++ b/modules/40_techpol/coalPhaseout/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/coalPhaseout/not_used.txt b/modules/40_techpol/coalPhaseout/not_used.txt index da0b9180e..a6af5262b 100644 --- a/modules/40_techpol/coalPhaseout/not_used.txt +++ b/modules/40_techpol/coalPhaseout/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/coalPhaseout/realization.gms b/modules/40_techpol/coalPhaseout/realization.gms index dbda199d5..222565707 100644 --- a/modules/40_techpol/coalPhaseout/realization.gms +++ b/modules/40_techpol/coalPhaseout/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/coalPhaseoutRegional/bounds.gms b/modules/40_techpol/coalPhaseoutRegional/bounds.gms index 27eac4ddf..dc07f0bbe 100644 --- a/modules/40_techpol/coalPhaseoutRegional/bounds.gms +++ b/modules/40_techpol/coalPhaseoutRegional/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/coalPhaseoutRegional/datainput.gms b/modules/40_techpol/coalPhaseoutRegional/datainput.gms index 661ce0453..e0f0feb80 100644 --- a/modules/40_techpol/coalPhaseoutRegional/datainput.gms +++ b/modules/40_techpol/coalPhaseoutRegional/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/coalPhaseoutRegional/declarations.gms b/modules/40_techpol/coalPhaseoutRegional/declarations.gms index 9ed8c2dc1..5a0e1ab32 100644 --- a/modules/40_techpol/coalPhaseoutRegional/declarations.gms +++ b/modules/40_techpol/coalPhaseoutRegional/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/coalPhaseoutRegional/equations.gms b/modules/40_techpol/coalPhaseoutRegional/equations.gms index 87cb7c7b3..43f335724 100644 --- a/modules/40_techpol/coalPhaseoutRegional/equations.gms +++ b/modules/40_techpol/coalPhaseoutRegional/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/coalPhaseoutRegional/not_used.txt b/modules/40_techpol/coalPhaseoutRegional/not_used.txt index 25dba9449..f8adbbf62 100644 --- a/modules/40_techpol/coalPhaseoutRegional/not_used.txt +++ b/modules/40_techpol/coalPhaseoutRegional/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/coalPhaseoutRegional/realization.gms b/modules/40_techpol/coalPhaseoutRegional/realization.gms index 851ca9bd6..22865a30b 100644 --- a/modules/40_techpol/coalPhaseoutRegional/realization.gms +++ b/modules/40_techpol/coalPhaseoutRegional/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/lowCarbonPush/datainput.gms b/modules/40_techpol/lowCarbonPush/datainput.gms index e805c8bca..d8f5baf87 100644 --- a/modules/40_techpol/lowCarbonPush/datainput.gms +++ b/modules/40_techpol/lowCarbonPush/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/lowCarbonPush/declarations.gms b/modules/40_techpol/lowCarbonPush/declarations.gms index 0c68a1e8d..8c1d0c7a6 100644 --- a/modules/40_techpol/lowCarbonPush/declarations.gms +++ b/modules/40_techpol/lowCarbonPush/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/lowCarbonPush/equations.gms b/modules/40_techpol/lowCarbonPush/equations.gms index ee9a0362c..346049ea7 100644 --- a/modules/40_techpol/lowCarbonPush/equations.gms +++ b/modules/40_techpol/lowCarbonPush/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/lowCarbonPush/not_used.txt b/modules/40_techpol/lowCarbonPush/not_used.txt index 30e06d48f..78fb573d9 100644 --- a/modules/40_techpol/lowCarbonPush/not_used.txt +++ b/modules/40_techpol/lowCarbonPush/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/lowCarbonPush/realization.gms b/modules/40_techpol/lowCarbonPush/realization.gms index 56cfb90a3..cff97d8ab 100644 --- a/modules/40_techpol/lowCarbonPush/realization.gms +++ b/modules/40_techpol/lowCarbonPush/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/module.gms b/modules/40_techpol/module.gms index 2df2ed733..3e80fe329 100644 --- a/modules/40_techpol/module.gms +++ b/modules/40_techpol/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/none/not_used.txt b/modules/40_techpol/none/not_used.txt index 52e7d4bff..9704d3469 100644 --- a/modules/40_techpol/none/not_used.txt +++ b/modules/40_techpol/none/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/40_techpol/none/realization.gms b/modules/40_techpol/none/realization.gms index 6209409ac..711eadec1 100644 --- a/modules/40_techpol/none/realization.gms +++ b/modules/40_techpol/none/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/AbilityToPay/bounds.gms b/modules/41_emicapregi/AbilityToPay/bounds.gms index 45685e533..ce4a45a65 100644 --- a/modules/41_emicapregi/AbilityToPay/bounds.gms +++ b/modules/41_emicapregi/AbilityToPay/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/AbilityToPay/datainput.gms b/modules/41_emicapregi/AbilityToPay/datainput.gms index 9ee0647fa..c7d23dcc0 100644 --- a/modules/41_emicapregi/AbilityToPay/datainput.gms +++ b/modules/41_emicapregi/AbilityToPay/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/AbilityToPay/declarations.gms b/modules/41_emicapregi/AbilityToPay/declarations.gms index c0ab72d3f..875acaae0 100644 --- a/modules/41_emicapregi/AbilityToPay/declarations.gms +++ b/modules/41_emicapregi/AbilityToPay/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/AbilityToPay/not_used.txt b/modules/41_emicapregi/AbilityToPay/not_used.txt index 9cc600a40..29214cff8 100644 --- a/modules/41_emicapregi/AbilityToPay/not_used.txt +++ b/modules/41_emicapregi/AbilityToPay/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/AbilityToPay/realization.gms b/modules/41_emicapregi/AbilityToPay/realization.gms index 172d0e06b..d68c99155 100644 --- a/modules/41_emicapregi/AbilityToPay/realization.gms +++ b/modules/41_emicapregi/AbilityToPay/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/CandC/bounds.gms b/modules/41_emicapregi/CandC/bounds.gms index 783581080..eb557d6d5 100644 --- a/modules/41_emicapregi/CandC/bounds.gms +++ b/modules/41_emicapregi/CandC/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/CandC/datainput.gms b/modules/41_emicapregi/CandC/datainput.gms index d51da476b..4e40bcb36 100644 --- a/modules/41_emicapregi/CandC/datainput.gms +++ b/modules/41_emicapregi/CandC/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/CandC/declarations.gms b/modules/41_emicapregi/CandC/declarations.gms index a242c5e19..6786230ce 100644 --- a/modules/41_emicapregi/CandC/declarations.gms +++ b/modules/41_emicapregi/CandC/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/CandC/equations.gms b/modules/41_emicapregi/CandC/equations.gms index e63900459..0049ae263 100644 --- a/modules/41_emicapregi/CandC/equations.gms +++ b/modules/41_emicapregi/CandC/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/CandC/not_used.txt b/modules/41_emicapregi/CandC/not_used.txt index 0e472a14c..3f7bdbb73 100644 --- a/modules/41_emicapregi/CandC/not_used.txt +++ b/modules/41_emicapregi/CandC/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/CandC/realization.gms b/modules/41_emicapregi/CandC/realization.gms index eff6ab71c..c94c2c3d7 100644 --- a/modules/41_emicapregi/CandC/realization.gms +++ b/modules/41_emicapregi/CandC/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/GDPint/datainput.gms b/modules/41_emicapregi/GDPint/datainput.gms index ed76b9576..724305339 100644 --- a/modules/41_emicapregi/GDPint/datainput.gms +++ b/modules/41_emicapregi/GDPint/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/GDPint/declarations.gms b/modules/41_emicapregi/GDPint/declarations.gms index 52566cf75..d5adb5f8e 100644 --- a/modules/41_emicapregi/GDPint/declarations.gms +++ b/modules/41_emicapregi/GDPint/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/GDPint/equations.gms b/modules/41_emicapregi/GDPint/equations.gms index 8a57fcc15..5e11e2918 100644 --- a/modules/41_emicapregi/GDPint/equations.gms +++ b/modules/41_emicapregi/GDPint/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/GDPint/not_used.txt b/modules/41_emicapregi/GDPint/not_used.txt index 9a2ae3ba0..49dd88ced 100644 --- a/modules/41_emicapregi/GDPint/not_used.txt +++ b/modules/41_emicapregi/GDPint/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/GDPint/realization.gms b/modules/41_emicapregi/GDPint/realization.gms index ce22d5477..c20015b88 100644 --- a/modules/41_emicapregi/GDPint/realization.gms +++ b/modules/41_emicapregi/GDPint/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/POPint/bounds.gms b/modules/41_emicapregi/POPint/bounds.gms index 929cb927f..53fbc05c8 100644 --- a/modules/41_emicapregi/POPint/bounds.gms +++ b/modules/41_emicapregi/POPint/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/POPint/datainput.gms b/modules/41_emicapregi/POPint/datainput.gms index 2ef8c9213..e3a3e2d7e 100644 --- a/modules/41_emicapregi/POPint/datainput.gms +++ b/modules/41_emicapregi/POPint/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/POPint/declarations.gms b/modules/41_emicapregi/POPint/declarations.gms index d34bb2fd3..ab26c5a3b 100644 --- a/modules/41_emicapregi/POPint/declarations.gms +++ b/modules/41_emicapregi/POPint/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/POPint/equations.gms b/modules/41_emicapregi/POPint/equations.gms index 6c2dd90f0..b82d47d35 100644 --- a/modules/41_emicapregi/POPint/equations.gms +++ b/modules/41_emicapregi/POPint/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/POPint/not_used.txt b/modules/41_emicapregi/POPint/not_used.txt index 65d610310..1f082f491 100644 --- a/modules/41_emicapregi/POPint/not_used.txt +++ b/modules/41_emicapregi/POPint/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/POPint/preloop.gms b/modules/41_emicapregi/POPint/preloop.gms index 78ee46f83..f27739adb 100644 --- a/modules/41_emicapregi/POPint/preloop.gms +++ b/modules/41_emicapregi/POPint/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/POPint/realization.gms b/modules/41_emicapregi/POPint/realization.gms index 1feeed269..50ddf7cc8 100644 --- a/modules/41_emicapregi/POPint/realization.gms +++ b/modules/41_emicapregi/POPint/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/PerCapitaConvergence/bounds.gms b/modules/41_emicapregi/PerCapitaConvergence/bounds.gms index 1b32718a8..0a30369c9 100644 --- a/modules/41_emicapregi/PerCapitaConvergence/bounds.gms +++ b/modules/41_emicapregi/PerCapitaConvergence/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/PerCapitaConvergence/datainput.gms b/modules/41_emicapregi/PerCapitaConvergence/datainput.gms index 7d5867c2a..0e1dcf030 100644 --- a/modules/41_emicapregi/PerCapitaConvergence/datainput.gms +++ b/modules/41_emicapregi/PerCapitaConvergence/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/PerCapitaConvergence/declarations.gms b/modules/41_emicapregi/PerCapitaConvergence/declarations.gms index 5499ff6f4..0c5f181a0 100644 --- a/modules/41_emicapregi/PerCapitaConvergence/declarations.gms +++ b/modules/41_emicapregi/PerCapitaConvergence/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/PerCapitaConvergence/not_used.txt b/modules/41_emicapregi/PerCapitaConvergence/not_used.txt index 0c8bab536..3714220fe 100644 --- a/modules/41_emicapregi/PerCapitaConvergence/not_used.txt +++ b/modules/41_emicapregi/PerCapitaConvergence/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/PerCapitaConvergence/realization.gms b/modules/41_emicapregi/PerCapitaConvergence/realization.gms index 75584c72f..53611be84 100644 --- a/modules/41_emicapregi/PerCapitaConvergence/realization.gms +++ b/modules/41_emicapregi/PerCapitaConvergence/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/exog/bounds.gms b/modules/41_emicapregi/exog/bounds.gms index 4ea3d869e..284d78186 100644 --- a/modules/41_emicapregi/exog/bounds.gms +++ b/modules/41_emicapregi/exog/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/exog/datainput.gms b/modules/41_emicapregi/exog/datainput.gms index 929d7cc65..bbff17d07 100644 --- a/modules/41_emicapregi/exog/datainput.gms +++ b/modules/41_emicapregi/exog/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/exog/declarations.gms b/modules/41_emicapregi/exog/declarations.gms index 93db099a2..a9fea66d0 100644 --- a/modules/41_emicapregi/exog/declarations.gms +++ b/modules/41_emicapregi/exog/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/exog/not_used.txt b/modules/41_emicapregi/exog/not_used.txt index 4c636a839..8f0352dfa 100644 --- a/modules/41_emicapregi/exog/not_used.txt +++ b/modules/41_emicapregi/exog/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/exog/realization.gms b/modules/41_emicapregi/exog/realization.gms index 2c8ea9182..2528b32ba 100644 --- a/modules/41_emicapregi/exog/realization.gms +++ b/modules/41_emicapregi/exog/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/module.gms b/modules/41_emicapregi/module.gms index 66fb8dbea..e8e89b540 100644 --- a/modules/41_emicapregi/module.gms +++ b/modules/41_emicapregi/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/none/bounds.gms b/modules/41_emicapregi/none/bounds.gms index 3af6c4700..1f1af63e3 100644 --- a/modules/41_emicapregi/none/bounds.gms +++ b/modules/41_emicapregi/none/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/none/datainput.gms b/modules/41_emicapregi/none/datainput.gms index 66c2b52fc..06ddc51c8 100644 --- a/modules/41_emicapregi/none/datainput.gms +++ b/modules/41_emicapregi/none/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/none/not_used.txt b/modules/41_emicapregi/none/not_used.txt index 3a15fe1c7..449545683 100644 --- a/modules/41_emicapregi/none/not_used.txt +++ b/modules/41_emicapregi/none/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/41_emicapregi/none/realization.gms b/modules/41_emicapregi/none/realization.gms index b6c5b2d06..2581d68e4 100644 --- a/modules/41_emicapregi/none/realization.gms +++ b/modules/41_emicapregi/none/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/NDC/datainput.gms b/modules/45_carbonprice/NDC/datainput.gms index 9d64f20d7..4e1cb9347 100644 --- a/modules/45_carbonprice/NDC/datainput.gms +++ b/modules/45_carbonprice/NDC/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/NDC/declarations.gms b/modules/45_carbonprice/NDC/declarations.gms index 1e7231d23..bace597ad 100644 --- a/modules/45_carbonprice/NDC/declarations.gms +++ b/modules/45_carbonprice/NDC/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/NDC/not_used.txt b/modules/45_carbonprice/NDC/not_used.txt index a6074d37e..74468de67 100644 --- a/modules/45_carbonprice/NDC/not_used.txt +++ b/modules/45_carbonprice/NDC/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/NDC/postsolve.gms b/modules/45_carbonprice/NDC/postsolve.gms index d38f723e1..632746316 100644 --- a/modules/45_carbonprice/NDC/postsolve.gms +++ b/modules/45_carbonprice/NDC/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/NDC/preloop.gms b/modules/45_carbonprice/NDC/preloop.gms index ad8d4bbff..804f26654 100644 --- a/modules/45_carbonprice/NDC/preloop.gms +++ b/modules/45_carbonprice/NDC/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/NDC/realization.gms b/modules/45_carbonprice/NDC/realization.gms index 82a054f77..4997752d1 100644 --- a/modules/45_carbonprice/NDC/realization.gms +++ b/modules/45_carbonprice/NDC/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/NPi/datainput.gms b/modules/45_carbonprice/NPi/datainput.gms index fababf764..e522bd2c4 100644 --- a/modules/45_carbonprice/NPi/datainput.gms +++ b/modules/45_carbonprice/NPi/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2022 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/NPi/not_used.txt b/modules/45_carbonprice/NPi/not_used.txt index f350dfb4c..e18be910a 100644 --- a/modules/45_carbonprice/NPi/not_used.txt +++ b/modules/45_carbonprice/NPi/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2022 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/NPi/realization.gms b/modules/45_carbonprice/NPi/realization.gms index 8bb631735..399090376 100644 --- a/modules/45_carbonprice/NPi/realization.gms +++ b/modules/45_carbonprice/NPi/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2022 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/diffCurvPhaseIn2Lin/datainput.gms b/modules/45_carbonprice/diffCurvPhaseIn2Lin/datainput.gms index f7f2f48bd..6cac0e6c0 100644 --- a/modules/45_carbonprice/diffCurvPhaseIn2Lin/datainput.gms +++ b/modules/45_carbonprice/diffCurvPhaseIn2Lin/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/diffCurvPhaseIn2Lin/declarations.gms b/modules/45_carbonprice/diffCurvPhaseIn2Lin/declarations.gms index c95313944..52d8ba31e 100644 --- a/modules/45_carbonprice/diffCurvPhaseIn2Lin/declarations.gms +++ b/modules/45_carbonprice/diffCurvPhaseIn2Lin/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/diffCurvPhaseIn2Lin/not_used.txt b/modules/45_carbonprice/diffCurvPhaseIn2Lin/not_used.txt index 6d7ccb555..b3577ed99 100644 --- a/modules/45_carbonprice/diffCurvPhaseIn2Lin/not_used.txt +++ b/modules/45_carbonprice/diffCurvPhaseIn2Lin/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/diffCurvPhaseIn2Lin/postsolve.gms b/modules/45_carbonprice/diffCurvPhaseIn2Lin/postsolve.gms index a4cdfb194..e8227f3bb 100644 --- a/modules/45_carbonprice/diffCurvPhaseIn2Lin/postsolve.gms +++ b/modules/45_carbonprice/diffCurvPhaseIn2Lin/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/diffCurvPhaseIn2Lin/realization.gms b/modules/45_carbonprice/diffCurvPhaseIn2Lin/realization.gms index a800943b2..c646f22f8 100644 --- a/modules/45_carbonprice/diffCurvPhaseIn2Lin/realization.gms +++ b/modules/45_carbonprice/diffCurvPhaseIn2Lin/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/exogenous/datainput.gms b/modules/45_carbonprice/exogenous/datainput.gms index 26e4d31a0..d37292070 100644 --- a/modules/45_carbonprice/exogenous/datainput.gms +++ b/modules/45_carbonprice/exogenous/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/exogenous/declarations.gms b/modules/45_carbonprice/exogenous/declarations.gms index a6667c04b..f5a90e6f4 100644 --- a/modules/45_carbonprice/exogenous/declarations.gms +++ b/modules/45_carbonprice/exogenous/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/exogenous/not_used.txt b/modules/45_carbonprice/exogenous/not_used.txt index e8a8105be..fa0cf8b27 100644 --- a/modules/45_carbonprice/exogenous/not_used.txt +++ b/modules/45_carbonprice/exogenous/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/exogenous/realization.gms b/modules/45_carbonprice/exogenous/realization.gms index 42f4f533e..7065d37e5 100644 --- a/modules/45_carbonprice/exogenous/realization.gms +++ b/modules/45_carbonprice/exogenous/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/expoLinear/datainput.gms b/modules/45_carbonprice/expoLinear/datainput.gms index 9e3224e40..ccf892825 100644 --- a/modules/45_carbonprice/expoLinear/datainput.gms +++ b/modules/45_carbonprice/expoLinear/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/expoLinear/declarations.gms b/modules/45_carbonprice/expoLinear/declarations.gms index 57957ef32..54af9589e 100644 --- a/modules/45_carbonprice/expoLinear/declarations.gms +++ b/modules/45_carbonprice/expoLinear/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/expoLinear/not_used.txt b/modules/45_carbonprice/expoLinear/not_used.txt index d79790db7..9b37467b4 100644 --- a/modules/45_carbonprice/expoLinear/not_used.txt +++ b/modules/45_carbonprice/expoLinear/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/expoLinear/realization.gms b/modules/45_carbonprice/expoLinear/realization.gms index c8af602cd..4e845a5b2 100644 --- a/modules/45_carbonprice/expoLinear/realization.gms +++ b/modules/45_carbonprice/expoLinear/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/exponential/datainput.gms b/modules/45_carbonprice/exponential/datainput.gms index fda2e1ac1..952c27e5c 100644 --- a/modules/45_carbonprice/exponential/datainput.gms +++ b/modules/45_carbonprice/exponential/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/exponential/not_used.txt b/modules/45_carbonprice/exponential/not_used.txt index ba75bf1dd..7f82133b9 100644 --- a/modules/45_carbonprice/exponential/not_used.txt +++ b/modules/45_carbonprice/exponential/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/exponential/realization.gms b/modules/45_carbonprice/exponential/realization.gms index 5faa5f15e..7f953ad96 100644 --- a/modules/45_carbonprice/exponential/realization.gms +++ b/modules/45_carbonprice/exponential/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/linear/datainput.gms b/modules/45_carbonprice/linear/datainput.gms index e21bc717b..56b2da3aa 100644 --- a/modules/45_carbonprice/linear/datainput.gms +++ b/modules/45_carbonprice/linear/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/linear/not_used.txt b/modules/45_carbonprice/linear/not_used.txt index 92948f846..57df902e4 100644 --- a/modules/45_carbonprice/linear/not_used.txt +++ b/modules/45_carbonprice/linear/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/linear/realization.gms b/modules/45_carbonprice/linear/realization.gms index ea2a7af13..6f066c23b 100644 --- a/modules/45_carbonprice/linear/realization.gms +++ b/modules/45_carbonprice/linear/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/module.gms b/modules/45_carbonprice/module.gms index 7642cceba..295a1be8f 100644 --- a/modules/45_carbonprice/module.gms +++ b/modules/45_carbonprice/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/none/datainput.gms b/modules/45_carbonprice/none/datainput.gms index 7e41e15f7..1aafea55a 100644 --- a/modules/45_carbonprice/none/datainput.gms +++ b/modules/45_carbonprice/none/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/none/not_used.txt b/modules/45_carbonprice/none/not_used.txt index b97b7f72b..d0a2e135a 100644 --- a/modules/45_carbonprice/none/not_used.txt +++ b/modules/45_carbonprice/none/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/none/realization.gms b/modules/45_carbonprice/none/realization.gms index 465bc8261..1f72cc0da 100644 --- a/modules/45_carbonprice/none/realization.gms +++ b/modules/45_carbonprice/none/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/temperatureNotToExceed/datainput.gms b/modules/45_carbonprice/temperatureNotToExceed/datainput.gms index 0e9353324..b1e316154 100644 --- a/modules/45_carbonprice/temperatureNotToExceed/datainput.gms +++ b/modules/45_carbonprice/temperatureNotToExceed/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/temperatureNotToExceed/declarations.gms b/modules/45_carbonprice/temperatureNotToExceed/declarations.gms index 03c94f85f..fe1bba549 100644 --- a/modules/45_carbonprice/temperatureNotToExceed/declarations.gms +++ b/modules/45_carbonprice/temperatureNotToExceed/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/temperatureNotToExceed/not_used.txt b/modules/45_carbonprice/temperatureNotToExceed/not_used.txt index eecab9a8d..7a1f18be1 100644 --- a/modules/45_carbonprice/temperatureNotToExceed/not_used.txt +++ b/modules/45_carbonprice/temperatureNotToExceed/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/temperatureNotToExceed/postsolve.gms b/modules/45_carbonprice/temperatureNotToExceed/postsolve.gms index 853b0f6af..b11033f17 100644 --- a/modules/45_carbonprice/temperatureNotToExceed/postsolve.gms +++ b/modules/45_carbonprice/temperatureNotToExceed/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/45_carbonprice/temperatureNotToExceed/realization.gms b/modules/45_carbonprice/temperatureNotToExceed/realization.gms index 8c9bcdd15..30cd30eff 100644 --- a/modules/45_carbonprice/temperatureNotToExceed/realization.gms +++ b/modules/45_carbonprice/temperatureNotToExceed/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/46_carbonpriceRegi/NDC/datainput.gms b/modules/46_carbonpriceRegi/NDC/datainput.gms index bbfa85e84..23c82526b 100644 --- a/modules/46_carbonpriceRegi/NDC/datainput.gms +++ b/modules/46_carbonpriceRegi/NDC/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/46_carbonpriceRegi/NDC/declarations.gms b/modules/46_carbonpriceRegi/NDC/declarations.gms index 5308f63d7..a7fdc378a 100644 --- a/modules/46_carbonpriceRegi/NDC/declarations.gms +++ b/modules/46_carbonpriceRegi/NDC/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/46_carbonpriceRegi/NDC/not_used.txt b/modules/46_carbonpriceRegi/NDC/not_used.txt index ad14a32d8..85ff9312e 100644 --- a/modules/46_carbonpriceRegi/NDC/not_used.txt +++ b/modules/46_carbonpriceRegi/NDC/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/46_carbonpriceRegi/NDC/postsolve.gms b/modules/46_carbonpriceRegi/NDC/postsolve.gms index 572c1bc79..aed194b89 100644 --- a/modules/46_carbonpriceRegi/NDC/postsolve.gms +++ b/modules/46_carbonpriceRegi/NDC/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/46_carbonpriceRegi/NDC/preloop.gms b/modules/46_carbonpriceRegi/NDC/preloop.gms index 288c5de87..65301bab1 100644 --- a/modules/46_carbonpriceRegi/NDC/preloop.gms +++ b/modules/46_carbonpriceRegi/NDC/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/46_carbonpriceRegi/NDC/realization.gms b/modules/46_carbonpriceRegi/NDC/realization.gms index 5a28b3b8c..8f9cf58ff 100644 --- a/modules/46_carbonpriceRegi/NDC/realization.gms +++ b/modules/46_carbonpriceRegi/NDC/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/46_carbonpriceRegi/module.gms b/modules/46_carbonpriceRegi/module.gms index d5a007fc2..17271eaa3 100644 --- a/modules/46_carbonpriceRegi/module.gms +++ b/modules/46_carbonpriceRegi/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/46_carbonpriceRegi/netZero/datainput.gms b/modules/46_carbonpriceRegi/netZero/datainput.gms index 09d11d919..3118a5e2a 100644 --- a/modules/46_carbonpriceRegi/netZero/datainput.gms +++ b/modules/46_carbonpriceRegi/netZero/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/46_carbonpriceRegi/netZero/declarations.gms b/modules/46_carbonpriceRegi/netZero/declarations.gms index 3efbe8698..1b4680a0e 100644 --- a/modules/46_carbonpriceRegi/netZero/declarations.gms +++ b/modules/46_carbonpriceRegi/netZero/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/46_carbonpriceRegi/netZero/not_used.txt b/modules/46_carbonpriceRegi/netZero/not_used.txt index 2a58c57f5..2619d7da5 100644 --- a/modules/46_carbonpriceRegi/netZero/not_used.txt +++ b/modules/46_carbonpriceRegi/netZero/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/46_carbonpriceRegi/netZero/postsolve.gms b/modules/46_carbonpriceRegi/netZero/postsolve.gms index d02e4d6a5..800301daa 100644 --- a/modules/46_carbonpriceRegi/netZero/postsolve.gms +++ b/modules/46_carbonpriceRegi/netZero/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/46_carbonpriceRegi/netZero/realization.gms b/modules/46_carbonpriceRegi/netZero/realization.gms index 37d15299a..152b1ef76 100644 --- a/modules/46_carbonpriceRegi/netZero/realization.gms +++ b/modules/46_carbonpriceRegi/netZero/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/46_carbonpriceRegi/netZero/sets.gms b/modules/46_carbonpriceRegi/netZero/sets.gms index 02eef68e1..3ac39df09 100644 --- a/modules/46_carbonpriceRegi/netZero/sets.gms +++ b/modules/46_carbonpriceRegi/netZero/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/46_carbonpriceRegi/none/datainput.gms b/modules/46_carbonpriceRegi/none/datainput.gms index c78d73bf3..25e6573b2 100644 --- a/modules/46_carbonpriceRegi/none/datainput.gms +++ b/modules/46_carbonpriceRegi/none/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/46_carbonpriceRegi/none/not_used.txt b/modules/46_carbonpriceRegi/none/not_used.txt index ac2ca0a97..75e18a3a9 100644 --- a/modules/46_carbonpriceRegi/none/not_used.txt +++ b/modules/46_carbonpriceRegi/none/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/46_carbonpriceRegi/none/realization.gms b/modules/46_carbonpriceRegi/none/realization.gms index fbeb4542d..187792663 100644 --- a/modules/46_carbonpriceRegi/none/realization.gms +++ b/modules/46_carbonpriceRegi/none/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/47_regipol/module.gms b/modules/47_regipol/module.gms index e815af457..781e7685b 100644 --- a/modules/47_regipol/module.gms +++ b/modules/47_regipol/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/47_regipol/none/bounds.gms b/modules/47_regipol/none/bounds.gms index 1ac13884a..99fef8e71 100644 --- a/modules/47_regipol/none/bounds.gms +++ b/modules/47_regipol/none/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/47_regipol/none/datainput.gms b/modules/47_regipol/none/datainput.gms index 76bb47b5e..4691e7e60 100644 --- a/modules/47_regipol/none/datainput.gms +++ b/modules/47_regipol/none/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/47_regipol/none/declarations.gms b/modules/47_regipol/none/declarations.gms index a6ff35312..92a6c4732 100644 --- a/modules/47_regipol/none/declarations.gms +++ b/modules/47_regipol/none/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/47_regipol/none/not_used.txt b/modules/47_regipol/none/not_used.txt index dc411e381..05ca511cf 100644 --- a/modules/47_regipol/none/not_used.txt +++ b/modules/47_regipol/none/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/47_regipol/none/realization.gms b/modules/47_regipol/none/realization.gms index 45b8a445a..2979f6b44 100644 --- a/modules/47_regipol/none/realization.gms +++ b/modules/47_regipol/none/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/47_regipol/regiCarbonPrice/bounds.gms b/modules/47_regipol/regiCarbonPrice/bounds.gms index 476ced096..7b9ccb816 100644 --- a/modules/47_regipol/regiCarbonPrice/bounds.gms +++ b/modules/47_regipol/regiCarbonPrice/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/47_regipol/regiCarbonPrice/datainput.gms b/modules/47_regipol/regiCarbonPrice/datainput.gms index acafda76e..e7fb29988 100644 --- a/modules/47_regipol/regiCarbonPrice/datainput.gms +++ b/modules/47_regipol/regiCarbonPrice/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/47_regipol/regiCarbonPrice/declarations.gms b/modules/47_regipol/regiCarbonPrice/declarations.gms index 61d36f93a..c8d564ba5 100644 --- a/modules/47_regipol/regiCarbonPrice/declarations.gms +++ b/modules/47_regipol/regiCarbonPrice/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/47_regipol/regiCarbonPrice/equations.gms b/modules/47_regipol/regiCarbonPrice/equations.gms index 385b6b9e4..242f27d10 100644 --- a/modules/47_regipol/regiCarbonPrice/equations.gms +++ b/modules/47_regipol/regiCarbonPrice/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/47_regipol/regiCarbonPrice/input/exogenousFEprices.cs3r b/modules/47_regipol/regiCarbonPrice/input/exogenousFEprices.cs3r index 739be8023..99e2be366 100644 --- a/modules/47_regipol/regiCarbonPrice/input/exogenousFEprices.cs3r +++ b/modules/47_regipol/regiCarbonPrice/input/exogenousFEprices.cs3r @@ -1,4 +1,4 @@ -* | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +* | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) * | authors, and contributors see CITATION.cff file. This file is part * | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of * | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/47_regipol/regiCarbonPrice/input/exogenousPEprices.cs3r b/modules/47_regipol/regiCarbonPrice/input/exogenousPEprices.cs3r index 217c0edfa..1eaeb0b0b 100644 --- a/modules/47_regipol/regiCarbonPrice/input/exogenousPEprices.cs3r +++ b/modules/47_regipol/regiCarbonPrice/input/exogenousPEprices.cs3r @@ -1,4 +1,4 @@ -* | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +* | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) * | authors, and contributors see CITATION.cff file. This file is part * | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of * | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/47_regipol/regiCarbonPrice/postsolve.gms b/modules/47_regipol/regiCarbonPrice/postsolve.gms index f97bcdd17..515c7e714 100644 --- a/modules/47_regipol/regiCarbonPrice/postsolve.gms +++ b/modules/47_regipol/regiCarbonPrice/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/47_regipol/regiCarbonPrice/preloop.gms b/modules/47_regipol/regiCarbonPrice/preloop.gms index 7ef388bbd..3f5989214 100644 --- a/modules/47_regipol/regiCarbonPrice/preloop.gms +++ b/modules/47_regipol/regiCarbonPrice/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/47_regipol/regiCarbonPrice/presolve.gms b/modules/47_regipol/regiCarbonPrice/presolve.gms index 444dc86fc..645404d86 100644 --- a/modules/47_regipol/regiCarbonPrice/presolve.gms +++ b/modules/47_regipol/regiCarbonPrice/presolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/47_regipol/regiCarbonPrice/realization.gms b/modules/47_regipol/regiCarbonPrice/realization.gms index 32cc750a7..9b7a065ef 100644 --- a/modules/47_regipol/regiCarbonPrice/realization.gms +++ b/modules/47_regipol/regiCarbonPrice/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/47_regipol/regiCarbonPrice/sets.gms b/modules/47_regipol/regiCarbonPrice/sets.gms index bdf2ba983..4bc6f1867 100644 --- a/modules/47_regipol/regiCarbonPrice/sets.gms +++ b/modules/47_regipol/regiCarbonPrice/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/BurkeLike/bounds.gms b/modules/50_damages/BurkeLike/bounds.gms index cd6e57240..542d2bfd4 100644 --- a/modules/50_damages/BurkeLike/bounds.gms +++ b/modules/50_damages/BurkeLike/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/BurkeLike/datainput.gms b/modules/50_damages/BurkeLike/datainput.gms index d063c0120..cdb5ef660 100644 --- a/modules/50_damages/BurkeLike/datainput.gms +++ b/modules/50_damages/BurkeLike/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/BurkeLike/declarations.gms b/modules/50_damages/BurkeLike/declarations.gms index 752291785..2bfd91c3d 100644 --- a/modules/50_damages/BurkeLike/declarations.gms +++ b/modules/50_damages/BurkeLike/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/BurkeLike/not_used.txt b/modules/50_damages/BurkeLike/not_used.txt index 21ec74012..40196520b 100644 --- a/modules/50_damages/BurkeLike/not_used.txt +++ b/modules/50_damages/BurkeLike/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/BurkeLike/postsolve.gms b/modules/50_damages/BurkeLike/postsolve.gms index e444c1447..9adf75074 100644 --- a/modules/50_damages/BurkeLike/postsolve.gms +++ b/modules/50_damages/BurkeLike/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/BurkeLike/realization.gms b/modules/50_damages/BurkeLike/realization.gms index 7f6d4aeb7..0839bceb8 100644 --- a/modules/50_damages/BurkeLike/realization.gms +++ b/modules/50_damages/BurkeLike/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/DiceLike/bounds.gms b/modules/50_damages/DiceLike/bounds.gms index d333593e0..e50a6c9b3 100644 --- a/modules/50_damages/DiceLike/bounds.gms +++ b/modules/50_damages/DiceLike/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/DiceLike/datainput.gms b/modules/50_damages/DiceLike/datainput.gms index 3a60fb041..2eb7a149a 100644 --- a/modules/50_damages/DiceLike/datainput.gms +++ b/modules/50_damages/DiceLike/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/DiceLike/declarations.gms b/modules/50_damages/DiceLike/declarations.gms index 5bb245d9b..4e89020f9 100644 --- a/modules/50_damages/DiceLike/declarations.gms +++ b/modules/50_damages/DiceLike/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/DiceLike/not_used.txt b/modules/50_damages/DiceLike/not_used.txt index affac1b01..8ece5b6d7 100644 --- a/modules/50_damages/DiceLike/not_used.txt +++ b/modules/50_damages/DiceLike/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/DiceLike/postsolve.gms b/modules/50_damages/DiceLike/postsolve.gms index c2ee53421..d0cafd600 100644 --- a/modules/50_damages/DiceLike/postsolve.gms +++ b/modules/50_damages/DiceLike/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/DiceLike/realization.gms b/modules/50_damages/DiceLike/realization.gms index f80e4752e..1dcbdf1e7 100644 --- a/modules/50_damages/DiceLike/realization.gms +++ b/modules/50_damages/DiceLike/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/KWLike/bounds.gms b/modules/50_damages/KWLike/bounds.gms index 940e96fb0..91ef42362 100644 --- a/modules/50_damages/KWLike/bounds.gms +++ b/modules/50_damages/KWLike/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/KWLike/datainput.gms b/modules/50_damages/KWLike/datainput.gms index 145343845..809c26552 100644 --- a/modules/50_damages/KWLike/datainput.gms +++ b/modules/50_damages/KWLike/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/KWLike/declarations.gms b/modules/50_damages/KWLike/declarations.gms index ed383eb22..c917c5c15 100644 --- a/modules/50_damages/KWLike/declarations.gms +++ b/modules/50_damages/KWLike/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/KWLike/not_used.txt b/modules/50_damages/KWLike/not_used.txt index 4c44ec3c6..e28577907 100644 --- a/modules/50_damages/KWLike/not_used.txt +++ b/modules/50_damages/KWLike/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/KWLike/postsolve.gms b/modules/50_damages/KWLike/postsolve.gms index baccdaa4b..f574045a2 100644 --- a/modules/50_damages/KWLike/postsolve.gms +++ b/modules/50_damages/KWLike/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/KWLike/realization.gms b/modules/50_damages/KWLike/realization.gms index a30932e90..bbb46841a 100644 --- a/modules/50_damages/KWLike/realization.gms +++ b/modules/50_damages/KWLike/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/KWTCint/bounds.gms b/modules/50_damages/KWTCint/bounds.gms index abc8c3fcc..e86d50637 100755 --- a/modules/50_damages/KWTCint/bounds.gms +++ b/modules/50_damages/KWTCint/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/KWTCint/datainput.gms b/modules/50_damages/KWTCint/datainput.gms index 388dba604..15f433a1d 100755 --- a/modules/50_damages/KWTCint/datainput.gms +++ b/modules/50_damages/KWTCint/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/KWTCint/declarations.gms b/modules/50_damages/KWTCint/declarations.gms index 4521ec3a1..ee2d2cd91 100755 --- a/modules/50_damages/KWTCint/declarations.gms +++ b/modules/50_damages/KWTCint/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/KWTCint/not_used.txt b/modules/50_damages/KWTCint/not_used.txt index e36d3b939..7d10e2034 100755 --- a/modules/50_damages/KWTCint/not_used.txt +++ b/modules/50_damages/KWTCint/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/KWTCint/postsolve.gms b/modules/50_damages/KWTCint/postsolve.gms index b5cb00903..e5e82b463 100755 --- a/modules/50_damages/KWTCint/postsolve.gms +++ b/modules/50_damages/KWTCint/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/KWTCint/realization.gms b/modules/50_damages/KWTCint/realization.gms index c8518ebba..25a85a52f 100755 --- a/modules/50_damages/KWTCint/realization.gms +++ b/modules/50_damages/KWTCint/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/KWTCint/sets.gms b/modules/50_damages/KWTCint/sets.gms index 15912d346..8eaf1cffc 100755 --- a/modules/50_damages/KWTCint/sets.gms +++ b/modules/50_damages/KWTCint/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/KW_SE/bounds.gms b/modules/50_damages/KW_SE/bounds.gms index fbdcb080e..7a0649b19 100755 --- a/modules/50_damages/KW_SE/bounds.gms +++ b/modules/50_damages/KW_SE/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/KW_SE/datainput.gms b/modules/50_damages/KW_SE/datainput.gms index b4a8ab4cf..f901df85e 100755 --- a/modules/50_damages/KW_SE/datainput.gms +++ b/modules/50_damages/KW_SE/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/KW_SE/declarations.gms b/modules/50_damages/KW_SE/declarations.gms index ca3a470ec..ad04b70d7 100755 --- a/modules/50_damages/KW_SE/declarations.gms +++ b/modules/50_damages/KW_SE/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/KW_SE/not_used.txt b/modules/50_damages/KW_SE/not_used.txt index 8db49cde6..9e4a4a6c2 100755 --- a/modules/50_damages/KW_SE/not_used.txt +++ b/modules/50_damages/KW_SE/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/KW_SE/postsolve.gms b/modules/50_damages/KW_SE/postsolve.gms index 55a1b2f67..6f96f3782 100755 --- a/modules/50_damages/KW_SE/postsolve.gms +++ b/modules/50_damages/KW_SE/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/KW_SE/realization.gms b/modules/50_damages/KW_SE/realization.gms index 5ad56a2ac..8c1407a8a 100755 --- a/modules/50_damages/KW_SE/realization.gms +++ b/modules/50_damages/KW_SE/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/Labor/bounds.gms b/modules/50_damages/Labor/bounds.gms index 7f8fa11d2..2bdfb03f8 100755 --- a/modules/50_damages/Labor/bounds.gms +++ b/modules/50_damages/Labor/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/Labor/datainput.gms b/modules/50_damages/Labor/datainput.gms index 06f4fcbba..7b923e2fd 100755 --- a/modules/50_damages/Labor/datainput.gms +++ b/modules/50_damages/Labor/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/Labor/declarations.gms b/modules/50_damages/Labor/declarations.gms index b351a31c3..3b5df9c8c 100755 --- a/modules/50_damages/Labor/declarations.gms +++ b/modules/50_damages/Labor/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/Labor/not_used.txt b/modules/50_damages/Labor/not_used.txt index 85cfaee50..c7f0446f5 100755 --- a/modules/50_damages/Labor/not_used.txt +++ b/modules/50_damages/Labor/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/Labor/postsolve.gms b/modules/50_damages/Labor/postsolve.gms index 31c3f37b2..e1b30c82d 100755 --- a/modules/50_damages/Labor/postsolve.gms +++ b/modules/50_damages/Labor/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/Labor/realization.gms b/modules/50_damages/Labor/realization.gms index 262bb2a64..47f1512c4 100755 --- a/modules/50_damages/Labor/realization.gms +++ b/modules/50_damages/Labor/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/TC/bounds.gms b/modules/50_damages/TC/bounds.gms index ada44c9c3..9ee088951 100755 --- a/modules/50_damages/TC/bounds.gms +++ b/modules/50_damages/TC/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/TC/datainput.gms b/modules/50_damages/TC/datainput.gms index 4acf6e1a0..5592d00da 100755 --- a/modules/50_damages/TC/datainput.gms +++ b/modules/50_damages/TC/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/TC/declarations.gms b/modules/50_damages/TC/declarations.gms index b636caa26..821ca3a75 100755 --- a/modules/50_damages/TC/declarations.gms +++ b/modules/50_damages/TC/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/TC/not_used.txt b/modules/50_damages/TC/not_used.txt index 5b22dda33..4c2e3091b 100755 --- a/modules/50_damages/TC/not_used.txt +++ b/modules/50_damages/TC/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/TC/postsolve.gms b/modules/50_damages/TC/postsolve.gms index c23ca3b5b..86cc1370d 100755 --- a/modules/50_damages/TC/postsolve.gms +++ b/modules/50_damages/TC/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/TC/realization.gms b/modules/50_damages/TC/realization.gms index a5cd4a9cc..430271b86 100755 --- a/modules/50_damages/TC/realization.gms +++ b/modules/50_damages/TC/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/TC/sets.gms b/modules/50_damages/TC/sets.gms index 4fe3f11d8..8b47f54c7 100755 --- a/modules/50_damages/TC/sets.gms +++ b/modules/50_damages/TC/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/module.gms b/modules/50_damages/module.gms index 141f85ef6..f5de4bed4 100644 --- a/modules/50_damages/module.gms +++ b/modules/50_damages/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/off/bounds.gms b/modules/50_damages/off/bounds.gms index a5f861a5b..54fc496b4 100644 --- a/modules/50_damages/off/bounds.gms +++ b/modules/50_damages/off/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/off/declarations.gms b/modules/50_damages/off/declarations.gms index 787bd671f..46be6d84d 100644 --- a/modules/50_damages/off/declarations.gms +++ b/modules/50_damages/off/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/off/not_used.txt b/modules/50_damages/off/not_used.txt index 16fb7c646..22ed7995f 100644 --- a/modules/50_damages/off/not_used.txt +++ b/modules/50_damages/off/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/50_damages/off/realization.gms b/modules/50_damages/off/realization.gms index 7a4b4b96c..5b7cc72a8 100644 --- a/modules/50_damages/off/realization.gms +++ b/modules/50_damages/off/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/BurkeLikeItr/datainput.gms b/modules/51_internalizeDamages/BurkeLikeItr/datainput.gms index b984fc232..1fb766247 100644 --- a/modules/51_internalizeDamages/BurkeLikeItr/datainput.gms +++ b/modules/51_internalizeDamages/BurkeLikeItr/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/BurkeLikeItr/declarations.gms b/modules/51_internalizeDamages/BurkeLikeItr/declarations.gms index 7c003c07f..654b4f40b 100644 --- a/modules/51_internalizeDamages/BurkeLikeItr/declarations.gms +++ b/modules/51_internalizeDamages/BurkeLikeItr/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/BurkeLikeItr/not_used.txt b/modules/51_internalizeDamages/BurkeLikeItr/not_used.txt index 67d73dcb9..859a72371 100644 --- a/modules/51_internalizeDamages/BurkeLikeItr/not_used.txt +++ b/modules/51_internalizeDamages/BurkeLikeItr/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/BurkeLikeItr/postsolve.gms b/modules/51_internalizeDamages/BurkeLikeItr/postsolve.gms index 70efbed83..37aa4746e 100644 --- a/modules/51_internalizeDamages/BurkeLikeItr/postsolve.gms +++ b/modules/51_internalizeDamages/BurkeLikeItr/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/BurkeLikeItr/realization.gms b/modules/51_internalizeDamages/BurkeLikeItr/realization.gms index 00d90cf65..9cc7281df 100644 --- a/modules/51_internalizeDamages/BurkeLikeItr/realization.gms +++ b/modules/51_internalizeDamages/BurkeLikeItr/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/DiceLikeItr/datainput.gms b/modules/51_internalizeDamages/DiceLikeItr/datainput.gms index cace7fb5b..0b91cbbf0 100644 --- a/modules/51_internalizeDamages/DiceLikeItr/datainput.gms +++ b/modules/51_internalizeDamages/DiceLikeItr/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/DiceLikeItr/declarations.gms b/modules/51_internalizeDamages/DiceLikeItr/declarations.gms index b0c135186..b9a32def8 100644 --- a/modules/51_internalizeDamages/DiceLikeItr/declarations.gms +++ b/modules/51_internalizeDamages/DiceLikeItr/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/DiceLikeItr/not_used.txt b/modules/51_internalizeDamages/DiceLikeItr/not_used.txt index f46ff4339..c323ecf0b 100644 --- a/modules/51_internalizeDamages/DiceLikeItr/not_used.txt +++ b/modules/51_internalizeDamages/DiceLikeItr/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/DiceLikeItr/postsolve.gms b/modules/51_internalizeDamages/DiceLikeItr/postsolve.gms index c1cb17c48..d81ea2d48 100644 --- a/modules/51_internalizeDamages/DiceLikeItr/postsolve.gms +++ b/modules/51_internalizeDamages/DiceLikeItr/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/DiceLikeItr/realization.gms b/modules/51_internalizeDamages/DiceLikeItr/realization.gms index d33011a52..253e990ce 100644 --- a/modules/51_internalizeDamages/DiceLikeItr/realization.gms +++ b/modules/51_internalizeDamages/DiceLikeItr/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KWTCintItr/datainput.gms b/modules/51_internalizeDamages/KWTCintItr/datainput.gms index 2a1b9a320..20c99f5af 100755 --- a/modules/51_internalizeDamages/KWTCintItr/datainput.gms +++ b/modules/51_internalizeDamages/KWTCintItr/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KWTCintItr/declarations.gms b/modules/51_internalizeDamages/KWTCintItr/declarations.gms index f1f121ad6..a9d18bc01 100755 --- a/modules/51_internalizeDamages/KWTCintItr/declarations.gms +++ b/modules/51_internalizeDamages/KWTCintItr/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KWTCintItr/not_used.txt b/modules/51_internalizeDamages/KWTCintItr/not_used.txt index 599fe3418..df0f3b56b 100755 --- a/modules/51_internalizeDamages/KWTCintItr/not_used.txt +++ b/modules/51_internalizeDamages/KWTCintItr/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KWTCintItr/postsolve.gms b/modules/51_internalizeDamages/KWTCintItr/postsolve.gms index 7cf50a106..85d0c4b92 100755 --- a/modules/51_internalizeDamages/KWTCintItr/postsolve.gms +++ b/modules/51_internalizeDamages/KWTCintItr/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KWTCintItr/realization.gms b/modules/51_internalizeDamages/KWTCintItr/realization.gms index f7c6fd732..fca2b4ccb 100755 --- a/modules/51_internalizeDamages/KWTCintItr/realization.gms +++ b/modules/51_internalizeDamages/KWTCintItr/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KW_SEitr/datainput.gms b/modules/51_internalizeDamages/KW_SEitr/datainput.gms index b8feb6a9e..1aab2a0f3 100755 --- a/modules/51_internalizeDamages/KW_SEitr/datainput.gms +++ b/modules/51_internalizeDamages/KW_SEitr/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KW_SEitr/declarations.gms b/modules/51_internalizeDamages/KW_SEitr/declarations.gms index 83cd27d0d..0559d3f18 100755 --- a/modules/51_internalizeDamages/KW_SEitr/declarations.gms +++ b/modules/51_internalizeDamages/KW_SEitr/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KW_SEitr/not_used.txt b/modules/51_internalizeDamages/KW_SEitr/not_used.txt index a1d65ba51..53489e62f 100755 --- a/modules/51_internalizeDamages/KW_SEitr/not_used.txt +++ b/modules/51_internalizeDamages/KW_SEitr/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KW_SEitr/postsolve.gms b/modules/51_internalizeDamages/KW_SEitr/postsolve.gms index 310510038..3d261a152 100755 --- a/modules/51_internalizeDamages/KW_SEitr/postsolve.gms +++ b/modules/51_internalizeDamages/KW_SEitr/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KW_SEitr/realization.gms b/modules/51_internalizeDamages/KW_SEitr/realization.gms index f3fdf82c4..1dfc7837d 100755 --- a/modules/51_internalizeDamages/KW_SEitr/realization.gms +++ b/modules/51_internalizeDamages/KW_SEitr/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KWlikeItr/datainput.gms b/modules/51_internalizeDamages/KWlikeItr/datainput.gms index d9cdc96a3..e06e0b211 100644 --- a/modules/51_internalizeDamages/KWlikeItr/datainput.gms +++ b/modules/51_internalizeDamages/KWlikeItr/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KWlikeItr/declarations.gms b/modules/51_internalizeDamages/KWlikeItr/declarations.gms index 054ae563c..f9ee76424 100644 --- a/modules/51_internalizeDamages/KWlikeItr/declarations.gms +++ b/modules/51_internalizeDamages/KWlikeItr/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KWlikeItr/not_used.txt b/modules/51_internalizeDamages/KWlikeItr/not_used.txt index 56e98ee15..48aa485d0 100644 --- a/modules/51_internalizeDamages/KWlikeItr/not_used.txt +++ b/modules/51_internalizeDamages/KWlikeItr/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KWlikeItr/postsolve.gms b/modules/51_internalizeDamages/KWlikeItr/postsolve.gms index f7b5c63cf..fcacb4091 100644 --- a/modules/51_internalizeDamages/KWlikeItr/postsolve.gms +++ b/modules/51_internalizeDamages/KWlikeItr/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KWlikeItr/realization.gms b/modules/51_internalizeDamages/KWlikeItr/realization.gms index b3753261b..810a4410a 100644 --- a/modules/51_internalizeDamages/KWlikeItr/realization.gms +++ b/modules/51_internalizeDamages/KWlikeItr/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KWlikeItrCPnash/datainput.gms b/modules/51_internalizeDamages/KWlikeItrCPnash/datainput.gms index 188388142..e79921a70 100755 --- a/modules/51_internalizeDamages/KWlikeItrCPnash/datainput.gms +++ b/modules/51_internalizeDamages/KWlikeItrCPnash/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KWlikeItrCPnash/declarations.gms b/modules/51_internalizeDamages/KWlikeItrCPnash/declarations.gms index 875ce6b7d..e32b44256 100755 --- a/modules/51_internalizeDamages/KWlikeItrCPnash/declarations.gms +++ b/modules/51_internalizeDamages/KWlikeItrCPnash/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KWlikeItrCPnash/not_used.txt b/modules/51_internalizeDamages/KWlikeItrCPnash/not_used.txt index 6c71fe4bf..bab2fd1dd 100755 --- a/modules/51_internalizeDamages/KWlikeItrCPnash/not_used.txt +++ b/modules/51_internalizeDamages/KWlikeItrCPnash/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KWlikeItrCPnash/postsolve.gms b/modules/51_internalizeDamages/KWlikeItrCPnash/postsolve.gms index 72c483ebe..9ec3d928e 100755 --- a/modules/51_internalizeDamages/KWlikeItrCPnash/postsolve.gms +++ b/modules/51_internalizeDamages/KWlikeItrCPnash/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KWlikeItrCPnash/realization.gms b/modules/51_internalizeDamages/KWlikeItrCPnash/realization.gms index 392450fac..f64b943ea 100755 --- a/modules/51_internalizeDamages/KWlikeItrCPnash/realization.gms +++ b/modules/51_internalizeDamages/KWlikeItrCPnash/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KWlikeItrCPreg/datainput.gms b/modules/51_internalizeDamages/KWlikeItrCPreg/datainput.gms index 224d49fac..0bf11ec97 100644 --- a/modules/51_internalizeDamages/KWlikeItrCPreg/datainput.gms +++ b/modules/51_internalizeDamages/KWlikeItrCPreg/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KWlikeItrCPreg/declarations.gms b/modules/51_internalizeDamages/KWlikeItrCPreg/declarations.gms index 7db65b84e..5f27c8c11 100644 --- a/modules/51_internalizeDamages/KWlikeItrCPreg/declarations.gms +++ b/modules/51_internalizeDamages/KWlikeItrCPreg/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KWlikeItrCPreg/not_used.txt b/modules/51_internalizeDamages/KWlikeItrCPreg/not_used.txt index 7c15785d8..3e92be5e4 100644 --- a/modules/51_internalizeDamages/KWlikeItrCPreg/not_used.txt +++ b/modules/51_internalizeDamages/KWlikeItrCPreg/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KWlikeItrCPreg/postsolve.gms b/modules/51_internalizeDamages/KWlikeItrCPreg/postsolve.gms index a312c9877..9ec08e799 100644 --- a/modules/51_internalizeDamages/KWlikeItrCPreg/postsolve.gms +++ b/modules/51_internalizeDamages/KWlikeItrCPreg/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/KWlikeItrCPreg/realization.gms b/modules/51_internalizeDamages/KWlikeItrCPreg/realization.gms index 19c636a97..6f8dcd66b 100644 --- a/modules/51_internalizeDamages/KWlikeItrCPreg/realization.gms +++ b/modules/51_internalizeDamages/KWlikeItrCPreg/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/LabItr/datainput.gms b/modules/51_internalizeDamages/LabItr/datainput.gms index f7f6afe6f..3d7d8fb18 100755 --- a/modules/51_internalizeDamages/LabItr/datainput.gms +++ b/modules/51_internalizeDamages/LabItr/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/LabItr/declarations.gms b/modules/51_internalizeDamages/LabItr/declarations.gms index 36e2d5343..9923cf4c7 100755 --- a/modules/51_internalizeDamages/LabItr/declarations.gms +++ b/modules/51_internalizeDamages/LabItr/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/LabItr/not_used.txt b/modules/51_internalizeDamages/LabItr/not_used.txt index 24b7f0225..7342740b8 100755 --- a/modules/51_internalizeDamages/LabItr/not_used.txt +++ b/modules/51_internalizeDamages/LabItr/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/LabItr/postsolve.gms b/modules/51_internalizeDamages/LabItr/postsolve.gms index 2d00dfdc1..41ff80b2d 100755 --- a/modules/51_internalizeDamages/LabItr/postsolve.gms +++ b/modules/51_internalizeDamages/LabItr/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/LabItr/realization.gms b/modules/51_internalizeDamages/LabItr/realization.gms index a6b5bd938..157636359 100755 --- a/modules/51_internalizeDamages/LabItr/realization.gms +++ b/modules/51_internalizeDamages/LabItr/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/TCitr/datainput.gms b/modules/51_internalizeDamages/TCitr/datainput.gms index e13e80ef0..f289eaecf 100755 --- a/modules/51_internalizeDamages/TCitr/datainput.gms +++ b/modules/51_internalizeDamages/TCitr/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/TCitr/declarations.gms b/modules/51_internalizeDamages/TCitr/declarations.gms index 0bdc75adb..422f046f2 100755 --- a/modules/51_internalizeDamages/TCitr/declarations.gms +++ b/modules/51_internalizeDamages/TCitr/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/TCitr/not_used.txt b/modules/51_internalizeDamages/TCitr/not_used.txt index c64d6eaba..7d5dbff45 100755 --- a/modules/51_internalizeDamages/TCitr/not_used.txt +++ b/modules/51_internalizeDamages/TCitr/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/TCitr/postsolve.gms b/modules/51_internalizeDamages/TCitr/postsolve.gms index 567c5ba94..8c673ae93 100755 --- a/modules/51_internalizeDamages/TCitr/postsolve.gms +++ b/modules/51_internalizeDamages/TCitr/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/TCitr/realization.gms b/modules/51_internalizeDamages/TCitr/realization.gms index 8dc654069..08e050200 100755 --- a/modules/51_internalizeDamages/TCitr/realization.gms +++ b/modules/51_internalizeDamages/TCitr/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/module.gms b/modules/51_internalizeDamages/module.gms index 3d2d268e5..0c6c4e22f 100644 --- a/modules/51_internalizeDamages/module.gms +++ b/modules/51_internalizeDamages/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/off/datainput.gms b/modules/51_internalizeDamages/off/datainput.gms index 93ac6d1aa..f57125e0b 100644 --- a/modules/51_internalizeDamages/off/datainput.gms +++ b/modules/51_internalizeDamages/off/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/off/declarations.gms b/modules/51_internalizeDamages/off/declarations.gms index 198d08329..ef69dbe83 100644 --- a/modules/51_internalizeDamages/off/declarations.gms +++ b/modules/51_internalizeDamages/off/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/off/not_used.txt b/modules/51_internalizeDamages/off/not_used.txt index 8e37f7372..7a42a84ed 100644 --- a/modules/51_internalizeDamages/off/not_used.txt +++ b/modules/51_internalizeDamages/off/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/51_internalizeDamages/off/realization.gms b/modules/51_internalizeDamages/off/realization.gms index c27ed7b60..55df016f0 100644 --- a/modules/51_internalizeDamages/off/realization.gms +++ b/modules/51_internalizeDamages/off/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/70_water/heat/datainput.gms b/modules/70_water/heat/datainput.gms index e90d36a79..e4b3c1113 100644 --- a/modules/70_water/heat/datainput.gms +++ b/modules/70_water/heat/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/70_water/heat/declarations.gms b/modules/70_water/heat/declarations.gms index 78c34620b..b244a45cf 100644 --- a/modules/70_water/heat/declarations.gms +++ b/modules/70_water/heat/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/70_water/heat/not_used.txt b/modules/70_water/heat/not_used.txt index ad14a32d8..85ff9312e 100644 --- a/modules/70_water/heat/not_used.txt +++ b/modules/70_water/heat/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/70_water/heat/output.gms b/modules/70_water/heat/output.gms index f477f1a6a..93e6419dc 100644 --- a/modules/70_water/heat/output.gms +++ b/modules/70_water/heat/output.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/70_water/heat/realization.gms b/modules/70_water/heat/realization.gms index 062d8be1d..88028dd25 100644 --- a/modules/70_water/heat/realization.gms +++ b/modules/70_water/heat/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/70_water/heat/sets.gms b/modules/70_water/heat/sets.gms index 215cdd745..5432b2a76 100644 --- a/modules/70_water/heat/sets.gms +++ b/modules/70_water/heat/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/70_water/module.gms b/modules/70_water/module.gms index 81177c085..82e207e72 100644 --- a/modules/70_water/module.gms +++ b/modules/70_water/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/70_water/off/realization.gms b/modules/70_water/off/realization.gms index c0d399a68..35d57941a 100644 --- a/modules/70_water/off/realization.gms +++ b/modules/70_water/off/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/module.gms b/modules/80_optimization/module.gms index ab87c7c4f..41b38c0f3 100644 --- a/modules/80_optimization/module.gms +++ b/modules/80_optimization/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/nash/bounds.gms b/modules/80_optimization/nash/bounds.gms index eb465a850..d1d069a65 100644 --- a/modules/80_optimization/nash/bounds.gms +++ b/modules/80_optimization/nash/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/nash/datainput.gms b/modules/80_optimization/nash/datainput.gms index f68bd4a17..ba5e2121a 100644 --- a/modules/80_optimization/nash/datainput.gms +++ b/modules/80_optimization/nash/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/nash/declarations.gms b/modules/80_optimization/nash/declarations.gms index f111ac8a8..af3f809e0 100644 --- a/modules/80_optimization/nash/declarations.gms +++ b/modules/80_optimization/nash/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/nash/equations.gms b/modules/80_optimization/nash/equations.gms index d9287c6e6..8bc6b50d2 100644 --- a/modules/80_optimization/nash/equations.gms +++ b/modules/80_optimization/nash/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/nash/not_used.txt b/modules/80_optimization/nash/not_used.txt index 487488b88..1ccf4329d 100644 --- a/modules/80_optimization/nash/not_used.txt +++ b/modules/80_optimization/nash/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/nash/output.gms b/modules/80_optimization/nash/output.gms index 4aecaddbf..bd3331c4b 100644 --- a/modules/80_optimization/nash/output.gms +++ b/modules/80_optimization/nash/output.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/nash/postsolve.gms b/modules/80_optimization/nash/postsolve.gms index bb5247098..1de5b6882 100644 --- a/modules/80_optimization/nash/postsolve.gms +++ b/modules/80_optimization/nash/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/nash/preloop.gms b/modules/80_optimization/nash/preloop.gms index 58ebb717f..9cf0c48be 100644 --- a/modules/80_optimization/nash/preloop.gms +++ b/modules/80_optimization/nash/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/nash/presolve.gms b/modules/80_optimization/nash/presolve.gms index 3e5de6f8f..08c40b754 100644 --- a/modules/80_optimization/nash/presolve.gms +++ b/modules/80_optimization/nash/presolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/nash/realization.gms b/modules/80_optimization/nash/realization.gms index fd45025cc..ede59aab2 100644 --- a/modules/80_optimization/nash/realization.gms +++ b/modules/80_optimization/nash/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/nash/sets.gms b/modules/80_optimization/nash/sets.gms index ed1dd3816..e03b0a77a 100644 --- a/modules/80_optimization/nash/sets.gms +++ b/modules/80_optimization/nash/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/nash/solve.gms b/modules/80_optimization/nash/solve.gms index dd1e874b0..acb169088 100644 --- a/modules/80_optimization/nash/solve.gms +++ b/modules/80_optimization/nash/solve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/negishi/bounds.gms b/modules/80_optimization/negishi/bounds.gms index 8fa2ff393..ec3d3bada 100644 --- a/modules/80_optimization/negishi/bounds.gms +++ b/modules/80_optimization/negishi/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/negishi/datainput.gms b/modules/80_optimization/negishi/datainput.gms index f30348c00..82973e356 100644 --- a/modules/80_optimization/negishi/datainput.gms +++ b/modules/80_optimization/negishi/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/negishi/declarations.gms b/modules/80_optimization/negishi/declarations.gms index 98cb6681a..28b510b9e 100644 --- a/modules/80_optimization/negishi/declarations.gms +++ b/modules/80_optimization/negishi/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/negishi/equations.gms b/modules/80_optimization/negishi/equations.gms index b5459a178..e32ad70c7 100644 --- a/modules/80_optimization/negishi/equations.gms +++ b/modules/80_optimization/negishi/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/negishi/not_used.txt b/modules/80_optimization/negishi/not_used.txt index e4e22e0d1..b7ac9b604 100644 --- a/modules/80_optimization/negishi/not_used.txt +++ b/modules/80_optimization/negishi/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/negishi/output.gms b/modules/80_optimization/negishi/output.gms index 17772b1a2..736ae0669 100644 --- a/modules/80_optimization/negishi/output.gms +++ b/modules/80_optimization/negishi/output.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/negishi/postsolve.gms b/modules/80_optimization/negishi/postsolve.gms index 8a18b6af4..d962c5c60 100644 --- a/modules/80_optimization/negishi/postsolve.gms +++ b/modules/80_optimization/negishi/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/negishi/preloop.gms b/modules/80_optimization/negishi/preloop.gms index 87790c2c2..4ce197be3 100644 --- a/modules/80_optimization/negishi/preloop.gms +++ b/modules/80_optimization/negishi/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/negishi/realization.gms b/modules/80_optimization/negishi/realization.gms index 5973ac0ba..b56da4a05 100644 --- a/modules/80_optimization/negishi/realization.gms +++ b/modules/80_optimization/negishi/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/negishi/solve.gms b/modules/80_optimization/negishi/solve.gms index 9b4cd7142..de0e53e6c 100644 --- a/modules/80_optimization/negishi/solve.gms +++ b/modules/80_optimization/negishi/solve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/testOneRegi/bounds.gms b/modules/80_optimization/testOneRegi/bounds.gms index d1f70448e..f759d4feb 100644 --- a/modules/80_optimization/testOneRegi/bounds.gms +++ b/modules/80_optimization/testOneRegi/bounds.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/testOneRegi/datainput.gms b/modules/80_optimization/testOneRegi/datainput.gms index 7813acf93..e8b434056 100644 --- a/modules/80_optimization/testOneRegi/datainput.gms +++ b/modules/80_optimization/testOneRegi/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/testOneRegi/declarations.gms b/modules/80_optimization/testOneRegi/declarations.gms index fc5de79ce..dfd5bd91e 100644 --- a/modules/80_optimization/testOneRegi/declarations.gms +++ b/modules/80_optimization/testOneRegi/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/testOneRegi/equations.gms b/modules/80_optimization/testOneRegi/equations.gms index 39db727f7..ca5777abf 100644 --- a/modules/80_optimization/testOneRegi/equations.gms +++ b/modules/80_optimization/testOneRegi/equations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/testOneRegi/not_used.txt b/modules/80_optimization/testOneRegi/not_used.txt index 12a9e35d1..fd019541e 100644 --- a/modules/80_optimization/testOneRegi/not_used.txt +++ b/modules/80_optimization/testOneRegi/not_used.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/testOneRegi/postsolve.gms b/modules/80_optimization/testOneRegi/postsolve.gms index 8ef735805..e7275a371 100644 --- a/modules/80_optimization/testOneRegi/postsolve.gms +++ b/modules/80_optimization/testOneRegi/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/testOneRegi/preloop.gms b/modules/80_optimization/testOneRegi/preloop.gms index 19ea0bf69..f43337a8b 100644 --- a/modules/80_optimization/testOneRegi/preloop.gms +++ b/modules/80_optimization/testOneRegi/preloop.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/testOneRegi/realization.gms b/modules/80_optimization/testOneRegi/realization.gms index 3775723b5..d45e43c66 100644 --- a/modules/80_optimization/testOneRegi/realization.gms +++ b/modules/80_optimization/testOneRegi/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/testOneRegi/sets.gms b/modules/80_optimization/testOneRegi/sets.gms index 7e1287895..3505be583 100644 --- a/modules/80_optimization/testOneRegi/sets.gms +++ b/modules/80_optimization/testOneRegi/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/80_optimization/testOneRegi/solve.gms b/modules/80_optimization/testOneRegi/solve.gms index 8986c0134..82d35b59d 100644 --- a/modules/80_optimization/testOneRegi/solve.gms +++ b/modules/80_optimization/testOneRegi/solve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/81_codePerformance/module.gms b/modules/81_codePerformance/module.gms index 9e9b1a942..101913730 100644 --- a/modules/81_codePerformance/module.gms +++ b/modules/81_codePerformance/module.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/81_codePerformance/off/realization.gms b/modules/81_codePerformance/off/realization.gms index 46b43ad40..4ee14816c 100644 --- a/modules/81_codePerformance/off/realization.gms +++ b/modules/81_codePerformance/off/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/81_codePerformance/on/datainput.gms b/modules/81_codePerformance/on/datainput.gms index 8dd779bde..2e6b718c3 100644 --- a/modules/81_codePerformance/on/datainput.gms +++ b/modules/81_codePerformance/on/datainput.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/81_codePerformance/on/declarations.gms b/modules/81_codePerformance/on/declarations.gms index ac01ccb74..61decbca8 100644 --- a/modules/81_codePerformance/on/declarations.gms +++ b/modules/81_codePerformance/on/declarations.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/81_codePerformance/on/postsolve.gms b/modules/81_codePerformance/on/postsolve.gms index 77b1075a7..b625c8e48 100644 --- a/modules/81_codePerformance/on/postsolve.gms +++ b/modules/81_codePerformance/on/postsolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/81_codePerformance/on/presolve.gms b/modules/81_codePerformance/on/presolve.gms index 818bd9f81..932d348ce 100644 --- a/modules/81_codePerformance/on/presolve.gms +++ b/modules/81_codePerformance/on/presolve.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/81_codePerformance/on/realization.gms b/modules/81_codePerformance/on/realization.gms index 392b91c3b..af53d3263 100644 --- a/modules/81_codePerformance/on/realization.gms +++ b/modules/81_codePerformance/on/realization.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/81_codePerformance/on/sets.gms b/modules/81_codePerformance/on/sets.gms index 57ddbc5c4..8eb5ed5c6 100644 --- a/modules/81_codePerformance/on/sets.gms +++ b/modules/81_codePerformance/on/sets.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/modules/include.gms b/modules/include.gms index fe508b24b..05a624ee3 100644 --- a/modules/include.gms +++ b/modules/include.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/output.R b/output.R index e836c11cc..a018af93e 100755 --- a/output.R +++ b/output.R @@ -1,5 +1,5 @@ #!/usr/bin/env Rscript -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/renv/activate.R b/renv/activate.R index d13f9932a..cc3d1c3ee 100644 --- a/renv/activate.R +++ b/renv/activate.R @@ -1,3 +1,9 @@ +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) +# | authors, and contributors see CITATION.cff file. This file is part +# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +# | AGPL-3.0, you are granted additional permissions described in the +# | REMIND License Exception, version 1.0 (see LICENSE file). +# | Contact: remind@pik-potsdam.de local({ diff --git a/requirements.txt b/requirements.txt index 9ae977715..2f7388301 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the @@ -6,4 +6,4 @@ # | Contact: remind@pik-potsdam.de climate-assessment netcdf4 -pandas<2 \ No newline at end of file +pandas<2 diff --git a/scripts/cs2/MAGICC7_AR6.Rmd b/scripts/cs2/MAGICC7_AR6.Rmd index b0e9c3e62..80ec6a7cc 100644 --- a/scripts/cs2/MAGICC7_AR6.Rmd +++ b/scripts/cs2/MAGICC7_AR6.Rmd @@ -1,5 +1,5 @@ --- title: "`r params$doctitle`" date: "`r format(Sys.Date())`" diff --git a/scripts/output/single/plotIterations.R b/scripts/output/single/plotIterations.R index ce541d5b1..432fcb02f 100644 --- a/scripts/output/single/plotIterations.R +++ b/scripts/output/single/plotIterations.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/scripts/output/single/rds_report.R b/scripts/output/single/rds_report.R index c751db70c..66a91f4e3 100644 --- a/scripts/output/single/rds_report.R +++ b/scripts/output/single/rds_report.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/scripts/output/single/reportCEScalib.R b/scripts/output/single/reportCEScalib.R index 21d26702e..5bba38cbc 100644 --- a/scripts/output/single/reportCEScalib.R +++ b/scripts/output/single/reportCEScalib.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/scripts/output/single/reportDIETER.R b/scripts/output/single/reportDIETER.R index aa9974e7f..4906eb4ee 100644 --- a/scripts/output/single/reportDIETER.R +++ b/scripts/output/single/reportDIETER.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/scripts/output/single/reportEsubs.R b/scripts/output/single/reportEsubs.R index f5acb8ed5..75d79dd84 100644 --- a/scripts/output/single/reportEsubs.R +++ b/scripts/output/single/reportEsubs.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/scripts/output/single/reportLogit.R b/scripts/output/single/reportLogit.R index ede5ba7f2..147311ff6 100644 --- a/scripts/output/single/reportLogit.R +++ b/scripts/output/single/reportLogit.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/scripts/output/single/reporting.R b/scripts/output/single/reporting.R index 8eeb4f186..80c2a65e4 100644 --- a/scripts/output/single/reporting.R +++ b/scripts/output/single/reporting.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/scripts/output/single/reportingREMIND2MAgPIE.R b/scripts/output/single/reportingREMIND2MAgPIE.R index 2c3af3f57..80674678b 100644 --- a/scripts/output/single/reportingREMIND2MAgPIE.R +++ b/scripts/output/single/reportingREMIND2MAgPIE.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/scripts/output/single/reporting_MOFEX.R b/scripts/output/single/reporting_MOFEX.R index fa882f9c8..66aff8f95 100644 --- a/scripts/output/single/reporting_MOFEX.R +++ b/scripts/output/single/reporting_MOFEX.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/scripts/start/addTitletag.R b/scripts/start/addTitletag.R index 837fe8918..5357aeed4 100644 --- a/scripts/start/addTitletag.R +++ b/scripts/start/addTitletag.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/scripts/start/calculate_CES_configuration.R b/scripts/start/calculate_CES_configuration.R index e028b8324..6be5eb1f3 100644 --- a/scripts/start/calculate_CES_configuration.R +++ b/scripts/start/calculate_CES_configuration.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/scripts/start/checkFixCfg.R b/scripts/start/checkFixCfg.R index cb8ba77be..052324d38 100644 --- a/scripts/start/checkFixCfg.R +++ b/scripts/start/checkFixCfg.R @@ -1,3 +1,9 @@ +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) +# | authors, and contributors see CITATION.cff file. This file is part +# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +# | AGPL-3.0, you are granted additional permissions described in the +# | REMIND License Exception, version 1.0 (see LICENSE file). +# | Contact: remind@pik-potsdam.de #' take a REMIND cfg, runs some consistency checks and automatically fix some wrong settings #' The regexp check loads the code from main.gms and looks for 'regexp = ' patterns. #' It then checks whether the current cfg matches those patterns. diff --git a/scripts/start/choose_slurmConfig.R b/scripts/start/choose_slurmConfig.R index b7f4a525b..52b2fd2f9 100644 --- a/scripts/start/choose_slurmConfig.R +++ b/scripts/start/choose_slurmConfig.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/scripts/start/combine_slurmConfig.R b/scripts/start/combine_slurmConfig.R index eab0d526f..7bbf73e4f 100644 --- a/scripts/start/combine_slurmConfig.R +++ b/scripts/start/combine_slurmConfig.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/scripts/start/configureCfg.R b/scripts/start/configureCfg.R index aa1e58e8c..1822d4a11 100644 --- a/scripts/start/configureCfg.R +++ b/scripts/start/configureCfg.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/scripts/start/ensureRequirementsInstalled.R b/scripts/start/ensureRequirementsInstalled.R index b2a1fc5eb..db1120f1b 100644 --- a/scripts/start/ensureRequirementsInstalled.R +++ b/scripts/start/ensureRequirementsInstalled.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/scripts/start/getReportData.R b/scripts/start/getReportData.R index 6b200a024..1c89f50bd 100644 --- a/scripts/start/getReportData.R +++ b/scripts/start/getReportData.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/scripts/start/isSlurmAvailable.R b/scripts/start/isSlurmAvailable.R index 2dfac0c04..2e0ee6c06 100644 --- a/scripts/start/isSlurmAvailable.R +++ b/scripts/start/isSlurmAvailable.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/scripts/start/missingInputData.R b/scripts/start/missingInputData.R index 3185552bc..29e55356b 100644 --- a/scripts/start/missingInputData.R +++ b/scripts/start/missingInputData.R @@ -1,3 +1,9 @@ +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) +# | authors, and contributors see CITATION.cff file. This file is part +# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +# | AGPL-3.0, you are granted additional permissions described in the +# | REMIND License Exception, version 1.0 (see LICENSE file). +# | Contact: remind@pik-potsdam.de missingInputData <- function(path = ".") { inputfiles <- gms::getfiledestinations(path = path) inputpaths <- file.path(inputfiles$destination, inputfiles$file) diff --git a/scripts/start/modelSummary.R b/scripts/start/modelSummary.R index 0ba763506..8acbd3083 100644 --- a/scripts/start/modelSummary.R +++ b/scripts/start/modelSummary.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/scripts/start/needBau.R b/scripts/start/needBau.R index cb6e932b5..7c3003b9a 100644 --- a/scripts/start/needBau.R +++ b/scripts/start/needBau.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/scripts/start/path_gdx_list.R b/scripts/start/path_gdx_list.R index 838207ba8..11b6dd68a 100644 --- a/scripts/start/path_gdx_list.R +++ b/scripts/start/path_gdx_list.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/scripts/start/prepare.R b/scripts/start/prepare.R index c3aecc23e..b098bc23d 100644 --- a/scripts/start/prepare.R +++ b/scripts/start/prepare.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/scripts/start/prepareAndRun.R b/scripts/start/prepareAndRun.R index 86abb7946..16a48c1cd 100644 --- a/scripts/start/prepareAndRun.R +++ b/scripts/start/prepareAndRun.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/scripts/start/readCheckScenarioConfig.R b/scripts/start/readCheckScenarioConfig.R index 66d700a12..d63a1de25 100644 --- a/scripts/start/readCheckScenarioConfig.R +++ b/scripts/start/readCheckScenarioConfig.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/scripts/start/run.R b/scripts/start/run.R index 15ad01541..5d01befe6 100644 --- a/scripts/start/run.R +++ b/scripts/start/run.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/scripts/start/runGamsCompile.R b/scripts/start/runGamsCompile.R index 783e44c14..efd7a55b5 100644 --- a/scripts/start/runGamsCompile.R +++ b/scripts/start/runGamsCompile.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/scripts/start/selectScenarios.R b/scripts/start/selectScenarios.R index 926d48b44..e9356bdc8 100644 --- a/scripts/start/selectScenarios.R +++ b/scripts/start/selectScenarios.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/scripts/start/selectTestOneRegiRegion.R b/scripts/start/selectTestOneRegiRegion.R index 920ecb462..f7e063404 100644 --- a/scripts/start/selectTestOneRegiRegion.R +++ b/scripts/start/selectTestOneRegiRegion.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/scripts/start/submit.R b/scripts/start/submit.R index cb8563aef..1ea35c56a 100644 --- a/scripts/start/submit.R +++ b/scripts/start/submit.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/scripts/start/updateInputData.R b/scripts/start/updateInputData.R index 9fd65b131..123efb62f 100644 --- a/scripts/start/updateInputData.R +++ b/scripts/start/updateInputData.R @@ -1,3 +1,9 @@ +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) +# | authors, and contributors see CITATION.cff file. This file is part +# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +# | AGPL-3.0, you are granted additional permissions described in the +# | REMIND License Exception, version 1.0 (see LICENSE file). +# | Contact: remind@pik-potsdam.de #' update input data files in REMIND #' @param cfg list of configs #' @param remindPath path to main remind folder diff --git a/scripts/start/updateSets.R b/scripts/start/updateSets.R index f317533df..778a6c7b6 100644 --- a/scripts/start/updateSets.R +++ b/scripts/start/updateSets.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/scripts/utils/checkSetup.R b/scripts/utils/checkSetup.R index d878b69c2..b08243378 100644 --- a/scripts/utils/checkSetup.R +++ b/scripts/utils/checkSetup.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/scripts/utils/create1mif.R b/scripts/utils/create1mif.R index af19bcf9d..251316e41 100644 --- a/scripts/utils/create1mif.R +++ b/scripts/utils/create1mif.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/scripts/utils/create1mif_woPlus.R b/scripts/utils/create1mif_woPlus.R index 9cc97aa41..44d8c77e1 100644 --- a/scripts/utils/create1mif_woPlus.R +++ b/scripts/utils/create1mif_woPlus.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/scripts/utils/create1mifwithoutPlus.R b/scripts/utils/create1mifwithoutPlus.R index 56e1740b3..a33004dd6 100644 --- a/scripts/utils/create1mifwithoutPlus.R +++ b/scripts/utils/create1mifwithoutPlus.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/standalone/MOFEX/MOFEX.gms b/standalone/MOFEX/MOFEX.gms index bb5eba53a..aecf080b7 100644 --- a/standalone/MOFEX/MOFEX.gms +++ b/standalone/MOFEX/MOFEX.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/standalone/MOFEX/scripts/reporting_MOFEX.R b/standalone/MOFEX/scripts/reporting_MOFEX.R index 0fb9b8af4..26b8e946e 100644 --- a/standalone/MOFEX/scripts/reporting_MOFEX.R +++ b/standalone/MOFEX/scripts/reporting_MOFEX.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/standalone/template.gms b/standalone/template.gms index e1c7e0172..24754fba5 100644 --- a/standalone/template.gms +++ b/standalone/template.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/standalone/trade/trade.gms b/standalone/trade/trade.gms index 271c26a91..97f2a89da 100644 --- a/standalone/trade/trade.gms +++ b/standalone/trade/trade.gms @@ -1,4 +1,4 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) *** | authors, and contributors see CITATION.cff file. This file is part *** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of *** | AGPL-3.0, you are granted additional permissions described in the diff --git a/start.R b/start.R index d88797030..bd1601d03 100755 --- a/start.R +++ b/start.R @@ -1,5 +1,5 @@ #!/usr/bin/env Rscript -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/start_bundle_coupled.R b/start_bundle_coupled.R index cf6f179f8..d1be1d278 100755 --- a/start_bundle_coupled.R +++ b/start_bundle_coupled.R @@ -1,5 +1,5 @@ #!/usr/bin/env Rscript -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/start_coupled.R b/start_coupled.R index b1b998eaa..617b63415 100644 --- a/start_coupled.R +++ b/start_coupled.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/helper_localSystem2.R b/tests/testthat/helper_localSystem2.R index fb61b6922..c7cf6abf7 100644 --- a/tests/testthat/helper_localSystem2.R +++ b/tests/testthat/helper_localSystem2.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/helper_printIfFailed.R b/tests/testthat/helper_printIfFailed.R index b092e0553..9c9e82bfa 100644 --- a/tests/testthat/helper_printIfFailed.R +++ b/tests/testthat/helper_printIfFailed.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/helper_skipFailed.R b/tests/testthat/helper_skipFailed.R index 5b67b9f75..f8bf6c24c 100644 --- a/tests/testthat/helper_skipFailed.R +++ b/tests/testthat/helper_skipFailed.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/helper_skipIfFast.R b/tests/testthat/helper_skipIfFast.R index 318ddb724..24fb61a5a 100644 --- a/tests/testthat/helper_skipIfFast.R +++ b/tests/testthat/helper_skipIfFast.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/setup_loadFunctions.R b/tests/testthat/setup_loadFunctions.R index a2c2af7ba..22068655b 100644 --- a/tests/testthat/setup_loadFunctions.R +++ b/tests/testthat/setup_loadFunctions.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/setup_updateRenv.R b/tests/testthat/setup_updateRenv.R index a1894e4ac..bf1463c75 100644 --- a/tests/testthat/setup_updateRenv.R +++ b/tests/testthat/setup_updateRenv.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/test_01-addTitletag.R b/tests/testthat/test_01-addTitletag.R index c8f382376..59fbdc99a 100644 --- a/tests/testthat/test_01-addTitletag.R +++ b/tests/testthat/test_01-addTitletag.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/test_01-checkFixCfg.R b/tests/testthat/test_01-checkFixCfg.R index 20a89a6ea..830237ed4 100644 --- a/tests/testthat/test_01-checkFixCfg.R +++ b/tests/testthat/test_01-checkFixCfg.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/test_01-codeCheck.R b/tests/testthat/test_01-codeCheck.R index 766902752..377c3fdb4 100644 --- a/tests/testthat/test_01-codeCheck.R +++ b/tests/testthat/test_01-codeCheck.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/test_01-combine_slurmConfig.R b/tests/testthat/test_01-combine_slurmConfig.R index 5933079a7..179f1f78a 100644 --- a/tests/testthat/test_01-combine_slurmConfig.R +++ b/tests/testthat/test_01-combine_slurmConfig.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/test_01-gms_readSettings.R b/tests/testthat/test_01-gms_readSettings.R index 47af7cb39..26ad5081b 100644 --- a/tests/testthat/test_01-gms_readSettings.R +++ b/tests/testthat/test_01-gms_readSettings.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/test_01-inputdata.R b/tests/testthat/test_01-inputdata.R index 5e6e35c15..f76448cd8 100644 --- a/tests/testthat/test_01-inputdata.R +++ b/tests/testthat/test_01-inputdata.R @@ -1,3 +1,9 @@ +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) +# | authors, and contributors see CITATION.cff file. This file is part +# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +# | AGPL-3.0, you are granted additional permissions described in the +# | REMIND License Exception, version 1.0 (see LICENSE file). +# | Contact: remind@pik-potsdam.de test_that("Are all input data files present?", { missinginput <- missingInputData(path = "../..") if (length(missinginput) > 0) { diff --git a/tests/testthat/test_01-path_gdx_list.R b/tests/testthat/test_01-path_gdx_list.R index 602edd6b0..e5ed9e1ae 100644 --- a/tests/testthat/test_01-path_gdx_list.R +++ b/tests/testthat/test_01-path_gdx_list.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/test_01-readCheckScenarioConfig.R b/tests/testthat/test_01-readCheckScenarioConfig.R index 279c1dce5..5234ad302 100644 --- a/tests/testthat/test_01-readCheckScenarioConfig.R +++ b/tests/testthat/test_01-readCheckScenarioConfig.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/test_01-readDefaultConfig.R b/tests/testthat/test_01-readDefaultConfig.R index b95cc98bc..0c88f4470 100644 --- a/tests/testthat/test_01-readDefaultConfig.R +++ b/tests/testthat/test_01-readDefaultConfig.R @@ -1,3 +1,9 @@ +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) +# | authors, and contributors see CITATION.cff file. This file is part +# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +# | AGPL-3.0, you are granted additional permissions described in the +# | REMIND License Exception, version 1.0 (see LICENSE file). +# | Contact: remind@pik-potsdam.de test_that("readDefaultConfig works", { expect_no_warning(cfg <- gms::readDefaultConfig("../..")) # make sure that no identical names are used to guarantee unique matching of scenario_config data diff --git a/tests/testthat/test_01-runGamsCompile.R b/tests/testthat/test_01-runGamsCompile.R index 99b4dd7ea..452b75a53 100644 --- a/tests/testthat/test_01-runGamsCompile.R +++ b/tests/testthat/test_01-runGamsCompile.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/test_01-selectScenarios.R b/tests/testthat/test_01-selectScenarios.R index 6bf6b990e..2aba8e07d 100644 --- a/tests/testthat/test_01-selectScenarios.R +++ b/tests/testthat/test_01-selectScenarios.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/test_01-start.R b/tests/testthat/test_01-start.R index aac763f9d..5d97167ce 100644 --- a/tests/testthat/test_01-start.R +++ b/tests/testthat/test_01-start.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/test_01-test-gams-compile.R b/tests/testthat/test_01-test-gams-compile.R index 6cf4309f6..309a28efc 100644 --- a/tests/testthat/test_01-test-gams-compile.R +++ b/tests/testthat/test_01-test-gams-compile.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/test_02-compile.R b/tests/testthat/test_02-compile.R index 53a9e5dc3..67149a636 100644 --- a/tests/testthat/test_02-compile.R +++ b/tests/testthat/test_02-compile.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/test_03-quick.R b/tests/testthat/test_03-quick.R index 7f13c4a7e..c9e814bbd 100644 --- a/tests/testthat/test_03-quick.R +++ b/tests/testthat/test_03-quick.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/test_04-gamscompile.R b/tests/testthat/test_04-gamscompile.R index ec8913585..1d319d362 100644 --- a/tests/testthat/test_04-gamscompile.R +++ b/tests/testthat/test_04-gamscompile.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/test_05-default.R b/tests/testthat/test_05-default.R index ea36ef84d..74aa499a5 100644 --- a/tests/testthat/test_05-default.R +++ b/tests/testthat/test_05-default.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/test_06-output.R b/tests/testthat/test_06-output.R index 22dcae4f1..8ca19e1b1 100644 --- a/tests/testthat/test_06-output.R +++ b/tests/testthat/test_06-output.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/test_20-coupled.R b/tests/testthat/test_20-coupled.R index 21c8e6713..5103d52a5 100644 --- a/tests/testthat/test_20-coupled.R +++ b/tests/testthat/test_20-coupled.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/validation/test_01-mifs_exist.R b/tests/testthat/validation/test_01-mifs_exist.R index e8c1139a5..0599c8513 100644 --- a/tests/testthat/validation/test_01-mifs_exist.R +++ b/tests/testthat/validation/test_01-mifs_exist.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/validation/test_02-fe_liquids.R b/tests/testthat/validation/test_02-fe_liquids.R index 97b1266be..e9acb4057 100644 --- a/tests/testthat/validation/test_02-fe_liquids.R +++ b/tests/testthat/validation/test_02-fe_liquids.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/validation/test_03-negative_electrictiy.R b/tests/testthat/validation/test_03-negative_electrictiy.R index 0c56148f7..a41d9e0a2 100644 --- a/tests/testthat/validation/test_03-negative_electrictiy.R +++ b/tests/testthat/validation/test_03-negative_electrictiy.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tests/testthat/validation/test_04-invest_esm.R b/tests/testthat/validation/test_04-invest_esm.R index 0030b211e..e29227210 100644 --- a/tests/testthat/validation/test_04-invest_esm.R +++ b/tests/testthat/validation/test_04-invest_esm.R @@ -1,4 +1,4 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) # | authors, and contributors see CITATION.cff file. This file is part # | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of # | AGPL-3.0, you are granted additional permissions described in the diff --git a/tutorials/08_Advanced_AnalysingModelOutputs.Rmd b/tutorials/08_Advanced_AnalysingModelOutputs.Rmd index ea67185bf..45176e927 100644 --- a/tutorials/08_Advanced_AnalysingModelOutputs.Rmd +++ b/tutorials/08_Advanced_AnalysingModelOutputs.Rmd @@ -1,5 +1,5 @@ h2 technologies and storXXX technologies" - p32_storageCap(all_te,char) "multiplicative factor between dummy seel<-->h2 technologies and storXXX technologies" - p32_PriceDurSlope(all_regi,all_te) "slope of price duration curve used for calculation of electricity price for flexible technologies, determines how fast electricity price declines at lower capacity factors" -; - -scalars -s32_storlink "how strong is the influence of two similar renewable energies on each other's storage requirements (1= complete, 4= rather small)" /3/ -; - -positive variables - v32_shStor(ttot,all_regi,all_te) "share of seel production from renewables that needs to be stored, range 0..1 [0,1]" - v32_storloss(ttot,all_regi,all_te) "total energy loss from storage for a given technology [TWa]" - vm_shSeEl(ttot,all_regi,all_te) "new share of electricity production in % [%]" - v32_testdemSeShare(ttot,all_regi,all_te) "test variable for tech share of SE electricity demand" -; - -equations - q32_balSe(ttot,all_regi,all_enty) "balance equation for electricity secondary energy" - q32_usableSe(ttot,all_regi,all_enty) "calculate usable se before se2se and MP/XP (without storage)" - q32_usableSeTe(ttot,all_regi,entySe,all_te) "calculate usable se produced by one technology (vm_usableSeTe)" - q32_limitCapTeStor(ttot,all_regi,teStor) "calculate the storage capacity required by vm_storloss" - q32_limitCapTeChp(ttot,all_regi) "capacitiy constraint for chp electricity generation" - q32_limitCapTeGrid(ttot,all_regi) "calculate the additional grid capacity required by VRE" - q32_shSeEl(ttot,all_regi,all_te) "calculate share of electricity production of a technology (vm_shSeEl)" - q32_shStor(ttot,all_regi,all_te) "equation to calculate v32_shStor" - q32_storloss(ttot,all_regi,all_te) "equation to calculate vm_storloss" - q32_operatingReserve(ttot,all_regi) "operating reserve for necessary flexibility" - q32_h2turbVREcapfromTestor(tall,all_regi) "calculate capacities of dummy seel<--h2 technology from storXXX technologies" - q32_elh2VREcapfromTestor(tall,all_regi) "calculate capacities of dummy seel-->h2 technology from storXXX technologies" - q32_flexAdj(tall,all_regi,all_te) "calculate flexibility used in flexibility tax for technologies with electricity input" - q32_flexPriceShareMin "calculatae miniumum share of average electricity that flexible technologies can see" - q32_flexPriceShare(tall,all_regi,all_te) "calculate share of average electricity price that flexible technologies see" - q32_flexPriceBalance(tall,all_regi) "constraint such that flexible electricity prices balanance to average electricity price" -; - -variables -v32_flexPriceShare(tall,all_regi,all_te) "share of average electricity price that flexible technologies see [share: 0...1]" -v32_flexPriceShareMin(tall,all_regi,all_te) "possible minimum of share of average electricity price that flexible technologies see [share: 0...1]" -; - -*** EOF ./modules/32_power/DTcoup/declarations.gms diff --git a/modules/32_power/DTcoup/equations.gms b/modules/32_power/DTcoup/equations.gms deleted file mode 100644 index fcaa37f62..000000000 --- a/modules/32_power/DTcoup/equations.gms +++ /dev/null @@ -1,236 +0,0 @@ -*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/32_power/DTcoup/equations.gms - -*' @equations - -***--------------------------------------------------------------------------- -*' Balance equation for electricity secondary energy type: -***--------------------------------------------------------------------------- -q32_balSe(t,regi,enty2)$(sameas(enty2,"seel")).. - sum(pe2se(enty,enty2,te), vm_prodSe(t,regi,enty,enty2,te) ) - + sum(se2se(enty,enty2,te), vm_prodSe(t,regi,enty,enty2,te) ) - + sum(pc2te(enty,entySe(enty3),te,enty2), - pm_prodCouple(regi,enty,enty3,te,enty2) * vm_prodSe(t,regi,enty,enty3,te) ) - + sum(pc2te(enty4,entyFe(enty5),te,enty2), - pm_prodCouple(regi,enty4,enty5,te,enty2) * vm_prodFe(t,regi,enty4,enty5,te) ) - + sum(pc2te(enty,enty3,te,enty2), - sum(teCCS2rlf(te,rlf), - pm_prodCouple(regi,enty,enty3,te,enty2) * vm_co2CCS(t,regi,enty,enty3,te,rlf) ) ) - + vm_Mport(t,regi,enty2) - =e= - sum(se2fe(enty2,enty3,te), vm_demSe(t,regi,enty2,enty3,te) ) - + sum(se2se(enty2,enty3,te), vm_demSe(t,regi,enty2,enty3,te) ) - + sum(teVRE, v32_storloss(t,regi,teVRE) ) - + sum(pe2rlf(enty3,rlf2), (pm_fuExtrOwnCons(regi, enty2, enty3) * vm_fuExtr(t,regi,enty3,rlf2))$(pm_fuExtrOwnCons(regi, enty2, enty3) gt 0))$(t.val > 2005) !! do not use in 2005 because this demand is not contained in 05_initialCap - + vm_Xport(t,regi,enty2) -; - -q32_usableSe(t,regi,entySe)$(sameas(entySe,"seel")).. - vm_usableSe(t,regi,entySe) - =e= - sum(pe2se(enty,entySe,te), vm_prodSe(t,regi,enty,entySe,te) ) - + sum(se2se(enty,entySe,te), vm_prodSe(t,regi,enty,entySe,te) ) - + sum(pc2te(entyPe,entySe(enty3),te,entySe)$(pm_prodCouple(regi,entyPe,enty3,te,entySe) gt 0), - pm_prodCouple(regi,entyPe,enty3,te,entySe)*vm_prodSe(t,regi,entyPe,enty3,te) ) - - sum(teVRE, v32_storloss(t,regi,teVRE) ) -; - -q32_usableSeTe(t,regi,entySe,te)$(sameas(entySe,"seel") AND teVRE(te)).. - vm_usableSeTe(t,regi,entySe,te) - =e= - sum(pe2se(enty,entySe,te), vm_prodSe(t,regi,enty,entySe,te) ) - + sum(se2se(enty,entySe,te), vm_prodSe(t,regi,enty,entySe,te) ) - + sum(pc2te(enty,entySe(enty3),te,entySe)$(pm_prodCouple(regi,enty,enty3,te,entySe) gt 0), - pm_prodCouple(regi,enty,enty3,te,entySe) * vm_prodSe(t,regi,enty,enty3,te) ) - - sum(teVRE$sameas(te,teVRE), v32_storloss(t,regi,teVRE) ) -; - -***--------------------------------------------------------------------------- -*' Definition of capacity constraints for storage: -***--------------------------------------------------------------------------- -q32_limitCapTeStor(t,regi,teStor)$( t.val ge 2015 ) .. - ( 0.5$( cm_VRE_supply_assumptions eq 1 ) - + 1$( cm_VRE_supply_assumptions ne 1 ) - ) - * sum(VRE2teStor(teVRE,teStor), v32_storloss(t,regi,teVRE)) - * pm_eta_conv(t,regi,teStor) - / (1 - pm_eta_conv(t,regi,teStor)) - =l= - sum(te2rlf(teStor,rlf), - vm_capFac(t,regi,teStor) - * pm_dataren(regi,"nur",rlf,teStor) - * vm_cap(t,regi,teStor,rlf) - ) -; - - -*** H2 storage implementation: Storage technologies (storspv, storwind etc.) also -*** represent H2 storage. This is implemented by automatically scaling up capacities of -*** elh2VRE (electrolysis from VRE, seel -> seh2) and H2 turbines (h2turbVRE, seh2 -> seel) -*** with VRE capacities which require storage (according to q32_limitCapTeStor): - -*** build additional electrolysis capacities with stored VRE electricity -q32_elh2VREcapfromTestor(t,regi).. - vm_cap(t,regi,"elh2","1") - =g= - sum(te$teStor(te), p32_storageCap(te,"elh2VREcapratio") * vm_cap(t,regi,te,"1") ) -; - -*** build additional h2 to seel capacities to use stored hydrogen -q32_h2turbVREcapfromTestor(t,regi).. - vm_cap(t,regi,"h2turbVRE","1") - =e= - sum(te$teStor(te), p32_storageCap(te,"h2turbVREcapratio") * vm_cap(t,regi,te,"1") ) -; - -***--------------------------------------------------------------------------- -*' Definition of capacity constraints for CHP technologies: -***--------------------------------------------------------------------------- -q32_limitCapTeChp(t,regi).. - sum(pe2se(enty,"seel",teChp(te)), vm_prodSe(t,regi,enty,"seel",te) ) - =l= - p32_shCHP(t,regi) - * sum(pe2se(enty,"seel",te), vm_prodSe(t,regi,enty,"seel",te) ) -; - -***--------------------------------------------------------------------------- -*' Calculation of necessary grid installations for centralized renewables: -***--------------------------------------------------------------------------- -q32_limitCapTeGrid(t,regi)$( t.val ge 2015 ) .. - vm_cap(t,regi,"gridwind",'1') !! Technology is now parameterized to yield marginal costs of ~3.5$/MWh VRE electricity - / p32_grid_factor(regi) !! It is assumed that large regions require higher grid investment - =g= - vm_prodSe(t,regi,"pesol","seel","spv") - + vm_prodSe(t,regi,"pesol","seel","csp") - + 1.5 * vm_prodSe(t,regi,"pewin","seel","wind") !! wind has larger variations accross space, so adding grid is more important for wind (result of REMIX runs for ADVANCE project) -$IFTHEN.WindOff %cm_wind_offshore% == "1" - + 3 * vm_prodSe(t,regi,"pewin","seel","windoff") -$ENDIF.WindOff -; - -***--------------------------------------------------------------------------- -*' Calculation of share of electricity production of a technology: -***--------------------------------------------------------------------------- -q32_shSeEl(t,regi,teVRE).. - vm_shSeEl(t,regi,teVRE) / 100 * vm_usableSe(t,regi,"seel") - =e= - vm_usableSeTe(t,regi,"seel",teVRE) -; - -***--------------------------------------------------------------------------- -*' Calculation of necessary storage electricity production: -***--------------------------------------------------------------------------- -q32_shStor(t,regi,teVRE)$(t.val ge 2015).. - v32_shStor(t,regi,teVRE) - =g= - p32_factorStorage(regi,teVRE) * 100 - * ( - (1.e-10 + (vm_shSeEl(t,regi,teVRE)+ sum(VRE2teVRElinked(teVRE,teVRE2), vm_shSeEl(t,regi,teVRE2)) /s32_storlink)/100 ) ** p32_storexp(regi,teVRE) !! offset of 1.e-10 for numerical reasons: gams doesn't like 0 if the exponent is not integer - - (1.e-10 ** p32_storexp(regi,teVRE) ) !! offset correction - - 0.07 !! first 7% of VRE share bring no negative effects - ) -; - -q32_storloss(t,regi,teVRE)$(t.val ge 2015).. - v32_storloss(t,regi,teVRE) - =e= - v32_shStor(t,regi,teVRE) / 93 !! corrects for the 7%-shift in v32_shStor: at 100% the value is correct again - * sum(VRE2teStor(teVRE,teStor), (1 - pm_eta_conv(t,regi,teStor) ) / pm_eta_conv(t,regi,teStor) ) - * vm_usableSeTe(t,regi,"seel",teVRE) -; - -***--------------------------------------------------------------------------- -*' Operating reserve constraint -***--------------------------------------------------------------------------- -q32_operatingReserve(t,regi)$(t.val ge 2010).. -***1 is the chosen load coefficient - vm_usableSe(t,regi,"seel") - =l= -*** Variable renewable coefficients could be expected to be negative because they are variable. -*** However they are modeled positive because storage conditions make variable renewables controllable. - sum(pe2se(enty,"seel",te)$(NOT teVRE(te)), - pm_data(regi,"flexibility",te) * vm_prodSe(t,regi,enty,"seel",te) ) - + sum(se2se(enty,"seel",te)$(NOT teVRE(te)), - pm_data(regi,"flexibility",te) * vm_prodSe(t,regi,enty,"seel",te) ) - + sum(pe2se(enty,"seel",teVRE), - pm_data(regi,"flexibility",teVRE) * (vm_prodSe(t,regi,enty,"seel",teVRE)-v32_storloss(t,regi,teVRE)) ) - + - sum(pe2se(enty,"seel",teVRE), - sum(VRE2teStor(teVRE,teStor), - pm_data(regi,"flexibility",teStor) * (vm_prodSe(t,regi,enty,"seel",teVRE)-v32_storloss(t,regi,teVRE)) ) ) -; - -*** FS: calculate flexibility adjustment used in flexibility tax for technologies with electricity input -***---------------------------------------------------------------------------- - -*** This equation calculates the minimal flexible electricity price that flexible technologies (like elh2) can see. It is reached when the VRE share is 100%. -*** It depends on the capacity factor with a hyperbolic function. The equation ensures that by decreasing -*** capacity factor of flexible technologies (teFlex) these technologies see lower electricity prices given that there is a high VRE share in the power system. - -*** On the derivation of the equation: -*** The formulation assumes a cubic price duration curve. That is, the effective electricity price the flexible technologies sees -*** depends on the capacity factor (CF) with a cubic function centered at (0.5,1): -*** p32_PriceDurSlope * (CF-0.5)^3 + 1, -*** Hence, at CF = 0.5, the REMIND average price pm_SEPrice(t,regi,"seel") is paid. -*** To get the average electricity price that a flexible technology sees at a certain CF, -*** we need to integrate this function with respect to CF and divide by CF. This gives the formulation below: -*** v32_flexPriceShareMin = p32_PriceDurSlope * ((CF-0.5)^4-0.5^4) / (4*CF) + 1. -*** This is the new average electricity price a technology sees if it runs on (a possibly lower than one) capacity factor CF -*** and deliberately uses hours of low-cost electricity. - q32_flexPriceShareMin(t,regi,te)$(teFlex(te)).. - v32_flexPriceShareMin(t,regi,te) * 4 * vm_capFac(t,regi,te) - =e= - p32_PriceDurSlope(regi,te) * (power(vm_capFac(t,regi,te) - 0.5,4) - 0.5**4) + - 4 * vm_capFac(t,regi,te) -; - -*** Calculates the electricity price of flexible technologies: -*** The effective flexible price linearly decreases with VRE share -*** from 1 (at 0% VRE share) to v32_flexPriceShareMin (at 100% VRE). -q32_flexPriceShare(t,regi,te)$(teFlex(te)).. - v32_flexPriceShare(t,regi,te) - =e= - 1 - (1-v32_flexPriceShareMin(t,regi,te)) * sum(teVRE, vm_shSeEl(t,regi,teVRE))/100 -; - -*** This balance ensures that the lower electricity prices of flexible technologies are compensated -*** by higher electricity prices of inflexible technologies. Inflexible technologies are all technologies -*** which are part of teFlexTax but not of teFlex. The weighted sum of -*** flexible/inflexible electricity prices (v32_flexPriceShare) and electricity demand must be one. -*** Note: this is only on if cm_FlexTaxFeedback = 1. Otherwise, there is no change in electricity prices for inflexible technologies. -q32_flexPriceBalance(t,regi)$(cm_FlexTaxFeedback eq 1).. - sum(en2en(enty,enty2,te)$(teFlexTax(te)), - vm_demSe(t,regi,enty,enty2,te)) - =e= - sum(en2en(enty,enty2,te)$(teFlexTax(te)), - vm_demSe(t,regi,enty,enty2,te) * v32_flexPriceShare(t,regi,te)) -; - - -*** This calculates the flexibility benefit or cost per unit electricity input -*** of flexibile or inflexible technology. Flexible technologies benefit -*** (v32_flexPriceShare < 1), while inflexible technologies are penalized -*** (v32_flexPriceShare > 1). -*** In the tax module, vm_flexAdj is then deduced from the electricity price via -*** the flexibility tax formulation. -*** Below, pm_SEPrice(t,regi,"seel") is the (average) electricity price from the -*** last iteration, limited between 0 and 230 $/MWh (= 2 T$/TWa) to prevent -*** unreasonable FE prices caused by meaningless marginals in infeasible Nash -*** iterations from propagating through the model. -*** Fixed to 0 if cm_flex_tax != 1, and before 2025. -q32_flexAdj(t,regi,te)$(teFlexTax(te)).. - vm_flexAdj(t,regi,te) - =e= - ( (1 - v32_flexPriceShare(t,regi,te)) - * max(0, min(2, pm_SEPrice(t,regi,"seel"))) - )$( cm_flex_tax eq 1 AND t.val ge 2025 ) -; - -*' @stop - -*** EOF ./modules/32_power/DTcoup/equations.gms diff --git a/modules/32_power/DTcoup/not_used.txt b/modules/32_power/DTcoup/not_used.txt deleted file mode 100644 index 8ddfa6f74..000000000 --- a/modules/32_power/DTcoup/not_used.txt +++ /dev/null @@ -1,18 +0,0 @@ -# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) -# | authors, and contributors see CITATION.cff file. This file is part -# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -# | AGPL-3.0, you are granted additional permissions described in the -# | REMIND License Exception, version 1.0 (see LICENSE file). -# | Contact: remind@pik-potsdam.de -name,type,reason -vm_capDistr, variable, ??? -vm_demSeOth, variable, ??? -vm_prodSeOth, variable, ??? -pm_emifac, parameter, ??? -cm_nucscen, switch, ??? -vm_deltaCap,input,questionnaire -cm_emiscen,input,questionnaire -cm_ccapturescen,input,questionnaire -pm_boundCapCCS,input,questionnaire -pm_cap0,input,questionnaire -vm_shDemSeel,input,only used in IntC realization diff --git a/modules/32_power/DTcoup/postsolve.gms b/modules/32_power/DTcoup/postsolve.gms deleted file mode 100644 index 7ee28a95e..000000000 --- a/modules/32_power/DTcoup/postsolve.gms +++ /dev/null @@ -1,14 +0,0 @@ -*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/32_power/DTcoup/postsolve.gms - -*** calculation of SE electricity price (useful for internal use and reporting purposes) -pm_SEPrice(ttot,regi,entySe)$(abs (qm_budget.m(ttot,regi)) gt sm_eps AND sameas(entySe,"seel")) = - q32_balSe.m(ttot,regi,entySe) / qm_budget.m(ttot,regi); - -*** EOF ./modules/32_power/DTcoup/postsolve.gms - diff --git a/modules/32_power/DTcoup/preloop.gms b/modules/32_power/DTcoup/preloop.gms deleted file mode 100644 index d496d54cd..000000000 --- a/modules/32_power/DTcoup/preloop.gms +++ /dev/null @@ -1,15 +0,0 @@ -*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de - -*** SOF ./modules/32_power/DTcoup/preloop.gms - -*** read marginal of seel balance equation -Execute_Loadpoint 'input' q32_balSe.m = q32_balSe.m; - - - -*** EOF ./modules/32_power/DTcoup/preloop.gms diff --git a/modules/32_power/DTcoup/presolve.gms b/modules/32_power/DTcoup/presolve.gms deleted file mode 100644 index 054158db1..000000000 --- a/modules/32_power/DTcoup/presolve.gms +++ /dev/null @@ -1,14 +0,0 @@ -*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/32_power/DTcoup/presolve.gms - - -*** calculation of SE electricity price (useful for internal use and reporting purposes) -pm_SEPrice(t,regi,entySe)$(abs (qm_budget.m(t,regi)) gt sm_eps AND sameas(entySe,"seel")) = - q32_balSe.m(t,regi,entySe) / qm_budget.m(t,regi); - -*** EOF ./modules/32_power/DTcoup/presolve.gms diff --git a/modules/32_power/DTcoup/realization.gms b/modules/32_power/DTcoup/realization.gms deleted file mode 100644 index 47ac083a2..000000000 --- a/modules/32_power/DTcoup/realization.gms +++ /dev/null @@ -1,43 +0,0 @@ -*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/32_power/DTcoup/realization.gms - -*' @description -*' -*'The `IntC` realization (Integrated Costs) assumes a single electricity market balance. -*' -*'This module determines power system supply specific technology behavior, which sums up to the general core capacity equations to define the power sector operation and investment decisions. -*' -*'Contrary to other secondary energy types in REMIND, this requires to move the electricity secondary energy balance (supply = demand) from the core to the module code. -*' -*' -*'In summary, the specific power technology equations found in this module reflect the points below. -*' -*' -*'Storage requirements are based on intermittent renewables share, synergies between different renewables production profiles and curtailment. -*' -*'Additional grid capacities are calculated for high intermittent renewable capacity (solar and wind) and regional spatial differences. -*' -*'Combined heat and power technologies flexibility is limited to technology and spatial observed data. -*' -*'Operation reserve requirements are enforced to provide enough flexibility to the power system frequency regulation. -*' -*'Hydrogen can be used to reduce renewable power curtailment and provide flexibility to the system future generation. -*' -*' @authors Robert Pietzcker, Falko Ueckerdt, Renato Rodrigues - -*####################### R SECTION START (PHASES) ############################## -$Ifi "%phase%" == "declarations" $include "./modules/32_power/DTcoup/declarations.gms" -$Ifi "%phase%" == "datainput" $include "./modules/32_power/DTcoup/datainput.gms" -$Ifi "%phase%" == "equations" $include "./modules/32_power/DTcoup/equations.gms" -$Ifi "%phase%" == "preloop" $include "./modules/32_power/DTcoup/preloop.gms" -$Ifi "%phase%" == "bounds" $include "./modules/32_power/DTcoup/bounds.gms" -$Ifi "%phase%" == "presolve" $include "./modules/32_power/DTcoup/presolve.gms" -$Ifi "%phase%" == "postsolve" $include "./modules/32_power/DTcoup/postsolve.gms" -*######################## R SECTION END (PHASES) ############################### - -*** EOF ./modules/32_power/DTcoup/realization.gms diff --git a/modules/32_power/RLDC/bounds.gms b/modules/32_power/RLDC/bounds.gms deleted file mode 100644 index 1babb500d..000000000 --- a/modules/32_power/RLDC/bounds.gms +++ /dev/null @@ -1,184 +0,0 @@ -*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/32_power/RLDC/bounds.gms - -***----------------------------------------------------------- -*** module specific bounds -***------------------------------------------------------------ - -vm_usableSe.lo(t,regi,"seel") = 1e-6; - -v32_capLoB.up(t,regi,te,LoB) = 2; !! The total power system has maximum demand of 1 -v32_LoBheight.up(t,regi,LoB) = 2; !! The total power system has maximum demand of 1 -v32_LoBheightCum.up(t,regi,LoB) = 2; !! The total power system has maximum demand of 1.5 (should be one, but the reforming of the baseload band leads to -v32_shTh.up(t,regi,teVRE) = 2; !! Worlds with higher than twice the total energy demand coming from either wind or solar (before curtailment) are unrealistic - -v32_scaleCap.up(t,regi) = 100; !! no power system will be larger than 100 TW -v32_scaleCap.up(t,regi) = 20; -v32_scaleCap.lo(t,regi) = 1e-4; !! Make sure REMIND does not try to shrink a power system to zero -v32_scaleCap.lo(t,regi) = 0.01; - -loop(te$(NOT teRLDCDisp(te)), - vm_capFac.fx(t,regi,te) = pm_cf(t,regi,te); -); - -vm_capFac.up(t,regi,teRLDCDisp) = 1.00; -vm_capFac.l(t,regi,teRLDCDisp) = pm_cf("2005",regi,teRLDCDisp) * pm_dataren(regi,"nur","1",teRLDCDisp); - -v32_capLoB.lo(t,regi,teRLDCDisp,LoB)$(t.val>2015) = 1e-6; !!Lower bound to capacity to avoid infeasibility -*v32_capLoB.lo("2005",regi,"geohdr",LoB) = 1e-6; !!Necessary to avoid infeasibility due to geohdr being zero in all LoB except for the 4th LoB, making impossible to the vm_capFac to match the v32_capLoB sum, with the lack of v32_capER in the initial year and a p32_capFacLoB != 1 - -*RP* CCS technologies can make a problem if the caps are fixed to 0, but the capLoBs left free -loop(regi, - if ( (cm_ccapturescen eq 2) OR (cm_emiscen eq 1) , !! in no-CCS and BAU scenarios, no CCS is allowed - loop(emi2te(enty,"seel",te,"cco2")$( pm_emifac("2020",regi,enty,"seel",te,"cco2") >0 ), !! use 2020 as proxy - only limit the seel technologies - the others don't have a capFac and capLob and capER - loop(te2rlf(te,rlf), - vm_capFac.fx(ttot,regi,te) = 0; - v32_capLoB.fx(t,regi,te,LoB) = 0; - v32_capER.fx(t,regi,te) = 0; - ); - ); - elseif (cm_ccapturescen eq 5), !! noElecCCS - loop(emi2te(enty,"seel",te,"cco2")$( pm_emifac("2020",regi,enty,"seel",te,"cco2") >0 ), - loop(te2rlf(te,rlf), - vm_capFac.fx(ttot,regi,te) = 0; - v32_capLoB.fx(t,regi,te,LoB) = 0; - v32_capER.fx(t,regi,te) = 0; - ); - ); - ); -); - -*Avoiding infeasibilities from upper limit on CCS deployment in 2020 -loop(regi, - loop(t$(t.val le 2030), - if( ( pm_boundCapCCS(t,regi,"up") eq 0), - vm_capFac.fx(t,regi,teCCS) = 0; - v32_capLoB.fx(t,regi,teCCS,LoB) = 0; - v32_capER.fx(t,regi,teCCS) = 0; - ); - ); -); - - -*RP same for nuc: -if ( (cm_nucscen eq 5) , !! in no-Nuc scenarios, no tnrs is allowed - loop(pe2se("peur",enty,te), - vm_capFac.fx(t,regi,te)$(t.val > 2060) = 0; - v32_capLoB.fx(t,regi,te,LoB)$(t.val > 2060) = 0; - v32_capER.fx(t,regi,te)$(t.val > 2060) = 0; - ); -); - -vm_capFac.fx(t,regi,"fnrs")= 0; -v32_capLoB.fx(t,regi,"fnrs",LoB)= 0; -v32_capER.fx(t,regi,"fnrs")= 0; - -v32_curt.lo(t,regi)$(t.val>2010) = 0; - -*RP* CHP technologies should not have larger CFs than 0.6, as heat is not always needed. They can still contribute to -*** baseload, but then some other part of the total capacity needs to be underutilized - this could represent costs for thermal storage -loop(te$teChp(te), - vm_capFac.up(t,regi,te)$(t.val > 2005) = 0.6; -); - -***---------------------------------------------- -*RP: bounds to make the first runs more feasible -***---------------------------------------------- -loop(regi, - loop(te$( (teRLDCDisp(te)) ), - if( ( pm_cap0(regi,te) > 0 ) , - vm_capFac.up("2005",regi,te) = 1.01 * pm_cf("2005",regi,te); - vm_capFac.lo("2005",regi,te) = 0.98 * pm_cf("2005",regi,te); - vm_capFac.lo("2010",regi,te) = 0.009; - vm_capFac.lo("2015",regi,te) = 0.009; - if( teReNoBio(te), - vm_capFac.up("2005",regi,te) = 1.01 * pm_dataren(regi,"nur","1",te) * pm_cf("2005",regi,te); - vm_capFac.lo("2005",regi,te) = 0.4 * pm_dataren(regi,"nur","1",te) * pm_cf("2005",regi,te); - ); - else - vm_capFac.fx("2005",regi,te) = 0; - ); - ); -); - -vm_capFac.up(t,regi,"hydro")$(t.val > 2005) = 0.25; !! Japan has quite low hydro CFs, so the rule "0.4 * pm_dataren(regi,"nur","1",te)" produces infeasibilities - -vm_capFac.lo("2005",regi,"hydro") = 0.2; !! Japan has quite low hydro CFs, so the rule "0.4 * pm_dataren(regi,"nur","1",te)" produces infeasibilities. As the 2005 bounds are anyway only there to facilitate that the model finds an initial solution, set this limit for all regions - -***----------------------------------------------------- -*** -***----------------------------------------------------- - -***v32_LoBheightCum.lo(t,regi,LoB) = 0.01; -v32_LoBheightCum.lo("2010",regi,"1") = 0.82; -v32_LoBheightCum.lo("2010",regi,"2") = 0.48; -v32_LoBheightCum.lo("2010",regi,"3") = 0.38; -v32_LoBheightCum.lo("2010",regi,"4") = 0.26; - -v32_shTh.lo(t,regi,"spv")$(t.val > 2020) = 0.01; -v32_shTh.lo(t,regi,"wind")$(t.val > 2020) = 0.01; - -v32_curt.up(t,regi) = 100; -$if %cm_Full_Integration% == "on" v32_curt.fx(t,regi) = 0; - -*** Advanced technologies can't be build prior to 2015/2020 -loop(regi, - loop(teNoLearn(te), - if( (pm_data(regi,"tech_stat",te) eq 2), - v32_capLoB.fx("2010",regi,te,LoB) = 0; - elseif (pm_data(regi,"tech_stat",te) eq 3), - v32_capLoB.fx("2010",regi,te,LoB) = 0; - v32_capLoB.fx("2015",regi,te,LoB) = 0; - ); - ); -); - -*** nuclear only as baseload -v32_capLoB.fx(t,regi,"tnrs","1")$(t.val > 2010) = 0; -v32_capLoB.fx(t,regi,"tnrs","2")$(t.val > 2010) = 0; -v32_capLoB.fx(t,regi,"tnrs","3")$(t.val > 2010) = 0; - - -*** facilitiate finding sulutions in the ADVANCE Full_Integration run -$if %cm_Full_Integration% == "on" v32_capLoB.lo(t,regi,"spv",LoB)$(t.val > 2030) = 1e-6; -$if %cm_Full_Integration% == "on" v32_capLoB.lo(t,regi,"wind",LoB)$(t.val > 2030) = 1e-6; -$if %cm_Full_Integration% == "on" vm_cap.lo(t,regi,"spv",LoB)$(t.val > 2030) = 1e-3; -$if %cm_Full_Integration% == "on" vm_cap.lo(t,regi,"wind",LoB)$(t.val > 2030) = 1e-3; - -***No slow ramping technologies as peaking plants -v32_capLoB.fx(t,regi,te,"1")$teNotLoB1(te) = 0; -***Technologies that can not run for 7500 FLh, and therefore cannot be considered at baseload -v32_capLoB.fx(t,regi,te,"4")$teNotBase(te) = 0; - -***Make sure the model sees the h2-el connections -vm_cap.lo(t,regi,"h2turb","1")$(t.val > 2050) = 1e-6; -vm_cap.lo(t,regi,"elh2","1")$(t.val > 2050) = 1e-6; -vm_cap.lo(t,regi,"h2curt","1")$(t.val > 2090) = 1e-5; -$if %cm_Full_Integration% == "on" vm_cap.fx(t,regi,"h2curt","1") = 0; -$if %cm_Full_Integration% == "on" vm_deltaCap.fx(t,regi,"h2curt","1") = 0; - -*** Allow the curtailment->H2 channel: -vm_prodSeOth.up(t,regi,"seh2","h2curt") = 1e6; -vm_prodSeOth.lo(t,regi,"seh2","h2curt")$(t.val > 2090) = 1e-6; - -$if %cm_Full_Integration% == "on" vm_prodSeOth.fx(t,regi,"seh2","h2curt") = 0; !! no curtailment if all VRE are treated as dispatchable - -vm_cap.fx(t,regi,"gridspv","1")$(t.val > 2070) = 0; -vm_cap.fx(t,regi,"gridcsp","1")$(t.val > 2070) = 0; -vm_cap.fx(t,regi,"storcsp","1")$(t.val > 2070) = 0; -vm_cap.fx(t,regi,"storwind","1")$(t.val > 2070) = 0; -$IFTHEN.WindOff %cm_wind_offshore% == "1" -vm_cap.fx(t,regi,"storwindoff","1")$(t.val > 2070) = 0; -$ENDIF.WindOff - -$if %cm_Full_Integration% == "on" vm_cap.fx(t,regi,"storspv","1") = 0; -$if %cm_Full_Integration% == "on" vm_deltaCap.fx(t,regi,"storspv","1") = 0; - -vm_deltaCap.up(t,regi,"dot",rlf)$(t.val > 2040) = 1e-5; - -*** EOF ./modules/32_power/RLDC/bounds.gms diff --git a/modules/32_power/RLDC/datainput.gms b/modules/32_power/RLDC/datainput.gms deleted file mode 100644 index f9bcd8f2a..000000000 --- a/modules/32_power/RLDC/datainput.gms +++ /dev/null @@ -1,105 +0,0 @@ -*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/32_power/RLDC/datainput.gms - -*------------------------------------------------------------------------------------ -*** RLDC specific data input -*------------------------------------------------------------------------------------ - -parameter f32_shCHP(ttot,all_regi) "upper boundary of chp electricity generation" -/ -$ondelim -$include "./modules/32_power/RLDC/input/f32_shCHP.cs4r" -$offdelim -/ -; -p32_shCHP(ttot,all_regi) = f32_shCHP(ttot,all_regi) + 0.05; -p32_shCHP(ttot,all_regi)$(ttot.val ge 2050) = min(p32_shCHP("2020",all_regi) + 0.15, 0.75); -p32_shCHP(ttot,all_regi)$((ttot.val gt 2020) and (ttot.val lt 2050)) = p32_shCHP("2020",all_regi) + ((p32_shCHP("2050",all_regi) - p32_shCHP("2020",all_regi)) / 30 * (ttot.val - 2020)); - - -***parameter p32_grid_factor(all_regi) - multiplicative factor that scales total grid requirements down in comparatively small or homogeneous regions like Japan, Europe or India -parameter p32_grid_factor(all_regi) "multiplicative factor that scales total grid requirements down in comparatively small or homogeneous regions like Japan, Europe or India" -/ -$ondelim -$include "./modules/32_power/RLDC/input/p32_grid_factor.cs4r" -$offdelim -/ -; - -***parameter p32_capFacLoB(LoB) - Capacity factor of a load band (Unit 0..1) -p32_capFacLoB("1") = 0.08; -p32_capFacLoB("2") = 0.25; -p32_capFacLoB("3") = 0.50; -p32_capFacLoB("4") = 0.86; !! no plant runs longer than 7500 hours - accordingly the height of the base load band is rescaled in q32_LoBheight - -***parameter p32_ResMarg(ttot,all_regi) - reserve margin as markup on actual peak capacity. Unit [0..1] -p32_ResMarg(ttot,regi) = 0.30; - -***parameter p32_RLDCcoeff(all_regi,PolyCoeff,RLDCbands) - Coefficients for the non-separable wind/solar-cross-product polynomial RLDC fit -table f32_RLDC_Coeff_LoB(all_regi,RLDCbands,PolyCoeff) "RLDC coefficients for combined Wind-Solar Polynomial" -$ondelim -$include "./modules/32_power/RLDC/input/f32_RLDC_Coeff_LoB.cs3r" -$offdelim -; -table f32_RLDC_Coeff_Peak(all_regi,RLDCbands,PolyCoeff) "RLDC coefficients for combined Wind-Solar Polynomial" -$ondelim -$include "./modules/32_power/RLDC/input/f32_RLDC_Coeff_Peak.cs3r" -$offdelim -; - -loop(regi, - loop(RLDCbands, - if( PeakDep(RLDCbands), - p32_RLDCcoeff(regi,PolyCoeff,RLDCbands) = (f32_RLDC_Coeff_LoB(regi,RLDCbands,PolyCoeff)+f32_RLDC_Coeff_Peak(regi,RLDCbands,PolyCoeff)) / f32_RLDC_Coeff_Peak(regi,"peak","p00"); - else - p32_RLDCcoeff(regi,PolyCoeff,RLDCbands) = (f32_RLDC_Coeff_LoB(regi,RLDCbands,PolyCoeff)+f32_RLDC_Coeff_Peak(regi,RLDCbands,PolyCoeff)) ; - ) - ); -); - -***parameter p32_LoBheight0(all_regi,LoB) - Load band heights at 0% VRE share (Unit 0..1) -loop(LoB, - p32_LoBheight0(regi,LoB) = p32_RLDCcoeff(regi,"p00",LoB) - p32_RLDCcoeff(regi,"p00",LoB+1)$( LoB.val < card(LoB) ); - if ( ( LoB.val eq card(LoB) ), - p32_LoBheight0(regi,LoB) = p32_LoBheight0(regi,LoB) * ( 1 / p32_capFacLoB(LoB) ); !! upscale the height of the base-load band to represent the fact that the fit was done with 8760 hours ( = 1), while no plant runs longer than 7500 hours (CF = 0.86) - ) -); - -***parameter p32_capFacDem(all_regi) - Average demand factor of a power sector (Unit 0..1) -p32_capFacDem(regi) = sum(LoB, p32_LoBheight0(regi,LoB) * p32_capFacLoB(LoB) ); - -loop(regi, - loop(te$(teReNoBio(te)), - p32_avCapFac(t,regi,te) = - sum(rlf, pm_dataren(regi,"nur",rlf,te) * pm_dataren(regi,"maxprod",rlf,te) ) - / ( sum(rlf, pm_dataren(regi,"maxprod",rlf,te) ) + 1e-8) - ; - ); -); - -$ontext -loop(regi, - loop(te$(teReNoBio(te)), - p32_avCapFac(t,regi,te) = -* sum(rlf$(UsedGrades2070(regi,te,rlf)), - sum(rlf, - pm_dataren(regi,"nur",rlf,te) * pm_dataren(regi,"maxprod",rlf,te) - ) -* / ( sum(rlf$UsedGrades2070(regi,te,rlf), pm_dataren(regi,"maxprod",rlf,te) ) - / ( sum(rlf, pm_dataren(regi,"maxprod",rlf,te) ) - + 1e-8) ; - ); -); -$offtext - -***parameter p32_curtOn(all_regi) - control variable for curtailment fitted from the DIMES-Results -p32_curtOn(regi) = 1; - -***display p32_capFacDem, p32_capFacLoB, p32_RLDCcoeff, p32_avCapFac, p32_ResMarg, p32_curtOn, p32_shCHP, p32_grid_factor; - -*** EOF ./modules/32_power/RLDC/datainput.gms diff --git a/modules/32_power/RLDC/declarations.gms b/modules/32_power/RLDC/declarations.gms deleted file mode 100644 index 5b3699993..000000000 --- a/modules/32_power/RLDC/declarations.gms +++ /dev/null @@ -1,78 +0,0 @@ -*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/32_power/RLDC/declarations.gms - -parameters - p32_capFacDem(all_regi) "Average demand factor of a power sector [0,1]" - p32_capFacLoB(LoB) "Capacity factor of a load band [0,1]" - p32_RLDCcoeff(all_regi,PolyCoeff,RLDCbands) "Coefficients for the non-separable wind/solar-cross-product polynomial RLDC fit" - p32_avCapFac(ttot,all_regi,all_te) "Average load factor (Nur) of the first 5 grades of a technology" - p32_ResMarg(ttot,all_regi) "Reserve margin as markup on actual peak capacity [0,1]" - p32_curtOn(all_regi) "Control variable for curtailment fitted from the DIMES-Results" - p32_shCHP(ttot,all_regi) "Upper boundary of chp electricity generation" - p32_grid_factor(all_regi) "Multiplicative factor that scales total grid requirements down in comparatively small or homogeneous regions like Japan, Europe or India" - p32_LoBheight0(all_regi,LoB) "Load band heights at 0% VRE share (declared here, on the data input file, because it is only used for the p32_capFacDem definition) [0,1]" -; - -positive variables - v32_scaleCap(ttot,all_regi) "Scale Factor to scale the power capacitites from 'relative to Peak Demand' up to total system level [TW]" - v32_shTh(ttot,all_regi,all_te) "Theoretical share of variable renewable energies [0,1]" - v32_capLoB(ttot,all_regi,all_te,LoB) "Capacity of a technology within one load band relative to peak demand [0,1]" - v32_capER(ttot,all_regi,all_te) "Early retired capacities [0,1]" - v32_curt(ttot,all_regi) "Curtailment of power in the RLDC formulation of the power sector [TWa]" - v32_LoBheight(ttot,all_regi,LoB) "Height of each load band relative to Peak Demand [0,1]" - v32_overProdCF(ttot,all_regi,all_te) "Overproduction CF from dispatchable renewable energies (csp and hydro) [0,1]" - v32_CurtModelminusFit(ttot,all_regi) "Difference between model curtailment and fitted curtailment" - v32_LoBheightCum(ttot,all_regi,LoB) "Cumulative height of each load band relative to Peak Demand [0,1]" - v32_peakCap(ttot,all_regi) "Peak capacity after RLDC [0,1]" - v32_H2cof_PVsh(ttot,all_regi) "Amount of cofiring of gas/H2 to CSP needed due to correlation with PV" - v32_H2cof_Lob4(ttot,all_regi) "Amount of cofiring of gas/H2 to CSP needed due to use of CSP in LoB 4, which has a high CF" - v32_H2cof_Lob3(ttot,all_regi) "Amount of cofiring of gas/H2 to CSP needed due to use of CSP in LoB 3, which has a high CF" - v32_H2cof_CSPsh(ttot,all_regi) "Amount of cofiring of gas/H2 to CSP needed due to self-correlation of CSP" - v32_sqrtCurt(ttot,all_regi) "Helper variable: share of the year for which curtailment is higher than 1/3 of maximum curtailment - this is the amount that we assume we can use for producing H2. Because we assume a 1-to-3 ratio of time to capacity for curtailment, it is also used to calculate the curtailed capacity" - vm_shSeEl(ttot,all_regi,all_te) "new share of electricity production in % [%]" -; - -variables - v32_curtFit(ttot,all_regi) "Curtailment as fitted from the DIMES-Results" - v32_FullIntegrationSlack(ttot,all_regi) "Slack variable that allows implementation of the 'Full Integration' ADVANCE scenario variation, where we assume no integration challenges for wind and solar, thus no curtailment" - v32_LoBheightCumExact(ttot,all_regi,LoB) "Cumulative height of load bands, calculated from theoretical wind and solar share based on the DIMES fits " -; - -equations - q32_balSe(ttot,all_regi,all_enty) "Balance equation for electricity secondary energy" - q32_usableSe(ttot,all_regi,all_enty) "Calculate usable se before se2se and MP/XP (without storage)" - q32_usableSeTe(ttot,all_regi,entySe,all_te) "Calculate usable se produced by one technology (vm_usableSeTe)" - q32_shTheo(ttot,all_regi,all_te) "Calculate theoretical share of wind and solar in power production" - q32_scaleCapTe(ttot,all_regi,all_te) "Calculate upscaled power capacitites from 'relative to peak demand' up to total system level" - q32_curt(ttot,all_regi) "Calculate total curtailment" - q32_curtFit(ttot,all_regi) "Calculate curtailment from DIMES-fit" - q32_curtFitwCSP(ttot,all_regi) "Calculate curtailment from DIMES-fit, including 0.3 CSP" - q32_LoBheightCumExact(ttot,all_regi,LoB) "Calculate height of load bands from theoretical wind and solar share" - q32_LoBheightCumExactNEW(ttot,all_regi,LoB) "Calculate the model-used height of load bands, which need to have some slack (=g=) compared to the exact calulcation of v32_LoBheightCumExact to keep v32_LoBheightCum > 0" - q32_LoBheightExact(ttot,all_regi,LoB) "Calculate height of load bands from theoretical wind and solar share" - q32_fillLoB(ttot,all_regi,LoB) "Fill Load Bands with power production" - q32_capFac(ttot,all_regi,all_te) "Calculate resulting capacity factor for all power technologies" - q32_capFacTER(ttot,all_regi,all_te) "Make sure that the non-bio renewables observe the limited capacity Factor" - q32_stor_pv(ttot,all_regi) "Calculate the short term storage requirements due to renewables" - q32_peakCap(ttot,all_regi) "Calculate peak capacity after RLDC" - q32_capAdeq(ttot,all_regi) "Make sure dispatchable capacities > peak capacity" - q32_H2cofiring(ttot,all_regi) "Calculate co-firing needs" - q32_H2cof_PVsh(ttot,all_regi) "Cofiring CSP due to correlation with PV" - q32_H2cof_LoB4(ttot,all_regi) "Cofiring CSP due to use in LoB 4" - q32_H2cof_LoB3(ttot,all_regi) "Cofiring CSP due to use in LoB 3" - q32_H2cof_CSPsh(ttot,all_regi) "Cofiring CSP due to self-correlation with CSP" - q32_curtCapH2(ttot,all_regi) "Calculate the H2 capacity from curtailed electricity" - q32_curtProdH2(ttot,all_regi) "Calculate the H2 production from curtailed electricity" - q32_sqrtCurt(ttot,all_regi) "Calculate helper variable: share of the year for which curtailment is higher than 1/3 of maximum curtailment" - q32_hydroROR(ttot,all_regi) "Represent Run-Of-River Hydro by requiring that 20% of produced hydro electricity comes from baseload" - q32_limitCapTeChp(ttot,all_regi) "Capacitiy constraint for chp electricity generation" - q32_limitCapTeGrid(ttot,all_regi) "Calculate the additional grid capacity required by VRE" - q32_shSeEl(ttot,all_regi,all_te) "calculate share of electricity production of a technology (vm_shSeEl)" -; - -*** EOF ./modules/32_power/RLDC/declarations.gms diff --git a/modules/32_power/RLDC/equations.gms b/modules/32_power/RLDC/equations.gms deleted file mode 100644 index 428c83760..000000000 --- a/modules/32_power/RLDC/equations.gms +++ /dev/null @@ -1,343 +0,0 @@ -*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/32_power/RLDC/equations.gms - -*' @equations - -***--------------------------------------------------------------------------- -*' Balance equation for electricity secondary energy type: -***--------------------------------------------------------------------------- -q32_balSe(t,regi,enty2)$(sameas(enty2,"seel")).. - v32_scaleCap(t,regi) * p32_capFacDem(regi) - + sum(pc2te(enty,entySe(enty3),te,enty2), - pm_prodCouple(regi,enty,enty3,te,enty2) * vm_prodSe(t,regi,enty,enty3,te) ) - + sum(pc2te(enty4,entyFe(enty5),te,enty2), - pm_prodCouple(regi,enty4,enty5,te,enty2) * vm_prodFe(t,regi,enty4,enty5,te) ) - + sum(pc2te(enty,enty3,te,enty2), - sum(teCCS2rlf(te,rlf), - pm_prodCouple(regi,enty,enty3,te,enty2) * vm_co2CCS(t,regi,enty,enty3,te,rlf) ) ) - + vm_Mport(t,regi,enty2) - =e= - sum(se2fe(enty2,enty3,te), vm_demSe(t,regi,enty2,enty3,te) ) - + sum(se2se(enty2,enty3,te), vm_demSe(t,regi,enty2,enty3,te) ) - + sum(pe2rlf(enty3,rlf2), (pm_fuExtrOwnCons(regi, enty2, enty3) * vm_fuExtr(t,regi,enty3,rlf2))$(pm_fuExtrOwnCons(regi, enty2, enty3) gt 0))$(t.val > 2005) !! do not use in 2005 because this demand is not contained in 05_initialCap - + vm_Xport(t,regi,enty2) - ; - -q32_usableSe(t,regi,entySe)$(sameas(entySe,"seel")).. - vm_usableSe(t,regi,entySe) - =e= - sum(pe2se(enty,entySe,te), vm_prodSe(t,regi,enty,entySe,te) ) - + sum(se2se(enty,entySe,te), vm_prodSe(t,regi,enty,entySe,te) ) - + sum(pc2te(entyPe,entySe(enty3),te,entySe)$(pm_prodCouple(regi,entyPe,enty3,te,entySe) gt 0), - pm_prodCouple(regi,entyPe,enty3,te,entySe)*vm_prodSe(t,regi,entyPe,enty3,te) ) -; - -q32_usableSeTe(t,regi,entySe,te)$(sameas(entySe,"seel") AND teVRE(te)).. - vm_usableSeTe(t,regi,entySe,te) - =e= - sum(pe2se(enty,entySe,te), vm_prodSe(t,regi,enty,entySe,te) ) - + sum(se2se(enty,entySe,te), vm_prodSe(t,regi,enty,entySe,te) ) - + sum(pc2te(enty,entySe(enty3),te,entySe)$(pm_prodCouple(regi,enty,enty3,te,entySe) gt 0), - pm_prodCouple(regi,enty,enty3,te,entySe) * vm_prodSe(t,regi,enty,enty3,te) ) -; - -***--------------------------------------------------------------------------- -*' VRE Shares - theoretical VRE shares: scale the total VRE production down to "RLDC level", then compare it to the size of the RLDC at 0% -***--------------------------------------------------------------------------- -q32_shTheo(t,regi,teVRE).. - v32_shTh(t,regi,teVRE) - =e= - sum(pe2se(entyPe,"seel",teVRE), vm_prodSe(t,regi,entyPe,"seel",teVRE) ) - / ( - v32_scaleCap(t,regi) * p32_capFacDem(regi) - + sum(pc2te(enty,entySe(enty3),te,enty2), - pm_prodCouple(regi,enty,enty3,te,enty2) * vm_prodSe(t,regi,enty,enty3,te) ) - + sum(pc2te(enty4,entyFe(enty5),te,enty2), - pm_prodCouple(regi,enty4,enty5,te,enty2) * vm_prodFe(t,regi,enty4,enty5,te) ) - + sum(pc2te(enty,enty3,te,enty2), - sum(teCCS2rlf(te,rlf), - pm_prodCouple(regi,enty,enty3,te,enty2) * vm_co2CCS(t,regi,enty,enty3,te,rlf) ) ) - ) -; - -***--------------------------------------------------------------------------- -*' Transform the RLDC normalized capacities (0-1) to real world magnitudes -***--------------------------------------------------------------------------- -q32_scaleCapTe(t,regi,te)$( (t.val > 2000) AND teRLDCDisp(te) ).. !! scale the capacities of all technologies explicitly represented in the RLDCs - sum(teSe2rlf(te,rlf), vm_cap(t,regi,te,rlf) ) - =e= - v32_scaleCap(t,regi) * ( sum(LoB, v32_capLoB(t,regi,te,LoB) ) + v32_capER(t,regi,te) ) -; - -***--------------------------------------------------------------------------- -*' Curtailment -***--------------------------------------------------------------------------- -q32_curt(t,regi).. - v32_curt(t,regi) - =e= - sum(pe2se(entyPe,"seel",teVRE), vm_prodSe(t,regi,entyPe,"seel",teVRE) ) !! total theoretical VRE production - - v32_scaleCap(t,regi) * ( p32_capFacDem(regi) - sum(LoB, p32_capFacLoB(LoB) * v32_LoBheight(t,regi,LoB) ) ) !! minus the actually used VRE production, namely the difference between a system without and a system with VRE - + v32_overProdCF(t,regi,"csp") * vm_cap(t,regi,"csp","1") !! add the unused CSP production that is not reflected in seprod -; - -q32_curtFit(t,regi).. !! calculate curtailment as fitted from the DIMES-Results - v32_curtFit(t,regi) !! v32_curtFit can go below 0 - =e= - p32_curtOn(regi) - * ( - p32_RLDCcoeff(regi,"p00","curtShVRE") - + p32_RLDCcoeff(regi,"p10","curtShVRE") * v32_shTh(t,regi,"wind")$teVRE("wind") - + p32_RLDCcoeff(regi,"p01","curtShVRE") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) - + p32_RLDCcoeff(regi,"p20","curtShVRE") * v32_shTh(t,regi,"wind")$teVRE("wind") ** 2 - + p32_RLDCcoeff(regi,"p11","curtShVRE") * v32_shTh(t,regi,"wind")$teVRE("wind") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) - + p32_RLDCcoeff(regi,"p02","curtShVRE") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 2 - + p32_RLDCcoeff(regi,"p30","curtShVRE") * v32_shTh(t,regi,"wind")$teVRE("wind") ** 3 - + p32_RLDCcoeff(regi,"p21","curtShVRE") * v32_shTh(t,regi,"wind")$teVRE("wind") ** 2 * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) - + p32_RLDCcoeff(regi,"p12","curtShVRE") * v32_shTh(t,regi,"wind")$teVRE("wind") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 2 - + p32_RLDCcoeff(regi,"p03","curtShVRE") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 3 - ) -; - -q32_curtFitwCSP(t,regi).. - v32_curt(t,regi) - =e= - ( v32_curtFit(t,regi) + 0.02 ) * sum(pe2se(entyPe,"seel",teVRE), vm_prodSe(t,regi,entyPe,"seel",teVRE) ) !! add 2% of VRE prod. ot curtailment to represent grid losses - comes from the comparison with REMIX - + v32_overProdCF(t,regi,"csp") * vm_cap(t,regi,"csp","1") - + v32_CurtModelminusFit(t,regi) * sum(pe2se(entyPe,"seel",teVRE), vm_prodSe(t,regi,entyPe,"seel",teVRE) ) !! this is a positive slack variable that shows how much curtailment due to discretization of RLDC boxes is larger than fitted curtailment -> to move to ex-post -$if %cm_Full_Integration% == "on" + v32_FullIntegrationSlack(t,regi) -; - -***--------------------------------------------------------------------------- -*' Load Band -***--------------------------------------------------------------------------- -q32_LoBheightCumExact(t,regi,LoB).. - v32_LoBheightCumExact(t,regi,LoB) - =e= - p32_RLDCcoeff(regi,"p00",LoB) - + p32_RLDCcoeff(regi,"p10",LoB) * v32_shTh(t,regi,"wind")$teVRE("wind") - + p32_RLDCcoeff(regi,"p01",LoB) * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) - + p32_RLDCcoeff(regi,"p20",LoB) * v32_shTh(t,regi,"wind")$teVRE("wind") ** 2 - + p32_RLDCcoeff(regi,"p11",LoB) * v32_shTh(t,regi,"wind")$teVRE("wind") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) - + p32_RLDCcoeff(regi,"p02",LoB) * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 2 - + p32_RLDCcoeff(regi,"p30",LoB) * v32_shTh(t,regi,"wind")$teVRE("wind") ** 3 - + p32_RLDCcoeff(regi,"p21",LoB) * v32_shTh(t,regi,"wind")$teVRE("wind") ** 2 * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) - + p32_RLDCcoeff(regi,"p12",LoB) * v32_shTh(t,regi,"wind")$teVRE("wind") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 2 - + p32_RLDCcoeff(regi,"p03",LoB) * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 3 -; - -q32_LoBheightCumExactNEW(t,regi,LoB).. !! introduce slack so that v32_LoBheightCum stay > 0 - v32_LoBheightCum(t,regi,LoB) - =g= - v32_LoBheightCumExact(t,regi,LoB) -; - -q32_LoBheightExact(t,regi,LoB).. !! individual load band height - the difference between the cumulated heights - v32_LoBheight(t,regi,LoB) - =g= - ( v32_LoBheightCum(t,regi,LoB) - v32_LoBheightCum(t,regi,LoB+1)$(LoB.val < card(LoB)) ) - * ( 1$(LoB.val < card(LoB)) + ( 1 / p32_capFacLoB(LoB) )$(LoB.val = card(LoB)) ) !! upscale the height of the base-load band to represent the fact that the fit was done with 8760 hours, while no plant runs longer than 7500 hours (CF = 0.86) -; - -q32_fillLoB(t,regi,LoB)$(t.val > 2005).. - sum(teRLDCDisp, v32_capLoB(t,regi,teRLDCDisp,LoB) ) - =e= - v32_LoBheight(t,regi,LoB) -; - -***--------------------------------------------------------------------------- -*' Capacity factor for dispatchable power plants -***--------------------------------------------------------------------------- -q32_capFac(t,regi,te)$( teRLDCDisp(te) AND (t.val > 2000) ).. - vm_capFac(t,regi,te) - =e= - ( sum(LoB, - ( p32_capFacLoB(LoB)$( (LoB.val <> 4) OR NOT sameas(te,"csp") ) - + (4/3 * p32_avCapFac(t,regi,"csp"))$( (LoB.val eq 4) AND sameas(te,"csp") ) !! 4/3 is a factor for the upscaling from SM3/12h to SM4/16h storage - ) - * v32_capLoB(t,regi,te,LoB) - ) - + v32_capER(t,regi,te) * 0.01 !! the early retired capacities (v32_capER) are weighted with 1% to represent that they run at least 100h per year - ) - / (sum(LoB, v32_capLoB(t,regi,te,LoB) ) + v32_capER(t,regi,te) + 1e-9) -; - -q32_capFacTER(t,regi,te)$( teReNoBio(te) AND teRLDCDisp(te) AND t.val > 2000).. !! make sure that for dispatchable renewable plants, the average nur is larger than the resulting capFac - sum(teRe2rlfDetail(te,rlf), - pm_dataren(regi,"nur",rlf,te) * vm_capDistr(t,regi,te,rlf) ) - / ( vm_cap(t,regi,te,"1") + 1e-10 ) + 3e-5 !! the 1e-5 allows for slightly larger capacity factors, but does not have a large influence, and prevents some infeasibilities - =g= - vm_capFac(t,regi,te) - + v32_overProdCF(t,regi,te) -; - -***--------------------------------------------------------------------------- -*' Short Term Storage Requirements (from RLDC Fit) -***--------------------------------------------------------------------------- -q32_stor_pv(t,regi)$(t.val > 2010).. - vm_cap(t,regi,"storspv","1") - =g= - v32_scaleCap(t,regi) * - ( - p32_RLDCcoeff(regi,"p00","STScost") - + p32_RLDCcoeff(regi,"p10","STScost") * v32_shTh(t,regi,"wind")$teVRE("wind") - + p32_RLDCcoeff(regi,"p01","STScost") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) - + p32_RLDCcoeff(regi,"p20","STScost") * v32_shTh(t,regi,"wind")$teVRE("wind") ** 2 - + p32_RLDCcoeff(regi,"p11","STScost") * v32_shTh(t,regi,"wind")$teVRE("wind") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) - + p32_RLDCcoeff(regi,"p02","STScost") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 2 - + p32_RLDCcoeff(regi,"p30","STScost") * v32_shTh(t,regi,"wind")$teVRE("wind") ** 3 - + p32_RLDCcoeff(regi,"p21","STScost") * v32_shTh(t,regi,"wind")$teVRE("wind") ** 2 * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) - + p32_RLDCcoeff(regi,"p12","STScost") * v32_shTh(t,regi,"wind")$teVRE("wind") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 2 - + p32_RLDCcoeff(regi,"p03","STScost") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 3 - ) -; - -***--------------------------------------------------------------------------- -*' Peak capacity equations -***--------------------------------------------------------------------------- - -q32_peakCap(t,regi).. - v32_peakCap(t,regi) - =e= - p32_RLDCcoeff(regi,"p00","peak") - + p32_RLDCcoeff(regi,"p10","peak") * v32_shTh(t,regi,"wind")$teVRE("wind") - + p32_RLDCcoeff(regi,"p01","peak") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) - + p32_RLDCcoeff(regi,"p20","peak") * v32_shTh(t,regi,"wind")$teVRE("wind") ** 2 - + p32_RLDCcoeff(regi,"p11","peak") * v32_shTh(t,regi,"wind")$teVRE("wind") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) - + p32_RLDCcoeff(regi,"p02","peak") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 2 - + p32_RLDCcoeff(regi,"p30","peak") * v32_shTh(t,regi,"wind")$teVRE("wind") ** 3 - + p32_RLDCcoeff(regi,"p21","peak") * v32_shTh(t,regi,"wind")$teVRE("wind") ** 2 * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) - + p32_RLDCcoeff(regi,"p12","peak") * v32_shTh(t,regi,"wind")$teVRE("wind") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 2 - + p32_RLDCcoeff(regi,"p03","peak") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 3 -; - -q32_capAdeq(t,regi)$(t.val > 2005).. - sum(teRLDCDisp(te)$(NOT sameas(te,"hydro")), - sum(teSe2rlf(te,rlf), vm_cap(t,regi,te,rlf) ) - ) - + 0.8 * vm_cap(t,regi,"hydro","1") !! to represent that it is not fully dispatchable, hydro counts only with 80% of its installed capacity towards peak capacity - =g= - v32_scaleCap(t,regi) * ( v32_peakCap(t,regi) + p32_ResMarg(t,regi) ) -; - -***--------------------------------------------------------------------------- -*' CSP - including co-firing -***--------------------------------------------------------------------------- -q32_H2cofiring(t,regi)$(t.val > 2010).. - vm_demSeOth(t,regi,"seh2","csp") !! cofiring of h2 to csp - + vm_demSeOth(t,regi,"segabio","csp") !! cofiring of gas to csp - + vm_demSeOth(t,regi,"segafos","csp") -$if %cm_Full_Integration% == "on" + 1e6 - =g= - v32_H2cof_PVsh(t,regi) - + v32_H2cof_Lob4(t,regi) - + v32_H2cof_Lob3(t,regi) - + v32_H2cof_CSPsh(t,regi) -; - -q32_H2cof_LoB3(t,regi)$(t.val > 2005).. - v32_H2cof_Lob3(t,regi) - =g= - 1/0.4 !! 1/0.4 is the efficiency of the H2 turbine - to convert from produced electricity to used H2 - * v32_scaleCap(t,regi) !! all the later numbers are relative to peak, and need to be rescaled to full system size - * v32_capLoB(t,regi,"csp","3") !! each unit of csp in baseload needs H2 cofiring - * ( p32_capFacLoB("3") - p32_avCapFac(t,regi,"csp") ) !! the co-firing is only needed for the residual of baseload after avCapFac. CapLob * DiffCapfac = produced electricity -; - -q32_H2cof_LoB4(t,regi)$(t.val > 2005).. - v32_H2cof_Lob4(t,regi) - =g= - 1/0.4 !! 1/0.4 is the efficiency of the H2 turbine - to convert from produced electricity to used H2 - * v32_scaleCap(t,regi) - * v32_capLoB(t,regi,"csp","4") !! each unit of csp in baseload needs H2 cofiring - * ( p32_capFacLoB("4") - 4/3 * p32_avCapFac(t,regi,"csp") ) !! 4/3 is the factor for the upscaling from SM3/12h to SM4/16h storage -; - -q32_H2cof_PVsh(t,regi)$(t.val > 2005).. !! more CSP cofiring if lots of PV is used (correlation between PV and CSP) - v32_H2cof_PVsh(t,regi) - =e= - 1/0.4 !! 1/0.4 is the efficiency of the H2 turbine - to convert from produced electricity to used H2 - * v32_scaleCap(t,regi) - * 0.5 * vm_cap(t,regi,"csp","1") * (0.65 - p32_avCapFac(t,regi,"csp") ) * v32_shTh(t,regi,"spv") -; - -q32_H2cof_CSPsh(t,regi)$(t.val > 2005).. !! more CSP cofiring if lots of CSP is used (self-correlation of CSP) - v32_H2cof_CSPsh(t,regi) - =e= - 1/0.4 !! 1/0.4 is the efficiency of the H2 turbine - to convert from produced electricity to used H2 - * v32_scaleCap(t,regi) - * vm_cap(t,regi,"csp","1") * (0.65 - p32_avCapFac(t,regi,"csp") ) * v32_shTh(t,regi,"csp") -; - -***--------------------------------------------------------------------------- -*' produce H2 from curtailed electricity, using a curtailment-dependent load factor -***--------------------------------------------------------------------------- -q32_curtCapH2(t,regi)$(t.val > 2005).. - vm_cap(t,regi,"h2curt","1") / v32_scaleCap(t,regi) !! 0.5 for area of a triangle - =l= - v32_sqrtCurt(t,regi) !! 0.5 as only half of the curtailment can be used -; - -q32_curtProdH2(t,regi)$(t.val > 2005).. - pm_eta_conv(t,regi,"h2curt") * vm_cap(t,regi,"h2curt","1") * 2/3 * v32_sqrtCurt(t,regi) - =g= - vm_prodSeOth(t,regi,"seh2","h2curt") -; - -q32_sqrtCurt(t,regi)$(t.val > 2005).. - v32_sqrtCurt(t,regi) - =e= - sqrt( 2/3 * ( ( v32_curt(t,regi) ) / v32_scaleCap(t,regi) / p32_capFacDem(regi) + 1e-6 ) ) -; -!! Assuming curtailment has a triangle shape, 1x wide, 3x high => 3x^2 would be the area of the rectangle. The area of the triangle = 1/2 times this. -!! Area = 3/2 x^2 = curt. ==> x = 2/3 curt ^ 0.5 - -***--------------------------------------------------------------------------- -*' special constraints on hydropower to prevent hydro being completely flexibily only used for peaking -***--------------------------------------------------------------------------- -q32_hydroROR(t,regi)$(t.val > 2005).. !! require that at least 20% of the hydro are in baseload (counting as run-of-river). This may lead to Baseload being higher than required by the RLDC, and therefore (realistic) curtailment - p32_capFacLoB("4") * v32_capLoB(t,regi,"hydro","4") - =g= - 0.2 * sum(LoB, p32_capFacLoB(LoB) * v32_capLoB(t,regi,"hydro",LoB) ) -; - -***--------------------------------------------------------------------------- -*' Definition of capacity constraints for CHP technologies: -***--------------------------------------------------------------------------- -q32_limitCapTeChp(t,regi).. - sum(pe2se(enty,"seel",teChp(te)), vm_prodSe(t,regi,enty,"seel",te) ) - =l= - p32_shCHP(t,regi) - * sum(pe2se(enty,"seel",te), vm_prodSe(t,regi,enty,"seel",te) ); - -***--------------------------------------------------------------------------- -*' Calculation of necessary grid installations for centralized renewables: -***--------------------------------------------------------------------------- -q32_limitCapTeGrid(t,regi)$( t.val ge 2015 ) .. - vm_cap(t,regi,"gridwind",'1') !! Technology is now parameterized to yield marginal costs of ~3.5$/MWh VRE electricity - / p32_grid_factor(regi) !! It is assumed that large regions require higher grid investment - =g= - vm_prodSe(t,regi,"pesol","seel","spv") - + vm_prodSe(t,regi,"pesol","seel","csp") - + 1.5 * vm_prodSe(t,regi,"pewin","seel","wind") !! wind has larger variations accross space, so adding grid is more important for wind (result of REMIX runs for ADVANCE project) -$IFTHEN.WindOff %cm_wind_offshore% == "1" - + 1.5 * vm_prodSe(t,regi,"pewin","seel","windoff") -$ENDIF.WindOff -; - -***--------------------------------------------------------------------------- -*' Calculation of share of electricity production of a technology: -***--------------------------------------------------------------------------- -q32_shSeEl(t,regi,teVRE).. - vm_shSeEl(t,regi,teVRE) / 100 * vm_usableSe(t,regi,"seel") - =e= - vm_usableSeTe(t,regi,"seel",teVRE) -; - -*' @stop - -*** EOF ./modules/32_power/RLDC/equations.gms diff --git a/modules/32_power/RLDC/input/files b/modules/32_power/RLDC/input/files deleted file mode 100644 index 3af7a0dc8..000000000 --- a/modules/32_power/RLDC/input/files +++ /dev/null @@ -1,5 +0,0 @@ -f32_RLDC_Coeff_LoB.cs3r -f32_RLDC_Coeff_Peak.cs3r -f32_shCHP.cs4r -p32_grid_factor.cs4r - diff --git a/modules/32_power/RLDC/postsolve.gms b/modules/32_power/RLDC/postsolve.gms deleted file mode 100644 index 5833c3662..000000000 --- a/modules/32_power/RLDC/postsolve.gms +++ /dev/null @@ -1,14 +0,0 @@ -*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/32_power/RLDC/postsolve.gms - -*** calculation of SE electricity price (useful for internal use and reporting purposes) -pm_SEPrice(ttot,regi,entySe)$(abs (qm_budget.m(ttot,regi)) gt sm_eps AND sameas(entySe,"seel")) = - q32_balSe.m(ttot,regi,entySe) / qm_budget.m(ttot,regi); - -*** EOF ./modules/32_power/RLDC/postsolve.gms - diff --git a/modules/32_power/RLDC/preloop.gms b/modules/32_power/RLDC/preloop.gms deleted file mode 100644 index a6610c45b..000000000 --- a/modules/32_power/RLDC/preloop.gms +++ /dev/null @@ -1,15 +0,0 @@ -*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de - -*** SOF ./modules/32_power/RLDC/preloop.gms - -*** read marginal of seel balance equation -Execute_Loadpoint 'input' q32_balSe.m = q32_balSe.m; - - - -*** EOF ./modules/32_power/RLDC/preloop.gms diff --git a/modules/32_power/RLDC/presolve.gms b/modules/32_power/RLDC/presolve.gms deleted file mode 100644 index b4791358a..000000000 --- a/modules/32_power/RLDC/presolve.gms +++ /dev/null @@ -1,11 +0,0 @@ -*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/32_power/RLDC/presolve.gms - - - -*** EOF ./modules/32_power/RLDC/presolve.gms diff --git a/modules/32_power/RLDC/realization.gms b/modules/32_power/RLDC/realization.gms deleted file mode 100644 index 788739c72..000000000 --- a/modules/32_power/RLDC/realization.gms +++ /dev/null @@ -1,55 +0,0 @@ -*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de - -*** SOF ./modules/32_power/RLDC/realization.gms - -*' @description -*' -*'The `RLDC` realization (Residual Load Duration Curve) distinguish different operation electricity supply decisions under four distinct load bands, plus additional peak capacity requirements. -*' -*'This module determine power system supply specific technology behavior, which summs up to the general core capacity equations to define the power sector operation and investment decisions. -*' -*'Contrary to other secondary energies in REMIND, this requires to move the electricity secondary energy balance (supply = demand) from the core to the module code. -*' -*' -*'The residual load duration curve is obtained after discounting intermittent renewables generation (solar and wind) from the total demand. -*' -*'An exogenous unit commitment model (DIMES) is used to estimate a third degree fitting curve for each load band representing the intermittent renewables generation contribution at different renewable penetration shares in the system. -*' -*'Curtailament is defined using the same process - a per load band third degree fitting curve that determines the curtailment based on the renewables share. -*' -*'Dispatchable power generation technologies have their capacity factor endogenously determined by the use in the distinct load bands. -*' -*'Short term storage is dependable of wind and solar penetration shares and estimated exogenously to a third degree fitting curve. -*' -*'A reserve margin capacity is required to be provided by dispatchable technologies only. The reserve margin size is determined by the peak capacity that is also estimated exogenously for different levels of renewables penetration in the system. -*' -*'CSP co-firing with H2 or other gases is included. Self-correlation and PV correlation inside each load bands are considered. -*' -*'Hydrogen can be used to reduce renewable power curtailment and provide flexibility to the system future generation. -*' -*'Hydropower load band flexibility is limited due to run-of-river power plants and water use regulation constraints. -*' -*'Combined heat and power technologies flexibility is limited to technology and spatial observed data. -*' -*'Additional grid capacities are calculated for high intermittent renewable capacity (solar and wind) and regional spatial differences. -*' -*' @authors Robert Pietzcker, Falko Ueckerdt, Renato Rodrigues - -*####################### R SECTION START (PHASES) ############################## -$Ifi "%phase%" == "sets" $include "./modules/32_power/RLDC/sets.gms" -$Ifi "%phase%" == "declarations" $include "./modules/32_power/RLDC/declarations.gms" -$Ifi "%phase%" == "datainput" $include "./modules/32_power/RLDC/datainput.gms" -$Ifi "%phase%" == "equations" $include "./modules/32_power/RLDC/equations.gms" -$Ifi "%phase%" == "preloop" $include "./modules/32_power/RLDC/preloop.gms" -$Ifi "%phase%" == "bounds" $include "./modules/32_power/RLDC/bounds.gms" -$Ifi "%phase%" == "presolve" $include "./modules/32_power/RLDC/presolve.gms" -$Ifi "%phase%" == "postsolve" $include "./modules/32_power/RLDC/postsolve.gms" -*######################## R SECTION END (PHASES) ############################### - -*** EOF ./modules/32_power/RLDC/realization.gms - diff --git a/modules/32_power/RLDC/sets.gms b/modules/32_power/RLDC/sets.gms deleted file mode 100644 index ed3a69439..000000000 --- a/modules/32_power/RLDC/sets.gms +++ /dev/null @@ -1,127 +0,0 @@ -*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/32_power/RLDC/sets.gms - -***----------------------------------------------------------- -*** module specific sets -***------------------------------------------------------------ -SETS - PolyCoeff "Which coefficients exist for the RLDC formulation" - / - p00 - p10 "wind ^1, solar ^0" - p01 "wind ^0, solar ^1" - p20 - p11 - p02 - p30 - p21 - p12 - p03 - / - - RLDCbands "???" - / - 1*4, - curt - peak - curtShVRE - shtStor - STScost - STSRes2Cap - / - - LoB(RLDCbands) "Electricity load band" - /1 * 4/ -; - -teVRE(all_te) = no; - - -*RLDC dispatchable technologies -teRLDCDisp("ngcc") = yes; -teRLDCDisp("ngccc") = yes; -teRLDCDisp("ngt") = yes; -teRLDCDisp("gaschp") = yes; -teRLDCDisp("dot") = yes; -teRLDCDisp("igcc") = yes; -teRLDCDisp("igccc") = yes; -teRLDCDisp("pc") = yes; -teRLDCDisp("coalchp") = yes; -teRLDCDisp("tnrs") = yes; -teRLDCDisp("fnrs") = yes; -teRLDCDisp("biochp") = yes; -teRLDCDisp("bioigcc") = yes; -teRLDCDisp("bioigccc") = yes; -teRLDCDisp("geohdr") = yes; -teRLDCDisp("hydro") = yes; -teRLDCDisp("h2turb") = yes; -teRLDCDisp("csp") = yes; - - -*Sets used on data input assignments -SETS - PeakDep(RLDCbands) "RLDC elements that scale with peak (not curtailment, storage)" - / - 1 * 4 - peak - / - -$ontext - UsedGrades2070(all_regi,all_te,rlf) - / - ROW.csp.(1*2) - EUR.csp.(1*4) - CHN.csp.(1*3) - IND.csp.(1*6) - JPN.csp.(1*6) - RUS.csp.(1*2) - USA.csp.(1*4) - OAS.csp.(1*5) - MEA.csp.(1*2) - LAM.csp.(1*2) - AFR.csp.(1*3) - ROW.hydro.(1*4) - EUR.hydro.(1*4) - CHN.hydro.(1*4) - IND.hydro.(1*4) - JPN.hydro.(1*4) - RUS.hydro.(1*4) - USA.hydro.(1*4) - OAS.hydro.(1*4) - MEA.hydro.(1*4) - LAM.hydro.(1*4) - AFR.hydro.(1*4) - / -$offtext - - teNotLoB1(all_te) "Technologies that can't go into the first LoB as they are difficult to cycle continuously & quickly" - / - tnrs - pc - ngcc - ngccc - igccc - igcc - bioigcc - bioigccc - coalchp - gaschp - biochp - / - - teNotBase(all_te) "Technologies that can't go into the last LoB (baseload) as they can't run for 7500 FLh" - / -*** hydro -*** csp -*** coalchp -*** gaschp -*** biochp - / -; - -*** EOF ./modules/32_power/RLDC/sets.gms diff --git a/modules/32_power/module.gms b/modules/32_power/module.gms index 93972e180..31d19f4ef 100644 --- a/modules/32_power/module.gms +++ b/modules/32_power/module.gms @@ -10,18 +10,16 @@ *' *' @description The 32_power module determines the operation production decisions for the electricity supply. *' -*' *' The `IntC` realization (Integrated Costs) assumes a single electricity market balance. *' -*' The `RLDC` realization (Residual Load Duration Curve) distinguishes different operation electricity supply decisions under four distinct load bands, plus additional peak capacity requirements. -*' -*' The `DTcoup` realization (DIETER-coupled) soft-couples REMIND to DIETER (an hourly power sector model), and is currently only at conceptual stage and not merged (it is only a copy of IntC) *' *' @authors Robert Pietzcker, Falko Ueckerdt, Renato Rodrigues, Chen Chris Gong +*** Other realizations were removed in July 2024: +*** - The `RLDC` realization (Residual Load Duration Curve) distinguishes different operation electricity supply decisions under four distinct load bands, plus additional peak capacity requirements. +*** - The `DTcoup` realization (DIETER-coupled) soft-couples REMIND to DIETER (an hourly power sector model), and is currently only at conceptual stage and not merged (it is only a copy of IntC) + *###################### R SECTION START (MODULETYPES) ########################## -$Ifi "%power%" == "DTcoup" $include "./modules/32_power/DTcoup/realization.gms" $Ifi "%power%" == "IntC" $include "./modules/32_power/IntC/realization.gms" -$Ifi "%power%" == "RLDC" $include "./modules/32_power/RLDC/realization.gms" *###################### R SECTION END (MODULETYPES) ############################ *** EOF ./modules/32_power/module.gms From 77a8666150c7bbfab3acebb4e65dd2acafeff8b4 Mon Sep 17 00:00:00 2001 From: lecfab Date: Wed, 24 Jul 2024 12:26:05 +0200 Subject: [PATCH 187/875] rename vm_capDistr, vm_demSeOth, vm_prodSeOth, pm_boundCapCCS, pm_cap0 --- core/bounds.gms | 16 +++---- core/datainput.gms | 22 ++++----- core/declarations.gms | 6 +-- core/equations.gms | 54 ++++++++++++----------- core/preloop.gms | 2 +- main.gms | 6 ++- modules/05_initialCap/on/declarations.gms | 2 +- modules/05_initialCap/on/preloop.gms | 30 ++++++------- modules/32_power/IntC/not_used.txt | 10 ----- 9 files changed, 72 insertions(+), 76 deletions(-) diff --git a/core/bounds.gms b/core/bounds.gms index 58d83760a..3307443a5 100755 --- a/core/bounds.gms +++ b/core/bounds.gms @@ -43,16 +43,16 @@ loop(se2se(enty,enty2,te), loop(regi, loop(teRe2rlfDetail(te,rlf), if( (pm_dataren(regi,"maxprod",rlf,te) gt 0), - vm_capDistr.lo(t,regi,te,rlf)$(t.val gt 2011) = 1e-8; + v_capDistr.lo(t,regi,te,rlf)$(t.val gt 2011) = 1e-8; *cb* make sure that grade distribution in early time steps with capacity fixing is close to optimal one assumed for vm_capFac calibration, divide by p_aux_capacityFactorHistOverREMIND to correct for deviation of REMIND capacity factors from historic capacity factors - vm_capDistr.lo("2015",regi,te,rlf) = 0.90 / max(1, p_aux_capacityFactorHistOverREMIND(regi,te)) * p_aux_capThisGrade(regi,te,rlf); - vm_capDistr.lo("2020",regi,te,rlf) = 0.90 / max(1, p_aux_capacityFactorHistOverREMIND(regi,te)) * p_aux_capThisGrade(regi,te,rlf); + v_capDistr.lo("2015",regi,te,rlf) = 0.90 / max(1, p_aux_capacityFactorHistOverREMIND(regi,te)) * p_aux_capThisGrade(regi,te,rlf); + v_capDistr.lo("2020",regi,te,rlf) = 0.90 / max(1, p_aux_capacityFactorHistOverREMIND(regi,te)) * p_aux_capThisGrade(regi,te,rlf); ); ); ); *' Make sure no grades > 9 are used. Only cosmetic to avoid entries in lst file -vm_capDistr.fx(t,regi,te,rlf)$(rlf.val gt 9) = 0; +v_capDistr.fx(t,regi,te,rlf)$(rlf.val gt 9) = 0; *' No battery storage in 2010: vm_cap.up("2010",regi,teStor,"1") = 0; @@ -404,13 +404,13 @@ $endif *** ------------------------------------------------------------------------------------------------------------- if ( (c_ccsinjecratescen gt 0) AND (NOT cm_emiscen eq 1), - vm_co2CCS.lo(t,regi,"cco2","ico2","ccsinje","1")$(t.val le 2030) = pm_boundCapCCS(t,regi,"low")$(t.val le 2030) * s_MtCO2_2_GtC; - vm_co2CCS.up(t,regi,"cco2","ico2","ccsinje","1")$(t.val le 2030) = (pm_boundCapCCS(t,regi,"low")$(t.val le 2030) + (pm_boundCapCCS(t,regi,"up")$(t.val le 2030) - pm_boundCapCCS(t,regi,"low")$(t.val le 2030)) * c_fracRealfromAnnouncedCCScap2030) * s_MtCO2_2_GtC; + vm_co2CCS.lo(t,regi,"cco2","ico2","ccsinje","1")$(t.val le 2030) = p_boundCapCCS(t,regi,"low")$(t.val le 2030) * s_MtCO2_2_GtC; + vm_co2CCS.up(t,regi,"cco2","ico2","ccsinje","1")$(t.val le 2030) = (p_boundCapCCS(t,regi,"low")$(t.val le 2030) + (p_boundCapCCS(t,regi,"up")$(t.val le 2030) - p_boundCapCCS(t,regi,"low")$(t.val le 2030)) * c_fracRealfromAnnouncedCCScap2030) * s_MtCO2_2_GtC; ); loop(regi, loop(t$(t.val le 2030), - if( ( pm_boundCapCCS(t,regi,"up") eq 0), + if( ( p_boundCapCCS(t,regi,"up") eq 0), vm_cap.fx(t,regi,teCCS,rlf) = 0; ); ); @@ -447,7 +447,7 @@ $if %c_SSP_forcing_adjust% == "forcing_SSP1" vm_deltaCap.up(t,regi,"coalgas" ***Fixing h2curt value to zero to avoid the model to generate SE out of nothing. ***Models that have additional se production channels should release this variable (eg. RLDC power module). loop(prodSeOth2te(enty,te), - vm_prodSeOth.fx(t,regi,"seh2","h2curt") = 0; + v_prodSeOth.fx(t,regi,"seh2","h2curt") = 0; ); diff --git a/core/datainput.gms b/core/datainput.gms index 56d7f2e34..b33d93f5a 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -243,23 +243,23 @@ $if not "%cm_learnRate%" == "off" parameter p_new_learnRate(all_te) / %cm_learnR $if not "%cm_learnRate%" == "off" fm_dataglob("learn",te)$p_new_learnRate(te)=p_new_learnRate(te); *RP* the new cost data in generisdata_tech is now in $2015. As long as the model runs in $2005, these values have first to be converted to D2005 by dividing by 1.2 downwards -fm_dataglob("inco0",te) = s_D2015_2_D2005 * fm_dataglob("inco0",te); -fm_dataglob("incolearn",te) = s_D2015_2_D2005 * fm_dataglob("incolearn",te); -fm_dataglob("omv",te) = s_D2015_2_D2005 * fm_dataglob("omv",te); -p_inco0(ttot,regi,te) = s_D2015_2_D2005 * p_inco0(ttot,regi,te); +fm_dataglob("inco0",te) = s_D2015_2_D2005 * fm_dataglob("inco0",te); +fm_dataglob("incolearn",te) = s_D2015_2_D2005 * fm_dataglob("incolearn",te); +fm_dataglob("omv",te) = s_D2015_2_D2005 * fm_dataglob("omv",te); +p_inco0(ttot,regi,te) = s_D2015_2_D2005 * p_inco0(ttot,regi,te); *** inco0 (and incolearn) are given in $/kW (or $/(tC/a) for ccs-related tech or $/(t/a) for process-based industry) *** convert to REMIND units, i.e., T$/TW (or T$/(GtC/a) for ccs-related tech or T$/(Gt/a) for process-based industry) *** note that factor for $/kW -> T$/TW is the same as for $/(tC/a) -> T$/(GtC/a) -fm_dataglob("inco0",te) = s_DpKW_2_TDpTW * fm_dataglob("inco0",te); -fm_dataglob("incolearn",te) = s_DpKW_2_TDpTW * fm_dataglob("incolearn",te); -fm_dataglob("omv",te) = s_DpKWa_2_TDpTWa * fm_dataglob("omv",te); -p_inco0(ttot,regi,te) = s_DpKW_2_TDpTW * p_inco0(ttot,regi,te); +fm_dataglob("inco0",te) = s_DpKW_2_TDpTW * fm_dataglob("inco0",te); +fm_dataglob("incolearn",te) = s_DpKW_2_TDpTW * fm_dataglob("incolearn",te); +fm_dataglob("omv",te) = s_DpKWa_2_TDpTWa * fm_dataglob("omv",te); +p_inco0(ttot,regi,te) = s_DpKW_2_TDpTW * p_inco0(ttot,regi,te); *RP* rescale the global CSP investment costs in REMIND: Originally we assume a SM3/12h setup, while the cost data from IEA for the short term seems rather based on a SM2/6h setup (with 40% average CF) *** Accordingly, also decrease long-term costs in REMIND to 0.7 of the current values -fm_dataglob("inco0","csp") = 0.7 * fm_dataglob("inco0","csp"); -fm_dataglob("incolearn","csp") = 0.7 * fm_dataglob("incolearn","csp"); +fm_dataglob("inco0","csp") = 0.7 * fm_dataglob("inco0","csp"); +fm_dataglob("incolearn","csp") = 0.7 * fm_dataglob("incolearn","csp"); *** -------------------------------------------------------------------------------- @@ -886,7 +886,7 @@ if(pm_NuclearConstraint("2020",regi,"tnrs")<0, ); *** read in data on CCS capacities and announced projects used as upper and lower bound on vm_co2CCS in 2025 and 2030 -parameter pm_boundCapCCS(ttot,all_regi,bounds) "installed and planned capacity of CCS" +parameter p_boundCapCCS(ttot,all_regi,bounds) "installed and planned capacity of CCS" / $ondelim $include "./core/input/p_boundCapCCS.cs4r" diff --git a/core/declarations.gms b/core/declarations.gms index 5a6e60e58..c9bc87a58 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -379,7 +379,7 @@ vm_esCapInv(ttot,all_regi,all_teEs) "investment for energy end vm_costEnergySys(ttot,all_regi) "energy system costs" vm_cap(tall,all_regi,all_te,rlf) "net total capacities" -vm_capDistr(tall,all_regi,all_te,rlf) "net capacities, distributed to the different grades for renewables" +v_capDistr(tall,all_regi,all_te,rlf) "net capacities, distributed to the different grades for renewables" vm_capTotal(ttot,all_regi,all_enty,all_enty) "total capacity without technology differentation for technologies where there exists differentation [TW]" vm_capFac(ttot,all_regi,all_te) "capacity factor of conversion technologies" vm_deltaCap(tall,all_regi,all_te,rlf) "capacity additions" @@ -413,8 +413,8 @@ v_prodUe (ttot,all_regi,all_enty,all_enty,all_te) "Useful energy production [ vm_capEarlyReti(tall,all_regi,all_te) "fraction of early retired capital" *** RLDC removal -vm_demSeOth(ttot,all_regi,all_enty,all_te) "other sety demand from certain technologies, have to calculated in additional equations [TWa]" -vm_prodSeOth(ttot,all_regi,all_enty,all_te) "other sety production from certain technologies, have to be calculated in additional equations [TWa]" +v_demSeOth(ttot,all_regi,all_enty,all_te) "other sety demand from certain technologies, have to calculated in additional equations [TWa]" +v_prodSeOth(ttot,all_regi,all_enty,all_te) "other sety production from certain technologies, have to be calculated in additional equations [TWa]" v_shGreenH2(ttot,all_regi) "share of green hydrogen in all hydrogen by 2030 [0..1]" v_shBioTrans(ttot,all_regi) "Share of biofuels in transport liquids from 2025 onwards. Value between 0 and 1." diff --git a/core/equations.gms b/core/equations.gms index 1e17b533e..3e9322d19 100644 --- a/core/equations.gms +++ b/core/equations.gms @@ -156,12 +156,12 @@ q_balSe(t,regi,enty2)$( entySe(enty2) AND (NOT (sameas(enty2,"seel"))) ).. - vm_emiMacSector(t,regi,"ch4wstl") ) )$( sameas(enty2,"segabio") AND t.val gt 2005 ) - + sum(prodSeOth2te(enty2,te), vm_prodSeOth(t,regi,enty2,te) ) !! *** RLDC removal + + sum(prodSeOth2te(enty2,te), v_prodSeOth(t,regi,enty2,te) ) !! *** RLDC removal + vm_Mport(t,regi,enty2) =e= sum(se2fe(enty2,enty3,te), vm_demSe(t,regi,enty2,enty3,te)) + sum(se2se(enty2,enty3,te), vm_demSe(t,regi,enty2,enty3,te)) - + sum(demSeOth2te(enty2,te), vm_demSeOth(t,regi,enty2,te) ) !! *** RLDC removal + + sum(demSeOth2te(enty2,te), v_demSeOth(t,regi,enty2,te) ) !! *** RLDC removal + vm_Xport(t,regi,enty2) ; @@ -266,7 +266,7 @@ q_limitCapSe(t,regi,pe2se(enty,enty2,te)).. )$(NOT teReNoBio(te)) + sum(teRe2rlfDetail(te,rlf), - pm_dataren(regi,"nur",rlf,te) * vm_capFac(t,regi,te) * vm_capDistr(t,regi,te,rlf) + pm_dataren(regi,"nur",rlf,te) * vm_capFac(t,regi,te) * v_capDistr(t,regi,te,rlf) )$(teReNoBio(te)) ; @@ -324,7 +324,7 @@ q_cap(ttot,regi,te2rlf(te,rlf))$(ttot.val ge cm_startyear).. q_capDistr(t,regi,teReNoBio(te)).. - sum(teRe2rlfDetail(te,rlf), vm_capDistr(t,regi,te,rlf) ) + sum(teRe2rlfDetail(te,rlf), v_capDistr(t,regi,te,rlf) ) =e= vm_cap(t,regi,te,"1") ; @@ -395,9 +395,12 @@ q_capCumNet(t0,regi,teLearn)$(NOT (pm_data(regi,"tech_stat",teLearn) eq 4)).. qm_fuel2pe(t,regi,peRicardian(enty)).. vm_prodPe(t,regi,enty) =e= - sum(pe2rlf(enty,rlf2),vm_fuExtr(t,regi,enty,rlf2))-(vm_Xport(t,regi,enty)-(1-pm_costsPEtradeMp(regi,enty))*vm_Mport(t,regi,enty))$(tradePe(enty)) - - sum(pe2rlf(enty2,rlf2), (pm_fuExtrOwnCons(regi, enty, enty2) * vm_fuExtr(t,regi,enty2,rlf2))$(pm_fuExtrOwnCons(regi, enty, enty2) gt 0)); - + sum(pe2rlf(enty,rlf2), vm_fuExtr(t,regi,enty,rlf2)) + - (vm_Xport(t,regi,enty) - (1-pm_costsPEtradeMp(regi,enty)) * vm_Mport(t,regi,enty))$(tradePe(enty)) + - sum(pe2rlf(enty2,rlf2), + (pm_fuExtrOwnCons(regi, enty, enty2) * vm_fuExtr(t,regi,enty2,rlf2))$(pm_fuExtrOwnCons(regi, enty, enty2) gt 0) + ) +; ***--------------------------------------------------------------------------- *' Definition of resource constraints for renewable energy types: ***--------------------------------------------------------------------------- @@ -405,7 +408,7 @@ qm_fuel2pe(t,regi,peRicardian(enty)).. q_limitProd(t,regi,teRe2rlfDetail(teReNoBio(te),rlf)).. pm_dataren(regi,"maxprod",rlf,te) =g= - pm_dataren(regi,"nur",rlf,te) * vm_capFac(t,regi,te) * vm_capDistr(t,regi,te,rlf); + pm_dataren(regi,"nur",rlf,te) * vm_capFac(t,regi,te) * v_capDistr(t,regi,te,rlf); ***----------------------------------------------------------------------------- *' Definition of competition for geographical potential for renewable energy types: @@ -414,32 +417,34 @@ q_limitProd(t,regi,teRe2rlfDetail(teReNoBio(te),rlf)).. q_limitGeopot(t,regi,peReComp(enty),rlf).. p_datapot(regi,"limitGeopot",rlf,enty) =g= - sum(te$teReComp2pe(enty,te,rlf), (vm_capDistr(t,regi,te,rlf) / (pm_data(regi,"luse",te)/1000))); + sum(te$teReComp2pe(enty,te,rlf), (v_capDistr(t,regi,te,rlf) / (pm_data(regi,"luse",te)/1000))); -*** learning curve for investment costs -*** deactivate learning for tech_stat 4 technologies before 2025 as they are not built before +***--------------------------------------------------------------------------- +*' Learning curve for investment costs: +*' (deactivate learning for tech_stat 4 technologies before 2025 as they are not built before) +***--------------------------------------------------------------------------- q_costTeCapital(t,regi,teLearn)$(NOT (pm_data(regi,"tech_stat",teLearn) eq 4 AND t.val le 2020)) .. vm_costTeCapital(t,regi,teLearn) =e= -*** special treatment for first time steps: using global estimates better -*** matches historic values - ( fm_dataglob("learnMult_wFC",teLearn) +*** floor costs defined regionally + pm_data(regi,"floorcost",teLearn) +*** until 2005: using global estimates better matches historic values + + ( fm_dataglob("learnMult_wFC",teLearn) * ( ( sum(regi2, vm_capCum(t,regi2,teLearn)) + pm_capCumForeign(t,regi,teLearn) ) ** fm_dataglob("learnExp_wFC",teLearn) ) )$( t.val le 2005 ) -*** special treatment for 2010, 2015: start divergence of regional values by using a -*** t-split of global 2005 to regional 2020 in order to phase-in the observed 2020 regional -*** variation from input-data - + ( (2020 - t.val)/15 * fm_dataglob("learnMult_wFC",teLearn) +*** 2005 to 2020: linear transition from global 2005 to regional 2020 +*** to phase-in the observed 2020 regional variation from input-data + + ( (2020 - t.val) / (2020-2015) * fm_dataglob("learnMult_wFC",teLearn) * ( sum(regi2, vm_capCum(t,regi2,teLearn)) + pm_capCumForeign(t,regi,teLearn) ) ** fm_dataglob("learnExp_wFC",teLearn) - + (t.val - 2005)/15 * pm_data(regi,"learnMult_wFC",teLearn) + + (t.val - 2005) / (2020-2015) * pm_data(regi,"learnMult_wFC",teLearn) * ( sum(regi2, vm_capCum(t,regi2,teLearn)) + pm_capCumForeign(t,regi,teLearn) ) @@ -447,14 +452,14 @@ q_costTeCapital(t,regi,teLearn)$(NOT (pm_data(regi,"tech_stat",teLearn) eq 4 AND )$( (t.val gt 2005) AND (t.val lt 2020) ) $ifthen.floorscen %cm_floorCostScen% == "default" -*** assuming linear convergence of regional learning curves to global values until 2050 - + ( (pm_ttot_val(t) - 2020) / 30 * fm_dataglob("learnMult_wFC",teLearn) +*** 2020 to 2050: assuming linear convergence of regional learning curves to global values + + ( (pm_ttot_val(t) - 2020) / (2050-2020) * fm_dataglob("learnMult_wFC",teLearn) * ( sum(regi2, vm_capCum(t,regi2,teLearn)) + pm_capCumForeign(t,regi,teLearn) ) ** fm_dataglob("learnExp_wFC",teLearn) - + (2050 - pm_ttot_val(t)) / 30 * pm_data(regi,"learnMult_wFC",teLearn) + + (2050 - pm_ttot_val(t)) / (2050-2020) * pm_data(regi,"learnMult_wFC",teLearn) * ( sum(regi2, vm_capCum(t,regi2,teLearn)) + pm_capCumForeign(t,regi,teLearn) ) @@ -481,15 +486,12 @@ $ifthen.floorscen %cm_floorCostScen% == "techtrans" $endif.floorscen $ifthen.floorscen %cm_floorCostScen% == "default" -*** globally harmonized costs after 2050 +*** after 2050: globally harmonized costs + ( fm_dataglob("learnMult_wFC",teLearn) * (sum(regi2, vm_capCum(t,regi2,teLearn)) + pm_capCumForeign(t,regi,teLearn) ) **(fm_dataglob("learnExp_wFC",teLearn)) )$(t.val gt 2050) $endif.floorscen - -*** floor costs - + pm_data(regi,"floorcost",teLearn) ; diff --git a/core/preloop.gms b/core/preloop.gms index 35a2a5422..9e30d7b34 100644 --- a/core/preloop.gms +++ b/core/preloop.gms @@ -28,7 +28,7 @@ vm_prodFe.l(ttot,regi,entyFe2,entyFe2,te) = 0; vm_prodSe.l(ttot,regi,enty,enty2,te) = 0; vm_demSe.l(ttot,regi,enty,enty2,te) = 0; vm_Xport.l(ttot,regi,tradePe) = 0; -vm_capDistr.l(t,regi,te,rlf) = 0; +v_capDistr.l(t,regi,te,rlf) = 0; vm_cap.l(t,regi,te,rlf) = 0; vm_fuExtr.l(ttot,regi,"pebiolc","1")$(ttot.val ge 2005) = 0; vm_pebiolc_price.l(ttot,regi)$(ttot.val ge 2005) = 0; diff --git a/main.gms b/main.gms index f71020b45..6a41a0b44 100755 --- a/main.gms +++ b/main.gms @@ -317,7 +317,11 @@ $setglobal biomass magpie_40 !! def = magpie_40 *' * (MOFEX) : contains the standalone version of MOFEX (Model Of Fossil EXtraction), which minimizes the discounted extraction and trade costs of fossils while balancing trade for each time step. Not to be run within a REMIND run but instead through the standalone architecture or soft-linked with REMIND (not yet implemented) $setglobal fossil grades2poly !! def = grades2poly *'--------------------- 32_power ---------------------------------------- -*' +*' Warning: vm_capDistr appears only in "core" even though it is supposed to be an interface! +*' Warning: vm_demSeOth appears only in "core" even though it is supposed to be an interface! +*' Warning: vm_prodSeOth appears only in "core" even though it is supposed to be an interface! +*' Warning: pm_boundCapCCS appears only in "core" even though it is supposed to be an interface! +*' Warning: pm_cap0 appears only in "initialCap" even though it is supposed to be an interface! *' * (IntC) : Power sector formulation with Integration Cost (IntC) markups and curtailment for VRE integration - linearly increasing with VRE share -, and fixed capacity factors for dispatchable power plants $setglobal power IntC !! def = IntC *'--------------------- 33_CDR ---------------------------------------- diff --git a/modules/05_initialCap/on/declarations.gms b/modules/05_initialCap/on/declarations.gms index 57397d998..6bbd523d8 100644 --- a/modules/05_initialCap/on/declarations.gms +++ b/modules/05_initialCap/on/declarations.gms @@ -7,7 +7,7 @@ *** SOF ./modules/05_initialCap/on/declarations.gms Parameter - pm_cap0(all_regi,all_te) "standing capacity in 2005 as calculated by the initialization routine generisinical. Unit: TWa" + p05_cap0(all_regi,all_te) "standing capacity in 2005 as calculated by the initialization routine generisinical. Unit: TWa" p05_emi2005_from_initialcap2(all_regi,emiTe) "regional energy emissions 2005 resulting from the initialcap routine. Unit: GtC" p05_initial_capacity(all_regi,all_te) "capacitiy at t=2005, calculated from past deltacaps" p05_inital_input(all_regi,all_te) "input in 2005, calculated from past deltacaps and initial time-variable eta" diff --git a/modules/05_initialCap/on/preloop.gms b/modules/05_initialCap/on/preloop.gms index e3ddd5b7c..3e7c9be6c 100644 --- a/modules/05_initialCap/on/preloop.gms +++ b/modules/05_initialCap/on/preloop.gms @@ -119,15 +119,15 @@ solve initialcap2 using cns; display v05_INIdemEn0.l, v05_INIcap0.l; -pm_cap0(regi,te) = v05_INIcap0.l(regi,te); +p05_cap0(regi,te) = v05_INIcap0.l(regi,te); $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" -pm_cap0(regi,'bof') = pm_outflowPrcIni(regi,'bof','unheated') / pm_cf("2005",regi,'bof'); -pm_cap0(regi,'bf') = pm_outflowPrcIni(regi,'bf','standard') / pm_cf("2005",regi,'bf'); -pm_cap0(regi,'eaf') = pm_outflowPrcIni(regi,'eaf','sec') / pm_cf("2005",regi,'eaf'); -pm_cap0(regi,'idr') = 0.; -pm_cap0(regi,"bfcc") =0.; -pm_cap0(regi,"idrcc") =0.; +p05_cap0(regi,'bof') = pm_outflowPrcIni(regi,'bof','unheated') / pm_cf("2005",regi,'bof'); +p05_cap0(regi,'bf') = pm_outflowPrcIni(regi,'bf','standard') / pm_cf("2005",regi,'bf'); +p05_cap0(regi,'eaf') = pm_outflowPrcIni(regi,'eaf','sec') / pm_cf("2005",regi,'eaf'); +p05_cap0(regi,'idr') = 0.; +p05_cap0(regi,"bfcc") =0.; +p05_cap0(regi,"idrcc") =0.; $endif.cm_subsec_model_steel *RP keep energy demand for the Kyoto target calibration @@ -171,7 +171,7 @@ vm_deltaCap.fx("2005",regi,te,rlf)$(te2rlf(te,rlf)) = 0; loop(regi, loop(teReNoBio(te), s05_aux_tot_prod - = pm_cap0(regi,te) + = p05_cap0(regi,te) * pm_cf("2005",regi,te) * pm_dataren(regi,"nur","1",te); @@ -211,8 +211,8 @@ loop(regi, loop(regi, loop(opTimeYr2te(te,opTimeYr)$(NOT teReNoBio(te)), loop(tsu2opTime5(ttot,opTimeYr), - loop(pe2se(entyPe,entySe,te), o_INI_DirProdSeTe(regi,entySe,te) = pm_cap0(regi,te) * pm_cf("2005",regi,te) * pm_dataren(regi,"nur","1",te) ); - sm_tmp = 1 / pm_ts(ttot) * pm_cap0(regi,te) * p05_vintage(regi,opTimeYr,te); + loop(pe2se(entyPe,entySe,te), o_INI_DirProdSeTe(regi,entySe,te) = p05_cap0(regi,te) * pm_cf("2005",regi,te) * pm_dataren(regi,"nur","1",te) ); + sm_tmp = 1 / pm_ts(ttot) * p05_cap0(regi,te) * p05_vintage(regi,opTimeYr,te); vm_deltaCap.lo(ttot,regi,te,"1") = sm_tmp; vm_deltaCap.up(ttot,regi,te,"1") = sm_tmp; @@ -257,7 +257,7 @@ display pm_aux_capLowerLimit; ***--------------------------------------------------------------------------- loop(regi, - o_INI_TotalCap(regi) = sum(pe2se(enty,"seel",te), pm_cap0(regi,te) ); + o_INI_TotalCap(regi) = sum(pe2se(enty,"seel",te), p05_cap0(regi,te) ); o_INI_TotalDirProdSe(regi,entySe) = sum(pe2se(enty,entySe,te), o_INI_DirProdSeTe(regi,entySe,te) ); o_INI_AvCapFac(regi) = o_INI_TotalDirProdSe(regi,"seel") / o_INI_TotalCap(regi); ); @@ -267,7 +267,7 @@ o_INI_DirProdSeTe o_INI_TotalCap o_INI_TotalDirProdSe o_INI_AvCapFac -pm_cap0 +p05_cap0 ; ***--------------------------------------------------------------------------- @@ -293,7 +293,7 @@ display pm_dataeta; p05_eta_correct_factor(regi,te) = 1; loop(regi, - loop(te$((teEtaIncr(te)) AND (pm_cap0(regi,te) > 1.E-8)), + loop(te$((teEtaIncr(te)) AND (p05_cap0(regi,te) > 1.E-8)), p05_initial_capacity(regi,te) = sum(ttot$sameas(ttot,"2005"), sum(teSe2rlf(te,rlf), @@ -501,11 +501,11 @@ loop(regi, p05_emi2005_from_initialcap2(regi,emiTe) = sum(pe2se(enty,enty2,te), pm_emifac("2005",regi,enty,enty2,te,emiTe) - * 1/(pm_data(regi,"eta",te)) * pm_cf("2005",regi,te) * pm_cap0(regi,te) + * 1/(pm_data(regi,"eta",te)) * pm_cf("2005",regi,te) * p05_cap0(regi,te) ) + sum(se2fe(enty,enty2,te), - pm_emifac("2005",regi,enty,enty2,te,emiTe) * pm_cf("2005",regi,te) * pm_cap0(regi,te) + pm_emifac("2005",regi,enty,enty2,te,emiTe) * pm_cf("2005",regi,te) * p05_cap0(regi,te) ); *** no CCS leakage in the first time step ); diff --git a/modules/32_power/IntC/not_used.txt b/modules/32_power/IntC/not_used.txt index 9261eeb93..85ff9312e 100644 --- a/modules/32_power/IntC/not_used.txt +++ b/modules/32_power/IntC/not_used.txt @@ -5,13 +5,3 @@ # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de name,type,reason -vm_capDistr, variable, ??? -vm_demSeOth, variable, ??? -vm_prodSeOth, variable, ??? -pm_emifac, parameter, ??? -cm_nucscen, switch, ??? -vm_deltaCap,input,questionnaire -cm_emiscen,input,questionnaire -cm_ccapturescen,input,questionnaire -pm_boundCapCCS,input,questionnaire -pm_cap0,input,questionnaire From 4d4e905e988275c8d88d500e94893c135f507164 Mon Sep 17 00:00:00 2001 From: lecfab Date: Thu, 25 Jul 2024 16:32:06 +0200 Subject: [PATCH 188/875] Clean learning equation --- core/datainput.gms | 11 ++++++----- main.gms | 6 +----- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/core/datainput.gms b/core/datainput.gms index b33d93f5a..dbe81e31e 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -367,16 +367,17 @@ $endif.REG_techcosts *** global exponent *** parameter calculation for global level, that regional values can gradually converge to -fm_dataglob("learnExp_wFC",teLearn(te)) = fm_dataglob("inco0",te)/fm_dataglob("incolearn",te) * log(1-fm_dataglob("learn", te))/log(2); +fm_dataglob("learnExp_woFC",teLearn(te)) = log(1 - fm_dataglob("learn",te)) / log(2); +*RP* adjust exponent parameter learnExp_woFC to take floor costs into account +fm_dataglob("learnExp_wFC",teLearn(te)) = fm_dataglob("inco0",te) / fm_dataglob("incolearn",te) * fm_dataglob("learnExp_woFC",te); *** regional exponent -pm_data(regi,"learnExp_woFC",teLearn(te)) = log(1-pm_data(regi,"learn", te))/log(2); -*RP* adjust exponent parameter learnExp_woFC to take floor costs into account -pm_data(regi,"learnExp_wFC",teLearn(te)) = pm_data(regi,"inco0",te) / pm_data(regi,"incolearn",te) * log(1-pm_data(regi,"learn", te))/log(2); +pm_data(regi,"learnExp_woFC",teLearn(te)) = log(1 - pm_data(regi,"learn",te)) / log(2); +pm_data(regi,"learnExp_wFC",teLearn(te)) = pm_data(regi,"inco0",te) / pm_data(regi,"incolearn",te) * pm_data(regi,"learnExp_woFC",te); *** global factor *** parameter calculation for global level, that regional values can gradually converge to -fm_dataglob("learnMult_wFC",teLearn(te)) = fm_dataglob("incolearn",te) / (fm_dataglob("ccap0",te) ** fm_dataglob("learnExp_wFC", te)); +fm_dataglob("learnMult_wFC",teLearn(te)) = fm_dataglob("incolearn",te) / (fm_dataglob("ccap0",te) ** fm_dataglob("learnExp_wFC", te)); *** regional factor *NB* read in vm_capCum(t0,regi,teLearn) from input.gdx to have info available for the recalibration of 2005 investment costs diff --git a/main.gms b/main.gms index 6a41a0b44..f71020b45 100755 --- a/main.gms +++ b/main.gms @@ -317,11 +317,7 @@ $setglobal biomass magpie_40 !! def = magpie_40 *' * (MOFEX) : contains the standalone version of MOFEX (Model Of Fossil EXtraction), which minimizes the discounted extraction and trade costs of fossils while balancing trade for each time step. Not to be run within a REMIND run but instead through the standalone architecture or soft-linked with REMIND (not yet implemented) $setglobal fossil grades2poly !! def = grades2poly *'--------------------- 32_power ---------------------------------------- -*' Warning: vm_capDistr appears only in "core" even though it is supposed to be an interface! -*' Warning: vm_demSeOth appears only in "core" even though it is supposed to be an interface! -*' Warning: vm_prodSeOth appears only in "core" even though it is supposed to be an interface! -*' Warning: pm_boundCapCCS appears only in "core" even though it is supposed to be an interface! -*' Warning: pm_cap0 appears only in "initialCap" even though it is supposed to be an interface! +*' *' * (IntC) : Power sector formulation with Integration Cost (IntC) markups and curtailment for VRE integration - linearly increasing with VRE share -, and fixed capacity factors for dispatchable power plants $setglobal power IntC !! def = IntC *'--------------------- 33_CDR ---------------------------------------- From d6d27fdb00a31f93957a112764c82134f067d19b Mon Sep 17 00:00:00 2001 From: lecfab Date: Thu, 25 Jul 2024 17:00:48 +0200 Subject: [PATCH 189/875] re-delete realizations after their resurrection due to rebase --- modules/32_power/DTcoup/datainput.gms | 97 --------------------------- modules/32_power/RLDC/not_used.txt | 13 ---- 2 files changed, 110 deletions(-) delete mode 100644 modules/32_power/DTcoup/datainput.gms delete mode 100644 modules/32_power/RLDC/not_used.txt diff --git a/modules/32_power/DTcoup/datainput.gms b/modules/32_power/DTcoup/datainput.gms deleted file mode 100644 index 0afd3e4a0..000000000 --- a/modules/32_power/DTcoup/datainput.gms +++ /dev/null @@ -1,97 +0,0 @@ -*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/32_power/DTcoup/datainput.gms - -*------------------------------------------------------------------------------------ -*** IntC specific data input -*------------------------------------------------------------------------------------ - -parameter f32_shCHP(ttot,all_regi) "upper boundary of chp electricity generation" -/ -$ondelim -$include "./modules/32_power/IntC/input/f32_shCHP.cs4r" -$offdelim -/ -; -p32_shCHP(ttot,all_regi) = f32_shCHP(ttot,all_regi) + 0.05; -p32_shCHP(ttot,all_regi)$(ttot.val ge 2050) = min(p32_shCHP("2020",all_regi) + 0.15, 0.75); -p32_shCHP(ttot,all_regi)$((ttot.val gt 2020) and (ttot.val lt 2050)) = p32_shCHP("2020",all_regi) + ((p32_shCHP("2050",all_regi) - p32_shCHP("2020",all_regi)) / 30 * (ttot.val - 2020)); - -***parameter p32_grid_factor(all_regi) - multiplicative factor that scales total grid requirements down in comparatively small or homogeneous regions like Japan, Europe or India -parameter p32_grid_factor(all_regi) "multiplicative factor that scales total grid requirements down in comparatively small or homogeneous regions like Japan, Europe or India" -/ -$ondelim -$include "./modules/32_power/IntC/input/p32_grid_factor.cs4r" -$offdelim -/ -; - -***parameter p32_factorStorage(all_regi,all_te) - multiplicative factor that scales total curtailment and storage requirements up or down in different regions for different technologies (e.g. down for PV in regions where high solar radiation coincides with high electricity demand) -parameter f32_factorStorage(all_regi,all_te) "multiplicative factor that scales total curtailment and storage requirements up or down in different regions for different technologies (e.g. down for PV in regions where high solar radiation coincides with high electricity demand)" -/ -$ondelim -$include "./modules/32_power/IntC/input/f32_factorStorage.cs4r" -$offdelim -/ -; -$IFTHEN.WindOff %cm_wind_offshore% == "1" -f32_factorStorage(all_regi,"windoff") = f32_factorStorage(all_regi,"wind"); -f32_factorStorage(all_regi,"wind") = 1.35 * f32_factorStorage(all_regi,"wind"); -$ENDIF.WindOff -p32_factorStorage(all_regi,all_te) = f32_factorStorage(all_regi,all_te); - -$if not "%cm_storageFactor%" == "off" p32_factorStorage(all_regi,all_te)=%cm_storageFactor%*p32_factorStorage(all_regi,all_te); - -***parameter p32_storexp(all_regi,all_te) - exponent that determines how curtailment and storage requirements per kW increase with market share of wind and solar. 1 means specific marginal costs increase linearly -p32_storexp(regi,"spv") = 1; -p32_storexp(regi,"csp") = 1; -p32_storexp(regi,"wind") = 1; -$IFTHEN.WindOff %cm_wind_offshore% == "1" -p32_storexp(regi,"windoff") = 1; -$ENDIF.WindOff - - -***parameter p32_gridexp(all_regi,all_te) - exponent that determines how grid requirement per kW increases with market share of wind and solar. 1 means specific marginal costs increase linearly -p32_gridexp(regi,"spv") = 1; -p32_gridexp(regi,"csp") = 1; -p32_gridexp(regi,"wind") = 1; - - -table f32_storageCap(char, all_te) "multiplicative factor between dummy seel<-->h2 technologies and storXXX technologies" -$include "./modules/32_power/IntC/input/f32_storageCap.prn" -; - -$IFTHEN.WindOff %cm_wind_offshore% == "1" -f32_storageCap(char,"windoff") = f32_storageCap(char,"wind"); -$ENDIF.WindOff - -p32_storageCap(te,char) = f32_storageCap(char,te); -display p32_storageCap; - -$ontext -parameter p32_flex_maxdiscount(all_regi,all_te) "maximum electricity price discount for flexible technologies reached at high VRE shares" -/ -$ondelim -$include "./modules/32_power/IntC/input/p32_flex_maxdiscount.cs4r" -$offdelim -/ -; -*** convert from USD2015/MWh to trUSD2005/TWa -p32_flex_maxdiscount(regi,te) = p32_flex_maxdiscount(regi,te) * sm_TWa_2_MWh * s_D2015_2_D2005 * 1e-12; -display p32_flex_maxdiscount; -$offtext - -*** initialize p32_PriceDurSlope parameter -parameter f32_cm_PriceDurSlope_elh2(ext_regi) "slope of price duration curve for electrolysis [#]" / %cm_PriceDurSlope_elh2% /; -p32_PriceDurSlope(regi,"elh2") = f32_cm_PriceDurSlope_elh2("GLO"); -loop(ext_regi$f32_cm_PriceDurSlope_elh2(ext_regi), - loop(regi$regi_groupExt(ext_regi,regi), - p32_PriceDurSlope(regi,"elh2") = f32_cm_PriceDurSlope_elh2(ext_regi); - ); -); - -*** EOF ./modules/32_power/DTcoup/datainput.gms diff --git a/modules/32_power/RLDC/not_used.txt b/modules/32_power/RLDC/not_used.txt deleted file mode 100644 index ad39b9f13..000000000 --- a/modules/32_power/RLDC/not_used.txt +++ /dev/null @@ -1,13 +0,0 @@ -# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) -# | authors, and contributors see CITATION.cff file. This file is part -# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -# | AGPL-3.0, you are granted additional permissions described in the -# | REMIND License Exception, version 1.0 (see LICENSE file). -# | Contact: remind@pik-potsdam.de -name,type,reason -pm_IO_input,input,questionnaire -vm_flexAdj,input,questionnaire -cm_VRE_supply_assumptions,input,questionnaire -cm_flex_tax,input,questionnaire -cm_FlexTaxFeedback,input,questionnaire -vm_shDemSeel,input,only used in IntC realization From 9331e4b01ff8b58b72bb12103b9b5dfc5db2fb26 Mon Sep 17 00:00:00 2001 From: David Klein Date: Thu, 25 Jul 2024 17:58:02 +0200 Subject: [PATCH 190/875] Add the option to select MAgPIE scenarios from multiple scenario_config*.csv files --- scripts/start/readCheckScenarioConfig.R | 6 ++-- start_bundle_coupled.R | 37 ++++++++++++++++++------- 2 files changed, 30 insertions(+), 13 deletions(-) diff --git a/scripts/start/readCheckScenarioConfig.R b/scripts/start/readCheckScenarioConfig.R index efd61e245..2e6c9d162 100644 --- a/scripts/start/readCheckScenarioConfig.R +++ b/scripts/start/readCheckScenarioConfig.R @@ -22,7 +22,7 @@ readCheckScenarioConfig <- function(filename, remindPath = ".", testmode = FALSE cfg <- gms::readDefaultConfig(remindPath) } scenConf <- read.csv2(filename, stringsAsFactors = FALSE, na.strings = "", comment.char = "#", - strip.white = TRUE, blank.lines.skip = TRUE) + strip.white = TRUE, blank.lines.skip = TRUE, check.names = FALSE) scenConf <- scenConf[! is.na(scenConf[1]), ] rownames(scenConf) <- scenConf[, 1] scenConf[1] <- NULL @@ -133,8 +133,8 @@ readCheckScenarioConfig <- function(filename, remindPath = ".", testmode = FALSE knownColumnNames <- c(knownColumnNames, "cm_nash_autoconverge_lastrun", "oldrun", "path_report", "magpie_scen", "no_ghgprices_land_until", "qos", "sbatch", "path_mif_ghgprice_land", "max_iterations", "magpie_empty") - # identify MAgPIE switches by "cfg_mag" and add them - knownColumnNames <- c(knownColumnNames, grep("cfg_mag", names(scenConf), value = TRUE)) + # identify MAgPIE switches by "cfg_mag" and "magpie_scen" and add them + knownColumnNames <- c(knownColumnNames, grep("cfg_mag|magpie_scen", names(scenConf), value = TRUE)) } unknownColumnNames <- names(scenConf)[! names(scenConf) %in% knownColumnNames] if (length(unknownColumnNames) > 0) { diff --git a/start_bundle_coupled.R b/start_bundle_coupled.R index 9a93b0925..b7fc40037 100755 --- a/start_bundle_coupled.R +++ b/start_bundle_coupled.R @@ -375,22 +375,39 @@ for(scen in common){ rm(cfg) cfg_mag$title <- scen - # configure MAgPIE according to scenarios provided in magpie_scen (scenario needs to be available in scenario_config.cfg) - if(!is.null(scenarios_coupled[scen, "magpie_scen"])) { - cfg_mag <- setScenario(cfg_mag, c(trimws(unlist(strsplit(scenarios_coupled[scen, "magpie_scen"], split = ",|\\|"))), "coupling"), - scenario_config = file.path(path_magpie, "config", "scenario_config.csv")) + # extract magpie scenario_config*.csv and scenario names from coupled config + magpieScenarios <- scenarios_coupled[scen, ] %>% select(contains("magpie_scen")) + + # configure MAgPIE selecting scenarios defined in the respective scenario_config*.csv + if (nrow(magpieScenarios) > 0) { + # for each column in coupled config: set scenarios defined in the + for (i in seq_len(ncol(magpieScenarios))) { + pathToScenrioConfig <- gsub("magpie_scen=", "", colnames(magpieScenarios)[i]) + scenarioList <- magpieScenarios[,i] + cfg_mag <- setScenario(cfg_mag, trimws(unlist(strsplit(scenarioList, split = ",|\\|"))), + scenario_config = file.path(path_magpie, pathToScenrioConfig)) + } } + # always select 'coupling' scenario + cfg_mag <- setScenario(cfg_mag, "coupling", scenario_config = file.path(path_magpie, "config", "scenario_config.csv")) + + # configure MAgPIE selecting scenarios (predefined in scenario_cofig.csv) and specified in magpie_scen + # if(!is.null(scenarios_coupled[scen, "magpie_scen"])) { + # cfg_mag <- setScenario(cfg_mag, c(trimws(unlist(strsplit(scenarios_coupled[scen, "magpie_scen"], split = ",|\\|"))), "coupling"), + # scenario_config = file.path(path_magpie, "config", "scenario_config.csv")) + # } + # extract magpie switches from coupled config - scenario_config_MAgPIE_table <- scenarios_coupled %>% select(contains("cfg_mag")) %>% t() %>% as.data.frame() + magpieSwitches <- scenarios_coupled %>% select(contains("cfg_mag")) %>% t() %>% as.data.frame() # configure MAgPIE according to individual switches provided in scenario_config_coupled*.csv - if (nrow(scenario_config_MAgPIE_table) > 0) { + if (nrow(magpieSwitches) > 0) { # remove prefix "cfg_mag." from switch names to yield original MAgPIE names - row.names(scenario_config_MAgPIE_table) <- gsub("cfg_mag.", "", row.names(scenario_config_MAgPIE_table)) - # replace "." with "$" which has been removed by R when reading in the scenarios_coupled - row.names(scenario_config_MAgPIE_table) <- gsub("\\.", "$", row.names(scenario_config_MAgPIE_table)) - cfg_mag <- setScenario(cfg_mag, scen, scenario_config = scenario_config_MAgPIE_table) + row.names(magpieSwitches) <- gsub("cfg_mag.", "", row.names(magpieSwitches)) + # replace "." with "$" which has been removed by R when reading the scenarios_coupled + row.names(magpieSwitches) <- gsub("\\.", "$", row.names(magpieSwitches)) + cfg_mag <- setScenario(cfg_mag, scen, scenario_config = magpieSwitches) } cfg_mag <- check_config(cfg_mag, reference_file=file.path(path_magpie, "config", "default.cfg"), From 76ae6408ac0816c7b4b16a26f900becc31b5724b Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Fri, 26 Jul 2024 07:54:33 +0000 Subject: [PATCH 191/875] Release development version 3.3.2.dev246 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 7ea6b5328..185971380 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,8 +266,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev243" -date-released: 2024-07-25 +version: "3.3.2.dev246" +date-released: 2024-07-26 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 73704ece8..a6d0a84c5 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev243" +cfg$model_version <- "3.3.2.dev246" #### settings #### cfg$gms <- list() From 3e7edd2bf41b4ab89c70bc03aba79cfd303f8e6a Mon Sep 17 00:00:00 2001 From: David Klein Date: Fri, 26 Jul 2024 12:27:27 +0200 Subject: [PATCH 192/875] When reading the scenario_config_coupled.csv recognize columns containing 'scenario_config' as knownColumns. Add backwards compatibility to start_bundle_coupled.R: still allow using 'magpie_scen' as name of the column that contains the MAgPIE scenarios. Use MAgPIE's 'config/scenario_config.csv' in this case. --- scripts/start/readCheckScenarioConfig.R | 4 ++-- start_bundle_coupled.R | 23 ++++++++++------------- 2 files changed, 12 insertions(+), 15 deletions(-) diff --git a/scripts/start/readCheckScenarioConfig.R b/scripts/start/readCheckScenarioConfig.R index 2e6c9d162..e86c16cff 100644 --- a/scripts/start/readCheckScenarioConfig.R +++ b/scripts/start/readCheckScenarioConfig.R @@ -133,8 +133,8 @@ readCheckScenarioConfig <- function(filename, remindPath = ".", testmode = FALSE knownColumnNames <- c(knownColumnNames, "cm_nash_autoconverge_lastrun", "oldrun", "path_report", "magpie_scen", "no_ghgprices_land_until", "qos", "sbatch", "path_mif_ghgprice_land", "max_iterations", "magpie_empty") - # identify MAgPIE switches by "cfg_mag" and "magpie_scen" and add them - knownColumnNames <- c(knownColumnNames, grep("cfg_mag|magpie_scen", names(scenConf), value = TRUE)) + # identify MAgPIE switches by "cfg_mag" and "scenario_config" + knownColumnNames <- c(knownColumnNames, grep("cfg_mag|scenario_config", names(scenConf), value = TRUE)) } unknownColumnNames <- names(scenConf)[! names(scenConf) %in% knownColumnNames] if (length(unknownColumnNames) > 0) { diff --git a/start_bundle_coupled.R b/start_bundle_coupled.R index b7fc40037..8a1afcca6 100755 --- a/start_bundle_coupled.R +++ b/start_bundle_coupled.R @@ -375,14 +375,17 @@ for(scen in common){ rm(cfg) cfg_mag$title <- scen - # extract magpie scenario_config*.csv and scenario names from coupled config - magpieScenarios <- scenarios_coupled[scen, ] %>% select(contains("magpie_scen")) + # extract columns from coupled config that define magpie scenarios + # the column must be named 'magpie_scen' (then the default config/scenario_config.csv will be loaded) + # or they have to have the path to a scenario_config*.csv as their name + magpieScenarios <- scenarios_coupled[scen, grepl("scenario_config|magpie_scen", colnames(scenarios_coupled))] - # configure MAgPIE selecting scenarios defined in the respective scenario_config*.csv + # configure MAgPIE using the scenarios extracted above if (nrow(magpieScenarios) > 0) { - # for each column in coupled config: set scenarios defined in the for (i in seq_len(ncol(magpieScenarios))) { - pathToScenrioConfig <- gsub("magpie_scen=", "", colnames(magpieScenarios)[i]) + pathToScenrioConfig <- colnames(magpieScenarios)[i] + # backwards compatibility: if the column name is 'magpie_scen' use the 'config/scenario_config.csv' + pathToScenrioConfig <- ifelse(pathToScenrioConfig == "magpie_scen", "config/scenario_config.csv", pathToScenrioConfig) scenarioList <- magpieScenarios[,i] cfg_mag <- setScenario(cfg_mag, trimws(unlist(strsplit(scenarioList, split = ",|\\|"))), scenario_config = file.path(path_magpie, pathToScenrioConfig)) @@ -392,19 +395,13 @@ for(scen in common){ # always select 'coupling' scenario cfg_mag <- setScenario(cfg_mag, "coupling", scenario_config = file.path(path_magpie, "config", "scenario_config.csv")) - # configure MAgPIE selecting scenarios (predefined in scenario_cofig.csv) and specified in magpie_scen - # if(!is.null(scenarios_coupled[scen, "magpie_scen"])) { - # cfg_mag <- setScenario(cfg_mag, c(trimws(unlist(strsplit(scenarios_coupled[scen, "magpie_scen"], split = ",|\\|"))), "coupling"), - # scenario_config = file.path(path_magpie, "config", "scenario_config.csv")) - # } - # extract magpie switches from coupled config magpieSwitches <- scenarios_coupled %>% select(contains("cfg_mag")) %>% t() %>% as.data.frame() # configure MAgPIE according to individual switches provided in scenario_config_coupled*.csv if (nrow(magpieSwitches) > 0) { - # remove prefix "cfg_mag." from switch names to yield original MAgPIE names - row.names(magpieSwitches) <- gsub("cfg_mag.", "", row.names(magpieSwitches)) + # remove prefix "cfg_mag$" from switch names to yield original MAgPIE names + row.names(magpieSwitches) <- gsub("cfg_mag\\$", "", row.names(magpieSwitches)) # replace "." with "$" which has been removed by R when reading the scenarios_coupled row.names(magpieSwitches) <- gsub("\\.", "$", row.names(magpieSwitches)) cfg_mag <- setScenario(cfg_mag, scen, scenario_config = magpieSwitches) From ccaad97bbe600a1c417c7e71a4dae708836429f5 Mon Sep 17 00:00:00 2001 From: David Klein Date: Fri, 26 Jul 2024 12:55:45 +0200 Subject: [PATCH 193/875] Update coupling tutorial: how to specify MAgPIE scenarios using the path to a config file in the coupled config. --- tutorials/04_RunningREMINDandMAgPIE.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tutorials/04_RunningREMINDandMAgPIE.md b/tutorials/04_RunningREMINDandMAgPIE.md index 4abae3c81..6ccbf1ca9 100644 --- a/tutorials/04_RunningREMINDandMAgPIE.md +++ b/tutorials/04_RunningREMINDandMAgPIE.md @@ -100,13 +100,17 @@ See comments in the head section of the file. Most importantly you need to provi Required as `path_settings_coupled` is a file from [`./config/`](../config) that starts with `scenario_config_coupled*.csv` and provides some extra information for coupled runs (e.g. which run should be started, specific MAgPIE configurations), with one scenario per row and settings on the columns. `path_settings_remind` is a normal `scenario_config` that defines all other REMIND settings, as explained in [`03_RunningBundleOfRuns`](./03_RunningBundleOfRuns.md). Every scenario to be run must be present in both files. All the columns must be present in the `scenario_config_coupled.csv` file, but most of them can be left blank. The required ones are: + - `title`: The name of the scenario, must be unique and match the `title` column in REMIND's `scenario_config.csv` - `start`: Defines if a scenario run should be started (1) or not (0). Overrides whatever is set in REMIND's `scenario_config*.csv`. If you have an unfinished coupled run, it will automatically try to continue from the last coupling iteration (i.e. REMIND or MAgPIE run), if it is not finished yet (i.e. reached `max_iterations`). - `qos`: The SLURM qos the coupled runs should be submitted to, such as `priority`, `short`, `medium`, `long` or `standby` on the PIK cluster. If you use `auto`, the qos is set to `priority` if an empty slot exists, and `short` otherwise. This is also the default if no `qos` is set. Currently, there is no default support for running a coupled run locally. - - `magpie_scen`: A pipe (`|`) separated list of configurations to pass to MAgPIE. Each entry should correspond to a column in [MAgPIE's scenario_config](https://github.com/magpiemodel/magpie/blob/master/config/scenario_config.csv), each one of them setting the multiple configuration flags listed on that file. The configurations are applied in the order that they appear. For example, to configure MAgPIE with SSP2 settings and climate change impacts according to RCP45 set `magpie_scen` to `SSP2|cc|rcp4p5`. + + - `magpie_scen`: A pipe (`|`) separated list of configurations to pass to MAgPIE. Each entry should correspond to a column in [MAgPIE's scenario_config](https://github.com/magpiemodel/magpie/blob/master/config/scenario_config.csv), each one of them setting the multiple configuration flags listed in that file. The configurations are applied in the order that they appear. For example, to configure MAgPIE with SSP2 settings and climate change impacts according to RCP45 set `magpie_scen` to `SSP2|cc|rcp4p5`. To select scenarios from a different `scenario_config*.csv` file replace `magpie_scen` by the path to that file relative to MAgPIE's main folder, for example: `config/projects/scenario_config_PROJECT.csv`. The filename *must contain* the string `scenario_config`. You can also specify more than one column directing to a `scenario_config.csv` file. They will be evaluated in the order in which they appear in the `scenario_config_coupled.csv`. + - `no_ghgprices_land_until`: Controls at which timestep in the MAgPIE runs GHG prices from REMIND will start to be applied. This essentially enables you to set whether or not (or when) GHG prices on land should be applied in MAgPIE. If you want MAgPIE to always apply the same GHG prices from REMIND, you should set this to a timestep corresponding to the start of your REMIND run, such as `y2020` to start in the 2020 timestep. If you want to disable GHG prices in MAgPIE, regardless of what REMIND finds, set this to the last timestep of the run (usually `y2150`). Values in between allow the simulation of policies where GHG prices are only applied in the land use sector after a certain year. Other, optional columns allow you to make a run start only after another has finished, set starting conditions, and give you finer control over which data is fed to MAgPIE. + - `path_gdx`, `path_gdx_ref`, `path_gdx_refpolicycost`, `path_gdx_carbonprice`, `path_gdx_bau`, : Override these same settings in REMIND's `scenario_config`, see [`03_RunningBundleOfRuns`](./03_RunningBundleOfRuns.md) for a detailed explanation. - You can set these switches either to the full path of a `fulldata.gdx` file or simply to the name of another scenario in the file (without the "C_"!). So if you want a certain scenario (say `NDC`) to use as starting point the results of a `Base` scenario, you can simply set `path_gdx` to `Base` and it will automatically locate the appropriate `fulldata.gdx` in `Base`, for example `path_remind/C_Base-rem-x/fulldata.gdx`. - If you set any of these `path_gdx…` columns (or `path_mif_ghgprice_land`, below) with a scenario name such as `Base`, the coupling script will not start any runs that depend on an unfinished run, and automatically start them when that run finishes. So, in the example above, you can set `start` to `1` in both `Base` and `NDC`, `NDC` will only start *after* `Base` is finished. `NDC-rem-2` will start after `NDC-rem-1` and `Base-rem-2` are finished. From f17d92d64f5ea104a78a46ac07f32772d4fa664e Mon Sep 17 00:00:00 2001 From: David Klein Date: Fri, 26 Jul 2024 12:59:53 +0200 Subject: [PATCH 194/875] Update 04_RunningREMINDandMAgPIE.md --- tutorials/04_RunningREMINDandMAgPIE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/04_RunningREMINDandMAgPIE.md b/tutorials/04_RunningREMINDandMAgPIE.md index 6ccbf1ca9..bcad149a2 100644 --- a/tutorials/04_RunningREMINDandMAgPIE.md +++ b/tutorials/04_RunningREMINDandMAgPIE.md @@ -105,7 +105,7 @@ All the columns must be present in the `scenario_config_coupled.csv` file, but m - `start`: Defines if a scenario run should be started (1) or not (0). Overrides whatever is set in REMIND's `scenario_config*.csv`. If you have an unfinished coupled run, it will automatically try to continue from the last coupling iteration (i.e. REMIND or MAgPIE run), if it is not finished yet (i.e. reached `max_iterations`). - `qos`: The SLURM qos the coupled runs should be submitted to, such as `priority`, `short`, `medium`, `long` or `standby` on the PIK cluster. If you use `auto`, the qos is set to `priority` if an empty slot exists, and `short` otherwise. This is also the default if no `qos` is set. Currently, there is no default support for running a coupled run locally. - - `magpie_scen`: A pipe (`|`) separated list of configurations to pass to MAgPIE. Each entry should correspond to a column in [MAgPIE's scenario_config](https://github.com/magpiemodel/magpie/blob/master/config/scenario_config.csv), each one of them setting the multiple configuration flags listed in that file. The configurations are applied in the order that they appear. For example, to configure MAgPIE with SSP2 settings and climate change impacts according to RCP45 set `magpie_scen` to `SSP2|cc|rcp4p5`. To select scenarios from a different `scenario_config*.csv` file replace `magpie_scen` by the path to that file relative to MAgPIE's main folder, for example: `config/projects/scenario_config_PROJECT.csv`. The filename *must contain* the string `scenario_config`. You can also specify more than one column directing to a `scenario_config.csv` file. They will be evaluated in the order in which they appear in the `scenario_config_coupled.csv`. + - `magpie_scen`: A pipe (`|`) separated list of configurations to pass to MAgPIE. Each entry should correspond to a column in [MAgPIE's scenario_config](https://github.com/magpiemodel/magpie/blob/master/config/scenario_config.csv), each one of them setting the multiple configuration flags listed in that file. The configurations are applied in the order that they appear. For example, to configure MAgPIE with SSP2 settings and climate change impacts according to RCP45 set `magpie_scen` to `SSP2|cc|rcp4p5`. To select scenarios from a different `scenario_config*.csv` file replace `magpie_scen` by the path to that file relative to MAgPIE's main folder, for example: `config/projects/scenario_config_PROJECT.csv`. The filename *must contain* the string `scenario_config`. You can also specify more than one column directing to another `scenario_config_PROJECT2.csv` file. They will be evaluated in the order in which they appear in the `scenario_config_coupled.csv`. - `no_ghgprices_land_until`: Controls at which timestep in the MAgPIE runs GHG prices from REMIND will start to be applied. This essentially enables you to set whether or not (or when) GHG prices on land should be applied in MAgPIE. If you want MAgPIE to always apply the same GHG prices from REMIND, you should set this to a timestep corresponding to the start of your REMIND run, such as `y2020` to start in the 2020 timestep. If you want to disable GHG prices in MAgPIE, regardless of what REMIND finds, set this to the last timestep of the run (usually `y2150`). Values in between allow the simulation of policies where GHG prices are only applied in the land use sector after a certain year. From 2ba85bc58000774fb360bcf1e468f0677ba00e9b Mon Sep 17 00:00:00 2001 From: David Klein Date: Fri, 26 Jul 2024 13:01:36 +0200 Subject: [PATCH 195/875] Update 04_RunningREMINDandMAgPIE.md --- tutorials/04_RunningREMINDandMAgPIE.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/tutorials/04_RunningREMINDandMAgPIE.md b/tutorials/04_RunningREMINDandMAgPIE.md index bcad149a2..713ad5624 100644 --- a/tutorials/04_RunningREMINDandMAgPIE.md +++ b/tutorials/04_RunningREMINDandMAgPIE.md @@ -103,10 +103,8 @@ All the columns must be present in the `scenario_config_coupled.csv` file, but m - `title`: The name of the scenario, must be unique and match the `title` column in REMIND's `scenario_config.csv` - `start`: Defines if a scenario run should be started (1) or not (0). Overrides whatever is set in REMIND's `scenario_config*.csv`. If you have an unfinished coupled run, it will automatically try to continue from the last coupling iteration (i.e. REMIND or MAgPIE run), if it is not finished yet (i.e. reached `max_iterations`). - - `qos`: The SLURM qos the coupled runs should be submitted to, such as `priority`, `short`, `medium`, `long` or `standby` on the PIK cluster. If you use `auto`, the qos is set to `priority` if an empty slot exists, and `short` otherwise. This is also the default if no `qos` is set. Currently, there is no default support for running a coupled run locally. - - - `magpie_scen`: A pipe (`|`) separated list of configurations to pass to MAgPIE. Each entry should correspond to a column in [MAgPIE's scenario_config](https://github.com/magpiemodel/magpie/blob/master/config/scenario_config.csv), each one of them setting the multiple configuration flags listed in that file. The configurations are applied in the order that they appear. For example, to configure MAgPIE with SSP2 settings and climate change impacts according to RCP45 set `magpie_scen` to `SSP2|cc|rcp4p5`. To select scenarios from a different `scenario_config*.csv` file replace `magpie_scen` by the path to that file relative to MAgPIE's main folder, for example: `config/projects/scenario_config_PROJECT.csv`. The filename *must contain* the string `scenario_config`. You can also specify more than one column directing to another `scenario_config_PROJECT2.csv` file. They will be evaluated in the order in which they appear in the `scenario_config_coupled.csv`. - + - `qos`: The SLURM qos the coupled runs should be submitted to, such as `priority`, `short`, `medium`, `long` or `standby` on the PIK cluster. If you use `auto`, the qos is set to `priority` if an empty slot exists, and `short` otherwise. This is also the default if no `qos` is set. Currently, there is no default support for running a coupled run locally. + - `magpie_scen`: A pipe (`|`) separated list of configurations to pass to MAgPIE. Each entry should correspond to a column in [MAgPIE's scenario_config](https://github.com/magpiemodel/magpie/blob/master/config/scenario_config.csv), each one of them setting the multiple configuration flags listed in that file. The configurations are applied in the order that they appear. For example, to configure MAgPIE with SSP2 settings and climate change impacts according to RCP45 set `magpie_scen` to `SSP2|cc|rcp4p5`. To select scenarios from a different `scenario_config*.csv` file replace `magpie_scen` by the path to that file relative to MAgPIE's main folder, for example: `config/projects/scenario_config_PROJECT.csv`. The filename *must contain* the string `scenario_config`. You can also specify more than one column directing to another `scenario_config_PROJECT2.csv` file. They will be evaluated in the order in which they appear in the `scenario_config_coupled.csv`. - `no_ghgprices_land_until`: Controls at which timestep in the MAgPIE runs GHG prices from REMIND will start to be applied. This essentially enables you to set whether or not (or when) GHG prices on land should be applied in MAgPIE. If you want MAgPIE to always apply the same GHG prices from REMIND, you should set this to a timestep corresponding to the start of your REMIND run, such as `y2020` to start in the 2020 timestep. If you want to disable GHG prices in MAgPIE, regardless of what REMIND finds, set this to the last timestep of the run (usually `y2150`). Values in between allow the simulation of policies where GHG prices are only applied in the land use sector after a certain year. Other, optional columns allow you to make a run start only after another has finished, set starting conditions, and give you finer control over which data is fed to MAgPIE. From 50d482269e3dcb250cea8e430d0d44455ba4bff5 Mon Sep 17 00:00:00 2001 From: David Klein Date: Fri, 26 Jul 2024 13:38:53 +0200 Subject: [PATCH 196/875] Update coupling tutorial --- tutorials/04_RunningREMINDandMAgPIE.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tutorials/04_RunningREMINDandMAgPIE.md b/tutorials/04_RunningREMINDandMAgPIE.md index 713ad5624..b6bc5a8fb 100644 --- a/tutorials/04_RunningREMINDandMAgPIE.md +++ b/tutorials/04_RunningREMINDandMAgPIE.md @@ -104,7 +104,7 @@ All the columns must be present in the `scenario_config_coupled.csv` file, but m - `title`: The name of the scenario, must be unique and match the `title` column in REMIND's `scenario_config.csv` - `start`: Defines if a scenario run should be started (1) or not (0). Overrides whatever is set in REMIND's `scenario_config*.csv`. If you have an unfinished coupled run, it will automatically try to continue from the last coupling iteration (i.e. REMIND or MAgPIE run), if it is not finished yet (i.e. reached `max_iterations`). - `qos`: The SLURM qos the coupled runs should be submitted to, such as `priority`, `short`, `medium`, `long` or `standby` on the PIK cluster. If you use `auto`, the qos is set to `priority` if an empty slot exists, and `short` otherwise. This is also the default if no `qos` is set. Currently, there is no default support for running a coupled run locally. - - `magpie_scen`: A pipe (`|`) separated list of configurations to pass to MAgPIE. Each entry should correspond to a column in [MAgPIE's scenario_config](https://github.com/magpiemodel/magpie/blob/master/config/scenario_config.csv), each one of them setting the multiple configuration flags listed in that file. The configurations are applied in the order that they appear. For example, to configure MAgPIE with SSP2 settings and climate change impacts according to RCP45 set `magpie_scen` to `SSP2|cc|rcp4p5`. To select scenarios from a different `scenario_config*.csv` file replace `magpie_scen` by the path to that file relative to MAgPIE's main folder, for example: `config/projects/scenario_config_PROJECT.csv`. The filename *must contain* the string `scenario_config`. You can also specify more than one column directing to another `scenario_config_PROJECT2.csv` file. They will be evaluated in the order in which they appear in the `scenario_config_coupled.csv`. + - `magpie_scen`: A pipe (`|`) separated list of configurations to pass to MAgPIE. Each entry should correspond to a column in [MAgPIE's scenario_config](https://github.com/magpiemodel/magpie/blob/master/config/scenario_config.csv), each one of them setting the multiple configuration flags listed in that file. The configurations are applied in the order that they appear. For example, to configure MAgPIE with SSP2 settings and climate change impacts according to RCP45 set `magpie_scen` to `SSP2|cc|rcp4p5`. To select scenarios from a different `scenario_config*.csv` file replace `magpie_scen` by the path to that file relative to MAgPIE's main folder, for example: `config/projects/scenario_config_PROJECT.csv`. The filename *must contain* the string `scenario_config`. You can also specify more than one column directing to another `scenario_config_PROJECT2.csv` file. They will be evaluated in the order in which they appear in the `scenario_config_coupled.csv`. There is another option of addressing MAgPIE switches described at the end of the list of optional columns below. - `no_ghgprices_land_until`: Controls at which timestep in the MAgPIE runs GHG prices from REMIND will start to be applied. This essentially enables you to set whether or not (or when) GHG prices on land should be applied in MAgPIE. If you want MAgPIE to always apply the same GHG prices from REMIND, you should set this to a timestep corresponding to the start of your REMIND run, such as `y2020` to start in the 2020 timestep. If you want to disable GHG prices in MAgPIE, regardless of what REMIND finds, set this to the last timestep of the run (usually `y2150`). Values in between allow the simulation of policies where GHG prices are only applied in the land use sector after a certain year. Other, optional columns allow you to make a run start only after another has finished, set starting conditions, and give you finer control over which data is fed to MAgPIE. @@ -120,6 +120,7 @@ Other, optional columns allow you to make a run start only after another has fin - `oldrun`: This setting can be used to continue a coupled run that had a different name and/or is in a different folder. It works in almost the same way as `path_gdx`, but it is used only if no REMIND run has been finished for this scenario. It will look in the path set in `start_bundle_coupled.R`'s `path_remind_oldruns`. This can be useful when continuing a previous experiment that was made in another REMIND copy, or after changing scenario names. - `path_report: Provide a path to a MAgPIE report here if you want REMIND to start with it. It overwrites whatever might have been automatically found from former MAgPIE runs. - `cm_nash_autoconverge_lastrun`: can be used to specify `cm_nash_autoconverge`, but only for the last REMIND run, for example to increase precision there by setting it to `2`. + - `cfg_mag$...`: If you don't want to define individual scenarios in MAgPIE to address switches, you can directly address MAgPIE switches in the `scenario_config_coupled.csv`. Add any number of columns to your `scenario_config_coupled.csv` that have the name of the MAgPIE switch as the column name. They need to start with `cfg_mag$`. For example: if you want to set `gms$s56_cprice_red_factor` to `3.14` for `SSP2-NPi`, add the column `cfg_mag$gms$s56_cprice_red_factor` to your `scenario_config_coupled.csv` and fill in `3.14` in the row that defines `SSP2-NPi`. ### Perform test start before actually submitting runs From f3bfa4c36a5fb7550694cea368f5577749197d8c Mon Sep 17 00:00:00 2001 From: David Klein Date: Fri, 26 Jul 2024 14:19:23 +0200 Subject: [PATCH 197/875] Remove obsolete lines of code. --- start_bundle_coupled.R | 2 -- 1 file changed, 2 deletions(-) diff --git a/start_bundle_coupled.R b/start_bundle_coupled.R index 8a1afcca6..9a28bb06d 100755 --- a/start_bundle_coupled.R +++ b/start_bundle_coupled.R @@ -402,8 +402,6 @@ for(scen in common){ if (nrow(magpieSwitches) > 0) { # remove prefix "cfg_mag$" from switch names to yield original MAgPIE names row.names(magpieSwitches) <- gsub("cfg_mag\\$", "", row.names(magpieSwitches)) - # replace "." with "$" which has been removed by R when reading the scenarios_coupled - row.names(magpieSwitches) <- gsub("\\.", "$", row.names(magpieSwitches)) cfg_mag <- setScenario(cfg_mag, scen, scenario_config = magpieSwitches) } From 38693d09b88d941f3bf40d9f099c5ed1651309d3 Mon Sep 17 00:00:00 2001 From: dbantje Date: Fri, 26 Jul 2024 14:59:51 +0200 Subject: [PATCH 198/875] Updated documentation on pure rate of time preference standard value. --- main.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.gms b/main.gms index 4294f8f27..9e80f9145 100755 --- a/main.gms +++ b/main.gms @@ -685,7 +685,7 @@ parameter cm_prtpScen "pure rate of time preference standard values" ; cm_prtpScen = 1; !! def = 1 !! regexp = 1|3 -*' * (1): 1 % +*' * (1): 1.5 % *' * (3): 3 % *' parameter From 9ad3c131e78c65111536368dc3181b42c8331fa5 Mon Sep 17 00:00:00 2001 From: David Klein Date: Mon, 29 Jul 2024 10:06:49 +0200 Subject: [PATCH 199/875] Return to the previous wording. --- scripts/start/readCheckScenarioConfig.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/start/readCheckScenarioConfig.R b/scripts/start/readCheckScenarioConfig.R index e86c16cff..6590812b4 100644 --- a/scripts/start/readCheckScenarioConfig.R +++ b/scripts/start/readCheckScenarioConfig.R @@ -189,7 +189,7 @@ readCheckScenarioConfig <- function(filename, remindPath = ".", testmode = FALSE if (testmode) { warning("Unknown column names: ", paste(unknownColumnNamesNoComments, collapse = ", ")) } else if (errorsfound == 0) { - message("Do you want to continue keeping the columns? Y/n") + message("Do you want to continue and simply ignore them? Y/n") userinput <- tolower(gms::getLine()) if (! userinput %in% c("y", "")) stop("Ok, so let's stop.") } From 6577102937578eaf64ec2bf3a85163c98fee371d Mon Sep 17 00:00:00 2001 From: Katarzyna Kowalczyk Date: Wed, 22 Feb 2023 16:58:10 +0100 Subject: [PATCH 200/875] Add OAE to the CDR portfolio --- core/datainput.gms | 5 ++ core/sets.gms | 4 ++ main.gms | 31 +++++++++++ modules/33_CDR/portfolio/bounds.gms | 7 +++ modules/33_CDR/portfolio/datainput.gms | 27 ++++++++++ modules/33_CDR/portfolio/declarations.gms | 12 ++++- modules/33_CDR/portfolio/equations.gms | 63 +++++++++++++++-------- modules/33_CDR/portfolio/sets.gms | 14 +++++ scripts/input/exoGAINSAirpollutants.R | 4 +- scripts/input/prepare_NDC.R | 2 +- scripts/output/single/reporting.R | 3 +- scripts/start/prepare.R | 5 +- 12 files changed, 149 insertions(+), 28 deletions(-) diff --git a/core/datainput.gms b/core/datainput.gms index 56d7f2e34..b0f0dbbc7 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -729,6 +729,9 @@ pm_cf(ttot,regi,"idr") = 0.8; pm_cf(ttot,regi,"idrcc") = 1.0; !! capex is derived from numbers per ton of CO2, where cf = 1 is assumed in conversion pm_cf(ttot,regi,"eaf") = 1.0; !! capex is derived from numbers per ton of CO2, where cf = 1 is assumed in conversion +*KK TODO move to mrremind* +pm_cf(ttot,regi,"oae") = 0.8; + *RP* phasing down the ngt cf to "peak load" cf of 5% pm_cf(ttot,regi,"ngt")$(ttot.val eq 2025) = 0.9 * pm_cf(ttot,regi,"ngt"); pm_cf(ttot,regi,"ngt")$(ttot.val eq 2030) = 0.8 * pm_cf(ttot,regi,"ngt"); @@ -1201,6 +1204,7 @@ loop(ttot$(ttot.val ge 2005), p_adj_seed_te(ttot,regi,"coalftcrec") = 0.25; p_adj_seed_te(ttot,regi,"coaltr") = 4.00; p_adj_seed_te(ttot,regi,'dac') = 0.25; + p_adj_seed_te(ttot,regi,'oae') = 0.25; p_adj_seed_te(ttot,regi,'geohe') = 0.33; $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" p_adj_seed_te(ttot,regi,"bfcc") = 0.05; @@ -1248,6 +1252,7 @@ $ifthen.WindOff %cm_wind_offshore% == "1" $endif.WindOff p_adj_coeff(ttot,regi,"dac") = 0.8; + p_adj_coeff(ttot,regi,'oae') = 0.8; p_adj_coeff(ttot,regi,teGrid) = 0.3; p_adj_coeff(ttot,regi,teStor) = 0.05; ); diff --git a/core/sets.gms b/core/sets.gms index dd972a068..f8f3d8bc3 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -268,8 +268,12 @@ $ENDIF.WindOff weathering "enhanced weathering" dac "direct air capture" +<<<<<<< HEAD oae_ng "ocean akalinity ehnacement via ocean liming using a traditional calciner" oae_el "ocean akalinity ehnacement via ocean liming using a novel calciner technology" +======= + oae "ocean alkalinity enhancement" +>>>>>>> ef6d08a4 (Add OAE to the CDR portfolio) x_gas2elec d_bio2elec "d_* transmission and distribution losses" d_coal2elec diff --git a/main.gms b/main.gms index 4294f8f27..c54338d48 100755 --- a/main.gms +++ b/main.gms @@ -861,6 +861,32 @@ parameter *' * (1): enhanced weathering is included *' * (0): not included *' +parameter + cm_33OAE "choose whether OAE (ocean alkalinity enhancement) should be included into the CDR portfolio. 0 = OAE not used, 1 = used" +; + cm_33OAE = 0; !! def = 0 +*' * (1): ocean alkalinity enhancement is included +*' * (0): not included +*' +parameter + cm_33_OAE_eff "OAE efficiency measured in tCO2 uptaken by the ocean per tCaO. Typically between 0.9-1.4. [tCO2/tCaO]" +; + cm_33_OAE_eff = 0.9; !! def = 0.9 +*' +parameter + cm_33_OAE_scen "OAE distribution scenarios" +; + cm_33_OAE_scen = 0; !! def = 0 +*' * (0): pessimistic: a rather low discharge rate (30 tCaO per h), corresponding to high distribution costs +*' * (1): optimistic: a high discharge rate (250 tCaO per h), corresponding to lower distribution costs +*' +parameter + cm_33_OAE_startyr "The year when OAE could start being deployed [year]" +; + cm_33_OAE_startyr = 2025; !! def = 2025 !! regexp = 2025|20[3-9](0|5) +*' * (2025): earliest year when OAE could be deployed +*' * (....): later timesteps +*' parameter cm_gs_ew "grain size (for enhanced weathering, CDR module) [micrometre]" ; @@ -1567,6 +1593,11 @@ $setglobal cm_Industry_CCS_markup off !! def = off *** def <- "off" = use default floor cost for renewables. *** or list of techs with respective value to be added to the renewables floor cost in Europe $setglobal cm_renewables_floor_cost off !! def = off +*** cm_33_OAE_lim "Global limit for OAE [MtCO2 per yr]" +*** (off): no bound +*** (5000): (default) global limit of 5GtCO2 per yr +*** (any value ge 0): set maximum to that value +$setglobal cm_33_OAE_lim 5000 !! def = 5000 !! regexp = off|is.nonnegative *** cm_sehe_upper "secondary energy district heating and heat pumps upper bound" *** def <- "off" = no additional limit for district heating and heat pumps. *** or number (ex. 2), district heating and heat pumps are limited to an upper bound of 2 times the 2020 model values. diff --git a/modules/33_CDR/portfolio/bounds.gms b/modules/33_CDR/portfolio/bounds.gms index 2fd7bc04f..09eac84dd 100644 --- a/modules/33_CDR/portfolio/bounds.gms +++ b/modules/33_CDR/portfolio/bounds.gms @@ -55,4 +55,11 @@ if(not te_used33("weathering"), vm_cap.fx(t,regi,"weathering",rlf) = 0; ); +if(te_used33("oae"), +$ifthen not %cm_33_OAE_lim% == "off" + vm_emiCdrTeDetail.lo(t, regi, "oae") = - (pm_gdp("2005",regi) / sum(regi2, pm_gdp("2005", regi2))) * s33_OAE_glo_limit / sm_c_2_co2; +$endif + vm_cap.fx(t, regi, "oae", rlf)$(t.val lt cm_33_OAE_startyr) = 0; +); + *** EOF ./modules/33_CDR/portfolio/bounds.gms diff --git a/modules/33_CDR/portfolio/datainput.gms b/modules/33_CDR/portfolio/datainput.gms index f386d913c..18879ca74 100644 --- a/modules/33_CDR/portfolio/datainput.gms +++ b/modules/33_CDR/portfolio/datainput.gms @@ -49,5 +49,32 @@ p33_fedem("weathering", "fedie") = 0.3; *' Factor distributing the global rock limit across regions according to population p33_LimRock(regi) = pm_pop("2005",regi) / sum(regi2,pm_pop("2005",regi2)); + +*** ocean alkalinity enhancement input data + +!! An assumption; generally the efficiency might vary between 1.2-1.8 tCO2/tCaO, +!! depending on e.g., ocean chemistry and currents in a given region +s33_OAE_efficiency = cm_33_oae_eff / sm_c_2_co2; !! GtC (ocean uptake) per unit of GtCaO + +!! 0.78 tCO2 are emitted in the decomposition of limestone to produce 1 tCaO +s33_OAE_chem_decomposition = 0.78 / sm_c_2_co2 / s33_oae_efficiency; !! GtC from decomposition per 1GtC taken by the ocean + +p33_fedem("oae", "feels") = 1.0 / s33_OAE_efficiency; !! 996 MJ/tCaO +p33_fedem("oae", "fehes") = 3.1 / s33_OAE_efficiency; !! 3100 MJ/tCaO + +if(cm_33_OAE_scen = 0, !! pessimistic scenario for distribution, high diesel demand + p33_fedem("oae", "fedie") = 2.6 / s33_OAE_efficiency; !! 2600 MJ/tCaO +); + +if(cm_33_OAE_scen = 1, !! optimistic scenario for distribution, lower diesel demand + p33_fedem("oae", "fedie") = 0.7 / s33_OAE_efficiency; !! 674 MJ/tCaO +); + +$ifthen.OAE_glo_limit not %cm_33_OAE_lim% == "off" +*** get the global limit on OAE (if exists) in GtC per yr +s33_OAE_glo_limit = %cm_33_OAE_lim% / 1000 / sm_c_2_co2; +$endif.OAE_glo_limit + *' @stop + *** EOF ./modules/33_CDR/portfolio/datainput.gms diff --git a/modules/33_CDR/portfolio/declarations.gms b/modules/33_CDR/portfolio/declarations.gms index 9a1a43c63..bc58030ba 100644 --- a/modules/33_CDR/portfolio/declarations.gms +++ b/modules/33_CDR/portfolio/declarations.gms @@ -11,6 +11,10 @@ s33_co2_rem_rate "carbon removal rate [fraction of annual reduction o s33_costs_fix "fixed costs for mining, grinding, spreading [T$/Gt stone]" s33_step "size of bins in v33_weathering_onfield [Gt stone]" *JeS* GJ/tCO2 = EJ/Gt CO2 = 44/12 EJ/Gt C. + +s33_OAE_efficiency "the amount of rock required to sequester 1GtC [Gt rock / GtC]" +s33_OAE_chem_decomposition "the fraction of CO2 that comes from chemical decomposition in the calcination process" +s33_OAE_glo_limit "global limit for OAE [tC / a]" ; parameters @@ -34,9 +38,11 @@ equations q33_demFeCDR(ttot,all_regi,all_enty) "CDR demand balance for final energy" q33_emiCDR(ttot,all_regi) "aggregates the (negative) emissions captured by the CDR technologies" q33_H2bio_lim(ttot,all_regi) "limits H2 from bioenergy to FE - H2 demand from CDR, i.e. no H2 from bioenergy for DAC" -q33_DAC_emi(ttot,all_regi) "calculates amount of carbon captured by DAC" +q33_capconst(ttot,all_regi,all_te) "calculates amount of carbon captured by DAC and OAE" +q33_ccsbal(ttot,all_regi,all_enty,all_enty,all_te) "calculates CCS emissions from CDR technologies" + q33_DAC_FEdemand(ttot,all_regi,all_enty) "calculates final energy demand from DAC" -q33_DAC_ccsbal(ttot,all_regi,all_enty,all_enty,all_te) "calculates CCS emissions from CDR technologies" + q33_EW_capconst(ttot,all_regi) "calculates amount of ground rock spread on fields" q33_EW_onfield_tot(ttot,all_regi,rlf,rlf) "total amount of ground rock on fields" q33_EW_omcosts(ttot,all_regi) "calculates O&M costs for spreading ground rocks on fields" @@ -44,6 +50,8 @@ q33_EW_FEdemand(ttot,all_regi,all_enty) "calculates final energy demand from en q33_EW_potential(ttot,all_regi,rlf) "limits the total potential of EW per region and grade" q33_EW_emi(ttot,all_regi) "calculates amount of carbon captured by EW" q33_EW_LimEmi(ttot,all_regi) "limits EW to a maximal annual amount of ground rock of cm_LimRock" + +q33_OAE_FEdemand(ttot,all_regi,all_enty) "calculates final energy demand for ocean alkalinity enhancement" ; *** EOF ./modules/33_CDR/portfolio/declarations.gms diff --git a/modules/33_CDR/portfolio/equations.gms b/modules/33_CDR/portfolio/equations.gms index e171ac591..0c246f31d 100644 --- a/modules/33_CDR/portfolio/equations.gms +++ b/modules/33_CDR/portfolio/equations.gms @@ -34,26 +34,16 @@ q33_emiCDR(t,regi).. ; ***--------------------------------------------------------------------------- -*' Limit the amount of H2 from biomass to the demand without CDR. -*' It's a sustainability bound to prevent a large demand for biomass. -***--------------------------------------------------------------------------- -q33_H2bio_lim(t,regi).. - sum(pe2se("pebiolc","seh2",te), vm_prodSe(t,regi,"pebiolc","seh2",te)) - =l= - vm_prodFe(t,regi,"seh2","feh2s","tdh2s") - sum(fe2cdr("feh2s",entyFe2,te_used33), v33_FEdemand(t,regi,"feh2s",entyFe2,te_used33)) - ; - +*' Calculation of (negative) CO2 emissions from capacity. +*' Negative emissions from enhanced weathering also result from decaying rock +*' spread in previous timesteps, so emissions do not equal to the capacity +*' (i.e., how much rock is spread in a given timestep). ***--------------------------------------------------------------------------- -*' #### DAC equations - -***--------------------------------------------------------------------------- -*' Calculation of (negative) atmospheric CO2 captured by direct air capture. -***--------------------------------------------------------------------------- -q33_DAC_emi(t,regi).. - vm_emiCdrTeDetail(t,regi,"dac") +q33_capconst(t, regi, te_used33)$(not sameAs(te_used33, "weathering")).. + vm_emiCdrTeDetail(t, regi, te_used33) =e= - - sum(teNoTransform2rlf33("dac",rlf), - vm_capFac(t,regi,"dac") * vm_cap(t,regi,"dac",rlf) + - sum(teNoTransform2rlf33(te_used33, rlf), + vm_capFac(t, regi, te_used33) * vm_cap(t, regi, te_used33, rlf) ) ; @@ -61,15 +51,30 @@ q33_DAC_emi(t,regi).. *' Preparation of captured emissions to enter the CCUS chain. *' The first part of the equation describes emissions captured from the ambient air, *' the second part calculates the CO2 captured from the gas used for heat production -*' assuming 90% capture rate. +*' required for all CDR assuming 90% capture rate. The third part is the CCS needed for +*' limestone decomposition emissions for ocean alkalinity enhancement. ***--------------------------------------------------------------------------- -q33_DAC_ccsbal(t,regi,ccs2te(ccsCo2(enty),enty2,te)).. - sum(teCCS2rlf(te,rlf), vm_ccs_cdr(t,regi,enty,enty2,te,rlf)) +q33_ccsbal(t, regi, ccs2te(ccsCo2(enty), enty2, te)).. + sum(teCCS2rlf(te, rlf), vm_ccs_cdr(t, regi, enty, enty2, te, rlf)) =e= - - vm_emiCdrTeDetail(t,regi,"dac") + - vm_emiCdrTeDetail(t, regi, "dac") + (1 / pm_eta_conv(t,regi,"gash2c")) * fm_dataemiglob("pegas","seh2","gash2c","cco2") * sum(fe2cdr("fegas",entyFe2,te_used33), v33_FEdemand(t,regi,"fegas", entyFe2,te_used33)) + - s33_OAE_chem_decomposition * vm_emiCdrTeDetail(t, regi, "oae") + ; + +***--------------------------------------------------------------------------- +*' Limit the amount of H2 from biomass to the demand without CDR. +*' It's a sustainability bound to prevent a large demand for biomass. +***--------------------------------------------------------------------------- +q33_H2bio_lim(t,regi).. + sum(pe2se("pebiolc","seh2",te), vm_prodSE(t,regi,"pebiolc","seh2",te)) + =l= + vm_prodFe(t,regi,"seh2","feh2s","tdh2s") - sum(fe2cdr("feh2s",entyFe2,te_used33), v33_FEdemand(t,regi,"feh2s",entyFe2,te_used33)) ; +***--------------------------------------------------------------------------- +*' #### DAC equations + ***--------------------------------------------------------------------------- *' Calculation of FE demand for DAC, i.e., electricity demand for ventilation, *' and heat demand. @@ -166,5 +171,19 @@ q33_EW_LimEmi(t,regi).. cm_LimRock * p33_LimRock(regi) ; + +***--------------------------------------------------------------------------- +*' #### OAE equations + +***--------------------------------------------------------------------------- +*' Calculation of FE demand for OAE, i.e., electricity for rock preprocessing, +*' and heat for calcination. +***--------------------------------------------------------------------------- +q33_OAE_FEdemand(t,regi,entyFe2)$sum(entyFe, fe2cdr(entyFe,entyFe2,"oae")).. + sum(fe2cdr(entyFe,entyFe2,"oae"), v33_FEdemand(t,regi,entyFe,entyFe2,"oae")) + =e= + p33_fedem("oae", entyFe2) * sm_EJ_2_TWa * (- vm_emiCdrTeDetail(t,regi,"oae")) + ; + *' @stop *** EOF ./modules/33_CDR/portfolio/equations.gms diff --git a/modules/33_CDR/portfolio/sets.gms b/modules/33_CDR/portfolio/sets.gms index cf70edd0e..123051c1c 100644 --- a/modules/33_CDR/portfolio/sets.gms +++ b/modules/33_CDR/portfolio/sets.gms @@ -11,6 +11,7 @@ te_all33(all_te) "all CDR technologies" / weathering "enhanced weathering" dac "direct air capture" + oae "ocean alkalinity enhancement" / te_used33(all_te) "used CDR technologies (specified by switches)" @@ -34,6 +35,11 @@ fe2cdr(all_enty,all_enty,all_te) "mapping of FE carriers supplying FE demand for fegas.fehes.dac feels.feels.weathering fedie.fedie.weathering + feels.feels.oae + fegas.fehes.oae + feels.fehes.oae + feh2s.fehes.oae + fedie.fedie.oae / rlf_cz33(rlf) "representing weathering rates depending on climate zones according to Strefler, Amann et al. (2017)" @@ -62,6 +68,14 @@ if(cm_33EW eq 1, teNoTransform2rlf33("weathering", "1") = YES; ); +if(cm_33OAE eq 1, + te_used33("oae") = YES; + teNoTransform33("oae") = YES; + teNoTransform2rlf33("oae", "1") = YES; + teAdj33("oae") = YES; + te_ccs33("oae") = YES; +); + ***------------------------------------------------------------------------- *** add module specific sets and mappings to the global sets and mappings ***------------------------------------------------------------------------- diff --git a/scripts/input/exoGAINSAirpollutants.R b/scripts/input/exoGAINSAirpollutants.R index d7494b6a0..0cd5de7cb 100644 --- a/scripts/input/exoGAINSAirpollutants.R +++ b/scripts/input/exoGAINSAirpollutants.R @@ -19,10 +19,12 @@ if (file.exists("log.txt")){ #rm(list=ls()) # load required packages -for (pkg in c('madrat', 'dplyr', 'remind2', 'gdx')) { +for (pkg in c('madrat', 'dplyr', 'gdx')) { suppressPackageStartupMessages(require(pkg, character.only = TRUE)) } +devtools::load_all("/p/tmp/katarkow/remind2/rebased-cdr-portfolio-oae") + # stop madrat reporting its default settings _every damn time_ invisible(getConfig(option = NULL, verbose = firstIteration)) diff --git a/scripts/input/prepare_NDC.R b/scripts/input/prepare_NDC.R index 79c32a58a..64df019a7 100644 --- a/scripts/input/prepare_NDC.R +++ b/scripts/input/prepare_NDC.R @@ -11,7 +11,7 @@ prepare_NDC<-function(gdx, cfg){ library(luplot,quietly=TRUE,warn.conflicts =FALSE) library(lucode2,quietly=TRUE,warn.conflicts =FALSE) library(gdx,quietly=TRUE,warn.conflicts =FALSE) - library(remind2,quietly = TRUE,warn.conflicts =FALSE) + devtools::load_all("/p/tmp/katarkow/remind2/rebased-cdr-portfolio-oae") ############################# BASIC CONFIGURATION ############################# diff --git a/scripts/output/single/reporting.R b/scripts/output/single/reporting.R index aa62ed57b..9152c2f38 100644 --- a/scripts/output/single/reporting.R +++ b/scripts/output/single/reporting.R @@ -6,7 +6,8 @@ # | Contact: remind@pik-potsdam.de library(magclass) -library(remind2) +# library(remind2) +devtools::load_all("/p/tmp/katarkow/remind2/rebased-cdr-portfolio-oae") library(lucode2) library(gms) library(methods) diff --git a/scripts/start/prepare.R b/scripts/start/prepare.R index b098bc23d..47f9b1f19 100644 --- a/scripts/start/prepare.R +++ b/scripts/start/prepare.R @@ -13,7 +13,8 @@ prepare <- function() { #require(lucode, quietly = TRUE,warn.conflicts =FALSE) require(magclass, quietly = TRUE,warn.conflicts =FALSE) require(tools, quietly = TRUE,warn.conflicts =FALSE) - require(remind2, quietly = TRUE,warn.conflicts =FALSE) + devtools::load_all("/p/tmp/katarkow/remind2/rebased-cdr-portfolio-oae") + # require(remind2) require(mrremind) require(mrvalidation) @@ -519,6 +520,8 @@ prepare <- function() { list(c("q33_DacFEdemand_heat.M", "!!q33_DacFEdemand_heat.M")), list(c("q33_DacFEdemand_el.M", "!!q33_DacFEdemand_el.M")), list(c("q33_capconst_dac.M", "!!q33_capconst_dac.M")), + list(c("q33_DAC_capconst.M", "!!q33_DAC_capconst.M")), + list(c("q33_DAC_ccsbal.M", "!!q33_DAC_ccsbal.M")), list(c("q33_ccsbal.M", "!!q33_ccsbal.M")), list(c("q33_H2bio_lim.M", "!!q33_H2bio_lim.M")), list(c("q33_demFeCDR.M", "!!q33_demFeCDR.M")), From d4a925637d5d16ecfab173658e2374e4d441e59f Mon Sep 17 00:00:00 2001 From: Katarzyna Kowalczyk Date: Wed, 17 Apr 2024 11:53:51 +0200 Subject: [PATCH 201/875] Add qttyTarget to OAE --- main.gms | 2 +- modules/33_CDR/portfolio/bounds.gms | 1 + modules/33_CDR/portfolio/datainput.gms | 6 +++++- modules/47_regipol/regiCarbonPrice/datainput.gms | 1 + modules/47_regipol/regiCarbonPrice/equations.gms | 4 ++++ modules/47_regipol/regiCarbonPrice/postsolve.gms | 6 ++++++ modules/47_regipol/regiCarbonPrice/presolve.gms | 3 +++ modules/47_regipol/regiCarbonPrice/sets.gms | 5 +++-- 8 files changed, 24 insertions(+), 4 deletions(-) diff --git a/main.gms b/main.gms index c54338d48..5bf95598a 100755 --- a/main.gms +++ b/main.gms @@ -1344,7 +1344,7 @@ $setGlobal cm_proNucRegiPol off !! def = off $setGlobal cm_CCSRegiPol off !! def = off *** cm_vehiclesSubsidies - If "on" applies country specific BEV and FCEV subsidies from 2020 onwards $setGlobal cm_vehiclesSubsidies off !! def = off -*** cm_implicitQttyTarget - Define quantity target for primary, secondary, final energy or CCS (PE, SE and FE in TWa, or CCS in Mt CO2) per target group (total, biomass, fossil, VRE, renewables, synthetic, ...). +*** cm_implicitQttyTarget - Define quantity target for primary, secondary, final energy or CCS (PE, SE and FE in TWa, or CCS and OAE in Mt CO2) per target group (total, biomass, fossil, VRE, renewables, synthetic, ...). *** The target is achieved by an endogenous calculated markup in the form or a tax or subsidy in between iterations. *** If cm_implicitQttyTargetType is set to "config", the quantity targets will be defined directly in this switch. Check below for examples on how to do this. *** If cm_implicitQttyTargetType is set to "scenario", you should define the list of pre-defined scenarios hard-coded in module '47_regipol' that should be active for the current run (this avoids reaching the 255 characters limit in more complex definitions). diff --git a/modules/33_CDR/portfolio/bounds.gms b/modules/33_CDR/portfolio/bounds.gms index 09eac84dd..069dfd0b2 100644 --- a/modules/33_CDR/portfolio/bounds.gms +++ b/modules/33_CDR/portfolio/bounds.gms @@ -56,6 +56,7 @@ if(not te_used33("weathering"), ); if(te_used33("oae"), +*** Limiting deployment proportional to GDP, an alternative is to use qttyTarget (preferred) $ifthen not %cm_33_OAE_lim% == "off" vm_emiCdrTeDetail.lo(t, regi, "oae") = - (pm_gdp("2005",regi) / sum(regi2, pm_gdp("2005", regi2))) * s33_OAE_glo_limit / sm_c_2_co2; $endif diff --git a/modules/33_CDR/portfolio/datainput.gms b/modules/33_CDR/portfolio/datainput.gms index 18879ca74..99952c708 100644 --- a/modules/33_CDR/portfolio/datainput.gms +++ b/modules/33_CDR/portfolio/datainput.gms @@ -71,10 +71,14 @@ if(cm_33_OAE_scen = 1, !! optimistic scenario for distribution, lower diesel dem ); $ifthen.OAE_glo_limit not %cm_33_OAE_lim% == "off" -*** get the global limit on OAE (if exists) in GtC per yr +*** get the global limit on OAE (if exists) in GtC per yr, +*** the limit is set in bounds.gms, and distributed among regions proportional to GDP +*** note that an alternative to using this is the qttyTarget (preferred) s33_OAE_glo_limit = %cm_33_OAE_lim% / 1000 / sm_c_2_co2; $endif.OAE_glo_limit +vm_costTeCapital.fx(t,regi,"oae") = pm_inco0_t(t, regi, "oae") / s33_OAE_efficiency; + *' @stop *** EOF ./modules/33_CDR/portfolio/datainput.gms diff --git a/modules/47_regipol/regiCarbonPrice/datainput.gms b/modules/47_regipol/regiCarbonPrice/datainput.gms index a12c04100..2670a6309 100644 --- a/modules/47_regipol/regiCarbonPrice/datainput.gms +++ b/modules/47_regipol/regiCarbonPrice/datainput.gms @@ -155,6 +155,7 @@ $endif.cm_implicitQttyTargetType p47_implicitQttyTargetIterationCount(ext_regi) = 0; *** intialize energy type bound implicit target parameters pm_implicitQttyTarget(ttot,ext_regi,taxType,targetType,"CCS",qttyTargetGroup)$pm_implicitQttyTarget(ttot,ext_regi,taxType,targetType,"CCS",qttyTargetGroup) = pm_implicitQttyTarget(ttot,ext_regi,taxType,targetType,"CCS",qttyTargetGroup)/(sm_c_2_co2*1000); + pm_implicitQttyTarget(ttot,ext_regi,taxType,targetType,"oae",qttyTargetGroup)$pm_implicitQttyTarget(ttot,ext_regi,taxType,targetType,"oae",qttyTargetGroup) = pm_implicitQttyTarget(ttot,ext_regi,taxType,targetType,"oae",qttyTargetGroup)/(sm_c_2_co2*1000); p47_implicitQttyTargetTax0(t,all_regi) = 0; $endIf.cm_implicitQttyTarget diff --git a/modules/47_regipol/regiCarbonPrice/equations.gms b/modules/47_regipol/regiCarbonPrice/equations.gms index 242f27d10..82f695678 100644 --- a/modules/47_regipol/regiCarbonPrice/equations.gms +++ b/modules/47_regipol/regiCarbonPrice/equations.gms @@ -32,6 +32,10 @@ q47_implicitQttyTargetTax(t,regi)$(t.val ge max(2010,cm_startyear)).. ( p47_implicitQttyTargetTax(t,regi,qttyTarget,qttyTargetGroup) * sum(ccs2te(ccsCo2(enty),enty2,te), sum(teCCS2rlf(te,rlf),vm_co2CCS(t,regi,enty,enty2,te,rlf))) )$(sameas(qttyTarget,"CCS")) + + + ( + p47_implicitQttyTargetTax(t,regi,qttyTarget,qttyTargetGroup) * (-vm_emiCdrTeDetail(t,regi,"oae")) + )$(sameas(qttyTarget,"oae")) ) - p47_implicitQttyTargetTax0(t,regi) diff --git a/modules/47_regipol/regiCarbonPrice/postsolve.gms b/modules/47_regipol/regiCarbonPrice/postsolve.gms index 3f75c13d2..74d0ff386 100644 --- a/modules/47_regipol/regiCarbonPrice/postsolve.gms +++ b/modules/47_regipol/regiCarbonPrice/postsolve.gms @@ -497,6 +497,9 @@ p47_implicitQttyTargetTax0(t,regi) = ( sum(ccs2te(ccsCo2(enty),enty2,te), sum(teCCS2rlf(te,rlf),vm_co2CCS.l(t,regi,enty,enty2,te,rlf))) )$(sameas(qttyTarget,"CCS") AND sameas(qttyTargetGroup,"all")) + + ( -vm_emiCdrTeDetail.l(t,regi,"oae") + )$(sameas(qttyTarget,"oae") AND sameas(qttyTargetGroup,"all")) + + (( !! Supply side BECCS sum(emiBECCS2te(enty,enty2,te,enty3),vm_emiTeDetail.l(t,regi,enty,enty2,te,enty3)) !! Industry BECCS (using biofuels in Industry with CCS) @@ -527,6 +530,9 @@ loop((ttot,ext_regi,taxType,targetType,qttyTarget,qttyTargetGroup)$pm_implicitQt ( sum(regi$regi_groupExt(ext_regi,regi), sum(ccs2te(ccsCo2(enty),enty2,te), sum(teCCS2rlf(te,rlf),vm_co2CCS.l(ttot,regi,enty,enty2,te,rlf)))) )$(sameas(qttyTarget,"CCS") AND sameas(qttyTargetGroup,"all")) + + ( sum(regi$regi_groupExt(ext_regi,regi), -vm_emiCdrTeDetail.l(ttot,regi,"oae")) + )$(sameas(qttyTarget,"oae") AND sameas(qttyTargetGroup,"all")) + + sum(regi$regi_groupExt(ext_regi,regi), ( !! Supply side BECCS sum(emiBECCS2te(enty,enty2,te,enty3),vm_emiTeDetail.l(ttot,regi,enty,enty2,te,enty3)) !! Industry BECCS (using biofuels in Industry with CCS) diff --git a/modules/47_regipol/regiCarbonPrice/presolve.gms b/modules/47_regipol/regiCarbonPrice/presolve.gms index 645404d86..b7798a56a 100644 --- a/modules/47_regipol/regiCarbonPrice/presolve.gms +++ b/modules/47_regipol/regiCarbonPrice/presolve.gms @@ -51,6 +51,9 @@ p47_implicitQttyTargetTax0(t,regi) = ( sum(ccs2te(ccsCo2(enty),enty2,te), sum(teCCS2rlf(te,rlf),vm_co2CCS.l(t,regi,enty,enty2,te,rlf))) )$(sameas(qttyTarget,"CCS") AND sameas(qttyTargetGroup,"all")) + + ( -vm_emiCdrTeDetail.l(t,regi,"oae") + )$(sameas(qttyTarget,"oae") AND sameas(qttyTargetGroup,"all")) + + (( !! Supply side BECCS sum(emiBECCS2te(enty,enty2,te,enty3),vm_emiTeDetail.l(t,regi,enty,enty2,te,enty3)) !! Industry BECCS (using biofuels in Industry with CCS) diff --git a/modules/47_regipol/regiCarbonPrice/sets.gms b/modules/47_regipol/regiCarbonPrice/sets.gms index d4c725822..cc9d36ccf 100644 --- a/modules/47_regipol/regiCarbonPrice/sets.gms +++ b/modules/47_regipol/regiCarbonPrice/sets.gms @@ -30,7 +30,7 @@ $ifThen.emiMkt not "%cm_emiMktTarget%" == "off" regiEmiMktconvergenceType(iteration,ttot,ttot,ext_regi,emiMktExt,convergenceType) "saving convergence type in iteration" / / $ENDIF.emiMkt -*** Implicit tax/subsidy necessary to achieve quantity target for primary, secondary, final energy and/or CCS +*** Implicit tax/subsidy necessary to achieve quantity target for primary, secondary, final energy and/or CCS and/or OAE $ifthen.cm_implicitQttyTarget not "%cm_implicitQttyTarget%" == "off" taxType "PE, SE or FE tax type" @@ -45,7 +45,7 @@ targetType "PE, SE or FE target type" s "relative target (s=share)" / -qttyTarget "quantity target for energy carrier level (primary, secondary, final energy) or CCS" +qttyTarget "quantity target for energy carrier level (primary, secondary, final energy) or CCS or OAE" / PE "Primary Energy" SE "Secondary Energy" @@ -54,6 +54,7 @@ qttyTarget "quantity target for energy carrier level (primary, secondary, final FE_wo_n_e "Final Energy without non-energy" FE_wo_b_wo_n_e "Final Energy without bunkers and non-energy" CCS "carbon capture and storage" + oae "ocean alkalinity enhancement" / qttyTargetGroup "quantity target aggregated categories" From fbfce721fafebfbed7ad243cfa214b530be06665 Mon Sep 17 00:00:00 2001 From: Katarzyna Kowalczyk Date: Tue, 21 May 2024 16:34:09 +0200 Subject: [PATCH 202/875] Update paths to remind2 --- scripts/input/exoGAINSAirpollutants.R | 2 +- scripts/input/prepare_NDC.R | 2 +- scripts/output/single/reporting.R | 2 +- scripts/start/prepare.R | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/input/exoGAINSAirpollutants.R b/scripts/input/exoGAINSAirpollutants.R index 0cd5de7cb..ac0136aa9 100644 --- a/scripts/input/exoGAINSAirpollutants.R +++ b/scripts/input/exoGAINSAirpollutants.R @@ -23,7 +23,7 @@ for (pkg in c('madrat', 'dplyr', 'gdx')) { suppressPackageStartupMessages(require(pkg, character.only = TRUE)) } -devtools::load_all("/p/tmp/katarkow/remind2/rebased-cdr-portfolio-oae") +devtools::load_all("/p/tmp/katarkow/remind2/syntra-low-risk") # stop madrat reporting its default settings _every damn time_ invisible(getConfig(option = NULL, verbose = firstIteration)) diff --git a/scripts/input/prepare_NDC.R b/scripts/input/prepare_NDC.R index 64df019a7..6dfa6e2b7 100644 --- a/scripts/input/prepare_NDC.R +++ b/scripts/input/prepare_NDC.R @@ -11,7 +11,7 @@ prepare_NDC<-function(gdx, cfg){ library(luplot,quietly=TRUE,warn.conflicts =FALSE) library(lucode2,quietly=TRUE,warn.conflicts =FALSE) library(gdx,quietly=TRUE,warn.conflicts =FALSE) - devtools::load_all("/p/tmp/katarkow/remind2/rebased-cdr-portfolio-oae") + devtools::load_all("/p/tmp/katarkow/remind2/syntra-low-risk") ############################# BASIC CONFIGURATION ############################# diff --git a/scripts/output/single/reporting.R b/scripts/output/single/reporting.R index 9152c2f38..fc43528fc 100644 --- a/scripts/output/single/reporting.R +++ b/scripts/output/single/reporting.R @@ -7,7 +7,7 @@ library(magclass) # library(remind2) -devtools::load_all("/p/tmp/katarkow/remind2/rebased-cdr-portfolio-oae") +devtools::load_all("/p/tmp/katarkow/remind2/syntra-low-risk") library(lucode2) library(gms) library(methods) diff --git a/scripts/start/prepare.R b/scripts/start/prepare.R index 47f9b1f19..daedcbe31 100644 --- a/scripts/start/prepare.R +++ b/scripts/start/prepare.R @@ -13,7 +13,7 @@ prepare <- function() { #require(lucode, quietly = TRUE,warn.conflicts =FALSE) require(magclass, quietly = TRUE,warn.conflicts =FALSE) require(tools, quietly = TRUE,warn.conflicts =FALSE) - devtools::load_all("/p/tmp/katarkow/remind2/rebased-cdr-portfolio-oae") + devtools::load_all("/p/tmp/katarkow/remind2/syntra-low-risk") # require(remind2) require(mrremind) require(mrvalidation) From 0ac58d18f95345632f2cf06df30af184e06ec90a Mon Sep 17 00:00:00 2001 From: Katarzyna Kowalczyk Date: Wed, 12 Jun 2024 11:29:27 +0200 Subject: [PATCH 203/875] Update OAE costs --- core/datainput.gms | 3 +++ core/input/generisdata_tech.prn | 7 +++++++ modules/33_CDR/portfolio/datainput.gms | 6 ++---- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/core/datainput.gms b/core/datainput.gms index b0f0dbbc7..af513f6a6 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -261,6 +261,9 @@ p_inco0(ttot,regi,te) = s_DpKW_2_TDpTW * p_inco0(ttot,regi,t fm_dataglob("inco0","csp") = 0.7 * fm_dataglob("inco0","csp"); fm_dataglob("incolearn","csp") = 0.7 * fm_dataglob("incolearn","csp"); +*KK* adjust costs for oae from USD/GtCaO to USD/GtC +fm_dataglob("inco0", "oae") = fm_dataglob("inco0", "oae") / (cm_33_oae_eff / sm_c_2_co2); +fm_dataglob("omf", "oae") = fm_dataglob("omf", "oae") / (cm_33_oae_eff / sm_c_2_co2); *** -------------------------------------------------------------------------------- *** Regionalize technology investment cost data diff --git a/core/input/generisdata_tech.prn b/core/input/generisdata_tech.prn index f1f712a65..bbcf3d286 100644 --- a/core/input/generisdata_tech.prn +++ b/core/input/generisdata_tech.prn @@ -157,10 +157,17 @@ lifetime 45 45 45 + weathering dac oae_ng oae_el tech_stat 4 +<<<<<<< HEAD inco0 0.01 18800 200 400 mix0 0 0 0 0 eta 1.00 1.00 1.00 1.00 omf 0.84 0.025 0.35 0.17 +======= +inco0 0.01 18800 400 +mix0 0 0 0 +eta 1.00 1.00 1.00 +omf 0.84 0.025 0.2 +>>>>>>> a171f380 (Update OAE costs) omv 0 lifetime 20 20 25 25 incolearn 14000 diff --git a/modules/33_CDR/portfolio/datainput.gms b/modules/33_CDR/portfolio/datainput.gms index 99952c708..f3e720d25 100644 --- a/modules/33_CDR/portfolio/datainput.gms +++ b/modules/33_CDR/portfolio/datainput.gms @@ -50,14 +50,14 @@ p33_fedem("weathering", "fedie") = 0.3; *' Factor distributing the global rock limit across regions according to population p33_LimRock(regi) = pm_pop("2005",regi) / sum(regi2,pm_pop("2005",regi2)); -*** ocean alkalinity enhancement input data +*** ocean alkalinity enhancement input data (Kowalczyk et al., 2024) !! An assumption; generally the efficiency might vary between 1.2-1.8 tCO2/tCaO, !! depending on e.g., ocean chemistry and currents in a given region s33_OAE_efficiency = cm_33_oae_eff / sm_c_2_co2; !! GtC (ocean uptake) per unit of GtCaO !! 0.78 tCO2 are emitted in the decomposition of limestone to produce 1 tCaO -s33_OAE_chem_decomposition = 0.78 / sm_c_2_co2 / s33_oae_efficiency; !! GtC from decomposition per 1GtC taken by the ocean +s33_OAE_chem_decomposition = 0.78 / sm_c_2_co2 / s33_oae_efficiency; !! GtC from decomposition per 1GtC taken by the ocean, 0.78 t/tCaO p33_fedem("oae", "feels") = 1.0 / s33_OAE_efficiency; !! 996 MJ/tCaO p33_fedem("oae", "fehes") = 3.1 / s33_OAE_efficiency; !! 3100 MJ/tCaO @@ -77,8 +77,6 @@ $ifthen.OAE_glo_limit not %cm_33_OAE_lim% == "off" s33_OAE_glo_limit = %cm_33_OAE_lim% / 1000 / sm_c_2_co2; $endif.OAE_glo_limit -vm_costTeCapital.fx(t,regi,"oae") = pm_inco0_t(t, regi, "oae") / s33_OAE_efficiency; - *' @stop *** EOF ./modules/33_CDR/portfolio/datainput.gms From bdad78f3afbf341da13a4641ac2098ddbeabaad6 Mon Sep 17 00:00:00 2001 From: Katarzyna Kowalczyk Date: Wed, 19 Jun 2024 11:56:58 +0200 Subject: [PATCH 204/875] Update parameters, matching to OAE NG, lower omf --- core/input/generisdata_tech.prn | 7 +++++++ main.gms | 2 +- modules/33_CDR/portfolio/datainput.gms | 4 ++-- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/core/input/generisdata_tech.prn b/core/input/generisdata_tech.prn index bbcf3d286..f54b81229 100644 --- a/core/input/generisdata_tech.prn +++ b/core/input/generisdata_tech.prn @@ -158,6 +158,7 @@ lifetime 45 45 45 + weathering dac oae_ng oae_el tech_stat 4 <<<<<<< HEAD +<<<<<<< HEAD inco0 0.01 18800 200 400 mix0 0 0 0 0 eta 1.00 1.00 1.00 1.00 @@ -168,6 +169,12 @@ mix0 0 0 0 eta 1.00 1.00 1.00 omf 0.84 0.025 0.2 >>>>>>> a171f380 (Update OAE costs) +======= +inco0 0.01 18800 200 +mix0 0 0 0 +eta 1.00 1.00 1.00 +omf 0.84 0.025 0.07 +>>>>>>> 8228b98d (Update parameters, matching to OAE NG, lower omf) omv 0 lifetime 20 20 25 25 incolearn 14000 diff --git a/main.gms b/main.gms index 5bf95598a..1038fb15d 100755 --- a/main.gms +++ b/main.gms @@ -1597,7 +1597,7 @@ $setglobal cm_renewables_floor_cost off !! def = off *** (off): no bound *** (5000): (default) global limit of 5GtCO2 per yr *** (any value ge 0): set maximum to that value -$setglobal cm_33_OAE_lim 5000 !! def = 5000 !! regexp = off|is.nonnegative +$setglobal cm_33_OAE_lim off !! def = 5000 !! regexp = off|is.nonnegative *** cm_sehe_upper "secondary energy district heating and heat pumps upper bound" *** def <- "off" = no additional limit for district heating and heat pumps. *** or number (ex. 2), district heating and heat pumps are limited to an upper bound of 2 times the 2020 model values. diff --git a/modules/33_CDR/portfolio/datainput.gms b/modules/33_CDR/portfolio/datainput.gms index f3e720d25..b758de0c8 100644 --- a/modules/33_CDR/portfolio/datainput.gms +++ b/modules/33_CDR/portfolio/datainput.gms @@ -63,11 +63,11 @@ p33_fedem("oae", "feels") = 1.0 / s33_OAE_efficiency; !! 996 MJ/tCaO p33_fedem("oae", "fehes") = 3.1 / s33_OAE_efficiency; !! 3100 MJ/tCaO if(cm_33_OAE_scen = 0, !! pessimistic scenario for distribution, high diesel demand - p33_fedem("oae", "fedie") = 2.6 / s33_OAE_efficiency; !! 2600 MJ/tCaO + p33_fedem("oae", "fedie") = 2.6 / s33_OAE_efficiency; !! 2600 MJ/tCaO (corresponds to discharge rate of 30 t/h) ); if(cm_33_OAE_scen = 1, !! optimistic scenario for distribution, lower diesel demand - p33_fedem("oae", "fedie") = 0.7 / s33_OAE_efficiency; !! 674 MJ/tCaO + p33_fedem("oae", "fedie") = 0.77 / s33_OAE_efficiency; !! 770 MJ/tCaO (corresponds to the discharge rate of 100 t/h) ); $ifthen.OAE_glo_limit not %cm_33_OAE_lim% == "off" From d65f6ebb2e40cccc92068892f878f38482fbd3cb Mon Sep 17 00:00:00 2001 From: Katarzyna Kowalczyk Date: Thu, 4 Jul 2024 11:18:28 +0200 Subject: [PATCH 205/875] Split into natural gas calciner and novel calciner --- core/datainput.gms | 13 +++++--- core/input/generisdata_tech.prn | 14 -------- core/sets.gms | 4 --- main.gms | 5 --- modules/33_CDR/portfolio/bounds.gms | 8 ++--- modules/33_CDR/portfolio/datainput.gms | 15 +++------ modules/33_CDR/portfolio/declarations.gms | 2 +- modules/33_CDR/portfolio/equations.gms | 8 ++--- modules/33_CDR/portfolio/sets.gms | 32 ++++++++++++------- .../47_regipol/regiCarbonPrice/equations.gms | 2 +- .../47_regipol/regiCarbonPrice/postsolve.gms | 4 +-- .../47_regipol/regiCarbonPrice/presolve.gms | 2 +- scripts/input/exoGAINSAirpollutants.R | 3 +- scripts/input/prepare_NDC.R | 3 +- scripts/output/single/reporting.R | 2 +- scripts/start/prepare.R | 12 ++++--- 16 files changed, 57 insertions(+), 72 deletions(-) diff --git a/core/datainput.gms b/core/datainput.gms index af513f6a6..c61d0b686 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -262,8 +262,8 @@ fm_dataglob("inco0","csp") = 0.7 * fm_dataglob("inco0","csp"); fm_dataglob("incolearn","csp") = 0.7 * fm_dataglob("incolearn","csp"); *KK* adjust costs for oae from USD/GtCaO to USD/GtC -fm_dataglob("inco0", "oae") = fm_dataglob("inco0", "oae") / (cm_33_oae_eff / sm_c_2_co2); -fm_dataglob("omf", "oae") = fm_dataglob("omf", "oae") / (cm_33_oae_eff / sm_c_2_co2); +fm_dataglob("inco0", "oae_ng") = fm_dataglob("inco0", "oae_ng") / (cm_33_oae_eff / sm_c_2_co2); +fm_dataglob("inco0", "oae_el") = fm_dataglob("inco0", "oae_el") / (cm_33_oae_eff / sm_c_2_co2); *** -------------------------------------------------------------------------------- *** Regionalize technology investment cost data @@ -733,7 +733,8 @@ pm_cf(ttot,regi,"idrcc") = 1.0; !! capex is derived from numbers per ton of CO2, pm_cf(ttot,regi,"eaf") = 1.0; !! capex is derived from numbers per ton of CO2, where cf = 1 is assumed in conversion *KK TODO move to mrremind* -pm_cf(ttot,regi,"oae") = 0.8; +pm_cf(ttot,regi,"oae_ng") = 0.8; +pm_cf(ttot,regi,"oae_el") = 0.8; *RP* phasing down the ngt cf to "peak load" cf of 5% pm_cf(ttot,regi,"ngt")$(ttot.val eq 2025) = 0.9 * pm_cf(ttot,regi,"ngt"); @@ -1207,7 +1208,8 @@ loop(ttot$(ttot.val ge 2005), p_adj_seed_te(ttot,regi,"coalftcrec") = 0.25; p_adj_seed_te(ttot,regi,"coaltr") = 4.00; p_adj_seed_te(ttot,regi,'dac') = 0.25; - p_adj_seed_te(ttot,regi,'oae') = 0.25; + p_adj_seed_te(ttot,regi,'oae_ng') = 0.25; + p_adj_seed_te(ttot,regi,'oae_el') = 0.25; p_adj_seed_te(ttot,regi,'geohe') = 0.33; $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" p_adj_seed_te(ttot,regi,"bfcc") = 0.05; @@ -1255,7 +1257,8 @@ $ifthen.WindOff %cm_wind_offshore% == "1" $endif.WindOff p_adj_coeff(ttot,regi,"dac") = 0.8; - p_adj_coeff(ttot,regi,'oae') = 0.8; + p_adj_coeff(ttot,regi,'oae_ng') = 0.8; + p_adj_coeff(ttot,regi,'oae_el') = 0.8; p_adj_coeff(ttot,regi,teGrid) = 0.3; p_adj_coeff(ttot,regi,teStor) = 0.05; ); diff --git a/core/input/generisdata_tech.prn b/core/input/generisdata_tech.prn index f54b81229..f1f712a65 100644 --- a/core/input/generisdata_tech.prn +++ b/core/input/generisdata_tech.prn @@ -157,24 +157,10 @@ lifetime 45 45 45 + weathering dac oae_ng oae_el tech_stat 4 -<<<<<<< HEAD -<<<<<<< HEAD inco0 0.01 18800 200 400 mix0 0 0 0 0 eta 1.00 1.00 1.00 1.00 omf 0.84 0.025 0.35 0.17 -======= -inco0 0.01 18800 400 -mix0 0 0 0 -eta 1.00 1.00 1.00 -omf 0.84 0.025 0.2 ->>>>>>> a171f380 (Update OAE costs) -======= -inco0 0.01 18800 200 -mix0 0 0 0 -eta 1.00 1.00 1.00 -omf 0.84 0.025 0.07 ->>>>>>> 8228b98d (Update parameters, matching to OAE NG, lower omf) omv 0 lifetime 20 20 25 25 incolearn 14000 diff --git a/core/sets.gms b/core/sets.gms index f8f3d8bc3..dd972a068 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -268,12 +268,8 @@ $ENDIF.WindOff weathering "enhanced weathering" dac "direct air capture" -<<<<<<< HEAD oae_ng "ocean akalinity ehnacement via ocean liming using a traditional calciner" oae_el "ocean akalinity ehnacement via ocean liming using a novel calciner technology" -======= - oae "ocean alkalinity enhancement" ->>>>>>> ef6d08a4 (Add OAE to the CDR portfolio) x_gas2elec d_bio2elec "d_* transmission and distribution losses" d_coal2elec diff --git a/main.gms b/main.gms index 1038fb15d..3d8c18ffe 100755 --- a/main.gms +++ b/main.gms @@ -1593,11 +1593,6 @@ $setglobal cm_Industry_CCS_markup off !! def = off *** def <- "off" = use default floor cost for renewables. *** or list of techs with respective value to be added to the renewables floor cost in Europe $setglobal cm_renewables_floor_cost off !! def = off -*** cm_33_OAE_lim "Global limit for OAE [MtCO2 per yr]" -*** (off): no bound -*** (5000): (default) global limit of 5GtCO2 per yr -*** (any value ge 0): set maximum to that value -$setglobal cm_33_OAE_lim off !! def = 5000 !! regexp = off|is.nonnegative *** cm_sehe_upper "secondary energy district heating and heat pumps upper bound" *** def <- "off" = no additional limit for district heating and heat pumps. *** or number (ex. 2), district heating and heat pumps are limited to an upper bound of 2 times the 2020 model values. diff --git a/modules/33_CDR/portfolio/bounds.gms b/modules/33_CDR/portfolio/bounds.gms index 069dfd0b2..90e11687e 100644 --- a/modules/33_CDR/portfolio/bounds.gms +++ b/modules/33_CDR/portfolio/bounds.gms @@ -55,12 +55,8 @@ if(not te_used33("weathering"), vm_cap.fx(t,regi,"weathering",rlf) = 0; ); -if(te_used33("oae"), -*** Limiting deployment proportional to GDP, an alternative is to use qttyTarget (preferred) -$ifthen not %cm_33_OAE_lim% == "off" - vm_emiCdrTeDetail.lo(t, regi, "oae") = - (pm_gdp("2005",regi) / sum(regi2, pm_gdp("2005", regi2))) * s33_OAE_glo_limit / sm_c_2_co2; -$endif - vm_cap.fx(t, regi, "oae", rlf)$(t.val lt cm_33_OAE_startyr) = 0; +if(card(te_oae33) ne 0, + vm_cap.fx(t, regi, te_oae33, rlf)$(t.val lt cm_33_OAE_startyr) = 0; ); *** EOF ./modules/33_CDR/portfolio/bounds.gms diff --git a/modules/33_CDR/portfolio/datainput.gms b/modules/33_CDR/portfolio/datainput.gms index b758de0c8..b5c6a1f83 100644 --- a/modules/33_CDR/portfolio/datainput.gms +++ b/modules/33_CDR/portfolio/datainput.gms @@ -59,24 +59,17 @@ s33_OAE_efficiency = cm_33_oae_eff / sm_c_2_co2; !! GtC (ocean uptake) per uni !! 0.78 tCO2 are emitted in the decomposition of limestone to produce 1 tCaO s33_OAE_chem_decomposition = 0.78 / sm_c_2_co2 / s33_oae_efficiency; !! GtC from decomposition per 1GtC taken by the ocean, 0.78 t/tCaO -p33_fedem("oae", "feels") = 1.0 / s33_OAE_efficiency; !! 996 MJ/tCaO -p33_fedem("oae", "fehes") = 3.1 / s33_OAE_efficiency; !! 3100 MJ/tCaO +p33_fedem(te_oae33, "feels") = 1.0 / s33_OAE_efficiency; !! 996 MJ/tCaO +p33_fedem(te_oae33, "fehes") = 3.1 / s33_OAE_efficiency; !! 3100 MJ/tCaO if(cm_33_OAE_scen = 0, !! pessimistic scenario for distribution, high diesel demand - p33_fedem("oae", "fedie") = 2.6 / s33_OAE_efficiency; !! 2600 MJ/tCaO (corresponds to discharge rate of 30 t/h) + p33_fedem(te_oae33, "fedie") = 2.6 / s33_OAE_efficiency; !! 2600 MJ/tCaO (corresponds to discharge rate of 30 t/h) ); if(cm_33_OAE_scen = 1, !! optimistic scenario for distribution, lower diesel demand - p33_fedem("oae", "fedie") = 0.77 / s33_OAE_efficiency; !! 770 MJ/tCaO (corresponds to the discharge rate of 100 t/h) + p33_fedem(te_oae33, "fedie") = 0.77 / s33_OAE_efficiency; !! 770 MJ/tCaO (corresponds to the discharge rate of 100 t/h) ); -$ifthen.OAE_glo_limit not %cm_33_OAE_lim% == "off" -*** get the global limit on OAE (if exists) in GtC per yr, -*** the limit is set in bounds.gms, and distributed among regions proportional to GDP -*** note that an alternative to using this is the qttyTarget (preferred) -s33_OAE_glo_limit = %cm_33_OAE_lim% / 1000 / sm_c_2_co2; -$endif.OAE_glo_limit - *' @stop *** EOF ./modules/33_CDR/portfolio/datainput.gms diff --git a/modules/33_CDR/portfolio/declarations.gms b/modules/33_CDR/portfolio/declarations.gms index bc58030ba..1aa1eb2c7 100644 --- a/modules/33_CDR/portfolio/declarations.gms +++ b/modules/33_CDR/portfolio/declarations.gms @@ -51,7 +51,7 @@ q33_EW_potential(ttot,all_regi,rlf) "limits the total potential of EW per regio q33_EW_emi(ttot,all_regi) "calculates amount of carbon captured by EW" q33_EW_LimEmi(ttot,all_regi) "limits EW to a maximal annual amount of ground rock of cm_LimRock" -q33_OAE_FEdemand(ttot,all_regi,all_enty) "calculates final energy demand for ocean alkalinity enhancement" +q33_OAE_FEdemand(ttot,all_regi,all_enty,all_te) "calculates final energy demand for ocean alkalinity enhancement" ; *** EOF ./modules/33_CDR/portfolio/declarations.gms diff --git a/modules/33_CDR/portfolio/equations.gms b/modules/33_CDR/portfolio/equations.gms index 0c246f31d..fdf277693 100644 --- a/modules/33_CDR/portfolio/equations.gms +++ b/modules/33_CDR/portfolio/equations.gms @@ -59,7 +59,7 @@ q33_ccsbal(t, regi, ccs2te(ccsCo2(enty), enty2, te)).. =e= - vm_emiCdrTeDetail(t, regi, "dac") + (1 / pm_eta_conv(t,regi,"gash2c")) * fm_dataemiglob("pegas","seh2","gash2c","cco2") * sum(fe2cdr("fegas",entyFe2,te_used33), v33_FEdemand(t,regi,"fegas", entyFe2,te_used33)) - - s33_OAE_chem_decomposition * vm_emiCdrTeDetail(t, regi, "oae") + - s33_OAE_chem_decomposition * sum(te_oae33, vm_emiCdrTeDetail(t, regi, te_oae33)) ; ***--------------------------------------------------------------------------- @@ -179,10 +179,10 @@ q33_EW_LimEmi(t,regi).. *' Calculation of FE demand for OAE, i.e., electricity for rock preprocessing, *' and heat for calcination. ***--------------------------------------------------------------------------- -q33_OAE_FEdemand(t,regi,entyFe2)$sum(entyFe, fe2cdr(entyFe,entyFe2,"oae")).. - sum(fe2cdr(entyFe,entyFe2,"oae"), v33_FEdemand(t,regi,entyFe,entyFe2,"oae")) +q33_OAE_FEdemand(t,regi,entyFe2, te_oae33)$sum(entyFe, fe2cdr(entyFe,entyFe2,te_oae33)).. + sum(fe2cdr(entyFe, entyFe2, te_oae33), v33_FEdemand(t, regi, entyFe, entyFe2, te_oae33)) =e= - p33_fedem("oae", entyFe2) * sm_EJ_2_TWa * (- vm_emiCdrTeDetail(t,regi,"oae")) + p33_fedem(te_oae33, entyFe2) * sm_EJ_2_TWa * (- vm_emiCdrTeDetail(t, regi, te_oae33)) ; *' @stop diff --git a/modules/33_CDR/portfolio/sets.gms b/modules/33_CDR/portfolio/sets.gms index 123051c1c..0631ec6c9 100644 --- a/modules/33_CDR/portfolio/sets.gms +++ b/modules/33_CDR/portfolio/sets.gms @@ -11,11 +11,14 @@ te_all33(all_te) "all CDR technologies" / weathering "enhanced weathering" dac "direct air capture" - oae "ocean alkalinity enhancement" + oae_ng "ocean alkalinity enhancement, natural gas calciner" + oae_el "ocean alkalinity enhancement, electric calciner" / te_used33(all_te) "used CDR technologies (specified by switches)" +te_oae33(all_te) "OAE technologies used" + teNoTransform33(all_te) "used CDR technologies that do not transform energy but still have investment and O&M costs (like storage or grid)" teNoTransform2rlf33(all_te,rlf) "mapping for final energy to grades (used CDR technologies)" @@ -33,13 +36,18 @@ fe2cdr(all_enty,all_enty,all_te) "mapping of FE carriers supplying FE demand for feels.fehes.dac feh2s.fehes.dac fegas.fehes.dac + feels.feels.weathering fedie.fedie.weathering - feels.feels.oae - fegas.fehes.oae - feels.fehes.oae - feh2s.fehes.oae - fedie.fedie.oae + + feels.feels.oae_ng + fedie.fedie.oae_ng + fegas.fehes.oae_ng + + feels.feels.oae_el + fedie.fedie.oae_el + feels.fehes.oae_el + feh2s.fehes.oae_el / rlf_cz33(rlf) "representing weathering rates depending on climate zones according to Strefler, Amann et al. (2017)" @@ -69,11 +77,13 @@ if(cm_33EW eq 1, ); if(cm_33OAE eq 1, - te_used33("oae") = YES; - teNoTransform33("oae") = YES; - teNoTransform2rlf33("oae", "1") = YES; - teAdj33("oae") = YES; - te_ccs33("oae") = YES; + te_oae33("oae_ng") = YES; + te_oae33("oae_el") = YES; + te_used33(te_oae33) = YES; + teNoTransform33(te_oae33) = YES; + teNoTransform2rlf33(te_oae33, "1") = YES; + teAdj33(te_oae33) = YES; + te_ccs33(te_oae33) = YES; ); ***------------------------------------------------------------------------- diff --git a/modules/47_regipol/regiCarbonPrice/equations.gms b/modules/47_regipol/regiCarbonPrice/equations.gms index 82f695678..a2c8d86f9 100644 --- a/modules/47_regipol/regiCarbonPrice/equations.gms +++ b/modules/47_regipol/regiCarbonPrice/equations.gms @@ -34,7 +34,7 @@ q47_implicitQttyTargetTax(t,regi)$(t.val ge max(2010,cm_startyear)).. )$(sameas(qttyTarget,"CCS")) + ( - p47_implicitQttyTargetTax(t,regi,qttyTarget,qttyTargetGroup) * (-vm_emiCdrTeDetail(t,regi,"oae")) + p47_implicitQttyTargetTax(t,regi,qttyTarget,qttyTargetGroup) * (-sum(te_oae33, vm_emiCdrTeDetail(t,regi,te_oae33))) )$(sameas(qttyTarget,"oae")) ) - diff --git a/modules/47_regipol/regiCarbonPrice/postsolve.gms b/modules/47_regipol/regiCarbonPrice/postsolve.gms index 74d0ff386..700615abe 100644 --- a/modules/47_regipol/regiCarbonPrice/postsolve.gms +++ b/modules/47_regipol/regiCarbonPrice/postsolve.gms @@ -497,7 +497,7 @@ p47_implicitQttyTargetTax0(t,regi) = ( sum(ccs2te(ccsCo2(enty),enty2,te), sum(teCCS2rlf(te,rlf),vm_co2CCS.l(t,regi,enty,enty2,te,rlf))) )$(sameas(qttyTarget,"CCS") AND sameas(qttyTargetGroup,"all")) + - ( -vm_emiCdrTeDetail.l(t,regi,"oae") + ( sum(te_oae33, -vm_emiCdrTeDetail.l(t,regi,te_oae33)) )$(sameas(qttyTarget,"oae") AND sameas(qttyTargetGroup,"all")) + (( !! Supply side BECCS @@ -530,7 +530,7 @@ loop((ttot,ext_regi,taxType,targetType,qttyTarget,qttyTargetGroup)$pm_implicitQt ( sum(regi$regi_groupExt(ext_regi,regi), sum(ccs2te(ccsCo2(enty),enty2,te), sum(teCCS2rlf(te,rlf),vm_co2CCS.l(ttot,regi,enty,enty2,te,rlf)))) )$(sameas(qttyTarget,"CCS") AND sameas(qttyTargetGroup,"all")) + - ( sum(regi$regi_groupExt(ext_regi,regi), -vm_emiCdrTeDetail.l(ttot,regi,"oae")) + ( sum(regi$regi_groupExt(ext_regi,regi), sum(te_oae33, -vm_emiCdrTeDetail.l(ttot,regi,te_oae33))) )$(sameas(qttyTarget,"oae") AND sameas(qttyTargetGroup,"all")) + sum(regi$regi_groupExt(ext_regi,regi), ( !! Supply side BECCS diff --git a/modules/47_regipol/regiCarbonPrice/presolve.gms b/modules/47_regipol/regiCarbonPrice/presolve.gms index b7798a56a..49e0b31af 100644 --- a/modules/47_regipol/regiCarbonPrice/presolve.gms +++ b/modules/47_regipol/regiCarbonPrice/presolve.gms @@ -51,7 +51,7 @@ p47_implicitQttyTargetTax0(t,regi) = ( sum(ccs2te(ccsCo2(enty),enty2,te), sum(teCCS2rlf(te,rlf),vm_co2CCS.l(t,regi,enty,enty2,te,rlf))) )$(sameas(qttyTarget,"CCS") AND sameas(qttyTargetGroup,"all")) + - ( -vm_emiCdrTeDetail.l(t,regi,"oae") + ( sum(te_oae33, -vm_emiCdrTeDetail.l(t,regi,te_oae33)) )$(sameas(qttyTarget,"oae") AND sameas(qttyTargetGroup,"all")) + (( !! Supply side BECCS diff --git a/scripts/input/exoGAINSAirpollutants.R b/scripts/input/exoGAINSAirpollutants.R index ac0136aa9..d3f918200 100644 --- a/scripts/input/exoGAINSAirpollutants.R +++ b/scripts/input/exoGAINSAirpollutants.R @@ -23,7 +23,8 @@ for (pkg in c('madrat', 'dplyr', 'gdx')) { suppressPackageStartupMessages(require(pkg, character.only = TRUE)) } -devtools::load_all("/p/tmp/katarkow/remind2/syntra-low-risk") +devtools::load_all("/p/tmp/katarkow/remind2/ng-el-OAE") +# library(remind2) # stop madrat reporting its default settings _every damn time_ invisible(getConfig(option = NULL, verbose = firstIteration)) diff --git a/scripts/input/prepare_NDC.R b/scripts/input/prepare_NDC.R index 6dfa6e2b7..7ca37fc52 100644 --- a/scripts/input/prepare_NDC.R +++ b/scripts/input/prepare_NDC.R @@ -11,7 +11,8 @@ prepare_NDC<-function(gdx, cfg){ library(luplot,quietly=TRUE,warn.conflicts =FALSE) library(lucode2,quietly=TRUE,warn.conflicts =FALSE) library(gdx,quietly=TRUE,warn.conflicts =FALSE) - devtools::load_all("/p/tmp/katarkow/remind2/syntra-low-risk") + devtools::load_all("/p/tmp/katarkow/remind2/ng-el-OAE") + # library(remind2) ############################# BASIC CONFIGURATION ############################# diff --git a/scripts/output/single/reporting.R b/scripts/output/single/reporting.R index fc43528fc..07a0d1369 100644 --- a/scripts/output/single/reporting.R +++ b/scripts/output/single/reporting.R @@ -7,7 +7,7 @@ library(magclass) # library(remind2) -devtools::load_all("/p/tmp/katarkow/remind2/syntra-low-risk") +devtools::load_all("/p/tmp/katarkow/remind2/ng-el-OAE") library(lucode2) library(gms) library(methods) diff --git a/scripts/start/prepare.R b/scripts/start/prepare.R index daedcbe31..ee9ef66a9 100644 --- a/scripts/start/prepare.R +++ b/scripts/start/prepare.R @@ -13,7 +13,7 @@ prepare <- function() { #require(lucode, quietly = TRUE,warn.conflicts =FALSE) require(magclass, quietly = TRUE,warn.conflicts =FALSE) require(tools, quietly = TRUE,warn.conflicts =FALSE) - devtools::load_all("/p/tmp/katarkow/remind2/syntra-low-risk") + devtools::load_all("/p/tmp/katarkow/remind2/ng-el-OAE") # require(remind2) require(mrremind) require(mrvalidation) @@ -436,11 +436,14 @@ prepare <- function() { #KK CDR module realizations levs_manipulateThis <- c(levs_manipulateThis, - list(c("rockgrind", "weathering")), list(c("grindrock", "weathering"))) + list(c("rockgrind", "weathering")), list(c("grindrock", "weathering")), + list(c("\"oae\"", "\"oae_ng\""))) fixings_manipulateThis <- c(fixings_manipulateThis, - list(c("rockgrind", "weathering")), list(c("grindrock", "weathering"))) + list(c("rockgrind", "weathering")), list(c("grindrock", "weathering")), + list(c("\"oae\"", "\"oae_ng\""))) margs_manipulateThis <- c(margs_manipulateThis, - list(c("rockgrind", "weathering")), list(c("grindrock", "weathering"))) + list(c("rockgrind", "weathering")), list(c("grindrock", "weathering")), + list(c("\"oae\"", "\"oae_ng\""))) if(cfg$gms$CDR == 'DAC'){ fixings_manipulateThis <- c(fixings_manipulateThis, @@ -524,6 +527,7 @@ prepare <- function() { list(c("q33_DAC_ccsbal.M", "!!q33_DAC_ccsbal.M")), list(c("q33_ccsbal.M", "!!q33_ccsbal.M")), list(c("q33_H2bio_lim.M", "!!q33_H2bio_lim.M")), + list(c("q33_OAE_FEdemand.M", "!!q33_OAE_FEdemand.M")), list(c("q33_demFeCDR.M", "!!q33_demFeCDR.M")), list(c("q33_emicdrregi.M", "!!q33_emicdrregi.M")), list(c("q33_otherFEdemand.M", "!!q33_otherFEdemand.M"))) From 37c02111fc76716a343c59f765e32d914728698a Mon Sep 17 00:00:00 2001 From: Katarzyna Kowalczyk Date: Thu, 25 Jul 2024 13:11:56 +0200 Subject: [PATCH 206/875] Read OAE capacity factor from input data --- core/datainput.gms | 4 ---- 1 file changed, 4 deletions(-) diff --git a/core/datainput.gms b/core/datainput.gms index c61d0b686..19be68ece 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -732,10 +732,6 @@ pm_cf(ttot,regi,"idr") = 0.8; pm_cf(ttot,regi,"idrcc") = 1.0; !! capex is derived from numbers per ton of CO2, where cf = 1 is assumed in conversion pm_cf(ttot,regi,"eaf") = 1.0; !! capex is derived from numbers per ton of CO2, where cf = 1 is assumed in conversion -*KK TODO move to mrremind* -pm_cf(ttot,regi,"oae_ng") = 0.8; -pm_cf(ttot,regi,"oae_el") = 0.8; - *RP* phasing down the ngt cf to "peak load" cf of 5% pm_cf(ttot,regi,"ngt")$(ttot.val eq 2025) = 0.9 * pm_cf(ttot,regi,"ngt"); pm_cf(ttot,regi,"ngt")$(ttot.val eq 2030) = 0.8 * pm_cf(ttot,regi,"ngt"); From b230366970c63f699e90f4388ad8d98d088655b5 Mon Sep 17 00:00:00 2001 From: Katarzyna Kowalczyk Date: Thu, 25 Jul 2024 15:48:52 +0200 Subject: [PATCH 207/875] Update documentation and rename vm_ccs_cdr --- core/equations.gms | 6 +++--- core/postsolve.gms | 2 +- main.gms | 10 +++++----- modules/33_CDR/portfolio/bounds.gms | 4 ++-- modules/33_CDR/portfolio/datainput.gms | 8 ++++---- modules/33_CDR/portfolio/declarations.gms | 4 +++- modules/33_CDR/portfolio/equations.gms | 21 +++++++++++++++------ scripts/start/prepare.R | 3 +++ 8 files changed, 36 insertions(+), 22 deletions(-) diff --git a/core/equations.gms b/core/equations.gms index cc6a4a1c0..fd90c7159 100644 --- a/core/equations.gms +++ b/core/equations.gms @@ -742,7 +742,7 @@ q_emiCdrAll(t,regi).. vm_emiCdrAll(t,regi) =e= !! BECC + DACC (sum(emiBECCS2te(enty,enty2,te,enty3),vm_emiTeDetail(t,regi,enty,enty2,te,enty3)) - + sum(teCCS2rlf(te,rlf), vm_ccs_cdr(t,regi,"cco2","ico2","ccsinje",rlf))) + + sum(teCCS2rlf(te,rlf), vm_co2capture_cdr(t,regi,"cco2","ico2","ccsinje",rlf))) !! scaled by the fraction that gets stored geologically * (sum(teCCS2rlf(te,rlf), vm_co2CCS(t,regi,"cco2","ico2",te,rlf)) / @@ -751,7 +751,7 @@ q_emiCdrAll(t,regi).. !! net negative emissions from co2luc - p_macBaseMagpieNegCo2(t,regi) !! negative emissions from the cdr module that are not stored geologically - - (vm_emiCdr(t,regi,"co2") + sum(teCCS2rlf(te,rlf), vm_ccs_cdr(t,regi,"cco2","ico2","ccsinje",rlf))) + - (vm_emiCdr(t,regi,"co2") + sum(teCCS2rlf(te,rlf), vm_co2capture_cdr(t,regi,"cco2","ico2","ccsinje",rlf))) ; @@ -838,7 +838,7 @@ q_balcapture(t,regi,ccs2te(ccsCo2(enty),enty2,te)) .. vm_emiTeDetail(t,regi,enty3,enty4,te2,enty) ) !! carbon captured from CDR technologies in CDR module - + sum(teCCS2rlf(te,rlf), vm_ccs_cdr(t,regi,enty,enty2,te,rlf)) + + sum(teCCS2rlf(te,rlf), vm_co2capture_cdr(t,regi,enty,enty2,te,rlf)) !! carbon captured from industry + sum(emiInd37, vm_emiIndCCS(t,regi,emiInd37)) + sum((sefe(entySe,entyFe),emiMkt)$( diff --git a/core/postsolve.gms b/core/postsolve.gms index 4418b4e57..c44973646 100644 --- a/core/postsolve.gms +++ b/core/postsolve.gms @@ -759,7 +759,7 @@ o_capture_energy_other(ttot,regi,"co2")$(ttot.val ge 2005) = ***Carbon Management|Carbon Capture|Process|Direct Air Capture (Mt CO2/yr) o_capture_cdr(ttot,regi,"co2")$(ttot.val ge 2005) = sum(teCCS2rlf("ccsinje",rlf), - vm_ccs_cdr.l(ttot,regi,"cco2","ico2","ccsinje",rlf) + vm_co2capture_cdr.l(ttot,regi,"cco2","ico2","ccsinje",rlf) )*o_emi_conv("co2"); ***Carbon Management|Carbon Capture|Process|Industrial Processes (Mt CO2/yr) diff --git a/main.gms b/main.gms index 3d8c18ffe..583a6e648 100755 --- a/main.gms +++ b/main.gms @@ -869,22 +869,22 @@ parameter *' * (0): not included *' parameter - cm_33_OAE_eff "OAE efficiency measured in tCO2 uptaken by the ocean per tCaO. Typically between 0.9-1.4. [tCO2/tCaO]" + cm_33_OAE_eff "OAE efficiency measured in tCO2 uptaken by the ocean per tCaO. Typically between 0.9-1.4 (which corresponds to 1.2-1.8 molCO2/molCaO). [tCO2/tCaO]" ; - cm_33_OAE_eff = 0.9; !! def = 0.9 + cm_33_OAE_eff = 1.2; !! def = 1.2 *' parameter cm_33_OAE_scen "OAE distribution scenarios" ; - cm_33_OAE_scen = 0; !! def = 0 + cm_33_OAE_scen = 1; !! def = 1 *' * (0): pessimistic: a rather low discharge rate (30 tCaO per h), corresponding to high distribution costs *' * (1): optimistic: a high discharge rate (250 tCaO per h), corresponding to lower distribution costs *' parameter cm_33_OAE_startyr "The year when OAE could start being deployed [year]" ; - cm_33_OAE_startyr = 2025; !! def = 2025 !! regexp = 2025|20[3-9](0|5) -*' * (2025): earliest year when OAE could be deployed + cm_33_OAE_startyr = 2030; !! def = 2030 !! regexp = 20[3-9](0|5) +*' * (2030): earliest year when OAE could be deployed *' * (....): later timesteps *' parameter diff --git a/modules/33_CDR/portfolio/bounds.gms b/modules/33_CDR/portfolio/bounds.gms index 90e11687e..00628e1b2 100644 --- a/modules/33_CDR/portfolio/bounds.gms +++ b/modules/33_CDR/portfolio/bounds.gms @@ -16,7 +16,7 @@ if(card(te_used33) eq 0, *** Fix CCS from CDR if there're no technologies that require CCS if(card(te_ccs33) eq 0, - vm_ccs_cdr.fx(t,regi,enty,enty2,te,rlf)$ccs2te(enty,enty2,te) = 0; + vm_co2capture_cdr.fx(t,regi,enty,enty2,te,rlf)$ccs2te(enty,enty2,te) = 0; ); *** Fix negative emissions and FE demand to zero for all the technologies that are not used @@ -31,7 +31,7 @@ vm_emiCdr.fx(t,regi,"co2")$(t.val lt 2025) = 0; vm_omcosts_cdr.fx(t,regi)$((t.val lt 2025)) = 0; vm_cap.fx(t,regi,"weathering",rlf)$(t.val lt 2025) = 0; *** vm_cap for dac is fixed for t<2025 in core/bounds.gms (tech_stat eq 4) -vm_ccs_cdr.fx(t,regi,enty,enty2,te,rlf)$(ccs2te(enty,enty2,te) AND t.val lt 2025) = 0; +vm_co2capture_cdr.fx(t,regi,enty,enty2,te,rlf)$(ccs2te(enty,enty2,te) AND t.val lt 2025) = 0; *** Set minimum DAC capacities (if available) to help the solver find the technology diff --git a/modules/33_CDR/portfolio/datainput.gms b/modules/33_CDR/portfolio/datainput.gms index b5c6a1f83..1cf4f8a54 100644 --- a/modules/33_CDR/portfolio/datainput.gms +++ b/modules/33_CDR/portfolio/datainput.gms @@ -52,19 +52,19 @@ p33_LimRock(regi) = pm_pop("2005",regi) / sum(regi2,pm_pop("2005",regi2)); *** ocean alkalinity enhancement input data (Kowalczyk et al., 2024) -!! An assumption; generally the efficiency might vary between 1.2-1.8 tCO2/tCaO, +!! An assumption; generally the efficiency might vary between 0.9-1.4 tCO2/tCaO (1.2-1.8 molCO2/molCaO), !! depending on e.g., ocean chemistry and currents in a given region s33_OAE_efficiency = cm_33_oae_eff / sm_c_2_co2; !! GtC (ocean uptake) per unit of GtCaO !! 0.78 tCO2 are emitted in the decomposition of limestone to produce 1 tCaO s33_OAE_chem_decomposition = 0.78 / sm_c_2_co2 / s33_oae_efficiency; !! GtC from decomposition per 1GtC taken by the ocean, 0.78 t/tCaO -p33_fedem(te_oae33, "feels") = 1.0 / s33_OAE_efficiency; !! 996 MJ/tCaO -p33_fedem(te_oae33, "fehes") = 3.1 / s33_OAE_efficiency; !! 3100 MJ/tCaO +p33_fedem(te_oae33, "feels") = 1.0 / s33_OAE_efficiency; !! 996 MJ/tCaO, used for grinding, air separation, CO2 compression +p33_fedem(te_oae33, "fehes") = 3.1 / s33_OAE_efficiency; !! 3100 MJ/tCaO, used for calcination if(cm_33_OAE_scen = 0, !! pessimistic scenario for distribution, high diesel demand p33_fedem(te_oae33, "fedie") = 2.6 / s33_OAE_efficiency; !! 2600 MJ/tCaO (corresponds to discharge rate of 30 t/h) -); +); !! fedie is used for inland transport of the material and maritime transport to distribute the material in the ocean if(cm_33_OAE_scen = 1, !! optimistic scenario for distribution, lower diesel demand p33_fedem(te_oae33, "fedie") = 0.77 / s33_OAE_efficiency; !! 770 MJ/tCaO (corresponds to the discharge rate of 100 t/h) diff --git a/modules/33_CDR/portfolio/declarations.gms b/modules/33_CDR/portfolio/declarations.gms index 1aa1eb2c7..be34f8cdb 100644 --- a/modules/33_CDR/portfolio/declarations.gms +++ b/modules/33_CDR/portfolio/declarations.gms @@ -27,7 +27,8 @@ positive variables v33_EW_onfield(ttot,all_regi,rlf,rlf) "amount of ground rock spread on fields in each timestep [Gt]" v33_EW_onfield_tot(ttot,all_regi,rlf,rlf) "total amount of ground rock on fields, for each climate zone and transportation distance [Gt]" v33_FEdemand(ttot,all_regi,all_enty,all_enty,all_te) "FE demand of each technology [TWa]" -vm_ccs_cdr(ttot,all_regi,all_enty,all_enty,all_te,rlf) "total emissions captured through technologies in the CDR module that enter the CCUS chain + captured emissions from associated FE demand [GtC / a]" +vm_co2capture_cdr(ttot,all_regi,all_enty,all_enty,all_te,rlf) "total emissions captured through technologies in the CDR module that enter the CCUS chain + captured emissions from associated FE demand [GtC / a]" +v33_co2capture_non_atm(ttot, all_regi) "part of the captured CO2 from CDR-related acitivites that does not come from the atmosphere [GtC / a]" ; negative variables @@ -39,6 +40,7 @@ q33_demFeCDR(ttot,all_regi,all_enty) "CDR demand balance for final energy" q33_emiCDR(ttot,all_regi) "aggregates the (negative) emissions captured by the CDR technologies" q33_H2bio_lim(ttot,all_regi) "limits H2 from bioenergy to FE - H2 demand from CDR, i.e. no H2 from bioenergy for DAC" q33_capconst(ttot,all_regi,all_te) "calculates amount of carbon captured by DAC and OAE" +q33_co2capture_non_atm(ttot,all_regi) "calculates the share of captured CO2 that does not come from the atmosphere" q33_ccsbal(ttot,all_regi,all_enty,all_enty,all_te) "calculates CCS emissions from CDR technologies" q33_DAC_FEdemand(ttot,all_regi,all_enty) "calculates final energy demand from DAC" diff --git a/modules/33_CDR/portfolio/equations.gms b/modules/33_CDR/portfolio/equations.gms index fdf277693..8013cdb8d 100644 --- a/modules/33_CDR/portfolio/equations.gms +++ b/modules/33_CDR/portfolio/equations.gms @@ -47,19 +47,28 @@ q33_capconst(t, regi, te_used33)$(not sameAs(te_used33, "weathering")).. ) ; +***--------------------------------------------------------------------------- +*' The CO2 captured from the gas used for heat production +*' required for all CDR and from limestone decomposition ocean alkalinity enhancement, +*' assuming a certain capture rate s33_capture rate. +***--------------------------------------------------------------------------- +q33_co2capture_non_atm(t, regi).. + v33_co2capture_non_atm(t, regi) + =e= + fm_dataemiglob("pegas","seh2","gash2c","cco2") * sum(fe2cdr("fegas",entyFe2,te_used33), v33_FEdemand(t,regi,"fegas", entyFe2,te_used33)) + - s33_OAE_chem_decomposition * sum(te_oae33, vm_emiCdrTeDetail(t, regi, te_oae33)) + ; + ***--------------------------------------------------------------------------- *' Preparation of captured emissions to enter the CCUS chain. *' The first part of the equation describes emissions captured from the ambient air, -*' the second part calculates the CO2 captured from the gas used for heat production -*' required for all CDR assuming 90% capture rate. The third part is the CCS needed for -*' limestone decomposition emissions for ocean alkalinity enhancement. +*' the second part is non-atmospheric CO2 (e.g., from energy usage). ***--------------------------------------------------------------------------- q33_ccsbal(t, regi, ccs2te(ccsCo2(enty), enty2, te)).. - sum(teCCS2rlf(te, rlf), vm_ccs_cdr(t, regi, enty, enty2, te, rlf)) + sum(teCCS2rlf(te, rlf), vm_co2capture_cdr(t, regi, enty, enty2, te, rlf)) =e= - vm_emiCdrTeDetail(t, regi, "dac") - + (1 / pm_eta_conv(t,regi,"gash2c")) * fm_dataemiglob("pegas","seh2","gash2c","cco2") * sum(fe2cdr("fegas",entyFe2,te_used33), v33_FEdemand(t,regi,"fegas", entyFe2,te_used33)) - - s33_OAE_chem_decomposition * sum(te_oae33, vm_emiCdrTeDetail(t, regi, te_oae33)) + + v33_co2capture_non_atm(t, regi) ; ***--------------------------------------------------------------------------- diff --git a/scripts/start/prepare.R b/scripts/start/prepare.R index ee9ef66a9..79854a6d6 100644 --- a/scripts/start/prepare.R +++ b/scripts/start/prepare.R @@ -535,14 +535,17 @@ prepare <- function() { if(cfg$gms$CDR == 'portfolio'){ fixings_manipulateThis <- c(fixings_manipulateThis, + list(c("vm_ccs_cdr.FX", "vm_co2capture_cdr.FX")), list(c("vm_otherFEdemand.FX", "!!vm_otherFEdemand.FX")), list(c("v33_emi.FX", "vm_emiCdrTeDetail.FX"))) levs_manipulateThis <- c(levs_manipulateThis, + list(c("vm_ccs_cdr.L", "vm_co2capture_cdr.L")), list(c("vm_otherFEdemand.L", "!!vm_otherFEdemand.L")), list(c("v33_emi.L", "vm_emiCdrTeDetail.L"))) margs_manipulateThis <- c(margs_manipulateThis, + list(c("vm_ccs_cdr.M", "vm_co2capture_cdr.M")), list(c("vm_otherFEdemand.M", "!!vm_otherFEdemand.M")), list(c("q33_DAC_capconst.M", "q33_DAC_emi.M"))) } From b4ebfa49f7b093f70a9d7e5e24761d1a7247079b Mon Sep 17 00:00:00 2001 From: lecfab Date: Wed, 17 Jul 2024 18:28:38 +0200 Subject: [PATCH 208/875] windon replaces wind: update equations, hard-coded input, and copy from mrremind wind values --- core/bounds.gms | 27 +--- core/datainput.gms | 143 ++++++------------ core/declarations.gms | 8 +- core/equations.gms | 8 +- core/input/generisdata_flexibility.prn | 53 ++++--- core/input/generisdata_nur_ren.prn | 45 +++--- core/input/generisdata_tech.prn | 34 ++--- core/input/generisdata_tech_SSP1.prn | 35 ++--- core/input/generisdata_tech_SSP5.prn | 35 ++--- core/input/generisdata_vintages.prn | 20 +-- core/sets.gms | 87 ++++------- main.gms | 12 ++ .../04_PE_FE_parameters/iea2014/datainput.gms | 9 +- modules/32_power/DTcoup/datainput.gms | 22 ++- modules/32_power/DTcoup/equations.gms | 12 +- modules/32_power/IntC/datainput.gms | 21 +-- modules/32_power/IntC/equations.gms | 12 +- .../32_power/IntC/input/f32_storageCap.prn | 8 +- modules/32_power/RLDC/bounds.gms | 20 ++- modules/32_power/RLDC/equations.gms | 88 +++++------ .../CombLowCandCoalPO/datainput.gms | 8 +- .../CombLowCandCoalPO/equations.gms | 2 +- modules/40_techpol/NDC/datainput.gms | 6 +- modules/40_techpol/NDC/declarations.gms | 2 +- modules/40_techpol/NDC/equations.gms | 12 +- modules/40_techpol/NDCplus/datainput.gms | 6 +- modules/40_techpol/NDCplus/declarations.gms | 2 +- modules/40_techpol/NDCplus/equations.gms | 12 +- modules/40_techpol/NPi2018/datainput.gms | 16 +- modules/40_techpol/NPi2018/declarations.gms | 2 +- modules/40_techpol/NPi2018/equations.gms | 12 +- .../40_techpol/lowCarbonPush/datainput.gms | 8 +- .../40_techpol/lowCarbonPush/equations.gms | 2 +- modules/47_regipol/none/bounds.gms | 2 +- modules/47_regipol/none/datainput.gms | 2 +- modules/47_regipol/regiCarbonPrice/bounds.gms | 2 +- .../47_regipol/regiCarbonPrice/datainput.gms | 2 +- modules/47_regipol/regiCarbonPrice/sets.gms | 1 + modules/70_water/heat/output.gms | 4 +- modules/80_optimization/nash/sets.gms | 12 +- .../cesCalibrationReport.Rmd | 2 +- 41 files changed, 357 insertions(+), 459 deletions(-) diff --git a/core/bounds.gms b/core/bounds.gms index 1b0221828..26b0b7e0b 100755 --- a/core/bounds.gms +++ b/core/bounds.gms @@ -259,30 +259,9 @@ vm_emiMac.fx(t,regi,"oc") = 0; *** ------------------------------------------------------------------------- *** Exogenous values: *** ------------------------------------------------------------------------- -***---- -*RP* fix capacities for wind, spv and csp to real world 2010 and 2015 values: -*CG* adding 2020 values -***---- -loop(te$(sameas(te,"csp")), - vm_cap.lo("2015",regi,te,"1") = 0.95 * pm_histCap("2015",regi,te)$(pm_histCap("2015",regi,te) gt 1e-10); - vm_cap.up("2015",regi,te,"1") = 1.05 * pm_histCap("2015",regi,te)$(pm_histCap("2015",regi,te) gt 1e-10); -); - -$IFTHEN.WindOff %cm_wind_offshore% == "0" -loop(te$(sameas(te,"spv") OR sameas(te,"wind") ), - vm_cap.lo("2015",regi,te,"1") = 0.95 * pm_histCap("2015",regi,te)$(pm_histCap("2015",regi,te) gt 1e-10); - vm_cap.up("2015",regi,te,"1") = 1.05 * pm_histCap("2015",regi,te)$(pm_histCap("2015",regi,te) gt 1e-10); - vm_cap.lo("2020",regi,te,"1") = 0.95 * pm_histCap("2020",regi,te)$(pm_histCap("2020",regi,te) gt 1e-10); - vm_cap.up("2020",regi,te,"1") = 1.05 * pm_histCap("2020",regi,te)$(pm_histCap("2020",regi,te) gt 1e-10); - vm_cap.up("2025",regi,te,"1")$(pm_histCap("2025",regi,te) gt 1e-6) = 1.05 * pm_histCap("2025",regi,te)$(pm_histCap("2025",regi,te) gt 1e-6); !! only set a bound if values >1MW are in pm_histCap -); - -$ENDIF.WindOff - - -$IFTHEN.WindOff %cm_wind_offshore% == "1" -loop(te$(sameas(te,"spv") OR sameas(te,"wind") OR sameas(te,"windoff")), +*** fix capacities for wind, spv and csp to real world historical values: +loop(teVRE, vm_cap.lo("2015",regi,te,"1") = 0.95 * pm_histCap("2015",regi,te)$(pm_histCap("2015",regi,te) gt 1e-10); vm_cap.up("2015",regi,te,"1") = 1.05 * pm_histCap("2015",regi,te)$(pm_histCap("2015",regi,te) gt 1e-10); vm_cap.lo("2020",regi,te,"1") = 0.95 * pm_histCap("2020",regi,te)$(pm_histCap("2020",regi,te) gt 1e-10); @@ -290,8 +269,6 @@ loop(te$(sameas(te,"spv") OR sameas(te,"wind") OR sameas(te,"windoff")), vm_cap.up("2025",regi,te,"1")$(pm_histCap("2025",regi,te) gt 1e-6) = 1.05 * pm_histCap("2025",regi,te)$(pm_histCap("2025",regi,te) gt 1e-10); !! only set a bound if values >1MW are in pm_histCap ); -$ENDIF.WindOff - *** lower bound on capacities for ngcc and ngt and gaschp for regions defined at the pm_histCap file loop(te$(sameas(te,"ngcc") OR sameas(te,"ngt") OR sameas(te,"gaschp")), vm_cap.lo("2015",regi,te,"1")$pm_histCap("2015",regi,te) = 0.95 * pm_histCap("2015",regi,te); diff --git a/core/datainput.gms b/core/datainput.gms index 56d7f2e34..bfcaf6581 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -135,7 +135,8 @@ pm_shGasLiq_fe_lo(ttot,regi,sector)=0; *** Technology data input read-in and manipulation *------------------------------------------------------------------------------------ *** Note: future to be its own module perhaps -*** Note: in module 5 there are more cost manipulation after initial capacities are calculated, be aware those can overwrite your technology values for policy runs if you set them here in the core +*** Note: in module 5 there are more cost manipulation after initial capacities are calculated, +*** be aware those can overwrite your technology values for policy runs if you set them here in the core ***--------------------------------------------------------------------------- *** Reading in and initializing global data ***--------------------------------------------------------------------------- @@ -145,7 +146,10 @@ $include "./core/input/generisdata_tech.prn" $include "./core/input/generisdata_trade.prn" ; -*** CG warning: some of the SSP1 and SSP5 costs are not consistent with the story line (e.g. under SSP1 blue H2 and some fossil fuel CCS technologies have lower costs than in SSP2). This is to be fixed in the future when new SSP storylines are implemented, unclear when (29-1-2024). In the future, SSP1 and SSP5 data should be implemented as switches to avoid errors +*** CG warning: some of the SSP1 and SSP5 costs are not consistent with the story line +*** (e.g. under SSP1 blue H2 and some fossil fuel CCS technologies have lower costs than in SSP2). +*** This is to be fixed in the future when new SSP storylines are implemented, unclear when (29-1-2024). +*** In the future, SSP1 and SSP5 data should be implemented as switches to avoid errors *JH* SSP energy technology scenario table f_dataglob_SSP1(char,all_te) "Techno-economic assumptions consistent with SSP1" $include "./core/input/generisdata_tech_SSP1.prn" @@ -156,16 +160,6 @@ $include "./core/input/generisdata_tech_SSP5.prn" $include "./core/input/generisdata_trade.prn" ; -$ifthen.WindOff %cm_wind_offshore% == "1" -*CG* set wind offshore, storage and grid to be the same as wind onshore (later should be integrated into input data) -* main difference between onshore and offshore is the difference in f32_factorStorage -fm_dataglob(char,"storwindoff") = fm_dataglob(char,"storwind"); -fm_dataglob(char,"gridwindoff") = fm_dataglob(char,"gridwind"); -f_dataglob_SSP1(char,"storwindoff") = f_dataglob_SSP1(char,"storwind"); -f_dataglob_SSP1(char,"gridwindoff") = f_dataglob_SSP1(char,"gridwind"); -f_dataglob_SSP5(char,"storwindoff") = f_dataglob_SSP5(char,"storwind"); -f_dataglob_SSP5(char,"gridwindoff") = f_dataglob_SSP5(char,"gridwind"); -$endif.WindOff ***--------------------------------------------------------------------------- *** Reading in and initializing regional cost data @@ -215,10 +209,6 @@ if (c_techAssumptScen eq 3, *RP* include global flexibility parameters $include "./core/input/generisdata_flexibility.prn" -$ifthen.WindOff %cm_wind_offshore% == "1" -fm_dataglob("flexibility","storwindoff") = 1.93; -fm_dataglob("flexibility","windoff") = -1; -$endif.WindOff display fm_dataglob; @@ -663,20 +653,8 @@ p_cint(regi,"co2","peoil","6")=0.1775748800; p_cint(regi,"co2","peoil","7")=0.2283105600; p_cint(regi,"co2","peoil","8")=0.4153983800; -$ifthen.WindOff %cm_wind_offshore% == "0" ** historical installed capacity -*** read-in of pm_histCap.cs3r -$Offlisting -table pm_histCap(tall,all_regi,all_te) "historical installed capacity" -$ondelim -$include "./core/input/pm_histCap.cs3r" -$offdelim -; -$Onlisting -$endif.WindOff - -$ifthen.WindOff %cm_wind_offshore% == "1" -*** read-in of pm_histCap_windoff.cs3r +*** read-in of pm_histCap_windoff.cs3r *** windoffshore-todo $Offlisting table pm_histCap(tall,all_regi,all_te) "historical installed capacity" $ondelim @@ -684,7 +662,11 @@ $include "./core/input/pm_histCap_windoff.cs3r" $offdelim ; $Onlisting -$endif.WindOff + +*** windoffshore-todo +pm_histCap(tall,all_regi,"windon") $ (pm_histCap(tall,all_regi,"windon") eq 0) = pm_histCap(tall,all_regi,"wind"); + + *** calculate historic capacity additions pm_delta_histCap(tall,regi,te) = pm_histCap(tall,regi,te) - pm_histCap(tall-1,regi,te); @@ -708,10 +690,14 @@ $offdelim $Onlisting -*CG* setting wind off capacity factor to be the same as onshore here (later adjusting it in vm_capFac) -$ifthen.WindOff %cm_wind_offshore% == "1" -f_cf(ttot,regi,"windoff") = f_cf(ttot,regi,"wind"); -$endif.WindOff +*CG* setting wind offshore capacity factor to be the same as onshore here (later adjusting it in vm_capFac) +*** windoffshore-todo +f_cf(ttot,regi,"windon") $ (f_cf(ttot,regi,"windon") eq 0) = f_cf(ttot,regi,"wind"); +f_cf(ttot,regi,"storwindon") $ (f_cf(ttot,regi,"storwindon") eq 0) = f_cf(ttot,regi,"storwind"); +f_cf(ttot,regi,"gridwindon") $ (f_cf(ttot,regi,"gridwindon") eq 0) = f_cf(ttot,regi,"gridwind"); +f_cf(ttot,regi,"windoff") = f_cf(ttot,regi,"windon"); +f_cf(ttot,regi,"storwindoff") = f_cf(ttot,regi,"storwindon"); +f_cf(ttot,regi,"gridwindoff") = f_cf(ttot,regi,"gridwindon"); pm_cf(ttot,regi,te) = f_cf(ttot,regi,te); ***pm_cf(ttot,regi,"h2turbVRE") = 0.15; @@ -963,8 +949,8 @@ $if %cm_MAgPIE_coupling% == "on" p_efFossilFuelExtr(regi,"pebiolc","n2obio") = 0 display p_efFossilFuelExtr; -pm_dataren(regi,"nur",rlf,te) = f_datarenglob("nur",rlf,te); pm_dataren(regi,"maxprod",rlf,te) = sm_EJ_2_TWa * f_datarenglob("maxprod",rlf,te); +pm_dataren(regi,"nur",rlf,te) = f_datarenglob("nur",rlf,te); *RP* hydro, spv and csp get maxprod for all regions and grades from external file table f_maxProdGradeRegiHydro(all_regi,char,rlf) "input of regionalized maximum from hydro [EJ/a]" @@ -976,17 +962,17 @@ pm_dataren(all_regi,"maxprod",rlf,"hydro") = sm_EJ_2_TWa * f_maxProdGradeRegiHyd pm_dataren(all_regi,"nur",rlf,"hydro") = f_maxProdGradeRegiHydro(all_regi,"nur",rlf); *CG* separating input of wind onshore and offshore +*** windoffshore-todo table f_maxProdGradeRegiWindOn(all_regi,char,rlf) "input of regionalized maximum from wind onshore [EJ/a]" $ondelim $include "./core/input/f_maxProdGradeRegiWindOn.cs3r" $offdelim ; -pm_dataren(all_regi,"maxprod",rlf,"wind") = sm_EJ_2_TWa * f_maxProdGradeRegiWindOn(all_regi,"maxprod",rlf); -pm_dataren(all_regi,"nur",rlf,"wind") = f_maxProdGradeRegiWindOn(all_regi,"nur",rlf); +pm_dataren(all_regi,"maxprod",rlf,"windon") = sm_EJ_2_TWa * f_maxProdGradeRegiWindOn(all_regi,"maxprod",rlf); +pm_dataren(all_regi,"nur",rlf,"windon") = f_maxProdGradeRegiWindOn(all_regi,"nur",rlf); -$ifthen.WindOff %cm_wind_offshore% == "1" table f_maxProdGradeRegiWindOff(all_regi,char,rlf) "input of regionalized maximum from wind offshore [EJ/a]" $ondelim $include "./core/input/f_maxProdGradeRegiWindOff.cs3r" @@ -1008,8 +994,6 @@ pm_shareWindOff("2040",regi) = 0.9; pm_shareWindOff("2045",regi) = 0.95; pm_shareWindOff(ttot,regi)$((ttot.val ge 2050)) = 1; -$endif.WindOff - table f_dataRegiSolar(all_regi,char,all_te,rlf) "input of regionalized data for solar" $ondelim @@ -1066,17 +1050,7 @@ loop(regi, display p_aux_capToDistr, s_aux_cap_remaining, p_aux_capThisGrade, p_avCapFac2015, p_inco0; -$ifthen.WindOff %cm_wind_offshore% == "0" -parameter p_histCapFac(tall,all_regi,all_te) "Capacity factor (fraction of the year that a plant is running) of installed capacity in 2015" -/ -$ondelim -$include "./core/input/p_histCapFac.cs4r" -$offdelim -/ -; -$endif.WindOff -$ifthen.WindOff %cm_wind_offshore% == "1" parameter p_histCapFac(tall,all_regi,all_te) "Capacity factor (fraction of the year that a plant is running) of installed capacity in 2015" / $ondelim @@ -1084,45 +1058,32 @@ $include "./core/input/p_histCapFac_windoff.cs4r" $offdelim / ; -$endif.WindOff +*** windoffshore-todo +p_histCapFac(tall,all_regi,"windon") $ (p_histCapFac(tall,all_regi,"windon") eq 0) = p_histCapFac(tall,all_regi,"wind"); -*** RP rescale wind capacity factors in REMIND to account for very different real-world CF (potentially partially due to assumed low-wind turbine set-ups in the NREL data) -*** Because of the lag effect (turbines in the 2000s were much smaller and thus yielded lower CFs), only implement half of the calculated ratio of historic to REMIND capFac as rescaling for the new CFs - realised as (x+1)/2 +*** RP rescale wind capacity factors in REMIND to account for very different real-world CF +*** (potentially partially due to assumed low-wind turbine set-ups in the NREL data) +*** Because of the lag effect (turbines in the 2000s were much smaller and thus yielded lower CFs), +*** only implement half of the calculated ratio of historic to REMIND capFac as rescaling for the new CFs - realised as (x+1)/2 *cb* CF calibration analogously for wind and spv: calibrate 2015, and assume gradual phase-in of grade-based CF (until 2045 for wind, until 2030 for spv) -p_aux_capacityFactorHistOverREMIND(regi,"wind")$p_avCapFac2015(regi,"wind") = p_histCapFac("2015",regi,"wind") / p_avCapFac2015(regi,"wind"); -$ifthen.WindOff %cm_wind_offshore% == "1" +p_aux_capacityFactorHistOverREMIND(regi,"windon")$p_avCapFac2015(regi,"windon") = p_histCapFac("2015",regi,"windon") / p_avCapFac2015(regi,"windon"); p_aux_capacityFactorHistOverREMIND(regi,"windoff")$p_avCapFac2015(regi,"windoff") = p_histCapFac("2015",regi,"windoff") / p_avCapFac2015(regi,"windoff"); -$endif.WindOff - -$ifthen.WindOff %cm_wind_offshore% == "0" -loop(t$(t.val ge 2015 AND t.val le 2035 ), -pm_cf(t,regi,"wind") = -(2035 - pm_ttot_val(t)) / 20 * p_aux_capacityFactorHistOverREMIND(regi,"wind") *pm_cf(t,regi,"wind") -+ -(pm_ttot_val(t) - 2015) / 20 * pm_cf(t,regi,"wind") -); -$endif.WindOff -$ifthen.WindOff %cm_wind_offshore% == "1" -loop(te$(sameas(te,"wind") OR sameas(te,"windoff")), -loop(t$(t.val ge 2015 AND t.val le 2035 ), -pm_cf(t,regi,te) = -(2035 - pm_ttot_val(t)) / 20 * p_aux_capacityFactorHistOverREMIND(regi,te) *pm_cf(t,regi,te) -+ -(pm_ttot_val(t) - 2015) / 20 * pm_cf(t,regi,te) -); +loop(te$(sameas(te,"windon") OR sameas(te,"windoff")), + loop(t$(t.val ge 2015 AND t.val le 2035 ), + pm_cf(t,regi,te) = + (2035 - pm_ttot_val(t)) / 20 * p_aux_capacityFactorHistOverREMIND(regi,te) *pm_cf(t,regi,te) + + + (pm_ttot_val(t) - 2015) / 20 * pm_cf(t,regi,te) + ); ); -$endif.WindOff - *CG* set storage and grid of windoff to be the same as windon -$ifthen.WindOff %cm_wind_offshore% == "1" -pm_cf(t,regi,"storwindoff") = pm_cf(t,regi,"storwind"); -pm_cf(t,regi,"gridwindoff") = pm_cf(t,regi,"gridwind"); -$endif.WindOff +pm_cf(t,regi,"storwindoff") = pm_cf(t,regi,"storwindon"); +pm_cf(t,regi,"gridwindoff") = pm_cf(t,regi,"gridwindon"); p_aux_capacityFactorHistOverREMIND(regi,"spv")$p_avCapFac2015(regi,"spv") = p_histCapFac("2015",regi,"spv") / p_avCapFac2015(regi,"spv"); pm_cf("2015",regi,"spv") = pm_cf("2015",regi,"spv") * p_aux_capacityFactorHistOverREMIND(regi,"spv"); @@ -1180,9 +1141,9 @@ $offdelim ; p_adj_deltacapoffset("2015",regi,"tnrs")= 1; -$ifthen.WindOff %cm_wind_offshore% == "1" -p_adj_deltacapoffset(t,regi,"windoff")= p_adj_deltacapoffset(t,regi,"wind"); -$endif.WindOff +*** windoffshore-todo +p_adj_deltacapoffset(t,regi,"windon") ? (p_adj_deltacapoffset(t,regi,"windon") eq 0) = p_adj_deltacapoffset(t,regi,"wind"); +p_adj_deltacapoffset(t,regi,"windoff")= p_adj_deltacapoffset(t,regi,"windon"); *** share of PE2SE capacities in 2005 depends on GDP-MER p_adj_seed_reg(t,regi) = pm_gdp(t,regi) * 1e-4; @@ -1195,6 +1156,7 @@ loop(ttot$(ttot.val ge 2005), p_adj_seed_te(ttot,regi,"hydro") = 0.25; p_adj_seed_te(ttot,regi,"csp") = 0.25; p_adj_seed_te(ttot,regi,"spv") = 2.00; + p_adj_seed_te(ttot,regi,"windoff") = 0.5; p_adj_seed_te(ttot,regi,"gasftrec") = 0.25; p_adj_seed_te(ttot,regi,"gasftcrec") = 0.25; p_adj_seed_te(ttot,regi,"coalftrec") = 0.25; @@ -1207,10 +1169,6 @@ $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" p_adj_seed_te(ttot,regi,"idrcc") = 0.05; $endif.cm_subsec_model_steel -$ifthen.WindOff %cm_wind_offshore% == "1" - p_adj_seed_te(ttot,regi,"windoff") = 0.5; -$endif.WindOff - *RP: for comparison of different technologies: *** pm_conv_cap_2_MioLDV <- 650 # The world has slightly below 800million cars in 2005 (IEA TECO2), so with a global vm_cap of 1.2, this gives ~650 *** ==> 1TW power plant ~ 650 million LDV @@ -1235,18 +1193,14 @@ $endif.WindOff p_adj_coeff(ttot,regi,teCCS) = 1.0; p_adj_coeff(ttot,regi,"ccsinje") = 1.0; p_adj_coeff(ttot,regi,"spv") = 0.15; - p_adj_coeff(ttot,regi,"wind") = 0.25; + p_adj_coeff(ttot,regi,"windon") = 0.25; + p_adj_coeff(ttot,regi,"windoff") = 0.35; p_adj_coeff(ttot,regi,"geohe") = 0.6; $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" p_adj_coeff(ttot,regi,"bfcc") = 1.0; p_adj_coeff(ttot,regi,"idrcc") = 1.0; $endif.cm_subsec_model_steel -$ifthen.WindOff %cm_wind_offshore% == "1" - - p_adj_coeff(ttot,regi,"windoff") = 0.35; -$endif.WindOff - p_adj_coeff(ttot,regi,"dac") = 0.8; p_adj_coeff(ttot,regi,teGrid) = 0.3; p_adj_coeff(ttot,regi,teStor) = 0.05; @@ -1550,11 +1504,6 @@ table p_vintage_glob_in(opTimeYr,all_te) "read-in of global historical v $include "./core/input/generisdata_vintages.prn" ; -*CG* wind offshore has the same vintage structure as onshore -$ifthen.WindOff %cm_wind_offshore% == "1" -p_vintage_glob_in(opTimeYr,"windoff") = p_vintage_glob_in(opTimeYr,"wind"); -$endif.WindOff - pm_vintage_in(regi,opTimeYr,te) = p_vintage_glob_in(opTimeYr,te); *RP* 2015-12-09: make sure that all technologies have a pm_vintage_in value > 0 in 2005. If a technology should not be built, this is modeled by diff --git a/core/declarations.gms b/core/declarations.gms index d9589e508..690af8f4c 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -146,10 +146,9 @@ p_aux_capacityFactorHistOverREMIND(all_regi,all_te) "aux. param. to calc p_aux_scaleEmiHistorical_n2o(all_regi) "aux. param. to rescale MAgPIE n2o emissions to historical values" p_aux_scaleEmiHistorical_ch4(all_regi) "aux. param. to rescale MAgPIE ch4 emissions to historical values" -$IFTHEN.WindOff %cm_wind_offshore% == "1" +*** windoffshore-todo pm_shareWindPotentialOff2On(all_regi) "ratio of technical potential of windoff to windon" pm_shareWindOff(ttot,all_regi) "windoff rollout as a fraction of technical potential" -$ENDIF.WindOff pm_fe2es(tall,all_regi,all_teEs) "Conversion factor from final energies to energy services. Default is 1." @@ -200,7 +199,7 @@ p_efFossilFuelExtrGlo(all_enty,all_enty) "global emission factor for pm_dataren(all_regi,char,rlf,all_te) "Array including both regional renewable potential and capacity factor" p_datapot(all_regi,char,rlf,all_enty) "Total land area usable for the solar technologies PV and CSP. [km^2]" p_adj_seed_reg(tall,all_regi) "market capacity that can be built from 0 and gives v_adjFactor=1" -p_adj_seed_te(ttot,all_regi,all_te) "technology-dependent multiplicative prefactor to the v_adjFactor seed value. Smaller means slower scale-up" +p_adj_seed_te(ttot,all_regi,all_te) "technology-dependent multiplicative prefactor to the v_adjFactor seed value. Smaller means slower scale-up" *** appears in q_esm2macro and q_balFeForCes. This energy category is 0 in LAM, IND and AFR in 2005, but a value > 0 is needed for the calculation of CES parameters. *** Accordingly, a value of sm_eps is inserted in pm_cesdata to allow calculation of the CES parameters. p_datacs(all_regi,all_enty) "fossil energy that is not oxidized (=carbon stored)" @@ -458,10 +457,9 @@ q_cap(tall,all_regi,all_te,rlf) "definition of available ca q_capDistr(tall,all_regi,all_te) "distribute available capacities across grades" q_capTotal(ttot,all_regi,all_enty,all_enty) "calculation of vm_capTotal as total capacity without technology differentation for technologies where there exists differentation" -$IFTHEN.WindOff %cm_wind_offshore% == "1" +*** windoffshore-todo q_windoff_low(tall,all_regi) "semi-endogenous offshore wind power generation as a share of onshore wind energy, which is proportional to more than half of maxprod ratio" q_windoff_high(tall,all_regi) "semi-endogenous offshore wind power generation as a share of onshore wind energy, which is proportional to less than twice of maxprod ratio" -$ENDIF.WindOff q_limitCapSe(ttot,all_regi,all_enty,all_enty,all_te) "capacity constraint for se production" q_limitCapSe2se(ttot,all_regi,all_enty,all_enty,all_te) "capacity constraint for se to se transformation" diff --git a/core/equations.gms b/core/equations.gms index cc6a4a1c0..271e20715 100644 --- a/core/equations.gms +++ b/core/equations.gms @@ -346,22 +346,20 @@ q_capTotal(t,regi,entyPe,entySe)$( capTotal(entyPe,entySe)).. ***--------------------------------------------------------------------------- *' CG: implementing simple exogenous wind offshore energy production -*' +*** windoffshore-todo ***--------------------------------------------------------------------------- -$IFTHEN.WindOff %cm_wind_offshore% == "1" q_windoff_low(t,regi)$(t.val > 2020).. sum(rlf, vm_deltaCap(t,regi,"windoff",rlf)) =g= - pm_shareWindOff(t,regi) * pm_shareWindPotentialOff2On(regi) * 0.5 * sum(rlf, vm_deltaCap(t,regi,"wind",rlf)) + pm_shareWindOff(t,regi) * pm_shareWindPotentialOff2On(regi) * 0.5 * sum(rlf, vm_deltaCap(t,regi,"windon",rlf)) ; q_windoff_high(t,regi)$(t.val > 2020).. sum(rlf, vm_deltaCap(t,regi,"windoff",rlf)) =l= - pm_shareWindOff(t,regi) * pm_shareWindPotentialOff2On(regi) * 2 * sum(rlf, vm_deltaCap(t,regi,"wind",rlf)) + pm_shareWindOff(t,regi) * pm_shareWindPotentialOff2On(regi) * 2 * sum(rlf, vm_deltaCap(t,regi,"windon",rlf)) ; -$ENDIF.WindOff ***--------------------------------------------------------------------------- *' Technological change is an important driver of the evolution of energy systems. *' For mature technologies, such as coal-fired power plants, the evolution diff --git a/core/input/generisdata_flexibility.prn b/core/input/generisdata_flexibility.prn index a82d3262d..61439a478 100644 --- a/core/input/generisdata_flexibility.prn +++ b/core/input/generisdata_flexibility.prn @@ -1,32 +1,31 @@ *** SOF ./core/input/generisdata_flexibility.prn *** parameterization after simple algorithm -fm_dataglob("flexibility","ngcc") = 0.95; -fm_dataglob("flexibility","ngccc") = 0.85; -fm_dataglob("flexibility","ngt") = 16; -fm_dataglob("flexibility","h2turb") = 16; -fm_dataglob("flexibility","dot") = 6; -fm_dataglob("flexibility","igcc") = 0.85; -fm_dataglob("flexibility","igccc") = 0.7; -fm_dataglob("flexibility","pc") = 0.90; -fm_dataglob("flexibility","gaschp") = 0.85; -fm_dataglob("flexibility","coalchp") = 0.75; -fm_dataglob("flexibility","biochp") = 0.7; -fm_dataglob("flexibility","bioigcc") = 0.75; -fm_dataglob("flexibility","bioigccc") = 0.7; -fm_dataglob("flexibility","tnrs") = 0.6; -fm_dataglob("flexibility","fnrs") = 0.44; -fm_dataglob("flexibility","wind") = -1; -fm_dataglob("flexibility","csp") = -1; -fm_dataglob("flexibility","spv") = -1; -fm_dataglob("flexibility","storwind") = 1.89; -$IFTHEN.WindOff %cm_wind_offshore% == "1" -fm_dataglob("flexibility","storwind") = 1.86; -$ENDIF.WindOff -fm_dataglob("flexibility","storcsp") = 1.85; -fm_dataglob("flexibility","storspv") = 1.85; -fm_dataglob("flexibility","geohdr") = 0.8; -fm_dataglob("flexibility","hydro") = 1.2; -fm_dataglob("flexibility","h2turbVRE") = 16; +fm_dataglob("flexibility","ngcc") = 0.95; +fm_dataglob("flexibility","ngccc") = 0.85; +fm_dataglob("flexibility","ngt") = 16; +fm_dataglob("flexibility","h2turb") = 16; +fm_dataglob("flexibility","dot") = 6; +fm_dataglob("flexibility","igcc") = 0.85; +fm_dataglob("flexibility","igccc") = 0.7; +fm_dataglob("flexibility","pc") = 0.90; +fm_dataglob("flexibility","gaschp") = 0.85; +fm_dataglob("flexibility","coalchp") = 0.75; +fm_dataglob("flexibility","biochp") = 0.7; +fm_dataglob("flexibility","bioigcc") = 0.75; +fm_dataglob("flexibility","bioigccc") = 0.7; +fm_dataglob("flexibility","tnrs") = 0.6; +fm_dataglob("flexibility","fnrs") = 0.44; +fm_dataglob("flexibility","windon") = -1; +fm_dataglob("flexibility","windoff") = -1; +fm_dataglob("flexibility","csp") = -1; +fm_dataglob("flexibility","spv") = -1; +fm_dataglob("flexibility","storwindon") = 1.86; +fm_dataglob("flexibility","storwindoff")= 1.93; +fm_dataglob("flexibility","storcsp") = 1.85; +fm_dataglob("flexibility","storspv") = 1.85; +fm_dataglob("flexibility","geohdr") = 0.8; +fm_dataglob("flexibility","hydro") = 1.2; +fm_dataglob("flexibility","h2turbVRE") = 16; *** EOF ./core/input/generisdata_flexibility.prn diff --git a/core/input/generisdata_nur_ren.prn b/core/input/generisdata_nur_ren.prn index ed725b05c..32dc193ea 100644 --- a/core/input/generisdata_nur_ren.prn +++ b/core/input/generisdata_nur_ren.prn @@ -4,29 +4,28 @@ * The potential is categorized into different greades. - - wind spv hydro geohdr geohe csp storspv storwind storcsp gridspv gridwind gridcsp -nur.1 0.31 0.230 0.550 1.000 1.000 0.72 1 1 1 0.85 0.85 0.85 -nur.2 0.28 0.215 0.450 0.68 -nur.3 0.24 0.200 0.350 0.65 -nur.4 0.20 0.185 0.250 0.61 -nur.5 0.17 0.172 0.150 0.57 -nur.6 0.15 0.160 0.53 -nur.7 0.13 0.150 0.48 -nur.8 0.12 0.140 0.43 -nur.9 0.11 0.130 0.40 -nur.10 0.10 -nur.11 0.08 -nur.12 0.07 - - -maxprod.1 50 8 0.112 50.0 -maxprod.2 40 16 -maxprod.3 40 18 -maxprod.4 40 8 -maxprod.5 40 -maxprod.6 40 -maxprod.7 60 + windon windoff spv hydro geohdr geohe csp storspv storwindon storwindoff storcsp gridspv gridwindon gridwindoff gridcsp +nur.1 0.31 0.31 0.230 0.550 1.000 1.000 0.72 1 1 1 1 0.85 0.85 0.85 0.85 +nur.2 0.28 0.28 0.215 0.450 0.68 +nur.3 0.24 0.24 0.200 0.350 0.65 +nur.4 0.20 0.20 0.185 0.250 0.61 +nur.5 0.17 0.17 0.172 0.150 0.57 +nur.6 0.15 0.15 0.160 0.53 +nur.7 0.13 0.13 0.150 0.48 +nur.8 0.12 0.12 0.140 0.43 +nur.9 0.11 0.11 0.130 0.40 +nur.10 0.10 0.10 +nur.11 0.08 0.08 +nur.12 0.07 0.07 + + +maxprod.1 50 50 8 0.112 50.0 +maxprod.2 40 40 16 +maxprod.3 40 40 18 +maxprod.4 40 40 8 +maxprod.5 40 40 +maxprod.6 40 40 +maxprod.7 60 60 diff --git a/core/input/generisdata_tech.prn b/core/input/generisdata_tech.prn index f1f712a65..62dc6479a 100644 --- a/core/input/generisdata_tech.prn +++ b/core/input/generisdata_tech.prn @@ -55,7 +55,7 @@ omv 30.11 25.00 31.50 50 lifetime 35 35 40 40 40 40 40 40 35 35 35 35 35 35 35 -+ geohdr geohe hydro wind windoff spv solhe csp ++ geohdr geohe hydro windon windoff spv solhe csp tech_stat 1 inco0 3600 1200 2700 2400 5000 5160 9999 10320 constrTme 4 1 5 1 4 1 1 3 @@ -138,22 +138,22 @@ omf 0.03 0.03 omv 36 76 lifetime 50 50 -+ storspv storwind storcsp -inco0 7720 2940 2520 -mix0 0.00 0.00 0.00 -eta 0.74 0.85 0.79 -omf 0.02 0.02 0.02 -lifetime 25 25 25 -incolearn 5440 2090 1800 -ccap0 0.00005 0.00005 0.00005 -learn 0.10 0.10 0.10 - -+ gridspv gridwind gridcsp -inco0 2400 720 3120 -mix0 0.00 0.00 0.00 -eta 1.00 1.00 1.00 -omf 0.02 0.02 0.02 -lifetime 45 45 45 ++ storspv storcsp storwindon storwindoff +inco0 7720 2520 2940 2940 +mix0 0.00 0.00 0.00 0.00 +eta 0.74 0.79 0.85 0.85 +omf 0.02 0.02 0.02 0.02 +lifetime 25 25 25 25 +incolearn 5440 1800 2090 2090 +ccap0 0.00005 0.00005 0.00005 0.00005 +learn 0.10 0.10 0.10 0.10 + ++ gridspv gridcsp gridwindon gridwindoff +inco0 2400 3120 720 720 +mix0 0.00 0.00 0.00 0.00 +eta 1.00 1.00 1.00 1.00 +omf 0.02 0.02 0.02 0.02 +lifetime 45 45 45 45 + weathering dac oae_ng oae_el tech_stat 4 diff --git a/core/input/generisdata_tech_SSP1.prn b/core/input/generisdata_tech_SSP1.prn index 8cee32202..49e24a01a 100644 --- a/core/input/generisdata_tech_SSP1.prn +++ b/core/input/generisdata_tech_SSP1.prn @@ -55,7 +55,7 @@ omv 30.11 25.00 31.50 50 lifetime 35 35 40 40 40 40 40 40 35 35 35 35 35 35 35 -+ geohdr geohe hydro wind windoff spv solhe csp ++ geohdr geohe hydro windon windoff spv solhe csp tech_stat 1 inco0 3600 1200 2700 2400 5000 5160 9999 10320 constrTme 4 1 5 1 4 1 1 3 @@ -136,22 +136,23 @@ omf 0.03 0.03 omv 36 76 lifetime 50 50 -+ storspv storwind storcsp -inco0 8350 3250 2520 -mix0 0.00 0.00 0.00 -eta 0.78 0.89 0.83 -omf 0.02 0.02 0.02 -lifetime 25 25 25 -incolearn 7000 2430 1940 -ccap0 0.00005 0.00005 0.00005 -learn 0.10 0.10 0.10 - -+ gridspv gridwind gridcsp -inco0 2400 720 3120 -mix0 0.00 0.00 0.00 -eta 1.00 1.00 1.00 -omf 0.02 0.02 0.02 -lifetime 45 45 45 + ++ storspv storcsp storwindon storwindoff +inco0 8350 2520 3250 3250 +mix0 0.00 0.00 0.00 0.00 +eta 0.78 0.83 0.89 0.89 +omf 0.02 0.02 0.02 0.02 +lifetime 25 25 25 25 +incolearn 7000 1940 2430 2430 +ccap0 0.00005 0.00005 0.00005 0.00005 +learn 0.10 0.10 0.10 0.10 + ++ gridspv gridcsp gridwindon gridwindoff +inco0 2400 3120 720 720 +mix0 0.00 0.00 0.00 0.00 +eta 1.00 1.00 1.00 1.00 +omf 0.02 0.02 0.02 0.02 +lifetime 45 45 45 45 + weathering dac oae_ng oae_el tech_stat 4 diff --git a/core/input/generisdata_tech_SSP5.prn b/core/input/generisdata_tech_SSP5.prn index e91cfeb85..966d025fa 100644 --- a/core/input/generisdata_tech_SSP5.prn +++ b/core/input/generisdata_tech_SSP5.prn @@ -54,7 +54,7 @@ omf 0.03 0.04 0.04 0.04 0 omv 30.11 25.00 31.50 50.50 10.90 12.80 10.60 10.60 97.27 38.99 5.05 10.60 lifetime 35 35 40 40 40 40 40 40 35 35 35 20 20 35 35 -+ geohdr geohe hydro wind windoff spv solhe csp ++ geohdr geohe hydro windon windoff spv solhe csp tech_stat 1 inco0 3600 1200 2700 2400 5000 5160 9999 10320 constrTme 4 1 5 1 4 1 1 3 @@ -135,22 +135,23 @@ omf 0.03 0.03 omv 36 76 lifetime 50 50 -+ storspv storwind storcsp -inco0 18000 7500 5400 -mix0 0.00 0.00 0.00 -eta 0.67 0.78 0.72 -omf 0.02 0.02 0.02 -lifetime 25 25 25 -incolearn 12000 4800 3800 -ccap0 0.00005 0.00005 0.00005 -learn 0.10 0.10 0.10 - -+ gridspv gridwind gridcsp -inco0 2400 860 3120 -mix0 0.00 0.00 0.00 -eta 1.00 1.00 1.00 -omf 0.02 0.02 0.02 -lifetime 45 45 45 + ++ storspv storcsp storwindon storwindoff +inco0 18000 5400 7500 7500 +mix0 0.00 0.00 0.00 0.00 +eta 0.67 0.72 0.78 0.78 +omf 0.02 0.02 0.02 0.02 +lifetime 25 25 25 25 +incolearn 12000 3800 4800 4800 +ccap0 0.00005 0.00005 0.00005 0.00005 +learn 0.10 0.10 0.10 0.10 + ++ gridspv gridcsp gridwindon gridwindoff +inco0 2400 3120 860 860 +mix0 0.00 0.00 0.00 0.00 +eta 1.00 1.00 1.00 1.00 +omf 0.02 0.02 0.02 0.02 +lifetime 45 45 45 45 + weathering dac oae_ng oae_el tech_stat 4 diff --git a/core/input/generisdata_vintages.prn b/core/input/generisdata_vintages.prn index ead2b4fea..9b5ccb776 100644 --- a/core/input/generisdata_vintages.prn +++ b/core/input/generisdata_vintages.prn @@ -74,14 +74,14 @@ $offtext 36 1.0 41 1.0 -+ hydro wind spv solhe csp elh2 geohdr geohe h2turb h22ch4 MeOH -1 5.0 10.0 10.0 4.5 1.0 1.0 10.0 10.0 1 1.0 1.0 -6 5.0 5.0 5.0 2.8 0.0 5.0 5.0 -11 5.0 1.0 1.0 1.8 0.0 1.0 1.0 -16 5.0 1.1 1.0 -21 5.0 0.0 -26 5.0 0.0 -31 5.0 0.0 ++ hydro windon windoff spv solhe csp elh2 geohdr geohe h2turb h22ch4 MeOH +1 5.0 10.0 10.0 10.0 4.5 1.0 1.0 10.0 10.0 1 1.0 1.0 +6 5.0 5.0 5.0 5.0 2.8 0.0 5.0 5.0 +11 5.0 1.0 1.0 1.0 1.8 0.0 1.0 1.0 +16 5.0 1.1 1.0 +21 5.0 0.0 +26 5.0 0.0 +31 5.0 0.0 36 5.0 41 5.0 46 5.0 @@ -141,8 +141,8 @@ $offtext -+ storspv storwind storcsp gridspv gridwind gridcsp -1 1.0 1.0 1.0 1.0 1.0 1.0 ++ storspv storwindon storwindoff storcsp gridspv gridwindon gridwindoff gridcsp +1 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 + ccsinje 1 1.0 diff --git a/core/sets.gms b/core/sets.gms index dd972a068..bb58d96f1 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -198,6 +198,7 @@ all_te "all energy technologies, including from modules" geohe "geothermal heat" hydro "hydro electric" wind "wind power converters" + windon "wind onshore power converters" windoff "wind offshore power converters" spv "solar photovoltaic" csp "concentrating solar power" @@ -254,17 +255,15 @@ all_te "all energy technologies, including from modules" *RP* Storage technology: storspv "storage technology for photo voltaic (PV)" storwind "storage technology for wind onshore" -$IFTHEN.WindOff %cm_wind_offshore% == "1" + storwindon "storage technology for wind onshore" storwindoff "storage technology for wind offshore" -$ENDIF.WindOff storcsp "storage technology for concentrating solar power (CSP)" *RP* grid technology gridspv "grid between areas with high pv production and the rest" gridcsp "grid between areas with high csp production and the rest" gridwind "grid between areas with high wind onshore production and the rest" -$IFTHEN.WindOff %cm_wind_offshore% == "1" + gridwindon "grid between areas with high wind onshore production and the rest" gridwindoff "grid between areas with high wind offshore production and the rest" -$ENDIF.WindOff weathering "enhanced weathering" dac "direct air capture" @@ -1166,9 +1165,8 @@ te(all_te) "energy technologies" geohe "geothermal heat" hydro "hydro electric" wind "wind power converters" -$IFTHEN.WindOff %cm_wind_offshore% == "1" + windon "wind onshore power converters" windoff "wind offshore power converters" -$ENDIF.WindOff spv "solar photovoltaic" csp "concentrating solar power" solhe "solar thermal heat generation" @@ -1212,17 +1210,15 @@ $ENDIF.WindOff storspv "storage technology for photo voltaic" storwind "storage technology for wind onshore" -$IFTHEN.WindOff %cm_wind_offshore% == "1" + storwindon "storage technology for wind onshore" storwindoff "storage technology for wind offshore" -$ENDIF.WindOff storcsp "storage technology for concentrating solar power" gridspv "grid between areas with high pv production and the rest" gridcsp "grid between areas with high csp production and the rest" gridwind "grid between areas with high wind onshore production and the rest" -$IFTHEN.WindOff %cm_wind_offshore% == "1" + gridwindon "grid between areas with high wind onshore production and the rest" gridwindoff "grid between areas with high wind offshore production and the rest" -$ENDIF.WindOff pipe_gas "Pipelines transporting natural gas" termX_lng "Export terminals for LNG (liquification)" termM_lng "Import terminals for LNG (regasification)" @@ -1279,9 +1275,8 @@ teAdj(all_te) "technologies with adjustment costs on capacity addition geohe "geothermal heat" hydro "hydro electric" wind "wind onshore power converters" -$IFTHEN.WindOff %cm_wind_offshore% == "1" + windon "wind onshore power converters" windoff "wind offshore power converters" -$ENDIF.WindOff spv "solar photovoltaic" csp "concentrating solar power" solhe "solar thermal heat generation" @@ -1297,9 +1292,8 @@ $ENDIF.WindOff storspv "storage technology for PV" storwind "storage technology for wind onshore" -$IFTHEN.WindOff %cm_wind_offshore% == "1" + storwindon "storage technology for wind onshore" storwindoff "storage technology for wind offshore" -$ENDIF.WindOff storcsp "storage technology for CSP" refliq "refinery oil to SE liquids" @@ -1307,9 +1301,8 @@ $ENDIF.WindOff gridspv "grid between areas with high pv production and the rest" gridcsp "grid between areas with high csp production and the rest" gridwind "grid between areas with high wind onshore production and the rest" -$IFTHEN.WindOff %cm_wind_offshore% == "1" + gridwindon "grid between areas with high wind onshore production and the rest" gridwindoff "grid between areas with high wind offshore production and the rest" -$ENDIF.WindOff $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" bfcc "Blast furnace CCS" idrcc "Direct reduction CCS" @@ -1327,16 +1320,14 @@ teRLDCDisp(all_te) "RLDC Dispatchable technologies that produce seel" teLearn(all_te) "Learning technologies (for which investment costs are reduced endogenously through capacity deployment)." / wind "wind onshore power converters" -$IFTHEN.WindOff %cm_wind_offshore% == "1" + windon "wind onshore power converters" windoff "wind offshore power converters" -$ENDIF.WindOff spv "solar photovoltaic" csp "concentrating solar power" storspv "storage technology for spv" storwind "storage technology for wind onshore" -$IFTHEN.WindOff %cm_wind_offshore% == "1" + storwindon "storage technology for wind onshore" storwindoff "storage technology for wind offshore" -$ENDIF.WindOff storcsp "storage technology for csp" elh2 "hydrogen elecrolysis" / @@ -1415,6 +1406,8 @@ teRe(all_te) "renewable technologies including biomass" geohe "geothermal heat" hydro "hydro electric" wind "wind power converters" + windon "wind onshore power converters" + windoff "wind offshore power converters" spv "solar photovoltaic" csp "concentrating solar power" solhe "solar thermal heat generation" @@ -1425,9 +1418,8 @@ teReNoBio(all_te) "renewable technologies except for biomass" geohe "geothermal heat" hydro "hydro electric" wind "wind power converters" -$IFTHEN.WindOff %cm_wind_offshore% == "1" + windon "wind onshore power converters" windoff "wind offshore power converters" -$ENDIF.WindOff spv "solar photovoltaic" csp "concentrating solar power" *** solhe "solar thermal heat generation" @@ -1437,9 +1429,8 @@ teNoRe(all_te) "Non renewable energy technologies" teVRE(all_te) "technologies requiring storage" / wind "wind power converters" -$IFTHEN.WindOff %cm_wind_offshore% == "1" + windon "wind onshore power converters" windoff "wind offshore power converters" -$ENDIF.WindOff spv "solar photovoltaic" csp "concentrating solar power" / @@ -1447,9 +1438,8 @@ $ENDIF.WindOff teWind(all_te) "Onshore and offshore wind technologies" / wind "wind power converters" -$IFTHEN.WindOff %cm_wind_offshore% == "1" + windon "wind onshore power converters" windoff "wind offshore power converters" -$ENDIF.WindOff / @@ -1457,28 +1447,25 @@ teStor(all_te) "storage technologies" / storspv "storage technology for spv" storwind "storage technology for wind onshore" -$IFTHEN.WindOff %cm_wind_offshore% == "1" + storwindon "storage technology for wind onshore" storwindoff "storage technology for wind offshore" -$ENDIF.WindOff storcsp "storage technology for csp" / teLoc(all_te) "centralized technologies which require grid" / - wind "wind power converters" spv "solar photovoltaic" csp "concentrating solar power" -$IFTHEN.WindOff %cm_wind_offshore% == "1" + wind "wind power converters" + windon "wind onshore power converters" windoff "wind offshore power converters" -$ENDIF.WindOff / teGrid(all_te) "grid between areas" / gridspv "grid between areas with high pv production and the rest" gridcsp "grid between areas with high csp production and the rest" gridwind "grid between areas with high wind onshore production and the rest" -$IFTHEN.WindOff %cm_wind_offshore% == "1" + gridwindon "grid between areas with high wind onshore production and the rest" gridwindoff "grid between areas with high wind offshore production and the rest" -$ENDIF.WindOff / teFosCCS(all_te) "fossil technologies with CCS" / @@ -1528,17 +1515,15 @@ teNoTransform(all_te) "all technologies that do not transform energy but still h / storspv "storage technology for photo voltaic (PV)" storwind "storage technology for wind onshore" -$IFTHEN.WindOff %cm_wind_offshore% == "1" + storwindon "storage technology for wind onshore" storwindoff "storage technology for wind offshore" -$ENDIF.WindOff storcsp "storage technology for concentrating solar power (CSP)" gridspv "grid between areas with high pv production and the rest" gridcsp "grid between areas with high csp production and the rest" gridwind "grid between areas with high wind onshore production and the rest" -$IFTHEN.WindOff %cm_wind_offshore% == "1" + gridwindon "grid between areas with high wind onshore production and the rest" gridwindoff "grid between areas with high wind offshore production and the rest" -$ENDIF.WindOff / teRegTechCosts(all_te) "all technologies for which we differantiate tech costs" / @@ -2419,9 +2404,8 @@ pe2se(all_enty,all_enty,all_te) "map primary energy carriers to secondary" pegeo.sehe.geohe pehyd.seel.hydro pewin.seel.wind -$IFTHEN.WindOff %cm_wind_offshore% == "1" + pewin.seel.windon pewin.seel.windoff -$ENDIF.WindOff pesol.seel.spv pesol.seel.csp pesol.sehe.solhe @@ -2460,9 +2444,8 @@ VRE2teStor(all_te,teStor) "mapping to know which technology uses which storage / spv.storspv wind.storwind -$IFTHEN.WindOff %cm_wind_offshore% == "1" + windon.storwindon windoff.storwindoff -$ENDIF.WindOff csp.storcsp / @@ -2477,9 +2460,8 @@ VRE2teGrid(all_te,teGrid) "mapping to know which technology needs w / spv.gridspv wind.gridwind -$IFTHEN.WindOff %cm_wind_offshore% == "1" + windon.gridwindon windoff.gridwindoff -$ENDIF.WindOff csp.gridcsp / @@ -2487,10 +2469,10 @@ te2teLoclinked(teLoc,teLoc2) "mapping between the technologies requiring grids / spv.csp csp.spv -$IFTHEN.WindOff %cm_wind_offshore% == "1" windoff.wind wind.windoff -$ENDIF.WindOff + windoff.windon + windon.windoff / se2se(all_enty,all_enty,all_te) "map secondary energy to secondary energy using a technology" @@ -2805,11 +2787,7 @@ prodSeOth2te(all_enty,all_te) "map other se production not directly followi teSe2rlf(all_te,rlf) "mapping for techologies to grades. Currently, the information was shifted to teRe2rlfDetail. Thus, teSe2rlf now only has '1' for the rlf values" / - (wind -$IFTHEN.WindOff %cm_wind_offshore% == "1" - windoff -$ENDIF.WindOff - spv,csp,refliq,hydro,geohe,geohdr,solhe,ngcc,ngccc,ngt,gaschp,gashp,gash2,gash2c,gastr,gasftrec,gasftcrec,dot, + (wind,windon,windoff,spv,csp,refliq,hydro,geohe,geohdr,solhe,ngcc,ngccc,ngt,gaschp,gashp,gash2,gash2c,gastr,gasftrec,gasftcrec,dot, igcc,igccc,pc,coaltr,coalgas,coalh2,coalh2c,coalchp,coalhp,coalftrec,coalftcrec, biotr,biotrmod,biogas,biogasc,bioftrec,bioftcrec,bioh2,bioh2c,biohp,biochp,bioigcc,bioigccc, elh2,h2turb,elh2VRE,h2turbVRE,bioethl,bioeths,biodiesel,tnrs,fnrs @@ -2819,9 +2797,8 @@ $ENDIF.WindOff teRe2rlfDetail(all_te,rlf) "mapping for se techologies to grades" / wind.(1*9) -$IFTHEN.WindOff %cm_wind_offshore% == "1" + windon.(1*9) windoff.(1*9) -$ENDIF.WindOff spv.(1*9) csp.(1*9) hydro.(1*5) @@ -2853,11 +2830,7 @@ teCCS2rlf(all_te,rlf) "mapping for CCS technologies to grades" teNoTransform2rlf(all_te,rlf) "mapping for no transformation technologies to grades" / - (storspv,storwind -$IFTHEN.WindOff %cm_wind_offshore% == "1" -storwindoff,gridwindoff -$ENDIF.WindOff - storcsp,gridspv,gridwind,gridcsp,h2curt) . 1 + (storspv,storcsp,storwind,storwindon,storwindoff,gridwind,gridwindon,gridwindoff,gridspv,gridcsp,h2curt) . 1 / diff --git a/main.gms b/main.gms index 4294f8f27..8c47ce586 100755 --- a/main.gms +++ b/main.gms @@ -1686,6 +1686,18 @@ $setGlobal cm_FEtax_trajectory_rel off !! def = off *** For example: "DEU -0.2, EU27_regi -0.4". $setGLobal c_agricult_base_shift off !! def off *** wind offshore switch +*** windoffshore-todo +*** x get rid of cm_wind_offshore conditions +*** x search "wind" and replace all references by "windon" +*** x same with storwind, gridwind +*** x generisdata_nur_ren need to be updated +*** - merge pm_histCap_windoff.cs3r into pm_histCap, same with p_histCapFac_windoff +*** - search for $include to check which mrremind files need modification +*** - update mrremind to give windon instead of wind: f_cf.cs3r, f40_NDC+REN21+CHN_NUC.cs3r +*** - remove wind in all_te set +*** - check vm_capFac pm_cf.*win +*** - *CG* set wind offshore, storage and grid to be the same as wind onshore (later should be integrated into input data) main difference between onshore and offshore is the difference in f32_factorStorage +*** - *** cm_wind_offshore 1, wind energy is represented by "wind" and "windoff", where "wind" means wind onshore. Later this will be the default and the name "wind" will be made to change to windon *** cm_wind_offshore 0, means wind energy is only represented by "wind", which is a mixture of both wind onshore and wind offshore $setglobal cm_wind_offshore 1 !! def = 1 diff --git a/modules/04_PE_FE_parameters/iea2014/datainput.gms b/modules/04_PE_FE_parameters/iea2014/datainput.gms index 7cd7f08ea..b5eeeceac 100644 --- a/modules/04_PE_FE_parameters/iea2014/datainput.gms +++ b/modules/04_PE_FE_parameters/iea2014/datainput.gms @@ -28,10 +28,9 @@ if (smin((t,regi,pe2se(entyPe,entySe,te)), f04_IO_input(t,regi,entyPe,entySe,te) *' overwrite negative values with 0 to allow the model to solve. In the mid-term, the input data/mapping needs to be improved to prevent negative values f04_IO_input(tall,regi,entyPe,entySe,te)$(f04_IO_input(tall,regi,entyPe,entySe,te) lt 0) = 0; +*** windoffshore-todo *CG* setting historical production from wind offshore to 0 (due to the scarcity of offshore wind before 2015) -$IFTHEN.WindOff %cm_wind_offshore% == "1" f04_IO_input(tall,all_regi,"pewin","seel","windoff") = 0; -$ENDIF.WindOff parameter f04_IO_output(tall,all_regi,all_enty,all_enty,all_te) "Energy output based on IEA data" / @@ -245,12 +244,10 @@ loop(regi, ); ); +***------------------ allocate own power consumption to electricity technologies ----------------------------- *RP 2019-02-19: This is now changed starting from rev 8352. Power plant output is from now on gross production instead of net, and power plant autoconsumption is shifted to t&d losses *RP This was done to facilitate comparison with other sources which usually report gross electricity generation as well as gross capacity factors -***------------------ allocate own power consumption to electricity technologies ----------------------------- -***p04_IO_output(regi,enty,enty2,te)$(sameas(enty2,"seel") AND (NOT sameas(te,"wind")) AND (NOT sameas(te,"spv")) ) = p04_IO_output(regi,enty,enty2,te) -*** - ( p04_IO_output(regi,enty,enty2,te) / sum(pe2se(enty3,enty2,te2)$((NOT sameas(te2,"wind")) AND (NOT sameas(te2,"spv"))), p04_IO_output(regi,enty3,enty2,te2)) ) -*** * f04_IO_output("2005",regi,"seel","feel","o_feel"); + display pm_IO_input, p04_IO_output; *** ---------------------------------------------------------------------------------------------------------- diff --git a/modules/32_power/DTcoup/datainput.gms b/modules/32_power/DTcoup/datainput.gms index 0afd3e4a0..7b42c12d7 100644 --- a/modules/32_power/DTcoup/datainput.gms +++ b/modules/32_power/DTcoup/datainput.gms @@ -38,10 +38,12 @@ $include "./modules/32_power/IntC/input/f32_factorStorage.cs4r" $offdelim / ; -$IFTHEN.WindOff %cm_wind_offshore% == "1" -f32_factorStorage(all_regi,"windoff") = f32_factorStorage(all_regi,"wind"); -f32_factorStorage(all_regi,"wind") = 1.35 * f32_factorStorage(all_regi,"wind"); -$ENDIF.WindOff + +*** windoffshore-todo +f32_factorStorage(all_regi,"windon") $ (f32_factorStorage(all_regi,"windon") eq 0) = f32_factorStorage(all_regi,"wind"); +f32_factorStorage(all_regi,"windoff") = f32_factorStorage(all_regi,"windon"); +f32_factorStorage(all_regi,"windon") = 1.35 * f32_factorStorage(all_regi,"windon"); + p32_factorStorage(all_regi,all_te) = f32_factorStorage(all_regi,all_te); $if not "%cm_storageFactor%" == "off" p32_factorStorage(all_regi,all_te)=%cm_storageFactor%*p32_factorStorage(all_regi,all_te); @@ -49,26 +51,20 @@ $if not "%cm_storageFactor%" == "off" p32_factorStorage(all_regi,all_te)=%cm_sto ***parameter p32_storexp(all_regi,all_te) - exponent that determines how curtailment and storage requirements per kW increase with market share of wind and solar. 1 means specific marginal costs increase linearly p32_storexp(regi,"spv") = 1; p32_storexp(regi,"csp") = 1; -p32_storexp(regi,"wind") = 1; -$IFTHEN.WindOff %cm_wind_offshore% == "1" -p32_storexp(regi,"windoff") = 1; -$ENDIF.WindOff +p32_storexp(regi,"windon") = 1; +p32_storexp(regi,"windoff") = 1; ***parameter p32_gridexp(all_regi,all_te) - exponent that determines how grid requirement per kW increases with market share of wind and solar. 1 means specific marginal costs increase linearly p32_gridexp(regi,"spv") = 1; p32_gridexp(regi,"csp") = 1; -p32_gridexp(regi,"wind") = 1; +p32_gridexp(regi,"windon") = 1; table f32_storageCap(char, all_te) "multiplicative factor between dummy seel<-->h2 technologies and storXXX technologies" $include "./modules/32_power/IntC/input/f32_storageCap.prn" ; -$IFTHEN.WindOff %cm_wind_offshore% == "1" -f32_storageCap(char,"windoff") = f32_storageCap(char,"wind"); -$ENDIF.WindOff - p32_storageCap(te,char) = f32_storageCap(char,te); display p32_storageCap; diff --git a/modules/32_power/DTcoup/equations.gms b/modules/32_power/DTcoup/equations.gms index fcaa37f62..c670d9ebf 100644 --- a/modules/32_power/DTcoup/equations.gms +++ b/modules/32_power/DTcoup/equations.gms @@ -101,16 +101,14 @@ q32_limitCapTeChp(t,regi).. ***--------------------------------------------------------------------------- *' Calculation of necessary grid installations for centralized renewables: ***--------------------------------------------------------------------------- -q32_limitCapTeGrid(t,regi)$( t.val ge 2015 ) .. - vm_cap(t,regi,"gridwind",'1') !! Technology is now parameterized to yield marginal costs of ~3.5$/MWh VRE electricity - / p32_grid_factor(regi) !! It is assumed that large regions require higher grid investment +q32_limitCapTeGrid(t,regi)$( t.val ge 2020 ) .. + vm_cap(t,regi,"gridwindon",'1') !! Technology is now parameterized to yield marginal costs of ~3.5$/MWh VRE electricity + / p32_grid_factor(regi) !! It is assumed that large regions require higher grid investment =g= vm_prodSe(t,regi,"pesol","seel","spv") + vm_prodSe(t,regi,"pesol","seel","csp") - + 1.5 * vm_prodSe(t,regi,"pewin","seel","wind") !! wind has larger variations accross space, so adding grid is more important for wind (result of REMIX runs for ADVANCE project) -$IFTHEN.WindOff %cm_wind_offshore% == "1" - + 3 * vm_prodSe(t,regi,"pewin","seel","windoff") -$ENDIF.WindOff + + 1.5 * vm_prodSe(t,regi,"pewin","seel","windon") !! wind has larger variations accross space, so adding grid is more important for wind (result of REMIX runs for ADVANCE project) + + 3 * vm_prodSe(t,regi,"pewin","seel","windoff") !! Getting offshore wind connected has even higher grid costs ; ***--------------------------------------------------------------------------- diff --git a/modules/32_power/IntC/datainput.gms b/modules/32_power/IntC/datainput.gms index 93edca674..421200aa9 100644 --- a/modules/32_power/IntC/datainput.gms +++ b/modules/32_power/IntC/datainput.gms @@ -39,10 +39,11 @@ $offdelim / ; -$IFTHEN.WindOff %cm_wind_offshore% == "1" -f32_factorStorage(all_regi,"windoff") = f32_factorStorage(all_regi,"wind"); -f32_factorStorage(all_regi,"wind") = 1.35 * f32_factorStorage(all_regi,"wind"); -$ENDIF.WindOff +*** windoffshore-todo +f32_factorStorage(all_regi,"windon") $ (f32_factorStorage(all_regi,"windon") eq 0) = f32_factorStorage(all_regi,"wind"); +f32_factorStorage(all_regi,"windoff") = f32_factorStorage(all_regi,"windon"); +f32_factorStorage(all_regi,"windon") = 1.35 * f32_factorStorage(all_regi,"windon"); + p32_factorStorage(all_regi,all_te) = f32_factorStorage(all_regi,all_te); $if not "%cm_storageFactor%" == "off" p32_factorStorage(all_regi,all_te)=%cm_storageFactor%*p32_factorStorage(all_regi,all_te); @@ -50,26 +51,20 @@ $if not "%cm_storageFactor%" == "off" p32_factorStorage(all_regi,all_te)=%cm_sto ***parameter p32_storexp(all_regi,all_te) - exponent that determines how curtailment and storage requirements per kW increase with market share of wind and solar. 1 means specific marginal costs increase linearly p32_storexp(regi,"spv") = 1; p32_storexp(regi,"csp") = 1; -p32_storexp(regi,"wind") = 1; -$IFTHEN.WindOff %cm_wind_offshore% == "1" -p32_storexp(regi,"windoff") = 1; -$ENDIF.WindOff +p32_storexp(regi,"windon") = 1; +p32_storexp(regi,"windoff") = 1; ***parameter p32_gridexp(all_regi,all_te) - exponent that determines how grid requirement per kW increases with market share of wind and solar. 1 means specific marginal costs increase linearly p32_gridexp(regi,"spv") = 1; p32_gridexp(regi,"csp") = 1; -p32_gridexp(regi,"wind") = 1; +p32_gridexp(regi,"windon") = 1; table f32_storageCap(char, all_te) "multiplicative factor between dummy seel<-->h2 technologies and storXXX technologies" $include "./modules/32_power/IntC/input/f32_storageCap.prn" ; -$IFTHEN.WindOff %cm_wind_offshore% == "1" -f32_storageCap(char,"windoff") = f32_storageCap(char,"wind"); -$ENDIF.WindOff - p32_storageCap(te,char) = f32_storageCap(char,te); display p32_storageCap; diff --git a/modules/32_power/IntC/equations.gms b/modules/32_power/IntC/equations.gms index f6c4bf72e..7578aea1b 100644 --- a/modules/32_power/IntC/equations.gms +++ b/modules/32_power/IntC/equations.gms @@ -112,15 +112,13 @@ q32_limitCapTeChp(t,regi).. ***--------------------------------------------------------------------------- *' Additional grid expansion to integrate VRE are driven linearly by VRE output q32_limitCapTeGrid(t,regi)$( t.val ge 2020 ) .. - vm_cap(t,regi,"gridwind",'1') !! Technology is now parameterized to yield marginal costs of ~3.5$/MWh VRE electricity + vm_cap(t,regi,"gridwindon",'1') !! Technology is now parameterized to yield marginal costs of ~3.5$/MWh VRE electricity / p32_grid_factor(regi) !! It is assumed that large regions require higher grid investment =g= vm_prodSe(t,regi,"pesol","seel","spv") + vm_prodSe(t,regi,"pesol","seel","csp") - + 1.5 * vm_prodSe(t,regi,"pewin","seel","wind") !! wind has larger variations accross space, so adding grid is more important for wind (result of REMIX runs for ADVANCE project) -$IFTHEN.WindOff %cm_wind_offshore% == "1" - + 3 * vm_prodSe(t,regi,"pewin","seel","windoff") !! Getting offshore wind connected has even higher grid costs -$ENDIF.WindOff + + 1.5 * vm_prodSe(t,regi,"pewin","seel","windon") !! wind has larger variations accross space, so adding grid is more important for wind (result of REMIX runs for ADVANCE project) + + 3 * vm_prodSe(t,regi,"pewin","seel","windoff") !! Getting offshore wind connected has even higher grid costs ; ***--------------------------------------------------------------------------- @@ -180,7 +178,7 @@ q32_TotVREshare(t,regi).. ) ; -*' Calculate additional integration costs if total VRE share is above a certain threshold. (A system with only 40% VRE will be less challenged to handle 30% PV than +*' Calculate additional integration costs if total VRE share is above a certain threshold. A system with only 40% VRE will be less challenged to handle 30% PV than *' a system with 70% VRE, because you have less thermal plants that can act as backup and provide inertia. This threshold increases over time to represent that *' network operators learn about managing high-VRE systems, and that technologies such as grid-stabilizing VRE and batteries become widespread. q32_shAddIntCostTotVRE(t,regi).. @@ -188,9 +186,7 @@ q32_shAddIntCostTotVRE(t,regi).. =g= v32_TotVREshare(t,regi) - p32_shThresholdTotVREAddIntCost(t) -$IFTHEN.WindOff %cm_wind_offshore% == "1" - 0.5 * vm_shSeEl(t,regi,"windoff") !! for offshore wind, the correlation with other VRE is much smaller, reducing the additional integration challenge -$ENDIF.WindOff ; ***--------------------------------------------------------------------------- diff --git a/modules/32_power/IntC/input/f32_storageCap.prn b/modules/32_power/IntC/input/f32_storageCap.prn index a8383c57c..de254ca04 100644 --- a/modules/32_power/IntC/input/f32_storageCap.prn +++ b/modules/32_power/IntC/input/f32_storageCap.prn @@ -1,7 +1,7 @@ *** SOF ./modules/32_power/IntC/input/storageCap.prn - storspv storwind storcsp -elh2VREcapratio 0.16 0.12 0.12 -h2turbVREcapratio 0.6 0.45 0.45 -batteryVREcapRatio 3 1.1 0 + storspv storcsp storwindon storwindoff +elh2VREcapratio 0.16 0.12 0.12 0.12 +h2turbVREcapratio 0.6 0.45 0.45 0.45 +batteryVREcapRatio 3 0 1.1 1.1 *** EOF ./modules/32_power/IntC/input/storageCap.prn diff --git a/modules/32_power/RLDC/bounds.gms b/modules/32_power/RLDC/bounds.gms index 1babb500d..6ba1f576e 100644 --- a/modules/32_power/RLDC/bounds.gms +++ b/modules/32_power/RLDC/bounds.gms @@ -12,12 +12,12 @@ vm_usableSe.lo(t,regi,"seel") = 1e-6; -v32_capLoB.up(t,regi,te,LoB) = 2; !! The total power system has maximum demand of 1 -v32_LoBheight.up(t,regi,LoB) = 2; !! The total power system has maximum demand of 1 -v32_LoBheightCum.up(t,regi,LoB) = 2; !! The total power system has maximum demand of 1.5 (should be one, but the reforming of the baseload band leads to +v32_capLoB.up(t,regi,te,LoB) = 2; !! The total power system has maximum demand of 1 +v32_LoBheight.up(t,regi,LoB) = 2; !! The total power system has maximum demand of 1 +v32_LoBheightCum.up(t,regi,LoB) = 2; !! The total power system has maximum demand of 1.5 (should be one, but the reforming of the baseload band leads to v32_shTh.up(t,regi,teVRE) = 2; !! Worlds with higher than twice the total energy demand coming from either wind or solar (before curtailment) are unrealistic -v32_scaleCap.up(t,regi) = 100; !! no power system will be larger than 100 TW +v32_scaleCap.up(t,regi) = 100; !! no power system will be larger than 100 TW v32_scaleCap.up(t,regi) = 20; v32_scaleCap.lo(t,regi) = 1e-4; !! Make sure REMIND does not try to shrink a power system to zero v32_scaleCap.lo(t,regi) = 0.01; @@ -120,8 +120,8 @@ v32_LoBheightCum.lo("2010",regi,"2") = 0.48; v32_LoBheightCum.lo("2010",regi,"3") = 0.38; v32_LoBheightCum.lo("2010",regi,"4") = 0.26; -v32_shTh.lo(t,regi,"spv")$(t.val > 2020) = 0.01; -v32_shTh.lo(t,regi,"wind")$(t.val > 2020) = 0.01; +v32_shTh.lo(t,regi,"spv")$(t.val > 2020) = 0.01; +v32_shTh.lo(t,regi,"windon")$(t.val > 2020) = 0.01; v32_curt.up(t,regi) = 100; $if %cm_Full_Integration% == "on" v32_curt.fx(t,regi) = 0; @@ -146,9 +146,9 @@ v32_capLoB.fx(t,regi,"tnrs","3")$(t.val > 2010) = 0; *** facilitiate finding sulutions in the ADVANCE Full_Integration run $if %cm_Full_Integration% == "on" v32_capLoB.lo(t,regi,"spv",LoB)$(t.val > 2030) = 1e-6; -$if %cm_Full_Integration% == "on" v32_capLoB.lo(t,regi,"wind",LoB)$(t.val > 2030) = 1e-6; +$if %cm_Full_Integration% == "on" v32_capLoB.lo(t,regi,"windon",LoB)$(t.val > 2030) = 1e-6; $if %cm_Full_Integration% == "on" vm_cap.lo(t,regi,"spv",LoB)$(t.val > 2030) = 1e-3; -$if %cm_Full_Integration% == "on" vm_cap.lo(t,regi,"wind",LoB)$(t.val > 2030) = 1e-3; +$if %cm_Full_Integration% == "on" vm_cap.lo(t,regi,"windon",LoB)$(t.val > 2030) = 1e-3; ***No slow ramping technologies as peaking plants v32_capLoB.fx(t,regi,te,"1")$teNotLoB1(te) = 0; @@ -171,10 +171,8 @@ $if %cm_Full_Integration% == "on" vm_prodSeOth.fx(t,regi,"seh2","h2curt") = 0 vm_cap.fx(t,regi,"gridspv","1")$(t.val > 2070) = 0; vm_cap.fx(t,regi,"gridcsp","1")$(t.val > 2070) = 0; vm_cap.fx(t,regi,"storcsp","1")$(t.val > 2070) = 0; -vm_cap.fx(t,regi,"storwind","1")$(t.val > 2070) = 0; -$IFTHEN.WindOff %cm_wind_offshore% == "1" +vm_cap.fx(t,regi,"storwindon","1")$(t.val > 2070) = 0; vm_cap.fx(t,regi,"storwindoff","1")$(t.val > 2070) = 0; -$ENDIF.WindOff $if %cm_Full_Integration% == "on" vm_cap.fx(t,regi,"storspv","1") = 0; $if %cm_Full_Integration% == "on" vm_deltaCap.fx(t,regi,"storspv","1") = 0; diff --git a/modules/32_power/RLDC/equations.gms b/modules/32_power/RLDC/equations.gms index 428c83760..f047e8de4 100644 --- a/modules/32_power/RLDC/equations.gms +++ b/modules/32_power/RLDC/equations.gms @@ -85,21 +85,22 @@ q32_curt(t,regi).. + v32_overProdCF(t,regi,"csp") * vm_cap(t,regi,"csp","1") !! add the unused CSP production that is not reflected in seprod ; +*** windoffshore-todo: should it be windon+windoff? q32_curtFit(t,regi).. !! calculate curtailment as fitted from the DIMES-Results v32_curtFit(t,regi) !! v32_curtFit can go below 0 =e= p32_curtOn(regi) * ( p32_RLDCcoeff(regi,"p00","curtShVRE") - + p32_RLDCcoeff(regi,"p10","curtShVRE") * v32_shTh(t,regi,"wind")$teVRE("wind") - + p32_RLDCcoeff(regi,"p01","curtShVRE") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) - + p32_RLDCcoeff(regi,"p20","curtShVRE") * v32_shTh(t,regi,"wind")$teVRE("wind") ** 2 - + p32_RLDCcoeff(regi,"p11","curtShVRE") * v32_shTh(t,regi,"wind")$teVRE("wind") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) - + p32_RLDCcoeff(regi,"p02","curtShVRE") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 2 - + p32_RLDCcoeff(regi,"p30","curtShVRE") * v32_shTh(t,regi,"wind")$teVRE("wind") ** 3 - + p32_RLDCcoeff(regi,"p21","curtShVRE") * v32_shTh(t,regi,"wind")$teVRE("wind") ** 2 * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) - + p32_RLDCcoeff(regi,"p12","curtShVRE") * v32_shTh(t,regi,"wind")$teVRE("wind") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 2 - + p32_RLDCcoeff(regi,"p03","curtShVRE") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 3 + + p32_RLDCcoeff(regi,"p10","curtShVRE") * v32_shTh(t,regi,"windon")$teVRE("windon") + + p32_RLDCcoeff(regi,"p01","curtShVRE") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) + + p32_RLDCcoeff(regi,"p20","curtShVRE") * v32_shTh(t,regi,"windon")$teVRE("windon") ** 2 + + p32_RLDCcoeff(regi,"p11","curtShVRE") * v32_shTh(t,regi,"windon")$teVRE("windon") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) + + p32_RLDCcoeff(regi,"p02","curtShVRE") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 2 + + p32_RLDCcoeff(regi,"p30","curtShVRE") * v32_shTh(t,regi,"windon")$teVRE("windon") ** 3 + + p32_RLDCcoeff(regi,"p21","curtShVRE") * v32_shTh(t,regi,"windon")$teVRE("windon") ** 2 * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) + + p32_RLDCcoeff(regi,"p12","curtShVRE") * v32_shTh(t,regi,"windon")$teVRE("windon") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 2 + + p32_RLDCcoeff(regi,"p03","curtShVRE") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 3 ) ; @@ -115,19 +116,20 @@ $if %cm_Full_Integration% == "on" + v32_FullIntegrationSlack(t,regi) ***--------------------------------------------------------------------------- *' Load Band ***--------------------------------------------------------------------------- +*** windoffshore-todo: should it be windon+windoff? q32_LoBheightCumExact(t,regi,LoB).. v32_LoBheightCumExact(t,regi,LoB) =e= p32_RLDCcoeff(regi,"p00",LoB) - + p32_RLDCcoeff(regi,"p10",LoB) * v32_shTh(t,regi,"wind")$teVRE("wind") - + p32_RLDCcoeff(regi,"p01",LoB) * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) - + p32_RLDCcoeff(regi,"p20",LoB) * v32_shTh(t,regi,"wind")$teVRE("wind") ** 2 - + p32_RLDCcoeff(regi,"p11",LoB) * v32_shTh(t,regi,"wind")$teVRE("wind") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) - + p32_RLDCcoeff(regi,"p02",LoB) * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 2 - + p32_RLDCcoeff(regi,"p30",LoB) * v32_shTh(t,regi,"wind")$teVRE("wind") ** 3 - + p32_RLDCcoeff(regi,"p21",LoB) * v32_shTh(t,regi,"wind")$teVRE("wind") ** 2 * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) - + p32_RLDCcoeff(regi,"p12",LoB) * v32_shTh(t,regi,"wind")$teVRE("wind") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 2 - + p32_RLDCcoeff(regi,"p03",LoB) * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 3 + + p32_RLDCcoeff(regi,"p10",LoB) * v32_shTh(t,regi,"windon")$teVRE("windon") + + p32_RLDCcoeff(regi,"p01",LoB) * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) + + p32_RLDCcoeff(regi,"p20",LoB) * v32_shTh(t,regi,"windon")$teVRE("windon") ** 2 + + p32_RLDCcoeff(regi,"p11",LoB) * v32_shTh(t,regi,"windon")$teVRE("windon") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) + + p32_RLDCcoeff(regi,"p02",LoB) * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 2 + + p32_RLDCcoeff(regi,"p30",LoB) * v32_shTh(t,regi,"windon")$teVRE("windon") ** 3 + + p32_RLDCcoeff(regi,"p21",LoB) * v32_shTh(t,regi,"windon")$teVRE("windon") ** 2 * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) + + p32_RLDCcoeff(regi,"p12",LoB) * v32_shTh(t,regi,"windon")$teVRE("windon") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 2 + + p32_RLDCcoeff(regi,"p03",LoB) * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 3 ; q32_LoBheightCumExactNEW(t,regi,LoB).. !! introduce slack so that v32_LoBheightCum stay > 0 @@ -178,21 +180,22 @@ q32_capFacTER(t,regi,te)$( teReNoBio(te) AND teRLDCDisp(te) AND t.val > 2000).. ***--------------------------------------------------------------------------- *' Short Term Storage Requirements (from RLDC Fit) ***--------------------------------------------------------------------------- +*** windoffshore-todo: should it be windon+windoff? q32_stor_pv(t,regi)$(t.val > 2010).. vm_cap(t,regi,"storspv","1") =g= v32_scaleCap(t,regi) * ( p32_RLDCcoeff(regi,"p00","STScost") - + p32_RLDCcoeff(regi,"p10","STScost") * v32_shTh(t,regi,"wind")$teVRE("wind") - + p32_RLDCcoeff(regi,"p01","STScost") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) - + p32_RLDCcoeff(regi,"p20","STScost") * v32_shTh(t,regi,"wind")$teVRE("wind") ** 2 - + p32_RLDCcoeff(regi,"p11","STScost") * v32_shTh(t,regi,"wind")$teVRE("wind") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) - + p32_RLDCcoeff(regi,"p02","STScost") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 2 - + p32_RLDCcoeff(regi,"p30","STScost") * v32_shTh(t,regi,"wind")$teVRE("wind") ** 3 - + p32_RLDCcoeff(regi,"p21","STScost") * v32_shTh(t,regi,"wind")$teVRE("wind") ** 2 * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) - + p32_RLDCcoeff(regi,"p12","STScost") * v32_shTh(t,regi,"wind")$teVRE("wind") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 2 - + p32_RLDCcoeff(regi,"p03","STScost") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 3 + + p32_RLDCcoeff(regi,"p10","STScost") * v32_shTh(t,regi,"windon")$teVRE("windon") + + p32_RLDCcoeff(regi,"p01","STScost") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) + + p32_RLDCcoeff(regi,"p20","STScost") * v32_shTh(t,regi,"windon")$teVRE("windon") ** 2 + + p32_RLDCcoeff(regi,"p11","STScost") * v32_shTh(t,regi,"windon")$teVRE("windon") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) + + p32_RLDCcoeff(regi,"p02","STScost") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 2 + + p32_RLDCcoeff(regi,"p30","STScost") * v32_shTh(t,regi,"windon")$teVRE("windon") ** 3 + + p32_RLDCcoeff(regi,"p21","STScost") * v32_shTh(t,regi,"windon")$teVRE("windon") ** 2 * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) + + p32_RLDCcoeff(regi,"p12","STScost") * v32_shTh(t,regi,"windon")$teVRE("windon") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 2 + + p32_RLDCcoeff(regi,"p03","STScost") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 3 ) ; @@ -200,19 +203,20 @@ q32_stor_pv(t,regi)$(t.val > 2010).. *' Peak capacity equations ***--------------------------------------------------------------------------- +*** windoffshore-todo: should it be windon+windoff? q32_peakCap(t,regi).. v32_peakCap(t,regi) =e= p32_RLDCcoeff(regi,"p00","peak") - + p32_RLDCcoeff(regi,"p10","peak") * v32_shTh(t,regi,"wind")$teVRE("wind") - + p32_RLDCcoeff(regi,"p01","peak") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) - + p32_RLDCcoeff(regi,"p20","peak") * v32_shTh(t,regi,"wind")$teVRE("wind") ** 2 - + p32_RLDCcoeff(regi,"p11","peak") * v32_shTh(t,regi,"wind")$teVRE("wind") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) - + p32_RLDCcoeff(regi,"p02","peak") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 2 - + p32_RLDCcoeff(regi,"p30","peak") * v32_shTh(t,regi,"wind")$teVRE("wind") ** 3 - + p32_RLDCcoeff(regi,"p21","peak") * v32_shTh(t,regi,"wind")$teVRE("wind") ** 2 * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) - + p32_RLDCcoeff(regi,"p12","peak") * v32_shTh(t,regi,"wind")$teVRE("wind") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 2 - + p32_RLDCcoeff(regi,"p03","peak") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 3 + + p32_RLDCcoeff(regi,"p10","peak") * v32_shTh(t,regi,"windon")$teVRE("windon") + + p32_RLDCcoeff(regi,"p01","peak") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) + + p32_RLDCcoeff(regi,"p20","peak") * v32_shTh(t,regi,"windon")$teVRE("windon") ** 2 + + p32_RLDCcoeff(regi,"p11","peak") * v32_shTh(t,regi,"windon")$teVRE("windon") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) + + p32_RLDCcoeff(regi,"p02","peak") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 2 + + p32_RLDCcoeff(regi,"p30","peak") * v32_shTh(t,regi,"windon")$teVRE("windon") ** 3 + + p32_RLDCcoeff(regi,"p21","peak") * v32_shTh(t,regi,"windon")$teVRE("windon") ** 2 * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) + + p32_RLDCcoeff(regi,"p12","peak") * v32_shTh(t,regi,"windon")$teVRE("windon") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 2 + + p32_RLDCcoeff(regi,"p03","peak") * ( v32_shTh(t,regi,"spv")$teVRE("spv") + v32_shTh(t,regi,"csp")$teVRE("csp") ) ** 3 ; q32_capAdeq(t,regi)$(t.val > 2005).. @@ -317,16 +321,14 @@ q32_limitCapTeChp(t,regi).. ***--------------------------------------------------------------------------- *' Calculation of necessary grid installations for centralized renewables: ***--------------------------------------------------------------------------- -q32_limitCapTeGrid(t,regi)$( t.val ge 2015 ) .. - vm_cap(t,regi,"gridwind",'1') !! Technology is now parameterized to yield marginal costs of ~3.5$/MWh VRE electricity - / p32_grid_factor(regi) !! It is assumed that large regions require higher grid investment +q32_limitCapTeGrid(t,regi)$( t.val ge 2020 ) .. + vm_cap(t,regi,"gridwindon",'1') !! Technology is now parameterized to yield marginal costs of ~3.5$/MWh VRE electricity + / p32_grid_factor(regi) !! It is assumed that large regions require higher grid investment =g= vm_prodSe(t,regi,"pesol","seel","spv") + vm_prodSe(t,regi,"pesol","seel","csp") - + 1.5 * vm_prodSe(t,regi,"pewin","seel","wind") !! wind has larger variations accross space, so adding grid is more important for wind (result of REMIX runs for ADVANCE project) -$IFTHEN.WindOff %cm_wind_offshore% == "1" - + 1.5 * vm_prodSe(t,regi,"pewin","seel","windoff") -$ENDIF.WindOff + + 1.5 * vm_prodSe(t,regi,"pewin","seel","windon") !! wind has larger variations accross space, so adding grid is more important for wind (result of REMIX runs for ADVANCE project) + + 3 * vm_prodSe(t,regi,"pewin","seel","windoff") !! Getting offshore wind connected has even higher grid costs ; ***--------------------------------------------------------------------------- diff --git a/modules/40_techpol/CombLowCandCoalPO/datainput.gms b/modules/40_techpol/CombLowCandCoalPO/datainput.gms index 1ce3c18b7..f7248eb30 100644 --- a/modules/40_techpol/CombLowCandCoalPO/datainput.gms +++ b/modules/40_techpol/CombLowCandCoalPO/datainput.gms @@ -9,16 +9,16 @@ *cb targets for renewable upscaling: CSP and SPV from plausible extrapolation of current trends, Wind taken from Optimal immediate policy run (slightly optimistic at beginning) p40_NewRenBound("2015","csp")=2.267; p40_NewRenBound("2015","spv")=180; -p40_NewRenBound("2015","wind")=506.022; +p40_NewRenBound("2015","windon")=506.022; p40_NewRenBound("2020","csp")=4.5; p40_NewRenBound("2020","spv")=400; -p40_NewRenBound("2020","wind")=826.341; +p40_NewRenBound("2020","windon")=826.341; p40_NewRenBound("2025","csp")=8.5; p40_NewRenBound("2025","spv")=610; -p40_NewRenBound("2025","wind")=1208.034; +p40_NewRenBound("2025","windon")=1208.034; p40_NewRenBound("2030","csp")=18.5; p40_NewRenBound("2030","spv")=900; -p40_NewRenBound("2030","wind")=1646.939; +p40_NewRenBound("2030","windon")=1646.939; *cb plausible, quite conservative upscaling (much lower than in optimal immediate) p40_NewRenBound("2020","bioftcrec")=2.4; diff --git a/modules/40_techpol/CombLowCandCoalPO/equations.gms b/modules/40_techpol/CombLowCandCoalPO/equations.gms index 0894f2c93..ef5f65e29 100644 --- a/modules/40_techpol/CombLowCandCoalPO/equations.gms +++ b/modules/40_techpol/CombLowCandCoalPO/equations.gms @@ -5,7 +5,7 @@ *** | REMIND License Exception, version 1.0 (see LICENSE file). *** | Contact: remind@pik-potsdam.de *** SOF ./modules/40_techpol/CombLowCandCoalPO/equations.gms -q40_NewRenBound(t,te)$(t.val gt 2010 AND t.val lt 2031 AND (sameas(te,"spv") OR sameas(te,"csp") OR sameas(te,"wind") OR sameas(te,"bioftcrec") OR sameas(te,"ngccc") )).. +q40_NewRenBound(t,te)$(t.val gt 2010 AND t.val lt 2031 AND (sameas(te,"spv") OR sameas(te,"csp") OR sameas(te,"windon") OR sameas(te,"bioftcrec") OR sameas(te,"ngccc") )).. *** attention: sum(regi will not work with Nash, therefore please reformulate with the usual iterative update mechanism sum(regi, sum(te2rlf(te,rlf), vm_cap(t,regi,te,rlf)) diff --git a/modules/40_techpol/NDC/datainput.gms b/modules/40_techpol/NDC/datainput.gms index 5a6bf2e66..088c443b5 100644 --- a/modules/40_techpol/NDC/datainput.gms +++ b/modules/40_techpol/NDC/datainput.gms @@ -15,6 +15,8 @@ $onlisting ; p40_TechBound(ttot,all_regi,all_te) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%",all_te); +*** windoffshore-todo +p40_TechBound(ttot,all_regi,"windon") $ (p40_TechBound(ttot,all_regi,"windon") eq 0) = p40_TechBound(ttot,all_regi,"wind") p40_ElecBioBound("2030",regi) = p40_TechBound("2030",regi,"bioigcc"); @@ -50,8 +52,8 @@ $offdelim p40_FE_RenShare(tall,regi) = f40_FE_RenShare(tall,regi); !! rescale unit from [million people] to [billion] people *** Chinese PE targets are defined with substitution accounting method -p40_noncombust_acc_eff(t,"CHN",te)$(sameas(te,"spv") OR sameas(te,"csp") OR sameas(te,"wind") OR sameas(te,"windoff") OR sameas(te,"tnrs") OR sameas(te,"spv") OR sameas(te,"geohdr") OR sameas(te,"hydro")) = 0.38; !! substitution accounting for low-carbon electricity generation at coal efficiency of 38% -p40_noncombust_acc_eff(t,"CHA",te)$(sameas(te,"spv") OR sameas(te,"csp") OR sameas(te,"wind") OR sameas(te,"windoff") OR sameas(te,"tnrs") OR sameas(te,"spv") OR sameas(te,"geohdr") OR sameas(te,"hydro")) = 0.38; !! substitution accounting for low-carbon electricity generation at coal efficiency of 38% +p40_noncombust_acc_eff(t,"CHN",te)$(sameas(te,"spv") OR sameas(te,"csp") OR sameas(te,"windon") OR sameas(te,"windoff") OR sameas(te,"tnrs") OR sameas(te,"spv") OR sameas(te,"geohdr") OR sameas(te,"hydro")) = 0.38; !! substitution accounting for low-carbon electricity generation at coal efficiency of 38% +p40_noncombust_acc_eff(t,"CHA",te)$(sameas(te,"spv") OR sameas(te,"csp") OR sameas(te,"windon") OR sameas(te,"windoff") OR sameas(te,"tnrs") OR sameas(te,"spv") OR sameas(te,"geohdr") OR sameas(te,"hydro")) = 0.38; !! substitution accounting for low-carbon electricity generation at coal efficiency of 38% *** lower bound on gas share in PE p40_PEgasBound("2020","CHN") = 0.08; p40_PEgasBound(t,"CHN")$(t.val gt 2020) = min(0.08 + (t.val -2020) * 0.004 ,0.1 - (t.val - 2030) * 0.005 ); !! rising to 10% in 2025 and 2030 and then declining to zero around 2050 diff --git a/modules/40_techpol/NDC/declarations.gms b/modules/40_techpol/NDC/declarations.gms index 0ebc425e8..3a5d4c2d9 100644 --- a/modules/40_techpol/NDC/declarations.gms +++ b/modules/40_techpol/NDC/declarations.gms @@ -24,7 +24,7 @@ Equation q40_FE_RenShare "Lower bound on renewable Equation q40_El_RenShare "Lower bound on low carbon share in electricity"; Equation q40_CoalBound "Restricting new coal power plants in regions with regulation"; Equation q40_ElCap_RenShare "Lower bound on low carbon share in total installed capacity"; -Equation q40_windBound "lower bound on combined wind onshore and offshore"; +Equation q40_windBound "lower bound on combined wind onshore and offshore"; *** EOF ./modules/40_techpol/NDC/declarations.gms diff --git a/modules/40_techpol/NDC/equations.gms b/modules/40_techpol/NDC/equations.gms index 301fa6cf4..ee2c48f90 100644 --- a/modules/40_techpol/NDC/equations.gms +++ b/modules/40_techpol/NDC/equations.gms @@ -8,15 +8,17 @@ *' @equations -q40_ElecBioBound(t,regi)$(t.val gt 2015).. + ***am minimum targets for certain technologies +q40_ElecBioBound(t,regi)$(t.val gt 2015).. sum(te2rlf(te,rlf)$(sameas(te,"biochp") OR sameas(te,"bioigcc") OR sameas(te,"bioigccc")), vm_cap(t,regi,te,rlf)) - * 1000 =g= p40_ElecBioBound(t,regi); + =g= p40_ElecBioBound(t,regi) * 0.001 +; +*** windoffshore-todo: separate onshore and offshore NDC targets q40_windBound(t,regi)$(t.val gt 2025).. -***making target apply to both wind onshore and offshore, when offshore switch is on -sum(teWind(te), vm_cap(t,regi,te,"1")) - =g= p40_TechBound(t,regi,"wind")*0.001 + sum(teWind(te)$(sameas(te,"windon") OR sameas(te,"windoff")), vm_cap(t,regi,te,"1")) + =g= p40_TechBound(t,regi,"windon") * 0.001 ; q40_PEgasBound(t,regi)$(t.val gt 2015 AND (sameas(regi,"CHN") OR sameas(regi,"CHA"))).. diff --git a/modules/40_techpol/NDCplus/datainput.gms b/modules/40_techpol/NDCplus/datainput.gms index a2bddd21d..1d52b3b90 100644 --- a/modules/40_techpol/NDCplus/datainput.gms +++ b/modules/40_techpol/NDCplus/datainput.gms @@ -15,6 +15,8 @@ $onlisting ; p40_TechBound(ttot,all_regi,all_te) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%",all_te); +*** windoffshore-todo +p40_TechBound(ttot,all_regi,"windon") $ (p40_TechBound(ttot,all_regi,"windon") eq 0) = p40_TechBound(ttot,all_regi,"wind") p40_ElecBioBound("2030",regi) = p40_TechBound("2030",regi,"bioigcc"); @@ -44,8 +46,8 @@ $offdelim p40_FE_RenShare(tall,regi) = f40_FE_RenShare(tall,regi); !! rescale unit from [million people] to [billion] people *** Chinese PE targets are defined with substitution accounting method -p40_noncombust_acc_eff(t,"CHN",te)$(sameas(te,"spv") OR sameas(te,"csp") OR sameas(te,"wind") OR sameas(te,"windoff") OR sameas(te,"tnrs") OR sameas(te,"spv") OR sameas(te,"geohdr") OR sameas(te,"hydro")) = 0.38; !! substitution accounting for low-carbon electricity generation at coal efficiency of 38% -p40_noncombust_acc_eff(t,"CHA",te)$(sameas(te,"spv") OR sameas(te,"csp") OR sameas(te,"wind") OR sameas(te,"windoff") OR sameas(te,"tnrs") OR sameas(te,"spv") OR sameas(te,"geohdr") OR sameas(te,"hydro")) = 0.38; !! substitution accounting for low-carbon electricity generation at coal efficiency of 38% +p40_noncombust_acc_eff(t,"CHN",te)$(sameas(te,"spv") OR sameas(te,"csp") OR sameas(te,"windon") OR sameas(te,"windoff") OR sameas(te,"tnrs") OR sameas(te,"spv") OR sameas(te,"geohdr") OR sameas(te,"hydro")) = 0.38; !! substitution accounting for low-carbon electricity generation at coal efficiency of 38% +p40_noncombust_acc_eff(t,"CHA",te)$(sameas(te,"spv") OR sameas(te,"csp") OR sameas(te,"windon") OR sameas(te,"windoff") OR sameas(te,"tnrs") OR sameas(te,"spv") OR sameas(te,"geohdr") OR sameas(te,"hydro")) = 0.38; !! substitution accounting for low-carbon electricity generation at coal efficiency of 38% *** lower bound on gas share in PE p40_PEgasBound("2020","CHN") = 0.08; p40_PEgasBound(t,"CHN")$(t.val gt 2020) = min(0.08 + (t.val -2020) * 0.004 ,0.1 - (t.val - 2030) * 0.005 ); !! rising to 10% in 2025 and 2030 and then declining to zero around 2050 diff --git a/modules/40_techpol/NDCplus/declarations.gms b/modules/40_techpol/NDCplus/declarations.gms index 08bedaec8..1bb65451f 100644 --- a/modules/40_techpol/NDCplus/declarations.gms +++ b/modules/40_techpol/NDCplus/declarations.gms @@ -24,7 +24,7 @@ Equation q40_FE_RenShare "Lower bound on renewable Equation q40_El_RenShare "Lower bound on low carbon share in electricity"; Equation q40_CoalBound "Restricting new coal power plants in regions with regulation"; Equation q40_ElCap_RenShare "Lower bound on low carbon share in total installed capacity"; -Equation q40_windBound "lower bound on combined wind onshore and offshore"; +Equation q40_windBound "lower bound on combined wind onshore and offshore"; *** EOF ./modules/40_techpol/NDCplus/declarations.gms diff --git a/modules/40_techpol/NDCplus/equations.gms b/modules/40_techpol/NDCplus/equations.gms index 46ade5806..99f4f4f83 100644 --- a/modules/40_techpol/NDCplus/equations.gms +++ b/modules/40_techpol/NDCplus/equations.gms @@ -8,15 +8,17 @@ *' @equations -q40_ElecBioBound(t,regi)$(t.val gt 2015).. + ***am minimum targets for certain technologies +q40_ElecBioBound(t,regi)$(t.val gt 2015).. sum(te2rlf(te,rlf)$(sameas(te,"biochp") OR sameas(te,"bioigcc") OR sameas(te,"bioigccc")), vm_cap(t,regi,te,rlf)) - * 1000 =g= p40_ElecBioBound(t,regi); + =g= p40_ElecBioBound(t,regi) * 0.001 +; +*** windoffshore-todo: separate onshore and offshore NDC targets q40_windBound(t,regi)$(t.val gt 2025).. -***making target apply to both wind onshore and offshore, when offshore switch is on -sum(teWind(te), vm_cap(t,regi,te,"1")) - =g= p40_TechBound(t,regi,"wind")*0.001 + sum(teWind(te)$(sameas(te,"windon") OR sameas(te,"windoff")), vm_cap(t,regi,te,"1")) + =g= p40_TechBound(t,regi,"windon") * 0.001 ; q40_PEgasBound(t,regi)$(t.val gt 2015 AND (sameas(regi,"CHN") OR sameas(regi,"CHA"))).. diff --git a/modules/40_techpol/NPi2018/datainput.gms b/modules/40_techpol/NPi2018/datainput.gms index 9243046f8..7345f47c7 100644 --- a/modules/40_techpol/NPi2018/datainput.gms +++ b/modules/40_techpol/NPi2018/datainput.gms @@ -15,6 +15,8 @@ $onlisting ; p40_TechBound(ttot,all_regi,all_te) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%",all_te); +*** windoffshore-todo +p40_TechBound(ttot,all_regi,"windon") $ (p40_TechBound(ttot,all_regi,"windon") eq 0) = p40_TechBound(ttot,all_regi,"wind") p40_ElecBioBound("2030",regi) = p40_TechBound("2030",regi,"bioigcc"); @@ -28,15 +30,15 @@ if (cm_phaseoutBiolc eq 1, *** otherwise, they are not considered in the model *** to add further targets, include both the respective parameter value below, and extend the equation domain in equations.gms p40_noncombust_acc_eff(t,iso_regi,te) = 1;!!general efficiency 100% -p40_PEgasBound(t,iso_regi) = 0; -p40_PElowcarbonBound(t,iso_regi) = 0; -p40_El_RenShare(t,iso_regi) = 0; -p40_CoalBound(t,iso_regi) = 0; -p40_FE_RenShare(t,iso_regi) = 0; +p40_PEgasBound(t,iso_regi) = 0; +p40_PElowcarbonBound(t,iso_regi) = 0; +p40_El_RenShare(t,iso_regi) = 0; +p40_CoalBound(t,iso_regi) = 0; +p40_FE_RenShare(t,iso_regi) = 0; *** Chinese PE targets are defined with substitution accounting method -p40_noncombust_acc_eff(t,"CHN",te)$(sameas(te,"spv") OR sameas(te,"csp") OR sameas(te,"wind") OR sameas(te,"windoff") OR sameas(te,"tnrs") OR sameas(te,"spv") OR sameas(te,"geohdr") OR sameas(te,"hydro")) = 0.38; !! substitution accounting for low-carbon electricity generation at coal efficiency of 38% -p40_noncombust_acc_eff(t,"CHA",te)$(sameas(te,"spv") OR sameas(te,"csp") OR sameas(te,"wind") OR sameas(te,"windoff") OR sameas(te,"tnrs") OR sameas(te,"spv") OR sameas(te,"geohdr") OR sameas(te,"hydro")) = 0.38; !! substitution accounting for low-carbon electricity generation at coal efficiency of 38% +p40_noncombust_acc_eff(t,"CHN",te)$(sameas(te,"spv") OR sameas(te,"csp") OR sameas(te,"windon") OR sameas(te,"windoff") OR sameas(te,"tnrs") OR sameas(te,"spv") OR sameas(te,"geohdr") OR sameas(te,"hydro")) = 0.38; !! substitution accounting for low-carbon electricity generation at coal efficiency of 38% +p40_noncombust_acc_eff(t,"CHA",te)$(sameas(te,"spv") OR sameas(te,"csp") OR sameas(te,"windon") OR sameas(te,"windoff") OR sameas(te,"tnrs") OR sameas(te,"spv") OR sameas(te,"geohdr") OR sameas(te,"hydro")) = 0.38; !! substitution accounting for low-carbon electricity generation at coal efficiency of 38% *** lower bound on gas share in PE p40_PEgasBound("2020","CHN") = 0.08; p40_PEgasBound(t,"CHN")$(t.val gt 2020) = min(0.08 ,0.08 - (t.val - 2030) * 0.005 ); !! 8% until 2030 and then declining again diff --git a/modules/40_techpol/NPi2018/declarations.gms b/modules/40_techpol/NPi2018/declarations.gms index d32a0baf8..ca3011ec8 100644 --- a/modules/40_techpol/NPi2018/declarations.gms +++ b/modules/40_techpol/NPi2018/declarations.gms @@ -21,7 +21,7 @@ Equation q40_ElecBioBound "equation low-carbon push Equation q40_PEgasBound "Mandating minimum PE gas share"; Equation q40_PElowcarbonBound "Lower bound on low carbon share"; Equation q40_FE_RenShare "Lower bound on renewable share"; -Equation q40_windBound "lower bound on combined wind onshore and offshore"; +Equation q40_windBound "lower bound on combined wind onshore and offshore"; *** EOF ./modules/40_techpol/NPi2018/declarations.gms diff --git a/modules/40_techpol/NPi2018/equations.gms b/modules/40_techpol/NPi2018/equations.gms index 3c5110b89..2c4f1a93b 100644 --- a/modules/40_techpol/NPi2018/equations.gms +++ b/modules/40_techpol/NPi2018/equations.gms @@ -8,15 +8,17 @@ *' @equations -q40_ElecBioBound(t,regi)$(t.val gt 2015).. + ***am minimum targets for certain technologies +q40_ElecBioBound(t,regi)$(t.val gt 2015).. sum(te2rlf(te,rlf)$(sameas(te,"biochp") OR sameas(te,"bioigcc") OR sameas(te,"bioigccc")), vm_cap(t,regi,te,rlf)) - * 1000 =g= p40_ElecBioBound(t,regi); + =g= p40_ElecBioBound(t,regi) * 0.001 +; +*** windoffshore-todo: separate onshore and offshore NDC targets q40_windBound(t,regi)$(t.val gt 2025).. -***making target apply to both wind onshore and offshore, when offshore switch is on -sum(teWind(te), vm_cap(t,regi,te,"1")) - =g= p40_TechBound(t,regi,"wind")*0.001 + sum(teWind(te)$(sameas(te,"windon") OR sameas(te,"windoff")), vm_cap(t,regi,te,"1")) + =g= p40_TechBound(t,regi,"windon") * 0.001 ; q40_PEgasBound(t,regi)$(t.val gt 2015 AND (sameas(regi,"CHN") OR sameas(regi,"CHA"))).. diff --git a/modules/40_techpol/lowCarbonPush/datainput.gms b/modules/40_techpol/lowCarbonPush/datainput.gms index d8f5baf87..2b42c281c 100644 --- a/modules/40_techpol/lowCarbonPush/datainput.gms +++ b/modules/40_techpol/lowCarbonPush/datainput.gms @@ -9,16 +9,16 @@ *cb targets for renewable upscaling: CSP and SPV from plausible extrapolation of current trends, Wind taken from Optimal immediate policy run (slightly optimistic at beginning) p40_NewRenBound("2015","csp")=2.267; p40_NewRenBound("2015","spv")=180; -p40_NewRenBound("2015","wind")=506.022; +p40_NewRenBound("2015","windon")=506.022; p40_NewRenBound("2020","csp")=4.5; p40_NewRenBound("2020","spv")=400; -p40_NewRenBound("2020","wind")=826.341; +p40_NewRenBound("2020","windon")=826.341; p40_NewRenBound("2025","csp")=8.5; p40_NewRenBound("2025","spv")=610; -p40_NewRenBound("2025","wind")=1208.034; +p40_NewRenBound("2025","windon")=1208.034; p40_NewRenBound("2030","csp")=18.5; p40_NewRenBound("2030","spv")=900; -p40_NewRenBound("2030","wind")=1646.939; +p40_NewRenBound("2030","windon")=1646.939; *cb plausible, quite conservative upscaling (much lower than in optimal immediate) p40_NewRenBound("2020","bioftcrec")=2.4; diff --git a/modules/40_techpol/lowCarbonPush/equations.gms b/modules/40_techpol/lowCarbonPush/equations.gms index 346049ea7..052196a2c 100644 --- a/modules/40_techpol/lowCarbonPush/equations.gms +++ b/modules/40_techpol/lowCarbonPush/equations.gms @@ -5,7 +5,7 @@ *** | REMIND License Exception, version 1.0 (see LICENSE file). *** | Contact: remind@pik-potsdam.de *** SOF ./modules/40_techpol/lowCarbonPush/equations.gms -q40_NewRenBound(t,te)$(t.val gt 2010 AND t.val lt 2031 AND (sameas(te,"spv") OR sameas(te,"csp") OR sameas(te,"wind") OR sameas(te,"bioftcrec") OR sameas(te,"ngccc") )).. +q40_NewRenBound(t,te)$(t.val gt 2010 AND t.val lt 2031 AND (sameas(te,"spv") OR sameas(te,"csp") OR sameas(te,"windon") OR sameas(te,"bioftcrec") OR sameas(te,"ngccc") )).. *** attention: sum(regi will not work with Nash, therefore please reformulate with the usual iterative update mechanism sum(regi, sum(te2rlf(te,rlf), vm_cap(t,regi,te,rlf)) diff --git a/modules/47_regipol/none/bounds.gms b/modules/47_regipol/none/bounds.gms index 99fef8e71..32ba639b5 100644 --- a/modules/47_regipol/none/bounds.gms +++ b/modules/47_regipol/none/bounds.gms @@ -15,7 +15,7 @@ *** upper bound on capacity additions for 2025 based on near-term trends *** for now only REMIND-EU/Germany, upper bound is double the historic maximum capacity addition in 2011-2020 loop(regi$(sameAs(regi,"DEU")), - vm_deltaCap.up("2025",regi,"wind","1")=2*smax(tall$(tall.val ge 2011 and tall.val le 2020), pm_delta_histCap(tall,regi,"wind")); + vm_deltaCap.up("2025",regi,"windon","1")=2*smax(tall$(tall.val ge 2011 and tall.val le 2020), pm_delta_histCap(tall,regi,"windon")); vm_deltaCap.up("2025",regi,"spv","1")=2*smax(tall$(tall.val ge 2011 and tall.val le 2020), pm_delta_histCap(tall,regi,"spv")); ); diff --git a/modules/47_regipol/none/datainput.gms b/modules/47_regipol/none/datainput.gms index 4691e7e60..a223d565e 100644 --- a/modules/47_regipol/none/datainput.gms +++ b/modules/47_regipol/none/datainput.gms @@ -23,7 +23,7 @@ loop(ext_regi$altFeEmiFac_regi(ext_regi), $endif.altFeEmiFac *** VRE capacity factor adjustments for Germany in line with results from detailed models in ARIADNE project - loop(te$sameas(te,"wind"), + loop(te$sameas(te,"windon"), loop(regi$sameas(regi,"DEU"), pm_cf("2025",regi,te) = 1.04 * pm_cf("2025",regi,te); pm_cf("2030",regi,te) = 1.08 * pm_cf("2030",regi,te); diff --git a/modules/47_regipol/regiCarbonPrice/bounds.gms b/modules/47_regipol/regiCarbonPrice/bounds.gms index 7b9ccb816..e4caa9ae9 100644 --- a/modules/47_regipol/regiCarbonPrice/bounds.gms +++ b/modules/47_regipol/regiCarbonPrice/bounds.gms @@ -21,7 +21,7 @@ *' This limits wind and solar PV capacity additions for 2025 in light of recent slow developments as of 2023. *' Upper bound is double the historic maximum capacity addition in 2011-2020. loop(regi$(sameAs(regi,"DEU")), - vm_deltaCap.up("2025",regi,"wind","1")=2*smax(tall$(tall.val ge 2011 and tall.val le 2020), pm_delta_histCap(tall,regi,"wind")); + vm_deltaCap.up("2025",regi,"windon","1")=2*smax(tall$(tall.val ge 2011 and tall.val le 2020), pm_delta_histCap(tall,regi,"windon")); vm_deltaCap.up("2025",regi,"spv","1")=2*smax(tall$(tall.val ge 2011 and tall.val le 2020), pm_delta_histCap(tall,regi,"spv")); ); diff --git a/modules/47_regipol/regiCarbonPrice/datainput.gms b/modules/47_regipol/regiCarbonPrice/datainput.gms index a12c04100..ad90d7d00 100644 --- a/modules/47_regipol/regiCarbonPrice/datainput.gms +++ b/modules/47_regipol/regiCarbonPrice/datainput.gms @@ -250,7 +250,7 @@ loop(ext_regi$altFeEmiFac_regi(ext_regi), $endif.altFeEmiFac *** VRE capacity factor adjustments for Germany in line with results from detailed models in ARIADNE project - loop(te$sameas(te,"wind"), + loop(te$sameas(te,"windon"), loop(regi$sameas(regi,"DEU"), pm_cf("2025",regi,te) = 1.04 * pm_cf("2025",regi,te); pm_cf("2030",regi,te) = 1.08 * pm_cf("2030",regi,te); diff --git a/modules/47_regipol/regiCarbonPrice/sets.gms b/modules/47_regipol/regiCarbonPrice/sets.gms index d4c725822..15bf3050e 100644 --- a/modules/47_regipol/regiCarbonPrice/sets.gms +++ b/modules/47_regipol/regiCarbonPrice/sets.gms @@ -72,6 +72,7 @@ qttyTargetGroup "quantity target aggregated categories" heat / +*** windoffshore-todo energyQttyTargetANDGroup2enty(qttyTarget,qttyTargetGroup,all_enty) "set combining possible energy level (PE, SE or FE), energy types and energy carriers" / *** Primary energy type categories diff --git a/modules/70_water/heat/output.gms b/modules/70_water/heat/output.gms index 93e6419dc..9c04e3a4a 100644 --- a/modules/70_water/heat/output.gms +++ b/modules/70_water/heat/output.gms @@ -234,7 +234,7 @@ p70_water_output(ttot,regi,"Water Consumption|Electricity|Solar; km3/yr;") = ; p70_water_output(ttot,regi,"Water Consumption|Electricity|Wind; km3/yr;") = - sum(te_elcool70$(sameas(te_elcool70,"wind")), + sum(te_elcool70$(sameas(te_elcool70,"windon")), o70_water_consumption(ttot,regi,te_elcool70)) ; @@ -426,7 +426,7 @@ p70_water_output(ttot,regi,"Water Withdrawal|Electricity|Solar; km3/yr;") = ; p70_water_output(ttot,regi,"Water Withdrawal|Electricity|Wind; km3/yr;") = - sum(te_elcool70$(sameas(te_elcool70,"wind")), + sum(te_elcool70$(sameas(te_elcool70,"windon")), o70_water_withdrawal(ttot,regi,te_elcool70)) ; diff --git a/modules/80_optimization/nash/sets.gms b/modules/80_optimization/nash/sets.gms index e03b0a77a..797318379 100644 --- a/modules/80_optimization/nash/sets.gms +++ b/modules/80_optimization/nash/sets.gms @@ -9,18 +9,14 @@ sets learnte_dyn80(all_te) "learnte for nash" / - wind "wind onshore power converters" -$IFTHEN.WindOff %cm_wind_offshore% == "1" - windoff "wind offshore power converters" -$ENDIF.WindOff spv "solar photovoltaic" csp "concentrating solar power" + windon "wind onshore power converters" + windoff "wind offshore power converters" storspv "storage technology for spv" - storwind "storage technology for wind onshore" -$IFTHEN.WindOff %cm_wind_offshore% == "1" - storwindoff "storage technology for wind offshore" -$ENDIF.WindOff storcsp "storage technology for csp" + storwindon "storage technology for wind onshore" + storwindoff "storage technology for wind offshore" /, solveinfo80 "Nash solution stats" diff --git a/scripts/output/single/notebook_templates/cesCalibrationReport.Rmd b/scripts/output/single/notebook_templates/cesCalibrationReport.Rmd index 75fc47016..87c73677e 100644 --- a/scripts/output/single/notebook_templates/cesCalibrationReport.Rmd +++ b/scripts/output/single/notebook_templates/cesCalibrationReport.Rmd @@ -152,7 +152,7 @@ knitr::kable(df, caption = "Prices below 0.01") ```{r line plots} te <- c( "gastr", "refliq", "biotr", "coaltr", "hydro", "ngcc", "ngt", - "pc", "dot", "gaschp", "wind", "tnrs" + "pc", "dot", "gaschp", "windon", "tnrs" ) in_set <- readGDX(gdx, "in", "sets") structure <- sort(intersect(in_set, getColValues(ces, "pf"))) From 6ab2e6d6db6a6d0a8d911b0de4ed6ba8eeba543c Mon Sep 17 00:00:00 2001 From: lecfab Date: Wed, 17 Jul 2024 18:53:57 +0200 Subject: [PATCH 209/875] input updated, gamscompile works --- core/datainput.gms | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/core/datainput.gms b/core/datainput.gms index bfcaf6581..95c88fd31 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -968,7 +968,6 @@ $ondelim $include "./core/input/f_maxProdGradeRegiWindOn.cs3r" $offdelim ; - pm_dataren(all_regi,"maxprod",rlf,"windon") = sm_EJ_2_TWa * f_maxProdGradeRegiWindOn(all_regi,"maxprod",rlf); pm_dataren(all_regi,"nur",rlf,"windon") = f_maxProdGradeRegiWindOn(all_regi,"nur",rlf); @@ -1142,7 +1141,7 @@ $offdelim p_adj_deltacapoffset("2015",regi,"tnrs")= 1; *** windoffshore-todo -p_adj_deltacapoffset(t,regi,"windon") ? (p_adj_deltacapoffset(t,regi,"windon") eq 0) = p_adj_deltacapoffset(t,regi,"wind"); +p_adj_deltacapoffset(t,regi,"windon") $ (p_adj_deltacapoffset(t,regi,"windon") eq 0) = p_adj_deltacapoffset(t,regi,"wind"); p_adj_deltacapoffset(t,regi,"windoff")= p_adj_deltacapoffset(t,regi,"windon"); *** share of PE2SE capacities in 2005 depends on GDP-MER From fa68ae9e0ee5a235ca408317fe54ae17f18873b4 Mon Sep 17 00:00:00 2001 From: lecfab Date: Thu, 18 Jul 2024 10:52:51 +0200 Subject: [PATCH 210/875] remove wind from sets, apart from all_te for data input --- core/sets.gms | 216 ++++++++++++----------- modules/40_techpol/NDC/datainput.gms | 2 +- modules/40_techpol/NDCplus/datainput.gms | 2 +- modules/40_techpol/NPi2018/datainput.gms | 2 +- tutorials/10_DebuggingREMIND.md | 2 +- 5 files changed, 117 insertions(+), 107 deletions(-) diff --git a/core/sets.gms b/core/sets.gms index bb58d96f1..d13e1a5e3 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -764,20 +764,20 @@ sets ext_regi "extended regions list (includes subsets of H12 regions)" / GLO, - LAM_regi,OAS_regi,SSA_regi,EUR_regi,NEU_regi,MEA_regi,REF_regi,CAZ_regi,CHA_regi,IND_regi,JPN_regi,USA_regi, - LAM,OAS,SSA,EUR,NEU,MEA,REF,CAZ,CHA,IND,JPN,USA + LAM_regi,OAS_regi,SSA_regi,EUR_regi,NEU_regi,MEA_regi,REF_regi,CAZ_regi,CHA_regi,IND_regi,JPN_regi,USA_regi,EU27_regi,NEU_UKI_regi, + OAS,ENC,NES,MEA,SSA,LAM,REF,CAZ,EWN,ECS,CHA,ESC,ECE,FRA,DEU,UKI,NEN,IND,JPN,ESW,USA / - all_regi "all regions" /LAM,OAS,SSA,EUR,NEU,MEA,REF,CAZ,CHA,IND,JPN,USA/ + all_regi "all regions" /OAS,ENC,NES,MEA,SSA,LAM,REF,CAZ,EWN,ECS,CHA,ESC,ECE,FRA,DEU,UKI,NEN,IND,JPN,ESW,USA/ regi_group(ext_regi,all_regi) "region groups (regions that together corresponds to a H12 region)" / - GLO.( LAM,OAS,SSA,EUR,NEU,MEA,REF,CAZ,CHA,IND,JPN,USA ) + GLO.( OAS,ENC,NES,MEA,SSA,LAM,REF,CAZ,EWN,ECS,CHA,ESC,ECE,FRA,DEU,UKI,NEN,IND,JPN,ESW,USA ) LAM_regi .(LAM) OAS_regi .(OAS) SSA_regi .(SSA) - EUR_regi .(EUR) - NEU_regi .(NEU) + EUR_regi .(ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW) + NEU_regi .(NES,NEN) MEA_regi .(MEA) REF_regi .(REF) CAZ_regi .(CAZ) @@ -785,102 +785,110 @@ sets IND_regi .(IND) JPN_regi .(JPN) USA_regi .(USA) + EU27_regi .(ENC,EWN,ECS,ESC,ECE,FRA,DEU,ESW) + NEU_UKI_regi .(NES,NEN,UKI) / iso "list of iso countries" / - ABW,AFG,AGO,AIA,ALA,ALB,AND,ARE,ARG,ARM, - ASM,ATA,ATF,ATG,AUS,AUT,AZE,BDI,BEL,BEN, - BES,BFA,BGD,BGR,BHR,BHS,BIH,BLM,BLR,BLZ, - BMU,BOL,BRA,BRB,BRN,BTN,BVT,BWA,CAF,CAN, - CCK,CHN,CHE,CHL,CIV,CMR,COD,COG,COK,COL, - COM,CPV,CRI,CUB,CUW,CXR,CYM,CYP,CZE,DEU, - DJI,DMA,DNK,DOM,DZA,ECU,EGY,ERI,ESH,ESP, - EST,ETH,FIN,FJI,FLK,FRA,FRO,FSM,GAB,GBR, - GEO,GGY,GHA,GIB,GIN,GLP,GMB,GNB,GNQ,GRC, - GRD,GRL,GTM,GUF,GUM,GUY,HKG,HMD,HND,HRV, - HTI,HUN,IDN,IMN,IND,IOT,IRL,IRN,IRQ,ISL, - ISR,ITA,JAM,JEY,JOR,JPN,KAZ,KEN,KGZ,KHM, - KIR,KNA,KOR,KWT,LAO,LBN,LBR,LBY,LCA,LIE, - LKA,LSO,LTU,LUX,LVA,MAC,MAF,MAR,MCO,MDA, - MDG,MDV,MEX,MHL,MKD,MLI,MLT,MMR,MNE,MNG, - MNP,MOZ,MRT,MSR,MTQ,MUS,MWI,MYS,MYT,NAM, - NCL,NER,NFK,NGA,NIC,NIU,NLD,NOR,NPL,NRU, - NZL,OMN,PAK,PAN,PCN,PER,PHL,PLW,PNG,POL, - PRI,PRK,PRT,PRY,PSE,PYF,QAT,REU,ROU,RUS, - RWA,SAU,SDN,SEN,SGP,SGS,SHN,SJM,SLB,SLE, - SLV,SMR,SOM,SPM,SRB,SSD,STP,SUR,SVK,SVN, - SWE,SWZ,SXM,SYC,SYR,TCA,TCD,TGO,THA,TJK, - TKL,TKM,TLS,TON,TTO,TUN,TUR,TUV,TWN,TZA, - UGA,UKR,UMI,URY,USA,UZB,VAT,VCT,VEN,VGB, - VIR,VNM,VUT,WLF,WSM,YEM,ZAF,ZMB,ZWE / + AFG,ALA,ALB,DZA,ASM,AND,AGO,AIA,ATA,ATG, + ARG,ARM,ABW,AUS,AUT,AZE,BHS,BHR,BGD,BRB, + BLR,BEL,BLZ,BEN,BMU,BTN,BOL,BES,BIH,BWA, + BVT,BRA,IOT,BRN,BGR,BFA,BDI,KHM,CMR,CAN, + CPV,CYM,CAF,TCD,CHL,CHN,CXR,CCK,COL,COM, + COG,COD,COK,CRI,CIV,HRV,CUB,CUW,CYP,CZE, + DNK,DJI,DMA,DOM,ECU,EGY,SLV,GNQ,ERI,EST, + ETH,FLK,FRO,FJI,FIN,FRA,GUF,PYF,ATF,GAB, + GMB,GEO,DEU,GHA,GIB,GRC,GRL,GRD,GLP,GUM, + GTM,GGY,GIN,GNB,GUY,HTI,HMD,VAT,HND,HKG, + HUN,ISL,IND,IDN,IRN,IRQ,IRL,IMN,ISR,ITA, + JAM,JPN,JEY,JOR,KAZ,KEN,KIR,PRK,KOR,KWT, + KGZ,LAO,LVA,LBN,LSO,LBR,LBY,LIE,LTU,LUX, + MAC,MKD,MDG,MWI,MYS,MDV,MLI,MLT,MHL,MTQ, + MRT,MUS,MYT,MEX,FSM,MDA,MCO,MNG,MNE,MSR, + MAR,MOZ,MMR,NAM,NRU,NPL,NLD,NCL,NZL,NIC, + NER,NGA,NIU,NFK,MNP,NOR,OMN,PAK,PLW,PSE, + PAN,PNG,PRY,PER,PHL,PCN,POL,PRT,PRI,QAT, + REU,ROU,RUS,RWA,BLM,SHN,KNA,LCA,MAF,SPM, + VCT,WSM,SMR,STP,SAU,SEN,SRB,SYC,SLE,SGP, + SXM,SVK,SVN,SLB,SOM,ZAF,SGS,SSD,ESP,LKA, + SDN,SUR,SJM,SWZ,SWE,CHE,SYR,TWN,TJK,TZA, + THA,TLS,TGO,TKL,TON,TTO,TUN,TUR,TKM,TCA, + TUV,UGA,UKR,ARE,GBR,USA,UMI,URY,UZB,VUT, + VEN,VNM,VGB,VIR,WLF,ESH,YEM,ZMB,ZWE / regi2iso(all_regi,iso) "mapping regions to iso countries" / - LAM . (ABW,AIA,ARG,ATA,ATG,BES,BHS,BLM,BLZ,BMU) - LAM . (BOL,BRA,BRB,BVT,CHL,COL,CRI,CUB,CUW,CYM) - LAM . (DMA,DOM,ECU,FLK,GLP,GRD,GTM,GUF,GUY,HND) - LAM . (HTI,JAM,KNA,LCA,MAF,MEX,MSR,MTQ,NIC,PAN) - LAM . (PER,PRI,PRY,SGS,SLV,SUR,SXM,TCA,TTO,URY) - LAM . (VCT,VEN,VGB,VIR) - OAS . (AFG,ASM,ATF,BGD,BRN,BTN,CCK,COK,CXR,FJI) - OAS . (FSM,GUM,IDN,IOT,KHM,KIR,KOR,LAO,LKA,MDV) - OAS . (MHL,MMR,MNG,MNP,MYS,NCL,NFK,NIU,NPL,NRU) - OAS . (PAK,PCN,PHL,PLW,PNG,PRK,PYF,SGP,SLB,THA) - OAS . (TKL,TLS,TON,TUV,UMI,VNM,VUT,WLF,WSM) - SSA . (AGO,BDI,BEN,BFA,BWA,CAF,CIV,CMR,COD,COG) - SSA . (COM,CPV,DJI,ERI,ETH,GAB,GHA,GIN,GMB,GNB) - SSA . (GNQ,KEN,LBR,LSO,MDG,MLI,MOZ,MRT,MUS,MWI) - SSA . (MYT,NAM,NER,NGA,REU,RWA,SEN,SHN,SLE,SOM) - SSA . (SSD,STP,SWZ,SYC,TCD,TGO,TZA,UGA,ZAF,ZMB) - SSA . (ZWE) - EUR . (ALA,AUT,BEL,BGR,CYP,CZE,DEU,DNK,ESP,EST) - EUR . (FIN,FRA,FRO,GBR,GGY,GIB,GRC,HRV,HUN,IMN) - EUR . (IRL,ITA,JEY,LTU,LUX,LVA,MLT,NLD,POL,PRT) - EUR . (ROU,SVK,SVN,SWE) - NEU . (ALB,AND,BIH,CHE,GRL,ISL,LIE,MCO,MKD,MNE) - NEU . (NOR,SJM,SMR,SRB,TUR,VAT) - MEA . (ARE,BHR,DZA,EGY,ESH,IRN,IRQ,ISR,JOR,KWT) - MEA . (LBN,LBY,MAR,OMN,PSE,QAT,SAU,SDN,SYR,TUN) + OAS . (AFG,ASM,BGD,BTN,IOT,BRN,KHM,CXR,CCK,COK) + OAS . (FJI,PYF,ATF,GUM,IDN,KIR,PRK,KOR,LAO,MYS) + OAS . (MDV,MHL,FSM,MNG,MMR,NRU,NPL,NCL,NIU,NFK) + OAS . (MNP,PAK,PLW,PNG,PHL,PCN,WSM,SGP,SLB,LKA) + OAS . (THA,TLS,TKL,TON,TUV,UMI,VUT,VNM,WLF) + ENC . (ALA,DNK,FRO,FIN,SWE) + NES . (ALB,AND,BIH,VAT,MKD,MCO,MNE,SMR,SRB,TUR) + MEA . (DZA,BHR,EGY,IRN,IRQ,ISR,JOR,KWT,LBN,LBY) + MEA . (MAR,OMN,PSE,QAT,SAU,SDN,SYR,TUN,ARE,ESH) MEA . (YEM) + SSA . (AGO,BEN,BWA,BFA,BDI,CMR,CPV,CAF,TCD,COM) + SSA . (COG,COD,CIV,DJI,GNQ,ERI,ETH,GAB,GMB,GHA) + SSA . (GIN,GNB,KEN,LSO,LBR,MDG,MWI,MLI,MRT,MUS) + SSA . (MYT,MOZ,NAM,NER,NGA,REU,RWA,SHN,STP,SEN) + SSA . (SYC,SLE,SOM,ZAF,SSD,SWZ,TZA,TGO,UGA,ZMB) + SSA . (ZWE) + LAM . (AIA,ATA,ATG,ARG,ABW,BHS,BRB,BLZ,BMU,BOL) + LAM . (BES,BVT,BRA,CYM,CHL,COL,CRI,CUB,CUW,DMA) + LAM . (DOM,ECU,SLV,FLK,GUF,GRD,GLP,GTM,GUY,HTI) + LAM . (HND,JAM,MTQ,MEX,MSR,NIC,PAN,PRY,PER,PRI) + LAM . (BLM,KNA,LCA,MAF,VCT,SXM,SGS,SUR,TTO,TCA) + LAM . (URY,VEN,VGB,VIR) REF . (ARM,AZE,BLR,GEO,KAZ,KGZ,MDA,RUS,TJK,TKM) REF . (UKR,UZB) CAZ . (AUS,CAN,HMD,NZL,SPM) + EWN . (AUT,BEL,LUX,NLD) + ECS . (BGR,HRV,HUN,ROU,SVN) CHA . (CHN,HKG,MAC,TWN) + ESC . (CYP,GRC,ITA,MLT) + ECE . (CZE,EST,LVA,LTU,POL,SVK) + FRA . (FRA) + DEU . (DEU) + UKI . (GIB,GGY,IRL,IMN,JEY,GBR) + NEN . (GRL,ISL,LIE,NOR,SJM,CHE) IND . (IND) JPN . (JPN) + ESW . (PRT,ESP) USA . (USA) / iso_regi "all iso countries and EU and greater China region" / EUR,CHA, - ABW,AFG,AGO,AIA,ALA,ALB,AND,ARE,ARG,ARM, - ASM,ATA,ATF,ATG,AUS,AUT,AZE,BDI,BEL,BEN, - BES,BFA,BGD,BGR,BHR,BHS,BIH,BLM,BLR,BLZ, - BMU,BOL,BRA,BRB,BRN,BTN,BVT,BWA,CAF,CAN, - CCK,CHN,CHE,CHL,CIV,CMR,COD,COG,COK,COL, - COM,CPV,CRI,CUB,CUW,CXR,CYM,CYP,CZE,DEU, - DJI,DMA,DNK,DOM,DZA,ECU,EGY,ERI,ESH,ESP, - EST,ETH,FIN,FJI,FLK,FRA,FRO,FSM,GAB,GBR, - GEO,GGY,GHA,GIB,GIN,GLP,GMB,GNB,GNQ,GRC, - GRD,GRL,GTM,GUF,GUM,GUY,HKG,HMD,HND,HRV, - HTI,HUN,IDN,IMN,IND,IOT,IRL,IRN,IRQ,ISL, - ISR,ITA,JAM,JEY,JOR,JPN,KAZ,KEN,KGZ,KHM, - KIR,KNA,KOR,KWT,LAO,LBN,LBR,LBY,LCA,LIE, - LKA,LSO,LTU,LUX,LVA,MAC,MAF,MAR,MCO,MDA, - MDG,MDV,MEX,MHL,MKD,MLI,MLT,MMR,MNE,MNG, - MNP,MOZ,MRT,MSR,MTQ,MUS,MWI,MYS,MYT,NAM, - NCL,NER,NFK,NGA,NIC,NIU,NLD,NOR,NPL,NRU, - NZL,OMN,PAK,PAN,PCN,PER,PHL,PLW,PNG,POL, - PRI,PRK,PRT,PRY,PSE,PYF,QAT,REU,ROU,RUS, - RWA,SAU,SDN,SEN,SGP,SGS,SHN,SJM,SLB,SLE, - SLV,SMR,SOM,SPM,SRB,SSD,STP,SUR,SVK,SVN, - SWE,SWZ,SXM,SYC,SYR,TCA,TCD,TGO,THA,TJK, - TKL,TKM,TLS,TON,TTO,TUN,TUR,TUV,TWN,TZA, - UGA,UKR,UMI,URY,USA,UZB,VAT,VCT,VEN,VGB, - VIR,VNM,VUT,WLF,WSM,YEM,ZAF,ZMB,ZWE / + AFG,ALA,ALB,DZA,ASM,AND,AGO,AIA,ATA,ATG, + ARG,ARM,ABW,AUS,AUT,AZE,BHS,BHR,BGD,BRB, + BLR,BEL,BLZ,BEN,BMU,BTN,BOL,BES,BIH,BWA, + BVT,BRA,IOT,BRN,BGR,BFA,BDI,KHM,CMR,CAN, + CPV,CYM,CAF,TCD,CHL,CHN,CXR,CCK,COL,COM, + COG,COD,COK,CRI,CIV,HRV,CUB,CUW,CYP,CZE, + DNK,DJI,DMA,DOM,ECU,EGY,SLV,GNQ,ERI,EST, + ETH,FLK,FRO,FJI,FIN,FRA,GUF,PYF,ATF,GAB, + GMB,GEO,DEU,GHA,GIB,GRC,GRL,GRD,GLP,GUM, + GTM,GGY,GIN,GNB,GUY,HTI,HMD,VAT,HND,HKG, + HUN,ISL,IND,IDN,IRN,IRQ,IRL,IMN,ISR,ITA, + JAM,JPN,JEY,JOR,KAZ,KEN,KIR,PRK,KOR,KWT, + KGZ,LAO,LVA,LBN,LSO,LBR,LBY,LIE,LTU,LUX, + MAC,MKD,MDG,MWI,MYS,MDV,MLI,MLT,MHL,MTQ, + MRT,MUS,MYT,MEX,FSM,MDA,MCO,MNG,MNE,MSR, + MAR,MOZ,MMR,NAM,NRU,NPL,NLD,NCL,NZL,NIC, + NER,NGA,NIU,NFK,MNP,NOR,OMN,PAK,PLW,PSE, + PAN,PNG,PRY,PER,PHL,PCN,POL,PRT,PRI,QAT, + REU,ROU,RUS,RWA,BLM,SHN,KNA,LCA,MAF,SPM, + VCT,WSM,SMR,STP,SAU,SEN,SRB,SYC,SLE,SGP, + SXM,SVK,SVN,SLB,SOM,ZAF,SGS,SSD,ESP,LKA, + SDN,SUR,SJM,SWZ,SWE,CHE,SYR,TWN,TJK,TZA, + THA,TLS,TGO,TKL,TON,TTO,TUN,TUR,TKM,TCA, + TUV,UGA,UKR,ARE,GBR,USA,UMI,URY,UZB,VUT, + VEN,VNM,VGB,VIR,WLF,ESH,YEM,ZMB,ZWE / map_iso_regi(iso_regi,all_regi) "mapping from iso countries to regions that represent country" / - EUR . EUR CHA . CHA + FRA . FRA + DEU . DEU IND . IND JPN . JPN USA . USA @@ -1274,7 +1282,7 @@ teAdj(all_te) "technologies with adjustment costs on capacity addition geohdr "geothermal electric hot dry rock" geohe "geothermal heat" hydro "hydro electric" - wind "wind onshore power converters" +*** wind "wind onshore power converters" windon "wind onshore power converters" windoff "wind offshore power converters" spv "solar photovoltaic" @@ -1291,7 +1299,7 @@ teAdj(all_te) "technologies with adjustment costs on capacity addition *** ccsmoni "monitoring of co2, CCS related" storspv "storage technology for PV" - storwind "storage technology for wind onshore" +*** storwind "storage technology for wind onshore" storwindon "storage technology for wind onshore" storwindoff "storage technology for wind offshore" storcsp "storage technology for CSP" @@ -1300,7 +1308,7 @@ teAdj(all_te) "technologies with adjustment costs on capacity addition gridspv "grid between areas with high pv production and the rest" gridcsp "grid between areas with high csp production and the rest" - gridwind "grid between areas with high wind onshore production and the rest" +*** gridwind "grid between areas with high wind onshore production and the rest" gridwindon "grid between areas with high wind onshore production and the rest" gridwindoff "grid between areas with high wind offshore production and the rest" $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" @@ -1319,13 +1327,13 @@ teRLDCDisp(all_te) "RLDC Dispatchable technologies that produce seel" *** Note: technologies without endogenous learning can also have decreasing (or increasing) capital cost over time, due to for example convergence to global value teLearn(all_te) "Learning technologies (for which investment costs are reduced endogenously through capacity deployment)." / - wind "wind onshore power converters" +*** wind "wind onshore power converters" windon "wind onshore power converters" windoff "wind offshore power converters" spv "solar photovoltaic" csp "concentrating solar power" storspv "storage technology for spv" - storwind "storage technology for wind onshore" +*** storwind "storage technology for wind onshore" storwindon "storage technology for wind onshore" storwindoff "storage technology for wind offshore" storcsp "storage technology for csp" @@ -1405,7 +1413,7 @@ teRe(all_te) "renewable technologies including biomass" geohdr "geothermal electric hot dry rock" geohe "geothermal heat" hydro "hydro electric" - wind "wind power converters" +*** wind "wind power converters" windon "wind onshore power converters" windoff "wind offshore power converters" spv "solar photovoltaic" @@ -1417,7 +1425,7 @@ teReNoBio(all_te) "renewable technologies except for biomass" geohdr "geothermal electric hot dry rock" geohe "geothermal heat" hydro "hydro electric" - wind "wind power converters" +*** wind "wind power converters" windon "wind onshore power converters" windoff "wind offshore power converters" spv "solar photovoltaic" @@ -1428,7 +1436,7 @@ teNoRe(all_te) "Non renewable energy technologies" teVRE(all_te) "technologies requiring storage" / - wind "wind power converters" +*** wind "wind power converters" windon "wind onshore power converters" windoff "wind offshore power converters" spv "solar photovoltaic" @@ -1437,7 +1445,7 @@ teVRE(all_te) "technologies requiring storage" teWind(all_te) "Onshore and offshore wind technologies" / - wind "wind power converters" +*** wind "wind power converters" windon "wind onshore power converters" windoff "wind offshore power converters" / @@ -1446,7 +1454,7 @@ teWind(all_te) "Onshore and offshore wind technologies" teStor(all_te) "storage technologies" / storspv "storage technology for spv" - storwind "storage technology for wind onshore" +*** storwind "storage technology for wind onshore" storwindon "storage technology for wind onshore" storwindoff "storage technology for wind offshore" storcsp "storage technology for csp" @@ -1455,7 +1463,7 @@ teLoc(all_te) "centralized technologies which require grid" / spv "solar photovoltaic" csp "concentrating solar power" - wind "wind power converters" +*** wind "wind power converters" windon "wind onshore power converters" windoff "wind offshore power converters" / @@ -1463,7 +1471,7 @@ teGrid(all_te) "grid between areas" / gridspv "grid between areas with high pv production and the rest" gridcsp "grid between areas with high csp production and the rest" - gridwind "grid between areas with high wind onshore production and the rest" +*** gridwind "grid between areas with high wind onshore production and the rest" gridwindon "grid between areas with high wind onshore production and the rest" gridwindoff "grid between areas with high wind offshore production and the rest" / @@ -1514,14 +1522,14 @@ teBioPebiolc(all_te) "biomass technologies using pebiolc" teNoTransform(all_te) "all technologies that do not transform energy but still have investment and O&M costs (like storage or grid)" / storspv "storage technology for photo voltaic (PV)" - storwind "storage technology for wind onshore" +*** storwind "storage technology for wind onshore" storwindon "storage technology for wind onshore" storwindoff "storage technology for wind offshore" storcsp "storage technology for concentrating solar power (CSP)" gridspv "grid between areas with high pv production and the rest" gridcsp "grid between areas with high csp production and the rest" - gridwind "grid between areas with high wind onshore production and the rest" +*** gridwind "grid between areas with high wind onshore production and the rest" gridwindon "grid between areas with high wind onshore production and the rest" gridwindoff "grid between areas with high wind offshore production and the rest" / @@ -2443,7 +2451,7 @@ capTotal(all_enty,all_enty) "mapping of input to output carriers for calculat VRE2teStor(all_te,teStor) "mapping to know which technology uses which storage technology" / spv.storspv - wind.storwind +*** wind.storwind windon.storwindon windoff.storwindoff csp.storcsp @@ -2459,7 +2467,7 @@ VRE2teVRElinked(all_te,all_te) "mapping between the technologies requiring st VRE2teGrid(all_te,teGrid) "mapping to know which technology needs which grid technology (length/siting)" / spv.gridspv - wind.gridwind +*** wind.gridwind windon.gridwindon windoff.gridwindoff csp.gridcsp @@ -2469,8 +2477,8 @@ te2teLoclinked(teLoc,teLoc2) "mapping between the technologies requiring grids / spv.csp csp.spv - windoff.wind - wind.windoff +*** windoff.wind +*** wind.windoff windoff.windon windon.windoff / @@ -2787,7 +2795,8 @@ prodSeOth2te(all_enty,all_te) "map other se production not directly followi teSe2rlf(all_te,rlf) "mapping for techologies to grades. Currently, the information was shifted to teRe2rlfDetail. Thus, teSe2rlf now only has '1' for the rlf values" / - (wind,windon,windoff,spv,csp,refliq,hydro,geohe,geohdr,solhe,ngcc,ngccc,ngt,gaschp,gashp,gash2,gash2c,gastr,gasftrec,gasftcrec,dot, +*** wind + (windon,windoff,spv,csp,refliq,hydro,geohe,geohdr,solhe,ngcc,ngccc,ngt,gaschp,gashp,gash2,gash2c,gastr,gasftrec,gasftcrec,dot, igcc,igccc,pc,coaltr,coalgas,coalh2,coalh2c,coalchp,coalhp,coalftrec,coalftcrec, biotr,biotrmod,biogas,biogasc,bioftrec,bioftcrec,bioh2,bioh2c,biohp,biochp,bioigcc,bioigccc, elh2,h2turb,elh2VRE,h2turbVRE,bioethl,bioeths,biodiesel,tnrs,fnrs @@ -2796,7 +2805,7 @@ teSe2rlf(all_te,rlf) "mapping for techologies to grades. Currently, the i teRe2rlfDetail(all_te,rlf) "mapping for se techologies to grades" / - wind.(1*9) +*** wind.(1*9) windon.(1*9) windoff.(1*9) spv.(1*9) @@ -2830,7 +2839,8 @@ teCCS2rlf(all_te,rlf) "mapping for CCS technologies to grades" teNoTransform2rlf(all_te,rlf) "mapping for no transformation technologies to grades" / - (storspv,storcsp,storwind,storwindon,storwindoff,gridwind,gridwindon,gridwindoff,gridspv,gridcsp,h2curt) . 1 +*** storwind, gridwind + (storspv,storcsp,storwindon,storwindoff,gridwindon,gridwindoff,gridspv,gridcsp,h2curt) . 1 / diff --git a/modules/40_techpol/NDC/datainput.gms b/modules/40_techpol/NDC/datainput.gms index 088c443b5..3fb696d13 100644 --- a/modules/40_techpol/NDC/datainput.gms +++ b/modules/40_techpol/NDC/datainput.gms @@ -16,7 +16,7 @@ $onlisting p40_TechBound(ttot,all_regi,all_te) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%",all_te); *** windoffshore-todo -p40_TechBound(ttot,all_regi,"windon") $ (p40_TechBound(ttot,all_regi,"windon") eq 0) = p40_TechBound(ttot,all_regi,"wind") +p40_TechBound(ttot,all_regi,"windon") $ (p40_TechBound(ttot,all_regi,"windon") eq 0) = p40_TechBound(ttot,all_regi,"wind"); p40_ElecBioBound("2030",regi) = p40_TechBound("2030",regi,"bioigcc"); diff --git a/modules/40_techpol/NDCplus/datainput.gms b/modules/40_techpol/NDCplus/datainput.gms index 1d52b3b90..c66f27cab 100644 --- a/modules/40_techpol/NDCplus/datainput.gms +++ b/modules/40_techpol/NDCplus/datainput.gms @@ -16,7 +16,7 @@ $onlisting p40_TechBound(ttot,all_regi,all_te) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%",all_te); *** windoffshore-todo -p40_TechBound(ttot,all_regi,"windon") $ (p40_TechBound(ttot,all_regi,"windon") eq 0) = p40_TechBound(ttot,all_regi,"wind") +p40_TechBound(ttot,all_regi,"windon") $ (p40_TechBound(ttot,all_regi,"windon") eq 0) = p40_TechBound(ttot,all_regi,"wind"); p40_ElecBioBound("2030",regi) = p40_TechBound("2030",regi,"bioigcc"); diff --git a/modules/40_techpol/NPi2018/datainput.gms b/modules/40_techpol/NPi2018/datainput.gms index 7345f47c7..d3295be96 100644 --- a/modules/40_techpol/NPi2018/datainput.gms +++ b/modules/40_techpol/NPi2018/datainput.gms @@ -16,7 +16,7 @@ $onlisting p40_TechBound(ttot,all_regi,all_te) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%",all_te); *** windoffshore-todo -p40_TechBound(ttot,all_regi,"windon") $ (p40_TechBound(ttot,all_regi,"windon") eq 0) = p40_TechBound(ttot,all_regi,"wind") +p40_TechBound(ttot,all_regi,"windon") $ (p40_TechBound(ttot,all_regi,"windon") eq 0) = p40_TechBound(ttot,all_regi,"wind"); p40_ElecBioBound("2030",regi) = p40_TechBound("2030",regi,"bioigcc"); diff --git a/tutorials/10_DebuggingREMIND.md b/tutorials/10_DebuggingREMIND.md index 9c9dca9ee..1d2f597b2 100644 --- a/tutorials/10_DebuggingREMIND.md +++ b/tutorials/10_DebuggingREMIND.md @@ -47,7 +47,7 @@ If full.log exists, this is the next place to look at. Either open it in your fa ```bash less full.log ``` -and then type `G` to get to the end of the file. `q` finishes looking at the file. +and then type `G` to get to the end of the file. Type `q` to close the file. Another option is to use the editor `vi` by typing `vi full.log`, in which case `:q` closes the editor. `less` is generally faster when looking at large file, but doesn’t offer color coding. You may find: From 8da17140c9b3d9688f529a15e20ae906a319e1b3 Mon Sep 17 00:00:00 2001 From: lecfab Date: Wed, 24 Jul 2024 14:09:07 +0200 Subject: [PATCH 211/875] remove cm_wind_offshore switch --- core/sets.gms | 6 +++--- main.gms | 23 +++++++++++------------ scripts/start/readCheckScenarioConfig.R | 3 ++- standalone/MOFEX/MOFEX.gms | 2 -- standalone/trade/trade.gms | 1 - 5 files changed, 16 insertions(+), 19 deletions(-) diff --git a/core/sets.gms b/core/sets.gms index d13e1a5e3..a6cc706ad 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -1172,7 +1172,7 @@ te(all_te) "energy technologies" geohdr "geothermal electric hot dry rock" geohe "geothermal heat" hydro "hydro electric" - wind "wind power converters" +*** wind "wind power converters" windon "wind onshore power converters" windoff "wind offshore power converters" spv "solar photovoltaic" @@ -1217,14 +1217,14 @@ te(all_te) "energy technologies" * ccsmoni "monitoring of co2, CCS related" storspv "storage technology for photo voltaic" - storwind "storage technology for wind onshore" +*** storwind "storage technology for wind onshore" storwindon "storage technology for wind onshore" storwindoff "storage technology for wind offshore" storcsp "storage technology for concentrating solar power" gridspv "grid between areas with high pv production and the rest" gridcsp "grid between areas with high csp production and the rest" - gridwind "grid between areas with high wind onshore production and the rest" +*** gridwind "grid between areas with high wind onshore production and the rest" gridwindon "grid between areas with high wind onshore production and the rest" gridwindoff "grid between areas with high wind offshore production and the rest" pipe_gas "Pipelines transporting natural gas" diff --git a/main.gms b/main.gms index 8c47ce586..c12e4b4d4 100755 --- a/main.gms +++ b/main.gms @@ -353,7 +353,7 @@ $setglobal CCU on !! def = on *' * (coalPhaseout): [works only with Negishi] global phase-out of new freely-emitting coal conversion, caps all coal routes with the exception of coaltr: coal solids can still expand *' * (coalPhaseoutRegional): [works only with Negishi] global phase-out of new freely-emitting coal conversion, caps all coal routes with the exception of coaltr: coal solids can still expand *' * (CombLowCandCoalPO): [works only with Negishi] combination of lowCarbonPush and coalPhaseout -*' * (NDC): Technology targets for 2030 for spv,wind,tnrs. +*' * (NDC): Technology targets for 2030 for spv,windon,tnrs. *' * (NPi): Reference technology targets, mostly already enacted (N)ational (P)olicies (i)mplemented, mostly for 2020 *' * (EVmandates): mandate for electric vehicles - used for UBA project $setglobal techpol none !! def = none @@ -1510,8 +1510,8 @@ $setglobal cm_eni off !! def = off $setglobal cm_enb off !! def = off *** cm_incolearn "change floor investment cost value" *** Example on how to use: -*** cm_incolearn "wind=1600,spv=5160,csp=9500" -*** floor investment costs from learning set to 17000 for EVs; and 1600, 5160 and 9500 for wind, solar pv and solar csp respectively. +*** cm_incolearn "windon=1600,spv=5160,csp=9500" +*** floor investment costs from learning set to 17000 for EVs; and 1600, 5160 and 9500 for windon, solar pv and solar csp respectively. $setglobal cm_incolearn off !! def = off *** cm_storageFactor "scale curtailment and storage requirements. [factor]" *** def <- "off" = no change for curtailment and storage requirements; @@ -1535,11 +1535,11 @@ $setglobal cm_adj_coeff off $setglobal cm_adj_coeff_cont off *** cm_adj_seed_multiplier "rescale adjustment cost seed value relative to default value. [factor]. Smaller means slower scale-up." *** def <- "off" = use default adj seed values. -*** or list of techs to change adj_seed value by a multiplication factor. (ex. "spv 0.5, storspv 0.5, wind 0.25") +*** or list of techs to change adj_seed value by a multiplication factor. (ex. "spv 0.5, storspv 0.5, windon 0.25") $setglobal cm_adj_seed_multiplier off *** cm_adj_coeff_multiplier "rescale adjustment cost coefficient value relative to default value. [factor]. Higher means higher adjustment cost." *** def <- "off" = use default adj coefficient values. -*** or list of techs to change adj_cost value by a multiplication factor. (ex. "spv 2, storspv 2, wind 4") +*** or list of techs to change adj_cost value by a multiplication factor. (ex. "spv 2, storspv 2, windon 4") *** A note on adjustment cost changes: A common practice of changing the adjustment cost parameterization is by using the same factor to *** increase the adjustment cost coefficent and to decrease the adjustment cost seed value at the same time. $setglobal cm_adj_coeff_multiplier off @@ -1550,7 +1550,7 @@ $setglobal cm_adj_coeff_multiplier off $setglobal cm_inco0Factor off !! def = off *** cm_inco0RegiFactor "change investment costs regionalized technology values. [factor]." *' * def <- "off" = use default p_inco0 values. -*' * or list of techs with respective factor to change p_inco0 value by a multiplication factor. (ex. "wind 0.33, spv 0.33" makes investment costs for wind and spv 3 times cheaper) +*' * or list of techs with respective factor to change p_inco0 value by a multiplication factor. (ex. "windon 0.33, spv 0.33" makes investment costs for windon and spv 3 times cheaper) *' * (note: if %cm_techcosts% == "GLO", switch will not work for policy runs, i.e. cm_startyear > 2005, for pc, ngt and ngcc as this gets overwritten in 05_initialCap module) $setglobal cm_inco0RegiFactor off !! def = off *** cm_CCS_markup "multiplicative factor for CSS cost markup" @@ -1661,11 +1661,9 @@ $setglobal cm_feedstockEmiUnknownFate off !! def = off *** cm_feShareLimits <- "off" # def <- "off", limit the electricity final energy share to be in line with the industry maximum electrification levels (60% by 2050 in the electric scenario), 10% lower (=50% in 2050) in an increased efficiency World, or 20% lower (40% in 2050) in an incumbents future (incumbents). The incumbents scenario also limits a minimal coverage of buildings heat provided by gas and liquids (25% by 2050). $setglobal cm_feShareLimits off !! def = off *** VRE potential switches -*** rescaling factor for sensitivity analysis on renewable potentials, this factor rescales all grades of a renewable technology which have not been used by 2020 (to avoid infeasiblities swith existing capacities) -*** (ex. "spv 0.5, wind 0.75" rescales solar and wind potential by the respective factors) *** rescaling factor for sensitivity analysis on renewable potentials. *** This factor rescales all grades of a renewable technology which have not been used by 2020 (to avoid infeasiblities with existing capacities) -*** (example: "spv 0.5, wind 0.75" rescales solar and wind potential by the respective factors) +*** (example: "spv 0.5, windon 0.75" rescales solar and wind potential by the respective factors) $setGlobal c_VREPot_Factor off !! def = off *** FE tax switches, allows scaling up or down FE taxes on all sectors, energy carriers flexibly *** cm_FEtax_trajectory_abs "switch for setting the aboslute FE tax level explicitly from a given year onwards, before tax levels increases or decreases linearly to that value" @@ -1685,22 +1683,23 @@ $setGlobal cm_FEtax_trajectory_rel off !! def = off *** then the values from the region group disaggregation will be overwritten by this region-specific value. *** For example: "DEU -0.2, EU27_regi -0.4". $setGLobal c_agricult_base_shift off !! def off -*** wind offshore switch *** windoffshore-todo *** x get rid of cm_wind_offshore conditions *** x search "wind" and replace all references by "windon" *** x same with storwind, gridwind *** x generisdata_nur_ren need to be updated +*** x check pewin *** - merge pm_histCap_windoff.cs3r into pm_histCap, same with p_histCapFac_windoff *** - search for $include to check which mrremind files need modification *** - update mrremind to give windon instead of wind: f_cf.cs3r, f40_NDC+REN21+CHN_NUC.cs3r *** - remove wind in all_te set *** - check vm_capFac pm_cf.*win *** - *CG* set wind offshore, storage and grid to be the same as wind onshore (later should be integrated into input data) main difference between onshore and offshore is the difference in f32_factorStorage -*** - +*** - f32_storageCap *** cm_wind_offshore 1, wind energy is represented by "wind" and "windoff", where "wind" means wind onshore. Later this will be the default and the name "wind" will be made to change to windon *** cm_wind_offshore 0, means wind energy is only represented by "wind", which is a mixture of both wind onshore and wind offshore -$setglobal cm_wind_offshore 1 !! def = 1 +*** $setglobal cm_wind_offshore 1 !! def = 1 +*** *** cm_INCONV_PENALTY on !! def = on *** *RP* 2012-03-06 Flag to turn on inconvenience penalties, e.g. for air pollution $setglobal cm_INCONV_PENALTY on !! def = on !! regexp = off|on diff --git a/scripts/start/readCheckScenarioConfig.R b/scripts/start/readCheckScenarioConfig.R index ce5364285..3d1476978 100644 --- a/scripts/start/readCheckScenarioConfig.R +++ b/scripts/start/readCheckScenarioConfig.R @@ -161,7 +161,8 @@ readCheckScenarioConfig <- function(filename, remindPath = ".", testmode = FALSE "cm_taxCO2inc_after_peakBudgYr" = "Rename to c_taxCO2inc_after_peakBudgYr, see https://github.com/remindmodel/remind/pull/1488", "c_solscen" = "Deleted, not used anymore, see https://github.com/remindmodel/remind/pull/1515", "cm_regNetNegCO2" = "Deleted, not used, see https://github.com/remindmodel/remind/pull/1517", - "cm_solwindenergyscen"= "Deleted, not used, see https://github.com/remindmodel/remind/pull/1532", + "cm_solwindenergyscen" = "Deleted, not used, see https://github.com/remindmodel/remind/pull/1532", + "cm_wind_offshore" = "Deleted, not used, see https://github.com/remindmodel/development_issues/issues/272", NULL) for (i in intersect(names(forbiddenColumnNames), unknownColumnNames)) { if (testmode) { diff --git a/standalone/MOFEX/MOFEX.gms b/standalone/MOFEX/MOFEX.gms index c374cb231..6b7920b0f 100644 --- a/standalone/MOFEX/MOFEX.gms +++ b/standalone/MOFEX/MOFEX.gms @@ -479,8 +479,6 @@ $setglobal cm_feShareLimits off !! def = off $setglobal c_fuelprice_init off !! def = off $setglobal cm_seTradeScenario off !! def = off -$setglobal cm_wind_offshore 0 !! def = 0 - *** -------------------------------------------------------------------------------------------------------------------------------------------------------------------- *** -------------------------------------------------------------------------------------------------------------------------------------------------------------------- *** END OF WARNING ZONE diff --git a/standalone/trade/trade.gms b/standalone/trade/trade.gms index ecfd65408..26be622ea 100644 --- a/standalone/trade/trade.gms +++ b/standalone/trade/trade.gms @@ -483,7 +483,6 @@ $setglobal cm_feShareLimits off !! def = off $setglobal c_fuelprice_init off !! def = off $setglobal cm_seTradeScenario off !! def = off -$setglobal cm_wind_offshore 0 !! def = 0 *** -------------------------------------------------------------------------------------------------------------------------------------------------------------------- *** -------------------------------------------------------------------------------------------------------------------------------------------------------------------- *** END OF WARNING ZONE From f0cd44c90e48f78bcb83218e88ea72428be5ee82 Mon Sep 17 00:00:00 2001 From: lecfab Date: Mon, 29 Jul 2024 18:45:51 +0200 Subject: [PATCH 212/875] changing wind to windon, associated cleaning --- config/scenario_config.csv | 8 ++++---- core/bounds.gms | 10 +++++----- core/datainput.gms | 24 ++++++++++++------------ main.gms | 17 ----------------- 4 files changed, 21 insertions(+), 38 deletions(-) diff --git a/config/scenario_config.csv b/config/scenario_config.csv index dc58869c7..e65210754 100644 --- a/config/scenario_config.csv +++ b/config/scenario_config.csv @@ -11,10 +11,10 @@ SSP2-PkBudg1050;1,AMT,2;;;5;;;rcp26;9;globallyOptimal;1050;diffLin2Lin;40;2100;; SSP2-EU21-NPi-calibrate;calibrate;calibrate;;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;0;NPi;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. SSP2-EU21-Base;1,AMT,compileInTests,2;;;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;;;;0;;;;;;;off;;;;;;;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix1;2005;;;;;SSP2-EU21-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. SSP2-EU21-NDC;1,AMT,2;;;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;globallyOptimal;0;NDC;;;;9;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2025;;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-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. -SSP2-EU21-NPi;1,AMT,2;;;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-EU21-PkBudg500;1,AMT,2;;;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;500;diffLin2Lin;200;2045;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2025;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg500: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-EU21-PkBudg650;1,AMT,2;;;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2025;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg650: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-EU21-PkBudg1050;1,AMT,2;;;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;9;globallyOptimal;1050;diffLin2Lin;40;2100;;9;;;;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2025;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg1050: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP2-EU21-NPi;1,AMT,2;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-EU21-PkBudg500;1,AMT,2;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;500;diffLin2Lin;200;2045;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2025;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg500: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-EU21-PkBudg650;1,AMT,2;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2025;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg650: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-EU21-PkBudg1050;1,AMT,2;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;9;globallyOptimal;1050;diffLin2Lin;40;2100;;9;;;;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2025;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg1050: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. # H12 SSP1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP1-NPi-calibrate;calibrate;calibrate;;14;;;rcp45;;;0;NPi;;;;9;;;2;1.025;1.75;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;SSP1;Mix1;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. SSP1-NDC;1,AMT,compileInTests;;;;;;rcp45;3;globallyOptimal;0;NDC;;;;9;;;2;1.025;1.75;;2;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SSP1;0.5;1;forcing_SSP1;SSP1;Mix2;2025;;SSP2-NPi;SSP1-NPi;SSP1-NPi;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. diff --git a/core/bounds.gms b/core/bounds.gms index 26b0b7e0b..81882b0fc 100755 --- a/core/bounds.gms +++ b/core/bounds.gms @@ -262,11 +262,11 @@ vm_emiMac.fx(t,regi,"oc") = 0; *** fix capacities for wind, spv and csp to real world historical values: loop(teVRE, - vm_cap.lo("2015",regi,te,"1") = 0.95 * pm_histCap("2015",regi,te)$(pm_histCap("2015",regi,te) gt 1e-10); - vm_cap.up("2015",regi,te,"1") = 1.05 * pm_histCap("2015",regi,te)$(pm_histCap("2015",regi,te) gt 1e-10); - vm_cap.lo("2020",regi,te,"1") = 0.95 * pm_histCap("2020",regi,te)$(pm_histCap("2020",regi,te) gt 1e-10); - vm_cap.up("2020",regi,te,"1") = 1.05 * pm_histCap("2020",regi,te)$(pm_histCap("2020",regi,te) gt 1e-10); - vm_cap.up("2025",regi,te,"1")$(pm_histCap("2025",regi,te) gt 1e-6) = 1.05 * pm_histCap("2025",regi,te)$(pm_histCap("2025",regi,te) gt 1e-10); !! only set a bound if values >1MW are in pm_histCap + vm_cap.lo("2015",regi,teVRE,"1") = 0.95 * pm_histCap("2015",regi,teVRE)$(pm_histCap("2015",regi,teVRE) gt 1e-10); + vm_cap.up("2015",regi,teVRE,"1") = 1.05 * pm_histCap("2015",regi,teVRE)$(pm_histCap("2015",regi,teVRE) gt 1e-10); + vm_cap.lo("2020",regi,teVRE,"1") = 0.95 * pm_histCap("2020",regi,teVRE)$(pm_histCap("2020",regi,teVRE) gt 1e-10); + vm_cap.up("2020",regi,teVRE,"1") = 1.05 * pm_histCap("2020",regi,teVRE)$(pm_histCap("2020",regi,teVRE) gt 1e-10); + vm_cap.up("2025",regi,teVRE,"1")$(pm_histCap("2025",regi,teVRE) gt 1e-6) = 1.05 * pm_histCap("2025",regi,teVRE)$(pm_histCap("2025",regi,teVRE) gt 1e-10); !! only set a bound if values >1MW are in pm_histCap ); *** lower bound on capacities for ngcc and ngt and gaschp for regions defined at the pm_histCap file diff --git a/core/datainput.gms b/core/datainput.gms index 95c88fd31..e48886a3b 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -1032,7 +1032,8 @@ loop(regi, loop(teReNoBio(te), p_aux_capToDistr(regi,te) = pm_histCap("2015",regi,te)$(pm_histCap("2015",regi,te) gt 1e-10); s_aux_cap_remaining = p_aux_capToDistr(regi,te); -*RP* fill up the renewable grades to calculate the total capacity needed to produce the amount calculated in initialcap2, assuming the best grades are filled first (with 20% of each grade not yet used) +*RP* fill up the renewable grades to calculate the total capacity needed to produce the amount calculated in initialcap2, +* assuming the best grades are filled first (with 20% of each grade not yet used) loop(teRe2rlfDetail(te,rlf)$(pm_dataren(regi,"nur",rlf,te) > 0), if(s_aux_cap_remaining > 0, @@ -1067,17 +1068,15 @@ p_histCapFac(tall,all_regi,"windon") $ (p_histCapFac(tall,all_regi,"windon") eq *** only implement half of the calculated ratio of historic to REMIND capFac as rescaling for the new CFs - realised as (x+1)/2 *cb* CF calibration analogously for wind and spv: calibrate 2015, and assume gradual phase-in of grade-based CF (until 2045 for wind, until 2030 for spv) -p_aux_capacityFactorHistOverREMIND(regi,"windon")$p_avCapFac2015(regi,"windon") = p_histCapFac("2015",regi,"windon") / p_avCapFac2015(regi,"windon"); -p_aux_capacityFactorHistOverREMIND(regi,"windoff")$p_avCapFac2015(regi,"windoff") = p_histCapFac("2015",regi,"windoff") / p_avCapFac2015(regi,"windoff"); +p_aux_capacityFactorHistOverREMIND(regi,"windon") $ p_avCapFac2015(regi,"windon") = p_histCapFac("2015",regi,"windon") / p_avCapFac2015(regi,"windon"); +p_aux_capacityFactorHistOverREMIND(regi,"windoff") $ p_avCapFac2015(regi,"windoff") = p_histCapFac("2015",regi,"windoff") / p_avCapFac2015(regi,"windoff"); - -loop(te$(sameas(te,"windon") OR sameas(te,"windoff")), - loop(t$(t.val ge 2015 AND t.val le 2035 ), - pm_cf(t,regi,te) = - (2035 - pm_ttot_val(t)) / 20 * p_aux_capacityFactorHistOverREMIND(regi,te) *pm_cf(t,regi,te) +*** linear phase-in of Remind capacity factors instead of historical ones +loop(t$(t.val ge 2015 AND t.val le 2035), + pm_cf(t,regi,teWind) = + (2035 - pm_ttot_val(t)) / (2035-2015) * pm_cf(t,regi,teWind) * p_aux_capacityFactorHistOverREMIND(regi,teWind) + - (pm_ttot_val(t) - 2015) / 20 * pm_cf(t,regi,te) - ); + (pm_ttot_val(t) - 2015) / (2035-2015) * pm_cf(t,regi,teWind) ); *CG* set storage and grid of windoff to be the same as windon @@ -1089,10 +1088,11 @@ pm_cf("2015",regi,"spv") = pm_cf("2015",regi,"spv") * p_aux_capacityFactorHistOv pm_cf("2020",regi,"spv") = pm_cf("2020",regi,"spv") * (p_aux_capacityFactorHistOverREMIND(regi,"spv")+1)/2; pm_cf("2025",regi,"spv") = pm_cf("2025",regi,"spv") * (p_aux_capacityFactorHistOverREMIND(regi,"spv")+3)/4; -*** RP rescale CSP capacity factors in REMIND - in the DLR resource data input files, the numbers are based on a SM3/12h setup, while the cost data from IEA seems rather based on a SM2/6h setup (with 40% average CF) +*** RP rescale CSP capacity factors in REMIND - in the DLR resource data input files, the numbers are based on a SM3/12h setup, +*** while the cost data from IEA seems rather based on a SM2/6h setup (with 40% average CF) *** Accordingly, decrease CF in REMIND to 2/3 of the DLR values (no need to correct maxprod, as here no miscalculation of total energy yield takes place, in contrast to wind) loop(te$sameas(te,"csp"), - pm_dataren(regi,"nur",rlf,te) = pm_dataren(regi,"nur",rlf,te) * 2/3 ; + pm_dataren(regi,"nur",rlf,te) = pm_dataren(regi,"nur",rlf,te) * 2/3; ); display p_aux_capacityFactorHistOverREMIND, pm_dataren; diff --git a/main.gms b/main.gms index c12e4b4d4..963f564d8 100755 --- a/main.gms +++ b/main.gms @@ -1683,23 +1683,6 @@ $setGlobal cm_FEtax_trajectory_rel off !! def = off *** then the values from the region group disaggregation will be overwritten by this region-specific value. *** For example: "DEU -0.2, EU27_regi -0.4". $setGLobal c_agricult_base_shift off !! def off -*** windoffshore-todo -*** x get rid of cm_wind_offshore conditions -*** x search "wind" and replace all references by "windon" -*** x same with storwind, gridwind -*** x generisdata_nur_ren need to be updated -*** x check pewin -*** - merge pm_histCap_windoff.cs3r into pm_histCap, same with p_histCapFac_windoff -*** - search for $include to check which mrremind files need modification -*** - update mrremind to give windon instead of wind: f_cf.cs3r, f40_NDC+REN21+CHN_NUC.cs3r -*** - remove wind in all_te set -*** - check vm_capFac pm_cf.*win -*** - *CG* set wind offshore, storage and grid to be the same as wind onshore (later should be integrated into input data) main difference between onshore and offshore is the difference in f32_factorStorage -*** - f32_storageCap -*** cm_wind_offshore 1, wind energy is represented by "wind" and "windoff", where "wind" means wind onshore. Later this will be the default and the name "wind" will be made to change to windon -*** cm_wind_offshore 0, means wind energy is only represented by "wind", which is a mixture of both wind onshore and wind offshore -*** $setglobal cm_wind_offshore 1 !! def = 1 -*** *** cm_INCONV_PENALTY on !! def = on *** *RP* 2012-03-06 Flag to turn on inconvenience penalties, e.g. for air pollution $setglobal cm_INCONV_PENALTY on !! def = on !! regexp = off|on From f9e62723b738b7a6d378f66804a49603eaf21376 Mon Sep 17 00:00:00 2001 From: Katarzyna Kowalczyk Date: Mon, 29 Jul 2024 18:51:30 +0200 Subject: [PATCH 213/875] How to use bounds for OAE --- main.gms | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/main.gms b/main.gms index 583a6e648..f382f3b7c 100755 --- a/main.gms +++ b/main.gms @@ -865,6 +865,11 @@ parameter cm_33OAE "choose whether OAE (ocean alkalinity enhancement) should be included into the CDR portfolio. 0 = OAE not used, 1 = used" ; cm_33OAE = 0; !! def = 0 +*' Since OAE is quite a cheap CDR option, runs might not converge because the model tries to deploy +*' a lot of OAE. In this case, use a quantity target to limit OAE by adding something like: +*' (2070,2080,2090,2100).GLO.tax.t.oae.all 5000 to cm_implicitQttyTarget in your config file, +*' starting from the year in which OAE is deployed above 5000 MtCO2 / yr. This will limit the global +*' deployment to 5000 Mt / yr in timesteps 2070-2100. *' * (1): ocean alkalinity enhancement is included *' * (0): not included *' From 8ea6f912c9a7b2035e893cda0f2ea701988d7c5a Mon Sep 17 00:00:00 2001 From: Katarzyna Kowalczyk Date: Mon, 29 Jul 2024 18:52:23 +0200 Subject: [PATCH 214/875] Fix bug in emissions --- core/equations.gms | 21 +++++++------- modules/33_CDR/portfolio/bounds.gms | 2 ++ modules/33_CDR/portfolio/declarations.gms | 8 ++++-- modules/33_CDR/portfolio/equations.gms | 34 ++++++++++++++--------- 4 files changed, 39 insertions(+), 26 deletions(-) diff --git a/core/equations.gms b/core/equations.gms index fd90c7159..1ade747b3 100644 --- a/core/equations.gms +++ b/core/equations.gms @@ -740,18 +740,19 @@ q_emiMac(t,regi,emiMac) .. ***-------------------------------------------------- q_emiCdrAll(t,regi).. vm_emiCdrAll(t,regi) - =e= !! BECC + DACC - (sum(emiBECCS2te(enty,enty2,te,enty3),vm_emiTeDetail(t,regi,enty,enty2,te,enty3)) - + sum(teCCS2rlf(te,rlf), vm_co2capture_cdr(t,regi,"cco2","ico2","ccsinje",rlf))) - !! scaled by the fraction that gets stored geologically - * (sum(teCCS2rlf(te,rlf), - vm_co2CCS(t,regi,"cco2","ico2",te,rlf)) / - (sum(teCCS2rlf(te,rlf), - vm_co2capture(t,regi,"cco2","ico2","ccsinje",rlf))+sm_eps)) + =e= + ( !! BECC + DACC + sum(emiBECCS2te(enty,enty2,te,enty3),vm_emiTeDetail(t,regi,enty,enty2,te,enty3)) + - vm_emiCdrTeDetail(t, regi, "dac") !! this is a negative value + ) + * ( !! scaled by the fraction that gets stored geologically + sum(teCCS2rlf(te, rlf), vm_co2CCS(t, regi, "cco2", "ico2", te, rlf)) + / (sum(teCCS2rlf(te, rlf), vm_co2capture(t, regi, "cco2", "ico2", "ccsinje", rlf)) + sm_eps) + ) !! net negative emissions from co2luc - p_macBaseMagpieNegCo2(t,regi) - !! negative emissions from the cdr module that are not stored geologically - - (vm_emiCdr(t,regi,"co2") + sum(teCCS2rlf(te,rlf), vm_co2capture_cdr(t,regi,"cco2","ico2","ccsinje",rlf))) + !! negative emissions from the cdr module that are not stored geologically + - (vm_emiCdr(t,regi,"co2") - vm_emiCdrTeDetail(t, regi, "dac")) ; diff --git a/modules/33_CDR/portfolio/bounds.gms b/modules/33_CDR/portfolio/bounds.gms index 00628e1b2..d66248c86 100644 --- a/modules/33_CDR/portfolio/bounds.gms +++ b/modules/33_CDR/portfolio/bounds.gms @@ -17,6 +17,7 @@ if(card(te_used33) eq 0, *** Fix CCS from CDR if there're no technologies that require CCS if(card(te_ccs33) eq 0, vm_co2capture_cdr.fx(t,regi,enty,enty2,te,rlf)$ccs2te(enty,enty2,te) = 0; + v33_co2emi_non_atm.fx(t,regi,te_all33) = 0; ); *** Fix negative emissions and FE demand to zero for all the technologies that are not used @@ -27,6 +28,7 @@ v33_FEdemand.fx(t,regi,entyFe,entyFe2,te_all33)$(not te_used33(te_all33) and fe2 *** to reduce unnecessary freedom (and likelyhood of spontaneous solver infeasibilities) vm_emiCdrTeDetail.fx(t,regi,te_used33)$(t.val lt 2025) = 0.0; v33_FEdemand.fx(t,regi,entyFe,entyFe2,te_used33)$(fe2cdr(entyFe,entyFe2,te_used33) AND (t.val lt 2025)) = 0.0; +v33_co2emi_non_atm.fx(t,regi,te_used33)$(t.val lt 2025) = 0; vm_emiCdr.fx(t,regi,"co2")$(t.val lt 2025) = 0; vm_omcosts_cdr.fx(t,regi)$((t.val lt 2025)) = 0; vm_cap.fx(t,regi,"weathering",rlf)$(t.val lt 2025) = 0; diff --git a/modules/33_CDR/portfolio/declarations.gms b/modules/33_CDR/portfolio/declarations.gms index be34f8cdb..3955d5973 100644 --- a/modules/33_CDR/portfolio/declarations.gms +++ b/modules/33_CDR/portfolio/declarations.gms @@ -6,6 +6,8 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/33_CDR/portfolio/declarations.gms scalars +s33_capture_rate "CO2 capture rate for capturing emissions, e.g., from burning natural gas" / 0.9 / + s33_co2_rem_pot "specific carbon removal potential [Gt C per Gt ground rock]" s33_co2_rem_rate "carbon removal rate [fraction of annual reduction of total carbon removal potential]" s33_costs_fix "fixed costs for mining, grinding, spreading [T$/Gt stone]" @@ -28,11 +30,11 @@ v33_EW_onfield(ttot,all_regi,rlf,rlf) "amount of ground rock spread on fields i v33_EW_onfield_tot(ttot,all_regi,rlf,rlf) "total amount of ground rock on fields, for each climate zone and transportation distance [Gt]" v33_FEdemand(ttot,all_regi,all_enty,all_enty,all_te) "FE demand of each technology [TWa]" vm_co2capture_cdr(ttot,all_regi,all_enty,all_enty,all_te,rlf) "total emissions captured through technologies in the CDR module that enter the CCUS chain + captured emissions from associated FE demand [GtC / a]" -v33_co2capture_non_atm(ttot, all_regi) "part of the captured CO2 from CDR-related acitivites that does not come from the atmosphere [GtC / a]" +v33_co2emi_non_atm(ttot,all_regi,all_te) "captured CO2 from CDR-related acitivites that does not come from the atmosphere [GtC / a]" ; negative variables -vm_emiCdrTeDetail(ttot,all_regi,all_te) "(negative) emissions from CDR technologies in the CDR module by technology. Includes all atmospheric CO2 that enter the CCUS chain (i.e. CO2 stored (CDR) AND used (not CDR)) [GtC / a]" +vm_emiCdrTeDetail(ttot,all_regi,all_te) "gross (negative) emissions from CDR technologies in the CDR module by technology. Includes all atmospheric CO2 that enter the CCUS chain (i.e. CO2 stored (CDR) AND used (not CDR)) [GtC / a]" ; equations @@ -40,7 +42,7 @@ q33_demFeCDR(ttot,all_regi,all_enty) "CDR demand balance for final energy" q33_emiCDR(ttot,all_regi) "aggregates the (negative) emissions captured by the CDR technologies" q33_H2bio_lim(ttot,all_regi) "limits H2 from bioenergy to FE - H2 demand from CDR, i.e. no H2 from bioenergy for DAC" q33_capconst(ttot,all_regi,all_te) "calculates amount of carbon captured by DAC and OAE" -q33_co2capture_non_atm(ttot,all_regi) "calculates the share of captured CO2 that does not come from the atmosphere" +q33_co2emi_non_atm(ttot,all_regi,all_te) "calculates the share of captured CO2 that does not come from the atmosphere" q33_ccsbal(ttot,all_regi,all_enty,all_enty,all_te) "calculates CCS emissions from CDR technologies" q33_DAC_FEdemand(ttot,all_regi,all_enty) "calculates final energy demand from DAC" diff --git a/modules/33_CDR/portfolio/equations.gms b/modules/33_CDR/portfolio/equations.gms index 8013cdb8d..0a7f08749 100644 --- a/modules/33_CDR/portfolio/equations.gms +++ b/modules/33_CDR/portfolio/equations.gms @@ -25,16 +25,19 @@ q33_demFeCDR(t,regi,entyFe)$(entyFe2Sector(entyFe,"cdr")).. ***--------------------------------------------------------------------------- *' Sum of all CDR emissions other than BECCS and afforestation, which are calculated in the core. +*' The negative emissions are discounted by emissions that are released due to <100 percent capture +*' rate, as they are unavoidable (1-s33_capture_rate of the emissions that are possible to capture). *' Note that this includes all atmospheric CO2 captured in this module that enters the CCUS chain. ***--------------------------------------------------------------------------- q33_emiCDR(t,regi).. vm_emiCdr(t,regi,"co2") =e= sum(te_used33, vm_emiCdrTeDetail(t,regi,te_used33)) + + (1 - s33_capture_rate) * sum(te_ccs33, v33_co2emi_non_atm(t, regi, te_ccs33)) ; ***--------------------------------------------------------------------------- -*' Calculation of (negative) CO2 emissions from capacity. +*' Calculation of gross (negative) CO2 emissions from capacity. *' Negative emissions from enhanced weathering also result from decaying rock *' spread in previous timesteps, so emissions do not equal to the capacity *' (i.e., how much rock is spread in a given timestep). @@ -48,27 +51,31 @@ q33_capconst(t, regi, te_used33)$(not sameAs(te_used33, "weathering")).. ; ***--------------------------------------------------------------------------- -*' The CO2 captured from the gas used for heat production -*' required for all CDR and from limestone decomposition ocean alkalinity enhancement, -*' assuming a certain capture rate s33_capture rate. +*' The CO2 captured from the gas used for heat production (DAC, OAE) +*' and from limestone decomposition (OAE only). ***--------------------------------------------------------------------------- -q33_co2capture_non_atm(t, regi).. - v33_co2capture_non_atm(t, regi) +q33_co2emi_non_atm(t, regi, te_ccs33).. + v33_co2emi_non_atm(t, regi, te_ccs33) =e= - fm_dataemiglob("pegas","seh2","gash2c","cco2") * sum(fe2cdr("fegas",entyFe2,te_used33), v33_FEdemand(t,regi,"fegas", entyFe2,te_used33)) - - s33_OAE_chem_decomposition * sum(te_oae33, vm_emiCdrTeDetail(t, regi, te_oae33)) + !! carbon captured from burning gas (DAC and OAE technologies) + fm_dataemiglob("pegas","seh2","gash2c","cco2") !! conversion from PE to emissions + * (1 / pm_eta_conv(t,regi,"gash2c")) !! conversion from PE to FE + * sum(fe2cdr("fegas", entyFe2, te_ccs33), v33_FEdemand(t, regi,"fegas", entyFe2, te_ccs33)) !! FE gas used + !! carbon captured from calcination (OAE technologies only) + - (s33_OAE_chem_decomposition * vm_emiCdrTeDetail(t, regi, te_ccs33))$te_oae33(te_ccs33) ; ***--------------------------------------------------------------------------- *' Preparation of captured emissions to enter the CCUS chain. -*' The first part of the equation describes emissions captured from the ambient air, -*' the second part is non-atmospheric CO2 (e.g., from energy usage). +*' The first part of the equation describes emissons captured from the ambient air, +*' the second part is non-atmospheric CO2 (e.g., from energy usage), +*' assuming a capture rate s33_capture_rate. ***--------------------------------------------------------------------------- q33_ccsbal(t, regi, ccs2te(ccsCo2(enty), enty2, te)).. sum(teCCS2rlf(te, rlf), vm_co2capture_cdr(t, regi, enty, enty2, te, rlf)) =e= - vm_emiCdrTeDetail(t, regi, "dac") - + v33_co2capture_non_atm(t, regi) + + s33_capture_rate * sum(te_ccs33, v33_co2emi_non_atm(t, regi, te_ccs33)) ; ***--------------------------------------------------------------------------- @@ -78,7 +85,8 @@ q33_ccsbal(t, regi, ccs2te(ccsCo2(enty), enty2, te)).. q33_H2bio_lim(t,regi).. sum(pe2se("pebiolc","seh2",te), vm_prodSE(t,regi,"pebiolc","seh2",te)) =l= - vm_prodFe(t,regi,"seh2","feh2s","tdh2s") - sum(fe2cdr("feh2s",entyFe2,te_used33), v33_FEdemand(t,regi,"feh2s",entyFe2,te_used33)) + vm_prodFe(t,regi,"seh2","feh2s","tdh2s") + - sum(fe2cdr("feh2s",entyFe2,te_used33), v33_FEdemand(t,regi,"feh2s",entyFe2,te_used33)) ; ***--------------------------------------------------------------------------- @@ -188,7 +196,7 @@ q33_EW_LimEmi(t,regi).. *' Calculation of FE demand for OAE, i.e., electricity for rock preprocessing, *' and heat for calcination. ***--------------------------------------------------------------------------- -q33_OAE_FEdemand(t,regi,entyFe2, te_oae33)$sum(entyFe, fe2cdr(entyFe,entyFe2,te_oae33)).. +q33_OAE_FEdemand(t,regi,entyFe2,te_oae33)$sum(entyFe, fe2cdr(entyFe,entyFe2,te_oae33)).. sum(fe2cdr(entyFe, entyFe2, te_oae33), v33_FEdemand(t, regi, entyFe, entyFe2, te_oae33)) =e= p33_fedem(te_oae33, entyFe2) * sm_EJ_2_TWa * (- vm_emiCdrTeDetail(t, regi, te_oae33)) From 2fe3124072748f3e5418cf0aa2b4faa1051441db Mon Sep 17 00:00:00 2001 From: Katarzyna Kowalczyk Date: Mon, 29 Jul 2024 19:06:20 +0200 Subject: [PATCH 215/875] Restore remind2 --- scripts/input/exoGAINSAirpollutants.R | 5 +---- scripts/input/prepare_NDC.R | 3 +-- scripts/output/single/reporting.R | 3 +-- 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/scripts/input/exoGAINSAirpollutants.R b/scripts/input/exoGAINSAirpollutants.R index d3f918200..d7494b6a0 100644 --- a/scripts/input/exoGAINSAirpollutants.R +++ b/scripts/input/exoGAINSAirpollutants.R @@ -19,13 +19,10 @@ if (file.exists("log.txt")){ #rm(list=ls()) # load required packages -for (pkg in c('madrat', 'dplyr', 'gdx')) { +for (pkg in c('madrat', 'dplyr', 'remind2', 'gdx')) { suppressPackageStartupMessages(require(pkg, character.only = TRUE)) } -devtools::load_all("/p/tmp/katarkow/remind2/ng-el-OAE") -# library(remind2) - # stop madrat reporting its default settings _every damn time_ invisible(getConfig(option = NULL, verbose = firstIteration)) diff --git a/scripts/input/prepare_NDC.R b/scripts/input/prepare_NDC.R index 7ca37fc52..6b77d30d7 100644 --- a/scripts/input/prepare_NDC.R +++ b/scripts/input/prepare_NDC.R @@ -11,8 +11,7 @@ prepare_NDC<-function(gdx, cfg){ library(luplot,quietly=TRUE,warn.conflicts =FALSE) library(lucode2,quietly=TRUE,warn.conflicts =FALSE) library(gdx,quietly=TRUE,warn.conflicts =FALSE) - devtools::load_all("/p/tmp/katarkow/remind2/ng-el-OAE") - # library(remind2) + library(remind2) ############################# BASIC CONFIGURATION ############################# diff --git a/scripts/output/single/reporting.R b/scripts/output/single/reporting.R index 07a0d1369..aa62ed57b 100644 --- a/scripts/output/single/reporting.R +++ b/scripts/output/single/reporting.R @@ -6,8 +6,7 @@ # | Contact: remind@pik-potsdam.de library(magclass) -# library(remind2) -devtools::load_all("/p/tmp/katarkow/remind2/ng-el-OAE") +library(remind2) library(lucode2) library(gms) library(methods) From b40e379a6c9af875d5f60675cf49ed208c9522cf Mon Sep 17 00:00:00 2001 From: Katarzyna Kowalczyk Date: Mon, 29 Jul 2024 19:08:02 +0200 Subject: [PATCH 216/875] Clean up --- modules/33_CDR/portfolio/datainput.gms | 1 - modules/33_CDR/portfolio/sets.gms | 4 ++-- scripts/input/exoGAINSAirpollutants.R | 5 ++++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/modules/33_CDR/portfolio/datainput.gms b/modules/33_CDR/portfolio/datainput.gms index 1cf4f8a54..6a5a26107 100644 --- a/modules/33_CDR/portfolio/datainput.gms +++ b/modules/33_CDR/portfolio/datainput.gms @@ -71,5 +71,4 @@ if(cm_33_OAE_scen = 1, !! optimistic scenario for distribution, lower diesel dem ); *' @stop - *** EOF ./modules/33_CDR/portfolio/datainput.gms diff --git a/modules/33_CDR/portfolio/sets.gms b/modules/33_CDR/portfolio/sets.gms index 0631ec6c9..07b4060a8 100644 --- a/modules/33_CDR/portfolio/sets.gms +++ b/modules/33_CDR/portfolio/sets.gms @@ -11,8 +11,8 @@ te_all33(all_te) "all CDR technologies" / weathering "enhanced weathering" dac "direct air capture" - oae_ng "ocean alkalinity enhancement, natural gas calciner" - oae_el "ocean alkalinity enhancement, electric calciner" + oae_ng "ocean akalinity ehnacement via ocean liming using a traditional calciner" + oae_el "ocean akalinity ehnacement via ocean liming using a novel calciner technology" / te_used33(all_te) "used CDR technologies (specified by switches)" diff --git a/scripts/input/exoGAINSAirpollutants.R b/scripts/input/exoGAINSAirpollutants.R index d7494b6a0..d3f918200 100644 --- a/scripts/input/exoGAINSAirpollutants.R +++ b/scripts/input/exoGAINSAirpollutants.R @@ -19,10 +19,13 @@ if (file.exists("log.txt")){ #rm(list=ls()) # load required packages -for (pkg in c('madrat', 'dplyr', 'remind2', 'gdx')) { +for (pkg in c('madrat', 'dplyr', 'gdx')) { suppressPackageStartupMessages(require(pkg, character.only = TRUE)) } +devtools::load_all("/p/tmp/katarkow/remind2/ng-el-OAE") +# library(remind2) + # stop madrat reporting its default settings _every damn time_ invisible(getConfig(option = NULL, verbose = firstIteration)) From bdf3c4c17704a210ba7c15b8553e09b186ef1eee Mon Sep 17 00:00:00 2001 From: Katarzyna Kowalczyk Date: Mon, 29 Jul 2024 19:19:32 +0200 Subject: [PATCH 217/875] Clean up fixings --- modules/33_CDR/portfolio/declarations.gms | 2 +- modules/33_CDR/portfolio/sets.gms | 4 ++-- scripts/input/prepare_NDC.R | 2 +- scripts/start/prepare.R | 7 +++++-- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/modules/33_CDR/portfolio/declarations.gms b/modules/33_CDR/portfolio/declarations.gms index 3955d5973..80cca8d63 100644 --- a/modules/33_CDR/portfolio/declarations.gms +++ b/modules/33_CDR/portfolio/declarations.gms @@ -30,7 +30,7 @@ v33_EW_onfield(ttot,all_regi,rlf,rlf) "amount of ground rock spread on fields i v33_EW_onfield_tot(ttot,all_regi,rlf,rlf) "total amount of ground rock on fields, for each climate zone and transportation distance [Gt]" v33_FEdemand(ttot,all_regi,all_enty,all_enty,all_te) "FE demand of each technology [TWa]" vm_co2capture_cdr(ttot,all_regi,all_enty,all_enty,all_te,rlf) "total emissions captured through technologies in the CDR module that enter the CCUS chain + captured emissions from associated FE demand [GtC / a]" -v33_co2emi_non_atm(ttot,all_regi,all_te) "captured CO2 from CDR-related acitivites that does not come from the atmosphere [GtC / a]" +v33_co2emi_non_atm(ttot,all_regi,all_te) "CO2 from CDR-related acitivites that does not come from the atmosphere [GtC / a]" ; negative variables diff --git a/modules/33_CDR/portfolio/sets.gms b/modules/33_CDR/portfolio/sets.gms index 07b4060a8..1d8fcd57d 100644 --- a/modules/33_CDR/portfolio/sets.gms +++ b/modules/33_CDR/portfolio/sets.gms @@ -11,8 +11,8 @@ te_all33(all_te) "all CDR technologies" / weathering "enhanced weathering" dac "direct air capture" - oae_ng "ocean akalinity ehnacement via ocean liming using a traditional calciner" - oae_el "ocean akalinity ehnacement via ocean liming using a novel calciner technology" + oae_ng "ocean akalinity ehnacement via ocean liming using a traditional calciner" + oae_el "ocean akalinity ehnacement via ocean liming using a novel calciner technology" / te_used33(all_te) "used CDR technologies (specified by switches)" diff --git a/scripts/input/prepare_NDC.R b/scripts/input/prepare_NDC.R index 6b77d30d7..79c32a58a 100644 --- a/scripts/input/prepare_NDC.R +++ b/scripts/input/prepare_NDC.R @@ -11,7 +11,7 @@ prepare_NDC<-function(gdx, cfg){ library(luplot,quietly=TRUE,warn.conflicts =FALSE) library(lucode2,quietly=TRUE,warn.conflicts =FALSE) library(gdx,quietly=TRUE,warn.conflicts =FALSE) - library(remind2) + library(remind2,quietly = TRUE,warn.conflicts =FALSE) ############################# BASIC CONFIGURATION ############################# diff --git a/scripts/start/prepare.R b/scripts/start/prepare.R index 79854a6d6..d3187c3ff 100644 --- a/scripts/start/prepare.R +++ b/scripts/start/prepare.R @@ -13,8 +13,7 @@ prepare <- function() { #require(lucode, quietly = TRUE,warn.conflicts =FALSE) require(magclass, quietly = TRUE,warn.conflicts =FALSE) require(tools, quietly = TRUE,warn.conflicts =FALSE) - devtools::load_all("/p/tmp/katarkow/remind2/ng-el-OAE") - # require(remind2) + require(remind2,quietly = TRUE,warn.conflicts =FALSE) require(mrremind) require(mrvalidation) @@ -529,6 +528,7 @@ prepare <- function() { list(c("q33_H2bio_lim.M", "!!q33_H2bio_lim.M")), list(c("q33_OAE_FEdemand.M", "!!q33_OAE_FEdemand.M")), list(c("q33_demFeCDR.M", "!!q33_demFeCDR.M")), + list(c("q33_co2capture_non_atm.M", "!!q33_co2capture_non_atm.M")), list(c("q33_emicdrregi.M", "!!q33_emicdrregi.M")), list(c("q33_otherFEdemand.M", "!!q33_otherFEdemand.M"))) } @@ -537,15 +537,18 @@ prepare <- function() { fixings_manipulateThis <- c(fixings_manipulateThis, list(c("vm_ccs_cdr.FX", "vm_co2capture_cdr.FX")), list(c("vm_otherFEdemand.FX", "!!vm_otherFEdemand.FX")), + list(c("v33_co2capture_non_atm.FX", "!!v33_co2capture_non_atm.FX")), list(c("v33_emi.FX", "vm_emiCdrTeDetail.FX"))) levs_manipulateThis <- c(levs_manipulateThis, list(c("vm_ccs_cdr.L", "vm_co2capture_cdr.L")), + list(c("v33_co2capture_non_atm.L", "!!v33_co2capture_non_atm.L")), list(c("vm_otherFEdemand.L", "!!vm_otherFEdemand.L")), list(c("v33_emi.L", "vm_emiCdrTeDetail.L"))) margs_manipulateThis <- c(margs_manipulateThis, list(c("vm_ccs_cdr.M", "vm_co2capture_cdr.M")), + list(c("v33_co2capture_non_atm.M", "!!v33_co2capture_non_atm.M")), list(c("vm_otherFEdemand.M", "!!vm_otherFEdemand.M")), list(c("q33_DAC_capconst.M", "q33_DAC_emi.M"))) } From 6f5e062035e1bf7cbfdbcd8b7b899bf6ebb1a6d5 Mon Sep 17 00:00:00 2001 From: Katarzyna Kowalczyk Date: Mon, 29 Jul 2024 19:40:26 +0200 Subject: [PATCH 218/875] Fix warnings --- core/datainput.gms | 4 ++-- modules/33_CDR/portfolio/datainput.gms | 4 ++-- scripts/input/exoGAINSAirpollutants.R | 5 +---- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/core/datainput.gms b/core/datainput.gms index 19be68ece..45600690d 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -262,8 +262,8 @@ fm_dataglob("inco0","csp") = 0.7 * fm_dataglob("inco0","csp"); fm_dataglob("incolearn","csp") = 0.7 * fm_dataglob("incolearn","csp"); *KK* adjust costs for oae from USD/GtCaO to USD/GtC -fm_dataglob("inco0", "oae_ng") = fm_dataglob("inco0", "oae_ng") / (cm_33_oae_eff / sm_c_2_co2); -fm_dataglob("inco0", "oae_el") = fm_dataglob("inco0", "oae_el") / (cm_33_oae_eff / sm_c_2_co2); +fm_dataglob("inco0", "oae_ng") = fm_dataglob("inco0", "oae_ng") / (cm_33_OAE_eff / sm_c_2_co2); +fm_dataglob("inco0", "oae_el") = fm_dataglob("inco0", "oae_el") / (cm_33_OAE_eff / sm_c_2_co2); *** -------------------------------------------------------------------------------- *** Regionalize technology investment cost data diff --git a/modules/33_CDR/portfolio/datainput.gms b/modules/33_CDR/portfolio/datainput.gms index 6a5a26107..51bbf0cdd 100644 --- a/modules/33_CDR/portfolio/datainput.gms +++ b/modules/33_CDR/portfolio/datainput.gms @@ -54,10 +54,10 @@ p33_LimRock(regi) = pm_pop("2005",regi) / sum(regi2,pm_pop("2005",regi2)); !! An assumption; generally the efficiency might vary between 0.9-1.4 tCO2/tCaO (1.2-1.8 molCO2/molCaO), !! depending on e.g., ocean chemistry and currents in a given region -s33_OAE_efficiency = cm_33_oae_eff / sm_c_2_co2; !! GtC (ocean uptake) per unit of GtCaO +s33_OAE_efficiency = cm_33_OAE_eff / sm_c_2_co2; !! GtC (ocean uptake) per unit of GtCaO !! 0.78 tCO2 are emitted in the decomposition of limestone to produce 1 tCaO -s33_OAE_chem_decomposition = 0.78 / sm_c_2_co2 / s33_oae_efficiency; !! GtC from decomposition per 1GtC taken by the ocean, 0.78 t/tCaO +s33_OAE_chem_decomposition = 0.78 / sm_c_2_co2 / s33_OAE_efficiency; !! GtC from decomposition per 1GtC taken by the ocean, 0.78 t/tCaO p33_fedem(te_oae33, "feels") = 1.0 / s33_OAE_efficiency; !! 996 MJ/tCaO, used for grinding, air separation, CO2 compression p33_fedem(te_oae33, "fehes") = 3.1 / s33_OAE_efficiency; !! 3100 MJ/tCaO, used for calcination diff --git a/scripts/input/exoGAINSAirpollutants.R b/scripts/input/exoGAINSAirpollutants.R index d3f918200..d7494b6a0 100644 --- a/scripts/input/exoGAINSAirpollutants.R +++ b/scripts/input/exoGAINSAirpollutants.R @@ -19,13 +19,10 @@ if (file.exists("log.txt")){ #rm(list=ls()) # load required packages -for (pkg in c('madrat', 'dplyr', 'gdx')) { +for (pkg in c('madrat', 'dplyr', 'remind2', 'gdx')) { suppressPackageStartupMessages(require(pkg, character.only = TRUE)) } -devtools::load_all("/p/tmp/katarkow/remind2/ng-el-OAE") -# library(remind2) - # stop madrat reporting its default settings _every damn time_ invisible(getConfig(option = NULL, verbose = firstIteration)) From 81afa1dfb97fa71430e955f3194d4784a3cfeabc Mon Sep 17 00:00:00 2001 From: Katarzyna Kowalczyk Date: Mon, 29 Jul 2024 19:40:51 +0200 Subject: [PATCH 219/875] Remove unused fixings --- scripts/start/prepare.R | 125 +++------------------------------------- 1 file changed, 9 insertions(+), 116 deletions(-) diff --git a/scripts/start/prepare.R b/scripts/start/prepare.R index d3187c3ff..423118b6a 100644 --- a/scripts/start/prepare.R +++ b/scripts/start/prepare.R @@ -434,125 +434,18 @@ prepare <- function() { } #KK CDR module realizations - levs_manipulateThis <- c(levs_manipulateThis, - list(c("rockgrind", "weathering")), list(c("grindrock", "weathering")), - list(c("\"oae\"", "\"oae_ng\""))) fixings_manipulateThis <- c(fixings_manipulateThis, - list(c("rockgrind", "weathering")), list(c("grindrock", "weathering")), - list(c("\"oae\"", "\"oae_ng\""))) - margs_manipulateThis <- c(margs_manipulateThis, - list(c("rockgrind", "weathering")), list(c("grindrock", "weathering")), - list(c("\"oae\"", "\"oae_ng\""))) - - if(cfg$gms$CDR == 'DAC'){ - fixings_manipulateThis <- c(fixings_manipulateThis, - list(c("v33_emiEW.FX", "!!v33_emiEW.FX")), - list(c("v33_weathering_onfield.FX", "!!v33_grindrock_onfield.FX")), - list(c("v33_weathering_onfield_tot.FX", "!!v33_grindrock_onfield_tot.FX"))) - - levs_manipulateThis <- c(levs_manipulateThis, - list(c("v33_emiEW.L", "!!v33_emiEW.L")), - list(c("v33_weathering_onfield.L", "!!v33_grindrock_onfield.L")), - list(c("v33_weathering_onfield_tot.L", "!!v33_grindrock_onfield_tot.L"))) - - margs_manipulateThis <- c(margs_manipulateThis, - list(c("v33_emiEW.M", "!!v33_emiEW.M")), - list(c("v33_weathering_onfield.M", "!!v33_grindrock_onfield.M")), - list(c("v33_weathering_onfield_tot.M", "!!v33_grindrock_onfield_tot.M")), - list(c("q33_capconst_weathering.M", "!!q33_capconst_grindrock.M")), - list(c("q33_weathering_onfield_tot.M", "!!q33_grindrock_onfield_tot.M")), - list(c("q33_omcosts.M", "!!q33_omcosts.M")), - list(c("q33_potential.M", "!!q33_potential.M")), - list(c("q33_emiEW.M", "!!q33_emiEW.M")), - list(c("q33_LimEmiEW.M", "!!q33_LimEmiEW.M"))) - } - - if(cfg$gms$CDR == 'weathering'){ - fixings_manipulateThis <- c(fixings_manipulateThis, - list(c("v33_emiDAC.FX", "!!v33_emiDAC.FX")), - list(c("v33_DacFEdemand_el.FX", "!!v33_DacFEdemand_el.FX")), - list(c("v33_DacFEdemand_heat.FX", "!!v33_DacFEdemand_heat.FX"))) - - levs_manipulateThis <- c(levs_manipulateThis, - list(c("v33_emiDAC.L", "!!v33_emiDAC.L")), - list(c("v33_DacFEdemand_el.L", "!!v33_DacFEdemand_el.L")), - list(c("v33_DacFEdemand_heat.L", "!!v33_DacFEdemand_heat.L"))) - - margs_manipulateThis <- c(margs_manipulateThis, - list(c("v33_emiDAC.M", "!!v33_emiDAC.")), - list(c("v33_DacFEdemand_el.M", "!!v33_DacFEdemand_el.M")), - list(c("v33_DacFEdemand_heat.M", "!!v33_DacFEdemand_heat.M")), - list(c("q33_DacFEdemand_heat.M", "!!q33_DacFEdemand_heat.M")), - list(c("q33_DacFEdemand_el.M", "!!q33_DacFEdemand_el.M")), - list(c("q33_capconst_dac.M", "!!q33_capconst_dac.M")), - list(c("q33_ccsbal.M", "!!q33_ccsbal.M")), - list(c("q33_H2bio_lim.M", "!!q33_H2bio_lim.M"))) - } + list(c("vm_ccs_cdr.FX", "vm_co2capture_cdr.FX")), + list(c("v33_emi.FX", "vm_emiCdrTeDetail.FX"))) - if(cfg$gms$CDR == 'off' || cfg$gms$CDR == 'portfolio'){ - fixings_manipulateThis <- c(fixings_manipulateThis, - list(c("v33_emiDAC.FX", "!!v33_emiDAC.FX")), - list(c("v33_emiEW.FX", "!!v33_emiEW.FX")), - list(c("v33_DacFEdemand_el.FX", "!!v33_DacFEdemand_el.FX")), - list(c("v33_DacFEdemand_heat.FX", "!!v33_DacFEdemand_heat.FX")), - list(c("v33_weathering_onfield.FX", "!!v33_grindrock_onfield.FX")), - list(c("v33_weathering_onfield_tot.FX", "!!v33_grindrock_onfield_tot.FX"))) - - levs_manipulateThis <- c(levs_manipulateThis, - list(c("v33_emiDAC.L", "!!v33_emiDAC.L")), - list(c("v33_emiEW.L", "!!v33_emiEW.L")), - list(c("v33_DacFEdemand_el.L", "!!v33_DacFEdemand_el.L")), - list(c("v33_DacFEdemand_heat.L", "!!v33_DacFEdemand_heat.L")), - list(c("v33_weathering_onfield.L", "!!v33_grindrock_onfield.L")), - list(c("v33_weathering_onfield_tot.L", "!!v33_grindrock_onfield_tot.L"))) - - margs_manipulateThis <- c(margs_manipulateThis, - list(c("v33_emiDAC.M", "!!v33_emiDAC.M")), - list(c("v33_emiEW.M", "!!v33_emiEW.M")), - list(c("v33_weathering_onfield.M", "!!v33_grindrock_onfield.M")), - list(c("v33_weathering_onfield_tot.M", "!!v33_grindrock_onfield_tot.M")), - list(c("v33_DacFEdemand_el.M", "!!v33_DacFEdemand_el.M")), - list(c("v33_DacFEdemand_heat.M", "!!v33_DacFEdemand_heat.M")), - list(c("q33_capconst_weathering.M", "!!q33_capconst_grindrock.M")), - list(c("q33_weathering_onfield_tot.M", "!!q33_grindrock_onfield_tot.M")), - list(c("q33_omcosts.M", "!!q33_omcosts.M")), - list(c("q33_potential.M", "!!q33_potential.M")), - list(c("q33_emiEW.M", "!!q33_emiEW.M")), - list(c("q33_LimEmiEW.M", "!!q33_LimEmiEW.M")), - list(c("q33_DacFEdemand_heat.M", "!!q33_DacFEdemand_heat.M")), - list(c("q33_DacFEdemand_el.M", "!!q33_DacFEdemand_el.M")), - list(c("q33_capconst_dac.M", "!!q33_capconst_dac.M")), - list(c("q33_DAC_capconst.M", "!!q33_DAC_capconst.M")), - list(c("q33_DAC_ccsbal.M", "!!q33_DAC_ccsbal.M")), - list(c("q33_ccsbal.M", "!!q33_ccsbal.M")), - list(c("q33_H2bio_lim.M", "!!q33_H2bio_lim.M")), - list(c("q33_OAE_FEdemand.M", "!!q33_OAE_FEdemand.M")), - list(c("q33_demFeCDR.M", "!!q33_demFeCDR.M")), - list(c("q33_co2capture_non_atm.M", "!!q33_co2capture_non_atm.M")), - list(c("q33_emicdrregi.M", "!!q33_emicdrregi.M")), - list(c("q33_otherFEdemand.M", "!!q33_otherFEdemand.M"))) - } - - if(cfg$gms$CDR == 'portfolio'){ - fixings_manipulateThis <- c(fixings_manipulateThis, - list(c("vm_ccs_cdr.FX", "vm_co2capture_cdr.FX")), - list(c("vm_otherFEdemand.FX", "!!vm_otherFEdemand.FX")), - list(c("v33_co2capture_non_atm.FX", "!!v33_co2capture_non_atm.FX")), - list(c("v33_emi.FX", "vm_emiCdrTeDetail.FX"))) - - levs_manipulateThis <- c(levs_manipulateThis, - list(c("vm_ccs_cdr.L", "vm_co2capture_cdr.L")), - list(c("v33_co2capture_non_atm.L", "!!v33_co2capture_non_atm.L")), - list(c("vm_otherFEdemand.L", "!!vm_otherFEdemand.L")), - list(c("v33_emi.L", "vm_emiCdrTeDetail.L"))) - - margs_manipulateThis <- c(margs_manipulateThis, - list(c("vm_ccs_cdr.M", "vm_co2capture_cdr.M")), - list(c("v33_co2capture_non_atm.M", "!!v33_co2capture_non_atm.M")), - list(c("vm_otherFEdemand.M", "!!vm_otherFEdemand.M")), - list(c("q33_DAC_capconst.M", "q33_DAC_emi.M"))) - } + levs_manipulateThis <- c(levs_manipulateThis, + list(c("vm_ccs_cdr.L", "vm_co2capture_cdr.L")), + list(c("v33_emi.L", "vm_emiCdrTeDetail.L"))) + margs_manipulateThis <- c(margs_manipulateThis, + list(c("vm_ccs_cdr.M", "vm_co2capture_cdr.M")), + list(c("q33_DAC_ccsbal.M", "!!q33_DAC_ccsbal.M")), + list(c("q33_DAC_emi.M", "!!q33_DAC_emi.M"))) # end of CDR module realizations levs_manipulateThis <- c(levs_manipulateThis, From 6ce105cc8f76433ff8f96226bd5e4536e5ae516d Mon Sep 17 00:00:00 2001 From: David Klein Date: Tue, 30 Jul 2024 18:23:42 +0200 Subject: [PATCH 220/875] Update tutorials/04_RunningREMINDandMAgPIE.md Co-authored-by: Leon Merfort <58845874+merfort@users.noreply.github.com> --- tutorials/04_RunningREMINDandMAgPIE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/04_RunningREMINDandMAgPIE.md b/tutorials/04_RunningREMINDandMAgPIE.md index b6bc5a8fb..a0cf54aa6 100644 --- a/tutorials/04_RunningREMINDandMAgPIE.md +++ b/tutorials/04_RunningREMINDandMAgPIE.md @@ -120,7 +120,7 @@ Other, optional columns allow you to make a run start only after another has fin - `oldrun`: This setting can be used to continue a coupled run that had a different name and/or is in a different folder. It works in almost the same way as `path_gdx`, but it is used only if no REMIND run has been finished for this scenario. It will look in the path set in `start_bundle_coupled.R`'s `path_remind_oldruns`. This can be useful when continuing a previous experiment that was made in another REMIND copy, or after changing scenario names. - `path_report: Provide a path to a MAgPIE report here if you want REMIND to start with it. It overwrites whatever might have been automatically found from former MAgPIE runs. - `cm_nash_autoconverge_lastrun`: can be used to specify `cm_nash_autoconverge`, but only for the last REMIND run, for example to increase precision there by setting it to `2`. - - `cfg_mag$...`: If you don't want to define individual scenarios in MAgPIE to address switches, you can directly address MAgPIE switches in the `scenario_config_coupled.csv`. Add any number of columns to your `scenario_config_coupled.csv` that have the name of the MAgPIE switch as the column name. They need to start with `cfg_mag$`. For example: if you want to set `gms$s56_cprice_red_factor` to `3.14` for `SSP2-NPi`, add the column `cfg_mag$gms$s56_cprice_red_factor` to your `scenario_config_coupled.csv` and fill in `3.14` in the row that defines `SSP2-NPi`. + - `cfg_mag$...`: If you don't want to select composed scenarios in MAgPIE to address switches, you can directly address individual MAgPIE switches in the `scenario_config_coupled.csv`. Add any number of columns to your `scenario_config_coupled.csv` that have the name of the MAgPIE switch as the column name. They need to start with `cfg_mag$`. For example: if you want to set `gms$s56_cprice_red_factor` to `3.14` for `SSP2-NPi`, add the column `cfg_mag$gms$s56_cprice_red_factor` to your `scenario_config_coupled.csv` and fill in `3.14` in the row that defines `SSP2-NPi`. ### Perform test start before actually submitting runs From b600593a1bf16251377bb8806270c3a5b82b7986 Mon Sep 17 00:00:00 2001 From: David Klein Date: Thu, 1 Aug 2024 11:59:51 +0200 Subject: [PATCH 221/875] Only specify memory requirements for cs2 if not already selected by user via outputR. Insted of --mem-per-cpu use --mem (as also done in output.R) to avoid forbidden combination of memory parameters. --- scripts/output/comparison/compareScenarios2.R | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/output/comparison/compareScenarios2.R b/scripts/output/comparison/compareScenarios2.R index cd9e30c5b..65aedd71a 100644 --- a/scripts/output/comparison/compareScenarios2.R +++ b/scripts/output/comparison/compareScenarios2.R @@ -60,7 +60,8 @@ startComp <- function( " --comment=compareScenarios2", " --output=", jobName, ".out", " --error=", jobName, ".out", - " --mail-type=END,FAIL --time=200 --mem-per-cpu=8000", + " --mail-type=END,FAIL --time=200", + if (!grepl("--mem", slurmConfig)) " --mem=8000", " --wrap=\"Rscript ", script, " outputDirs=", paste(outputDirs, collapse = ","), " profileName=", profileName, From d5c1af6834bd84f565fb7417daacb19e7624c5f0 Mon Sep 17 00:00:00 2001 From: David Klein Date: Thu, 1 Aug 2024 12:04:06 +0200 Subject: [PATCH 222/875] Add --partition=priority for subsequent runs if submitted with --qos=priority --- start_coupled.R | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/start_coupled.R b/start_coupled.R index fa7b3ebf6..6b4b128cd 100644 --- a/start_coupled.R +++ b/start_coupled.R @@ -259,7 +259,8 @@ start_coupled <- function(path_remind, path_magpie, cfg_rem, cfg_mag, runname, m sq <- system(paste0("squeue -u ", Sys.info()[["user"]], " -o '%q %j' | grep -v ", fullrunname), intern = TRUE) subseq.env$qos <- if (is.null(attr(sq, "status")) && sum(grepl("^priority ", sq)) < 4) "priority" else "short" } - slurmOptions <- combine_slurmConfig(paste0("--qos=", subseq.env$qos, " --job-name=", subseq.env$fullrunname, " --output=", logfile, + slurmOptions <- combine_slurmConfig(paste0("--qos=", subseq.env$qos, if (subseq.env$qos %in% "priority") " --partition=priority", + " --job-name=", subseq.env$fullrunname, " --output=", logfile, " --open-mode=append --mail-type=END,FAIL --comment=REMIND-MAgPIE --tasks-per-node=", subseq.env$numberOfTasks, if (subseq.env$numberOfTasks == 1) " --mem=8000"), subseq.env$sbatch) subsequentcommand <- paste0("sbatch ", slurmOptions, " --wrap=\"Rscript start_coupled.R coupled_config=", RData_file, "\"") From 973f0ef28801ceaf80708cc359a2e29bb4b7e9c2 Mon Sep 17 00:00:00 2001 From: David Klein Date: Thu, 1 Aug 2024 12:07:14 +0200 Subject: [PATCH 223/875] Filter empty fields (NA) in MAgPIE scenarios and switches. Add --partition=priority for coupled runs if submitted with --qos=priority. Fix typo. --- start_bundle_coupled.R | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/start_bundle_coupled.R b/start_bundle_coupled.R index 9a28bb06d..f88b67b3d 100755 --- a/start_bundle_coupled.R +++ b/start_bundle_coupled.R @@ -383,20 +383,22 @@ for(scen in common){ # configure MAgPIE using the scenarios extracted above if (nrow(magpieScenarios) > 0) { for (i in seq_len(ncol(magpieScenarios))) { - pathToScenrioConfig <- colnames(magpieScenarios)[i] + pathToScenarioConfig <- colnames(magpieScenarios)[i] # backwards compatibility: if the column name is 'magpie_scen' use the 'config/scenario_config.csv' - pathToScenrioConfig <- ifelse(pathToScenrioConfig == "magpie_scen", "config/scenario_config.csv", pathToScenrioConfig) + pathToScenarioConfig <- ifelse(pathToScenarioConfig == "magpie_scen", "config/scenario_config.csv", pathToScenarioConfig) scenarioList <- magpieScenarios[,i] - cfg_mag <- setScenario(cfg_mag, trimws(unlist(strsplit(scenarioList, split = ",|\\|"))), - scenario_config = file.path(path_magpie, pathToScenrioConfig)) + if(!is.na(scenarioList)) { + cfg_mag <- setScenario(cfg_mag, trimws(unlist(strsplit(scenarioList, split = ",|\\|"))), + scenario_config = file.path(path_magpie, pathToScenarioConfig)) + } } } # always select 'coupling' scenario cfg_mag <- setScenario(cfg_mag, "coupling", scenario_config = file.path(path_magpie, "config", "scenario_config.csv")) - # extract magpie switches from coupled config - magpieSwitches <- scenarios_coupled %>% select(contains("cfg_mag")) %>% t() %>% as.data.frame() + # extract magpie switches from coupled config, replace NA otherwise setScenario complains + magpieSwitches <- scenarios_coupled %>% select(contains("cfg_mag")) %>% t() %>% as.data.frame() %>% replace(is.na(.), "") # configure MAgPIE according to individual switches provided in scenario_config_coupled*.csv if (nrow(magpieSwitches) > 0) { @@ -662,7 +664,8 @@ for (scen in common) { sq <- system(paste0("squeue -u ", Sys.info()[["user"]], " -o '%q %j'"), intern = TRUE) runEnv$qos <- if (is.null(attr(sq, "status")) && sum(grepl("^priority ", sq)) < 4) "priority" else "short" } - slurmOptions <- combine_slurmConfig(paste0("--qos=", runEnv$qos, " --job-name=", fullrunname, " --output=", logfile, + slurmOptions <- combine_slurmConfig(paste0("--qos=", runEnv$qos, if (runEnv$qos %in% "priority") " --partition=priority", + " --job-name=", fullrunname, " --output=", logfile, " --open-mode=append --mail-type=END,FAIL --comment=REMIND-MAgPIE --tasks-per-node=", runEnv$numberOfTasks, if (runEnv$numberOfTasks == 1) " --mem=8000"), runEnv$sbatch) slurmCommand <- paste0("sbatch ", slurmOptions, " --wrap=\"Rscript start_coupled.R coupled_config=", Rdatafile, "\"") From 9dd70e572131a39d3300760a1e253251fb5eed7e Mon Sep 17 00:00:00 2001 From: David Klein Date: Thu, 1 Aug 2024 12:10:42 +0200 Subject: [PATCH 224/875] Include the two new options to select MAgPIE scenarios in the coupling to the tests: Add (i) column with path to an additional MAgPIE scenario_config.csv and (ii) individual MAgPIE switches to scenario_config_coupled_shortCascade.csv. --- config/tests/scenario_config_coupled_shortCascade.csv | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/config/tests/scenario_config_coupled_shortCascade.csv b/config/tests/scenario_config_coupled_shortCascade.csv index 536666f59..97eb68080 100644 --- a/config/tests/scenario_config_coupled_shortCascade.csv +++ b/config/tests/scenario_config_coupled_shortCascade.csv @@ -1,4 +1,4 @@ -title;start;qos;sbatch;magpie_scen;magpie_empty;no_ghgprices_land_until;max_iterations;oldrun;path_gdx;path_gdx_ref;path_gdx_bau;path_report;cm_nash_autoconverge_lastrun;path_mif_ghgprice_land -TESTTHAT-SSP2-Base;1;auto;--wait --mail-type=FAIL;SSP2|NPI;TRUE;y2150;2;;;;;;2; -TESTTHAT-SSP2-NDC;1;auto;--wait --mail-type=FAIL;SSP2|NDC;TRUE;y2150;2;;;;;;2;TESTTHAT-SSP2-Base -TESTTHAT-SSP2-Policy;2;auto;--wait --mail-type=FAIL;SSP2|NDC;TRUE;y2150;2;TESTTHAT-SSP2-Base;;;;;;output/C_TESTTHAT-SSP2-Base-rem-1/REMIND_generic_C_TESTTHAT-SSP2-Base-rem-1.mif +title;start;qos;sbatch;magpie_scen;config/scenario_config.csv;magpie_empty;no_ghgprices_land_until;max_iterations;oldrun;path_gdx;path_gdx_ref;path_gdx_bau;path_report;cm_nash_autoconverge_lastrun;path_mif_ghgprice_land;cfg_mag$gms$s56_minimum_cprice;cfg_mag$damping_factor +TESTTHAT-SSP2-Base;1;auto;--wait --mail-type=FAIL;SSP2|NPI;SDP-MC;TRUE;y2150;2;;;;;;2;;; +TESTTHAT-SSP2-NDC;1;auto;--wait --mail-type=FAIL;SSP2|NDC;;TRUE;y2150;2;;;;;;2;TESTTHAT-SSP2-Base;;0.80 +TESTTHAT-SSP2-Policy;2;auto;--wait --mail-type=FAIL;SSP2|NDC;SDP-MC;TRUE;y2150;2;TESTTHAT-SSP2-Base;;;;;;output/C_TESTTHAT-SSP2-Base-rem-1/REMIND_generic_C_TESTTHAT-SSP2-Base-rem-1.mif;20; From a4c2722b5761f5b07ea51caedb2de905ae6320d7 Mon Sep 17 00:00:00 2001 From: David Klein Date: Thu, 1 Aug 2024 13:37:07 +0200 Subject: [PATCH 225/875] Bugfix: keep data frame even if only one column remains after filtering --- start_bundle_coupled.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/start_bundle_coupled.R b/start_bundle_coupled.R index f88b67b3d..38b4b686f 100755 --- a/start_bundle_coupled.R +++ b/start_bundle_coupled.R @@ -378,7 +378,7 @@ for(scen in common){ # extract columns from coupled config that define magpie scenarios # the column must be named 'magpie_scen' (then the default config/scenario_config.csv will be loaded) # or they have to have the path to a scenario_config*.csv as their name - magpieScenarios <- scenarios_coupled[scen, grepl("scenario_config|magpie_scen", colnames(scenarios_coupled))] + magpieScenarios <- scenarios_coupled[scen, grepl("scenario_config|magpie_scen", colnames(scenarios_coupled)), drop = FALSE] # configure MAgPIE using the scenarios extracted above if (nrow(magpieScenarios) > 0) { From 407266708372140745434625ae2846bebfb1d00e Mon Sep 17 00:00:00 2001 From: David Klein Date: Thu, 1 Aug 2024 13:37:34 +0200 Subject: [PATCH 226/875] Remove outdated scenarios from coupled config. --- config/scenario_config_coupled.csv | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/config/scenario_config_coupled.csv b/config/scenario_config_coupled.csv index 3ebc6fb22..9d4b2dace 100644 --- a/config/scenario_config_coupled.csv +++ b/config/scenario_config_coupled.csv @@ -1,19 +1,15 @@ title;start;oldrun;path_report;qos;magpie_scen;no_ghgprices_land_until;path_gdx;path_gdx_bau;path_gdx_ref -SDP_MC-Base;0;;;;SDP-MC|NPI|nocc_hist;y2150;;; -SDP_MC-NDC;0;;;;SDP-MC|NDC|nocc_hist;y2150;;; SDP_MC-NPi;0;;;;SDP-MC|NPI|nocc_hist;y2150;;; SDP_MC-PkBudg650;0;;;;SDP-MC|NDC|nocc_hist;y2030;;; -SSP1-Base;0;;;;SSP1|NPI|nocc_hist;y2150;;; SSP1-NDC;0;;;;SSP1|NDC|nocc_hist;y2150;;; SSP1-NPi;0;;;;SSP1|NPI|nocc_hist;y2150;;; SSP1-PkBudg1050;0;;;;SSP1|NDC|nocc_hist;y2030;;; SSP1-PkBudg650;0;;;;SSP1|NDC|nocc_hist;y2030;;; -SSP2-Base;0;;;;SSP2|NPI|nocc_hist;y2150;;; +SSP2-Base;1;;;;SSP2|NPI|nocc_hist;y2150;;; SSP2-NDC;0;;;;SSP2|NDC|nocc_hist;y2150;;; SSP2-NPi;0;;;;SSP2|NPI|nocc_hist;y2150;;; SSP2-PkBudg1050;0;;;;SSP2|NDC|nocc_hist;y2030;;; SSP2-PkBudg650;0;;;;SSP2|NDC|nocc_hist;y2030;;; -SSP5-Base;0;;;;SSP5|NPI|nocc_hist;y2150;;; SSP5-NDC;0;;;;SSP5|NDC|nocc_hist;y2150;;; SSP5-NPi;0;;;;SSP5|NPI|nocc_hist;y2150;;; SSP5-PkBudg1050;0;;;;SSP5|NDC|nocc_hist;y2030;;; From bed5c9a79f2e215bd774f213694b482b68e72b50 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Thu, 1 Aug 2024 11:53:57 +0000 Subject: [PATCH 227/875] Release development version 3.3.2.dev267 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 185971380..5d1604a09 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,8 +266,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev246" -date-released: 2024-07-26 +version: "3.3.2.dev267" +date-released: 2024-08-01 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index a6d0a84c5..f10804435 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev246" +cfg$model_version <- "3.3.2.dev267" #### settings #### cfg$gms <- list() From 1394bcb2831e211a5fa8536782c67a562f618d49 Mon Sep 17 00:00:00 2001 From: David Klein Date: Thu, 1 Aug 2024 14:01:03 +0200 Subject: [PATCH 228/875] Undo the accidental activation of a coupling scenario. --- config/scenario_config_coupled.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/scenario_config_coupled.csv b/config/scenario_config_coupled.csv index 9d4b2dace..7306a500e 100644 --- a/config/scenario_config_coupled.csv +++ b/config/scenario_config_coupled.csv @@ -5,7 +5,7 @@ SSP1-NDC;0;;;;SSP1|NDC|nocc_hist;y2150;;; SSP1-NPi;0;;;;SSP1|NPI|nocc_hist;y2150;;; SSP1-PkBudg1050;0;;;;SSP1|NDC|nocc_hist;y2030;;; SSP1-PkBudg650;0;;;;SSP1|NDC|nocc_hist;y2030;;; -SSP2-Base;1;;;;SSP2|NPI|nocc_hist;y2150;;; +SSP2-Base;0;;;;SSP2|NPI|nocc_hist;y2150;;; SSP2-NDC;0;;;;SSP2|NDC|nocc_hist;y2150;;; SSP2-NPi;0;;;;SSP2|NPI|nocc_hist;y2150;;; SSP2-PkBudg1050;0;;;;SSP2|NDC|nocc_hist;y2030;;; From 1c045e66a44ef68c6273dfa3768d83444985b71a Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Thu, 1 Aug 2024 12:44:26 +0000 Subject: [PATCH 229/875] Release development version 3.3.2.dev271 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 5d1604a09..e5e67221a 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,7 +266,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev267" +version: "3.3.2.dev271" date-released: 2024-08-01 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index f10804435..0a405fb2f 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev267" +cfg$model_version <- "3.3.2.dev271" #### settings #### cfg$gms <- list() From 2ab0f65ffe58924bc2ac31f076711307eade19d9 Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Fri, 2 Aug 2024 01:53:51 +0200 Subject: [PATCH 230/875] add support for penalty for secondary energy share deviation in sectors --- core/declarations.gms | 19 +++++ core/equations.gms | 81 ++++++++++++++++--- main.gms | 19 +++++ .../02_welfare/ineqLognormal/equations.gms | 10 ++- modules/02_welfare/utilitarian/equations.gms | 10 ++- 5 files changed, 123 insertions(+), 16 deletions(-) diff --git a/core/declarations.gms b/core/declarations.gms index d9589e508..e36bd94d8 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -419,6 +419,9 @@ v_shGreenH2(ttot,all_regi) "share of green hydrogen in all hydrogen by 2030 [0 v_shBioTrans(ttot,all_regi) "Share of biofuels in transport liquids from 2025 onwards. Value between 0 and 1." v_shfe(ttot,all_regi,all_enty,emi_sectors) "share of final energy in sector total final energy [0..1]" +v_shSefe(ttot,all_regi,all_enty,all_enty) "share of secondary energy on total final energy [0..1]" +v_shSefeSector(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "share of secondary energy in sector total final energy per emission market [0..1]" + v_shGasLiq_fe(ttot,all_regi,emi_sectors) "share of gases and liquids in sector final energy [0..1]" vm_emiCdrAll(ttot,all_regi) "all CDR emissions" @@ -437,6 +440,11 @@ vm_demFeForEs(ttot,all_regi,all_enty,all_esty,all_teEs) "Final energy which vm_prodEs(ttot,all_regi,all_enty,all_esty,all_teEs) "Energy services (unit determined by conversion factor pm_fe2es)." vm_transpGDPscale(ttot,all_regi) "dampening factor to align edge-t non-energy transportation costs with historical GDP data" +$ifthen.seFeSectorShareDev not "%cm_seFeSectorShareDevMethod%" == "off" + v_penSeFeSectorShare(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "penalty for secondary energy share deviation in sectors" + vm_penSeFeSectorShareDevCost(ttot,all_regi) "total penalty cost for secondary energy share deviation in sectors" +$endif.seFeSectorShareDev + ; ***---------------------------------------------------------------------------------------- *** EQUATIONS @@ -543,6 +551,8 @@ q_shGreenH2(ttot,all_regi) "share of green hydrogen in all hydrogen" q_shBioTrans(ttot,all_regi) "Define the share of biofuels in transport liquids from 2025 on." q_shfe(ttot,all_regi,all_enty,emi_sectors) "share of final energy carrier in the sector final energy" +q_shSeFe(ttot,all_regi,all_enty,all_enty) "share of secondary energy on total final energy" +q_shSeFeSector(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "share of secondary energy in sector total final energy per emission market" q_shGasLiq_fe(ttot,all_regi,emi_sectors) "share of gases and liquids in sector final energy" q_shbiofe_up(ttot,all_regi,all_enty,emi_sectors,all_emiMkt) "share of biomass per carrier in sector final energy (upper bound)" @@ -556,6 +566,15 @@ $IFTHEN.sehe_upper not "%cm_sehe_upper%" == "off" q_heat_limit(ttot,all_regi) "equation to limit maximum level of secondary energy district heating and heat pumps use" $ENDIF.sehe_upper +$ifthen.seFeSectorShareDev not "%cm_seFeSectorShareDevMethod%" == "off" + q_penSeFeSectorShareDev(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "penalty for secondary energy share deviation in sectors" + q_penSeFeSectorShareDevCost(ttot,all_regi) "total penalty cost for secondary energy share deviation in sectors" +$endif.seFeSectorShareDev + +$ifthen.minMaxSeFeSectorShareDev "%cm_seFeSectorShareDevMethod%" == "minMaxAvrgShare" + q_minMaxPenSeFeSectorShareDev(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "min-max penalty balance for secondary energy share deviation in sectors" +$endif.seFeSectorShareDev + ***---------------------------------------------------------------------------------------- ***----------------------------------------------trade module------------------------------ diff --git a/core/equations.gms b/core/equations.gms index cc6a4a1c0..8e6d6c7e6 100644 --- a/core/equations.gms +++ b/core/equations.gms @@ -1054,32 +1054,49 @@ q_shBioTrans(t,regi).. ; ***--------------------------------------------------------------------------- -*' Share of final energy carrier in sector +*' Shares of final energy carrier in sector ***--------------------------------------------------------------------------- q_shfe(t,regi,entyFe,sector)$(pm_shfe_up(t,regi,entyFe,sector) OR pm_shfe_lo(t,regi,entyFe,sector)).. v_shfe(t,regi,entyFe,sector) * sum(emiMkt$sector2emiMkt(sector,emiMkt), sum(se2fe(entySe,entyFe2,te)$(entyFe2Sector(entyFe2,sector)), - vm_demFeSector(t,regi,entySe,entyFe2,sector,emiMkt))) + vm_demFeSector_afterTax(t,regi,entySe,entyFe2,sector,emiMkt))) =e= sum(emiMkt$sector2emiMkt(sector,emiMkt), sum(se2fe(entySe,entyFe,te), - vm_demFeSector(t,regi,entySe,entyFe,sector,emiMkt))) + vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt))) ; +q_shSeFe(t,regi,entySe,entyFe)$sefe(entySe,entyFe).. + v_shSefe(t,regi,entySe,entyFe) + * sum((entySe2,sector,emiMkt)$(sefe(entySe2,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector)), + vm_demFeSector_afterTax(t,regi,entySe2,entyFe,sector,emiMkt) + ) + =e= + sum((sector,emiMkt)$(sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector)), + vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt) + ); + +q_shSeFeSector(t,regi,entySe,entyFe,sector,emiMkt)$(sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector)).. + v_shSefeSector(t,regi,entySe,entyFe,sector,emiMkt) + * sum(entySe2$sefe(entySe2,entyFe), + vm_demFeSector_afterTax(t,regi,entySe2,entyFe,sector,emiMkt) + ) + =e= + vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt); + q_shGasLiq_fe(t,regi,sector)$(pm_shGasLiq_fe_up(t,regi,sector) OR pm_shGasLiq_fe_lo(t,regi,sector)).. v_shGasLiq_fe(t,regi,sector) * sum(emiMkt$sector2emiMkt(sector,emiMkt), sum(se2fe(entySe,entyFe,te)$(entyFe2Sector(entyFe,sector)), - vm_demFeSector(t,regi,entySe,entyFe,sector,emiMkt))) + vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt))) =e= sum(emiMkt$sector2emiMkt(sector,emiMkt), sum(se2fe(entySe,entyFe,te)$(SAMEAS(entyFe,"fegas") OR SAMEAS(entyFe,"fehos")), - vm_demFeSector(t,regi,entySe,entyFe,sector,emiMkt))) + vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt))) ; - *limit secondary energy district heating and heat pumps $IFTHEN.sehe_upper not "%cm_sehe_upper%" == "off" q_heat_limit(t,regi)$(t.val gt 2020).. @@ -1116,17 +1133,61 @@ q_limitCapFeH2BI(t,regi,sector)$(SAMEAS(sector,"build") OR SAMEAS(sector,"indst" q_shbiofe_up(t,regi,entyFe,sector,emiMkt)$((sameas(entyFe,"fegas") or sameas(entyFe,"fehos") or sameas(entyFe,"fesos")) and entyFe2Sector(entyFe,sector) and sector2emiMkt(sector,emiMkt) and (t.val le 2015)).. (pm_secBioShare(t,regi,entyFe,sector) + 0.02) * - sum((entySe,te)$se2fe(entySe,entyFe,te), vm_demFeSector(t,regi,entySe,entyFe,sector,emiMkt)) + sum((entySe,te)$se2fe(entySe,entyFe,te), vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt)) =g= - sum((entySeBio,te)$se2fe(entySeBio,entyFe,te), vm_demFeSector(t,regi,entySeBio,entyFe,sector,emiMkt)) + sum((entySeBio,te)$se2fe(entySeBio,entyFe,te), vm_demFeSector_afterTax(t,regi,entySeBio,entyFe,sector,emiMkt)) ; q_shbiofe_lo(t,regi,entyFe,sector,emiMkt)$((sameas(entyFe,"fegas") or sameas(entyFe,"fehos") or sameas(entyFe,"fesos")) and entyFe2Sector(entyFe,sector) and sector2emiMkt(sector,emiMkt) and (t.val le 2015)).. (pm_secBioShare(t,regi,entyFe,sector) - 0.02) * - sum((entySe,te)$se2fe(entySe,entyFe,te), vm_demFeSector(t,regi,entySe,entyFe,sector,emiMkt)) + sum((entySe,te)$se2fe(entySe,entyFe,te), vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt)) =l= - sum((entySeBio,te)$se2fe(entySeBio,entyFe,te), vm_demFeSector(t,regi,entySeBio,entyFe,sector,emiMkt)) + sum((entySeBio,te)$se2fe(entySeBio,entyFe,te), vm_demFeSector_afterTax(t,regi,entySeBio,entyFe,sector,emiMkt)) ; +***--------------------------------------------------------------------------- +*' Penalty for secondary energy share deviation in sectors +***--------------------------------------------------------------------------- + +$ifthen.seFeSectorShareDev "%cm_seFeSectorShareDevMethod%" == "sqSectorShare" +q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$(sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector) AND (sameas(entySe,"seliqbio") OR sameas(entySe,"seliqsyn"))).. + v_penSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) + =e= + rpower( v_shSefeSector(t,regi,entySe,entyFe,sector,emiMkt) ,2) + * (1$sameas("%c_seFeSectorShareDevUnit%","share") + vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt)$(sameas("%c_seFeSectorShareDevUnit%","energy")) ) +; +$elseIf.seFeSectorShareDev "%cm_seFeSectorShareDevMethod%" == "sqSectorAvrgShare" +q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$(sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector) AND (sameas(entySe,"seliqbio") OR sameas(entySe,"seliqsyn"))).. + v_penSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) + =e= + rpower( v_shSefe(t,regi,entySe,entyFe) - v_shSefeSector(t,regi,entySe,entyFe,sector,emiMkt) ,2) + * (1$sameas("%c_seFeSectorShareDevUnit%","share") + vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt)$(sameas("%c_seFeSectorShareDevUnit%","energy")) ) +; +$elseIf.seFeSectorShareDev "%cm_seFeSectorShareDevMethod%" == "minMaxAvrgShare" +q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$(sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector) AND (sameas(entySe,"seliqbio") OR sameas(entySe,"seliqsyn"))).. + v_penSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) + =e= + v_NegPenSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) - v_PosPenSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) +; +q_minMaxPenSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$(sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector) AND (sameas(entySe,"seliqbio") OR sameas(entySe,"seliqsyn"))).. + v_shSefe(t,regi,entySe,entyFe) + - v_shSefeSector(t,regi,entySe,entyFe,sector,emiMkt) + + v_NegInconvPenSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) + - v_PosInconvPenSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) + =e= 0 +; +$endif.seFeSectorShareDev + +$ifthen.penSeFeSectorShareDevCost not "%cm_seFeSectorShareDevMethod%" == "off" +q_penSeFeSectorShareDevCost(t,regi).. + vm_penSeFeSectorShareDevCost(t,regi) + =e= + sum((t,regi,entyFe,entySe,sector,emiMkt)$(sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector)), + v_penSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) + ) * c_seFeSectorShareDevScale +; +$endif.penSeFeSectorShareDevCost + + *** EOF ./core/equations.gms diff --git a/main.gms b/main.gms index 4294f8f27..5ebea7973 100755 --- a/main.gms +++ b/main.gms @@ -1007,6 +1007,12 @@ parameter ; c_earlyRetiValidYr = 2035; !! def = 2035 *' +parameter + c_seFeSectorShareDevScale "penalization value of the incentive for sectors to have similar shares of secondary energy fuels, for the square deviation methods, + or scaling factor of the penalization value, for the min-max fomulation, to reduce the penalization effect on the objective function." +; + c_seFeSectorShareDevScale = 1e-5; !! def = 1e-5 +*' parameter cm_TaxConvCheck "switch for enabling tax convergence check in nash mode" ; @@ -1695,6 +1701,19 @@ $setglobal cm_INCONV_PENALTY on !! def = on !! regexp = off|on *** cm_INCONV_PENALTY_FESwitch off !! def = off *** flag to trun on inconvenience penalty to avoid switching shares on buildings, transport and industry biomass use if costs are relatively close (seLiqbio, sesobio, segabio) $setglobal cm_INCONV_PENALTY_FESwitch on !! def = on !! regexp = off|on +*** cm_seFeSectorShareDevMethod "Switch to enable an optimization incentive for sectors to have similar shares of secondary energy fuels and detemrine the method used for the incentive." +*** Possible values: off or the method name (sqSectorShare, sqSectorAvrgShare or minMaxAvrgShare) +*** off "the model is completely free to choose where to allocate bio/syn/fossil fuels between sectors. If it is not off, a penalization term is added so sectors have an +*** incentive to apply similar shares to bio-fuels, synfuels and fossils used in each sector." +*** sqSectorShare "square share penalty" +*** sqSectorAvrgShare "square deviation from average share penalty" +*** minMaxAvrgShare "min-max deviation from average share penalty" +$setglobal cm_seFeSectorShareDevMethod minMaxAvrgShare !! def = minMaxAvrgShare !! regexp = off|sqSectorShare|sqSectorAvrgShare|minMaxAvrgShare +*** c_seFeSectorShareDevUnit "Defines if the penalization term is applied over fuel shares or energy units." +*** share, "the square penalization is applied over the share values directly. Different sized regions will have different penalization relative incentives, but the range of penalization values will vary less from the solver perspective." +*** energy, "the square penalization is applied over the share values multiplied by the energy demand. Penalizations should be better scalled over different size regions, +*** but there would be an increased risk of the penlizations being ignored, and the shares not being enforced, by the solver if the values range is too small." +$setglobal c_seFeSectorShareDevUnit share !! def = share !! regexp = share|energy *** cm_MOFEX off !! def=off *** *JH/LB* Activate MOFEX partial fossil fuel extraction cost minimization model *** * Warning: Use a well-converged run since the model uses vm_prodPe from the input GDX diff --git a/modules/02_welfare/ineqLognormal/equations.gms b/modules/02_welfare/ineqLognormal/equations.gms index abca99484..dd99726ce 100644 --- a/modules/02_welfare/ineqLognormal/equations.gms +++ b/modules/02_welfare/ineqLognormal/equations.gms @@ -60,9 +60,13 @@ $ifthen "%cm_INCONV_PENALTY_FESwitch%" == "on" AND sector2emiMkt(sector,emiMkt) AND (entySeBio(entySe) OR entySeFos(entySe)) ), v02_NegInconvPenFeBioSwitch(ttot,regi,entySe,entyFe,sector,emiMkt) - + v02_PosInconvPenFeBioSwitch(ttot,regi,entySe,entyFe,sector,emiMkt) - ) - / 1e3 + + v02_PosInconvPenFeBioSwitch(ttot,regi,entySe,entyFe,sector,emiMkt) + ) + / 1e3 +$endif +$ifthen not "%cm_seFeSectorShareDevMethod%" == "off" + !! penalizing secondary energy share deviation in sectors + - vm_penSeFeSectorShareDevCost(t,regi) $endif ) ) diff --git a/modules/02_welfare/utilitarian/equations.gms b/modules/02_welfare/utilitarian/equations.gms index 7fd236abc..01f985eb7 100644 --- a/modules/02_welfare/utilitarian/equations.gms +++ b/modules/02_welfare/utilitarian/equations.gms @@ -56,9 +56,13 @@ $ifthen "%cm_INCONV_PENALTY_FESwitch%" == "on" AND sector2emiMkt(sector,emiMkt) AND (entySeBio(entySe) OR entySeFos(entySe)) ), v02_NegInconvPenFeBioSwitch(ttot,regi,entySe,entyFe,sector,emiMkt) - + v02_PosInconvPenFeBioSwitch(ttot,regi,entySe,entyFe,sector,emiMkt) - ) - / 1e3 + + v02_PosInconvPenFeBioSwitch(ttot,regi,entySe,entyFe,sector,emiMkt) + ) + / 1e3 +$endif +$ifthen not "%cm_seFeSectorShareDevMethod%" == "off" + !! penalizing secondary energy share deviation in sectors + - vm_penSeFeSectorShareDevCost(t,regi) $endif ) ) From c0d6f205106048c2650148a4e0b1b84e521a8d95 Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Fri, 2 Aug 2024 03:22:14 +0200 Subject: [PATCH 231/875] improve parameter description --- main.gms | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/main.gms b/main.gms index 5ebea7973..0b9f664ba 100755 --- a/main.gms +++ b/main.gms @@ -1008,8 +1008,7 @@ parameter c_earlyRetiValidYr = 2035; !! def = 2035 *' parameter - c_seFeSectorShareDevScale "penalization value of the incentive for sectors to have similar shares of secondary energy fuels, for the square deviation methods, - or scaling factor of the penalization value, for the min-max fomulation, to reduce the penalization effect on the objective function." + c_seFeSectorShareDevScale "scale factor of the objective function penalization to incentive sectors to have similar shares of secondary energy fuels." ; c_seFeSectorShareDevScale = 1e-5; !! def = 1e-5 *' From 016be5f08e7443f08f9bd15e6956fbf999af63c6 Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Fri, 2 Aug 2024 03:41:20 +0200 Subject: [PATCH 232/875] fix error --- core/declarations.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/declarations.gms b/core/declarations.gms index e36bd94d8..be2c973c7 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -573,7 +573,7 @@ $endif.seFeSectorShareDev $ifthen.minMaxSeFeSectorShareDev "%cm_seFeSectorShareDevMethod%" == "minMaxAvrgShare" q_minMaxPenSeFeSectorShareDev(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "min-max penalty balance for secondary energy share deviation in sectors" -$endif.seFeSectorShareDev +$endif.minMaxSeFeSectorShareDev ***---------------------------------------------------------------------------------------- ***----------------------------------------------trade module------------------------------ From 7419dea7be1aa51bb993558ccfb74294b909df61 Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Fri, 2 Aug 2024 04:15:35 +0200 Subject: [PATCH 233/875] fixing uncontrolled set --- core/equations.gms | 2 +- modules/02_welfare/ineqLognormal/equations.gms | 2 +- modules/02_welfare/utilitarian/equations.gms | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/core/equations.gms b/core/equations.gms index 8e6d6c7e6..8e5776832 100644 --- a/core/equations.gms +++ b/core/equations.gms @@ -1183,7 +1183,7 @@ $ifthen.penSeFeSectorShareDevCost not "%cm_seFeSectorShareDevMethod%" == "off" q_penSeFeSectorShareDevCost(t,regi).. vm_penSeFeSectorShareDevCost(t,regi) =e= - sum((t,regi,entyFe,entySe,sector,emiMkt)$(sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector)), + sum((regi,entyFe,entySe,sector,emiMkt)$(sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector)), v_penSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) ) * c_seFeSectorShareDevScale ; diff --git a/modules/02_welfare/ineqLognormal/equations.gms b/modules/02_welfare/ineqLognormal/equations.gms index dd99726ce..d5e44f3c8 100644 --- a/modules/02_welfare/ineqLognormal/equations.gms +++ b/modules/02_welfare/ineqLognormal/equations.gms @@ -66,7 +66,7 @@ $ifthen "%cm_INCONV_PENALTY_FESwitch%" == "on" $endif $ifthen not "%cm_seFeSectorShareDevMethod%" == "off" !! penalizing secondary energy share deviation in sectors - - vm_penSeFeSectorShareDevCost(t,regi) + - vm_penSeFeSectorShareDevCost(ttot,regi) $endif ) ) diff --git a/modules/02_welfare/utilitarian/equations.gms b/modules/02_welfare/utilitarian/equations.gms index 01f985eb7..1ac8c3734 100644 --- a/modules/02_welfare/utilitarian/equations.gms +++ b/modules/02_welfare/utilitarian/equations.gms @@ -62,7 +62,7 @@ $ifthen "%cm_INCONV_PENALTY_FESwitch%" == "on" $endif $ifthen not "%cm_seFeSectorShareDevMethod%" == "off" !! penalizing secondary energy share deviation in sectors - - vm_penSeFeSectorShareDevCost(t,regi) + - vm_penSeFeSectorShareDevCost(ttot,regi) $endif ) ) From 78f9be9194c38022d0b6822d5b8513f92ffb1302 Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Fri, 2 Aug 2024 04:32:04 +0200 Subject: [PATCH 234/875] removing set under control --- core/equations.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/equations.gms b/core/equations.gms index 8e5776832..00daad490 100644 --- a/core/equations.gms +++ b/core/equations.gms @@ -1183,7 +1183,7 @@ $ifthen.penSeFeSectorShareDevCost not "%cm_seFeSectorShareDevMethod%" == "off" q_penSeFeSectorShareDevCost(t,regi).. vm_penSeFeSectorShareDevCost(t,regi) =e= - sum((regi,entyFe,entySe,sector,emiMkt)$(sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector)), + sum((entyFe,entySe,sector,emiMkt)$(sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector)), v_penSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) ) * c_seFeSectorShareDevScale ; From 6a777e35f5e21af8a7032918a112d765fb457161 Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Fri, 2 Aug 2024 06:05:14 +0200 Subject: [PATCH 235/875] changing the exponential function to support negative base values --- core/equations.gms | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/equations.gms b/core/equations.gms index 00daad490..90411ea52 100644 --- a/core/equations.gms +++ b/core/equations.gms @@ -1154,14 +1154,14 @@ $ifthen.seFeSectorShareDev "%cm_seFeSectorShareDevMethod%" == "sqSectorShare" q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$(sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector) AND (sameas(entySe,"seliqbio") OR sameas(entySe,"seliqsyn"))).. v_penSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) =e= - rpower( v_shSefeSector(t,regi,entySe,entyFe,sector,emiMkt) ,2) + power( v_shSefeSector(t,regi,entySe,entyFe,sector,emiMkt) ,2) * (1$sameas("%c_seFeSectorShareDevUnit%","share") + vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt)$(sameas("%c_seFeSectorShareDevUnit%","energy")) ) ; $elseIf.seFeSectorShareDev "%cm_seFeSectorShareDevMethod%" == "sqSectorAvrgShare" q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$(sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector) AND (sameas(entySe,"seliqbio") OR sameas(entySe,"seliqsyn"))).. v_penSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) =e= - rpower( v_shSefe(t,regi,entySe,entyFe) - v_shSefeSector(t,regi,entySe,entyFe,sector,emiMkt) ,2) + power( v_shSefe(t,regi,entySe,entyFe) - v_shSefeSector(t,regi,entySe,entyFe,sector,emiMkt) ,2) * (1$sameas("%c_seFeSectorShareDevUnit%","share") + vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt)$(sameas("%c_seFeSectorShareDevUnit%","energy")) ) ; $elseIf.seFeSectorShareDev "%cm_seFeSectorShareDevMethod%" == "minMaxAvrgShare" From 0eb392d5e3d93de2d82cee0da5a0c813591b069f Mon Sep 17 00:00:00 2001 From: Leon Merfort <58845874+merfort@users.noreply.github.com> Date: Fri, 2 Aug 2024 17:47:48 +0200 Subject: [PATCH 236/875] Prevent overwriting of peak budget year in loop --- core/postsolve.gms | 3 --- 1 file changed, 3 deletions(-) diff --git a/core/postsolve.gms b/core/postsolve.gms index 4418b4e57..4c11009e4 100644 --- a/core/postsolve.gms +++ b/core/postsolve.gms @@ -450,16 +450,13 @@ 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); pm_taxCO2eq(t2,regi) = p_taxCO2eq_until2150(t2,regi) ; !! set CO2 price in t2 to value in the "continuous path" - display cm_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"; 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); 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 From 21180f328c8385b75e766897d83db9776622f4ba Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Fri, 2 Aug 2024 23:24:02 +0200 Subject: [PATCH 237/875] bugfixes for testing --- core/bounds.gms | 2 ++ core/declarations.gms | 8 ++++++++ core/equations.gms | 6 +++--- core/preloop.gms | 14 ++++++++++++++ 4 files changed, 27 insertions(+), 3 deletions(-) diff --git a/core/bounds.gms b/core/bounds.gms index 1b0221828..3283fdc64 100755 --- a/core/bounds.gms +++ b/core/bounds.gms @@ -348,6 +348,8 @@ vm_capEarlyReti.up(ttot,regi,te) = 1e-6; vm_capEarlyReti.up(ttot,regi,te)$(teFosNoCCS(te)) = 1; *** FS: allow nuclear early retirement (for nucscen 7) vm_capEarlyReti.up(ttot,regi,"tnrs") = 1; +*** Allow bio +vm_capEarlyReti.up(ttot,regi,"tnrs") = 1; ***restrict early retirement to the modeling time frame (to reduce runtime, the early retirement equations are phased out after 2110) vm_capEarlyReti.up(ttot,regi,te)$(ttot.val lt 2009 or ttot.val gt 2111) = 0; diff --git a/core/declarations.gms b/core/declarations.gms index be2c973c7..7bd2f47ef 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -265,6 +265,10 @@ p_FEPrice_by_Sector_iter(iteration,ttot,all_regi,all_enty,sector) p_FEPrice_by_EmiMkt_iter(iteration,ttot,all_regi,all_enty,emiMkt) "parameter to save iteration FE marginal price per emission market (tr$2005/TWa)" p_FEPrice_by_FE_iter(iteration,ttot,all_regi,all_enty) "parameter to save iteration FE marginal price (tr$2005/TWa)" +$ifthen.penSeFeSectorShareDevCost not "%cm_seFeSectorShareDevMethod%" == "off" +p_shSefe(ttot,all_regi,all_enty,all_enty) "initial share of secondary energy on total final energy [0..1]" +$endif.penSeFeSectorShareDevCost + *** climate related pm_globalMeanTemperature(tall) "global mean temperature anomaly" pm_globalMeanTemperatureZeroed1900(tall) "global mean temperature anomaly, zeroed around 1900" @@ -445,6 +449,10 @@ $ifthen.seFeSectorShareDev not "%cm_seFeSectorShareDevMethod%" == "off" vm_penSeFeSectorShareDevCost(ttot,all_regi) "total penalty cost for secondary energy share deviation in sectors" $endif.seFeSectorShareDev +$ifthen.minMaxSeFeSectorShareDev "%cm_seFeSectorShareDevMethod%" == "minMaxAvrgShare" + v_NegPenSeFeSectorShare(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "min-max negative penalty for secondary energy share deviation in sectors" + v_PosPenSeFeSectorShare(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "min-max positive penalty for secondary energy share deviation in sectors" +$endif.minMaxSeFeSectorShareDev ; ***---------------------------------------------------------------------------------------- *** EQUATIONS diff --git a/core/equations.gms b/core/equations.gms index 90411ea52..6572f51e7 100644 --- a/core/equations.gms +++ b/core/equations.gms @@ -1168,13 +1168,13 @@ $elseIf.seFeSectorShareDev "%cm_seFeSectorShareDevMethod%" == "minMaxAvrgShare" q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$(sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector) AND (sameas(entySe,"seliqbio") OR sameas(entySe,"seliqsyn"))).. v_penSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) =e= - v_NegPenSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) - v_PosPenSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) + v_NegPenSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) + v_PosPenSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) ; q_minMaxPenSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$(sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector) AND (sameas(entySe,"seliqbio") OR sameas(entySe,"seliqsyn"))).. v_shSefe(t,regi,entySe,entyFe) - v_shSefeSector(t,regi,entySe,entyFe,sector,emiMkt) - + v_NegInconvPenSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) - - v_PosInconvPenSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) + + v_NegPenSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) + - v_PosPenSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) =e= 0 ; $endif.seFeSectorShareDev diff --git a/core/preloop.gms b/core/preloop.gms index 35a2a5422..5774cd6f9 100644 --- a/core/preloop.gms +++ b/core/preloop.gms @@ -189,4 +189,18 @@ if (cm_startyear gt 2005, Execute_Loadpoint 'input_ref' vm_capEarlyReti.l = vm_capEarlyReti.l; ); +*** initialize secondary energy shares in sectors if deviations are penalized, i.e., if cm_seFeSectorShareDevMethod is enabled +$ifthen.penSeFeSectorShareDevCost not "%cm_seFeSectorShareDevMethod%" == "off" + +p_shSefe(t,regi,entySe,entyFe)$(sum((entySe2,sector,emiMkt)$(sefe(entySe2,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt))) = + sum((sector,emiMkt)$(sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe,entyFe,sector,emiMkt) ) + / + sum((entySe2,sector,emiMkt)$(sefe(entySe2,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt) ); + +vm_demFeSector.l(t,regi,entySe,entyFe,sector,emiMkt) = sum(entySe2$(sefe(entySe2,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt)) * p_shSefe(t,regi,entySe,entyFe); + +display p_shSefe,vm_demFeSector.l; + +$endif.penSeFeSectorShareDevCost + *** EOF ./core/preloop.gms From d435ad6c27614210c099dcf1cb3e09ff77e6bd89 Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Fri, 2 Aug 2024 23:25:05 +0200 Subject: [PATCH 238/875] revert change --- core/bounds.gms | 2 -- 1 file changed, 2 deletions(-) diff --git a/core/bounds.gms b/core/bounds.gms index 3283fdc64..1b0221828 100755 --- a/core/bounds.gms +++ b/core/bounds.gms @@ -348,8 +348,6 @@ vm_capEarlyReti.up(ttot,regi,te) = 1e-6; vm_capEarlyReti.up(ttot,regi,te)$(teFosNoCCS(te)) = 1; *** FS: allow nuclear early retirement (for nucscen 7) vm_capEarlyReti.up(ttot,regi,"tnrs") = 1; -*** Allow bio -vm_capEarlyReti.up(ttot,regi,"tnrs") = 1; ***restrict early retirement to the modeling time frame (to reduce runtime, the early retirement equations are phased out after 2110) vm_capEarlyReti.up(ttot,regi,te)$(ttot.val lt 2009 or ttot.val gt 2111) = 0; From 6186200a848df132d7064703ae234512f591d846 Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Fri, 2 Aug 2024 23:49:39 +0200 Subject: [PATCH 239/875] improving documentation --- main.gms | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/main.gms b/main.gms index 0b9f664ba..0d7007fae 100755 --- a/main.gms +++ b/main.gms @@ -1008,7 +1008,7 @@ parameter c_earlyRetiValidYr = 2035; !! def = 2035 *' parameter - c_seFeSectorShareDevScale "scale factor of the objective function penalization to incentive sectors to have similar shares of secondary energy fuels." + c_seFeSectorShareDevScale "scale factor in the objective function of the penalization to incentive sectors to have similar shares of secondary energy fuels." ; c_seFeSectorShareDevScale = 1e-5; !! def = 1e-5 *' @@ -1700,18 +1700,17 @@ $setglobal cm_INCONV_PENALTY on !! def = on !! regexp = off|on *** cm_INCONV_PENALTY_FESwitch off !! def = off *** flag to trun on inconvenience penalty to avoid switching shares on buildings, transport and industry biomass use if costs are relatively close (seLiqbio, sesobio, segabio) $setglobal cm_INCONV_PENALTY_FESwitch on !! def = on !! regexp = off|on -*** cm_seFeSectorShareDevMethod "Switch to enable an optimization incentive for sectors to have similar shares of secondary energy fuels and detemrine the method used for the incentive." -*** Possible values: off or the method name (sqSectorShare, sqSectorAvrgShare or minMaxAvrgShare) -*** off "the model is completely free to choose where to allocate bio/syn/fossil fuels between sectors. If it is not off, a penalization term is added so sectors have an -*** incentive to apply similar shares to bio-fuels, synfuels and fossils used in each sector." -*** sqSectorShare "square share penalty" -*** sqSectorAvrgShare "square deviation from average share penalty" -*** minMaxAvrgShare "min-max deviation from average share penalty" -$setglobal cm_seFeSectorShareDevMethod minMaxAvrgShare !! def = minMaxAvrgShare !! regexp = off|sqSectorShare|sqSectorAvrgShare|minMaxAvrgShare +*** cm_seFeSectorShareDevMethod "Switch to enable an optimization incentive for sectors to have similar shares of secondary energy fuels and determine the method used for the incentive." +*** Possible values: off or the method name (sqSectorShare, sqSectorAvrgShare, or minMaxAvrgShare) +*** off "The model can freely allocate bio/syn/fossil fuels between sectors. If not off, a penalization term is added so sectors are incentivized to apply similar shares of bio-fuels, synfuels, and fossils in each sector." +*** sqSectorShare "Square share penalty" +*** sqSectorAvrgShare "Square deviation from average share penalty" +*** minMaxAvrgShare "Min-max deviation from average share penalty" +*** The relative effect of the penalization term in the objective function is scaled to avoid affecting optimization results. This scaling factor can be defined using the switch c_seFeSectorShareDevScale. +$setglobal cm_seFeSectorShareDevMethod minMaxAvrgShare !! def = minMaxAvrgShare !! regexp = *** c_seFeSectorShareDevUnit "Defines if the penalization term is applied over fuel shares or energy units." -*** share, "the square penalization is applied over the share values directly. Different sized regions will have different penalization relative incentives, but the range of penalization values will vary less from the solver perspective." -*** energy, "the square penalization is applied over the share values multiplied by the energy demand. Penalizations should be better scalled over different size regions, -*** but there would be an increased risk of the penlizations being ignored, and the shares not being enforced, by the solver if the values range is too small." +*** share, "The square penalization is applied directly to the share values. This results in different-sized regions having varying relative penalization incentives, but the range of penalization values will be more consistent from the solver's perspective." +*** energy, "The square penalization is applied to the share values multiplied by the energy demand. This approach scales penalizations better across different-sized regions, but there is a higher risk of the penalizations being ignored and the shares not being enforced if the value range is too small." $setglobal c_seFeSectorShareDevUnit share !! def = share !! regexp = share|energy *** cm_MOFEX off !! def=off *** *JH/LB* Activate MOFEX partial fossil fuel extraction cost minimization model From af62339141f7bd4f96921146b861efdd23ee5174 Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Sat, 3 Aug 2024 00:08:11 +0200 Subject: [PATCH 240/875] improving documentation --- main.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.gms b/main.gms index 0d7007fae..feb5fa5d2 100755 --- a/main.gms +++ b/main.gms @@ -1707,7 +1707,7 @@ $setglobal cm_INCONV_PENALTY_FESwitch on !! def = on !! regexp = off|on *** sqSectorAvrgShare "Square deviation from average share penalty" *** minMaxAvrgShare "Min-max deviation from average share penalty" *** The relative effect of the penalization term in the objective function is scaled to avoid affecting optimization results. This scaling factor can be defined using the switch c_seFeSectorShareDevScale. -$setglobal cm_seFeSectorShareDevMethod minMaxAvrgShare !! def = minMaxAvrgShare !! regexp = +$setglobal cm_seFeSectorShareDevMethod minMaxAvrgShare !! def = minMaxAvrgShare !! regexp = off|sqSectorShare|sqSectorAvrgShare|minMaxAvrgShare *** c_seFeSectorShareDevUnit "Defines if the penalization term is applied over fuel shares or energy units." *** share, "The square penalization is applied directly to the share values. This results in different-sized regions having varying relative penalization incentives, but the range of penalization values will be more consistent from the solver's perspective." *** energy, "The square penalization is applied to the share values multiplied by the energy demand. This approach scales penalizations better across different-sized regions, but there is a higher risk of the penalizations being ignored and the shares not being enforced if the value range is too small." From 5e8ba6e500ab0fa277449fc72a2241bfa0a67bd3 Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Sat, 3 Aug 2024 03:35:58 +0200 Subject: [PATCH 241/875] initilize share parameters to help the solver --- core/declarations.gms | 7 ++----- core/equations.gms | 20 +++++++++++--------- core/preloop.gms | 14 ++++++++------ 3 files changed, 21 insertions(+), 20 deletions(-) diff --git a/core/declarations.gms b/core/declarations.gms index 7bd2f47ef..48f4d33cc 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -152,7 +152,8 @@ pm_shareWindOff(ttot,all_regi) "windoff rollout as a frac $ENDIF.WindOff pm_fe2es(tall,all_regi,all_teEs) "Conversion factor from final energies to energy services. Default is 1." - +p_shSefe(ttot,all_regi,all_enty,all_enty) "initial share of secondary energy on total final energy [0..1]" +p_shSefeSector(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "initial share of secondary energy in sector total final energy per emission market [0..1]" pm_shFeCes(ttot,all_regi,all_enty,all_in,all_teEs) "Final energy shares for CES nodes" pm_shfe_up(ttot,all_regi,all_enty,emi_sectors) "Final energy shares exogenous upper bounds per sector" @@ -265,10 +266,6 @@ p_FEPrice_by_Sector_iter(iteration,ttot,all_regi,all_enty,sector) p_FEPrice_by_EmiMkt_iter(iteration,ttot,all_regi,all_enty,emiMkt) "parameter to save iteration FE marginal price per emission market (tr$2005/TWa)" p_FEPrice_by_FE_iter(iteration,ttot,all_regi,all_enty) "parameter to save iteration FE marginal price (tr$2005/TWa)" -$ifthen.penSeFeSectorShareDevCost not "%cm_seFeSectorShareDevMethod%" == "off" -p_shSefe(ttot,all_regi,all_enty,all_enty) "initial share of secondary energy on total final energy [0..1]" -$endif.penSeFeSectorShareDevCost - *** climate related pm_globalMeanTemperature(tall) "global mean temperature anomaly" pm_globalMeanTemperatureZeroed1900(tall) "global mean temperature anomaly, zeroed around 1900" diff --git a/core/equations.gms b/core/equations.gms index 6572f51e7..85f712359 100644 --- a/core/equations.gms +++ b/core/equations.gms @@ -1070,21 +1070,23 @@ q_shfe(t,regi,entyFe,sector)$(pm_shfe_up(t,regi,entyFe,sector) OR pm_shfe_lo(t,r q_shSeFe(t,regi,entySe,entyFe)$sefe(entySe,entyFe).. v_shSefe(t,regi,entySe,entyFe) - * sum((entySe2,sector,emiMkt)$(sefe(entySe2,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector)), - vm_demFeSector_afterTax(t,regi,entySe2,entyFe,sector,emiMkt) - ) + * sum((sector,emiMkt)$(sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector)), + sum(entySe2$sefe(entySe2,entyFe), + vm_demFeSector_afterTax(t,regi,entySe2,entyFe,sector,emiMkt))) + =e= sum((sector,emiMkt)$(sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector)), - vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt) - ); - + vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt)) +; + q_shSeFeSector(t,regi,entySe,entyFe,sector,emiMkt)$(sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector)).. v_shSefeSector(t,regi,entySe,entyFe,sector,emiMkt) * sum(entySe2$sefe(entySe2,entyFe), vm_demFeSector_afterTax(t,regi,entySe2,entyFe,sector,emiMkt) ) =e= - vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt); + vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt) +; q_shGasLiq_fe(t,regi,sector)$(pm_shGasLiq_fe_up(t,regi,sector) OR pm_shGasLiq_fe_lo(t,regi,sector)).. v_shGasLiq_fe(t,regi,sector) @@ -1154,14 +1156,14 @@ $ifthen.seFeSectorShareDev "%cm_seFeSectorShareDevMethod%" == "sqSectorShare" q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$(sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector) AND (sameas(entySe,"seliqbio") OR sameas(entySe,"seliqsyn"))).. v_penSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) =e= - power( v_shSefeSector(t,regi,entySe,entyFe,sector,emiMkt) ,2) + power(v_shSefeSector(t,regi,entySe,entyFe,sector,emiMkt) ,2) * (1$sameas("%c_seFeSectorShareDevUnit%","share") + vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt)$(sameas("%c_seFeSectorShareDevUnit%","energy")) ) ; $elseIf.seFeSectorShareDev "%cm_seFeSectorShareDevMethod%" == "sqSectorAvrgShare" q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$(sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector) AND (sameas(entySe,"seliqbio") OR sameas(entySe,"seliqsyn"))).. v_penSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) =e= - power( v_shSefe(t,regi,entySe,entyFe) - v_shSefeSector(t,regi,entySe,entyFe,sector,emiMkt) ,2) + power(v_shSefe(t,regi,entySe,entyFe) - v_shSefeSector(t,regi,entySe,entyFe,sector,emiMkt) ,2) * (1$sameas("%c_seFeSectorShareDevUnit%","share") + vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt)$(sameas("%c_seFeSectorShareDevUnit%","energy")) ) ; $elseIf.seFeSectorShareDev "%cm_seFeSectorShareDevMethod%" == "minMaxAvrgShare" diff --git a/core/preloop.gms b/core/preloop.gms index 5774cd6f9..86e5e9e26 100644 --- a/core/preloop.gms +++ b/core/preloop.gms @@ -190,17 +190,19 @@ Execute_Loadpoint 'input_ref' vm_capEarlyReti.l = vm_capEarlyReti.l; ); *** initialize secondary energy shares in sectors if deviations are penalized, i.e., if cm_seFeSectorShareDevMethod is enabled -$ifthen.penSeFeSectorShareDevCost not "%cm_seFeSectorShareDevMethod%" == "off" - p_shSefe(t,regi,entySe,entyFe)$(sum((entySe2,sector,emiMkt)$(sefe(entySe2,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt))) = sum((sector,emiMkt)$(sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe,entyFe,sector,emiMkt) ) / sum((entySe2,sector,emiMkt)$(sefe(entySe2,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt) ); - +v_shSefe.l(t,regi,entySe,entyFe) = p_shSefe(t,regi,entySe,entyFe); +$ifthen.penSeFeSectorShareDevCost not "%cm_seFeSectorShareDevMethod%" == "off" vm_demFeSector.l(t,regi,entySe,entyFe,sector,emiMkt) = sum(entySe2$(sefe(entySe2,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt)) * p_shSefe(t,regi,entySe,entyFe); - -display p_shSefe,vm_demFeSector.l; - $endif.penSeFeSectorShareDevCost +p_shSefeSector(t,regi,entySe,entyFe,sector,emiMkt)$sum(entySe2$sefe(entySe2,entyFe), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt)) = + vm_demFeSector.l(t,regi,entySe,entyFe,sector,emiMkt) + / + sum(entySe2$sefe(entySe2,entyFe), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt)) ; +v_shSefeSector.l(t,regi,entySe,entyFe,sector,emiMkt) = p_shSefeSector(t,regi,entySe,entyFe,sector,emiMkt); +display p_shSefe,p_shSefeSector,vm_demFeSector.l; *** EOF ./core/preloop.gms From 6f8ce9f5afeb0d715ec23ade732c8f4be655fead Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Sat, 3 Aug 2024 03:36:34 +0200 Subject: [PATCH 242/875] replacing reference to deprecated toolIterativeEDGETransport --- scripts/output/single/reporting.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/output/single/reporting.R b/scripts/output/single/reporting.R index aa62ed57b..36b6f96cc 100644 --- a/scripts/output/single/reporting.R +++ b/scripts/output/single/reporting.R @@ -76,7 +76,7 @@ edgetOutputDir <- file.path(outputdir, "EDGE-T") if(file.exists(edgetOutputDir)) { if (! file.exists(file.path(edgetOutputDir, "4_Output", "vehSalesAndModeShares.RDS"))) { message("EDGE-T reporting files are missing, probably because the run was killed.") - message("Rerunning toolIterativeEDGETransport().") + message("Rerunning iterativeEdgeTransport().") savewd <- getwd() setwd(outputdir) edgeTransport::iterativeEdgeTransport() From 510597e400b1057340fc4d55a7f4808e95951cba Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Sat, 3 Aug 2024 03:47:10 +0200 Subject: [PATCH 243/875] enable bioigcc early retirement --- core/bounds.gms | 2 ++ core/datainput.gms | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/core/bounds.gms b/core/bounds.gms index 1b0221828..4c32b68e6 100755 --- a/core/bounds.gms +++ b/core/bounds.gms @@ -348,6 +348,8 @@ vm_capEarlyReti.up(ttot,regi,te) = 1e-6; vm_capEarlyReti.up(ttot,regi,te)$(teFosNoCCS(te)) = 1; *** FS: allow nuclear early retirement (for nucscen 7) vm_capEarlyReti.up(ttot,regi,"tnrs") = 1; +*** allow early retirement of biomass used in electricity +vm_capEarlyReti.up(ttot,regi,"bioigcc") = 1; ***restrict early retirement to the modeling time frame (to reduce runtime, the early retirement equations are phased out after 2110) vm_capEarlyReti.up(ttot,regi,te)$(ttot.val lt 2009 or ttot.val gt 2111) = 0; diff --git a/core/datainput.gms b/core/datainput.gms index 56d7f2e34..d398bbe47 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -758,7 +758,7 @@ pm_regiEarlyRetiRate(t,regi,"biochp") = 0.5 * pm_regiEarlyRetiRate(t,regi,"bioc pm_regiEarlyRetiRate(t,regi,"gashp") = 0.5 * pm_regiEarlyRetiRate(t,regi,"gashp") ; !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input pm_regiEarlyRetiRate(t,regi,"coalhp") = 0.5 * pm_regiEarlyRetiRate(t,regi,"coalhp"); !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input pm_regiEarlyRetiRate(t,regi,"biohp") = 0.5 * pm_regiEarlyRetiRate(t,regi,"biohp") ; !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input - +pm_regiEarlyRetiRate(t,regi,"bioigcc") = 0.25 * pm_regiEarlyRetiRate(t,regi,"bioigcc") ; !! reduce bio early retirement rate $ifthen.tech_earlyreti not "%c_tech_earlyreti_rate%" == "off" loop((ext_regi,te)$p_techEarlyRetiRate(ext_regi,te), From fbe2f46aac83ecac22887e2fd2f2b6cd1817c792 Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Sat, 3 Aug 2024 04:24:56 +0200 Subject: [PATCH 244/875] apply deviation penalization to entySeBio and entySeSyn --- core/equations.gms | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/core/equations.gms b/core/equations.gms index 85f712359..9edd971c6 100644 --- a/core/equations.gms +++ b/core/equations.gms @@ -1153,26 +1153,26 @@ q_shbiofe_lo(t,regi,entyFe,sector,emiMkt)$((sameas(entyFe,"fegas") or sameas(ent ***--------------------------------------------------------------------------- $ifthen.seFeSectorShareDev "%cm_seFeSectorShareDevMethod%" == "sqSectorShare" -q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$(sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector) AND (sameas(entySe,"seliqbio") OR sameas(entySe,"seliqsyn"))).. +q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$(sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector) AND (entySeBio(entySe) OR entySeSyn(entySe))).. v_penSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) =e= power(v_shSefeSector(t,regi,entySe,entyFe,sector,emiMkt) ,2) * (1$sameas("%c_seFeSectorShareDevUnit%","share") + vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt)$(sameas("%c_seFeSectorShareDevUnit%","energy")) ) ; $elseIf.seFeSectorShareDev "%cm_seFeSectorShareDevMethod%" == "sqSectorAvrgShare" -q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$(sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector) AND (sameas(entySe,"seliqbio") OR sameas(entySe,"seliqsyn"))).. +q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$(sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector) AND (entySeBio(entySe) OR entySeSyn(entySe))).. v_penSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) =e= power(v_shSefe(t,regi,entySe,entyFe) - v_shSefeSector(t,regi,entySe,entyFe,sector,emiMkt) ,2) * (1$sameas("%c_seFeSectorShareDevUnit%","share") + vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt)$(sameas("%c_seFeSectorShareDevUnit%","energy")) ) ; $elseIf.seFeSectorShareDev "%cm_seFeSectorShareDevMethod%" == "minMaxAvrgShare" -q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$(sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector) AND (sameas(entySe,"seliqbio") OR sameas(entySe,"seliqsyn"))).. +q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$(sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector) AND (entySeBio(entySe) OR entySeSyn(entySe))).. v_penSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) =e= v_NegPenSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) + v_PosPenSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) ; -q_minMaxPenSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$(sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector) AND (sameas(entySe,"seliqbio") OR sameas(entySe,"seliqsyn"))).. +q_minMaxPenSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$(sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector) AND (entySeBio(entySe) OR entySeSyn(entySe))).. v_shSefe(t,regi,entySe,entyFe) - v_shSefeSector(t,regi,entySe,entyFe,sector,emiMkt) + v_NegPenSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) @@ -1185,11 +1185,10 @@ $ifthen.penSeFeSectorShareDevCost not "%cm_seFeSectorShareDevMethod%" == "off" q_penSeFeSectorShareDevCost(t,regi).. vm_penSeFeSectorShareDevCost(t,regi) =e= - sum((entyFe,entySe,sector,emiMkt)$(sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector)), + sum((entyFe,entySe,sector,emiMkt)$(sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector) AND (entySeBio(entySe) OR entySeSyn(entySe))), v_penSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) ) * c_seFeSectorShareDevScale ; $endif.penSeFeSectorShareDevCost - *** EOF ./core/equations.gms From 9ef6f2d021957f0124c33a901a7a97e14318977a Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Mon, 5 Aug 2024 07:42:57 +0000 Subject: [PATCH 245/875] Release development version 3.3.2.dev274 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index e5e67221a..f9893305c 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,8 +266,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev271" -date-released: 2024-08-01 +version: "3.3.2.dev274" +date-released: 2024-08-05 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 0a405fb2f..f4f7ecde7 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev271" +cfg$model_version <- "3.3.2.dev274" #### settings #### cfg$gms <- list() From 6d9db24f4269c22556894454734962c75082b074 Mon Sep 17 00:00:00 2001 From: Chen Gong Date: Mon, 5 Aug 2024 10:38:51 +0200 Subject: [PATCH 246/875] add nuclear endogenous switch --- main.gms | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/main.gms b/main.gms index 9e80f9145..9197e66c9 100755 --- a/main.gms +++ b/main.gms @@ -533,7 +533,8 @@ parameter parameter cm_nucscen "nuclear option choice" ; - cm_nucscen = 2; !! def = 2 !! regexp = 2|5|6 + cm_nucscen = 2; !! def = 2 !! regexp = 1|2|5|6 +*' * (1): default, no restriction, let nuclear be endogenously invested *' * (2): no fnrs, tnrs with restricted new builds until 2030 (based on current data on plants under construction, planned or proposed) *' * (5): no new nuclear investments after 2020 *' * (6): +33% investment costs for tnrs under SSP5, uranium resources increased by a factor of 10 From 2e3a204ee5a5091571abc736146ea60690acff2d Mon Sep 17 00:00:00 2001 From: orichters Date: Mon, 5 Aug 2024 11:17:48 +0200 Subject: [PATCH 247/875] fail tests if manipulating main.gms with default cfg drops/changes switches --- CHANGELOG.md | 2 + DESCRIPTION | 4 +- main.gms | 16 ++++--- tests/testthat/test_01-manipulateConfig.R | 56 +++++++++++++++++++++++ 4 files changed, 69 insertions(+), 9 deletions(-) create mode 100644 tests/testthat/test_01-manipulateConfig.R diff --git a/CHANGELOG.md b/CHANGELOG.md index 9eacc60f7..09e8406cd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). [[#1739](https://github.com/remindmodel/remind/pull/1739)] - **scripts** fail transparently on duplicated column names in `scenario_config*.csv` files [[#1742](https://github.com/remindmodel/remind/pull/1742)] +- **testthat** fail if manipulating main.gms with default cfg drops/changes switches + [[#1764](https://github.com/remindmodel/remind/pull/1764)] ### fixed - included CCS from plastic waste incineration in CCS mass flows so it is diff --git a/DESCRIPTION b/DESCRIPTION index 75c41f426..4532bfced 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -25,7 +25,7 @@ Imports: gdxdt, gdxrrw, ggplot2, - gms (>= 0.32.0), + gms (>= 0.32.1), goxygen (>= 1.4.4), gridExtra, gtools, @@ -36,7 +36,7 @@ Imports: knitr, lazyeval, lpjclass, - lucode2 (>= 0.36.0), + lucode2 (>= 0.47.8), luplot, luscale, lusweave, diff --git a/main.gms b/main.gms index 4294f8f27..58cd7c0f6 100755 --- a/main.gms +++ b/main.gms @@ -454,7 +454,7 @@ parameter *' * (2): parallel - all regions are run in parallel *' parameter - cm_iteration_max "number of iterations, if optimization is set to negishi or testOneRegi; is overwritten in Nash mode, except for cm_nash_autoconverge = 0" + cm_iteration_max "number of iterations, if optimization is set to negishi or testOneRegi; is overwritten in Nash mode, except if cm_nash_autoconverge is set to 0" ; cm_iteration_max = 1; !! def = 1 *' @@ -1621,12 +1621,14 @@ $setGlobal cm_CESMkup_ind standard !! def = standard $setGlobal cm_CESMkup_ind_data "" !! def = "" *** cm_fxIndUe "switch for fixing UE demand in industry to baseline level - no endogenous demand adjustment" -*** default cm_fxIndUe = off -> endogenous demand, cm_fxIndUe = on -> exogenous demand fixed to baseline/NPi level (read in from input_ref.gdx) -*** cm_fxIndUeReg indicates the regions under which the industry demand will be fixed -*** for example, cm_fxIndUe = on and cm_fxIndUeReg = SSA,NEU,CHA,IND,OAS,MEA,LAM gives a scenario where all non global north (non-OECD) industry demand is fixed to baseline -*** cm_fxIndUeReg = GLO fixes industry demand to baseline level everywhere -$setGlobal cm_fxIndUe off !! def = off -$setGlobal cm_fxIndUeReg "" !! def = "" +*** off: endogenous demand. +*** on: exogenous demand fixed to baseline/NPi level (read in from input_ref.gdx) +*** cm_fxIndUeReg "indicates the regions under which the industry demand will be fixed, requires cm_fxIndUe set to on" +*** examples: +*** SSA,NEU,CHA,IND,OAS,MEA,LAM: gives a scenario where all non global north (non-OECD) industry demand is fixed to baseline +*** GLO: fixes industry demand to baseline level everywhere +$setGlobal cm_fxIndUe off !! def = off !! regexp = off|on +$setGlobal cm_fxIndUeReg "" !! def = "" *** cm_ind_energy_limit Switch for setting upper limits on industry energy *** efficiency improvements. See ./modules/37_subsectors/datainput.gms for diff --git a/tests/testthat/test_01-manipulateConfig.R b/tests/testthat/test_01-manipulateConfig.R new file mode 100644 index 000000000..bffc87d84 --- /dev/null +++ b/tests/testthat/test_01-manipulateConfig.R @@ -0,0 +1,56 @@ +test_that("manipulate config with default configuration does not change main.gms", { + # copy main file and manipulate it based on default settings + cfg_init <- gms::readDefaultConfig("../..") + tmpfile <- tempfile(pattern = "main", tmpdir = "../..", fileext = ".gms") + file.copy("../../main.gms", tmpfile) + lucode2::manipulateConfig(tmpfile, cfg_init$gms) + cfg_after <- gms::readDefaultConfig("../..", basename(tmpfile)) + + # check diff + diffavailable <- ! Sys.which("diff") == "" + if (diffavailable) { + diffresult <- suppressWarnings(system(paste("diff -b ../../main.gms", tmpfile), intern = TRUE)) + # drop all sorts of comments until https://github.com/pik-piam/lucode2/issues/121 is fixed + drop <- c("^< \\*\\*\\*", "^> \\*\\*\\*", "^> \\*' \\*", "^< \\*' \\*", "^---$", "^[0-9,]+c[0-9,]+$") + for (d in drop) { + diffresult <- grep(d, diffresult, value = TRUE, invert = TRUE) + } + if (length(diffresult) > 0) { + warning("Applying manipulateConfig with the default configuration leads to this diff between main.gms and ", tmpfile, ":\n", + paste(diffresult, collapse = "\n")) + } + expect_equal(length(diffresult), 0) + } + + # check for switches missing in the new cfg + removedgms <- setdiff(names(cfg_init$gms), names(cfg_after$gms)) + if (length(removedgms) > 0) { + warning("These cfg$gms switches can't be found after manipulation of main.gms, see ", tmpfile, ".\n", + "Please file an issue in the gms package and try to adjust the code until the error goes away:\n", + paste("-", removedgms, collapse = "\n")) + } + expect_equal(length(removedgms), 0) + + # check for switches added to the new cfg + addedgms <- setdiff(names(cfg_after$gms), names(cfg_init$gms)) + if (length(addedgms) > 0) { + warning("These cfg$gms switches were somehow added by manipulateConfig to main.gms, see ", tmpfile, ".\n", + "Please file an issue in the gms package and try to adjust the code until the error goes away:\n", + paste("-", addedgms, collapse = "\n")) + } + expect_equal(length(addedgms), 0) + + # check for switches with different content between old and new cfg + joinednames <- intersect(names(cfg_after$gms), names(cfg_init$gms)) + contentdiff <- joinednames[! unlist(cfg_init$gms[joinednames]) == unlist(cfg_after$gms[joinednames])] + if (length(contentdiff) > 0) { + warning("After file manipulation, the following cfg$gms switches differ, see ", tmpfile, ":\n", + paste0("- ", contentdiff, ": ", unlist(cfg_init$gms[contentdiff]), " -> ", unlist(cfg_after$gms[contentdiff]), collapse = "\n")) + } + expect_equal(length(contentdiff), 0) + + # cleanup if no error found + if (length(addedgms) + length(removedgms) + length(contentdiff) + length(diffresult) == 0) { + file.remove(tmpfile) + } +}) From eb30329db60f7b41133c856216981406cda3a1bd Mon Sep 17 00:00:00 2001 From: orichters Date: Mon, 5 Aug 2024 11:29:56 +0200 Subject: [PATCH 248/875] short filename, make sure it works also if diff is missing --- tests/testthat/test_01-manipulateConfig.R | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/tests/testthat/test_01-manipulateConfig.R b/tests/testthat/test_01-manipulateConfig.R index bffc87d84..5cb88dae0 100644 --- a/tests/testthat/test_01-manipulateConfig.R +++ b/tests/testthat/test_01-manipulateConfig.R @@ -7,6 +7,7 @@ test_that("manipulate config with default configuration does not change main.gms cfg_after <- gms::readDefaultConfig("../..", basename(tmpfile)) # check diff + diffresult <- NULL diffavailable <- ! Sys.which("diff") == "" if (diffavailable) { diffresult <- suppressWarnings(system(paste("diff -b ../../main.gms", tmpfile), intern = TRUE)) @@ -16,7 +17,8 @@ test_that("manipulate config with default configuration does not change main.gms diffresult <- grep(d, diffresult, value = TRUE, invert = TRUE) } if (length(diffresult) > 0) { - warning("Applying manipulateConfig with the default configuration leads to this diff between main.gms and ", tmpfile, ":\n", + warning("Applying manipulateConfig with the default configuration leads to this diff between main.gms and ", + basename(tmpfile), ":\n", paste(diffresult, collapse = "\n")) } expect_equal(length(diffresult), 0) @@ -25,7 +27,7 @@ test_that("manipulate config with default configuration does not change main.gms # check for switches missing in the new cfg removedgms <- setdiff(names(cfg_init$gms), names(cfg_after$gms)) if (length(removedgms) > 0) { - warning("These cfg$gms switches can't be found after manipulation of main.gms, see ", tmpfile, ".\n", + warning("These cfg$gms switches can't be found after manipulation of main.gms, see ", basename(tmpfile), ".\n", "Please file an issue in the gms package and try to adjust the code until the error goes away:\n", paste("-", removedgms, collapse = "\n")) } @@ -34,7 +36,7 @@ test_that("manipulate config with default configuration does not change main.gms # check for switches added to the new cfg addedgms <- setdiff(names(cfg_after$gms), names(cfg_init$gms)) if (length(addedgms) > 0) { - warning("These cfg$gms switches were somehow added by manipulateConfig to main.gms, see ", tmpfile, ".\n", + warning("These cfg$gms switches were somehow added by manipulateConfig to main.gms, see ", basename(tmpfile), ".\n", "Please file an issue in the gms package and try to adjust the code until the error goes away:\n", paste("-", addedgms, collapse = "\n")) } @@ -44,7 +46,7 @@ test_that("manipulate config with default configuration does not change main.gms joinednames <- intersect(names(cfg_after$gms), names(cfg_init$gms)) contentdiff <- joinednames[! unlist(cfg_init$gms[joinednames]) == unlist(cfg_after$gms[joinednames])] if (length(contentdiff) > 0) { - warning("After file manipulation, the following cfg$gms switches differ, see ", tmpfile, ":\n", + warning("After file manipulation, the following cfg$gms switches differ, see ", basename(tmpfile), ":\n", paste0("- ", contentdiff, ": ", unlist(cfg_init$gms[contentdiff]), " -> ", unlist(cfg_after$gms[contentdiff]), collapse = "\n")) } expect_equal(length(contentdiff), 0) From 3b2a748d4b0508cb49901a14dd7f1299c00aa9a0 Mon Sep 17 00:00:00 2001 From: Chen Gong Date: Mon, 5 Aug 2024 11:55:37 +0200 Subject: [PATCH 249/875] adding an intermediate assumption option for ccsinjecratescen --- main.gms | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/main.gms b/main.gms index 9197e66c9..220fdea1d 100755 --- a/main.gms +++ b/main.gms @@ -797,7 +797,7 @@ parameter parameter c_ccsinjecratescen "CCS injection rate factor applied to total regional storage potentials, yielding an upper bound on annual injection" ; - c_ccsinjecratescen = 1; !! def = 1 !! regexp = [0-5] + c_ccsinjecratescen = 1; !! def = 1 !! regexp = [0-6] *' This switch determines the upper bound of the annual CCS injection rate. *' CCS here refers to carbon sequestration, carbon capture is modelled separately. *' * (0) no "CCS" as in no carbon sequestration at all @@ -806,6 +806,7 @@ parameter *' * (3) upper estimate: 0.0075; max 29.5 GtCO2/yr globally *' * (4) unconstrained: 1; max 3900 GtCO2/yr globally *' * (5) sustainability case: 0.001; max 3.9 GtCO2/yr globally +*' * (6) intermediate estimate: 0.0022; max 8.6 GtCO2/yr globally *' parameter c_ccscapratescen "CCS capture rate" From 104783f21edd664e5ca516850915ab8254db707e Mon Sep 17 00:00:00 2001 From: Chen Gong Date: Mon, 5 Aug 2024 12:01:01 +0200 Subject: [PATCH 250/875] adding an intermediate assumption option for ccsinjecratescen --- core/datainput.gms | 1 + 1 file changed, 1 insertion(+) diff --git a/core/datainput.gms b/core/datainput.gms index 56d7f2e34..dde132202 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -493,6 +493,7 @@ if (c_ccsinjecratescen eq 2, s_ccsinjecrate = s_ccsinjecrate * 0.50 ); !! Lowe if (c_ccsinjecratescen eq 3, s_ccsinjecrate = s_ccsinjecrate * 1.50 ); !! Upper estimate if (c_ccsinjecratescen eq 4, s_ccsinjecrate = s_ccsinjecrate * 200 ); !! remove flow constraint for DAC runs if (c_ccsinjecratescen eq 5, s_ccsinjecrate = s_ccsinjecrate * 0.20 ); !! sustainable estimate +if (c_ccsinjecratescen eq 6, s_ccsinjecrate = s_ccsinjecrate * 0.44 ); !! Intermediate estimate pm_ccsinjecrate(regi) = s_ccsinjecrate; *** OR: overwrite with regional values of ccs injection rate From 504940d28f170062fc93e66e47b729be71a4af2a Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Mon, 5 Aug 2024 10:17:45 +0000 Subject: [PATCH 251/875] Release development version 3.3.2.dev279 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index f9893305c..f0bd15b5f 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,7 +266,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev274" +version: "3.3.2.dev279" date-released: 2024-08-05 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index f4f7ecde7..cba3ddeae 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev274" +cfg$model_version <- "3.3.2.dev279" #### settings #### cfg$gms <- list() From b250c0afa1350f84ed2113c6a606fa26d9734bb4 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Mon, 5 Aug 2024 11:35:02 +0000 Subject: [PATCH 252/875] Release development version 3.3.2.dev283 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index f0bd15b5f..1a553429f 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,7 +266,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev279" +version: "3.3.2.dev283" date-released: 2024-08-05 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index cba3ddeae..d13858433 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev279" +cfg$model_version <- "3.3.2.dev283" #### settings #### cfg$gms <- list() From 1ece70e0d44218deac0e04268d9dd7e82d649352 Mon Sep 17 00:00:00 2001 From: lecfab Date: Mon, 5 Aug 2024 14:59:11 +0200 Subject: [PATCH 253/875] windon: missing inco0 --- core/datainput.gms | 11 ++++++++++- core/sets.gms | 5 +++-- modules/32_power/IntC/datainput.gms | 3 ++- modules/40_techpol/NDC/datainput.gms | 1 + modules/40_techpol/NDCplus/datainput.gms | 1 + modules/40_techpol/NPi2018/datainput.gms | 1 + 6 files changed, 18 insertions(+), 4 deletions(-) diff --git a/core/datainput.gms b/core/datainput.gms index e48886a3b..d0b8392d3 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -172,6 +172,10 @@ $offdelim / ; +*** windoffshore-todo +p_inco0(ttot,all_regi,"windon") $ (p_inco0(ttot,all_regi,"windon") eq 0) = p_inco0(ttot,all_regi,"wind"); +p_inco0(ttot,all_regi,"wind") = 0; + *** initializing energy service capital pm_esCapCost(tall,all_regi,all_teEs) = 0; @@ -665,7 +669,7 @@ $Onlisting *** windoffshore-todo pm_histCap(tall,all_regi,"windon") $ (pm_histCap(tall,all_regi,"windon") eq 0) = pm_histCap(tall,all_regi,"wind"); - +pm_histCap(tall,all_regi,"wind") = 0; *** calculate historic capacity additions @@ -698,6 +702,9 @@ f_cf(ttot,regi,"gridwindon") $ (f_cf(ttot,regi,"gridwindon") eq 0) = f_cf(ttot,r f_cf(ttot,regi,"windoff") = f_cf(ttot,regi,"windon"); f_cf(ttot,regi,"storwindoff") = f_cf(ttot,regi,"storwindon"); f_cf(ttot,regi,"gridwindoff") = f_cf(ttot,regi,"gridwindon"); +f_cf(ttot,regi,"wind") = 0; +f_cf(ttot,regi,"storwind") = 0; +f_cf(ttot,regi,"gridwind") = 0; pm_cf(ttot,regi,te) = f_cf(ttot,regi,te); ***pm_cf(ttot,regi,"h2turbVRE") = 0.15; @@ -1061,6 +1068,7 @@ $offdelim *** windoffshore-todo p_histCapFac(tall,all_regi,"windon") $ (p_histCapFac(tall,all_regi,"windon") eq 0) = p_histCapFac(tall,all_regi,"wind"); +p_histCapFac(tall,all_regi,"wind") = 0; *** RP rescale wind capacity factors in REMIND to account for very different real-world CF *** (potentially partially due to assumed low-wind turbine set-ups in the NREL data) @@ -1143,6 +1151,7 @@ p_adj_deltacapoffset("2015",regi,"tnrs")= 1; *** windoffshore-todo p_adj_deltacapoffset(t,regi,"windon") $ (p_adj_deltacapoffset(t,regi,"windon") eq 0) = p_adj_deltacapoffset(t,regi,"wind"); p_adj_deltacapoffset(t,regi,"windoff")= p_adj_deltacapoffset(t,regi,"windon"); +p_adj_deltacapoffset(t,regi,"wind") = 0; *** share of PE2SE capacities in 2005 depends on GDP-MER p_adj_seed_reg(t,regi) = pm_gdp(t,regi) * 1e-4; diff --git a/core/sets.gms b/core/sets.gms index a6cc706ad..59dcc15fc 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -251,14 +251,14 @@ all_te "all energy technologies, including from modules" tdhei "transmission and distribution for heat to industry" tdheb "transmission and distribution for heat to buildings" - ccsinje "injection of co2" + ccsinje "injection of co2" *RP* Storage technology: storspv "storage technology for photo voltaic (PV)" storwind "storage technology for wind onshore" storwindon "storage technology for wind onshore" storwindoff "storage technology for wind offshore" storcsp "storage technology for concentrating solar power (CSP)" -*RP* grid technology +*RP* grid technology: gridspv "grid between areas with high pv production and the rest" gridcsp "grid between areas with high csp production and the rest" gridwind "grid between areas with high wind onshore production and the rest" @@ -1550,6 +1550,7 @@ teRegTechCosts(all_te) "all technologies for which we differantiate tech costs" spv csp wind + windon / teFlex(all_te) "all technologies which can benefit from flexibility tax" diff --git a/modules/32_power/IntC/datainput.gms b/modules/32_power/IntC/datainput.gms index 421200aa9..44ce8e378 100644 --- a/modules/32_power/IntC/datainput.gms +++ b/modules/32_power/IntC/datainput.gms @@ -44,7 +44,7 @@ f32_factorStorage(all_regi,"windon") $ (f32_factorStorage(all_regi,"windon") eq f32_factorStorage(all_regi,"windoff") = f32_factorStorage(all_regi,"windon"); f32_factorStorage(all_regi,"windon") = 1.35 * f32_factorStorage(all_regi,"windon"); -p32_factorStorage(all_regi,all_te) = f32_factorStorage(all_regi,all_te); +p32_factorStorage(all_regi,teVRE) = f32_factorStorage(all_regi,teVRE); $if not "%cm_storageFactor%" == "off" p32_factorStorage(all_regi,all_te)=%cm_storageFactor%*p32_factorStorage(all_regi,all_te); @@ -59,6 +59,7 @@ p32_storexp(regi,"windoff") = 1; p32_gridexp(regi,"spv") = 1; p32_gridexp(regi,"csp") = 1; p32_gridexp(regi,"windon") = 1; +p32_gridexp(regi,"windoff") = 1; table f32_storageCap(char, all_te) "multiplicative factor between dummy seel<-->h2 technologies and storXXX technologies" diff --git a/modules/40_techpol/NDC/datainput.gms b/modules/40_techpol/NDC/datainput.gms index 3fb696d13..a5d5f1306 100644 --- a/modules/40_techpol/NDC/datainput.gms +++ b/modules/40_techpol/NDC/datainput.gms @@ -17,6 +17,7 @@ $onlisting p40_TechBound(ttot,all_regi,all_te) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%",all_te); *** windoffshore-todo p40_TechBound(ttot,all_regi,"windon") $ (p40_TechBound(ttot,all_regi,"windon") eq 0) = p40_TechBound(ttot,all_regi,"wind"); +p40_TechBound(ttot,all_regi,"wind") = 0; p40_ElecBioBound("2030",regi) = p40_TechBound("2030",regi,"bioigcc"); diff --git a/modules/40_techpol/NDCplus/datainput.gms b/modules/40_techpol/NDCplus/datainput.gms index c66f27cab..f05b3802d 100644 --- a/modules/40_techpol/NDCplus/datainput.gms +++ b/modules/40_techpol/NDCplus/datainput.gms @@ -17,6 +17,7 @@ $onlisting p40_TechBound(ttot,all_regi,all_te) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%",all_te); *** windoffshore-todo p40_TechBound(ttot,all_regi,"windon") $ (p40_TechBound(ttot,all_regi,"windon") eq 0) = p40_TechBound(ttot,all_regi,"wind"); +p40_TechBound(ttot,all_regi,"wind") = 0; p40_ElecBioBound("2030",regi) = p40_TechBound("2030",regi,"bioigcc"); diff --git a/modules/40_techpol/NPi2018/datainput.gms b/modules/40_techpol/NPi2018/datainput.gms index d3295be96..80be3ae43 100644 --- a/modules/40_techpol/NPi2018/datainput.gms +++ b/modules/40_techpol/NPi2018/datainput.gms @@ -17,6 +17,7 @@ $onlisting p40_TechBound(ttot,all_regi,all_te) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%",all_te); *** windoffshore-todo p40_TechBound(ttot,all_regi,"windon") $ (p40_TechBound(ttot,all_regi,"windon") eq 0) = p40_TechBound(ttot,all_regi,"wind"); +p40_TechBound(ttot,all_regi,"wind") = 0; p40_ElecBioBound("2030",regi) = p40_TechBound("2030",regi,"bioigcc"); From f5cb9e49c523cae9acc5ab2f4a137c89bb3bfb3d Mon Sep 17 00:00:00 2001 From: lecfab Date: Mon, 5 Aug 2024 15:36:41 +0200 Subject: [PATCH 254/875] windon: Energy IO based on IEA data --- modules/04_PE_FE_parameters/iea2014/datainput.gms | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/04_PE_FE_parameters/iea2014/datainput.gms b/modules/04_PE_FE_parameters/iea2014/datainput.gms index b5eeeceac..0ca864a15 100644 --- a/modules/04_PE_FE_parameters/iea2014/datainput.gms +++ b/modules/04_PE_FE_parameters/iea2014/datainput.gms @@ -29,6 +29,8 @@ if (smin((t,regi,pe2se(entyPe,entySe,te)), f04_IO_input(t,regi,entyPe,entySe,te) f04_IO_input(tall,regi,entyPe,entySe,te)$(f04_IO_input(tall,regi,entyPe,entySe,te) lt 0) = 0; *** windoffshore-todo +f04_IO_input(tall,all_regi,"pewin","seel","windon") $ (f04_IO_input(tall,all_regi,"pewin","seel","windon") eq 0) = f04_IO_input(tall,all_regi,"pewin","seel","wind") = 0; +f04_IO_input(tall,all_regi,"pewin","seel","wind") = 0; *CG* setting historical production from wind offshore to 0 (due to the scarcity of offshore wind before 2015) f04_IO_input(tall,all_regi,"pewin","seel","windoff") = 0; @@ -55,6 +57,9 @@ if (smin((t,regi,pe2se(entyPe,entySe,te)), f04_IO_output(t,regi,entyPe,entySe,te *' overwrite negative values with 0 to allow the model to solve. In the mid-term, the input data/mapping needs to be improved to prevent negative values f04_IO_output(tall,regi,entyPe,entySe,te)$(f04_IO_output(tall,regi,entyPe,entySe,te) lt 0) = 0; +*** windoffshore-todo +f04_IO_output(tall,all_regi,"pewin","seel","windon") $ (f04_IO_output(tall,all_regi,"pewin","seel","windon") eq 0) = f04_IO_output(tall,all_regi,"pewin","seel","wind") = 0; +f04_IO_output(tall,all_regi,"pewin","seel","wind") = 0; From 56101da125ae71bdf9e0c80ca027c2b3904a0fe0 Mon Sep 17 00:00:00 2001 From: Leon Merfort <58845874+merfort@users.noreply.github.com> Date: Mon, 5 Aug 2024 17:15:55 +0200 Subject: [PATCH 255/875] Add cm_peakBudgYr to display statement --- core/postsolve.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/postsolve.gms b/core/postsolve.gms index 4c11009e4..7f015cc10 100644 --- a/core/postsolve.gms +++ b/core/postsolve.gms @@ -486,7 +486,7 @@ if (cm_iterative_target_adj eq 9, o_taxCO2eq_afterPeakShiftLoop_Itr_1regi(t,iteration+1) = pm_taxCO2eq(t,regi); ); - display o_delay_increase_peakBudgYear, o_reached_until2150pricepath, pm_taxCO2eq, o_peakBudgYr_Itr, o_taxCO2eq_afterPeakShiftLoop_Itr_1regi, o_pkBudgYr_flipflop; + display o_delay_increase_peakBudgYear, o_reached_until2150pricepath, pm_taxCO2eq, o_peakBudgYr_Itr, o_taxCO2eq_afterPeakShiftLoop_Itr_1regi, o_pkBudgYr_flipflop, cm_peakBudgYr; ); !! if cm_emiscen eq 9, ); !! if cm_iterative_target_adj eq 9, From e2b35dcec902c6622a7643f03a03a394f83ebcf5 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Mon, 5 Aug 2024 16:07:55 +0000 Subject: [PATCH 256/875] Release development version 3.3.2.dev287 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 1a553429f..0fce1cdcf 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,7 +266,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev283" +version: "3.3.2.dev287" date-released: 2024-08-05 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index d13858433..15d002989 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev283" +cfg$model_version <- "3.3.2.dev287" #### settings #### cfg$gms <- list() From e2e317716f4b85108c4110ff0e5fc9b90646d767 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Mon, 5 Aug 2024 18:47:13 +0000 Subject: [PATCH 257/875] Release development version 3.3.2.dev290 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 0fce1cdcf..21b95711d 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,7 +266,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev287" +version: "3.3.2.dev290" date-released: 2024-08-05 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 15d002989..b1f2aa1d2 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev287" +cfg$model_version <- "3.3.2.dev290" #### settings #### cfg$gms <- list() From 4ca8f8901eddd6ec132cfde37831bb14baa1eb75 Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Mon, 5 Aug 2024 20:47:43 +0200 Subject: [PATCH 258/875] adapt se dsirtibtuion incentive to use shares calculated over seAgg instead of entyFe --- core/equations.gms | 68 ++++++++++++++++++++------------------ core/preloop.gms | 24 ++++++++------ core/sets.gms | 2 ++ core/sets_calculations.gms | 6 ++++ 4 files changed, 58 insertions(+), 42 deletions(-) diff --git a/core/equations.gms b/core/equations.gms index 9edd971c6..6f7ff5bda 100644 --- a/core/equations.gms +++ b/core/equations.gms @@ -1068,24 +1068,26 @@ q_shfe(t,regi,entyFe,sector)$(pm_shfe_up(t,regi,entyFe,sector) OR pm_shfe_lo(t,r vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt))) ; -q_shSeFe(t,regi,entySe,entyFe)$sefe(entySe,entyFe).. - v_shSefe(t,regi,entySe,entyFe) - * sum((sector,emiMkt)$(sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector)), - sum(entySe2$sefe(entySe2,entyFe), - vm_demFeSector_afterTax(t,regi,entySe2,entyFe,sector,emiMkt))) - +q_shSeFe(t,regi,entySe,seAgg)$seAgg2se(seAgg,entySe).. + v_shSefe(t,regi,entySe,seAgg) + * sum((sector,emiMkt)$sector2emiMkt(sector,emiMkt), + sum(entyFe$(seAgg2fe(seAgg,entyFe) AND entyFe2Sector(entyFe,sector)), + sum(entySe2$(seAgg2se(seAgg,entySe2) AND sefe(entySe2,entyFe) AND entyFe2Sector(entyFe,sector)), + vm_demFeSector_afterTax(t,regi,entySe2,entyFe,sector,emiMkt)))) =e= - sum((sector,emiMkt)$(sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector)), - vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt)) + sum((sector,emiMkt)$sector2emiMkt(sector,emiMkt), + sum(entyFe$(seAgg2fe(seAgg,entyFe) AND entyFe2Sector(entyFe,sector)), + vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt))) ; -q_shSeFeSector(t,regi,entySe,entyFe,sector,emiMkt)$(sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector)).. - v_shSefeSector(t,regi,entySe,entyFe,sector,emiMkt) - * sum(entySe2$sefe(entySe2,entyFe), - vm_demFeSector_afterTax(t,regi,entySe2,entyFe,sector,emiMkt) - ) +q_shSeFeSector(t,regi,entySe,seAgg,sector,emiMkt)$(seAgg2se(seAgg,entySe) AND sector2emiMkt(sector,emiMkt)).. + v_shSefeSector(t,regi,entySe,seAgg,sector,emiMkt) + * sum(entyFe$(seAgg2fe(seAgg,entyFe) AND entyFe2Sector(entyFe,sector)), + sum(entySe2$(seAgg2se(seAgg,entySe2) AND sefe(entySe2,entyFe) AND entyFe2Sector(entyFe,sector)), + vm_demFeSector_afterTax(t,regi,entySe2,entyFe,sector,emiMkt))) =e= - vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt) + sum(entyFe$(seAgg2fe(seAgg,entyFe) AND entyFe2Sector(entyFe,sector)), + vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt)) ; q_shGasLiq_fe(t,regi,sector)$(pm_shGasLiq_fe_up(t,regi,sector) OR pm_shGasLiq_fe_lo(t,regi,sector)).. @@ -1153,30 +1155,32 @@ q_shbiofe_lo(t,regi,entyFe,sector,emiMkt)$((sameas(entyFe,"fegas") or sameas(ent ***--------------------------------------------------------------------------- $ifthen.seFeSectorShareDev "%cm_seFeSectorShareDevMethod%" == "sqSectorShare" -q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$(sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector) AND (entySeBio(entySe) OR entySeSyn(entySe))).. - v_penSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) +q_penSeFeSectorShareDev(t,regi,entySe,seAgg,sector,emiMkt)$(seAgg2se(seAgg,entySe) AND sector2emiMkt(sector,emiMkt) AND (entySeBio(entySe) OR entySeSyn(entySe))).. + v_penSeFeSectorShare(t,regi,entySe,seAgg,sector,emiMkt) =e= - power(v_shSefeSector(t,regi,entySe,entyFe,sector,emiMkt) ,2) - * (1$sameas("%c_seFeSectorShareDevUnit%","share") + vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt)$(sameas("%c_seFeSectorShareDevUnit%","energy")) ) + power(v_shSefeSector(t,regi,entySe,seAgg,sector,emiMkt) ,2) + * (1$sameas("%c_seFeSectorShareDevUnit%","share") + + (sum(entyFe$(seAgg2fe(seAgg,entyFe) AND entyFe2Sector(entyFe,sector)), vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt)))$(sameas("%c_seFeSectorShareDevUnit%","energy")) ) ; $elseIf.seFeSectorShareDev "%cm_seFeSectorShareDevMethod%" == "sqSectorAvrgShare" -q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$(sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector) AND (entySeBio(entySe) OR entySeSyn(entySe))).. - v_penSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) +q_penSeFeSectorShareDev(t,regi,entySe,seAgg,sector,emiMkt)$(seAgg2se(seAgg,entySe) AND sector2emiMkt(sector,emiMkt) AND (entySeBio(entySe) OR entySeSyn(entySe))).. + v_penSeFeSectorShare(t,regi,entySe,seAgg,sector,emiMkt) =e= - power(v_shSefe(t,regi,entySe,entyFe) - v_shSefeSector(t,regi,entySe,entyFe,sector,emiMkt) ,2) - * (1$sameas("%c_seFeSectorShareDevUnit%","share") + vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt)$(sameas("%c_seFeSectorShareDevUnit%","energy")) ) + power(v_shSefe(t,regi,entySe,seAgg) - v_shSefeSector(t,regi,entySe,seAgg,sector,emiMkt) ,2) + * (1$sameas("%c_seFeSectorShareDevUnit%","share") + + (sum(entyFe$(seAgg2fe(seAgg,entyFe) AND entyFe2Sector(entyFe,sector)), vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt)))$(sameas("%c_seFeSectorShareDevUnit%","energy")) ) ; $elseIf.seFeSectorShareDev "%cm_seFeSectorShareDevMethod%" == "minMaxAvrgShare" -q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$(sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector) AND (entySeBio(entySe) OR entySeSyn(entySe))).. - v_penSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) +q_penSeFeSectorShareDev(t,regi,entySe,seAgg,sector,emiMkt)$(seAgg2se(seAgg,entySe) AND sector2emiMkt(sector,emiMkt) AND (entySeBio(entySe) OR entySeSyn(entySe))).. + v_penSeFeSectorShare(t,regi,entySe,seAgg,sector,emiMkt) =e= - v_NegPenSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) + v_PosPenSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) + v_NegPenSeFeSectorShare(t,regi,entySe,seAgg,sector,emiMkt) + v_PosPenSeFeSectorShare(t,regi,entySe,seAgg,sector,emiMkt) ; -q_minMaxPenSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$(sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector) AND (entySeBio(entySe) OR entySeSyn(entySe))).. - v_shSefe(t,regi,entySe,entyFe) - - v_shSefeSector(t,regi,entySe,entyFe,sector,emiMkt) - + v_NegPenSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) - - v_PosPenSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) +q_minMaxPenSeFeSectorShareDev(t,regi,entySe,seAgg,sector,emiMkt)$(seAgg2se(seAgg,entySe) AND sector2emiMkt(sector,emiMkt) AND (entySeBio(entySe) OR entySeSyn(entySe))).. + v_shSefe(t,regi,entySe,seAgg) + - v_shSefeSector(t,regi,entySe,seAgg,sector,emiMkt) + + v_NegPenSeFeSectorShare(t,regi,entySe,seAgg,sector,emiMkt) + - v_PosPenSeFeSectorShare(t,regi,entySe,seAgg,sector,emiMkt) =e= 0 ; $endif.seFeSectorShareDev @@ -1185,8 +1189,8 @@ $ifthen.penSeFeSectorShareDevCost not "%cm_seFeSectorShareDevMethod%" == "off" q_penSeFeSectorShareDevCost(t,regi).. vm_penSeFeSectorShareDevCost(t,regi) =e= - sum((entyFe,entySe,sector,emiMkt)$(sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector) AND (entySeBio(entySe) OR entySeSyn(entySe))), - v_penSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) + sum((entySe,seAgg,sector,emiMkt)$(seAgg2se(seAgg,entySe) AND sector2emiMkt(sector,emiMkt) AND (entySeBio(entySe) OR entySeSyn(entySe))), + v_penSeFeSectorShare(t,regi,entySe,seAgg,sector,emiMkt) ) * c_seFeSectorShareDevScale ; $endif.penSeFeSectorShareDevCost diff --git a/core/preloop.gms b/core/preloop.gms index 86e5e9e26..e9d47386d 100644 --- a/core/preloop.gms +++ b/core/preloop.gms @@ -190,19 +190,23 @@ Execute_Loadpoint 'input_ref' vm_capEarlyReti.l = vm_capEarlyReti.l; ); *** initialize secondary energy shares in sectors if deviations are penalized, i.e., if cm_seFeSectorShareDevMethod is enabled -p_shSefe(t,regi,entySe,entyFe)$(sum((entySe2,sector,emiMkt)$(sefe(entySe2,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt))) = - sum((sector,emiMkt)$(sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe,entyFe,sector,emiMkt) ) - / - sum((entySe2,sector,emiMkt)$(sefe(entySe2,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt) ); -v_shSefe.l(t,regi,entySe,entyFe) = p_shSefe(t,regi,entySe,entyFe); +p_shSefe(t,regi,entySe,seAgg)$(seAgg2se(seAgg,entySe) AND sum((sector,emiMkt)$sector2emiMkt(sector,emiMkt), sum(entyFe$(seAgg2fe(seAgg,entyFe) AND entyFe2Sector(entyFe,sector)), sum(entySe2$(seAgg2se(seAgg,entySe2) AND sefe(entySe2,entyFe) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt))))) = + sum((sector,emiMkt)$sector2emiMkt(sector,emiMkt), sum(entyFe$(seAgg2fe(seAgg,entyFe) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe,entyFe,sector,emiMkt))) + / + sum((sector,emiMkt)$sector2emiMkt(sector,emiMkt), sum(entyFe$(seAgg2fe(seAgg,entyFe) AND entyFe2Sector(entyFe,sector)), sum(entySe2$(seAgg2se(seAgg,entySe2) AND sefe(entySe2,entyFe) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt)))); +v_shSefe.l(t,regi,entySe,seAgg) = p_shSefe(t,regi,entySe,seAgg); $ifthen.penSeFeSectorShareDevCost not "%cm_seFeSectorShareDevMethod%" == "off" -vm_demFeSector.l(t,regi,entySe,entyFe,sector,emiMkt) = sum(entySe2$(sefe(entySe2,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt)) * p_shSefe(t,regi,entySe,entyFe); +loop(seAgg, + vm_demFeSector.l(t,regi,entySe,entyFe,sector,emiMkt)$(seAgg2se(seAgg,entySe) AND sum(entySe2$seAgg2se(seAgg,entySe2), vm_demFeSector.l(t,regi,entySe,entyFe,sector,emiMkt))) = + sum(entySe2$(sefe(entySe2,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt)) * p_shSefe(t,regi,entySe,seAgg); +); +vm_demFeSector_afterTax.l(t,regi,entySe,entyFe,sector,emiMkt) = vm_demFeSector.l(t,regi,entySe,entyFe,sector,emiMkt); $endif.penSeFeSectorShareDevCost -p_shSefeSector(t,regi,entySe,entyFe,sector,emiMkt)$sum(entySe2$sefe(entySe2,entyFe), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt)) = - vm_demFeSector.l(t,regi,entySe,entyFe,sector,emiMkt) +p_shSefeSector(t,regi,entySe,seAgg,sector,emiMkt)$(seAgg2se(seAgg,entySe) AND sum(entyFe$(seAgg2fe(seAgg,entyFe) AND entyFe2Sector(entyFe,sector)), sum(entySe2$(seAgg2se(seAgg,entySe2) AND sefe(entySe2,entyFe) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt)))) = + sum(entyFe$(seAgg2fe(seAgg,entyFe) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe,entyFe,sector,emiMkt)) / - sum(entySe2$sefe(entySe2,entyFe), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt)) ; -v_shSefeSector.l(t,regi,entySe,entyFe,sector,emiMkt) = p_shSefeSector(t,regi,entySe,entyFe,sector,emiMkt); + sum(entyFe$(seAgg2fe(seAgg,entyFe) AND entyFe2Sector(entyFe,sector)), sum(entySe2$(seAgg2se(seAgg,entySe2) AND sefe(entySe2,entyFe) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt))); +v_shSefeSector.l(t,regi,entySe,seAgg,sector,emiMkt) = p_shSefeSector(t,regi,entySe,seAgg,sector,emiMkt); display p_shSefe,p_shSefeSector,vm_demFeSector.l; *** EOF ./core/preloop.gms diff --git a/core/sets.gms b/core/sets.gms index dd972a068..9c7873b35 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -2448,6 +2448,8 @@ seAgg2se(all_enty,all_enty) "map secondary energy aggregation to se" all_sega.segasyn / +seAgg2fe(all_enty,all_enty) "map secondary energy aggregation to fe" + capTotal(all_enty,all_enty) "mapping of input to output carriers for calculating total capacities without technology differentiation vm_capTotal" / pecoal.seel diff --git a/core/sets_calculations.gms b/core/sets_calculations.gms index 1b2e3f977..bd58f583f 100644 --- a/core/sets_calculations.gms +++ b/core/sets_calculations.gms @@ -146,6 +146,12 @@ fete(entyFe,te) = YES; sefe(entySe,entyFe) = YES; ); +loop(seAgg2se(seAgg,entySe), + loop(sefe(entySe,entyFe), + seAgg2fe(seAgg,entyFe) = YES; + ); +); + *** extended region group set regi_groupExt(ext_regi,all_regi)$regi_group(ext_regi,all_regi) = Yes; loop(all_regi, From 05fcf9bdd12757e339832f611cad4b1229bda9a8 Mon Sep 17 00:00:00 2001 From: orichters Date: Tue, 6 Aug 2024 13:52:16 +0200 Subject: [PATCH 259/875] use also non-gms cfg$ switches in start_bundle_coupled.R --- CHANGELOG.md | 2 ++ config/tests/scenario_config_coupled_shortCascade.csv | 8 ++++---- start_bundle_coupled.R | 3 ++- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 09e8406cd..5ca20b24e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -39,6 +39,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). [[#1728](https://github.com/remindmodel/remind/pull/1728)] - **scripts** cleanup non-existing realizations from settings_config.csv [[#1718](https://github.com/remindmodel/remind/pull/1718)] +- **scripts** REMIND-MAgPIE start scripts now correctly use all non-gms cfg switches + [[#1768](https://github.com/remindmodel/remind/pull/1768)] ### removed diff --git a/config/tests/scenario_config_coupled_shortCascade.csv b/config/tests/scenario_config_coupled_shortCascade.csv index 97eb68080..4969f1bde 100644 --- a/config/tests/scenario_config_coupled_shortCascade.csv +++ b/config/tests/scenario_config_coupled_shortCascade.csv @@ -1,4 +1,4 @@ -title;start;qos;sbatch;magpie_scen;config/scenario_config.csv;magpie_empty;no_ghgprices_land_until;max_iterations;oldrun;path_gdx;path_gdx_ref;path_gdx_bau;path_report;cm_nash_autoconverge_lastrun;path_mif_ghgprice_land;cfg_mag$gms$s56_minimum_cprice;cfg_mag$damping_factor -TESTTHAT-SSP2-Base;1;auto;--wait --mail-type=FAIL;SSP2|NPI;SDP-MC;TRUE;y2150;2;;;;;;2;;; -TESTTHAT-SSP2-NDC;1;auto;--wait --mail-type=FAIL;SSP2|NDC;;TRUE;y2150;2;;;;;;2;TESTTHAT-SSP2-Base;;0.80 -TESTTHAT-SSP2-Policy;2;auto;--wait --mail-type=FAIL;SSP2|NDC;SDP-MC;TRUE;y2150;2;TESTTHAT-SSP2-Base;;;;;;output/C_TESTTHAT-SSP2-Base-rem-1/REMIND_generic_C_TESTTHAT-SSP2-Base-rem-1.mif;20; +title;start;qos;sbatch;magpie_scen;config/scenario_config.csv;magpie_empty;no_ghgprices_land_until;max_iterations;oldrun;path_gdx;path_gdx_ref;path_gdx_bau;path_report;cm_nash_autoconverge_lastrun;path_mif_ghgprice_land;cfg_mag$gms$s56_minimum_cprice;cfg_mag$damping_factor;cfg_mag$gms$s56_cprice_red_factor +TESTTHAT-SSP2-Base;1;auto;--wait --mail-type=FAIL;SSP2|NPI;SDP-MC;TRUE;y2150;2;;;;;;2;;;; +TESTTHAT-SSP2-NDC;1;auto;--wait --mail-type=FAIL;SSP2|NDC;;TRUE;y2150;2;;;;;;2;TESTTHAT-SSP2-Base;;0.80;0.5 +TESTTHAT-SSP2-Policy;2;auto;--wait --mail-type=FAIL;SSP2|NDC;SDP-MC;TRUE;y2150;2;TESTTHAT-SSP2-Base;;;;;;output/C_TESTTHAT-SSP2-Base-rem-1/REMIND_generic_C_TESTTHAT-SSP2-Base-rem-1.mif;20;; diff --git a/start_bundle_coupled.R b/start_bundle_coupled.R index 38b4b686f..da7847f79 100755 --- a/start_bundle_coupled.R +++ b/start_bundle_coupled.R @@ -420,7 +420,8 @@ for(scen in common){ } # Edit remind main model file, region settings and input data revision based on scenarios table, if cell non-empty - for (switchname in intersect(c("model", "regionmapping", "extramappings_historic", "inputRevision"), names(settings_remind))) { + cfg_rem_options <- c("model", "regionmapping", "extramappings_historic", "inputRevision", setdiff(names(cfg_rem), c("gms", "output"))) + for (switchname in intersect(cfg_rem_options, names(settings_remind))) { if ( ! is.na(settings_remind[scen, switchname] )) { cfg_rem[[switchname]] <- settings_remind[scen, switchname] } From eec784137b849069505147cad9e750d91dd56ed6 Mon Sep 17 00:00:00 2001 From: orichters Date: Mon, 5 Aug 2024 15:09:25 +0200 Subject: [PATCH 260/875] test that manipulateFile does not destroy comments. Needs lucode2#205 --- CHANGELOG.md | 9 +++++---- DESCRIPTION | 2 +- tests/testthat/test_01-manipulateConfig.R | 7 +------ 3 files changed, 7 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 09e8406cd..b027732a7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,8 +9,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### input data/calibration - new input data rev6.84 [[#1757]] (https://github.com/remindmodel/remind/pull/1757) - CES parameter and gdx files calibrated with new default diffLin2Lin for NPi - [[#1747]] (https://github.com/remindmodel/remind/pull/1747) and - [[#1757]] (https://github.com/remindmodel/remind/pull/1757) + [[#1747](https://github.com/remindmodel/remind/pull/1747)] and + [[#1757](https://github.com/remindmodel/remind/pull/1757)] ### changed - plastic waste by default does not lag plastics production by ten years @@ -26,8 +26,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). [[#1739](https://github.com/remindmodel/remind/pull/1739)] - **scripts** fail transparently on duplicated column names in `scenario_config*.csv` files [[#1742](https://github.com/remindmodel/remind/pull/1742)] -- **testthat** fail if manipulating main.gms with default cfg drops/changes switches - [[#1764](https://github.com/remindmodel/remind/pull/1764)] +- **testthat** fail if manipulating main.gms with default cfg drops/changes switches and comments + [[#1764](https://github.com/remindmodel/remind/pull/1764)] and + [[#1767](https://github.com/remindmodel/remind/pull/1767)] ### fixed - included CCS from plastic waste incineration in CCS mass flows so it is diff --git a/DESCRIPTION b/DESCRIPTION index 4532bfced..df14ad82d 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -36,7 +36,7 @@ Imports: knitr, lazyeval, lpjclass, - lucode2 (>= 0.47.8), + lucode2 (>= 0.47.9), luplot, luscale, lusweave, diff --git a/tests/testthat/test_01-manipulateConfig.R b/tests/testthat/test_01-manipulateConfig.R index 5cb88dae0..fb556218e 100644 --- a/tests/testthat/test_01-manipulateConfig.R +++ b/tests/testthat/test_01-manipulateConfig.R @@ -10,12 +10,7 @@ test_that("manipulate config with default configuration does not change main.gms diffresult <- NULL diffavailable <- ! Sys.which("diff") == "" if (diffavailable) { - diffresult <- suppressWarnings(system(paste("diff -b ../../main.gms", tmpfile), intern = TRUE)) - # drop all sorts of comments until https://github.com/pik-piam/lucode2/issues/121 is fixed - drop <- c("^< \\*\\*\\*", "^> \\*\\*\\*", "^> \\*' \\*", "^< \\*' \\*", "^---$", "^[0-9,]+c[0-9,]+$") - for (d in drop) { - diffresult <- grep(d, diffresult, value = TRUE, invert = TRUE) - } + diffresult <- suppressWarnings(system(paste("diff ../../main.gms", tmpfile), intern = TRUE)) if (length(diffresult) > 0) { warning("Applying manipulateConfig with the default configuration leads to this diff between main.gms and ", basename(tmpfile), ":\n", From 8c5c6f92a11a692a3dff2af9bbb3588e8299f42f Mon Sep 17 00:00:00 2001 From: orichters Date: Mon, 5 Aug 2024 15:17:33 +0200 Subject: [PATCH 261/875] make sclass command conditional on existence --- scripts/start/choose_slurmConfig.R | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/scripts/start/choose_slurmConfig.R b/scripts/start/choose_slurmConfig.R index 4f7e4167b..59de3d31a 100644 --- a/scripts/start/choose_slurmConfig.R +++ b/scripts/start/choose_slurmConfig.R @@ -35,9 +35,11 @@ choose_slurmConfig <- function(identifier = FALSE, flags = NULL) { if (! identifier %in% paste(seq(1:16))) { wasselect <- TRUE - cat("\nCurrent cluster utilization:\n") - system("sclass") - cat("\n") + if (! Sys.which("sclass") == "") { + cat("\nCurrent cluster utilization:\n") + system("sclass") + cat("\n") + } cat("\nPlease choose the SLURM configuration for your submission:\n") cat(" QOS tasks per node suitable for\n=======================================================================\n") #cat(paste(1:length(modes), modes, sep=": " ),sep="\n") From 72c28ed31e230548506a6c4bb2b0d15efd34e433 Mon Sep 17 00:00:00 2001 From: orichters Date: Tue, 6 Aug 2024 11:53:40 +0200 Subject: [PATCH 262/875] remove all testthat files --- tests/testthat/test_01-manipulateConfig.R | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/testthat/test_01-manipulateConfig.R b/tests/testthat/test_01-manipulateConfig.R index fb556218e..62f423970 100644 --- a/tests/testthat/test_01-manipulateConfig.R +++ b/tests/testthat/test_01-manipulateConfig.R @@ -1,7 +1,7 @@ test_that("manipulate config with default configuration does not change main.gms", { # copy main file and manipulate it based on default settings cfg_init <- gms::readDefaultConfig("../..") - tmpfile <- tempfile(pattern = "main", tmpdir = "../..", fileext = ".gms") + tmpfile <- tempfile(pattern = "main-TESTTHAT-", tmpdir = "../..", fileext = ".gms") file.copy("../../main.gms", tmpfile) lucode2::manipulateConfig(tmpfile, cfg_init$gms) cfg_after <- gms::readDefaultConfig("../..", basename(tmpfile)) @@ -48,6 +48,6 @@ test_that("manipulate config with default configuration does not change main.gms # cleanup if no error found if (length(addedgms) + length(removedgms) + length(contentdiff) + length(diffresult) == 0) { - file.remove(tmpfile) + file.remove(list.files(pattern = "main-TESTTHAT.*gms")) } }) From c133b1bd699448dcbaf76ff92d9db60b822a26c7 Mon Sep 17 00:00:00 2001 From: orichters Date: Tue, 6 Aug 2024 13:51:08 +0200 Subject: [PATCH 263/875] check manipulateConfig with arbitrary settings --- tests/testthat/test_01-manipulateConfig.R | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tests/testthat/test_01-manipulateConfig.R b/tests/testthat/test_01-manipulateConfig.R index 62f423970..566c5a722 100644 --- a/tests/testthat/test_01-manipulateConfig.R +++ b/tests/testthat/test_01-manipulateConfig.R @@ -3,6 +3,15 @@ test_that("manipulate config with default configuration does not change main.gms cfg_init <- gms::readDefaultConfig("../..") tmpfile <- tempfile(pattern = "main-TESTTHAT-", tmpdir = "../..", fileext = ".gms") file.copy("../../main.gms", tmpfile) + + # generate arbitrary settings, manipulate file, read them again and check identity + cfg_new <- cfg_init + cfg_new$gms[names(cfg_new$gms)] <- rep(c(0, 1, "asdf", "bc3", "3bc"), length(cfg_new$gms))[1:length(cfg_new$gms)] + lucode2::manipulateConfig(tmpfile, cfg_new$gms) + cfg_new_after <- gms::readDefaultConfig("../..", basename(tmpfile)) + expect_equal(cfg_new_after, cfg_new) + + # reset to initial setting and check that nothing has changed at all in the file lucode2::manipulateConfig(tmpfile, cfg_init$gms) cfg_after <- gms::readDefaultConfig("../..", basename(tmpfile)) From 3e7dab644a7aa205c12a003f816d9ad3a17036a2 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 6 Aug 2024 13:29:00 +0000 Subject: [PATCH 264/875] Release development version 3.3.2.dev293 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 21b95711d..7a07c3fa2 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,8 +266,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev290" -date-released: 2024-08-05 +version: "3.3.2.dev293" +date-released: 2024-08-06 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index b1f2aa1d2..8ed3babe3 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev290" +cfg$model_version <- "3.3.2.dev293" #### settings #### cfg$gms <- list() From c1987ff1089e97b407221a3cad5e8e5dbbe7522e Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 6 Aug 2024 13:59:04 +0000 Subject: [PATCH 265/875] Release development version 3.3.2.dev299 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 7a07c3fa2..58a1f456a 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,7 +266,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev293" +version: "3.3.2.dev299" date-released: 2024-08-06 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 8ed3babe3..3e3f0615c 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev293" +cfg$model_version <- "3.3.2.dev299" #### settings #### cfg$gms <- list() From 12d2efb0007f798874b650d7261cb10ccbe9ed21 Mon Sep 17 00:00:00 2001 From: lecfab Date: Tue, 6 Aug 2024 16:39:01 +0200 Subject: [PATCH 266/875] 2020-2015 is not 15 --- core/equations.gms | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/equations.gms b/core/equations.gms index 3e9322d19..b0e0f8fe5 100644 --- a/core/equations.gms +++ b/core/equations.gms @@ -438,13 +438,13 @@ q_costTeCapital(t,regi,teLearn)$(NOT (pm_data(regi,"tech_stat",teLearn) eq 4 AND )$( t.val le 2005 ) *** 2005 to 2020: linear transition from global 2005 to regional 2020 *** to phase-in the observed 2020 regional variation from input-data - + ( (2020 - t.val) / (2020-2015) * fm_dataglob("learnMult_wFC",teLearn) + + ( (2020 - t.val) / (2020-2005) * fm_dataglob("learnMult_wFC",teLearn) * ( sum(regi2, vm_capCum(t,regi2,teLearn)) + pm_capCumForeign(t,regi,teLearn) ) ** fm_dataglob("learnExp_wFC",teLearn) - + (t.val - 2005) / (2020-2015) * pm_data(regi,"learnMult_wFC",teLearn) + + (t.val - 2005) / (2020-2005) * pm_data(regi,"learnMult_wFC",teLearn) * ( sum(regi2, vm_capCum(t,regi2,teLearn)) + pm_capCumForeign(t,regi,teLearn) ) From f8fd321f215f3b29ab073cfa8c1c77ee2e585202 Mon Sep 17 00:00:00 2001 From: orichters Date: Tue, 6 Aug 2024 16:59:51 +0200 Subject: [PATCH 267/875] add --partition=priority to --qos=standby --- config/tests/scenario_config_default.csv | 2 +- output.R | 10 ++++++---- start_bundle_coupled.R | 3 ++- start_coupled.R | 3 ++- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/config/tests/scenario_config_default.csv b/config/tests/scenario_config_default.csv index ab7eafbe3..57c1abca0 100644 --- a/config/tests/scenario_config_default.csv +++ b/config/tests/scenario_config_default.csv @@ -1,2 +1,2 @@ title;start;slurmConfig -default;1;--qos=standby --nodes=1 --tasks-per-node=12 --wait +default;1;--qos=standby --partition=priority --nodes=1 --tasks-per-node=12 --wait diff --git a/output.R b/output.R index 5a9ba109c..d0f21d53a 100755 --- a/output.R +++ b/output.R @@ -85,9 +85,9 @@ if ("--help" %in% flags) { } choose_slurmConfig_output <- function(output) { - slurm_options <- c("--qos=priority --partition=priority", "--qos=short", "--qos=standby", + slurm_options <- c("--qos=priority --partition=priority", "--qos=short", "--qos=standby --partition=priority", "--qos=priority --partition=priority --mem=8000", "--qos=short --mem=8000", - "--qos=standby --mem=8000", "--qos=priority --partition=priority --mem=32000") + "--qos=standby --partition=priority --mem=8000", "--qos=priority --partition=priority --mem=32000") if (!isSlurmAvailable()) return("direct") @@ -198,7 +198,8 @@ if (comp %in% c("comparison", "export")) { } if (exists("slurmConfig")) { if (slurmConfig %in% c("priority", "short", "standby")) { - slurmConfig <- paste0("--qos=", slurmConfig) + slurmConfig <- paste0("--qos=", slurmConfig, + if (slurmConfig %in% c("priority", "standby")) " --partition=priority") } } @@ -238,7 +239,8 @@ if (comp %in% c("comparison", "export")) { if (slurmConfig != "direct") slurmConfig <- combine_slurmConfig("--nodes=1 --tasks-per-node=1", slurmConfig) } if (slurmConfig %in% c("priority", "short", "standby")) { - slurmConfig <- paste0("--qos=", slurmConfig, " --nodes=1 --tasks-per-node=1") + slurmConfig <- paste0("--nodes=1 --tasks-per-node=1 --qos=", slurmConfig, + if (slurmConfig %in% c("priority", "standby")) " --partition=priority") } if (isTRUE(slurmConfig %in% "direct")) { flags <- c(flags, "--interactive") # to tell scripts they can run in interactive mode diff --git a/start_bundle_coupled.R b/start_bundle_coupled.R index da7847f79..e6c663b54 100755 --- a/start_bundle_coupled.R +++ b/start_bundle_coupled.R @@ -665,7 +665,8 @@ for (scen in common) { sq <- system(paste0("squeue -u ", Sys.info()[["user"]], " -o '%q %j'"), intern = TRUE) runEnv$qos <- if (is.null(attr(sq, "status")) && sum(grepl("^priority ", sq)) < 4) "priority" else "short" } - slurmOptions <- combine_slurmConfig(paste0("--qos=", runEnv$qos, if (runEnv$qos %in% "priority") " --partition=priority", + slurmOptions <- combine_slurmConfig(paste0("--qos=", runEnv$qos, + if (runEnv$qos %in% c("priority", "standby")) " --partition=priority", " --job-name=", fullrunname, " --output=", logfile, " --open-mode=append --mail-type=END,FAIL --comment=REMIND-MAgPIE --tasks-per-node=", runEnv$numberOfTasks, if (runEnv$numberOfTasks == 1) " --mem=8000"), runEnv$sbatch) diff --git a/start_coupled.R b/start_coupled.R index 6b4b128cd..7b500a0ce 100644 --- a/start_coupled.R +++ b/start_coupled.R @@ -259,7 +259,8 @@ start_coupled <- function(path_remind, path_magpie, cfg_rem, cfg_mag, runname, m sq <- system(paste0("squeue -u ", Sys.info()[["user"]], " -o '%q %j' | grep -v ", fullrunname), intern = TRUE) subseq.env$qos <- if (is.null(attr(sq, "status")) && sum(grepl("^priority ", sq)) < 4) "priority" else "short" } - slurmOptions <- combine_slurmConfig(paste0("--qos=", subseq.env$qos, if (subseq.env$qos %in% "priority") " --partition=priority", + slurmOptions <- combine_slurmConfig(paste0("--qos=", subseq.env$qos, + if (subseq.env$qos %in% c("priority", "standby")) " --partition=priority", " --job-name=", subseq.env$fullrunname, " --output=", logfile, " --open-mode=append --mail-type=END,FAIL --comment=REMIND-MAgPIE --tasks-per-node=", subseq.env$numberOfTasks, if (subseq.env$numberOfTasks == 1) " --mem=8000"), subseq.env$sbatch) From 67af3be7762385b02925f3f364dec07f361d3210 Mon Sep 17 00:00:00 2001 From: orichters <90761609+orichters@users.noreply.github.com> Date: Wed, 7 Aug 2024 11:16:01 +0200 Subject: [PATCH 268/875] Update xlsx_IIASA.R, load iiasatemplate from server --- scripts/output/export/xlsx_IIASA.R | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/output/export/xlsx_IIASA.R b/scripts/output/export/xlsx_IIASA.R index aa3d81c82..0f1c8b46f 100644 --- a/scripts/output/export/xlsx_IIASA.R +++ b/scripts/output/export/xlsx_IIASA.R @@ -32,14 +32,14 @@ lucode2::readArgs("project") projects <- list( ELEVATE = list(mapping = c("NAVIGATE", "ELEVATE"), - iiasatemplate = "elevate-workflow/definitions/variable/variable.yaml"), + iiasatemplate = "https://files.ece.iiasa.ac.at/elevate/elevate-template.xlsx"), ENGAGE_4p5 = list(mapping = c("AR6", "AR6_NGFS"), iiasatemplate = "ENGAGE_CD-LINKS_template_2019-08-22.xlsx", removeFromScen = "_diff|_expoLinear|-all_regi"), NAVIGATE_coupled = list(mapping = c("NAVIGATE", "NAVIGATE_coupled")), NGFS = list(model = "REMIND-MAgPIE 3.3-4.8", mapping = c("AR6", "AR6_NGFS"), - iiasatemplate = "../iiasa-workflow/definitions/variable/variables.yaml", + iiasatemplate = "https://files.ece.iiasa.ac.at/ngfs-phase-5/ngfs-phase-5-template.xlsx", removeFromScen = "C_|_bIT|_bit|_bIt"), SHAPE = list(mapping = c("NAVIGATE", "SHAPE")), TESTTHAT = list(mapping = "AR6") From e45d03bec9306efad7d898ea6d733bdbcb21eb84 Mon Sep 17 00:00:00 2001 From: orichters <90761609+orichters@users.noreply.github.com> Date: Wed, 7 Aug 2024 11:16:44 +0200 Subject: [PATCH 269/875] Update DESCRIPTION: piamInterfaces >= 0.21.0 --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index df14ad82d..1fa0a8b05 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -51,7 +51,7 @@ Imports: nleqslv, optparse, piamenv (>= 0.4.0), - piamInterfaces (>= 0.20.21), + piamInterfaces (>= 0.21.0), piamPlotComparison (>= 0.0.10), piamutils, plotly, From d452f39c0155421d84b0a2aa0fa68b83369dffdb Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Wed, 7 Aug 2024 09:48:21 +0000 Subject: [PATCH 270/875] Release development version 3.3.2.dev303 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 58a1f456a..c68ab9bb6 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,8 +266,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev299" -date-released: 2024-08-06 +version: "3.3.2.dev303" +date-released: 2024-08-07 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 3e3f0615c..4f4aba5e9 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev299" +cfg$model_version <- "3.3.2.dev303" #### settings #### cfg$gms <- list() From 641bdac27de886692a3a68aaeb0a502ff29d48aa Mon Sep 17 00:00:00 2001 From: orichters <90761609+orichters@users.noreply.github.com> Date: Wed, 7 Aug 2024 13:05:00 +0200 Subject: [PATCH 271/875] Update checkProjectSummations.R - use intensiveUnits not skipUnits --- scripts/output/single/checkProjectSummations.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/output/single/checkProjectSummations.R b/scripts/output/single/checkProjectSummations.R index ca3094cbb..d2ff53bd1 100644 --- a/scripts/output/single/checkProjectSummations.R +++ b/scripts/output/single/checkProjectSummations.R @@ -60,7 +60,7 @@ for (mapping in c("AR6", "NAVIGATE")) { csregi <- d %>% filter(.data$region %in% unique(c("GLO", "World", read.csv2(envi$cfg$regionmapping)$RegionCode))) %>% - checkSummationsRegional(skipUnits = TRUE) %>% + checkSummationsRegional(intensiveUnits = TRUE) %>% rename(World = "total") %>% droplevels() checkyear <- 2050 From c500c2bba87309e3e1199676785f398c0307ce4f Mon Sep 17 00:00:00 2001 From: orichters <90761609+orichters@users.noreply.github.com> Date: Wed, 7 Aug 2024 13:05:23 +0200 Subject: [PATCH 272/875] Update DESCRIPTION - piamInterfaces >= 0.22.0 --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 1fa0a8b05..6349346cf 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -51,7 +51,7 @@ Imports: nleqslv, optparse, piamenv (>= 0.4.0), - piamInterfaces (>= 0.21.0), + piamInterfaces (>= 0.22.0), piamPlotComparison (>= 0.0.10), piamutils, plotly, From 8c9873c1a0b51e2909184b0f7c30c1c6be29e814 Mon Sep 17 00:00:00 2001 From: orichters <90761609+orichters@users.noreply.github.com> Date: Wed, 7 Aug 2024 13:08:39 +0200 Subject: [PATCH 273/875] add #1773 to changelog --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index cd9a4a7ec..2035fcfce 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). [[#1739](https://github.com/remindmodel/remind/pull/1739)] - **scripts** fail transparently on duplicated column names in `scenario_config*.csv` files [[#1742](https://github.com/remindmodel/remind/pull/1742)] +- **scripts** checkProjectSummations now also checks whether global intensive variables (prices) + lie between regional min/max + [[#1773](https://github.com/remindmodel/remind/pull/1773)] - **testthat** fail if manipulating main.gms with default cfg drops/changes switches and comments [[#1764](https://github.com/remindmodel/remind/pull/1764)] and [[#1767](https://github.com/remindmodel/remind/pull/1767)] From 00f8b05f841b6a0d9a4b612b84bfc175bff97954 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Wed, 7 Aug 2024 13:18:29 +0000 Subject: [PATCH 274/875] Release development version 3.3.2.dev308 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index c68ab9bb6..12760a81f 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,7 +266,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev303" +version: "3.3.2.dev308" date-released: 2024-08-07 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 4f4aba5e9..89fc84d46 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev303" +cfg$model_version <- "3.3.2.dev308" #### settings #### cfg$gms <- list() From fdc6f649623bca199348c48d919cce8e1e58535d Mon Sep 17 00:00:00 2001 From: orichters Date: Wed, 7 Aug 2024 15:33:05 +0200 Subject: [PATCH 275/875] undo adding --partition, problem is solved --- Makefile | 4 ++-- config/tests/scenario_config_default.csv | 2 +- config/tests/scenario_config_quick.csv | 2 +- output.R | 12 +++++------- scripts/start/choose_slurmConfig.R | 8 ++++---- .../climate_assessment/submit_climate_assessment.sh | 1 - start_bundle_coupled.R | 1 - start_coupled.R | 1 - 8 files changed, 13 insertions(+), 18 deletions(-) diff --git a/Makefile b/Makefile index 7587dbb53..fc87bfe8c 100644 --- a/Makefile +++ b/Makefile @@ -92,7 +92,7 @@ test-coupled: ## Test if the coupling with MAgPIE works. Takes significantly test-coupled-slurm: ## test-coupled, but on slurm $(info Coupling tests take around 75 minutes to run. Sent to slurm, find log in test-coupled.log) make ensure-reqs - @sbatch --qos=priority --partition=priority --wrap="make test-coupled" --job-name=test-coupled --mail-type=END,FAIL --output=test-coupled.log --comment="test-coupled.log" + @sbatch --qos=priority --wrap="make test-coupled" --job-name=test-coupled --mail-type=END,FAIL --output=test-coupled.log --comment="test-coupled.log" test-full: ## Run all tests, including coupling tests and a default ## REMIND scenario. Takes several hours to run. @@ -102,7 +102,7 @@ test-full: ## Run all tests, including coupling tests and a default test-full-slurm: ##test-full, but on slurm $(info Full tests take more than an hour to run, please be patient) make ensure-reqs - @sbatch --qos=priority --partition=priority --wrap="make test-full" --job-name=test-full --mail-type=END,FAIL --output=test-full.log --comment="test-full.log" + @sbatch --qos=priority --wrap="make test-full" --job-name=test-full --mail-type=END,FAIL --output=test-full.log --comment="test-full.log" test-validation: ## Run validation tests, requires a full set of runs in the output folder $(info Run validation tests, requires a full set of runs in the output folder) diff --git a/config/tests/scenario_config_default.csv b/config/tests/scenario_config_default.csv index 57c1abca0..ab7eafbe3 100644 --- a/config/tests/scenario_config_default.csv +++ b/config/tests/scenario_config_default.csv @@ -1,2 +1,2 @@ title;start;slurmConfig -default;1;--qos=standby --partition=priority --nodes=1 --tasks-per-node=12 --wait +default;1;--qos=standby --nodes=1 --tasks-per-node=12 --wait diff --git a/config/tests/scenario_config_quick.csv b/config/tests/scenario_config_quick.csv index a43a5f49b..dde5e701b 100644 --- a/config/tests/scenario_config_quick.csv +++ b/config/tests/scenario_config_quick.csv @@ -1,2 +1,2 @@ title;start;cm_nash_mode;cm_iteration_max;optimization;results_folder;output;cm_quick_mode;force_replace;slurmConfig -testOneRegi;1;1;1;testOneRegi;output/testOneRegi;reportingREMIND2MAgPIE;on;TRUE;--qos=priority --partition=priority --nodes=1 --tasks-per-node=1 --mem=8000 --time=60 --wait +testOneRegi;1;1;1;testOneRegi;output/testOneRegi;reportingREMIND2MAgPIE;on;TRUE;--qos=priority --nodes=1 --tasks-per-node=1 --mem=8000 --time=60 --wait diff --git a/output.R b/output.R index d0f21d53a..626a42177 100755 --- a/output.R +++ b/output.R @@ -85,9 +85,9 @@ if ("--help" %in% flags) { } choose_slurmConfig_output <- function(output) { - slurm_options <- c("--qos=priority --partition=priority", "--qos=short", "--qos=standby --partition=priority", - "--qos=priority --partition=priority --mem=8000", "--qos=short --mem=8000", - "--qos=standby --partition=priority --mem=8000", "--qos=priority --partition=priority --mem=32000") + slurm_options <- c("--qos=priority", "--qos=short", "--qos=standby", + "--qos=priority --mem=8000", "--qos=short --mem=8000", + "--qos=standby --mem=8000", "--qos=priority --mem=32000") if (!isSlurmAvailable()) return("direct") @@ -198,8 +198,7 @@ if (comp %in% c("comparison", "export")) { } if (exists("slurmConfig")) { if (slurmConfig %in% c("priority", "short", "standby")) { - slurmConfig <- paste0("--qos=", slurmConfig, - if (slurmConfig %in% c("priority", "standby")) " --partition=priority") + slurmConfig <- paste0("--qos=", slurmConfig) } } @@ -239,8 +238,7 @@ if (comp %in% c("comparison", "export")) { if (slurmConfig != "direct") slurmConfig <- combine_slurmConfig("--nodes=1 --tasks-per-node=1", slurmConfig) } if (slurmConfig %in% c("priority", "short", "standby")) { - slurmConfig <- paste0("--nodes=1 --tasks-per-node=1 --qos=", slurmConfig, - if (slurmConfig %in% c("priority", "standby")) " --partition=priority") + slurmConfig <- paste0("--nodes=1 --tasks-per-node=1 --qos=", slurmConfig) } if (isTRUE(slurmConfig %in% "direct")) { flags <- c(flags, "--interactive") # to tell scripts they can run in interactive mode diff --git a/scripts/start/choose_slurmConfig.R b/scripts/start/choose_slurmConfig.R index 59de3d31a..59ee685d2 100644 --- a/scripts/start/choose_slurmConfig.R +++ b/scripts/start/choose_slurmConfig.R @@ -55,10 +55,10 @@ choose_slurmConfig <- function(identifier = FALSE, flags = NULL) { "2" = "--qos=standby --nodes=1 --tasks-per-node=13" , # SLURM standby - task per node: 13 (nash H12 coupled) "3" = "--qos=standby --nodes=1 --tasks-per-node=16" , # SLURM standby - task per node: 16 (nash H12+) "4" = "--qos=standby --nodes=1 --tasks-per-node=1 --mem=8000" , # SLURM standby - task per node: 1 (nash debug, test one regi) - "5" = "--qos=priority --partition=priority --nodes=1 --tasks-per-node=12" , # SLURM priority - task per node: 12 (nash H12) [recommended] - "6" = "--qos=priority --partition=priority --nodes=1 --tasks-per-node=13" , # SLURM priority - task per node: 13 (nash H12 coupled) - "7" = "--qos=priority --partition=priority --nodes=1 --tasks-per-node=16" , # SLURM priority - task per node: 16 (nash H12+) - "8" = "--qos=priority --partition=priority --nodes=1 --tasks-per-node=1 --mem=8000" , # SLURM priority - task per node: 1 (nash debug, test one regi) + "5" = "--qos=priority --nodes=1 --tasks-per-node=12" , # SLURM priority - task per node: 12 (nash H12) [recommended] + "6" = "--qos=priority --nodes=1 --tasks-per-node=13" , # SLURM priority - task per node: 13 (nash H12 coupled) + "7" = "--qos=priority --nodes=1 --tasks-per-node=16" , # SLURM priority - task per node: 16 (nash H12+) + "8" = "--qos=priority --nodes=1 --tasks-per-node=1 --mem=8000" , # SLURM priority - task per node: 1 (nash debug, test one regi) "9" = "--qos=short --nodes=1 --tasks-per-node=12" , # SLURM short - task per node: 12 (nash H12) "10" = "--qos=short --nodes=1 --tasks-per-node=16" , # SLURM short - task per node: 16 (nash H12+) "11" = "--qos=short --nodes=1 --tasks-per-node=1 --mem=8000" , # SLURM short - task per node: 1 (nash debug, test one regi) diff --git a/scripts/utils/climate_assessment/submit_climate_assessment.sh b/scripts/utils/climate_assessment/submit_climate_assessment.sh index 9254d0bc6..fa547f2ee 100644 --- a/scripts/utils/climate_assessment/submit_climate_assessment.sh +++ b/scripts/utils/climate_assessment/submit_climate_assessment.sh @@ -1,6 +1,5 @@ #!/bin/bash #SBATCH --qos=priority -#SBATCH --partition=priority #SBATCH --time=06:00:00 #SBATCH --nodes=1 #SBATCH --ntasks-per-node=12 diff --git a/start_bundle_coupled.R b/start_bundle_coupled.R index e6c663b54..38db3f082 100755 --- a/start_bundle_coupled.R +++ b/start_bundle_coupled.R @@ -666,7 +666,6 @@ for (scen in common) { runEnv$qos <- if (is.null(attr(sq, "status")) && sum(grepl("^priority ", sq)) < 4) "priority" else "short" } slurmOptions <- combine_slurmConfig(paste0("--qos=", runEnv$qos, - if (runEnv$qos %in% c("priority", "standby")) " --partition=priority", " --job-name=", fullrunname, " --output=", logfile, " --open-mode=append --mail-type=END,FAIL --comment=REMIND-MAgPIE --tasks-per-node=", runEnv$numberOfTasks, if (runEnv$numberOfTasks == 1) " --mem=8000"), runEnv$sbatch) diff --git a/start_coupled.R b/start_coupled.R index 7b500a0ce..f9fff54df 100644 --- a/start_coupled.R +++ b/start_coupled.R @@ -260,7 +260,6 @@ start_coupled <- function(path_remind, path_magpie, cfg_rem, cfg_mag, runname, m subseq.env$qos <- if (is.null(attr(sq, "status")) && sum(grepl("^priority ", sq)) < 4) "priority" else "short" } slurmOptions <- combine_slurmConfig(paste0("--qos=", subseq.env$qos, - if (subseq.env$qos %in% c("priority", "standby")) " --partition=priority", " --job-name=", subseq.env$fullrunname, " --output=", logfile, " --open-mode=append --mail-type=END,FAIL --comment=REMIND-MAgPIE --tasks-per-node=", subseq.env$numberOfTasks, if (subseq.env$numberOfTasks == 1) " --mem=8000"), subseq.env$sbatch) From 70554eb59d9913a7708389fdddd5f080fd73a3c1 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Wed, 7 Aug 2024 13:55:35 +0000 Subject: [PATCH 276/875] Release development version 3.3.2.dev312 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 12760a81f..69e075123 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,7 +266,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev308" +version: "3.3.2.dev312" date-released: 2024-08-07 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 89fc84d46..76af94d75 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev308" +cfg$model_version <- "3.3.2.dev312" #### settings #### cfg$gms <- list() From 595d9a4e1520f7649ad31443d2ccf7da56a37671 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Thu, 8 Aug 2024 10:38:11 +0200 Subject: [PATCH 277/875] bugfix in 45_carbonprice realization expoLinear --- modules/45_carbonprice/expoLinear/datainput.gms | 15 ++++++++------- .../45_carbonprice/expoLinear/declarations.gms | 8 +++++--- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/modules/45_carbonprice/expoLinear/datainput.gms b/modules/45_carbonprice/expoLinear/datainput.gms index 6ea661a71..56a34c881 100644 --- a/modules/45_carbonprice/expoLinear/datainput.gms +++ b/modules/45_carbonprice/expoLinear/datainput.gms @@ -17,14 +17,15 @@ elseif cm_co2_tax_startyear gt 0, s45_co2_tax_startyear = cm_co2_tax_startyear * sm_DptCO2_2_TDpGtC; ); -*LKS* code cleaning: usage of ttot should be replaced by t. -*LB* calculate tax path until cm_expoLinear_yearStart (defaults to 2060) -pm_taxCO2eq(ttot,regi)$(ttot.val ge cm_startyear) = s45_co2_tax_startyear*cm_co2_tax_growth**(ttot.val-cm_startyear); -*LB* use linear tax path from cm_expoLinear_yearStart on -p45_tau_co2_tax_inc(regi) = sum(ttot$(ttot.val eq cm_expoLinear_yearStart),((pm_taxCO2eq(ttot, regi) - pm_taxCO2eq(ttot - 1, regi)) / (pm_ttot_val(ttot) - pm_ttot_val(ttot - 1)))); -pm_taxCO2eq(ttot,regi)$(ttot.val gt cm_expoLinear_yearStart) = sum(t$(t.val eq cm_expoLinear_yearStart), pm_taxCO2eq(t, regi) + p45_tau_co2_tax_inc(regi) * (pm_ttot_val(ttot) - pm_ttot_val(t))) ; +*** calculate tax path until cm_expoLinear_yearStart (defaults to 2060) +pm_taxCO2eq(t,regi) = s45_co2_tax_startyear*cm_co2_tax_growth**(t.val-cm_startyear); +*** use linear tax path from cm_expoLinear_yearStart on (with slope given by last timestep before cm_expoLinear_yearStart) +p45_tau_co2_tax_inc(regi) = sum(ttot$(ttot.val eq cm_expoLinear_yearStart), + ((pm_taxCO2eq(ttot, regi) - pm_taxCO2eq(ttot - 1, regi)) / (pm_ttot_val(ttot) - pm_ttot_val(ttot - 1)))); !! Using ttot to make use of pm_ttot_val +pm_taxCO2eq(t,regi)$(t.val gt cm_expoLinear_yearStart) = sum(t2$(t2.val eq cm_expoLinear_yearStart), pm_taxCO2eq(t2, regi)) + + p45_tau_co2_tax_inc(regi) * (t.val - cm_expoLinear_yearStart); *** set carbon price constant after 2110 to prevent huge carbon prices which lead to convergence problems -pm_taxCO2eq(ttot,regi)$(ttot.val gt 2110) = pm_taxCO2eq("2110",regi); +pm_taxCO2eq(t,regi)$(t.val gt 2110) = pm_taxCO2eq("2110",regi); display pm_taxCO2eq; display p45_tau_co2_tax_inc; diff --git a/modules/45_carbonprice/expoLinear/declarations.gms b/modules/45_carbonprice/expoLinear/declarations.gms index abd5f9535..4e3552dd1 100644 --- a/modules/45_carbonprice/expoLinear/declarations.gms +++ b/modules/45_carbonprice/expoLinear/declarations.gms @@ -6,9 +6,11 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/45_carbonprice/expoLinear/declarations.gms -scalars -s45_tau_co2_tax_inc "Linear annual increase in carbon price T$/GtC/yr" -s45_co2_tax_startyear "level of CO2 tax in start year converted from $/t CO2eq to T$/GtC" +scalar +s45_co2_tax_startyear "level of CO2 tax in start year in T$/GtC" +; +parameter +p45_tau_co2_tax_inc(all_regi) "Linear annual increase in carbon price T$/GtC/yr" ; *** EOF ./modules/45_carbonprice/expoLinear/declarations.gms From 56423c8563b50f0e34a1816d53d83744a2cfe600 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Thu, 8 Aug 2024 09:04:07 +0000 Subject: [PATCH 278/875] Release development version 3.3.2.dev315 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 69e075123..602dc9397 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,8 +266,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev312" -date-released: 2024-08-07 +version: "3.3.2.dev315" +date-released: 2024-08-08 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 76af94d75..27730d368 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev312" +cfg$model_version <- "3.3.2.dev315" #### settings #### cfg$gms <- list() From 14e8992607d7c51f1ea49ae1705523d8dbfd6ff7 Mon Sep 17 00:00:00 2001 From: orichters Date: Wed, 7 Aug 2024 18:39:27 +0200 Subject: [PATCH 279/875] adjust config files from remind-3p3p1 --- config/scenario_config_NGFS_v5.csv | 134 ++++++++++----------- config/scenario_config_coupled_NGFS_v5.csv | 96 +++++++-------- 2 files changed, 115 insertions(+), 115 deletions(-) diff --git a/config/scenario_config_NGFS_v5.csv b/config/scenario_config_NGFS_v5.csv index 191b21293..0011d169f 100644 --- a/config/scenario_config_NGFS_v5.csv +++ b/config/scenario_config_NGFS_v5.csv @@ -1,67 +1,67 @@ -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_wasteIncinerationCCSshare;cm_DiscRateScen;c_shBioTrans;cm_EDGEtr_scen;cm_reducCostB;cm_CES_calibration_default_prices;cm_CO2TaxSectorMarkup;c_ccsinjecratescen;c_ccsinjecrateRegi;cm_33DAC;cm_33EW;cm_bioenergy_SustTax;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;carbonpriceRegi;regipol;cm_implicitQttyTarget;cm_implicitQttyTarget_tolerance;cm_NDC_version;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;path_gdx_ref;path_gdx_refpolicycost;path_gdx_bau;description -# ___Calibration___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;initial value;initial value;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-Base_covidCalib;0;;;gdp_SSP2;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -# ___Baselines___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-Base;0;;;gdp_SSP2;medOil;medGas;medCoal;load;5;off;off;uncalibrated;off;0;off;RCP26_50;off;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;;0;1;Mix1;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-Base: 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. -SSP2-Base_d50;0;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KWLike;0;;RCP26_50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d50: 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -SSP2-Base_d95;0;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KWLike;0;;RCP26_95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d95: 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -SSP2-Base_d50high;d50high;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KW_SE;1.96;;RCP26_50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d50: 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -SSP2-Base_d95high;d95high;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KW_SE;1.96;;RCP26_95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d95: 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -# ___NO_DAMAGES___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -h_cpol_noUkr;NGFS;SSP2-Base;;;;;;;;;;;;;;;;;30;;;;;;;;;;;Mix2;none;;;;;0;0;1.5;rcp45;3;off;0;NPi;none;;;;;;1;2100;;2050;9;;;3;1.05;100;;NPi2018;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2005;;;;;h_cpol: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. -h_cpol;NGFS;h_cpol_noUkr;EUR.pegas.worldPricemarkup 0.5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;;h_cpol_noUkr;;; -h_ndc;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;;;;Mix3;none;;;1;;;;1.5;rcp45;3;globallyOptimal;0;NDC;none;;;;;;1;2100;3;2050;;;;;;;;NDC;;;;3;;;;;;;2025;;h_cpol_noUkr;h_cpol;h_cpol_noUkr;h_ndc: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. -o_1p5c;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;Mix4;heatpumps;;;1;;;;1.5;rcp20;9;globallyOptimal;560;diffCurvPhaseIn2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 4300, 2080.GLO.tax.t.CCS.biomass 4300;0.1;;;200;2045;6;2050;;;;;;;;NDC;;;;2;;;;;;;2025;;h_cpol_noUkr;h_cpol;;o_1p5c: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. -o_lowdem;NGFS;o_1p5c;;gdp_SSP2_lowEn;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;;;;;;GLO 0.00125, CAZ_regi 0.0045, CHA_regi 0.004, EUR_regi 0.0045, IND_regi 0.004, JPN_regi 0.002, USA_regi 0.002;;;;;;;560;diffCurvPhaseIn2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 3800, 2080.GLO.tax.t.CCS.biomass 3800;0.1;;;;;1;;;;;;;;;;;;;;;;;;;;2025;;h_cpol_noUkr;h_cpol;;o_lowdem: Low Demand scenario -o_2c;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.5;;;Mix4;heatpumps;;;1;;;;1.5;rcp26;9;globallyOptimal;1050;diffCurvPhaseIn2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 2300, 2080.GLO.tax.t.CCS.biomass 2300;;;NGFS_v4_20pc;100;2080;3;2050;;;;;;;;NDC;;;;2;;;;;;;2025;;h_cpol_noUkr;h_cpol;;o_2c: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. -d_delfrag;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.5;;;Mix3;heatpumps;;;;GLO 0.00125, CAZ_regi 0.0045, CHA_regi 0.004, EUR_regi 0.0045, IND_regi 0.004, JPN_regi 0.002, USA_regi 0.002;;;1.5;rcp26;9;globallyOptimal;1010;diffCurvPhaseIn2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 2300, 2080.GLO.tax.t.CCS.biomass 2300;;;;100;2080;;2050;;;;;;;;NDC;;;;2;;;;;;;2035;;h_cpol;h_cpol;;d_delfrag: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. -d_strain;NGFS;d_delfrag;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3;off;;NPi;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 2300, 2080.GLO.tax.t.CCS.biomass 2300;;;NGFS_v4_20pc;1;2100;;;;;;;;;;;;;;;;;;;;;2035;;h_cpol;h_cpol;;d_strain: Fragmented world -d_rap;0;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;Mix4;heatpumps;;GLO.trans 2, GLO.build 2;2;;;;1.5;rcp20;9;globallyOptimal;560;diffCurvPhaseIn2Lin;none;;;;;;200;2045;3;2050;;;;;;;;NDC;;;;2;;;;;;;2025;;h_cpol_noUkr;h_cpol;;d_rap: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. -# ___WITH_DAMAGES___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -h_cpol_d50;d50;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d50: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -h_cpol_d95;d95;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_95;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d95: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -h_cpol_d50high;d50high;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d50high: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -h_cpol_d95high;d95high;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;RCP26_95;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d95high: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -h_ndc_d50;d50;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d50;SSP2-Base;h_ndc_d50: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -h_ndc_d95;d95;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_95;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d95;SSP2-Base;h_ndc_d95: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -h_ndc_d50high;d50high;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d50high;SSP2-Base;h_ndc_d50high: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -h_ndc_d95high;d95high;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;RCP26_95;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d95high;SSP2-Base;h_ndc_d95high: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -o_1p5c_d50;d50;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d50;;o_1p5c_d50: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_1p5c_d95;d95;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d95;;o_1p5c_d95: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_1p5c_d50high;d50high;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d50high;;o_1p5c_d50high: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_1p5c_d95high;d95high;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d95high;;o_1p5c_d95high: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_1p5c_d50_cpricereg;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_d50_cpricereg: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_1p5c_d95_cpricereg;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_d95_cpricereg: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_1p5c_dni50;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_dni50: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -o_1p5c_dni95;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_95;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_dni95: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -o_lowdem_d50;d50;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d50;;o_lowdem_d50 -o_lowdem_d95;d95;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d95;;o_lowdem_d95 -o_lowdem_d50high;d50high;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d50high;;o_lowdem_d50high -o_lowdem_d95high;d95high;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d95high;;o_lowdem_d95high -o_2c_d50;d50;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d50;;o_2c_d50: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_2c_d95;d95;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d95;;o_2c_d95: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_2c_d50high;d50high;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d50high;;o_2c_d50high: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_2c_d95high;d95high;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d95high;;o_2c_d95high: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_2c_d50_cpricereg;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_d50_cpricereg: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. The Social Cost of Carbon is regional rather than globally uniform. -o_2c_d95_cpricereg;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_d95_cpricereg: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. The Social Cost of Carbon is regional rather than globally uniform. -o_2c_dni50;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_dni50: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -o_2c_dni50_fixCprice;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;0;;1050;exogenous;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_dni50_fixCprice: a test run fixing the carbon price to the one from the fully integrated o_2c_d50 scenario -o_2c_fixCprice;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;off;0;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;0;;1050;exogenous;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_fixCprice: a test run fixing the carbon price to the one from the fully integrated o_2c scenario -o_2c_dni95;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_95;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_dni95: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -d_delfrag_d50;d50;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d50;h_cpol_d50;;d_delfrag_d50: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -d_delfrag_d95;d95;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d95;h_cpol_d95;;d_delfrag_d95: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -d_delfrag_d50high;d50high;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d50high;h_cpol_d50high;;d_delfrag_d50high: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -d_delfrag_d95high;d95high;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d95high;h_cpol_d95high;;d_delfrag_d95high: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -d_strain_d50;d50;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d50;h_cpol_d50;;d_strain_d50: Fragmented World -d_strain_d95;d95;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d95;h_cpol_d95;;d_strain_d95: Fragmented World -d_strain_d50high;d50high;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d50high;h_cpol_d50high;;d_strain_d50high: Fragmented World -d_strain_d95high;d95high;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d95high;h_cpol_d95high;;d_strain_d95high: Fragmented World -d_rap_d50;d50;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d50;;d_rap_d50: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -d_rap_d95;d95;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d95;;d_rap_d95: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -d_rap_d50high;d50high;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d50high;;d_rap_d50high: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -d_rap_d95high;d95high;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d95high;;d_rap_d95high: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_cba_d50;d50;;;;;;;load;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_50;on;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;o_2c;h_cpol_noUkr;h_cpol_d50;;o_cba_d50: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_cba_d95;d95;;;;;;;load;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_95;on;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;o_2c;h_cpol_noUkr;h_cpol_d95;;o_cba_d95: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_cba_d50high;d50high;;;;;;;load;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_50;on;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;o_2c;h_cpol_noUkr;h_cpol_d50high;;o_cba_d50high: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_cba_d95high;d95high;;;;;;;load;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_95;on;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;o_2c;h_cpol_noUkr;h_cpol_d95high;;o_cba_d95high: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +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_wasteIncinerationCCSshare;cm_DiscRateScen;c_shBioTrans;cm_EDGEtr_scen;cm_reducCostB;cm_CES_calibration_default_prices;cm_CO2TaxSectorMarkup;c_ccsinjecratescen;c_ccsinjecrateRegi;cm_33DAC;cm_33EW;cm_bioenergy_SustTax;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;carbonpriceRegi;regipol;cm_implicitQttyTarget;cm_implicitQttyTarget_tolerance;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;fixOnRefAuto;cm_startyear;path_gdx;path_gdx_ref;path_gdx_refpolicycost;path_gdx_bau;description +# ___Calibration___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;initial value;initial value;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2-Base_covidCalib;0;;;gdp_SSP2;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +# ___Baselines___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2-Base;0;;;gdp_SSP2;medOil;medGas;medCoal;load;5;off;off;uncalibrated;off;0;off;RCP26_50;off;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;;0;1;Mix1;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;TRUE;2005;;;;;SSP2-Base: 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. +SSP2-Base_d50;0;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KWLike;0;;RCP26_50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d50: 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. +SSP2-Base_d95;0;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KWLike;0;;RCP26_95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d95: 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. +SSP2-Base_d50high;d50high;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KW_SE;1.96;;RCP26_50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d50: 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. +SSP2-Base_d95high;d95high;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KW_SE;1.96;;RCP26_95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d95: 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. +# ___NO_DAMAGES___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +h_cpol_noUkr;NGFS;SSP2-Base;;;;;;;;;;;;;;;;;30;;;;;;;;;;;Mix2;none;;;;;0;0;1.5;rcp45;3;off;0;NPi;none;;;;;;1;2100;;2050;9;;;3;1.05;100;;NPi2018;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;;2005;;;;;h_cpol: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. +h_cpol;NGFS;h_cpol_noUkr;EUR.pegas.worldPricemarkup 0.5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;;h_cpol_noUkr;;; +h_ndc;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;;;;Mix3;none;;;1;;;;1.5;rcp45;3;globallyOptimal;0;NDC;none;;;;;;1;2100;3;2050;;;;;;;;NDC;;;;3;;;;;;;;2025;;h_cpol_noUkr;h_cpol;h_cpol_noUkr;h_ndc: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. +o_1p5c;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;Mix4;heatpumps;;;1;;;;1.5;rcp20;9;globallyOptimal;560;diffCurvPhaseIn2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 4300, 2080.GLO.tax.t.CCS.biomass 4300;0.1;;;200;2045;6;2050;;;;;;;;NDC;;;;2;;;;;;;;2025;;h_cpol_noUkr;h_cpol;;o_1p5c: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. +o_lowdem;NGFS;o_1p5c;;gdp_SSP2_lowEn;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;;;;;;GLO 0.00125, CAZ_regi 0.0045, CHA_regi 0.004, EUR_regi 0.0045, IND_regi 0.004, JPN_regi 0.002, USA_regi 0.002;;;;;;;560;diffCurvPhaseIn2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 3800, 2080.GLO.tax.t.CCS.biomass 3800;0.1;;;;;1;;;;;;;;;;;;;;;;;;;;;2025;;h_cpol_noUkr;h_cpol;;o_lowdem: Low Demand scenario +o_2c;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.5;;;Mix4;heatpumps;;;1;;;;1.5;rcp26;9;globallyOptimal;1050;diffCurvPhaseIn2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 2300, 2080.GLO.tax.t.CCS.biomass 2300;;;NGFS_v4_20pc;100;2080;3;2050;;;;;;;;NDC;;;;2;;;;;;;;2025;;h_cpol_noUkr;h_cpol;;o_2c: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. +d_delfrag;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.5;;;Mix3;heatpumps;;;;GLO 0.00125, CAZ_regi 0.0045, CHA_regi 0.004, EUR_regi 0.0045, IND_regi 0.004, JPN_regi 0.002, USA_regi 0.002;;;1.5;rcp26;9;globallyOptimal;1010;diffCurvPhaseIn2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 2300, 2080.GLO.tax.t.CCS.biomass 2300;;;;100;2080;;2050;;;;;;;;NDC;;;;2;;;;;;;;2035;;h_cpol;h_cpol;;d_delfrag: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. +d_strain;NGFS;d_delfrag;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3;off;;NPi;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 2300, 2080.GLO.tax.t.CCS.biomass 2300;;;NGFS_v4_20pc;1;2100;;;;;;;;;;;;;;;;;;;;;;2035;;h_cpol;h_cpol;;d_strain: Fragmented world +d_rap;0;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;Mix4;heatpumps;;GLO.trans 2, GLO.build 2;2;;;;1.5;rcp20;9;globallyOptimal;560;diffCurvPhaseIn2Lin;none;;;;;;200;2045;3;2050;;;;;;;;NDC;;;;2;;;;;;;;2025;;h_cpol_noUkr;h_cpol;;d_rap: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. +# ___WITH_DAMAGES___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +h_cpol_d50;d50;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d50: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. +h_cpol_d95;d95;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_95;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d95: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. +h_cpol_d50high;d50high;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d50high: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. +h_cpol_d95high;d95high;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;RCP26_95;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d95high: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. +h_ndc_d50;d50;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d50;SSP2-Base;h_ndc_d50: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. +h_ndc_d95;d95;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_95;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d95;SSP2-Base;h_ndc_d95: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. +h_ndc_d50high;d50high;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d50high;SSP2-Base;h_ndc_d50high: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. +h_ndc_d95high;d95high;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;RCP26_95;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d95high;SSP2-Base;h_ndc_d95high: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. +o_1p5c_d50;d50;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d50;;o_1p5c_d50: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +o_1p5c_d95;d95;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d95;;o_1p5c_d95: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +o_1p5c_d50high;d50high;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d50high;;o_1p5c_d50high: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +o_1p5c_d95high;d95high;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d95high;;o_1p5c_d95high: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +o_1p5c_d50_cpricereg;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_d50_cpricereg: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +o_1p5c_d95_cpricereg;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_d95_cpricereg: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +o_1p5c_dni50;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_dni50: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. +o_1p5c_dni95;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_95;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_dni95: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. +o_lowdem_d50;d50;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d50;;o_lowdem_d50 +o_lowdem_d95;d95;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d95;;o_lowdem_d95 +o_lowdem_d50high;d50high;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d50high;;o_lowdem_d50high +o_lowdem_d95high;d95high;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d95high;;o_lowdem_d95high +o_2c_d50;d50;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d50;;o_2c_d50: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +o_2c_d95;d95;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d95;;o_2c_d95: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +o_2c_d50high;d50high;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d50high;;o_2c_d50high: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +o_2c_d95high;d95high;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d95high;;o_2c_d95high: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +o_2c_d50_cpricereg;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_d50_cpricereg: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. The Social Cost of Carbon is regional rather than globally uniform. +o_2c_d95_cpricereg;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_d95_cpricereg: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. The Social Cost of Carbon is regional rather than globally uniform. +o_2c_dni50;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_dni50: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. +o_2c_dni50_fixCprice;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;0;;1050;exogenous;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_dni50_fixCprice: a test run fixing the carbon price to the one from the fully integrated o_2c_d50 scenario +o_2c_fixCprice;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;off;0;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;0;;1050;exogenous;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_fixCprice: a test run fixing the carbon price to the one from the fully integrated o_2c scenario +o_2c_dni95;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_95;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_dni95: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. +d_delfrag_d50;d50;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d50;h_cpol_d50;;d_delfrag_d50: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +d_delfrag_d95;d95;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d95;h_cpol_d95;;d_delfrag_d95: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +d_delfrag_d50high;d50high;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d50high;h_cpol_d50high;;d_delfrag_d50high: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +d_delfrag_d95high;d95high;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d95high;h_cpol_d95high;;d_delfrag_d95high: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +d_strain_d50;d50;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d50;h_cpol_d50;;d_strain_d50: Fragmented World +d_strain_d95;d95;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d95;h_cpol_d95;;d_strain_d95: Fragmented World +d_strain_d50high;d50high;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d50high;h_cpol_d50high;;d_strain_d50high: Fragmented World +d_strain_d95high;d95high;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d95high;h_cpol_d95high;;d_strain_d95high: Fragmented World +d_rap_d50;d50;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d50;;d_rap_d50: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +d_rap_d95;d95;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d95;;d_rap_d95: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +d_rap_d50high;d50high;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d50high;;d_rap_d50high: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +d_rap_d95high;d95high;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d95high;;d_rap_d95high: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +o_cba_d50;d50;;;;;;;load;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_50;on;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;;2025;o_2c;h_cpol_noUkr;h_cpol_d50;;o_cba_d50: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +o_cba_d95;d95;;;;;;;load;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_95;on;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;;2025;o_2c;h_cpol_noUkr;h_cpol_d95;;o_cba_d95: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +o_cba_d50high;d50high;;;;;;;load;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_50;on;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;;2025;o_2c;h_cpol_noUkr;h_cpol_d50high;;o_cba_d50high: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +o_cba_d95high;d95high;;;;;;;load;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_95;on;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;;2025;o_2c;h_cpol_noUkr;h_cpol_d95high;;o_cba_d95high: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. diff --git a/config/scenario_config_coupled_NGFS_v5.csv b/config/scenario_config_coupled_NGFS_v5.csv index db35956e6..835e3936b 100644 --- a/config/scenario_config_coupled_NGFS_v5.csv +++ b/config/scenario_config_coupled_NGFS_v5.csv @@ -1,48 +1,48 @@ -title;start;copyConfigFrom;oldrun;path_report;qos;magpie_scen;no_ghgprices_land_until;.cm_nash_autoconverge_lastrun;path_gdx;path_gdx_ref;path_gdx_bau -SSP2-Base;;;SSP2-Base;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;;;; -h_cpol_noUkr;NGFS;;h_cpol;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;2;;; -h_cpol;NGFS;;h_cpol;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;2;;; -h_ndc;NGFS;;h_ndc;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;2;;; -o_1p5c;NGFS;;o_1p5c;;;SSP2|NDC|nocc_hist|rcp1p9;y2030;2;;; -o_2c;NGFS;;o_2c;;;SSP2|NDC|nocc_hist|rcp2p6;y2030;2;;; -o_lowdem;NGFS;;o_lowdem;;;SSP2|NDC|nocc_hist|rcp1p9|NGFS_o_lowdem;y2030;2;;; -d_delfrag;NGFS;;d_delfrag;;;SSP2|NDC|nocc_hist|rcp2p6;y2030;2;;; -d_strain;NGFS;;d_strain;;;SSP2|NDC|nocc_hist|rcp4p5;y2030;2;;; -SSP2-Base_d50;0;SSP2-Base;SSP2-Base;;;SSP2|NPI|cc|rcp6p0;;;;; -SSP2-Base_d95;0;SSP2-Base_d50;SSP2-Base;;;;;;;; -SSP2-Base_d50high;0;SSP2-Base_d50;SSP2-Base;;;;;;;; -SSP2-Base_d95high;0;SSP2-Base_d50;SSP2-Base;;;;;;;; -h_cpol_d50;d50;h_cpol;h_cpol;;;SSP2|NPI|cc|rcp4p5;;;;; -h_cpol_d95;d95;h_cpol_d50;h_cpol;;;;;;;; -h_cpol_d50high;d50high;h_cpol_d50;h_cpol;;;;;;;; -h_cpol_d95high;d95high;h_cpol_d50;h_cpol;;;;;;;; -h_ndc_d50;d50;h_ndc;h_ndc;;;SSP2|NDC|cc|rcp4p5;;;;; -h_ndc_d95;d95;h_ndc_d50;h_ndc;;;;;;;; -h_ndc_d50high;d50high;h_ndc_d50;h_ndc;;;;;;;; -h_ndc_d95high;d95high;h_ndc_d50;h_ndc;;;;;;;; -o_1p5c_d50;d50;o_1p5c;o_1p5c;;;SSP2|NDC|cc|rcp1p9;;;;; -o_1p5c_d95;d95;o_1p5c_d50;o_1p5c;;;;;;;; -o_1p5c_d50high;d50high;o_1p5c_d50;o_1p5c;;;;;;;; -o_1p5c_d95high;d95high;o_1p5c_d50;o_1p5c;;;;;;;; -o_2c_d50;d50;o_2c;o_2c;;;SSP2|NDC|cc|rcp2p6;;;;; -o_2c_d95;d95;o_2c_d50;o_2c;;;;;;;; -o_2c_d50high;d50high;o_2c_d50;o_2c;;;;;;;; -o_2c_d95high;d95high;o_2c_d50;o_2c;;;;;;;; -o_lowdem_d50;d50;o_lowdem;o_lowdem;;;SSP2|NDC|cc|rcp1p9|NGFS_o_lowdem;;;;; -o_lowdem_d95;d95;o_lowdem_d50;o_lowdem;;;;;;;; -o_lowdem_d50high;d50high;o_lowdem_d50;o_lowdem;;;;;;;; -o_lowdem_d95high;d95high;o_lowdem_d50;o_lowdem;;;;;;;; -d_delfrag_d50;d50;d_delfrag;d_delfrag;;;SSP2|NDC|cc|rcp2p6;;;;; -d_delfrag_d95;d95;d_delfrag_d50;d_delfrag;;;;;;;; -d_delfrag_d50high;d50high;d_delfrag_d50;d_delfrag;;;;;;;; -d_delfrag_d95high;d95high;d_delfrag_d50;d_delfrag;;;;;;;; -d_strain_d50;d50;d_strain;d_strain;;;SSP2|NDC|cc|rcp4p5;;;;; -d_strain_d95;d95;d_strain_d50;d_strain;;;;;;;; -d_strain_d50high;d50high;d_strain_d50;d_strain;;;;;;;; -d_strain_d95high;d95high;d_strain_d50;d_strain;;;;;;;; -# old, from NGFS v3;;;;;;;;;;; -d_rap;0;;d_rap;;;SSP2|NDC|nocc_hist|rcp1p9;y2030;2;;; -d_rap_d50;0;d_rap;d_rap;;;SSP2|NDC|cc|rcp1p9;;;;; -d_rap_d95;0;d_rap_d50;d_rap;;;;;;;; -d_rap_d50high;0;d_rap_d50;d_rap;;;;;;;; -d_rap_d95high;0;d_rap_d50;d_rap;;;;;;;; +title;start;copyConfigFrom;oldrun;path_report;qos;magpie_scen;no_ghgprices_land_until;.cm_nash_autoconverge_lastrun;path_gdx;path_gdx_ref;path_gdx_bau;cfg_mag$gms$s56_cprice_red_factor +SSP2-Base;;;SSP2-Base;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;;;;; +h_cpol_noUkr;NGFS;;h_cpol;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;2;;;; +h_cpol;NGFS;;h_cpol;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;2;;;; +h_ndc;NGFS;;h_ndc;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;2;;;; +o_1p5c;NGFS;;o_1p5c;;;SSP2|NDC|nocc_hist|rcp1p9;y2030;2;;;;0.3 +o_2c;NGFS;;o_2c;;;SSP2|NDC|nocc_hist|rcp2p6;y2030;2;;;; +o_lowdem;NGFS;;o_lowdem;;;SSP2|NDC|nocc_hist|rcp1p9|NGFS_o_lowdem;y2030;2;;;;0.3 +d_delfrag;NGFS;;d_delfrag;;;SSP2|NDC|nocc_hist|rcp2p6;y2030;2;;;; +d_strain;NGFS;;d_strain;;;SSP2|NDC|nocc_hist|rcp4p5;y2030;2;;;; +SSP2-Base_d50;0;SSP2-Base;SSP2-Base;;;SSP2|NPI|cc|rcp6p0;;;;;; +SSP2-Base_d95;0;SSP2-Base_d50;SSP2-Base;;;;;;;;; +SSP2-Base_d50high;0;SSP2-Base_d50;SSP2-Base;;;;;;;;; +SSP2-Base_d95high;0;SSP2-Base_d50;SSP2-Base;;;;;;;;; +h_cpol_d50;d50;h_cpol;h_cpol;;;SSP2|NPI|cc|rcp4p5;;;;;; +h_cpol_d95;d95;h_cpol_d50;h_cpol;;;;;;;;; +h_cpol_d50high;d50high;h_cpol_d50;h_cpol;;;;;;;;; +h_cpol_d95high;d95high;h_cpol_d50;h_cpol;;;;;;;;; +h_ndc_d50;d50;h_ndc;h_ndc;;;SSP2|NDC|cc|rcp4p5;;;;;; +h_ndc_d95;d95;h_ndc_d50;h_ndc;;;;;;;;; +h_ndc_d50high;d50high;h_ndc_d50;h_ndc;;;;;;;;; +h_ndc_d95high;d95high;h_ndc_d50;h_ndc;;;;;;;;; +o_1p5c_d50;d50;o_1p5c;o_1p5c;;;SSP2|NDC|cc|rcp1p9;;;;;; +o_1p5c_d95;d95;o_1p5c_d50;o_1p5c;;;;;;;;; +o_1p5c_d50high;d50high;o_1p5c_d50;o_1p5c;;;;;;;;; +o_1p5c_d95high;d95high;o_1p5c_d50;o_1p5c;;;;;;;;; +o_2c_d50;d50;o_2c;o_2c;;;SSP2|NDC|cc|rcp2p6;;;;;; +o_2c_d95;d95;o_2c_d50;o_2c;;;;;;;;; +o_2c_d50high;d50high;o_2c_d50;o_2c;;;;;;;;; +o_2c_d95high;d95high;o_2c_d50;o_2c;;;;;;;;; +o_lowdem_d50;d50;o_lowdem;o_lowdem;;;SSP2|NDC|cc|rcp1p9|NGFS_o_lowdem;;;;;; +o_lowdem_d95;d95;o_lowdem_d50;o_lowdem;;;;;;;;; +o_lowdem_d50high;d50high;o_lowdem_d50;o_lowdem;;;;;;;;; +o_lowdem_d95high;d95high;o_lowdem_d50;o_lowdem;;;;;;;;; +d_delfrag_d50;d50;d_delfrag;d_delfrag;;;SSP2|NDC|cc|rcp2p6;;;;;; +d_delfrag_d95;d95;d_delfrag_d50;d_delfrag;;;;;;;;; +d_delfrag_d50high;d50high;d_delfrag_d50;d_delfrag;;;;;;;;; +d_delfrag_d95high;d95high;d_delfrag_d50;d_delfrag;;;;;;;;; +d_strain_d50;d50;d_strain;d_strain;;;SSP2|NDC|cc|rcp4p5;;;;;; +d_strain_d95;d95;d_strain_d50;d_strain;;;;;;;;; +d_strain_d50high;d50high;d_strain_d50;d_strain;;;;;;;;; +d_strain_d95high;d95high;d_strain_d50;d_strain;;;;;;;;; +# old, from NGFS v3;;;;;;;;;;;; +d_rap;0;;d_rap;;;SSP2|NDC|nocc_hist|rcp1p9;y2030;2;;;; +d_rap_d50;0;d_rap;d_rap;;;SSP2|NDC|cc|rcp1p9;;;;;; +d_rap_d95;0;d_rap_d50;d_rap;;;;;;;;; +d_rap_d50high;0;d_rap_d50;d_rap;;;;;;;;; +d_rap_d95high;0;d_rap_d50;d_rap;;;;;;;;; From 4d327c0757797315938da0b3b749cd4d68c04bbb Mon Sep 17 00:00:00 2001 From: orichters Date: Wed, 7 Aug 2024 18:49:04 +0200 Subject: [PATCH 280/875] bug: cfg is 'TRUE' if specified via config file --- scripts/output/single/fixOnRef.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/output/single/fixOnRef.R b/scripts/output/single/fixOnRef.R index 687e4bba9..af77e89d4 100644 --- a/scripts/output/single/fixOnRef.R +++ b/scripts/output/single/fixOnRef.R @@ -84,7 +84,7 @@ fixOnMif <- function(outputdir) { fixeddata <- piamInterfaces::fixOnRef(d, dref, ret = "TRUE_or_fixed", startyear = startyear, failfile = failfile, relDiff = 0.00002) update <- paste0("MAGICC data. ", if (! isTRUE(fixeddata)) "Run output.R -> single -> fixOnRef to fix the rest.") - if (! isTRUE(fixeddata) && isTRUE(envi$cfg$fixOnRefAuto)) { + if (! isTRUE(fixeddata) && envi$cfg$fixOnRefAuto %in% c(TRUE, "TRUE")) { d <- fixeddata update <- "data from reference run because cfg$fixOnRefAuto=TRUE." } else if (! isTRUE(fixeddata) && exists("flags") && isTRUE("--interactive" %in% flags)) { From 782679176cb672c77f70e8c336a1395d6512752c Mon Sep 17 00:00:00 2001 From: orichters Date: Wed, 7 Aug 2024 18:49:30 +0200 Subject: [PATCH 281/875] do not remove BAU in coupled config where carbonprice is not defined --- scripts/start/readCheckScenarioConfig.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/start/readCheckScenarioConfig.R b/scripts/start/readCheckScenarioConfig.R index 6590812b4..50411db84 100644 --- a/scripts/start/readCheckScenarioConfig.R +++ b/scripts/start/readCheckScenarioConfig.R @@ -104,7 +104,7 @@ readCheckScenarioConfig <- function(filename, remindPath = ".", testmode = FALSE scenNeedsBau <- scenNeedsBau | scenConf[[n]] %in% needBau[[n]] } BAUbutNotNeeded <- ! is.na(scenConf$path_gdx_bau) & ! (scenNeedsBau) - if (sum(BAUbutNotNeeded) > 0) { + if (sum(BAUbutNotNeeded) > 0 && ! grepl("scenario_config_coupled", filename)) { msg <- paste0("In ", sum(BAUbutNotNeeded), " scenarios, 'path_gdx_bau' is not empty although no realization is selected that needs it.\n", "To avoid unnecessary dependencies to other runs, automatically setting 'path_gdx_bau' to NA for:\n", paste(rownames(scenConf)[BAUbutNotNeeded], collapse = ", ")) From 7e4bbc75e2da33b9d0e2e5d192edada9adbc82cd Mon Sep 17 00:00:00 2001 From: orichters Date: Wed, 7 Aug 2024 18:59:28 +0200 Subject: [PATCH 282/875] integratedDamageCosts: remove data already present, generalize --- scripts/output/single/integratedDamageCosts.R | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/scripts/output/single/integratedDamageCosts.R b/scripts/output/single/integratedDamageCosts.R index 7580234b8..955f5dfdd 100644 --- a/scripts/output/single/integratedDamageCosts.R +++ b/scripts/output/single/integratedDamageCosts.R @@ -56,7 +56,7 @@ computeCostsScen <- function(i_data, scenBaseNoDamage, scenNoDamage, scenDamage, pivot_wider(names_from = "variable", values_from = "value") %>% mutate(value = `GDP|MER` * `Damage factor`) %>% mutate(variable = "GDP|MER") %>% - mutate(unit = "billion US$2010/yr") %>% + mutate(unit = "billion US$2005/yr") %>% select(-scenario, -`GDP|MER`, -`Damage factor`) %>% select(model, region, variable, unit, period, value) %>% rename(value_ref = value), @@ -186,6 +186,11 @@ calculateDamages <- function(mifdata, damagestrings, scenBaseNoDamage, keepNoDam mutate(region = "World") ) + # remove now old data from calculations + mifdata <- mifdata %>% + filter(! grepl("chronic physical risk damage estimate|Macro-Economic Climate Damage", variable)) + + # remove later from new calculations deleteFromMifdata <- c("Policy Cost|GDP Loss", "Policy Cost and Macro-Economic Climate Damage|GDP Change", "Macro-Economic Climate Damage|GDP Change", "Policy Cost|Consumption Loss") deleteFromCostdata <- c("GDP|PPP", "GDP|MER", "Damage factor", "Macro-Economic Climate Damage|GDP Change", @@ -193,6 +198,7 @@ calculateDamages <- function(mifdata, damagestrings, scenBaseNoDamage, keepNoDam # Compute costs cat("Compute costs...\n") returndata <- NULL + for (s in seq_along(scenDamages)) { costdata <- computeCostsScen(mifdata, scenBaseNoDamage, scenNoDamages[s], scenDamages[s], names(scenDamages)[s]) %>% filter(! (variable == "Policy Cost|Consumption Loss" & is.na(value))) %>% @@ -211,23 +217,26 @@ calculateDamages <- function(mifdata, damagestrings, scenBaseNoDamage, keepNoDam nodamagefolder <- "output" nodamagescenarios <- c("d_delfrag", "d_strain", "o_2c", "h_cpol", "o_lowdem", "o_1p5c", "h_ndc") -remmagiter <- 6 -nodamagemifs <- file.path(nodamagefolder, paste0("C_", nodamagescenarios, "-rem-", remmagiter), - paste0("REMIND_generic_C_", nodamagescenarios, "-rem-", remmagiter, ".mif")) +curpol <- "h_cpol" +stopifnot(curpol %in% nodamagescenarios) +nodamageiter <- 3 +nodamagemifs <- file.path(nodamagefolder, paste0("C_", nodamagescenarios, "-rem-", nodamageiter), + paste0("REMIND_generic_C_", nodamagescenarios, "-rem-", nodamageiter, ".mif")) nodamage <- quitte::as.quitte(nodamagemifs) levels(nodamage$scenario) <- gsub("-rem-[0-9]+", "", levels(nodamage$scenario)) runnames <- lucode2::getScenNames(outputdir) -damagestrings <- c(medium = "_d50", high = "_d95high") +damagestrings <- c(medium = "_KLW_d50") for (r in runnames) { message("\n## Deriving mif for ", r) mif <- file.path(outputdir, paste0("REMIND_generic_", r, ".mif")) - file.copy(mif, gsub("REMIND_generic", "REMIND_beforedamagecosts", mif)) + filebeforedamagecosts <- gsub("REMIND_generic", "REMIND_beforedamagecosts", mif) + if (! file.exists(filebeforedamagecosts)) file.copy(mif, filebeforedamagecosts) q <- quitte::as.quitte(mif) levels(q$scenario) <- gsub("-rem-[0-9]+", "", levels(q$scenario)) - damcosts <- calculateDamages(rbind(q, nodamage), damagestrings, "C_h_cpol", keepNoDamages = FALSE) + damcosts <- calculateDamages(rbind(q, nodamage), damagestrings, paste0("C_", curpol), keepNoDamages = FALSE) q <- quitte::as.quitte(damcosts) message("Finished this run (should only be a single name): ", paste(levels(q$scenario), collapse = ", ")) levels(q$scenario) <- r From 858d131a356a826f7d7af62af40e5acf5146f6b5 Mon Sep 17 00:00:00 2001 From: Katarzyna Kowalczyk Date: Thu, 8 Aug 2024 13:11:20 +0200 Subject: [PATCH 283/875] OAE documentation --- modules/33_CDR/module.gms | 2 +- modules/33_CDR/portfolio/realization.gms | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/modules/33_CDR/module.gms b/modules/33_CDR/module.gms index ebfac14c5..ee3ca39b9 100644 --- a/modules/33_CDR/module.gms +++ b/modules/33_CDR/module.gms @@ -10,7 +10,7 @@ *' *' @description The 33_CDR module adds further options to remove CO2 from the atmosphere beyond BECCS *' and afforestation, which are calculated in the core. Currently, direct air carbon capture and storage (DACCS) -*' and enhanced weathering of rocks (EW) are available, ocean alkalinization will follow soon. +*' and enhanced weathering of rocks (EW) are available, ocean alkalinization (OAE) implemented as ocean liming. *' All options can be switched on and off individually via the switches called cm_33[option abbreviation]. *' The module calculates capacities, emissions (including captured carbon), energy demand & supply, costs, *' and limitations associated with the different options. diff --git a/modules/33_CDR/portfolio/realization.gms b/modules/33_CDR/portfolio/realization.gms index 084ac57eb..e332585f4 100644 --- a/modules/33_CDR/portfolio/realization.gms +++ b/modules/33_CDR/portfolio/realization.gms @@ -14,6 +14,7 @@ *' electricity and 21.12 EJ/Gt C (* 12 Gt C/44 Gt CO2) = 5,76 GJ/tCO2 (*10^6 kJ / GJ * 1h/3600s) = 1600 kWh/tCO2 *' low-temperature heat demand. The heat can be provided via district heat, electricity, gas, or H2. If gas is used, *' the resulting CO2 is captured with a capture rate of 90%. +*' *' (EW) Basalt is mined and ground to fine grain sizes (specified in cm_gs_ew, by default 20 µm), and then spread *' on crop fields where it weathers in reaction with water and atmospheric CO2. Electricity is needed to grind the *' rocks and diesel is needed for transportation and spreading on crop fields. The weathering process leads to an exponential @@ -22,6 +23,17 @@ *' limit of the amount of rock spread each year can be set in cm_LimRock. Costs consist of costs for capital, O&M, *' distribution and transport (grades depend on region specific transport distance from mine to fields). *' +*' (OAE) Ocean alkalinity enhancement via ocean liming draws down CO2 from the atmosphere by adding (hydrated) lime +*' to the coastal or open ocean. Calcination process, which involves heating limestone to typically around 900-1000°C, +*' results in lime (CaO) and CO2. The CO2 from the process as well as burning gas (if used for fueling the calciner) +*' is assumed to be captured with a capture rate of 90%. The steps required to produce hydrated lime for ocean liming, +*' including limestone extraction, comminution, calcination, and hydration, are already well-established and used at a +*' large scale in the cement industry. Two options for ocean liming are parametrized: obtaining lime using a traditional +*' calciner fueled by natural gas and a novel calciner that can be fueled by either electricity or hydrogen. The efficiency +*' of the method depends on exogenous parameter cm_33_OAE_eff and distribution scenario (which can be optimistic or +*' pesimistic depending on the discharge rate, e.g., how hard it is to avoid precipitation when distributing the alkaline +*' material). +*' *' Equations for each option determine the capacity, emissions, energy demand, costs and limits. ***---------------------------------------------------- From d32daad6758c11b03ac6adff9ac91d65dbf6164e Mon Sep 17 00:00:00 2001 From: Katarzyna Kowalczyk Date: Thu, 8 Aug 2024 13:12:22 +0200 Subject: [PATCH 284/875] Calculated emissions captured from gas and calcination separately --- modules/33_CDR/portfolio/bounds.gms | 17 ++++++++----- modules/33_CDR/portfolio/declarations.gms | 6 +++-- modules/33_CDR/portfolio/equations.gms | 31 +++++++++++++++-------- 3 files changed, 35 insertions(+), 19 deletions(-) diff --git a/modules/33_CDR/portfolio/bounds.gms b/modules/33_CDR/portfolio/bounds.gms index d66248c86..0a4d275fd 100644 --- a/modules/33_CDR/portfolio/bounds.gms +++ b/modules/33_CDR/portfolio/bounds.gms @@ -17,25 +17,26 @@ if(card(te_used33) eq 0, *** Fix CCS from CDR if there're no technologies that require CCS if(card(te_ccs33) eq 0, vm_co2capture_cdr.fx(t,regi,enty,enty2,te,rlf)$ccs2te(enty,enty2,te) = 0; - v33_co2emi_non_atm.fx(t,regi,te_all33) = 0; ); *** Fix negative emissions and FE demand to zero for all the technologies that are not used vm_emiCdrTeDetail.fx(t,regi,te_all33)$(not te_used33(te_all33)) = 0; v33_FEdemand.fx(t,regi,entyFe,entyFe2,te_all33)$(not te_used33(te_all33) and fe2cdr(entyFe,entyFe2,te_all33)) = 0; +*** Fix non atmospheric emissions from CDR for all technologies that are not used +v33_co2emi_non_atm_gas.fx(t,regi,te_all33)$(not te_ccs33(te_all33)) = 0; *** Fix all CDR-related variables to zero for early time steps t< 2025 (no CDR in the real world) *** to reduce unnecessary freedom (and likelyhood of spontaneous solver infeasibilities) vm_emiCdrTeDetail.fx(t,regi,te_used33)$(t.val lt 2025) = 0.0; v33_FEdemand.fx(t,regi,entyFe,entyFe2,te_used33)$(fe2cdr(entyFe,entyFe2,te_used33) AND (t.val lt 2025)) = 0.0; -v33_co2emi_non_atm.fx(t,regi,te_used33)$(t.val lt 2025) = 0; vm_emiCdr.fx(t,regi,"co2")$(t.val lt 2025) = 0; vm_omcosts_cdr.fx(t,regi)$((t.val lt 2025)) = 0; vm_cap.fx(t,regi,"weathering",rlf)$(t.val lt 2025) = 0; +v33_co2emi_non_atm_gas.fx(t,regi,te_used33)$(t.val lt 2025) = 0; +v33_co2emi_non_atm_calcination.fx(t,regi,te_oae33)$(t.val lt 2025) = 0; *** vm_cap for dac is fixed for t<2025 in core/bounds.gms (tech_stat eq 4) vm_co2capture_cdr.fx(t,regi,enty,enty2,te,rlf)$(ccs2te(enty,enty2,te) AND t.val lt 2025) = 0; - *** Set minimum DAC capacities (if available) to help the solver find the technology if (te_used33("dac"), vm_cap.lo(t,regi,"dac",rlf)$(teNoTransform2rlf33("dac",rlf) AND (t.val ge 2030)) = sm_eps; @@ -49,16 +50,18 @@ if(te_used33("weathering"), !! if cm_startyear > 2025 and input_ref.gdx used EW, this fixing will be overwritten in submit.R v33_EW_onfield.fx(ttot,regi,rlf_cz33,rlf)$(ttot.val lt max(2025,cm_startyear)) = 0.0; !! v33_EW_onfield_tot.fx(ttot,regi,rlf_cz33,rlf)$(ttot.val lt max(2025,cm_startyear)) = 0.0; !! -); - -*** Bounds if enhanced weathering is not in the portfolio -if(not te_used33("weathering"), +else vm_omcosts_cdr.fx(t,regi) = 0; vm_cap.fx(t,regi,"weathering",rlf) = 0; ); +*** Bounds for OAE if(card(te_oae33) ne 0, + !! OAE starts in cm_33_OAE_startyear vm_cap.fx(t, regi, te_oae33, rlf)$(t.val lt cm_33_OAE_startyr) = 0; +else + v33_co2emi_non_atm_calcination.fx(t, regi, "oae_ng") = 0; + v33_co2emi_non_atm_calcination.fx(t, regi, "oae_el") = 0; ); *** EOF ./modules/33_CDR/portfolio/bounds.gms diff --git a/modules/33_CDR/portfolio/declarations.gms b/modules/33_CDR/portfolio/declarations.gms index 80cca8d63..81d08f9bd 100644 --- a/modules/33_CDR/portfolio/declarations.gms +++ b/modules/33_CDR/portfolio/declarations.gms @@ -30,7 +30,8 @@ v33_EW_onfield(ttot,all_regi,rlf,rlf) "amount of ground rock spread on fields i v33_EW_onfield_tot(ttot,all_regi,rlf,rlf) "total amount of ground rock on fields, for each climate zone and transportation distance [Gt]" v33_FEdemand(ttot,all_regi,all_enty,all_enty,all_te) "FE demand of each technology [TWa]" vm_co2capture_cdr(ttot,all_regi,all_enty,all_enty,all_te,rlf) "total emissions captured through technologies in the CDR module that enter the CCUS chain + captured emissions from associated FE demand [GtC / a]" -v33_co2emi_non_atm(ttot,all_regi,all_te) "CO2 from CDR-related acitivites that does not come from the atmosphere [GtC / a]" +v33_co2emi_non_atm_gas(ttot,all_regi,all_te) "CO2 from CDR-related acitivites that comes from energy demand [GtC / a]" +v33_co2emi_non_atm_calcination(ttot,all_regi,all_te) "CO2 from calcination [GtC / a]" ; negative variables @@ -42,7 +43,7 @@ q33_demFeCDR(ttot,all_regi,all_enty) "CDR demand balance for final energy" q33_emiCDR(ttot,all_regi) "aggregates the (negative) emissions captured by the CDR technologies" q33_H2bio_lim(ttot,all_regi) "limits H2 from bioenergy to FE - H2 demand from CDR, i.e. no H2 from bioenergy for DAC" q33_capconst(ttot,all_regi,all_te) "calculates amount of carbon captured by DAC and OAE" -q33_co2emi_non_atm(ttot,all_regi,all_te) "calculates the share of captured CO2 that does not come from the atmosphere" +q33_co2emi_non_atm_gas(ttot,all_regi,all_te) "calculates the share of captured CO2 that comes from burning gas" q33_ccsbal(ttot,all_regi,all_enty,all_enty,all_te) "calculates CCS emissions from CDR technologies" q33_DAC_FEdemand(ttot,all_regi,all_enty) "calculates final energy demand from DAC" @@ -56,6 +57,7 @@ q33_EW_emi(ttot,all_regi) "calculates amount of carbon captured by EW" q33_EW_LimEmi(ttot,all_regi) "limits EW to a maximal annual amount of ground rock of cm_LimRock" q33_OAE_FEdemand(ttot,all_regi,all_enty,all_te) "calculates final energy demand for ocean alkalinity enhancement" +q33_OAE_co2emi_non_atm_calcination(ttot,all_regi,all_te) "calculates the CO2 that comes from calcination (limestone decomposition)" ; *** EOF ./modules/33_CDR/portfolio/declarations.gms diff --git a/modules/33_CDR/portfolio/equations.gms b/modules/33_CDR/portfolio/equations.gms index 0a7f08749..f9e80630b 100644 --- a/modules/33_CDR/portfolio/equations.gms +++ b/modules/33_CDR/portfolio/equations.gms @@ -33,7 +33,10 @@ q33_emiCDR(t,regi).. vm_emiCdr(t,regi,"co2") =e= sum(te_used33, vm_emiCdrTeDetail(t,regi,te_used33)) - + (1 - s33_capture_rate) * sum(te_ccs33, v33_co2emi_non_atm(t, regi, te_ccs33)) + + (1 - s33_capture_rate) * ( + sum(te_ccs33, v33_co2emi_non_atm_gas(t, regi, te_ccs33)) + + sum(te_oae33, v33_co2emi_non_atm_calcination(t, regi, te_oae33)) + ) ; ***--------------------------------------------------------------------------- @@ -51,31 +54,30 @@ q33_capconst(t, regi, te_used33)$(not sameAs(te_used33, "weathering")).. ; ***--------------------------------------------------------------------------- -*' The CO2 captured from the gas used for heat production (DAC, OAE) -*' and from limestone decomposition (OAE only). +*' The CO2 captured from gas used for heat production (DAC, OAE). ***--------------------------------------------------------------------------- -q33_co2emi_non_atm(t, regi, te_ccs33).. - v33_co2emi_non_atm(t, regi, te_ccs33) +q33_co2emi_non_atm_gas(t, regi, te_ccs33).. + v33_co2emi_non_atm_gas(t, regi, te_ccs33) =e= - !! carbon captured from burning gas (DAC and OAE technologies) fm_dataemiglob("pegas","seh2","gash2c","cco2") !! conversion from PE to emissions * (1 / pm_eta_conv(t,regi,"gash2c")) !! conversion from PE to FE * sum(fe2cdr("fegas", entyFe2, te_ccs33), v33_FEdemand(t, regi,"fegas", entyFe2, te_ccs33)) !! FE gas used - !! carbon captured from calcination (OAE technologies only) - - (s33_OAE_chem_decomposition * vm_emiCdrTeDetail(t, regi, te_ccs33))$te_oae33(te_ccs33) ; ***--------------------------------------------------------------------------- *' Preparation of captured emissions to enter the CCUS chain. *' The first part of the equation describes emissons captured from the ambient air, -*' the second part is non-atmospheric CO2 (e.g., from energy usage), +*' the second part is non-atmospheric CO2 (e.g., from energy usage and calcination), *' assuming a capture rate s33_capture_rate. ***--------------------------------------------------------------------------- q33_ccsbal(t, regi, ccs2te(ccsCo2(enty), enty2, te)).. sum(teCCS2rlf(te, rlf), vm_co2capture_cdr(t, regi, enty, enty2, te, rlf)) =e= - vm_emiCdrTeDetail(t, regi, "dac") - + s33_capture_rate * sum(te_ccs33, v33_co2emi_non_atm(t, regi, te_ccs33)) + + s33_capture_rate * ( + sum(te_ccs33, v33_co2emi_non_atm_gas(t, regi, te_ccs33)) + + sum(te_oae33, v33_co2emi_non_atm_calcination(t, regi, te_oae33)) + ) ; ***--------------------------------------------------------------------------- @@ -202,5 +204,14 @@ q33_OAE_FEdemand(t,regi,entyFe2,te_oae33)$sum(entyFe, fe2cdr(entyFe,entyFe2,te_o p33_fedem(te_oae33, entyFe2) * sm_EJ_2_TWa * (- vm_emiCdrTeDetail(t, regi, te_oae33)) ; +***--------------------------------------------------------------------------- +*' The CO2 captured from limestone decomposition (OAE technologies only). +***--------------------------------------------------------------------------- +q33_OAE_co2emi_non_atm_calcination(t, regi, te_oae33).. + v33_co2emi_non_atm_calcination(t, regi, te_oae33) + =e= + - s33_OAE_chem_decomposition * vm_emiCdrTeDetail(t, regi, te_oae33) + ; + *' @stop *** EOF ./modules/33_CDR/portfolio/equations.gms From ac46458085cd02d4205daf9d0cdb90c769635f32 Mon Sep 17 00:00:00 2001 From: orichters Date: Thu, 8 Aug 2024 13:26:45 +0200 Subject: [PATCH 285/875] update config files with NGFS damage runs --- config/scenario_config_NGFS_v5.csv | 143 ++++++++++-------- config/scenario_config_coupled_NGFS_v5.csv | 11 ++ scripts/output/export/xlsx_IIASA.R | 2 +- scripts/output/single/integratedDamageCosts.R | 2 +- start_bundle_coupled.R | 2 +- 5 files changed, 90 insertions(+), 70 deletions(-) diff --git a/config/scenario_config_NGFS_v5.csv b/config/scenario_config_NGFS_v5.csv index 0011d169f..8d9aa7c6b 100644 --- a/config/scenario_config_NGFS_v5.csv +++ b/config/scenario_config_NGFS_v5.csv @@ -1,67 +1,76 @@ -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_wasteIncinerationCCSshare;cm_DiscRateScen;c_shBioTrans;cm_EDGEtr_scen;cm_reducCostB;cm_CES_calibration_default_prices;cm_CO2TaxSectorMarkup;c_ccsinjecratescen;c_ccsinjecrateRegi;cm_33DAC;cm_33EW;cm_bioenergy_SustTax;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;carbonpriceRegi;regipol;cm_implicitQttyTarget;cm_implicitQttyTarget_tolerance;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;fixOnRefAuto;cm_startyear;path_gdx;path_gdx_ref;path_gdx_refpolicycost;path_gdx_bau;description -# ___Calibration___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;initial value;initial value;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-Base_covidCalib;0;;;gdp_SSP2;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -# ___Baselines___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-Base;0;;;gdp_SSP2;medOil;medGas;medCoal;load;5;off;off;uncalibrated;off;0;off;RCP26_50;off;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;;0;1;Mix1;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;TRUE;2005;;;;;SSP2-Base: 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. -SSP2-Base_d50;0;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KWLike;0;;RCP26_50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d50: 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -SSP2-Base_d95;0;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KWLike;0;;RCP26_95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d95: 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -SSP2-Base_d50high;d50high;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KW_SE;1.96;;RCP26_50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d50: 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -SSP2-Base_d95high;d95high;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KW_SE;1.96;;RCP26_95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d95: 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -# ___NO_DAMAGES___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -h_cpol_noUkr;NGFS;SSP2-Base;;;;;;;;;;;;;;;;;30;;;;;;;;;;;Mix2;none;;;;;0;0;1.5;rcp45;3;off;0;NPi;none;;;;;;1;2100;;2050;9;;;3;1.05;100;;NPi2018;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;;2005;;;;;h_cpol: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. -h_cpol;NGFS;h_cpol_noUkr;EUR.pegas.worldPricemarkup 0.5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;;h_cpol_noUkr;;; -h_ndc;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;;;;Mix3;none;;;1;;;;1.5;rcp45;3;globallyOptimal;0;NDC;none;;;;;;1;2100;3;2050;;;;;;;;NDC;;;;3;;;;;;;;2025;;h_cpol_noUkr;h_cpol;h_cpol_noUkr;h_ndc: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. -o_1p5c;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;Mix4;heatpumps;;;1;;;;1.5;rcp20;9;globallyOptimal;560;diffCurvPhaseIn2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 4300, 2080.GLO.tax.t.CCS.biomass 4300;0.1;;;200;2045;6;2050;;;;;;;;NDC;;;;2;;;;;;;;2025;;h_cpol_noUkr;h_cpol;;o_1p5c: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. -o_lowdem;NGFS;o_1p5c;;gdp_SSP2_lowEn;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;;;;;;GLO 0.00125, CAZ_regi 0.0045, CHA_regi 0.004, EUR_regi 0.0045, IND_regi 0.004, JPN_regi 0.002, USA_regi 0.002;;;;;;;560;diffCurvPhaseIn2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 3800, 2080.GLO.tax.t.CCS.biomass 3800;0.1;;;;;1;;;;;;;;;;;;;;;;;;;;;2025;;h_cpol_noUkr;h_cpol;;o_lowdem: Low Demand scenario -o_2c;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.5;;;Mix4;heatpumps;;;1;;;;1.5;rcp26;9;globallyOptimal;1050;diffCurvPhaseIn2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 2300, 2080.GLO.tax.t.CCS.biomass 2300;;;NGFS_v4_20pc;100;2080;3;2050;;;;;;;;NDC;;;;2;;;;;;;;2025;;h_cpol_noUkr;h_cpol;;o_2c: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. -d_delfrag;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.5;;;Mix3;heatpumps;;;;GLO 0.00125, CAZ_regi 0.0045, CHA_regi 0.004, EUR_regi 0.0045, IND_regi 0.004, JPN_regi 0.002, USA_regi 0.002;;;1.5;rcp26;9;globallyOptimal;1010;diffCurvPhaseIn2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 2300, 2080.GLO.tax.t.CCS.biomass 2300;;;;100;2080;;2050;;;;;;;;NDC;;;;2;;;;;;;;2035;;h_cpol;h_cpol;;d_delfrag: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. -d_strain;NGFS;d_delfrag;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3;off;;NPi;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 2300, 2080.GLO.tax.t.CCS.biomass 2300;;;NGFS_v4_20pc;1;2100;;;;;;;;;;;;;;;;;;;;;;2035;;h_cpol;h_cpol;;d_strain: Fragmented world -d_rap;0;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;Mix4;heatpumps;;GLO.trans 2, GLO.build 2;2;;;;1.5;rcp20;9;globallyOptimal;560;diffCurvPhaseIn2Lin;none;;;;;;200;2045;3;2050;;;;;;;;NDC;;;;2;;;;;;;;2025;;h_cpol_noUkr;h_cpol;;d_rap: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. -# ___WITH_DAMAGES___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -h_cpol_d50;d50;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d50: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -h_cpol_d95;d95;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_95;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d95: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -h_cpol_d50high;d50high;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d50high: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -h_cpol_d95high;d95high;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;RCP26_95;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d95high: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -h_ndc_d50;d50;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d50;SSP2-Base;h_ndc_d50: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -h_ndc_d95;d95;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_95;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d95;SSP2-Base;h_ndc_d95: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -h_ndc_d50high;d50high;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d50high;SSP2-Base;h_ndc_d50high: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -h_ndc_d95high;d95high;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;RCP26_95;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d95high;SSP2-Base;h_ndc_d95high: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -o_1p5c_d50;d50;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d50;;o_1p5c_d50: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_1p5c_d95;d95;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d95;;o_1p5c_d95: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_1p5c_d50high;d50high;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d50high;;o_1p5c_d50high: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_1p5c_d95high;d95high;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d95high;;o_1p5c_d95high: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_1p5c_d50_cpricereg;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_d50_cpricereg: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_1p5c_d95_cpricereg;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_d95_cpricereg: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_1p5c_dni50;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_dni50: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -o_1p5c_dni95;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_95;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_dni95: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -o_lowdem_d50;d50;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d50;;o_lowdem_d50 -o_lowdem_d95;d95;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d95;;o_lowdem_d95 -o_lowdem_d50high;d50high;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d50high;;o_lowdem_d50high -o_lowdem_d95high;d95high;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d95high;;o_lowdem_d95high -o_2c_d50;d50;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d50;;o_2c_d50: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_2c_d95;d95;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d95;;o_2c_d95: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_2c_d50high;d50high;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d50high;;o_2c_d50high: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_2c_d95high;d95high;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d95high;;o_2c_d95high: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_2c_d50_cpricereg;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_d50_cpricereg: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. The Social Cost of Carbon is regional rather than globally uniform. -o_2c_d95_cpricereg;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_d95_cpricereg: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. The Social Cost of Carbon is regional rather than globally uniform. -o_2c_dni50;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_dni50: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -o_2c_dni50_fixCprice;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;0;;1050;exogenous;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_dni50_fixCprice: a test run fixing the carbon price to the one from the fully integrated o_2c_d50 scenario -o_2c_fixCprice;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;off;0;off;RCP26_50;off;;15;;;;;;;;;;;;;;;;;;;;;0;;1050;exogenous;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_fixCprice: a test run fixing the carbon price to the one from the fully integrated o_2c scenario -o_2c_dni95;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;RCP26_95;off;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_dni95: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -d_delfrag_d50;d50;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d50;h_cpol_d50;;d_delfrag_d50: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -d_delfrag_d95;d95;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d95;h_cpol_d95;;d_delfrag_d95: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -d_delfrag_d50high;d50high;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d50high;h_cpol_d50high;;d_delfrag_d50high: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -d_delfrag_d95high;d95high;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d95high;h_cpol_d95high;;d_delfrag_d95high: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -d_strain_d50;d50;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d50;h_cpol_d50;;d_strain_d50: Fragmented World -d_strain_d95;d95;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d95;h_cpol_d95;;d_strain_d95: Fragmented World -d_strain_d50high;d50high;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d50high;h_cpol_d50high;;d_strain_d50high: Fragmented World -d_strain_d95high;d95high;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d95high;h_cpol_d95high;;d_strain_d95high: Fragmented World -d_rap_d50;d50;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d50;;d_rap_d50: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -d_rap_d95;d95;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d95;;d_rap_d95: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -d_rap_d50high;d50high;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_50;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d50high;;d_rap_d50high: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -d_rap_d95high;d95high;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_95;on;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d95high;;d_rap_d95high: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_cba_d50;d50;;;;;;;load;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_50;on;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;;2025;o_2c;h_cpol_noUkr;h_cpol_d50;;o_cba_d50: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_cba_d95;d95;;;;;;;load;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;RCP26_95;on;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;;2025;o_2c;h_cpol_noUkr;h_cpol_d95;;o_cba_d95: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_cba_d50high;d50high;;;;;;;load;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_50;on;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;;2025;o_2c;h_cpol_noUkr;h_cpol_d50high;;o_cba_d50high: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_cba_d95high;d95high;;;;;;;load;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;RCP26_95;on;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;;2025;o_2c;h_cpol_noUkr;h_cpol_d95high;;o_cba_d95high: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +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;climate_assessment_magicc_prob_file_iteration;cm_magicc_config;cm_magicc_temperatureImpulseResponse;cm_KotzWenzPerc;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;cm_CO2TaxSectorMarkup;c_ccsinjecratescen;c_ccsinjecrateRegi;cm_33DAC;cm_33EW;cm_bioenergy_SustTax;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;carbonpriceRegi;regipol;cm_implicitQttyTarget;cm_implicitQttyTarget_tolerance;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;fixOnRefAuto;cm_startyear;path_gdx;path_gdx_ref;path_gdx_refpolicycost;path_gdx_bau;description +# ___Calibration___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;initial value;initial value;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2-Base_covidCalib;0;;;gdp_SSP2;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +# ___Baselines___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2-Base;0;;;gdp_SSP2;medOil;medGas;medCoal;load;5;off;off;uncalibrated;off;0;off;;RCP26_50;off;;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;;0;1;Mix1;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;TRUE;2005;;;;;SSP2-Base: 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. +# ___NO_DAMAGES___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +h_cpol_noUkr;NGFS;SSP2-Base;;;;;;;;;;;;;;;;;;;30;;;;;;;;;;;Mix2;none;;;;;0;0;1.5;rcp45;3;off;0;NPi;none;;;;;;1;2100;;2050;9;;;3;1.05;100;;NPi2018;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;;2005;;;;;h_cpol: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. +h_cpol;NGFS;h_cpol_noUkr;EUR.pegas.worldPricemarkup 0.5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;;h_cpol_noUkr;;; +h_ndc;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Mix3;none;;;1;;;;1.5;rcp45;3;globallyOptimal;0;NDC;none;;;;;;1;2100;3;2050;;;;;;;;NDC;;;;3;;;;;;;;2025;;h_cpol_noUkr;h_cpol;h_cpol_noUkr;h_ndc: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. +o_1p5c;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;Mix4;heatpumps;;;1;;;;1.5;rcp20;9;globallyOptimal;560;diffCurvPhaseIn2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 4300, 2080.GLO.tax.t.CCS.biomass 4300;0.1;;;200;2045;6;2050;;;;;;;;NDC;;;;2;;;;;;;;2025;;h_cpol_noUkr;h_cpol;;o_1p5c: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. +o_lowdem;NGFS;o_1p5c;;gdp_SSP2_lowEn;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;;;;;;GLO 0.00125, CAZ_regi 0.0045, CHA_regi 0.004, EUR_regi 0.0045, IND_regi 0.004, JPN_regi 0.002, USA_regi 0.002;;;;;;;560;diffCurvPhaseIn2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 3800, 2080.GLO.tax.t.CCS.biomass 3800;0.1;;;;;1;;;;;;;;;;;;;;;;;;;;;2025;;h_cpol_noUkr;h_cpol;;o_lowdem: Low Demand scenario +o_2c;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.5;;;Mix4;heatpumps;;;1;;;;1.5;rcp26;9;globallyOptimal;1050;diffCurvPhaseIn2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 2300, 2080.GLO.tax.t.CCS.biomass 2300;;;NGFS_v4_20pc;100;2080;3;2050;;;;;;;;NDC;;;;2;;;;;;;;2025;;h_cpol_noUkr;h_cpol;;o_2c: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. +d_delfrag;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.5;;;Mix3;heatpumps;;;;GLO 0.00125, CAZ_regi 0.0045, CHA_regi 0.004, EUR_regi 0.0045, IND_regi 0.004, JPN_regi 0.002, USA_regi 0.002;;;1.5;rcp26;9;globallyOptimal;1010;diffCurvPhaseIn2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 2300, 2080.GLO.tax.t.CCS.biomass 2300;;;;100;2080;;2050;;;;;;;;NDC;;;;2;;;;;;;;2035;;h_cpol;h_cpol;;d_delfrag: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. +d_strain;NGFS;d_delfrag;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3;off;;NPi;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 2300, 2080.GLO.tax.t.CCS.biomass 2300;;;NGFS_v4_20pc;1;2100;;;;;;;;;;;;;;;;;;;;;;2035;;h_cpol;h_cpol;;d_strain: Fragmented world +d_rap;0;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;Mix4;heatpumps;;GLO.trans 2, GLO.build 2;2;;;;1.5;rcp20;9;globallyOptimal;560;diffCurvPhaseIn2Lin;none;;;;;;200;2045;3;2050;;;;;;;;NDC;;;;2;;;;;;;;2025;;h_cpol_noUkr;h_cpol;;d_rap: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. +# ___WITH_DAMAGES___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +h_cpol_KLW_d50;KLW;h_cpol;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;off;/p/projects/rd3mod/climate-assessment-files/parsets/RCP45_50.json;;off;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;;h_cpol;;;h_cpol_KLW_d50: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP4.5. +h_ndc_KLW_d50;KLW;h_ndc;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;off;/p/projects/rd3mod/climate-assessment-files/parsets/RCP45_50.json;;off;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;;h_cpol;h_cpol_KLW_d50;;h_ndc_KLW_d50: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP4.5. +o_1p5c_KLW_d50;KLW;o_1p5c;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;KotzWenzItr;/p/projects/rd3mod/climate-assessment-files/parsets/RCP20_50.json;;on;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;h_cpol;h_cpol_KLW_d50;;o_1p5c_KLW_d50: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kotz and Wenz (2024) are internalized in the optimization using the 50th percentile of RCP2.0. +o_lowdem_KLW_d50;KLW;o_lowdem;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;KotzWenzItr;/p/projects/rd3mod/climate-assessment-files/parsets/RCP20_50.json;;on;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;h_cpol;h_cpol_KLW_d50;;o_lowdem_KLW_d50: Low Demand scenario. Damages from climate change based on Kotz and Wenz (2024) are internalized in the optimization using the 50th percentile of RCP2.0. +o_2c_KLW_d50;KLW;o_2c;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;KotzWenzItr;/p/projects/rd3mod/climate-assessment-files/parsets/RCP26_50.json;;on;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;h_cpol;h_cpol_KLW_d50;;o_2c_KLW_d50: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kotz and Wenz (2024) are internalized in the optimization using the 50th percentile of RCP2.6. +d_delfrag_KLW_d50;KLW;d_delfrag;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;KotzWenzItr;/p/projects/rd3mod/climate-assessment-files/parsets/RCP26_50.json;;on;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;h_cpol_KLW_d50;h_cpol_KLW_d50;;d_delfrag_KLW_d50: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kotz and Wenz (2024) are internalized in the optimization using the 50th percentile of RCP2.6. +d_strain_KLW_d50;KLW;d_strain;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;KotzWenzItr;/p/projects/rd3mod/climate-assessment-files/parsets/RCP45_50.json;;on;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;h_cpol_KLW_d50;h_cpol_KLW_d50;;d_strain_KLW_d50: Fragmented World. Damages from climate change based on Kotz and Wenz (2024) are internalized in the optimization using the 50th percentile of RCP4.5. +d_rap_KLW_d50;0;d_rap;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;KotzWenzItr;/p/projects/rd3mod/climate-assessment-files/parsets/RCP20_50.json;;on;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;h_cpol;h_cpol_KLW_d50;;d_rap_KLW_d50: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kotz and Wenz (2024) are internalized in the optimization using the 50th percentile of RCP2.6. +# ___WITH_DAMAGES_old_NGFSv4___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2-Base_d50;0;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KWLike;0;;;RCP26_50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d50: 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. +SSP2-Base_d95;0;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KWLike;0;;;RCP26_95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d95: 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. +SSP2-Base_d50high;d50high;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KW_SE;1.96;;;RCP26_50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d50: 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. +SSP2-Base_d95high;d95high;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KW_SE;1.96;;;RCP26_95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d95: 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. +h_cpol_d50;d50;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d50: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. +h_cpol_d95;d95;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_95;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d95: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. +h_cpol_d50high;d50high;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d50high: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. +h_cpol_d95high;d95high;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;;RCP26_95;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d95high: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. +h_ndc_d50;d50;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d50;SSP2-Base;h_ndc_d50: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. +h_ndc_d95;d95;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_95;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d95;SSP2-Base;h_ndc_d95: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. +h_ndc_d50high;d50high;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d50high;SSP2-Base;h_ndc_d50high: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. +h_ndc_d95high;d95high;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;;RCP26_95;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d95high;SSP2-Base;h_ndc_d95high: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. +o_1p5c_d50;d50;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d50;;o_1p5c_d50: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +o_1p5c_d95;d95;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d95;;o_1p5c_d95: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +o_1p5c_d50high;d50high;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d50high;;o_1p5c_d50high: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +o_1p5c_d95high;d95high;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d95high;;o_1p5c_d95high: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +o_1p5c_d50_cpricereg;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_d50_cpricereg: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +o_1p5c_d95_cpricereg;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_d95_cpricereg: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +o_1p5c_dni50;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_dni50: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. +o_1p5c_dni95;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_95;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_dni95: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. +o_lowdem_d50;d50;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d50;;o_lowdem_d50 +o_lowdem_d95;d95;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d95;;o_lowdem_d95 +o_lowdem_d50high;d50high;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d50high;;o_lowdem_d50high +o_lowdem_d95high;d95high;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d95high;;o_lowdem_d95high +o_2c_d50;d50;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d50;;o_2c_d50: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +o_2c_d95;d95;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d95;;o_2c_d95: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +o_2c_d50high;d50high;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d50high;;o_2c_d50high: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +o_2c_d95high;d95high;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d95high;;o_2c_d95high: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +o_2c_d50_cpricereg;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_d50_cpricereg: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. The Social Cost of Carbon is regional rather than globally uniform. +o_2c_d95_cpricereg;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_d95_cpricereg: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. The Social Cost of Carbon is regional rather than globally uniform. +o_2c_dni50;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_dni50: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. +o_2c_dni50_fixCprice;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;0;;1050;exogenous;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_dni50_fixCprice: a test run fixing the carbon price to the one from the fully integrated o_2c_d50 scenario +o_2c_fixCprice;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;off;0;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;0;;1050;exogenous;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_fixCprice: a test run fixing the carbon price to the one from the fully integrated o_2c scenario +o_2c_dni95;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_95;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_dni95: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. +d_delfrag_d50;d50;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d50;h_cpol_d50;;d_delfrag_d50: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +d_delfrag_d95;d95;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d95;h_cpol_d95;;d_delfrag_d95: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +d_delfrag_d50high;d50high;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d50high;h_cpol_d50high;;d_delfrag_d50high: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +d_delfrag_d95high;d95high;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d95high;h_cpol_d95high;;d_delfrag_d95high: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +d_strain_d50;d50;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d50;h_cpol_d50;;d_strain_d50: Fragmented World +d_strain_d95;d95;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d95;h_cpol_d95;;d_strain_d95: Fragmented World +d_strain_d50high;d50high;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d50high;h_cpol_d50high;;d_strain_d50high: Fragmented World +d_strain_d95high;d95high;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d95high;h_cpol_d95high;;d_strain_d95high: Fragmented World +d_rap_d50;d50;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d50;;d_rap_d50: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +d_rap_d95;d95;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d95;;d_rap_d95: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +d_rap_d50high;d50high;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d50high;;d_rap_d50high: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +d_rap_d95high;d95high;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d95high;;d_rap_d95high: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +o_cba_d50;d50;;;;;;;load;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50;on;;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;;2025;o_2c;h_cpol_noUkr;h_cpol_d50;;o_cba_d50: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +o_cba_d95;d95;;;;;;;load;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;;2025;o_2c;h_cpol_noUkr;h_cpol_d95;;o_cba_d95: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +o_cba_d50high;d50high;;;;;;;load;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;;2025;o_2c;h_cpol_noUkr;h_cpol_d50high;;o_cba_d50high: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +o_cba_d95high;d95high;;;;;;;load;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;;2025;o_2c;h_cpol_noUkr;h_cpol_d95high;;o_cba_d95high: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. diff --git a/config/scenario_config_coupled_NGFS_v5.csv b/config/scenario_config_coupled_NGFS_v5.csv index 835e3936b..79f8c1835 100644 --- a/config/scenario_config_coupled_NGFS_v5.csv +++ b/config/scenario_config_coupled_NGFS_v5.csv @@ -8,6 +8,16 @@ o_2c;NGFS;;o_2c;;;SSP2|NDC|nocc_hist|rcp2p6;y2030;2;;;; o_lowdem;NGFS;;o_lowdem;;;SSP2|NDC|nocc_hist|rcp1p9|NGFS_o_lowdem;y2030;2;;;;0.3 d_delfrag;NGFS;;d_delfrag;;;SSP2|NDC|nocc_hist|rcp2p6;y2030;2;;;; d_strain;NGFS;;d_strain;;;SSP2|NDC|nocc_hist|rcp4p5;y2030;2;;;; +# with damages;;;;;;;;;;;; +h_cpol_KLW_d50;KLW;h_cpol;h_cpol;;;SSP2|NPI|cc|rcp4p5;;;;;; +h_ndc_KLW_d50;KLW;h_ndc;h_ndc;;;SSP2|NDC|cc|rcp4p5;;;;;; +o_1p5c_KLW_d50;KLW;o_1p5c;o_1p5c;;;SSP2|NDC|cc|rcp1p9;;;;;; +o_2c_KLW_d50;KLW;o_2c;o_2c;;;SSP2|NDC|cc|rcp2p6;;;;;; +o_lowdem_KLW_d50;KLW;o_lowdem;o_lowdem;;;SSP2|NDC|cc|rcp1p9|NGFS_o_lowdem;;;;;; +d_delfrag_KLW_d50;KLW;d_delfrag;d_delfrag;;;SSP2|NDC|cc|rcp2p6;;;;;; +d_strain_KLW_d50;KLW;d_strain;d_strain;;;SSP2|NDC|cc|rcp4p5;;;;;; +#;;;;;;;;;;;; +# Kalkuhl and Wenz, from NGFS v4;;;;;;;;;;;; SSP2-Base_d50;0;SSP2-Base;SSP2-Base;;;SSP2|NPI|cc|rcp6p0;;;;;; SSP2-Base_d95;0;SSP2-Base_d50;SSP2-Base;;;;;;;;; SSP2-Base_d50high;0;SSP2-Base_d50;SSP2-Base;;;;;;;;; @@ -46,3 +56,4 @@ d_rap_d50;0;d_rap;d_rap;;;SSP2|NDC|cc|rcp1p9;;;;;; d_rap_d95;0;d_rap_d50;d_rap;;;;;;;;; d_rap_d50high;0;d_rap_d50;d_rap;;;;;;;;; d_rap_d95high;0;d_rap_d50;d_rap;;;;;;;;; +d_rap_KLW_d50;0;d_rap;d_rap;;;SSP2|NDC|cc|rcp1p9;;;;;; diff --git a/scripts/output/export/xlsx_IIASA.R b/scripts/output/export/xlsx_IIASA.R index 0f1c8b46f..c4c3d4e9b 100644 --- a/scripts/output/export/xlsx_IIASA.R +++ b/scripts/output/export/xlsx_IIASA.R @@ -40,7 +40,7 @@ projects <- list( NGFS = list(model = "REMIND-MAgPIE 3.3-4.8", mapping = c("AR6", "AR6_NGFS"), iiasatemplate = "https://files.ece.iiasa.ac.at/ngfs-phase-5/ngfs-phase-5-template.xlsx", - removeFromScen = "C_|_bIT|_bit|_bIt"), + removeFromScen = "C_|_bIT|_bit|_bIt|_KLW"), SHAPE = list(mapping = c("NAVIGATE", "SHAPE")), TESTTHAT = list(mapping = "AR6") ) diff --git a/scripts/output/single/integratedDamageCosts.R b/scripts/output/single/integratedDamageCosts.R index 955f5dfdd..25aedb6fc 100644 --- a/scripts/output/single/integratedDamageCosts.R +++ b/scripts/output/single/integratedDamageCosts.R @@ -219,7 +219,7 @@ nodamagefolder <- "output" nodamagescenarios <- c("d_delfrag", "d_strain", "o_2c", "h_cpol", "o_lowdem", "o_1p5c", "h_ndc") curpol <- "h_cpol" stopifnot(curpol %in% nodamagescenarios) -nodamageiter <- 3 +nodamageiter <- 5 nodamagemifs <- file.path(nodamagefolder, paste0("C_", nodamagescenarios, "-rem-", nodamageiter), paste0("REMIND_generic_C_", nodamagescenarios, "-rem-", nodamageiter, ".mif")) nodamage <- quitte::as.quitte(nodamagemifs) diff --git a/start_bundle_coupled.R b/start_bundle_coupled.R index 38db3f082..5c2266a3f 100755 --- a/start_bundle_coupled.R +++ b/start_bundle_coupled.R @@ -52,7 +52,7 @@ helpText <- " # Please provide all files and paths relative to the folder where start_coupled is executed path_remind <- getwd() # provide path to REMIND. Default: the actual path which the script is started from path_magpie <- normalizePath(file.path(getwd(), "magpie"), mustWork = FALSE) -if (! dir.exists(path_magpie)) path_magpie <- normalizePath(file.path(getwd(), "..", "magpie")) +if (! dir.exists(path_magpie)) path_magpie <- normalizePath(file.path(getwd(), "..", "magpie"), mustWork = FALSE) # Paths to the files where scenarios are defined # path_settings_remind contains the detailed configuration of the REMIND scenarios From 2e97fdc6c8470341aa9eedde63477c8514326408 Mon Sep 17 00:00:00 2001 From: orichters Date: Thu, 8 Aug 2024 13:59:12 +0200 Subject: [PATCH 286/875] fix compilation errors and renamed switch --- config/scenario_config_NGFS_v5.csv | 2 +- modules/51_internalizeDamages/KotzWenzCPreg/postsolve.gms | 2 +- modules/51_internalizeDamages/KotzWenzItr/datainput.gms | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/config/scenario_config_NGFS_v5.csv b/config/scenario_config_NGFS_v5.csv index 8d9aa7c6b..d530f2225 100644 --- a/config/scenario_config_NGFS_v5.csv +++ b/config/scenario_config_NGFS_v5.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;climate_assessment_magicc_prob_file_iteration;cm_magicc_config;cm_magicc_temperatureImpulseResponse;cm_KotzWenzPerc;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;cm_CO2TaxSectorMarkup;c_ccsinjecratescen;c_ccsinjecrateRegi;cm_33DAC;cm_33EW;cm_bioenergy_SustTax;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;carbonpriceRegi;regipol;cm_implicitQttyTarget;cm_implicitQttyTarget_tolerance;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;fixOnRefAuto;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;climate_assessment_magicc_prob_file_iteration;cm_magicc_config;cm_magicc_temperatureImpulseResponse;cm_KotzWenzPerc;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;cm_CO2TaxSectorMarkup;c_ccsinjecratescen;c_ccsinjecrateRegi;cm_33DAC;cm_33EW;cm_bioenergy_SustTax;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;carbonpriceRegi;regipol;cm_implicitQttyTarget;cm_implicitQttyTarget_tolerance;cm_NDC_version;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;fixOnRefAuto;cm_startyear;path_gdx;path_gdx_ref;path_gdx_refpolicycost;path_gdx_bau;description # ___Calibration___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;initial value;initial value;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP2-Base_covidCalib;0;;;gdp_SSP2;;;;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/modules/51_internalizeDamages/KotzWenzCPreg/postsolve.gms b/modules/51_internalizeDamages/KotzWenzCPreg/postsolve.gms index 58681ce43..05778c596 100644 --- a/modules/51_internalizeDamages/KotzWenzCPreg/postsolve.gms +++ b/modules/51_internalizeDamages/KotzWenzCPreg/postsolve.gms @@ -27,7 +27,7 @@ p51_scc(tall,regi)$((tall.val ge 2020) and (tall.val le 2150)) = 1000 * p51_scc(tall,regi) = p51_sccLastItr(tall,regi) * min(max( (p51_scc(tall,regi)/max(p51_sccLastItr(tall,regi),1e-8)),1 - 0.5*0.95**iteration.val),1 + 0.95**iteration.val); pm_taxCO2eqSCC(ttot,regi) = 0; -pm_taxCO2eqSCC(t,regi)$(t.val ge 2025) = max(0, p51_scc(t) * sm_c_2_co2/1000); +pm_taxCO2eqSCC(t,regi)$(t.val ge 2025) = max(0, p51_scc(t,regi) * sm_c_2_co2/1000); *); diff --git a/modules/51_internalizeDamages/KotzWenzItr/datainput.gms b/modules/51_internalizeDamages/KotzWenzItr/datainput.gms index 1cc3dd41e..d506e5e1c 100644 --- a/modules/51_internalizeDamages/KotzWenzItr/datainput.gms +++ b/modules/51_internalizeDamages/KotzWenzItr/datainput.gms @@ -11,9 +11,9 @@ $ifi not %damages% == 'KotzWenz' abort "module internalizeDamages=KotzWenzItr re $ifi not %cm_magicc_temperatureImpulseResponse% == 'on' abort "module internalizeDamages=KotzWenzItr requires cm_magicc_temperatureImpulseResponse=on"; *init carbon tax for 1st iter -p51_scc(tall,regi) = 0; -p51_scc("2025",regi) = 20; -p51_scc(tall,regi)$(tall.val ge 2025 and tall.val le 2150) = p51_scc("2025",regi)*(1+0.025*(tall.val-2025)); +p51_scc(tall) = 0; +p51_scc("2025") = 20; +p51_scc(tall)$(tall.val ge 2025 and tall.val le 2150) = p51_scc("2025")*(1+0.025*(tall.val-2025)); pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2010) = p51_scc(ttot) * sm_c_2_co2/1000; From a061322a39a032cf4edea54508c40082f44b3540 Mon Sep 17 00:00:00 2001 From: orichters Date: Thu, 8 Aug 2024 14:17:59 +0200 Subject: [PATCH 287/875] update iiasa submission tutorial --- tutorials/13_Submit_to_IIASA_database.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/tutorials/13_Submit_to_IIASA_database.md b/tutorials/13_Submit_to_IIASA_database.md index f6b1979fc..1a2b851bc 100644 --- a/tutorials/13_Submit_to_IIASA_database.md +++ b/tutorials/13_Submit_to_IIASA_database.md @@ -7,10 +7,11 @@ Many projects have to upload their scenario data to the database provided by [II ## Step 1: model registration At the beginning of the project, there should be a process to get access to the project Internal Scenario Explorer. In case of problems, contact [Daniel Huppmann](https://iiasa.ac.at/staff/daniel-huppmann). - -Model, scenarios and project variables should be registered in the IIASA database. Often, the variable list is based on the `AR6` template once generated for the IPCC Sixth Assessment Report, or the new template for the NAVIGATE project. - -A template file containing the list of variables and associated units may be provided as yaml or xlsx file. It can be used to check the variable names and units of your submission. Save it in your REMIND repository, the suggested place is `./output/export/`. +REMIND model registration files can be found in the [mappings](https://github.com/IAMconsortium/common-definitions/tree/main/mappings) and the [region](https://github.com/IAMconsortium/common-definitions/tree/main/definitions/region/native_regions) folder of the common-definitions repository, or in [piamInterfaces](https://github.com/pik-piam/piamInterfaces/tree/master/inst/registration). +Scenarios and project variables should be registered in the IIASA database. +Often, the variable list is based on the `AR6` template once generated for the IPCC Sixth Assessment Report, or the new template for the NAVIGATE project. +This template file contains the list of variables and associated units may be provided as yaml or xlsx file. +It can be used to check the variable names and units of your submission. ## Step 2: generate file to upload @@ -20,7 +21,7 @@ You can generate the file to be uploaded by either calling [`piamInterfaces::gen - `mifs`: vector of .mif files or directories that contain the .mif files - `model`: model name as registered in the database, such as "REMIND-MAgPIE 3.2-4.6" -- `iiasatemplate`: optional path to the xlsx or yaml file obtained in the project with the variables and units that are accepted in the database +- `iiasatemplate`: optional path to the xlsx or yaml file obtained in the project with the variables and units that are accepted in the database. If you received a link of the form `https://files.ece.iiasa.ac.at/project-name/projectname-template.xlsx`, you can use that directly and it will be automatically downloaded. - `addToScen`: optional string added in front of all scenario names - `removeFromScen`: optional regular expression of parts to be deleted from the scenario names, such as "C_|_bIT|_bit|_bIt" - `mapping`: vector of mappings from [this directory](https://github.com/pik-piam/piamInterfaces/tree/master/inst/mappings) (such as `c("AR6", "AR6_NGFS")` or `c("NAVIGATE", "SHAPE")`) or a local file with identical structure. From 1656d2a8d1c701bcc513572cdb825d43807dda68 Mon Sep 17 00:00:00 2001 From: orichters Date: Fri, 9 Aug 2024 13:37:12 +0200 Subject: [PATCH 288/875] adjust readCheckScenarioConfig to set default one cfg$ switches --- scripts/start/readCheckScenarioConfig.R | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/start/readCheckScenarioConfig.R b/scripts/start/readCheckScenarioConfig.R index 50411db84..506582e16 100644 --- a/scripts/start/readCheckScenarioConfig.R +++ b/scripts/start/readCheckScenarioConfig.R @@ -83,8 +83,8 @@ readCheckScenarioConfig <- function(filename, remindPath = ".", testmode = FALSE } if (fillWithDefault) { - for (switchname in intersect(names(scenConf), names(cfg$gms))) { - scenConf[is.na(scenConf[, switchname]), switchname] <- cfg$gms[[switchname]] + for (switch in intersect(names(scenConf), c(names(cfg), names(cfg$gms)))) { + scenConf[is.na(scenConf[, switch]), switch] <- ifelse(switch %in% names(cfg), cfg[[switch]], cfg$gms[[switch]]) } } From 760a0151dde6b8142923bd6582da3a3a79b9ef34 Mon Sep 17 00:00:00 2001 From: orichters Date: Fri, 9 Aug 2024 13:37:38 +0200 Subject: [PATCH 289/875] copy h_cpol setting to o_cba runs --- config/scenario_config_NGFS_v5.csv | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/config/scenario_config_NGFS_v5.csv b/config/scenario_config_NGFS_v5.csv index d530f2225..a89879f6d 100644 --- a/config/scenario_config_NGFS_v5.csv +++ b/config/scenario_config_NGFS_v5.csv @@ -70,7 +70,7 @@ d_rap_d50;d50;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50; d_rap_d95;d95;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d95;;d_rap_d95: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. d_rap_d50high;d50high;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d50high;;d_rap_d50high: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. d_rap_d95high;d95high;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d95high;;d_rap_d95high: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_cba_d50;d50;;;;;;;load;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50;on;;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;;2025;o_2c;h_cpol_noUkr;h_cpol_d50;;o_cba_d50: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_cba_d95;d95;;;;;;;load;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;;2025;o_2c;h_cpol_noUkr;h_cpol_d95;;o_cba_d95: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_cba_d50high;d50high;;;;;;;load;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;;2025;o_2c;h_cpol_noUkr;h_cpol_d50high;;o_cba_d50high: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_cba_d95high;d95high;;;;;;;load;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;;2025;o_2c;h_cpol_noUkr;h_cpol_d95high;;o_cba_d95high: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +o_cba_d50;d50;h_cpol;;;;;;load;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50;on;;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;;2025;o_2c;h_cpol_noUkr;h_cpol_d50;;o_cba_d50: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +o_cba_d95;d95;h_cpol;;;;;;load;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;;2025;o_2c;h_cpol_noUkr;h_cpol_d95;;o_cba_d95: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +o_cba_d50high;d50high;h_cpol;;;;;;load;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;;2025;o_2c;h_cpol_noUkr;h_cpol_d50high;;o_cba_d50high: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +o_cba_d95high;d95high;h_cpol;;;;;;load;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;;2025;o_2c;h_cpol_noUkr;h_cpol_d95high;;o_cba_d95high: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. From 8426c7ca0b06748ae9aca334c0304898f269a46e Mon Sep 17 00:00:00 2001 From: orichters Date: Fri, 9 Aug 2024 13:58:09 +0200 Subject: [PATCH 290/875] adapt percent->% for harmonization --- scripts/output/comparison/policyCosts.R | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/output/comparison/policyCosts.R b/scripts/output/comparison/policyCosts.R index fca1ec30a..ec5f39fdc 100644 --- a/scripts/output/comparison/policyCosts.R +++ b/scripts/output/comparison/policyCosts.R @@ -142,7 +142,7 @@ report_transfers <- function(pol_mif, ref_mif) { # Get gdploss gdploss <- pol_run[[1]][["REMIND"]][, , "Policy Cost|GDP Loss (billion US$2005/yr)"] # Add rel gdploss (not in percent) - gdploss_rel <- magclass::setNames(pol_run[[1]][["REMIND"]][, , "Policy Cost|GDP Loss|Relative to Reference GDP (percent)"] / 100, + gdploss_rel <- magclass::setNames(pol_run[[1]][["REMIND"]][, , "Policy Cost|GDP Loss|Relative to Reference GDP (%)"] / 100, "Policy Cost|GDP Loss|Relative to Reference GDP") # Get gdp gdp_ref <- ref_run[[1]][["REMIND"]][ , , "GDP|MER (billion US$2005/yr)"] @@ -154,7 +154,7 @@ report_transfers <- function(pol_mif, ref_mif) { delta_transfer <- magclass::setNames(delta_gdploss * gdp_ref, "Policy Cost|Transfers equal effort (billion US$2005/yr)") delta_transfer_rel <- 100 * magclass::setNames(delta_transfer / gdp_ref, - "Policy Cost|Transfers equal effort|Relative to Reference GDP (percent)") + "Policy Cost|Transfers equal effort|Relative to Reference GDP (%)") # Calculate new gdp variables @@ -163,7 +163,7 @@ report_transfers <- function(pol_mif, ref_mif) { gdploss_withtransfers <- magclass::setNames(gdp_ref - gdp_withtransfers, "Policy Cost|GDP Loss|w/ transfers equal effort (billion US$2005/yr)") gdploss_withtransfers_rel <- 100 * magclass::setNames(gdploss_withtransfers/gdp_ref, - "Policy Cost|GDP Loss|w/ transfers equal effort|Relative to Reference GDP (percent)") + "Policy Cost|GDP Loss|w/ transfers equal effort|Relative to Reference GDP (%)") # Correct sets and bind together my_list <- list(delta_transfer, delta_transfer_rel, gdp_withtransfers, gdploss_withtransfers, gdploss_withtransfers_rel) From 8ed5bf2f53b30353d28cf2eb183e4d012f38531d Mon Sep 17 00:00:00 2001 From: Katarzyna Kowalczyk Date: Sat, 10 Aug 2024 09:43:20 +0200 Subject: [PATCH 291/875] Add missing space --- scripts/start/prepare.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/start/prepare.R b/scripts/start/prepare.R index 423118b6a..07d93af87 100644 --- a/scripts/start/prepare.R +++ b/scripts/start/prepare.R @@ -13,7 +13,7 @@ prepare <- function() { #require(lucode, quietly = TRUE,warn.conflicts =FALSE) require(magclass, quietly = TRUE,warn.conflicts =FALSE) require(tools, quietly = TRUE,warn.conflicts =FALSE) - require(remind2,quietly = TRUE,warn.conflicts =FALSE) + require(remind2, quietly = TRUE,warn.conflicts =FALSE) require(mrremind) require(mrvalidation) From 5b80c3fe2bce990ec59c327c9619f5f60c3529a4 Mon Sep 17 00:00:00 2001 From: Katarzyna Kowalczyk Date: Sat, 10 Aug 2024 10:42:26 +0200 Subject: [PATCH 292/875] OAE in CHANGELOG --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9eacc60f7..4660735c6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). [[#1739](https://github.com/remindmodel/remind/pull/1739)] - **scripts** fail transparently on duplicated column names in `scenario_config*.csv` files [[#1742](https://github.com/remindmodel/remind/pull/1742)] +- **33_CDR** added ocean alkalinity enhancement to the CDR portfolio (OAE is turned off by default) + [[#1777](https://github.com/remindmodel/remind/pull/1777)] ### fixed - included CCS from plastic waste incineration in CCS mass flows so it is From 45368f040723ebb5d7ecd2233ffdfe5b92c7986f Mon Sep 17 00:00:00 2001 From: Falk Benke Date: Mon, 12 Aug 2024 11:46:13 +0200 Subject: [PATCH 293/875] remove header from Rmd file cesCalibrationReport.R --- .../single/notebook_templates/cesCalibrationReport.Rmd | 8 -------- 1 file changed, 8 deletions(-) diff --git a/scripts/output/single/notebook_templates/cesCalibrationReport.Rmd b/scripts/output/single/notebook_templates/cesCalibrationReport.Rmd index 75fc47016..73866d6ae 100644 --- a/scripts/output/single/notebook_templates/cesCalibrationReport.Rmd +++ b/scripts/output/single/notebook_templates/cesCalibrationReport.Rmd @@ -1,11 +1,3 @@ - --- title: "`r params$doctitle`" date: "`r format(Sys.Date())`" From 3eeb873574e783834fd0cf62b67a2d20fddd23d4 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Mon, 12 Aug 2024 11:54:10 +0000 Subject: [PATCH 294/875] Release development version 3.3.2.dev318 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 602dc9397..0fec37d5f 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,8 +266,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev315" -date-released: 2024-08-08 +version: "3.3.2.dev318" +date-released: 2024-08-12 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 27730d368..98fcdc115 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev315" +cfg$model_version <- "3.3.2.dev318" #### settings #### cfg$gms <- list() From b7dd88923a25d7866d3b5d8642ab200ef28a5609 Mon Sep 17 00:00:00 2001 From: lecfab Date: Mon, 12 Aug 2024 17:52:58 +0200 Subject: [PATCH 295/875] regional scaling of fe and ue demands for buildings and industry, with linear phase-in --- core/datainput.gms | 17 +++++++++++++++-- main.gms | 4 ++++ modules/36_buildings/simple/datainput.gms | 11 +++++++++++ 3 files changed, 30 insertions(+), 2 deletions(-) diff --git a/core/datainput.gms b/core/datainput.gms index 1e3651ef9..4050b2820 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -98,6 +98,7 @@ $offdelim pm_gdp(tall,all_regi) = f_gdp(tall,all_regi,"%cm_GDPscen%") * pm_shPPPMER(all_regi) / 1000000; !! rescale from million US$ to trillion US$ *** load level of development +*** Values in 2020 SSP2: SSA=0.1745, IND=0.3686, OAS=0.5136, MEA=0.6568, REF=0.836, LAM=0.8763, NEU=0.9962, EUR=1, CAZ=1, CHA=1, JPN=1, USA=1 table f_developmentState(tall,all_regi,all_GDPpcScen) "level of development based on GDP per capita" $ondelim $include "./core/input/f_developmentState.cs3r" @@ -1598,10 +1599,22 @@ $include "./core/input/f_fedemand_build.cs4r" $offdelim /; -pm_fedemand(t,regi,cal_ppf_buildings_dyn36) = - f_fedemand_build(t,regi,"%cm_demScen%","%cm_rcp_scen_build%",cal_ppf_buildings_dyn36); +pm_fedemand(t,regi,cal_ppf_buildings_dyn36) = f_fedemand_build(t,regi,"%cm_demScen%","%cm_rcp_scen_build%",cal_ppf_buildings_dyn36); $endif.cm_rcp_scen_build + +*** Scale FE demand across industry and building sectors +$ifthen.scaleDemand not "%cm_scaleDemand%" == "off" + loop((t,t3,all_regi) $ pm_scaleDemand(t,t3,all_regi), + loop(t2, +*FL* rescaled demand = normal demand * [ scaling factor + (1-scaling factor) * remaining phase-in, between zero and one ] + pm_fedemand(t2,all_regi,in) = pm_fedemand(t2,all_regi,in) * ( pm_scaleDemand(t,t3,all_regi) + (1-pm_scaleDemand(t,t3,all_regi)) * min(1, max(0, t3.val-t2.val) / (t3.val-t.val)) ); + ) + ); +$endif.scaleDemand + + + *** initialize global target deviation scalar sm_globalBudget_dev = 1; diff --git a/main.gms b/main.gms index e3f6eca15..e43eb4ce3 100755 --- a/main.gms +++ b/main.gms @@ -1295,6 +1295,10 @@ $setGlobal cm_emiMktTarget off !! def = off *** Example on how to use: *** cm_emiMktTarget_tolerance = 'GLO 0.004, DEU 0.01'. All regional emission targets will be considered converged if they have at most 0.4% of the target deviation, except for Germany that requires 1%. $setGlobal cm_emiMktTarget_tolerance GLO 0.01 !! def = GLO 0.01 +*** cm_scaleDemand - Rescaling factor on final energy and usable energy demand, for selected regions and over a phase-in window. +*** Example on how to use: +*** cm_scaleDemand = '2020.2040.(EUR,NEU,USA,JPN,CAZ) 0.75' applies a 25% demand reduction on those regions progressively between 2020 (100% demand) and 2040 (75% demand). +$setGlobal cm_scaleDemand off !! def = off *** cm_quantity_regiCO2target "emissions quantity upper bound from specific year for region group." *** Example on how to use: *** '2050.EUR_regi.netGHG 0.000001, obliges European GHG emissions to be approximately zero from 2050 onward" diff --git a/modules/36_buildings/simple/datainput.gms b/modules/36_buildings/simple/datainput.gms index 7608e568a..23924a532 100644 --- a/modules/36_buildings/simple/datainput.gms +++ b/modules/36_buildings/simple/datainput.gms @@ -57,6 +57,17 @@ $offdelim ; p36_uedemand_build(ttot,regi,in) = f36_uedemand_build(ttot,regi,"%cm_demScen%","%cm_rcp_scen_build%",in); +*** Scale UE demand and floor space in the building sector +$ifthen.scaleDemand not "%cm_scaleDemand%" == "off" + loop((t,t3,regi) $ pm_scaleDemand(t,t3,regi), + loop(t2, +*FL* rescaled demand = normal demand * [ scaling factor + (1-scaling factor) * remaining phase-in, between zero and one ] + p36_uedemand_build(t,regi,in) = p36_uedemand_build(t,regi,in) * ( pm_scaleDemand(t,t3,regi) + (1-pm_scaleDemand(t,t3,regi)) * min(1, max(0, t3.val-t2.val) / (t3.val-t.val)) ); + p36_floorspace(t,regi) = p36_floorspace(t,regi) * ( pm_scaleDemand(t,t3,regi) + (1-pm_scaleDemand(t,t3,regi)) * min(1, max(0, t3.val-t2.val) / (t3.val-t.val)) ); + ) + ); +$endif.scaleDemand + *** scale default elasticity of substitution on enb level $IFTHEN.cm_enb not "%cm_enb%" == "off" From 570f91a41b60bddc72a31706431a1c04ca346f32 Mon Sep 17 00:00:00 2001 From: lecfab Date: Mon, 12 Aug 2024 18:02:30 +0200 Subject: [PATCH 296/875] declare pm_scaleDemand --- core/declarations.gms | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/declarations.gms b/core/declarations.gms index d9589e508..16b31c5d2 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -185,6 +185,10 @@ $ifthen.VREPot_Factor not "%c_VREPot_Factor%" == "off" p_VREPot_Factor(all_te) "Rescale factor for renewable potentials" / %c_VREPot_Factor% / $endif.VREPot_Factor +$ifthen.scaleDemand not "%cm_scaleDemand%" == "off" + pm_scaleDemand(ttot,ttot,all_regi) "Rescaling factor on final energy and usable energy demand, for selected regions and over a phase-in window." / %cm_scaleDemand% / +$endif.scaleDemand + p_boundtmp(tall,all_regi,all_te,rlf) "read-in bound on capacities" p_bound_cap(tall,all_regi,all_te,rlf) "read-in bound on capacities" pm_data(all_regi,char,all_te) "Large array for most technical parameters of technologies; more detail on the individual technical parameters can be found in the declaration of the set 'char' " From 71b176a3220767979db425f3e78ec9c0464d8f83 Mon Sep 17 00:00:00 2001 From: Falk Benke Date: Tue, 13 Aug 2024 11:09:40 +0200 Subject: [PATCH 297/875] add EDGE-T to cs2 --- scripts/cs2/profiles.json | 6 ++++++ scripts/cs2/run_compareScenarios2.R | 7 ++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/scripts/cs2/profiles.json b/scripts/cs2/profiles.json index 2dfe7cef5..6575e9651 100644 --- a/scripts/cs2/profiles.json +++ b/scripts/cs2/profiles.json @@ -58,6 +58,12 @@ "sections": "0", "userSectionPath": "normalizePath('./scripts/cs2/MAGICC7_AR6.Rmd')" }, + "EDGE-Transport": { + "projectLibrary": "'reporttransport'", + "reg": "c('OAS', 'MEA', 'SSA', 'LAM', 'REF', 'CAZ', 'CHA', 'IND', 'JPN', 'USA', 'NEU', 'EUR', 'World')", + "sections": "c(0,1,2,3,4,5,99)", + "mainReg": "World" + }, "mySection": { "sections": "0", "userSectionPath": "normalizePath('./scripts/cs2/mySection.Rmd')" diff --git a/scripts/cs2/run_compareScenarios2.R b/scripts/cs2/run_compareScenarios2.R index cebbfe68f..b6fce8672 100644 --- a/scripts/cs2/run_compareScenarios2.R +++ b/scripts/cs2/run_compareScenarios2.R @@ -34,7 +34,12 @@ run_compareScenarios2 <- function( outDir <- normalizePath(outFileName, mustWork = TRUE) outputDirs <- unique(normalizePath(outputDirs, mustWork = TRUE)) - mifPath <- remind2::getMifScenPath(outputDirs, mustWork = TRUE) + + if (profileName == "EDGE-Transport") { + mifPath <- normalizePath(file.path(outputDirs, "EDGE-T", "Transport.mif"), mustWork = TRUE) + } else { + mifPath <- remind2::getMifScenPath(outputDirs, mustWork = TRUE) + } histPath <- remind2::getMifHistPath(outputDirs[1], mustWork = TRUE) scenConfigPath <- remind2::getCfgScenPath(outputDirs, mustWork = TRUE) From 6c913b5cef9def1ce42f161c02366b81036d9cf8 Mon Sep 17 00:00:00 2001 From: Falk Benke Date: Tue, 13 Aug 2024 11:18:11 +0200 Subject: [PATCH 298/875] fix typo in profiles.json --- scripts/cs2/profiles.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/cs2/profiles.json b/scripts/cs2/profiles.json index 6575e9651..cfac3d91c 100644 --- a/scripts/cs2/profiles.json +++ b/scripts/cs2/profiles.json @@ -62,7 +62,7 @@ "projectLibrary": "'reporttransport'", "reg": "c('OAS', 'MEA', 'SSA', 'LAM', 'REF', 'CAZ', 'CHA', 'IND', 'JPN', 'USA', 'NEU', 'EUR', 'World')", "sections": "c(0,1,2,3,4,5,99)", - "mainReg": "World" + "mainReg": "'World'" }, "mySection": { "sections": "0", From 6ef547969ce7098c30d914026e1a0e6db457fc49 Mon Sep 17 00:00:00 2001 From: lecfab Date: Tue, 13 Aug 2024 12:01:14 +0200 Subject: [PATCH 299/875] windon: remove pewin.seel.wind from pe2se --- core/sets.gms | 2 +- .../04_PE_FE_parameters/iea2014/datainput.gms | 19 ++++++++++--------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/core/sets.gms b/core/sets.gms index 59dcc15fc..6d272740d 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -2412,7 +2412,7 @@ pe2se(all_enty,all_enty,all_te) "map primary energy carriers to secondary" pegeo.seel.geohdr pegeo.sehe.geohe pehyd.seel.hydro - pewin.seel.wind +*** pewin.seel.wind pewin.seel.windon pewin.seel.windoff pesol.seel.spv diff --git a/modules/04_PE_FE_parameters/iea2014/datainput.gms b/modules/04_PE_FE_parameters/iea2014/datainput.gms index 0ca864a15..2ad3fa48f 100644 --- a/modules/04_PE_FE_parameters/iea2014/datainput.gms +++ b/modules/04_PE_FE_parameters/iea2014/datainput.gms @@ -14,6 +14,12 @@ $offdelim / ; +*** windoffshore-todo +f04_IO_input(tall,all_regi,"pewin","seel","windon") $ (f04_IO_input(tall,all_regi,"pewin","seel","windon") eq 0) = f04_IO_input(tall,all_regi,"pewin","seel","wind"); +f04_IO_input(tall,all_regi,"pewin","seel","wind") = 0; +*CG* setting historical production from wind offshore to 0 (due to the scarcity of offshore wind before 2015) +f04_IO_input(tall,all_regi,"pewin","seel","windoff") = 0; + if (smin((t,regi,pe2se(entyPe,entySe,te)), f04_IO_input(t,regi,entyPe,entySe,te)) lt 0, put_utility "msg" / "**""** input data problem: f04_IO_input has negative values that are overwritten"; put_utility "msg" / "**""** to still allow model solving. Check input data." /; @@ -28,11 +34,6 @@ if (smin((t,regi,pe2se(entyPe,entySe,te)), f04_IO_input(t,regi,entyPe,entySe,te) *' overwrite negative values with 0 to allow the model to solve. In the mid-term, the input data/mapping needs to be improved to prevent negative values f04_IO_input(tall,regi,entyPe,entySe,te)$(f04_IO_input(tall,regi,entyPe,entySe,te) lt 0) = 0; -*** windoffshore-todo -f04_IO_input(tall,all_regi,"pewin","seel","windon") $ (f04_IO_input(tall,all_regi,"pewin","seel","windon") eq 0) = f04_IO_input(tall,all_regi,"pewin","seel","wind") = 0; -f04_IO_input(tall,all_regi,"pewin","seel","wind") = 0; -*CG* setting historical production from wind offshore to 0 (due to the scarcity of offshore wind before 2015) -f04_IO_input(tall,all_regi,"pewin","seel","windoff") = 0; parameter f04_IO_output(tall,all_regi,all_enty,all_enty,all_te) "Energy output based on IEA data" / @@ -42,6 +43,10 @@ $offdelim / ; +*** windoffshore-todo +f04_IO_output(tall,all_regi,"pewin","seel","windon") $ (f04_IO_output(tall,all_regi,"pewin","seel","windon") eq 0) = f04_IO_output(tall,all_regi,"pewin","seel","wind"); +f04_IO_output(tall,all_regi,"pewin","seel","wind") = 0; + if (smin((t,regi,pe2se(entyPe,entySe,te)), f04_IO_output(t,regi,entyPe,entySe,te)) lt 0, put_utility "msg" / "**""** input data problem: f04_IO_output has negative values that are overwritten" / put_utility "msg" / "**""** to still allow model solving. Check input data." /; @@ -57,10 +62,6 @@ if (smin((t,regi,pe2se(entyPe,entySe,te)), f04_IO_output(t,regi,entyPe,entySe,te *' overwrite negative values with 0 to allow the model to solve. In the mid-term, the input data/mapping needs to be improved to prevent negative values f04_IO_output(tall,regi,entyPe,entySe,te)$(f04_IO_output(tall,regi,entyPe,entySe,te) lt 0) = 0; -*** windoffshore-todo -f04_IO_output(tall,all_regi,"pewin","seel","windon") $ (f04_IO_output(tall,all_regi,"pewin","seel","windon") eq 0) = f04_IO_output(tall,all_regi,"pewin","seel","wind") = 0; -f04_IO_output(tall,all_regi,"pewin","seel","wind") = 0; - *** making sure f04_IO_output is compatible with pm_fedemand values in 2005 From 58ba05948f9770bf9715b41f813f2d646c98254c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Tue, 13 Aug 2024 14:07:49 +0200 Subject: [PATCH 300/875] Removing unused variable v01_enerSerAdj and set in_enerSerAdj from 01_macro/singleSectorGr --- modules/01_macro/singleSectorGr/declarations.gms | 1 - modules/01_macro/singleSectorGr/equations.gms | 1 - modules/01_macro/singleSectorGr/sets.gms | 2 -- 3 files changed, 4 deletions(-) diff --git a/modules/01_macro/singleSectorGr/declarations.gms b/modules/01_macro/singleSectorGr/declarations.gms index 5788d5475..bcb4b5051 100644 --- a/modules/01_macro/singleSectorGr/declarations.gms +++ b/modules/01_macro/singleSectorGr/declarations.gms @@ -34,7 +34,6 @@ vm_invMacro(ttot,all_regi,all_in) "Investment for v01_invMacroAdj(ttot,all_regi,all_in) "Adjustment costs of macro economic investments" vm_invInno(ttot,all_regi,all_in) "Investment into innovation" vm_invImi(ttot, all_regi,all_in) "Investment into imitation" -v01_enerSerAdj(tall,all_regi,all_in) "adjustment costs for energy service transformations" ; ***------------------------------------------------------------ ------------------- *** EQUATIONS diff --git a/modules/01_macro/singleSectorGr/equations.gms b/modules/01_macro/singleSectorGr/equations.gms index ee2d7ffa7..9a59bb0db 100644 --- a/modules/01_macro/singleSectorGr/equations.gms +++ b/modules/01_macro/singleSectorGr/equations.gms @@ -45,7 +45,6 @@ qm_budget(ttot,regi)$( ttot.val ge cm_startyear ) .. + sum(tradeCap, vm_costTradeCap(ttot,regi,tradeCap)) + vm_taxrev(ttot,regi)$(ttot.val ge 2010) + vm_costAdjNash(ttot,regi) - + sum(in_enerSerAdj(in), v01_enerSerAdj(ttot,regi,in)) + sum(teEs, vm_esCapInv(ttot,regi,teEs)) + vm_costpollution(ttot,regi) + pm_totLUcosts(ttot,regi) diff --git a/modules/01_macro/singleSectorGr/sets.gms b/modules/01_macro/singleSectorGr/sets.gms index 9a6360310..d9b822698 100644 --- a/modules/01_macro/singleSectorGr/sets.gms +++ b/modules/01_macro/singleSectorGr/sets.gms @@ -29,8 +29,6 @@ ppf(all_in) "All primary production factors" ipf(all_in) "All intermediate production factors" ppfKap(all_in) "Primary production factors capital" / kap / ppfEn(all_in) "Primary production factors energy" - -in_enerSerAdj(all_in) "Energy services factors which should be constrained by adjustment costs" // ; alias(cesOut2cesIn,cesOut2cesIn2,cesOut2cesIn3); From 823408c4c3e945a7c9a2f0e187db47cb411fd194 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 13 Aug 2024 12:39:37 +0000 Subject: [PATCH 301/875] Release development version 3.3.2.dev330 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 0fec37d5f..659cac093 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,8 +266,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev318" -date-released: 2024-08-12 +version: "3.3.2.dev330" +date-released: 2024-08-13 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 98fcdc115..622feed03 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev318" +cfg$model_version <- "3.3.2.dev330" #### settings #### cfg$gms <- list() From b8b0c7a3e191993941608bd92618a3b3a218480e Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 13 Aug 2024 14:04:56 +0000 Subject: [PATCH 302/875] Release development version 3.3.2.dev333 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 659cac093..1e992160a 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,7 +266,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev330" +version: "3.3.2.dev333" date-released: 2024-08-13 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 622feed03..63dd51a68 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev330" +cfg$model_version <- "3.3.2.dev333" #### settings #### cfg$gms <- list() From ee305510f1d8ed076899db134596dc7fac3568f4 Mon Sep 17 00:00:00 2001 From: Falk Benke Date: Tue, 13 Aug 2024 16:48:53 +0200 Subject: [PATCH 303/875] update changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2035fcfce..4499dcd85 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - **scripts** checkProjectSummations now also checks whether global intensive variables (prices) lie between regional min/max [[#1773](https://github.com/remindmodel/remind/pull/1773)] +- **scripts** add support for EDGE-Transport standalone results to cs2 + [[#1780](https://github.com/remindmodel/remind/pull/1780)] - **testthat** fail if manipulating main.gms with default cfg drops/changes switches and comments [[#1764](https://github.com/remindmodel/remind/pull/1764)] and [[#1767](https://github.com/remindmodel/remind/pull/1767)] From 217e48bc1aca45b0cac6a4eac0f7e2ce7495f041 Mon Sep 17 00:00:00 2001 From: lecfab Date: Tue, 13 Aug 2024 17:11:11 +0200 Subject: [PATCH 304/875] windon: avoid wind wherever possible by restricting input to 'te' instead of 'all_te' --- core/datainput.gms | 39 +++++++++++------------- core/sets.gms | 2 +- modules/32_power/IntC/datainput.gms | 22 ++++--------- modules/40_techpol/NDC/datainput.gms | 5 ++- modules/40_techpol/NDCplus/datainput.gms | 5 ++- modules/40_techpol/NPi2018/datainput.gms | 5 ++- 6 files changed, 30 insertions(+), 48 deletions(-) diff --git a/core/datainput.gms b/core/datainput.gms index d0b8392d3..94a59d2d6 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -184,17 +184,17 @@ pm_esCapCost(tall,all_regi,all_teEs) = 0; ***--------------------------------------------------------------------------- *** Manipulating global or regional cost technology data - absolute value ***--------------------------------------------------------------------------- -!! Modify spv and storspv parameters for optimistic VRE supply assumptions -if (cm_VRE_supply_assumptions eq 1, +*** Modify spv and storspv parameters for optimistic VRE supply assumptions +if (cm_VRE_supply_assumptions eq 1, !! "optimistic" assumptions on VRE supply fm_dataglob("learn","spv") = 0.257; fm_dataglob("inco0","storspv") = 7000; fm_dataglob("incolearn","storspv") = 4240; fm_dataglob("learn","storspv") = 0.12; ); -if (cm_VRE_supply_assumptions eq 2, +if (cm_VRE_supply_assumptions eq 2, !! "sombre" assumptions on VRE supply fm_dataglob("incolearn","spv") = 5010; ); -if (cm_VRE_supply_assumptions eq 3, +if (cm_VRE_supply_assumptions eq 3, !! "bleak" assumptions on VRE supply fm_dataglob("incolearn","spv") = 4960; ); @@ -321,40 +321,38 @@ pm_data(regi,"floorcost",teLearn(te)) = pm_data(regi,"inco0",te) - pm_data(regi, *** report old floor costs pre manipulation in non-default scenario $ifthen.floorscen NOT %cm_floorCostScen% == "default" -p_oldFloorCostdata(regi,teLearn(te)) = pm_data(regi,"inco0",te) - pm_data(regi,"incolearn",te); + p_oldFloorCostdata(regi,teLearn(te)) = pm_data(regi,"inco0",te) - pm_data(regi,"incolearn",te); $endif.floorscen *** calculate floor costs for learning technologies if historical price structure prevails $ifthen.floorscen %cm_floorCostScen% == "pricestruc" ** compute maximum tech cost in 2015 for a given tech among regions -p_maxRegTechCost2015(teRegTechCosts) = SMax(regi, p_inco0("2015",regi,teRegTechCosts)); + p_maxRegTechCost2015(teRegTechCosts) = SMax(regi, p_inco0("2015",regi,teRegTechCosts)); *take the ratio of the tech cost in 2015 and the maximum cost, and multiply with the global floor to get new floorcost that preserves the price structure -pm_data(regi,"floorcost",teLearn(te))$(p_maxRegTechCost2015(te) ne 0) = p_oldFloorCostdata(regi,te) * p_inco0("2015",regi,te) / p_maxRegTechCost2015(te); + pm_data(regi,"floorcost",teLearn(te))$(p_maxRegTechCost2015(te) ne 0) = p_oldFloorCostdata(regi,te) * p_inco0("2015",regi,te) / p_maxRegTechCost2015(te); * for newer data than 2015, use these -p_maxRegTechCost2020(teRegTechCosts) = SMax(regi, p_inco0("2020",regi,teRegTechCosts)); -pm_data(regi,"floorcost",teLearn(te))$(p_maxRegTechCost2020(te) ne 0) = p_oldFloorCostdata(regi,te) * p_inco0("2020",regi,te) / p_maxRegTechCost2020(te); + p_maxRegTechCost2020(teRegTechCosts) = SMax(regi, p_inco0("2020",regi,teRegTechCosts)); + pm_data(regi,"floorcost",teLearn(te))$(p_maxRegTechCost2020(te) ne 0) = p_oldFloorCostdata(regi,te) * p_inco0("2020",regi,te) / p_maxRegTechCost2020(te); * report the new floor cost data -p_newFloorCostdata(regi,teLearn(te))$(p_maxRegTechCost2015(te) ne 0) = p_oldFloorCostdata(regi,te) * p_inco0("2015",regi,te) / p_maxRegTechCost2015(te); -p_newFloorCostdata(regi,teLearn(te))$(p_maxRegTechCost2020(te) ne 0) = p_oldFloorCostdata(regi,te) * p_inco0("2020",regi,te) / p_maxRegTechCost2020(te); + p_newFloorCostdata(regi,teLearn(te))$(p_maxRegTechCost2015(te) ne 0) = p_oldFloorCostdata(regi,te) * p_inco0("2015",regi,te) / p_maxRegTechCost2015(te); + p_newFloorCostdata(regi,teLearn(te))$(p_maxRegTechCost2020(te) ne 0) = p_oldFloorCostdata(regi,te) * p_inco0("2020",regi,te) / p_maxRegTechCost2020(te); $endif.floorscen *** calculate floor costs for learning technologies if there is technology transfer $ifthen.floorscen %cm_floorCostScen% == "techtrans" ** compute maximum income GDP PPP per capita among regions in 2050 -p_gdppcap2050_PPP(regi) = pm_gdp("2050",regi) / pm_shPPPMER(regi) / pm_pop("2050",regi); -p_maxPPP2050 = SMax(regi, p_gdppcap2050_PPP(regi)); + p_gdppcap2050_PPP(regi) = pm_gdp("2050",regi) / pm_shPPPMER(regi) / pm_pop("2050",regi); + p_maxPPP2050 = SMax(regi, p_gdppcap2050_PPP(regi)); *take the ratio of the PPP income and the maximum income, and multiply with the global floor to get new floorcost that simulates tech transfer where costs are solely dependent on local wages, not on IP rent -pm_data(regi,"floorcost",teLearn(te))$(p_maxPPP2050 ne 0) = p_oldFloorCostdata(regi,te) * p_gdppcap2050_PPP(regi) / p_maxPPP2050; -p_newFloorCostdata(regi,teLearn(te))$(p_maxPPP2050 ne 0) = p_oldFloorCostdata(regi,te) * p_gdppcap2050_PPP(regi) / p_maxPPP2050; + pm_data(regi,"floorcost",teLearn(te))$(p_maxPPP2050 ne 0) = p_oldFloorCostdata(regi,te) * p_gdppcap2050_PPP(regi) / p_maxPPP2050; + p_newFloorCostdata(regi,teLearn(te))$(p_maxPPP2050 ne 0) = p_oldFloorCostdata(regi,te) * p_gdppcap2050_PPP(regi) / p_maxPPP2050; $endif.floorscen *** In case regionally differentiated investment costs should be used the corresponding entries are revised: $ifthen.REG_techcosts not "%cm_techcosts%" == "GLO" !! cm_techcosts is REG or REG2040 pm_data(regi,"inco0",teRegTechCosts) = p_inco0("2015",regi,teRegTechCosts); - loop(teRegTechCosts$(sameas(teRegTechCosts,"spv") ), - pm_data(regi,"inco0",teRegTechCosts) = p_inco0("2020",regi,teRegTechCosts); - ); - pm_data(regi,"incolearn",teLearn(te)) = pm_data(regi,"inco0",te) - pm_data(regi,"floorcost",te) ; + pm_data(regi,"inco0","spv") = p_inco0("2020",regi,"spv"); + pm_data(regi,"incolearn",teLearn) = pm_data(regi,"inco0",teLearn) - pm_data(regi,"floorcost",teLearn) ; $endif.REG_techcosts *** Calculate learning parameters: @@ -702,9 +700,6 @@ f_cf(ttot,regi,"gridwindon") $ (f_cf(ttot,regi,"gridwindon") eq 0) = f_cf(ttot,r f_cf(ttot,regi,"windoff") = f_cf(ttot,regi,"windon"); f_cf(ttot,regi,"storwindoff") = f_cf(ttot,regi,"storwindon"); f_cf(ttot,regi,"gridwindoff") = f_cf(ttot,regi,"gridwindon"); -f_cf(ttot,regi,"wind") = 0; -f_cf(ttot,regi,"storwind") = 0; -f_cf(ttot,regi,"gridwind") = 0; pm_cf(ttot,regi,te) = f_cf(ttot,regi,te); ***pm_cf(ttot,regi,"h2turbVRE") = 0.15; diff --git a/core/sets.gms b/core/sets.gms index 6d272740d..3818f740c 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -1549,7 +1549,7 @@ teRegTechCosts(all_te) "all technologies for which we differantiate tech costs" hydro spv csp - wind +*** wind windon / diff --git a/modules/32_power/IntC/datainput.gms b/modules/32_power/IntC/datainput.gms index 44ce8e378..ad925cb4d 100644 --- a/modules/32_power/IntC/datainput.gms +++ b/modules/32_power/IntC/datainput.gms @@ -10,7 +10,7 @@ *** IntC specific data input *------------------------------------------------------------------------------------ -parameter f32_shCHP(ttot,all_regi) "upper boundary of chp electricity generation" +parameter f32_shCHP(ttot,all_regi) "upper boundary of chp electricity generation" / $ondelim $include "./modules/32_power/IntC/input/f32_shCHP.cs4r" @@ -21,8 +21,7 @@ p32_shCHP(ttot,all_regi) = f32_shCHP(ttot,all_regi) + 0.05; p32_shCHP(ttot,all_regi)$(ttot.val ge 2050) = min(p32_shCHP("2020",all_regi) + 0.15, 0.75); p32_shCHP(ttot,all_regi)$((ttot.val gt 2020) and (ttot.val lt 2050)) = p32_shCHP("2020",all_regi) + ((p32_shCHP("2050",all_regi) - p32_shCHP("2020",all_regi)) / 30 * (ttot.val - 2020)); -***parameter p32_grid_factor(all_regi) - multiplicative factor that scales total grid requirements down in comparatively small or homogeneous regions like Japan, Europe or India -parameter p32_grid_factor(all_regi) "multiplicative factor that scales total grid requirements down in comparatively small or homogeneous regions like Japan, Europe or India" +parameter p32_grid_factor(all_regi) "multiplicative factor that scales total grid requirements down in comparatively small or homogeneous regions like Japan, Europe or India" / $ondelim $include "./modules/32_power/IntC/input/p32_grid_factor.cs4r" @@ -30,8 +29,7 @@ $offdelim / ; -***parameter p32_factorStorage(all_regi,all_te) - multiplicative factor that scales total curtailment and storage requirements up or down in different regions for different technologies (e.g. down for PV in regions where high solar radiation coincides with high electricity demand) -parameter f32_factorStorage(all_regi,all_te) "multiplicative factor that scales total curtailment and storage requirements up or down in different regions for different technologies (e.g. down for PV in regions where high solar radiation coincides with high electricity demand)" +parameter f32_factorStorage(all_regi,all_te) "multiplicative factor that scales total curtailment and storage requirements up or down in different regions for different technologies (e.g. down for PV in regions where high solar radiation coincides with high electricity demand)" / $ondelim $include "./modules/32_power/IntC/input/f32_factorStorage.cs4r" @@ -49,20 +47,12 @@ p32_factorStorage(all_regi,teVRE) = f32_factorStorage(all_regi,teVRE); $if not "%cm_storageFactor%" == "off" p32_factorStorage(all_regi,all_te)=%cm_storageFactor%*p32_factorStorage(all_regi,all_te); ***parameter p32_storexp(all_regi,all_te) - exponent that determines how curtailment and storage requirements per kW increase with market share of wind and solar. 1 means specific marginal costs increase linearly -p32_storexp(regi,"spv") = 1; -p32_storexp(regi,"csp") = 1; -p32_storexp(regi,"windon") = 1; -p32_storexp(regi,"windoff") = 1; - - +p32_storexp(regi,teVRE) = 1; ***parameter p32_gridexp(all_regi,all_te) - exponent that determines how grid requirement per kW increases with market share of wind and solar. 1 means specific marginal costs increase linearly -p32_gridexp(regi,"spv") = 1; -p32_gridexp(regi,"csp") = 1; -p32_gridexp(regi,"windon") = 1; -p32_gridexp(regi,"windoff") = 1; +p32_gridexp(regi,teVRE) = 1; -table f32_storageCap(char, all_te) "multiplicative factor between dummy seel<-->h2 technologies and storXXX technologies" +table f32_storageCap(char, all_te) "multiplicative factor between dummy seel<-->h2 technologies and storXXX technologies" $include "./modules/32_power/IntC/input/f32_storageCap.prn" ; diff --git a/modules/40_techpol/NDC/datainput.gms b/modules/40_techpol/NDC/datainput.gms index a5d5f1306..e7c3ef97a 100644 --- a/modules/40_techpol/NDC/datainput.gms +++ b/modules/40_techpol/NDC/datainput.gms @@ -14,10 +14,9 @@ $offdelim $onlisting ; -p40_TechBound(ttot,all_regi,all_te) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%",all_te); +p40_TechBound(ttot,all_regi,te) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%",all_te); *** windoffshore-todo -p40_TechBound(ttot,all_regi,"windon") $ (p40_TechBound(ttot,all_regi,"windon") eq 0) = p40_TechBound(ttot,all_regi,"wind"); -p40_TechBound(ttot,all_regi,"wind") = 0; +p40_TechBound(ttot,all_regi,"windon") $ (p40_TechBound(ttot,all_regi,"windon") eq 0) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%","wind"); p40_ElecBioBound("2030",regi) = p40_TechBound("2030",regi,"bioigcc"); diff --git a/modules/40_techpol/NDCplus/datainput.gms b/modules/40_techpol/NDCplus/datainput.gms index f05b3802d..575e6dc8f 100644 --- a/modules/40_techpol/NDCplus/datainput.gms +++ b/modules/40_techpol/NDCplus/datainput.gms @@ -14,10 +14,9 @@ $offdelim $onlisting ; -p40_TechBound(ttot,all_regi,all_te) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%",all_te); +p40_TechBound(ttot,all_regi,te) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%",all_te); *** windoffshore-todo -p40_TechBound(ttot,all_regi,"windon") $ (p40_TechBound(ttot,all_regi,"windon") eq 0) = p40_TechBound(ttot,all_regi,"wind"); -p40_TechBound(ttot,all_regi,"wind") = 0; +p40_TechBound(ttot,all_regi,"windon") $ (p40_TechBound(ttot,all_regi,"windon") eq 0) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%","wind"); p40_ElecBioBound("2030",regi) = p40_TechBound("2030",regi,"bioigcc"); diff --git a/modules/40_techpol/NPi2018/datainput.gms b/modules/40_techpol/NPi2018/datainput.gms index 80be3ae43..b9379333c 100644 --- a/modules/40_techpol/NPi2018/datainput.gms +++ b/modules/40_techpol/NPi2018/datainput.gms @@ -14,10 +14,9 @@ $offdelim $onlisting ; -p40_TechBound(ttot,all_regi,all_te) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%",all_te); +p40_TechBound(ttot,all_regi,te) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%",all_te); *** windoffshore-todo -p40_TechBound(ttot,all_regi,"windon") $ (p40_TechBound(ttot,all_regi,"windon") eq 0) = p40_TechBound(ttot,all_regi,"wind"); -p40_TechBound(ttot,all_regi,"wind") = 0; +p40_TechBound(ttot,all_regi,"windon") $ (p40_TechBound(ttot,all_regi,"windon") eq 0) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%","wind"); p40_ElecBioBound("2030",regi) = p40_TechBound("2030",regi,"bioigcc"); From ebe5d7f658b6adceca521ef879656977c01ca5b0 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 13 Aug 2024 15:26:14 +0000 Subject: [PATCH 305/875] Release development version 3.3.2.dev338 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 1e992160a..9c68a7ad4 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,7 +266,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev333" +version: "3.3.2.dev338" date-released: 2024-08-13 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 63dd51a68..83d4740f2 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev333" +cfg$model_version <- "3.3.2.dev338" #### settings #### cfg$gms <- list() From 34ac82dd289fd2ee494687d82b7bee7c64e0d082 Mon Sep 17 00:00:00 2001 From: lecfab Date: Tue, 13 Aug 2024 18:37:32 +0200 Subject: [PATCH 306/875] windon: tidying before tests --- core/bounds.gms | 12 +++++------- modules/40_techpol/NDC/datainput.gms | 2 +- modules/40_techpol/NDCplus/datainput.gms | 2 +- modules/40_techpol/NPi2018/datainput.gms | 2 +- modules/47_regipol/regiCarbonPrice/sets.gms | 1 - 5 files changed, 8 insertions(+), 11 deletions(-) diff --git a/core/bounds.gms b/core/bounds.gms index 81882b0fc..4fabd1fad 100755 --- a/core/bounds.gms +++ b/core/bounds.gms @@ -261,13 +261,11 @@ vm_emiMac.fx(t,regi,"oc") = 0; *** ------------------------------------------------------------------------- *** fix capacities for wind, spv and csp to real world historical values: -loop(teVRE, - vm_cap.lo("2015",regi,teVRE,"1") = 0.95 * pm_histCap("2015",regi,teVRE)$(pm_histCap("2015",regi,teVRE) gt 1e-10); - vm_cap.up("2015",regi,teVRE,"1") = 1.05 * pm_histCap("2015",regi,teVRE)$(pm_histCap("2015",regi,teVRE) gt 1e-10); - vm_cap.lo("2020",regi,teVRE,"1") = 0.95 * pm_histCap("2020",regi,teVRE)$(pm_histCap("2020",regi,teVRE) gt 1e-10); - vm_cap.up("2020",regi,teVRE,"1") = 1.05 * pm_histCap("2020",regi,teVRE)$(pm_histCap("2020",regi,teVRE) gt 1e-10); - vm_cap.up("2025",regi,teVRE,"1")$(pm_histCap("2025",regi,teVRE) gt 1e-6) = 1.05 * pm_histCap("2025",regi,teVRE)$(pm_histCap("2025",regi,teVRE) gt 1e-10); !! only set a bound if values >1MW are in pm_histCap -); +vm_cap.lo("2015",regi,teVRE,"1") = 0.95 * pm_histCap("2015",regi,teVRE)$(pm_histCap("2015",regi,teVRE) gt 1e-10); +vm_cap.up("2015",regi,teVRE,"1") = 1.05 * pm_histCap("2015",regi,teVRE)$(pm_histCap("2015",regi,teVRE) gt 1e-10); +vm_cap.lo("2020",regi,teVRE,"1") = 0.95 * pm_histCap("2020",regi,teVRE)$(pm_histCap("2020",regi,teVRE) gt 1e-10); +vm_cap.up("2020",regi,teVRE,"1") = 1.05 * pm_histCap("2020",regi,teVRE)$(pm_histCap("2020",regi,teVRE) gt 1e-10); +vm_cap.up("2025",regi,teVRE,"1")$(pm_histCap("2025",regi,teVRE) gt 1e-6) = 1.05 * pm_histCap("2025",regi,teVRE)$(pm_histCap("2025",regi,teVRE) gt 1e-10); !! only set a bound if values >1MW are in pm_histCap *** lower bound on capacities for ngcc and ngt and gaschp for regions defined at the pm_histCap file loop(te$(sameas(te,"ngcc") OR sameas(te,"ngt") OR sameas(te,"gaschp")), diff --git a/modules/40_techpol/NDC/datainput.gms b/modules/40_techpol/NDC/datainput.gms index e7c3ef97a..479c096d9 100644 --- a/modules/40_techpol/NDC/datainput.gms +++ b/modules/40_techpol/NDC/datainput.gms @@ -14,7 +14,7 @@ $offdelim $onlisting ; -p40_TechBound(ttot,all_regi,te) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%",all_te); +p40_TechBound(ttot,all_regi,te) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%",te); *** windoffshore-todo p40_TechBound(ttot,all_regi,"windon") $ (p40_TechBound(ttot,all_regi,"windon") eq 0) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%","wind"); diff --git a/modules/40_techpol/NDCplus/datainput.gms b/modules/40_techpol/NDCplus/datainput.gms index 575e6dc8f..0a3274dec 100644 --- a/modules/40_techpol/NDCplus/datainput.gms +++ b/modules/40_techpol/NDCplus/datainput.gms @@ -14,7 +14,7 @@ $offdelim $onlisting ; -p40_TechBound(ttot,all_regi,te) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%",all_te); +p40_TechBound(ttot,all_regi,te) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%",te); *** windoffshore-todo p40_TechBound(ttot,all_regi,"windon") $ (p40_TechBound(ttot,all_regi,"windon") eq 0) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%","wind"); diff --git a/modules/40_techpol/NPi2018/datainput.gms b/modules/40_techpol/NPi2018/datainput.gms index b9379333c..4339dac3b 100644 --- a/modules/40_techpol/NPi2018/datainput.gms +++ b/modules/40_techpol/NPi2018/datainput.gms @@ -14,7 +14,7 @@ $offdelim $onlisting ; -p40_TechBound(ttot,all_regi,te) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%",all_te); +p40_TechBound(ttot,all_regi,te) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%",te); *** windoffshore-todo p40_TechBound(ttot,all_regi,"windon") $ (p40_TechBound(ttot,all_regi,"windon") eq 0) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%","wind"); diff --git a/modules/47_regipol/regiCarbonPrice/sets.gms b/modules/47_regipol/regiCarbonPrice/sets.gms index 15bf3050e..d4c725822 100644 --- a/modules/47_regipol/regiCarbonPrice/sets.gms +++ b/modules/47_regipol/regiCarbonPrice/sets.gms @@ -72,7 +72,6 @@ qttyTargetGroup "quantity target aggregated categories" heat / -*** windoffshore-todo energyQttyTargetANDGroup2enty(qttyTarget,qttyTargetGroup,all_enty) "set combining possible energy level (PE, SE or FE), energy types and energy carriers" / *** Primary energy type categories From b3b80f187312ece01b22e858c6166d3a75cd7f36 Mon Sep 17 00:00:00 2001 From: lecfab Date: Tue, 13 Aug 2024 18:42:27 +0200 Subject: [PATCH 307/875] restore scenario_config --- config/scenario_config.csv | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/config/scenario_config.csv b/config/scenario_config.csv index e65210754..dc58869c7 100644 --- a/config/scenario_config.csv +++ b/config/scenario_config.csv @@ -11,10 +11,10 @@ SSP2-PkBudg1050;1,AMT,2;;;5;;;rcp26;9;globallyOptimal;1050;diffLin2Lin;40;2100;; SSP2-EU21-NPi-calibrate;calibrate;calibrate;;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;0;NPi;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. SSP2-EU21-Base;1,AMT,compileInTests,2;;;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;;;;0;;;;;;;off;;;;;;;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix1;2005;;;;;SSP2-EU21-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. SSP2-EU21-NDC;1,AMT,2;;;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;globallyOptimal;0;NDC;;;;9;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2025;;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-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. -SSP2-EU21-NPi;1,AMT,2;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-EU21-PkBudg500;1,AMT,2;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;500;diffLin2Lin;200;2045;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2025;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg500: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-EU21-PkBudg650;1,AMT,2;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2025;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg650: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-EU21-PkBudg1050;1,AMT,2;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;9;globallyOptimal;1050;diffLin2Lin;40;2100;;9;;;;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2025;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg1050: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP2-EU21-NPi;1,AMT,2;;;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-EU21-PkBudg500;1,AMT,2;;;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;500;diffLin2Lin;200;2045;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2025;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg500: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-EU21-PkBudg650;1,AMT,2;;;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2025;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg650: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-EU21-PkBudg1050;1,AMT,2;;;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;9;globallyOptimal;1050;diffLin2Lin;40;2100;;9;;;;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2025;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg1050: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. # H12 SSP1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP1-NPi-calibrate;calibrate;calibrate;;14;;;rcp45;;;0;NPi;;;;9;;;2;1.025;1.75;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;SSP1;Mix1;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. SSP1-NDC;1,AMT,compileInTests;;;;;;rcp45;3;globallyOptimal;0;NDC;;;;9;;;2;1.025;1.75;;2;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SSP1;0.5;1;forcing_SSP1;SSP1;Mix2;2025;;SSP2-NPi;SSP1-NPi;SSP1-NPi;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. From 214117b4125e3c47fcce637164e5187fa33263d4 Mon Sep 17 00:00:00 2001 From: lecfab Date: Tue, 13 Aug 2024 19:30:07 +0200 Subject: [PATCH 308/875] including all demand items in the scaling --- core/datainput.gms | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/core/datainput.gms b/core/datainput.gms index 4050b2820..41d9a1613 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -97,9 +97,9 @@ $offdelim ; pm_gdp(tall,all_regi) = f_gdp(tall,all_regi,"%cm_GDPscen%") * pm_shPPPMER(all_regi) / 1000000; !! rescale from million US$ to trillion US$ -*** load level of development +*** load level of development based on GDP PPP per capita: 0 is low income, 1 is high income. *** Values in 2020 SSP2: SSA=0.1745, IND=0.3686, OAS=0.5136, MEA=0.6568, REF=0.836, LAM=0.8763, NEU=0.9962, EUR=1, CAZ=1, CHA=1, JPN=1, USA=1 -table f_developmentState(tall,all_regi,all_GDPpcScen) "level of development based on GDP per capita" +table f_developmentState(tall,all_regi,all_GDPpcScen) "level of development based on GDP PPP per capita" $ondelim $include "./core/input/f_developmentState.cs3r" $offdelim @@ -1607,8 +1607,8 @@ $endif.cm_rcp_scen_build $ifthen.scaleDemand not "%cm_scaleDemand%" == "off" loop((t,t3,all_regi) $ pm_scaleDemand(t,t3,all_regi), loop(t2, -*FL* rescaled demand = normal demand * [ scaling factor + (1-scaling factor) * remaining phase-in, between zero and one ] - pm_fedemand(t2,all_regi,in) = pm_fedemand(t2,all_regi,in) * ( pm_scaleDemand(t,t3,all_regi) + (1-pm_scaleDemand(t,t3,all_regi)) * min(1, max(0, t3.val-t2.val) / (t3.val-t.val)) ); +*FL* rescaled demand = normal demand * [ scaling factor + (1-scaling factor) * remaining phase-in, between zero and one ] + pm_fedemand(t2,all_regi,all_in) = pm_fedemand(t2,all_regi,all_in) * ( pm_scaleDemand(t,t3,all_regi) + (1-pm_scaleDemand(t,t3,all_regi)) * min(1, max(0, t3.val-t2.val) / (t3.val-t.val)) ); ) ); $endif.scaleDemand From ea7281cbe4669ef6ebfd4cc07e5eb2b2641dc552 Mon Sep 17 00:00:00 2001 From: orichters Date: Thu, 15 Aug 2024 10:51:28 +0200 Subject: [PATCH 309/875] limit slurm runtime of output.R scripts to 5 hours --- CHANGELOG.md | 4 +++- output.R | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4499dcd85..bb365ee72 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -39,7 +39,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - included CCS from plastic waste incineration in CCS mass flows so it is subject to injection constraints (but did not add CCS costs, see https://github.com/remindmodel/development_issues/issues/274 -- **MAGICC7** fix climate data for t < cm_startyear on reference run +- **MAGICC7** fix climate data for time before cm_startyear on reference run [[#1744](https://github.com/remindmodel/remind/pull/1744)] - **scripts** fix tax convergence reporting in modelSummary [[#1728](https://github.com/remindmodel/remind/pull/1728)] @@ -47,6 +47,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). [[#1718](https://github.com/remindmodel/remind/pull/1718)] - **scripts** REMIND-MAgPIE start scripts now correctly use all non-gms cfg switches [[#1768](https://github.com/remindmodel/remind/pull/1768)] +- **scripts** limit slurm runtime of output.R scripts to 5 hours + [[1783](https://github.com/remindmodel/remind/pull/1783)] ### removed diff --git a/output.R b/output.R index 626a42177..a2408250c 100755 --- a/output.R +++ b/output.R @@ -235,7 +235,7 @@ if (comp %in% c("comparison", "export")) { # choose the slurm options if (!exists("slurmConfig")) { slurmConfig <- choose_slurmConfig_output(output = output) - if (slurmConfig != "direct") slurmConfig <- combine_slurmConfig("--nodes=1 --tasks-per-node=1", slurmConfig) + if (slurmConfig != "direct") slurmConfig <- combine_slurmConfig("--nodes=1 --tasks-per-node=1 --time=300", slurmConfig) } if (slurmConfig %in% c("priority", "short", "standby")) { slurmConfig <- paste0("--nodes=1 --tasks-per-node=1 --qos=", slurmConfig) From 54153a1f6064dfdcc20f39b84a43ac1f16fe24a5 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Wed, 13 Sep 2023 09:45:14 +0200 Subject: [PATCH 310/875] only start industry carbon capture in Germany by 2030 as no significant projects before in pipeline --- modules/47_regipol/regiCarbonPrice/bounds.gms | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/modules/47_regipol/regiCarbonPrice/bounds.gms b/modules/47_regipol/regiCarbonPrice/bounds.gms index 7b9ccb816..a28d4ad76 100644 --- a/modules/47_regipol/regiCarbonPrice/bounds.gms +++ b/modules/47_regipol/regiCarbonPrice/bounds.gms @@ -49,6 +49,14 @@ vm_capEarlyReti.up('2025',regi,'pc') = 0.65; *' 5 GW * 8760 (hours per year) * 0.5 (capacity factor) / 0.4 (conversion efficiency) * 1e-3 * 0.35 MtCO2/TWh (emissions factor coal) ~ 20 Mt CO2/yr. vm_capTotal.lo("2030",regi,"pecoal","seel")$(sameas(regi,"DEU"))=5/1000; + +*' This limits CO2 underground injection up to 2030 in line with recent developments as of 2023. +vm_co2CCS.up(t,regi,"cco2","ico2",te,rlf)$((t.val le 2030) AND (sameas(regi,"DEU"))) = 1e-3; + +*' only start industry carbon capture in Germany by 2030 as status of projects for 2025 unclear, +*' see IEA CCUS database https://www.iea.org/data-and-statistics/data-tools/ccus-projects-explorer +vm_emiIndCCS.up(t,regi,emiInd37)$(sameAs(regi,"DEU") AND t.val lt 2030)=0; + *' ###### Bounds for Germany-specific Policies (activated by switches) *' If c_noPeFosCCDeu = 1 chosen, fossil CCS for energy system technologies (pe2se) is forbidden. From 53b4362dc95a053ae39b8753771ad59d7806a494 Mon Sep 17 00:00:00 2001 From: orichters Date: Thu, 15 Aug 2024 11:53:21 +0200 Subject: [PATCH 311/875] folder does not yet exist, therefore avoid warning --- scripts/output/single/MAGICC7_AR6.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/output/single/MAGICC7_AR6.R b/scripts/output/single/MAGICC7_AR6.R index 23bd9d8c0..2e275d707 100644 --- a/scripts/output/single/MAGICC7_AR6.R +++ b/scripts/output/single/MAGICC7_AR6.R @@ -104,7 +104,7 @@ if (is.null(cfg$climate_assessment_magicc_bin)) cfg$climate_assessment_magicc_bi if (is.null(cfg$climate_assessment_magicc_prob_file_reporting)) cfg$climate_assessment_magicc_prob_file_reporting <- "/p/projects/rd3mod/climate-assessment-files/parsets/0fd0f62-derived-metrics-id-f023edb-drawnset.json" # All climate-assessment files will be written to this folder -climateAssessmentFolder <- normalizePath(file.path(outputdir, "climate-assessment-data")) +climateAssessmentFolder <- normalizePath(file.path(outputdir, "climate-assessment-data"), mustWork = FALSE) dir.create(climateAssessmentFolder, showWarnings = FALSE) # The base name, that climate-assessment uses to derive it's output names From bba55387b64b4e59c9c621ceb43ca9f0ee6c2141 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Fri, 17 May 2024 14:37:20 +0200 Subject: [PATCH 312/875] add bounds to align CHP capacities in 2020 for Germany with historic values --- modules/47_regipol/regiCarbonPrice/bounds.gms | 78 +++++++++++++++++++ 1 file changed, 78 insertions(+) diff --git a/modules/47_regipol/regiCarbonPrice/bounds.gms b/modules/47_regipol/regiCarbonPrice/bounds.gms index a28d4ad76..351d355b9 100644 --- a/modules/47_regipol/regiCarbonPrice/bounds.gms +++ b/modules/47_regipol/regiCarbonPrice/bounds.gms @@ -50,6 +50,84 @@ vm_capEarlyReti.up('2025',regi,'pc') = 0.65; vm_capTotal.lo("2030",regi,"pecoal","seel")$(sameas(regi,"DEU"))=5/1000; +*' This aligns 2020 chp capcities for Germany with historic data (AGEB) +*' most of district heating is provided by CHP plants. +*' coal share of chp heat output to be between 20-25% of total district heating demand +*' gas share of chp heat output to be between 50-55% of total district heating demand +*' bio share of chp heat output to be between 15-25% of total district heating demand +loop(regi$(sameAs(regi,"DEU")), + loop(t$(t.val eq 2020), + vm_cap.lo(t,regi,"coalchp","1")= 0.2 +*** total FE heat demand from industry and buildings calibration trajectories + * (pm_cesdata(t,regi,"feheb","quantity") + + pm_cesdata(t,regi,"feheb","quantity")) +*** divide by tdhes efficiency get from FE heat to SE heat, i.e. take into account heat transmission losses + / pm_eta_conv(t,regi,"tdhes") +*** divide by pm_prodCouple to get from heat production to production of seel + / pm_prodCouple(regi,"pecoal","seel","coalchp","sehe") +*** divide by capacity factor to get from seel production in TWa to capacity in TW + / pm_cf(t,regi,"coalchp"); + + vm_cap.up(t,regi,"coalchp","1")= 0.25 +*** total FE heat demand from industry and buildings calibration trajectories + * (pm_cesdata(t,regi,"feheb","quantity") + + pm_cesdata(t,regi,"feheb","quantity")) +*** divide by tdhes efficiency get from FE heat to SE heat, i.e. take into account heat transmission losses + / pm_eta_conv(t,regi,"tdhes") +*** divide by pm_prodCouple to get from heat production to production of seel + / pm_prodCouple(regi,"pecoal","seel","coalchp","sehe") +*** divide by capacity factor to get from seel production in TWa to capacity in TW + / pm_cf(t,regi,"coalchp"); + vm_cap.lo(t,regi,"gaschp","1")= 0.5 +*** total FE heat demand from industry and buildings calibration trajectories + * (pm_cesdata(t,regi,"feheb","quantity") + + pm_cesdata(t,regi,"feheb","quantity")) +*** divide by tdhes efficiency get from FE heat to SE heat, i.e. take into account heat transmission losses + / pm_eta_conv(t,regi,"tdhes") +*** divide by pm_prodCouple to get from heat production to production of seel + / pm_prodCouple(regi,"pegas","seel","gaschp","sehe") +*** divide by capacity factor to get from seel production in TWa to capacity in TW + / pm_cf(t,regi,"gaschp"); + + vm_cap.up(t,regi,"gaschp","1")= 0.55 +*** total FE heat demand from industry and buildings calibration trajectories + * (pm_cesdata(t,regi,"feheb","quantity") + + pm_cesdata(t,regi,"feheb","quantity")) +*** divide by tdhes efficiency get from FE heat to SE heat, i.e. take into account heat transmission losses + / pm_eta_conv(t,regi,"tdhes") +*** divide by pm_prodCouple to get from heat production to production of seel + / pm_prodCouple(regi,"pegas","seel","gaschp","sehe") +*** divide by capacity factor to get from seel production in TWa to capacity in TW + / pm_cf(t,regi,"gaschp"); + + vm_cap.lo(t,regi,"biochp","1")= 0.15 +*** total FE heat demand from industry and buildings calibration trajectories + * (pm_cesdata(t,regi,"feheb","quantity") + + pm_cesdata(t,regi,"feheb","quantity")) +*** divide by tdhes efficiency get from FE heat to SE heat, i.e. take into account heat transmission losses + / pm_eta_conv(t,regi,"tdhes") +*** divide by pm_prodCouple to get from heat production to production of seel + / pm_prodCouple(regi,"pebiolc","seel","biochp","sehe") +*** divide by capacity factor to get from seel production in TWa to capacity in TW + / pm_cf(t,regi,"biochp"); + + vm_cap.up(t,regi,"biochp","1")= 0.25 +*** total FE heat demand from industry and buildings calibration trajectories + * (pm_cesdata(t,regi,"feheb","quantity") + + pm_cesdata(t,regi,"feheb","quantity")) +*** divide by tdhes efficiency get from FE heat to SE heat, i.e. take into account heat transmission losses + / pm_eta_conv(t,regi,"tdhes") +*** divide by pm_prodCouple to get from heat production to production of seel + / pm_prodCouple(regi,"pebiolc","seel","biochp","sehe") +*** divide by capacity factor to get from seel production in TWa to capacity in TW + / pm_cf(t,regi,"biochp"); + + + ); +); + + + *' This limits CO2 underground injection up to 2030 in line with recent developments as of 2023. vm_co2CCS.up(t,regi,"cco2","ico2",te,rlf)$((t.val le 2030) AND (sameas(regi,"DEU"))) = 1e-3; From b2274f8bb149dc6bf3f813a78512f88d498fed3d Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Fri, 17 May 2024 15:49:34 +0200 Subject: [PATCH 313/875] add bounds for aligning historic and near-term power sector capacities with historic data and add switch cm_tech_bounds_2025 that adds generous bounds for 2025 of spv and wind given recent developments. The switch is activated by default and can be used for further 2025 bounds of that kind that may want to be deactivated for certain purposes. --- main.gms | 4 ++ modules/47_regipol/regiCarbonPrice/bounds.gms | 39 +++++++++---------- .../regiCarbonPrice/declarations.gms | 15 +++++++ .../47_regipol/regiCarbonPrice/equations.gms | 13 +++++++ modules/47_regipol/regiCarbonPrice/sets.gms | 10 +++++ 5 files changed, 61 insertions(+), 20 deletions(-) diff --git a/main.gms b/main.gms index e3f6eca15..1236258ba 100755 --- a/main.gms +++ b/main.gms @@ -1741,6 +1741,10 @@ $setGlobal c_regi_nucscen all !! def = all $setGlobal c_regi_capturescen all !! def = all *** cm_subsec_model_steel "switch between ces-based and process-based steel implementation in subsectors realisation of industry module" $setglobal cm_subsec_model_steel processes !! def = processes !! regexp = processes|ces +*** activate bounds for 2025 for fast-growing technologies (spv, wind etc.) based on 2023 statistics +*** (off) no bounds for 2025 +*** (on) some generous bounds for 2025 assuming that certain developments are not possible anymore even for fast growing technologies given 2023 data +$setglobal cm_tech_bounds_2025 on !! def = on !! regexp = on|off *** set conopt version. Warning: conopt4 is in beta $setGlobal cm_conoptv conopt3 !! def = conopt3 *' c_empty_model "Short-circuit the model, just use the input as solution" diff --git a/modules/47_regipol/regiCarbonPrice/bounds.gms b/modules/47_regipol/regiCarbonPrice/bounds.gms index 351d355b9..da4e58a25 100644 --- a/modules/47_regipol/regiCarbonPrice/bounds.gms +++ b/modules/47_regipol/regiCarbonPrice/bounds.gms @@ -18,36 +18,35 @@ *' *' ###### Bounds for Historic and Near-term Alignment +*' ####### Power Sector + +$ifThen.tech_bounds_2025 "%cm_tech_bounds_2025%" == "on" *' This limits wind and solar PV capacity additions for 2025 in light of recent slow developments as of 2023. *' Upper bound is double the historic maximum capacity addition in 2011-2020. +*' In addition: Limit solar PV capacity to 120 GW in 2025 (2023-2027 average) given that we are at only 76 GW PV in 2023 loop(regi$(sameAs(regi,"DEU")), vm_deltaCap.up("2025",regi,"wind","1")=2*smax(tall$(tall.val ge 2011 and tall.val le 2020), pm_delta_histCap(tall,regi,"wind")); vm_deltaCap.up("2025",regi,"spv","1")=2*smax(tall$(tall.val ge 2011 and tall.val le 2020), pm_delta_histCap(tall,regi,"spv")); + vm_cap.up("2025",regi,"spv","1")=0.12; ); +$endIf.tech_bounds_2025 + *' These bounds account for historic gas power development. -vm_capTotal.up("2015",regi,"pegas","seel")$(sameas(regi,"DEU"))=30/1000; -vm_capTotal.up("2020",regi,"pegas","seel")$(sameas(regi,"DEU"))=34/1000; +vm_prodSEtotal.up("2020",regi,"pegas","seel")$(sameAs(regi,"DEU"))= 0.36*sm_EJ_2_TWa; +vm_prodSEtotal.up("2025",regi,"pegas","seel")$(sameAs(regi,"DEU"))= 0.4*sm_EJ_2_TWa; *' These bounds account for historic coal power development. vm_cap.up("2020",regi,"pc","1")$((cm_startyear le 2020) and (sameas(regi,"DEU"))) = 38.028/1000; +*' This limits early retirement of coal power in Germany in 2020s to avoid extremly fast phase-out. +vm_capEarlyReti.up('2025',regi,'pc')$(sameAs(regi,"DEU")) = 0.65; -*' These bounds account for historic and near-term gas power development and prevent too sudden coal to gas switch in Germany by 2025. -loop(regi$(sameAs(regi,"DEU")), -vm_deltaCap.up("2015",regi,"ngcc","1") = 0.002; -vm_deltaCap.up("2020",regi,"ngcc","1") = 0.0015; -vm_deltaCap.up("2025",regi,"ngcc","1") = 0.0015; -*' Along the same lines, this limits early retirement of coal power in Germany in 2020s to avoid extremly fast phase-out. -vm_capEarlyReti.up('2025',regi,'pc') = 0.65; -); - - -*' This limits coal-power capacity to at least 5 GW in 2030 to account for emissions -*' from fossil waste (~20 MtCO2/yr as of 2020) in 2030 target as waste currently subsumed under coal-power in REMIND. -*' Waste power plants will not be phase-out by 2030. -*' Rough calculation with REMIND parameters: -*' 5 GW * 8760 (hours per year) * 0.5 (capacity factor) / 0.4 (conversion efficiency) * 1e-3 * 0.35 MtCO2/TWh (emissions factor coal) ~ 20 Mt CO2/yr. -vm_capTotal.lo("2030",regi,"pecoal","seel")$(sameas(regi,"DEU"))=5/1000; +*' DEU coal-power capacity phase-out, upper bounds following the Kohleausstiegsgesetz from 2020. +*' https://www.bmuv.de/faqs/kohleausstiegsgesetz + vm_capTotal.up("2025",regi,"pecoal","seel")$(sameas(regi,"DEU"))=25/1000; + vm_capTotal.up("2030",regi,"pecoal","seel")$(sameas(regi,"DEU"))=17/1000; + vm_capTotal.up("2035",regi,"pecoal","seel")$(sameas(regi,"DEU"))=6/1000; + vm_capTotal.up("2040",regi,"pecoal","seel")$(sameas(regi,"DEU"))=1.1/1000; *' This aligns 2020 chp capcities for Germany with historic data (AGEB) @@ -126,7 +125,7 @@ loop(regi$(sameAs(regi,"DEU")), ); ); - +*' ####### Carbon Management *' This limits CO2 underground injection up to 2030 in line with recent developments as of 2023. vm_co2CCS.up(t,regi,"cco2","ico2",te,rlf)$((t.val le 2030) AND (sameas(regi,"DEU"))) = 1e-3; @@ -145,7 +144,7 @@ vm_emiTeDetail.up(t,regi,peFos,entySe,teFosCCS,"cco2")$((sameas(regi,"DEU")) AND vm_emiCdrAll.up(t,regi)$((cm_deuCDRmax ge 0) AND (sameas(regi,"DEU"))) = cm_deuCDRmax / 1000 / sm_c_2_co2; -*' ###### Bounds for German Energy Security Scenario (activated by switches) +*' Bounds for German Energy Security Scenario (activated by switches) *' Background: The energy security scenario used for the Ariadne Report on energy sovereignity in 2022 assumes that there is a continued gas crisis after 2022/23 in Germany *' with higher gas prices (see cm_EnSecScen_price) or limits to gas consumption (see cm_EnSecScen_limit switch) in the medium-term. diff --git a/modules/47_regipol/regiCarbonPrice/declarations.gms b/modules/47_regipol/regiCarbonPrice/declarations.gms index 2a423b5f2..28fa9b939 100644 --- a/modules/47_regipol/regiCarbonPrice/declarations.gms +++ b/modules/47_regipol/regiCarbonPrice/declarations.gms @@ -246,4 +246,19 @@ Parameter $endIf.regiExoPrice +***--------------------------------------------------------------------------- +*** Total SE per PE calculation used for setting bounds +***--------------------------------------------------------------------------- + +Variable +vm_prodSEtotal(ttot,all_regi,all_enty,all_enty) "total SE production per PE and SE over all technologies" +; + +Equation +q47_prodSEtotal(ttot,all_regi,all_enty,all_enty) "calculate total SE production per PE and SE over all technologies" +; + + + + *** EOF ./modules/47_regipol/regiCarbonPrice/declarations.gms diff --git a/modules/47_regipol/regiCarbonPrice/equations.gms b/modules/47_regipol/regiCarbonPrice/equations.gms index 242f27d10..81e43888c 100644 --- a/modules/47_regipol/regiCarbonPrice/equations.gms +++ b/modules/47_regipol/regiCarbonPrice/equations.gms @@ -125,5 +125,18 @@ q47_CCSmaxBound(t,regi)$p47_CCSmaxBound(regi).. $endIf.cm_CCSmaxBound +***--------------------------------------------------------------------------- +*' total SE generation per PE carrier (useful for setting historical bounds) +***--------------------------------------------------------------------------- + +q47_prodSEtotal(t,regi,entyPe,entySe)$(enty_pe2se(entyPe,entySe)).. + vm_prodSEtotal(t,regi,entyPe,entySe) + =e= + sum(pe2se(entyPe,entySe,te), + vm_prodSe(t,regi,entyPe,entySe,te)); + + + + *' @stop *** EOF ./modules/47_regipol/regiCarbonPrice/equations.gms diff --git a/modules/47_regipol/regiCarbonPrice/sets.gms b/modules/47_regipol/regiCarbonPrice/sets.gms index d4c725822..6c2cf69e7 100644 --- a/modules/47_regipol/regiCarbonPrice/sets.gms +++ b/modules/47_regipol/regiCarbonPrice/sets.gms @@ -170,6 +170,16 @@ $ifthen.cm_implicitQttyTarget not "%cm_implicitQttyTarget%" == "off" ); $endIf.cm_implicitQttyTarget +Sets +enty_pe2se(all_enty,all_enty) "all combinations of PE and SE carriers for which technologies exist in pe2se mapping, start only with electricity and chp technologies for now where there exist several technologies for same combination" +/ + pegas.seel + pecoal.seel + peoil.seel + pebiolc.seel +/ +; + *** EOF ./modules/47_regipol/regiCarbonPrice/sets.gms From 9cf78db8e868d5f008494004562dbfb7b95a34bf Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Fri, 17 May 2024 15:51:19 +0200 Subject: [PATCH 314/875] add ariadne scenario config --- config/scenario_config_21_EU11_ARIADNE.csv | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100755 config/scenario_config_21_EU11_ARIADNE.csv diff --git a/config/scenario_config_21_EU11_ARIADNE.csv b/config/scenario_config_21_EU11_ARIADNE.csv new file mode 100755 index 000000000..e61083a76 --- /dev/null +++ b/config/scenario_config_21_EU11_ARIADNE.csv @@ -0,0 +1,12 @@ +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;cm_VREminCap;c_ccsinjecratescen;cm_ccsinjeCost;cm_bioprod_regi_lim;cm_import_tax;cm_1stgen_phaseout;c_agricult_base_shift;cm_altFeEmiFac;cm_PriceDurSlope_elh2;cm_elh2_CF;cm_elh2_tax_rampup;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_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;c_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 +# _____Reference Runs_____;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Calib_EU_NPi;0;;Calibration Run with National Policies Implemented (NPI);calibrate;;;;;;;;;se_trade;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;NPi;1;;;NPi2018;regiCarbonPrice;;;;on;on;Mix1;9;3;;;;2005;; +NPi;0;Calib_EU_NPi;National Policies implemented;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +# ____ Standard Scenarios______;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +CurrentPolicies;0;NPi;Current Policies Scenario for Germany including latest credible developments from Fit for 55 and Ampel government;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.045, 2035.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;;;;;2;high;DEU 1.1, EU27_regi 7.5;EU27_regi.pebiolc.worldPricemarkup 3.0;1;DEU -0.1;;;;;;;fehob 1.75, enhb 0.5;;;ariadne_bal;;;;;;;;;;;;;;;;;;EU27_regi.(2025 50,2030 100,2035 150,2040 200,2045 250,2050 300,2055 300,2060 300,2070 300,2080 300,2090 300,2100 300,2110 300,2130 300,2150 300);;;;;Mix3;;;;;;2025;;NPi +KN2045_Bal;0;;Standard Ariadne scenario with -55% GHG in 2030 and GHG neutrality goal in 2050 for EU (incl. EU LULUCF sink), -65% GHG in 2030 and GHG neutrality goal in 2045 for Germany;;;;;;;;;globallyOptimal;se_trade;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.366, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;2;high;DEU 1.1, EU27_regi 7.5;EU27_regi.pebiolc.worldPricemarkup 3.0;1;DEU -0.1;EUR_regi, NEU_regi;;;DEU.a 0.3, DEU.b 20;;;fehob 1.75, enhb 0.5;manual;feelhth_otherInd 1.3, fega_steel 0.4;ariadne_bal;2050.GLO 0.9;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;650;diffCurvPhaseIn2Lin;100;2080;3;;regiCarbonPrice;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;0.003;on;on;Mix4;9;;;;;2025;;NPi +KN2045_Elec;0;KN2045_Bal;Scenario with high electrification, low H2 and synfuel imports;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.183, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5;;feh2_otherInd 0.7, feelhth_otherInd 0.9, feh2_cement 2.2, feh2_chemicals 1.05, fega_steel 0.4;;;;2040.build.feels 0.7, 2040.build.fegas 1.3, 2040.indst.feels 0.7, 2040.indst.fegas 1.3, 2040.indst.fehos 1.3, 2040.trans.feelt 0.7, 2040.trans.fepet 1.3, 2040.trans.fedie 1.3;tdh2s 2, tdh2t 2;;;;;;;;;;;;;;;;;;;;;;;;;;; +KN2045_H2;0;KN2045_Bal;Scenario with high H2 and synfuel use, high H2 and synfuel imports;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.732, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;20;0.5;DEU.a 0.2, DEU.b 50;0.1;;feelhpb 2.3, feelrhb 0.87, fehob 1.75, enhb 0.5;;feh2_otherInd 0.01, feelhth_otherInd 1.6, feh2_cement 0.43, feelhth_chemicals 1.6, feh2_chemicals 0.43, feh2_steel 0.1, feli_steel 0.87, fega_steel 0.4;;;;2040.build.feels 1.3, 2040.build.fegas 1.3, 2040.indst.feels 1.3, 2040.indst.fegas 1.3, 2040.indst.fehos 1.3, 2040.trans.feelt 1.3, 2040.trans.fepet 1.3, 2040.trans.fedie 1.3, 2040.trans.feh2t 0.7;tdh2s 0.5, tdh2t 0.5;;;;;;;;;;;;;;;;;;;HydrHype4;;;;;;;; +# ____ Energy Security Scenarios___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +KN2045_EnSov;0;KN2045_Bal;Energy security scenario with limits/taxes on PE gas consumption in Germany and reduced steel demand;;;;;;;;;;;;on;2;ensec;;;;;;;;EUR_regi, NEU_regi;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5;;feelhth_otherInd 1.1, fega_steel 0.4;ariadne_ensec;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +# Tests;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; From e867ffeb16e7a6146dbb7cf6a4e62602b7fcbc59 Mon Sep 17 00:00:00 2001 From: orichters Date: Thu, 15 Aug 2024 11:54:37 +0200 Subject: [PATCH 315/875] adjust output.R runtime to 2 hours --- CHANGELOG.md | 2 +- output.R | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bb365ee72..23fcabf16 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -47,7 +47,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). [[#1718](https://github.com/remindmodel/remind/pull/1718)] - **scripts** REMIND-MAgPIE start scripts now correctly use all non-gms cfg switches [[#1768](https://github.com/remindmodel/remind/pull/1768)] -- **scripts** limit slurm runtime of output.R scripts to 5 hours +- **scripts** limit slurm runtime of output.R scripts to 2 hours [[1783](https://github.com/remindmodel/remind/pull/1783)] ### removed diff --git a/output.R b/output.R index a2408250c..512bfef54 100755 --- a/output.R +++ b/output.R @@ -235,7 +235,7 @@ if (comp %in% c("comparison", "export")) { # choose the slurm options if (!exists("slurmConfig")) { slurmConfig <- choose_slurmConfig_output(output = output) - if (slurmConfig != "direct") slurmConfig <- combine_slurmConfig("--nodes=1 --tasks-per-node=1 --time=300", slurmConfig) + if (slurmConfig != "direct") slurmConfig <- combine_slurmConfig("--nodes=1 --tasks-per-node=1 --time=120", slurmConfig) } if (slurmConfig %in% c("priority", "short", "standby")) { slurmConfig <- paste0("--nodes=1 --tasks-per-node=1 --qos=", slurmConfig) From b8e80c5505dc60c418e2a7dfc77e169d307d01d0 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Thu, 20 Jun 2024 15:04:29 +0200 Subject: [PATCH 316/875] some renamings for codeCheck --- modules/47_regipol/none/not_used.txt | 5 +++++ modules/47_regipol/regiCarbonPrice/bounds.gms | 4 ++-- modules/47_regipol/regiCarbonPrice/declarations.gms | 2 +- modules/47_regipol/regiCarbonPrice/equations.gms | 2 +- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/modules/47_regipol/none/not_used.txt b/modules/47_regipol/none/not_used.txt index 0264ff75a..b352534d9 100644 --- a/modules/47_regipol/none/not_used.txt +++ b/modules/47_regipol/none/not_used.txt @@ -75,3 +75,8 @@ vm_emiTeMkt,input,added by codeCheck pm_emiMktTarget_tolerance,switch,not needed sm_globalBudget_dev,input,questionnaire pm_allTargetsConverged,input,questionnaire +sm_EJ_2_TWa,input,not needed +vm_prodSe,input,not needed +pm_cesdata,input,not needed +pm_prodCouple,input,not needed +vm_emiIndCCS,input,not needed diff --git a/modules/47_regipol/regiCarbonPrice/bounds.gms b/modules/47_regipol/regiCarbonPrice/bounds.gms index da4e58a25..d34a4a2cc 100644 --- a/modules/47_regipol/regiCarbonPrice/bounds.gms +++ b/modules/47_regipol/regiCarbonPrice/bounds.gms @@ -33,8 +33,8 @@ $endIf.tech_bounds_2025 *' These bounds account for historic gas power development. -vm_prodSEtotal.up("2020",regi,"pegas","seel")$(sameAs(regi,"DEU"))= 0.36*sm_EJ_2_TWa; -vm_prodSEtotal.up("2025",regi,"pegas","seel")$(sameAs(regi,"DEU"))= 0.4*sm_EJ_2_TWa; +v47_prodSEtotal.up("2020",regi,"pegas","seel")$(sameAs(regi,"DEU"))= 0.36*sm_EJ_2_TWa; +v47_prodSEtotal.up("2025",regi,"pegas","seel")$(sameAs(regi,"DEU"))= 0.4*sm_EJ_2_TWa; *' These bounds account for historic coal power development. vm_cap.up("2020",regi,"pc","1")$((cm_startyear le 2020) and (sameas(regi,"DEU"))) = 38.028/1000; diff --git a/modules/47_regipol/regiCarbonPrice/declarations.gms b/modules/47_regipol/regiCarbonPrice/declarations.gms index 28fa9b939..133e131d8 100644 --- a/modules/47_regipol/regiCarbonPrice/declarations.gms +++ b/modules/47_regipol/regiCarbonPrice/declarations.gms @@ -251,7 +251,7 @@ $endIf.regiExoPrice ***--------------------------------------------------------------------------- Variable -vm_prodSEtotal(ttot,all_regi,all_enty,all_enty) "total SE production per PE and SE over all technologies" +v47_prodSEtotal(ttot,all_regi,all_enty,all_enty) "total SE production per PE and SE over all technologies" ; Equation diff --git a/modules/47_regipol/regiCarbonPrice/equations.gms b/modules/47_regipol/regiCarbonPrice/equations.gms index 81e43888c..f6032c039 100644 --- a/modules/47_regipol/regiCarbonPrice/equations.gms +++ b/modules/47_regipol/regiCarbonPrice/equations.gms @@ -130,7 +130,7 @@ $endIf.cm_CCSmaxBound ***--------------------------------------------------------------------------- q47_prodSEtotal(t,regi,entyPe,entySe)$(enty_pe2se(entyPe,entySe)).. - vm_prodSEtotal(t,regi,entyPe,entySe) + v47_prodSEtotal(t,regi,entyPe,entySe) =e= sum(pe2se(entyPe,entySe,te), vm_prodSe(t,regi,entyPe,entySe,te)); From 6824bb6adb635cace20fa702eec89a3034a8edf6 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Thu, 20 Jun 2024 15:12:13 +0200 Subject: [PATCH 317/875] update ariadne scenario config --- config/scenario_config_21_EU11_ARIADNE.csv | 28 ++++++++++++---------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/config/scenario_config_21_EU11_ARIADNE.csv b/config/scenario_config_21_EU11_ARIADNE.csv index e61083a76..2eb8da351 100755 --- a/config/scenario_config_21_EU11_ARIADNE.csv +++ b/config/scenario_config_21_EU11_ARIADNE.csv @@ -1,12 +1,16 @@ -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;cm_VREminCap;c_ccsinjecratescen;cm_ccsinjeCost;cm_bioprod_regi_lim;cm_import_tax;cm_1stgen_phaseout;c_agricult_base_shift;cm_altFeEmiFac;cm_PriceDurSlope_elh2;cm_elh2_CF;cm_elh2_tax_rampup;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_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;c_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 -# _____Reference Runs_____;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Calib_EU_NPi;0;;Calibration Run with National Policies Implemented (NPI);calibrate;;;;;;;;;se_trade;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;NPi;1;;;NPi2018;regiCarbonPrice;;;;on;on;Mix1;9;3;;;;2005;; -NPi;0;Calib_EU_NPi;National Policies implemented;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -# ____ Standard Scenarios______;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -CurrentPolicies;0;NPi;Current Policies Scenario for Germany including latest credible developments from Fit for 55 and Ampel government;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.045, 2035.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;;;;;2;high;DEU 1.1, EU27_regi 7.5;EU27_regi.pebiolc.worldPricemarkup 3.0;1;DEU -0.1;;;;;;;fehob 1.75, enhb 0.5;;;ariadne_bal;;;;;;;;;;;;;;;;;;EU27_regi.(2025 50,2030 100,2035 150,2040 200,2045 250,2050 300,2055 300,2060 300,2070 300,2080 300,2090 300,2100 300,2110 300,2130 300,2150 300);;;;;Mix3;;;;;;2025;;NPi -KN2045_Bal;0;;Standard Ariadne scenario with -55% GHG in 2030 and GHG neutrality goal in 2050 for EU (incl. EU LULUCF sink), -65% GHG in 2030 and GHG neutrality goal in 2045 for Germany;;;;;;;;;globallyOptimal;se_trade;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.366, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;2;high;DEU 1.1, EU27_regi 7.5;EU27_regi.pebiolc.worldPricemarkup 3.0;1;DEU -0.1;EUR_regi, NEU_regi;;;DEU.a 0.3, DEU.b 20;;;fehob 1.75, enhb 0.5;manual;feelhth_otherInd 1.3, fega_steel 0.4;ariadne_bal;2050.GLO 0.9;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;650;diffCurvPhaseIn2Lin;100;2080;3;;regiCarbonPrice;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;0.003;on;on;Mix4;9;;;;;2025;;NPi -KN2045_Elec;0;KN2045_Bal;Scenario with high electrification, low H2 and synfuel imports;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.183, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5;;feh2_otherInd 0.7, feelhth_otherInd 0.9, feh2_cement 2.2, feh2_chemicals 1.05, fega_steel 0.4;;;;2040.build.feels 0.7, 2040.build.fegas 1.3, 2040.indst.feels 0.7, 2040.indst.fegas 1.3, 2040.indst.fehos 1.3, 2040.trans.feelt 0.7, 2040.trans.fepet 1.3, 2040.trans.fedie 1.3;tdh2s 2, tdh2t 2;;;;;;;;;;;;;;;;;;;;;;;;;;; -KN2045_H2;0;KN2045_Bal;Scenario with high H2 and synfuel use, high H2 and synfuel imports;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.732, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;20;0.5;DEU.a 0.2, DEU.b 50;0.1;;feelhpb 2.3, feelrhb 0.87, fehob 1.75, enhb 0.5;;feh2_otherInd 0.01, feelhth_otherInd 1.6, feh2_cement 0.43, feelhth_chemicals 1.6, feh2_chemicals 0.43, feh2_steel 0.1, feli_steel 0.87, fega_steel 0.4;;;;2040.build.feels 1.3, 2040.build.fegas 1.3, 2040.indst.feels 1.3, 2040.indst.fegas 1.3, 2040.indst.fehos 1.3, 2040.trans.feelt 1.3, 2040.trans.fepet 1.3, 2040.trans.fedie 1.3, 2040.trans.feh2t 0.7;tdh2s 0.5, tdh2t 0.5;;;;;;;;;;;;;;;;;;;HydrHype4;;;;;;;; -# ____ Energy Security Scenarios___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -KN2045_EnSov;0;KN2045_Bal;Energy security scenario with limits/taxes on PE gas consumption in Germany and reduced steel demand;;;;;;;;;;;;on;2;ensec;;;;;;;;EUR_regi, NEU_regi;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5;;feelhth_otherInd 1.1, fega_steel 0.4;ariadne_ensec;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -# Tests;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +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;cm_VREminCap;c_ccsinjecratescen;cm_ccsinjeCost;cm_bioprod_regi_lim;cm_import_tax;cm_1stgen_phaseout;c_agricult_base_shift;cm_altFeEmiFac;cm_PriceDurSlope_elh2;cm_elh2_CF;cm_elh2_tax_rampup;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_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;c_peakBudgYr;c_taxCO2inc_after_peakBudgYr;techpol;regipol;cm_regiExoPrice;cm_regiExoPrice_fromFile;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 +# _____Reference Runs_____;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Calib_EU_NPi;0;;Calibration Run with National Policies Implemented (NPI);calibrate;;;;;;;;;se_trade;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;NPi;1;;;NPi2018;regiCarbonPrice;;;;;on;on;Mix1;9;3;;;;2005;; +NPi;0;Calib_EU_NPi;National Policies implemented;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Calib_EU_Npi_lowDem;0;Calib_EU_NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;NAV_all;;;;;gdp_SSP2EU_NAV_all;;; +Npi_lowDem;0;Calib_EU_Npi_lowDem;;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +# ____ Standard Scenarios______;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +CurrentPolicies;0;NPi;Current Policies Scenario for Germany including latest credible developments from Fit for 55 and Ampel government;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.045, 2035.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;;;;;2;high;DEU 1.1, EU27_regi 7.5;EU27_regi.pebiolc.worldPricemarkup 3.0;1;DEU -0.1;;;;;;;fehob 1.75, enhb 0.5;;;ariadne_bal;;;;;;;;;;;;;;;;;;;EU27_regi.(2025 50,2030 100,2035 150,2040 200,2045 250,2050 300,2055 300,2060 300,2070 300,2080 300,2090 300,2100 300,2110 300,2130 300,2150 300);;;;;;Mix3;;;;;;2025;;NPi +KN2045_Bal_v4;0;;Standard Ariadne scenario with -55% GHG in 2030 and GHG neutrality goal in 2050 for EU (incl. EU LULUCF sink), -65% GHG in 2030 and GHG neutrality goal in 2045 for Germany;;;;;;;;;globallyOptimal;se_trade;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.366, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;2;high;DEU 1.1, EU27_regi 7.5;EU27_regi.pebiolc.worldPricemarkup 3.0;1;DEU -0.1;EUR_regi, NEU_regi;;;DEU.a 0.3, DEU.b 20;;;fehob 1.75, enhb 0.5;manual;feelhth_otherInd 1.3, fega_steel 0.4;ariadne_bal;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;650;diffCurvPhaseIn2Lin;100;2080;3;;regiCarbonPrice;;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;0.003;on;on;Mix4;9;;;;;2025;;NPi +KN2045_Elec_v4;0;KN2045_Bal_v4;Scenario with high electrification, low H2 and synfuel imports;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.183, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5;;feh2_otherInd 0.7, feelhth_otherInd 0.9, feh2_cement 2.2, feh2_chemicals 1.05, fega_steel 0.4;;;;;2040.build.feels 0.7, 2040.build.fegas 1.3, 2040.indst.feels 0.7, 2040.indst.fegas 1.3, 2040.indst.fehos 1.3, 2040.trans.feelt 0.7, 2040.trans.fepet 1.3, 2040.trans.fedie 1.3;tdh2s 2, tdh2t 2;;;;;;;;;;;;;;;;;;;;;;;;;;;; +KN2045_H2_v4;0;KN2045_Bal_v4;Scenario with high H2 and synfuel use, high H2 and synfuel imports;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.732, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;20;0.5;DEU.a 0.2, DEU.b 50;0.1;;feelhpb 2.3, feelrhb 0.87, fehob 1.75, enhb 0.5;;feh2_otherInd 0.01, feelhth_otherInd 1.6, feh2_cement 0.43, feelhth_chemicals 1.6, feh2_chemicals 0.43, feh2_steel 0.1, feli_steel 0.87, fega_steel 0.4;;;;;2040.build.feels 1.3, 2040.build.fegas 1.3, 2040.indst.feels 1.3, 2040.indst.fegas 1.3, 2040.indst.fehos 1.3, 2040.trans.feelt 1.3, 2040.trans.fepet 1.3, 2040.trans.fedie 1.3, 2040.trans.feh2t 0.7;tdh2s 0.5, tdh2t 0.5;;;;;;;;;;;;;;;;;;;;HydrHype4;;;;;;;; +# ____ Energy Security Scenarios___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +KN2045_EnSov;0;KN2045_Bal_v4;Energy security scenario with limits/taxes on PE gas consumption in Germany and reduced steel demand;;;;;;;;;;;;on;2;ensec;;;;;;;;EUR_regi, NEU_regi;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5;;feelhth_otherInd 1.1, fega_steel 0.4;ariadne_ensec;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +# ____ low-demand/high-demand scenarios ____;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +KN2045plus_EasyRide;0;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5. feheb 0.01;;feelhth_otherInd 0.9, fega_steel 0.4;ariadne_ensec;;;;;;;;;;;;;;;;;;;;/p/projects/ariadne/remind/output/Bal_2024-04-04_20.37.19/fulldata.gdx;off;;;;NAV_all;;;;;gdp_SSP2EU_NAV_all;;;Npi_lowDem +# Tests;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; From 99929226a485b7b8052f2f8a87eb9b2fbe4bc178 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Fri, 21 Jun 2024 15:19:10 +0200 Subject: [PATCH 318/875] delete some outdated columns ined columns in ariadne scenario config --- config/scenario_config_21_EU11_ARIADNE.csv | 32 +++++++++++----------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/config/scenario_config_21_EU11_ARIADNE.csv b/config/scenario_config_21_EU11_ARIADNE.csv index 2eb8da351..5602eaefa 100755 --- a/config/scenario_config_21_EU11_ARIADNE.csv +++ b/config/scenario_config_21_EU11_ARIADNE.csv @@ -1,16 +1,16 @@ -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;cm_VREminCap;c_ccsinjecratescen;cm_ccsinjeCost;cm_bioprod_regi_lim;cm_import_tax;cm_1stgen_phaseout;c_agricult_base_shift;cm_altFeEmiFac;cm_PriceDurSlope_elh2;cm_elh2_CF;cm_elh2_tax_rampup;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_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;c_peakBudgYr;c_taxCO2inc_after_peakBudgYr;techpol;regipol;cm_regiExoPrice;cm_regiExoPrice_fromFile;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 -# _____Reference Runs_____;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Calib_EU_NPi;0;;Calibration Run with National Policies Implemented (NPI);calibrate;;;;;;;;;se_trade;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;NPi;1;;;NPi2018;regiCarbonPrice;;;;;on;on;Mix1;9;3;;;;2005;; -NPi;0;Calib_EU_NPi;National Policies implemented;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Calib_EU_Npi_lowDem;0;Calib_EU_NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;NAV_all;;;;;gdp_SSP2EU_NAV_all;;; -Npi_lowDem;0;Calib_EU_Npi_lowDem;;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -# ____ Standard Scenarios______;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -CurrentPolicies;0;NPi;Current Policies Scenario for Germany including latest credible developments from Fit for 55 and Ampel government;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.045, 2035.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;;;;;2;high;DEU 1.1, EU27_regi 7.5;EU27_regi.pebiolc.worldPricemarkup 3.0;1;DEU -0.1;;;;;;;fehob 1.75, enhb 0.5;;;ariadne_bal;;;;;;;;;;;;;;;;;;;EU27_regi.(2025 50,2030 100,2035 150,2040 200,2045 250,2050 300,2055 300,2060 300,2070 300,2080 300,2090 300,2100 300,2110 300,2130 300,2150 300);;;;;;Mix3;;;;;;2025;;NPi -KN2045_Bal_v4;0;;Standard Ariadne scenario with -55% GHG in 2030 and GHG neutrality goal in 2050 for EU (incl. EU LULUCF sink), -65% GHG in 2030 and GHG neutrality goal in 2045 for Germany;;;;;;;;;globallyOptimal;se_trade;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.366, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;2;high;DEU 1.1, EU27_regi 7.5;EU27_regi.pebiolc.worldPricemarkup 3.0;1;DEU -0.1;EUR_regi, NEU_regi;;;DEU.a 0.3, DEU.b 20;;;fehob 1.75, enhb 0.5;manual;feelhth_otherInd 1.3, fega_steel 0.4;ariadne_bal;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;650;diffCurvPhaseIn2Lin;100;2080;3;;regiCarbonPrice;;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;0.003;on;on;Mix4;9;;;;;2025;;NPi -KN2045_Elec_v4;0;KN2045_Bal_v4;Scenario with high electrification, low H2 and synfuel imports;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.183, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5;;feh2_otherInd 0.7, feelhth_otherInd 0.9, feh2_cement 2.2, feh2_chemicals 1.05, fega_steel 0.4;;;;;2040.build.feels 0.7, 2040.build.fegas 1.3, 2040.indst.feels 0.7, 2040.indst.fegas 1.3, 2040.indst.fehos 1.3, 2040.trans.feelt 0.7, 2040.trans.fepet 1.3, 2040.trans.fedie 1.3;tdh2s 2, tdh2t 2;;;;;;;;;;;;;;;;;;;;;;;;;;;; -KN2045_H2_v4;0;KN2045_Bal_v4;Scenario with high H2 and synfuel use, high H2 and synfuel imports;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.732, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;20;0.5;DEU.a 0.2, DEU.b 50;0.1;;feelhpb 2.3, feelrhb 0.87, fehob 1.75, enhb 0.5;;feh2_otherInd 0.01, feelhth_otherInd 1.6, feh2_cement 0.43, feelhth_chemicals 1.6, feh2_chemicals 0.43, feh2_steel 0.1, feli_steel 0.87, fega_steel 0.4;;;;;2040.build.feels 1.3, 2040.build.fegas 1.3, 2040.indst.feels 1.3, 2040.indst.fegas 1.3, 2040.indst.fehos 1.3, 2040.trans.feelt 1.3, 2040.trans.fepet 1.3, 2040.trans.fedie 1.3, 2040.trans.feh2t 0.7;tdh2s 0.5, tdh2t 0.5;;;;;;;;;;;;;;;;;;;;HydrHype4;;;;;;;; -# ____ Energy Security Scenarios___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -KN2045_EnSov;0;KN2045_Bal_v4;Energy security scenario with limits/taxes on PE gas consumption in Germany and reduced steel demand;;;;;;;;;;;;on;2;ensec;;;;;;;;EUR_regi, NEU_regi;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5;;feelhth_otherInd 1.1, fega_steel 0.4;ariadne_ensec;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -# ____ low-demand/high-demand scenarios ____;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -KN2045plus_EasyRide;0;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5. feheb 0.01;;feelhth_otherInd 0.9, fega_steel 0.4;ariadne_ensec;;;;;;;;;;;;;;;;;;;;/p/projects/ariadne/remind/output/Bal_2024-04-04_20.37.19/fulldata.gdx;off;;;;NAV_all;;;;;gdp_SSP2EU_NAV_all;;;Npi_lowDem -# Tests;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +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;cm_ccsinjeCost;cm_bioprod_regi_lim;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_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;c_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 +# _____Reference Runs_____;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Calib_EU_NPi;0;;Calibration Run with National Policies Implemented (NPI);calibrate;;;;;;;;;se_trade;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;NPi;1;;;NPi2018;regiCarbonPrice;;;;on;on;Mix1;9;3;;;;2005;; +NPi;0;Calib_EU_NPi;National Policies implemented;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Calib_EU_Npi_lowDem;0;Calib_EU_NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;NAV_all;;;;;gdp_SSP2EU_NAV_all;;; +Npi_lowDem;0;Calib_EU_Npi_lowDem;;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +# ____ Standard Scenarios______;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +CurrentPolicies;0;NPi;Current Policies Scenario for Germany including latest credible developments from Fit for 55 and Ampel government;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.045, 2035.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;;;;2;high;DEU 1.1, EU27_regi 7.5;EU27_regi.pebiolc.worldPricemarkup 3.0;1;DEU -0.1;;;;;;fehob 1.75, enhb 0.5;;;ariadne_bal;;;;;;;;;;;;;;;;;;;EU27_regi.(2025 50,2030 100,2035 150,2040 200,2045 250,2050 300,2055 300,2060 300,2070 300,2080 300,2090 300,2100 300,2110 300,2130 300,2150 300);;;;;Mix3;;;;;;2025;;NPi +KN2045_Bal_v4;0;;Standard Ariadne scenario with -55% GHG in 2030 and GHG neutrality goal in 2050 for EU (incl. EU LULUCF sink), -65% GHG in 2030 and GHG neutrality goal in 2045 for Germany;;;;;;;;;globallyOptimal;se_trade;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.366, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;2;high;DEU 1.1, EU27_regi 7.5;EU27_regi.pebiolc.worldPricemarkup 3.0;1;DEU -0.1;EUR_regi, NEU_regi;;DEU.elh2.a 0.3, DEU.elh2.b 20;;;fehob 1.75, enhb 0.5;manual;feelhth_otherInd 1.3, fega_steel 0.4;ariadne_bal;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;650;diffCurvPhaseIn2Lin;100;2080;3;;regiCarbonPrice;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;0.003;on;on;Mix4;9;;;;;2025;;NPi +KN2045_Elec_v4;0;KN2045_Bal_v4;Scenario with high electrification, low H2 and synfuel imports;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.183, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5;;feh2_otherInd 0.7, feelhth_otherInd 0.9, feh2_cement 2.2, feh2_chemicals 1.05, fega_steel 0.4;;;;;2040.build.feels 0.7, 2040.build.fegas 1.3, 2040.indst.feels 0.7, 2040.indst.fegas 1.3, 2040.indst.fehos 1.3, 2040.trans.feelt 0.7, 2040.trans.fepet 1.3, 2040.trans.fedie 1.3;tdh2s 2, tdh2t 2;;;;;;;;;;;;;;;;;;;;;;;;;;; +KN2045_H2_v4;0;KN2045_Bal_v4;Scenario with high H2 and synfuel use, high H2 and synfuel imports;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.732, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;20;DEU.elh2.a 0.2, DEU.elh2.b 50;0.1;;feelhpb 2.3, feelrhb 0.87, fehob 1.75, enhb 0.5;;feh2_otherInd 0.01, feelhth_otherInd 1.6, feh2_cement 0.43, feelhth_chemicals 1.6, feh2_chemicals 0.43, feh2_steel 0.1, feli_steel 0.87, fega_steel 0.4;;;;;2040.build.feels 1.3, 2040.build.fegas 1.3, 2040.indst.feels 1.3, 2040.indst.fegas 1.3, 2040.indst.fehos 1.3, 2040.trans.feelt 1.3, 2040.trans.fepet 1.3, 2040.trans.fedie 1.3, 2040.trans.feh2t 0.7;tdh2s 0.5, tdh2t 0.5;;;;;;;;;;;;;;;;;;;HydrHype4;;;;;;;; +# ____ Energy Security Scenarios___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +KN2045_EnSov;0;KN2045_Bal_v4;Energy security scenario with limits/taxes on PE gas consumption in Germany and reduced steel demand;;;;;;;;;;;;on;2;ensec;;;;;;;EUR_regi, NEU_regi;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5;;feelhth_otherInd 1.1, fega_steel 0.4;ariadne_ensec;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +# ____ low-demand/high-demand scenarios ____;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +KN2045plus_EasyRide;0;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5. feheb 0.01;;feelhth_otherInd 0.9, fega_steel 0.4;ariadne_ensec;;;;;;;;;;;;;;;;;;;;off;;;;NAV_all;;;;;gdp_SSP2EU_NAV_all;;;Npi_lowDem +# Tests;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; From f115de415a1b1d28e48ce3cc3c625abc9eb330ee Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Thu, 15 Aug 2024 11:31:06 +0200 Subject: [PATCH 319/875] remove duplicate code --- modules/47_regipol/regiCarbonPrice/bounds.gms | 7 ------- 1 file changed, 7 deletions(-) diff --git a/modules/47_regipol/regiCarbonPrice/bounds.gms b/modules/47_regipol/regiCarbonPrice/bounds.gms index d34a4a2cc..91d198e09 100644 --- a/modules/47_regipol/regiCarbonPrice/bounds.gms +++ b/modules/47_regipol/regiCarbonPrice/bounds.gms @@ -41,13 +41,6 @@ vm_cap.up("2020",regi,"pc","1")$((cm_startyear le 2020) and (sameas(regi,"DEU")) *' This limits early retirement of coal power in Germany in 2020s to avoid extremly fast phase-out. vm_capEarlyReti.up('2025',regi,'pc')$(sameAs(regi,"DEU")) = 0.65; -*' DEU coal-power capacity phase-out, upper bounds following the Kohleausstiegsgesetz from 2020. -*' https://www.bmuv.de/faqs/kohleausstiegsgesetz - vm_capTotal.up("2025",regi,"pecoal","seel")$(sameas(regi,"DEU"))=25/1000; - vm_capTotal.up("2030",regi,"pecoal","seel")$(sameas(regi,"DEU"))=17/1000; - vm_capTotal.up("2035",regi,"pecoal","seel")$(sameas(regi,"DEU"))=6/1000; - vm_capTotal.up("2040",regi,"pecoal","seel")$(sameas(regi,"DEU"))=1.1/1000; - *' This aligns 2020 chp capcities for Germany with historic data (AGEB) *' most of district heating is provided by CHP plants. From ccbfb78abf9d20439db345fc1cf92deb64ba448e Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Thu, 15 Aug 2024 11:34:27 +0200 Subject: [PATCH 320/875] rename set to 'pese' and move declaration to core --- core/sets.gms | 3 +++ core/sets_calculations.gms | 4 ++++ modules/47_regipol/regiCarbonPrice/equations.gms | 2 +- modules/47_regipol/regiCarbonPrice/sets.gms | 11 ----------- 4 files changed, 8 insertions(+), 12 deletions(-) diff --git a/core/sets.gms b/core/sets.gms index dd972a068..de5d6f865 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -2429,6 +2429,9 @@ $ENDIF.WindOff peur.seel.fnrs / +pese(all_enty,all_enty) "map primary to secondary energy carriers without technology dimension" +// + seAgg(all_enty) "secondary energy aggregations" / all_seliq diff --git a/core/sets_calculations.gms b/core/sets_calculations.gms index 1b2e3f977..430a459e0 100644 --- a/core/sets_calculations.gms +++ b/core/sets_calculations.gms @@ -56,6 +56,10 @@ loop(fe2ue(entyFe,entyUe,te), display feForUe; +loop ( pe2se(entyPe,entySe,te), + pese(entyPe,entySe) = YES; +); + period4(ttot) = ttot(ttot) - tsu(ttot) - period1(ttot) - period2(ttot) - period3(ttot); period12(ttot) = period1(ttot) + period2(ttot); period123(ttot) = period1(ttot) + period2(ttot) + period3(ttot); diff --git a/modules/47_regipol/regiCarbonPrice/equations.gms b/modules/47_regipol/regiCarbonPrice/equations.gms index f6032c039..acef4ace9 100644 --- a/modules/47_regipol/regiCarbonPrice/equations.gms +++ b/modules/47_regipol/regiCarbonPrice/equations.gms @@ -129,7 +129,7 @@ $endIf.cm_CCSmaxBound *' total SE generation per PE carrier (useful for setting historical bounds) ***--------------------------------------------------------------------------- -q47_prodSEtotal(t,regi,entyPe,entySe)$(enty_pe2se(entyPe,entySe)).. +q47_prodSEtotal(t,regi,entyPe,entySe)$(pese(entyPe,entySe)).. v47_prodSEtotal(t,regi,entyPe,entySe) =e= sum(pe2se(entyPe,entySe,te), diff --git a/modules/47_regipol/regiCarbonPrice/sets.gms b/modules/47_regipol/regiCarbonPrice/sets.gms index 6c2cf69e7..131d1c9aa 100644 --- a/modules/47_regipol/regiCarbonPrice/sets.gms +++ b/modules/47_regipol/regiCarbonPrice/sets.gms @@ -170,16 +170,5 @@ $ifthen.cm_implicitQttyTarget not "%cm_implicitQttyTarget%" == "off" ); $endIf.cm_implicitQttyTarget -Sets -enty_pe2se(all_enty,all_enty) "all combinations of PE and SE carriers for which technologies exist in pe2se mapping, start only with electricity and chp technologies for now where there exist several technologies for same combination" -/ - pegas.seel - pecoal.seel - peoil.seel - pebiolc.seel -/ -; - - *** EOF ./modules/47_regipol/regiCarbonPrice/sets.gms From 99fdcc985e9a3c0e1dbc779657cb09ec26e55839 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Thu, 15 Aug 2024 11:34:59 +0200 Subject: [PATCH 321/875] update ariadne scenario config --- config/scenario_config_21_EU11_ARIADNE.csv | 34 ++++++++++++---------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/config/scenario_config_21_EU11_ARIADNE.csv b/config/scenario_config_21_EU11_ARIADNE.csv index 5602eaefa..41803c443 100755 --- a/config/scenario_config_21_EU11_ARIADNE.csv +++ b/config/scenario_config_21_EU11_ARIADNE.csv @@ -1,16 +1,18 @@ -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;cm_ccsinjeCost;cm_bioprod_regi_lim;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_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;c_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 -# _____Reference Runs_____;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Calib_EU_NPi;0;;Calibration Run with National Policies Implemented (NPI);calibrate;;;;;;;;;se_trade;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;NPi;1;;;NPi2018;regiCarbonPrice;;;;on;on;Mix1;9;3;;;;2005;; -NPi;0;Calib_EU_NPi;National Policies implemented;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Calib_EU_Npi_lowDem;0;Calib_EU_NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;NAV_all;;;;;gdp_SSP2EU_NAV_all;;; -Npi_lowDem;0;Calib_EU_Npi_lowDem;;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -# ____ Standard Scenarios______;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -CurrentPolicies;0;NPi;Current Policies Scenario for Germany including latest credible developments from Fit for 55 and Ampel government;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.045, 2035.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;;;;2;high;DEU 1.1, EU27_regi 7.5;EU27_regi.pebiolc.worldPricemarkup 3.0;1;DEU -0.1;;;;;;fehob 1.75, enhb 0.5;;;ariadne_bal;;;;;;;;;;;;;;;;;;;EU27_regi.(2025 50,2030 100,2035 150,2040 200,2045 250,2050 300,2055 300,2060 300,2070 300,2080 300,2090 300,2100 300,2110 300,2130 300,2150 300);;;;;Mix3;;;;;;2025;;NPi -KN2045_Bal_v4;0;;Standard Ariadne scenario with -55% GHG in 2030 and GHG neutrality goal in 2050 for EU (incl. EU LULUCF sink), -65% GHG in 2030 and GHG neutrality goal in 2045 for Germany;;;;;;;;;globallyOptimal;se_trade;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.366, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;2;high;DEU 1.1, EU27_regi 7.5;EU27_regi.pebiolc.worldPricemarkup 3.0;1;DEU -0.1;EUR_regi, NEU_regi;;DEU.elh2.a 0.3, DEU.elh2.b 20;;;fehob 1.75, enhb 0.5;manual;feelhth_otherInd 1.3, fega_steel 0.4;ariadne_bal;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;650;diffCurvPhaseIn2Lin;100;2080;3;;regiCarbonPrice;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;0.003;on;on;Mix4;9;;;;;2025;;NPi -KN2045_Elec_v4;0;KN2045_Bal_v4;Scenario with high electrification, low H2 and synfuel imports;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.183, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5;;feh2_otherInd 0.7, feelhth_otherInd 0.9, feh2_cement 2.2, feh2_chemicals 1.05, fega_steel 0.4;;;;;2040.build.feels 0.7, 2040.build.fegas 1.3, 2040.indst.feels 0.7, 2040.indst.fegas 1.3, 2040.indst.fehos 1.3, 2040.trans.feelt 0.7, 2040.trans.fepet 1.3, 2040.trans.fedie 1.3;tdh2s 2, tdh2t 2;;;;;;;;;;;;;;;;;;;;;;;;;;; -KN2045_H2_v4;0;KN2045_Bal_v4;Scenario with high H2 and synfuel use, high H2 and synfuel imports;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.732, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;20;DEU.elh2.a 0.2, DEU.elh2.b 50;0.1;;feelhpb 2.3, feelrhb 0.87, fehob 1.75, enhb 0.5;;feh2_otherInd 0.01, feelhth_otherInd 1.6, feh2_cement 0.43, feelhth_chemicals 1.6, feh2_chemicals 0.43, feh2_steel 0.1, feli_steel 0.87, fega_steel 0.4;;;;;2040.build.feels 1.3, 2040.build.fegas 1.3, 2040.indst.feels 1.3, 2040.indst.fegas 1.3, 2040.indst.fehos 1.3, 2040.trans.feelt 1.3, 2040.trans.fepet 1.3, 2040.trans.fedie 1.3, 2040.trans.feh2t 0.7;tdh2s 0.5, tdh2t 0.5;;;;;;;;;;;;;;;;;;;HydrHype4;;;;;;;; -# ____ Energy Security Scenarios___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -KN2045_EnSov;0;KN2045_Bal_v4;Energy security scenario with limits/taxes on PE gas consumption in Germany and reduced steel demand;;;;;;;;;;;;on;2;ensec;;;;;;;EUR_regi, NEU_regi;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5;;feelhth_otherInd 1.1, fega_steel 0.4;ariadne_ensec;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -# ____ low-demand/high-demand scenarios ____;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -KN2045plus_EasyRide;0;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5. feheb 0.01;;feelhth_otherInd 0.9, fega_steel 0.4;ariadne_ensec;;;;;;;;;;;;;;;;;;;;off;;;;NAV_all;;;;;gdp_SSP2EU_NAV_all;;;Npi_lowDem -# Tests;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +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;c_peakBudgYr;c_taxCO2inc_after_peakBudgYr;techpol;regipol;cm_regiExoPrice;cm_emiMktTarget;cm_emiMktTarget_tolerance;cm_regiExoPrice_fromFile;cm_NucRegiPol;cm_CoalRegiPol;cm_EDGEtr_scen;cm_emiscen;cm_multigasscen;cm_POPscen;cm_GDPscen;cm_demScen;cm_startyear;path_gdx;path_gdx_ref +# _____Reference Runs_____;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Calib_EU_NPi;0;;Calibration Run with National Policies Implemented (NPI);calibrate;;;;;;;;;se_trade;;;;;;;;;DEU 1.1, EU27_regi 7.5;;EU27_regi.pebiolc.worldPricemarkup 10;1;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;NPi;1;;;NPi2018;regiCarbonPrice;;;;;on;on;Mix1;9;3;;;;2005;; +NPi;0;Calib_EU_NPi;National Policies implemented;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Calib_EU_Npi_lowDem;0;Calib_EU_NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;NAV_all;;;;gdp_SSP2EU;gdp_SSP2EU_NAV_all;;; +Npi_lowDem;0;Calib_EU_Npi_lowDem;;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +# ____ Standard Scenarios______;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +CurrentPolicies;0;NPi;Current Policies Scenario for Germany including latest credible developments from Fit for 55 and Ampel government;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.045, 2035.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;;;;2;;high;0;DEU 1.1, EU27_regi 7.5;;EU27_regi.pebiolc.worldPricemarkup 10;1;;EUR_regi, NEU_regi;;off;;;fehob 1.75, enhb 0.5;;;ariadne_bal;;;manual; 2050 . GLO . (ue_cement, ue_steel_primary, ue_steel_secondary) 0.75, 2100 . GLO . (ue_chemicals, ue_otherInd) 0.90, 2100 . DEU . (ue_otherInd, ue_cement, ue_chemicals) 0.01;;;;;;;;;;;;;;;;;EU27_regi.(2025 65,2030 94,2035 124,2040 141,2045 162,2050 175,2055 175,2060 175,2070 175,2080 175,2090 175,2100 175,2110 175,2130 175,2150 175);;;;;;Mix3;;;;;;2025;;NPi +KN2045_Bal_v4;0;;Standard Ariadne scenario with -55% GHG in 2030 and GHG neutrality goal in 2050 for EU (incl. EU LULUCF sink), -65% GHG in 2030 and GHG neutrality goal in 2045 for Germany;;;;;;;;;globallyOptimal;se_trade;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.366, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;2;;high;0;DEU 1.1, EU27_regi 7.5;;EU27_regi.pebiolc.worldPricemarkup 10;1;;EUR_regi, NEU_regi;;off;;;fehob 1.75, enhb 0.5;manual;feelhth_otherInd 1.3;ariadne_bal;;;manual; 2050 . GLO . (ue_cement, ue_steel_primary, ue_steel_secondary) 0.75, 2100 . GLO . (ue_chemicals, ue_otherInd) 0.90, 2100 . DEU . (ue_otherInd, ue_cement, ue_chemicals) 0.01;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;650;diffCurvPhaseIn2Lin;100;2080;3;;regiCarbonPrice;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;0.003;;on;on;Mix4;9;;;;;2025;;NPi +KN2045_Elec_v4;0;KN2045_Bal_v4;Scenario with high electrification, low H2 and synfuel imports;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.183, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5;;feh2_otherInd 0.7, feelhth_otherInd 0.9, feh2_cement 2.2, feh2_chemicals 1.05;;;;;;;2040.build.feels 0.7, 2040.build.fegas 1.3, 2040.indst.feels 0.7, 2040.indst.fegas 1.3, 2040.indst.fehos 1.3, 2040.trans.feelt 0.7, 2040.trans.fepet 1.3, 2040.trans.fedie 1.3;tdh2s 3, tdh2t 3;;;;;;;;;;;;;;;;;;;;;;;;;;;; +KN2045_H2_v4;0;KN2045_Bal_v4;Scenario with high H2 and synfuel use, high H2 and synfuel imports;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.732, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;20;;0.1;;feelhpb 2.3, feelrhb 0.87, fehob 1.75, enhb 0.5;;feh2_otherInd 0.01, feelhth_otherInd 1.6, feh2_cement 0.43, feelhth_chemicals 1.6, feh2_chemicals 0.43;;;;;;;2040.build.feels 1.3, 2040.build.fegas 1.3, 2040.indst.feels 1.3, 2040.indst.fegas 1.3, 2040.indst.fehos 1.3, 2040.trans.feelt 1.3, 2040.trans.fepet 1.3, 2040.trans.fedie 1.3, 2040.trans.feh2t 0.7;tdh2s 0.5, tdh2t 0.5;;;;;;;;;;;;;;;;;;;;HydrHype4;;;;;;;; +# ____ Energy Security Scenarios___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +KN2045_EnSov;0;KN2045_Bal_v4;Energy security scenario with limits/taxes on PE gas consumption in Germany and reduced steel demand;;;;;;;;;;;;on;2;ensec;;;;;;;;;;EUR_regi, NEU_regi;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5;;feelhth_otherInd 1.1, fega_steel 0.4;ariadne_lowDem;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +# ____ low-demand/high-demand scenarios ____;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +KN2045plus_EasyRide;0;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5, feheb 0.01;;feelhth_otherInd 0.9, feh2_chemicals 0.43;ariadne_lowDem;;;;2050 . GLO . (ue_cement, ue_steel_primary, ue_steel_secondary) 0.75, 2100 . GLO . (ue_chemicals, ue_otherInd) 0.90;;;tdh2s 0.5, tdh2t 0.5;spv 0.5, storspv 0.5, wind 0.5, storwind 0.5, elh2 0.5;spv 2, storspv 2, wind 2, storwind 2, elh2 2;;;;;;;;;;;;;off;;/p/projects/ariadne/remind/output/KN2045_Bal_v4_2024-07-18_17.51.42/fulldata.gdx;;;NAV_all;;;;gdp_SSP2EU;gdp_SSP2EU_NAV_all;;;Npi_lowDem +KN2045plus_LowDemand;0;KN2045_Bal_v4;;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.045, 2035.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5, feheb 0.01;;feelhth_otherInd 0.9, feh2_chemicals 0.43;ariadne_bal;;;;2050 . GLO . (ue_cement, ue_steel_primary, ue_steel_secondary) 0.75, 2100 . GLO . (ue_chemicals, ue_otherInd) 0.90;;;tdh2s 3, tdh2t 3;spv 2, storspv 2, wind 2, storwind 2, elh2 2;spv 0.5, storspv 0.5, wind 0.5, storwind 0.5, elh2 0.5;;;;;;;;;;;;;off;;/p/projects/ariadne/remind/output/KN2045_Bal_v4_2024-07-18_17.51.42/fulldata.gdx;;;NAV_all;;;;gdp_SSP2EU;gdp_SSP2EU_NAV_all;;;Npi_lowDem +KN2045minus_WorstCase;0;KN2045_Bal_v4;;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.045, 2035.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;;;;;;;;;;;;;;;;;;feelhpb 2.3, feelrhb 0.87, fehob 1.75, enhb 0.5;;;ariadne_highDem;;;;;;;tdh2s 3, tdh2t 3;spv 2, storspv 2, wind 2, storwind 2, elh2 2;spv 0.5, storspv 0.5, wind 0.5, storwind 0.5, elh2 0.5;;;;;;;;;;;;;;;/p/projects/ariadne/remind/output/KN2045_Bal_v4_2024-07-11_21.37.39/fulldata.gdx;;;;;;;;;;; +KN2045minus_SupplyFocus;0;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ariadne_highDem;;;;;;;;;;;;;;;;;;;;;;;;/p/projects/ariadne/remind/output/KN2045_Bal_v4_2024-07-11_21.37.39/fulldata.gdx;;;;;;;;;;; From 901051edbfe13645207d7470632e3e000730bbd4 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Thu, 15 Aug 2024 11:58:15 +0000 Subject: [PATCH 322/875] Release development version 3.3.2.dev343 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 9c68a7ad4..d0619e941 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,8 +266,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev338" -date-released: 2024-08-13 +version: "3.3.2.dev343" +date-released: 2024-08-15 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 83d4740f2..89c15f933 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev338" +cfg$model_version <- "3.3.2.dev343" #### settings #### cfg$gms <- list() From 64f43e2b4ccd496a0a3d927dbf4ab07c507a243e Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Thu, 15 Aug 2024 16:54:54 +0200 Subject: [PATCH 323/875] remove non-existing switches from ariadne scenario config --- config/scenario_config_21_EU11_ARIADNE.csv | 36 +++++++++++----------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/config/scenario_config_21_EU11_ARIADNE.csv b/config/scenario_config_21_EU11_ARIADNE.csv index 41803c443..c76604dc0 100755 --- a/config/scenario_config_21_EU11_ARIADNE.csv +++ b/config/scenario_config_21_EU11_ARIADNE.csv @@ -1,18 +1,18 @@ -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;c_peakBudgYr;c_taxCO2inc_after_peakBudgYr;techpol;regipol;cm_regiExoPrice;cm_emiMktTarget;cm_emiMktTarget_tolerance;cm_regiExoPrice_fromFile;cm_NucRegiPol;cm_CoalRegiPol;cm_EDGEtr_scen;cm_emiscen;cm_multigasscen;cm_POPscen;cm_GDPscen;cm_demScen;cm_startyear;path_gdx;path_gdx_ref -# _____Reference Runs_____;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Calib_EU_NPi;0;;Calibration Run with National Policies Implemented (NPI);calibrate;;;;;;;;;se_trade;;;;;;;;;DEU 1.1, EU27_regi 7.5;;EU27_regi.pebiolc.worldPricemarkup 10;1;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;NPi;1;;;NPi2018;regiCarbonPrice;;;;;on;on;Mix1;9;3;;;;2005;; -NPi;0;Calib_EU_NPi;National Policies implemented;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Calib_EU_Npi_lowDem;0;Calib_EU_NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;NAV_all;;;;gdp_SSP2EU;gdp_SSP2EU_NAV_all;;; -Npi_lowDem;0;Calib_EU_Npi_lowDem;;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -# ____ Standard Scenarios______;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -CurrentPolicies;0;NPi;Current Policies Scenario for Germany including latest credible developments from Fit for 55 and Ampel government;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.045, 2035.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;;;;2;;high;0;DEU 1.1, EU27_regi 7.5;;EU27_regi.pebiolc.worldPricemarkup 10;1;;EUR_regi, NEU_regi;;off;;;fehob 1.75, enhb 0.5;;;ariadne_bal;;;manual; 2050 . GLO . (ue_cement, ue_steel_primary, ue_steel_secondary) 0.75, 2100 . GLO . (ue_chemicals, ue_otherInd) 0.90, 2100 . DEU . (ue_otherInd, ue_cement, ue_chemicals) 0.01;;;;;;;;;;;;;;;;;EU27_regi.(2025 65,2030 94,2035 124,2040 141,2045 162,2050 175,2055 175,2060 175,2070 175,2080 175,2090 175,2100 175,2110 175,2130 175,2150 175);;;;;;Mix3;;;;;;2025;;NPi -KN2045_Bal_v4;0;;Standard Ariadne scenario with -55% GHG in 2030 and GHG neutrality goal in 2050 for EU (incl. EU LULUCF sink), -65% GHG in 2030 and GHG neutrality goal in 2045 for Germany;;;;;;;;;globallyOptimal;se_trade;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.366, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;2;;high;0;DEU 1.1, EU27_regi 7.5;;EU27_regi.pebiolc.worldPricemarkup 10;1;;EUR_regi, NEU_regi;;off;;;fehob 1.75, enhb 0.5;manual;feelhth_otherInd 1.3;ariadne_bal;;;manual; 2050 . GLO . (ue_cement, ue_steel_primary, ue_steel_secondary) 0.75, 2100 . GLO . (ue_chemicals, ue_otherInd) 0.90, 2100 . DEU . (ue_otherInd, ue_cement, ue_chemicals) 0.01;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;650;diffCurvPhaseIn2Lin;100;2080;3;;regiCarbonPrice;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;0.003;;on;on;Mix4;9;;;;;2025;;NPi -KN2045_Elec_v4;0;KN2045_Bal_v4;Scenario with high electrification, low H2 and synfuel imports;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.183, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5;;feh2_otherInd 0.7, feelhth_otherInd 0.9, feh2_cement 2.2, feh2_chemicals 1.05;;;;;;;2040.build.feels 0.7, 2040.build.fegas 1.3, 2040.indst.feels 0.7, 2040.indst.fegas 1.3, 2040.indst.fehos 1.3, 2040.trans.feelt 0.7, 2040.trans.fepet 1.3, 2040.trans.fedie 1.3;tdh2s 3, tdh2t 3;;;;;;;;;;;;;;;;;;;;;;;;;;;; -KN2045_H2_v4;0;KN2045_Bal_v4;Scenario with high H2 and synfuel use, high H2 and synfuel imports;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.732, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;20;;0.1;;feelhpb 2.3, feelrhb 0.87, fehob 1.75, enhb 0.5;;feh2_otherInd 0.01, feelhth_otherInd 1.6, feh2_cement 0.43, feelhth_chemicals 1.6, feh2_chemicals 0.43;;;;;;;2040.build.feels 1.3, 2040.build.fegas 1.3, 2040.indst.feels 1.3, 2040.indst.fegas 1.3, 2040.indst.fehos 1.3, 2040.trans.feelt 1.3, 2040.trans.fepet 1.3, 2040.trans.fedie 1.3, 2040.trans.feh2t 0.7;tdh2s 0.5, tdh2t 0.5;;;;;;;;;;;;;;;;;;;;HydrHype4;;;;;;;; -# ____ Energy Security Scenarios___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -KN2045_EnSov;0;KN2045_Bal_v4;Energy security scenario with limits/taxes on PE gas consumption in Germany and reduced steel demand;;;;;;;;;;;;on;2;ensec;;;;;;;;;;EUR_regi, NEU_regi;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5;;feelhth_otherInd 1.1, fega_steel 0.4;ariadne_lowDem;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -# ____ low-demand/high-demand scenarios ____;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -KN2045plus_EasyRide;0;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5, feheb 0.01;;feelhth_otherInd 0.9, feh2_chemicals 0.43;ariadne_lowDem;;;;2050 . GLO . (ue_cement, ue_steel_primary, ue_steel_secondary) 0.75, 2100 . GLO . (ue_chemicals, ue_otherInd) 0.90;;;tdh2s 0.5, tdh2t 0.5;spv 0.5, storspv 0.5, wind 0.5, storwind 0.5, elh2 0.5;spv 2, storspv 2, wind 2, storwind 2, elh2 2;;;;;;;;;;;;;off;;/p/projects/ariadne/remind/output/KN2045_Bal_v4_2024-07-18_17.51.42/fulldata.gdx;;;NAV_all;;;;gdp_SSP2EU;gdp_SSP2EU_NAV_all;;;Npi_lowDem -KN2045plus_LowDemand;0;KN2045_Bal_v4;;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.045, 2035.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5, feheb 0.01;;feelhth_otherInd 0.9, feh2_chemicals 0.43;ariadne_bal;;;;2050 . GLO . (ue_cement, ue_steel_primary, ue_steel_secondary) 0.75, 2100 . GLO . (ue_chemicals, ue_otherInd) 0.90;;;tdh2s 3, tdh2t 3;spv 2, storspv 2, wind 2, storwind 2, elh2 2;spv 0.5, storspv 0.5, wind 0.5, storwind 0.5, elh2 0.5;;;;;;;;;;;;;off;;/p/projects/ariadne/remind/output/KN2045_Bal_v4_2024-07-18_17.51.42/fulldata.gdx;;;NAV_all;;;;gdp_SSP2EU;gdp_SSP2EU_NAV_all;;;Npi_lowDem -KN2045minus_WorstCase;0;KN2045_Bal_v4;;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.045, 2035.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;;;;;;;;;;;;;;;;;;feelhpb 2.3, feelrhb 0.87, fehob 1.75, enhb 0.5;;;ariadne_highDem;;;;;;;tdh2s 3, tdh2t 3;spv 2, storspv 2, wind 2, storwind 2, elh2 2;spv 0.5, storspv 0.5, wind 0.5, storwind 0.5, elh2 0.5;;;;;;;;;;;;;;;/p/projects/ariadne/remind/output/KN2045_Bal_v4_2024-07-11_21.37.39/fulldata.gdx;;;;;;;;;;; -KN2045minus_SupplyFocus;0;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ariadne_highDem;;;;;;;;;;;;;;;;;;;;;;;;/p/projects/ariadne/remind/output/KN2045_Bal_v4_2024-07-11_21.37.39/fulldata.gdx;;;;;;;;;;; +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 +# _____Reference Runs_____;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Calib_EU_NPi;0;;Calibration Run with National Policies Implemented (NPI);calibrate;;;;;;;;;se_trade;;;;;;;;;DEU 1.1, EU27_regi 7.5;;EU27_regi.pebiolc.worldPricemarkup 10;1;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;NPi;1;;;NPi2018;regiCarbonPrice;;;;on;on;Mix1;9;3;;;;2005;; +NPi;0;Calib_EU_NPi;National Policies implemented;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Calib_EU_Npi_lowDem;0;Calib_EU_NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;NAV_all;;;;gdp_SSP2EU;gdp_SSP2EU_NAV_all;;; +Npi_lowDem;0;Calib_EU_Npi_lowDem;;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +# ____ Standard Scenarios______;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +CurrentPolicies;0;NPi;Current Policies Scenario for Germany including latest credible developments from Fit for 55 and Ampel government;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.045, 2035.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;;;;2;;high;0;DEU 1.1, EU27_regi 7.5;;EU27_regi.pebiolc.worldPricemarkup 10;1;;EUR_regi, NEU_regi;;off;;;fehob 1.75, enhb 0.5;;;ariadne_bal;;;manual; 2050 . GLO . (ue_cement, ue_steel_primary, ue_steel_secondary) 0.75, 2100 . GLO . (ue_chemicals, ue_otherInd) 0.90, 2100 . DEU . (ue_otherInd, ue_cement, ue_chemicals) 0.01;;;;;;;;;;;;;;;;;EU27_regi.(2025 65,2030 94,2035 124,2040 141,2045 162,2050 175,2055 175,2060 175,2070 175,2080 175,2090 175,2100 175,2110 175,2130 175,2150 175);;;;;Mix3;;;;;;2025;;NPi +KN2045_Bal_v4;0;;Standard Ariadne scenario with -55% GHG in 2030 and GHG neutrality goal in 2050 for EU (incl. EU LULUCF sink), -65% GHG in 2030 and GHG neutrality goal in 2045 for Germany;;;;;;;;;globallyOptimal;se_trade;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.366, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;2;;high;0;DEU 1.1, EU27_regi 7.5;;EU27_regi.pebiolc.worldPricemarkup 10;1;;EUR_regi, NEU_regi;;off;;;fehob 1.75, enhb 0.5;manual;feelhth_otherInd 1.3;ariadne_bal;;;manual; 2050 . GLO . (ue_cement, ue_steel_primary, ue_steel_secondary) 0.75, 2100 . GLO . (ue_chemicals, ue_otherInd) 0.90, 2100 . DEU . (ue_otherInd, ue_cement, ue_chemicals) 0.01;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;650;diffCurvPhaseIn2Lin;100;2080;3;;regiCarbonPrice;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;0.003;on;on;Mix4;9;;;;;2025;;NPi +KN2045_Elec_v4;0;KN2045_Bal_v4;Scenario with high electrification, low H2 and synfuel imports;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.183, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5;;feh2_otherInd 0.7, feelhth_otherInd 0.9, feh2_cement 2.2, feh2_chemicals 1.05;;;;;;;2040.build.feels 0.7, 2040.build.fegas 1.3, 2040.indst.feels 0.7, 2040.indst.fegas 1.3, 2040.indst.fehos 1.3, 2040.trans.feelt 0.7, 2040.trans.fepet 1.3, 2040.trans.fedie 1.3;tdh2s 3, tdh2t 3;;;;;;;;;;;;;;;;;;;;;;;;;;; +KN2045_H2_v4;0;KN2045_Bal_v4;Scenario with high H2 and synfuel use, high H2 and synfuel imports;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.732, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;20;;0.1;;feelhpb 2.3, feelrhb 0.87, fehob 1.75, enhb 0.5;;feh2_otherInd 0.01, feelhth_otherInd 1.6, feh2_cement 0.43, feelhth_chemicals 1.6, feh2_chemicals 0.43;;;;;;;2040.build.feels 1.3, 2040.build.fegas 1.3, 2040.indst.feels 1.3, 2040.indst.fegas 1.3, 2040.indst.fehos 1.3, 2040.trans.feelt 1.3, 2040.trans.fepet 1.3, 2040.trans.fedie 1.3, 2040.trans.feh2t 0.7;tdh2s 0.5, tdh2t 0.5;;;;;;;;;;;;;;;;;;;HydrHype4;;;;;;;; +# ____ Energy Security Scenarios___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +KN2045_EnSov;0;KN2045_Bal_v4;Energy security scenario with limits/taxes on PE gas consumption in Germany and reduced steel demand;;;;;;;;;;;;on;2;ensec;;;;;;;;;;EUR_regi, NEU_regi;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5;;feelhth_otherInd 1.1, fega_steel 0.4;ariadne_lowDem;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +# ____ low-demand/high-demand scenarios ____;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +KN2045plus_EasyRide;0;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5, feheb 0.01;;feelhth_otherInd 0.9, feh2_chemicals 0.43;ariadne_lowDem;;;;2050 . GLO . (ue_cement, ue_steel_primary, ue_steel_secondary) 0.75, 2100 . GLO . (ue_chemicals, ue_otherInd) 0.90;;;tdh2s 0.5, tdh2t 0.5;spv 0.5, storspv 0.5, wind 0.5, storwind 0.5, elh2 0.5;spv 2, storspv 2, wind 2, storwind 2, elh2 2;;;;;;;;;;;;;off;;;;NAV_all;;;;gdp_SSP2EU;gdp_SSP2EU_NAV_all;;;Npi_lowDem +KN2045plus_LowDemand;0;KN2045_Bal_v4;;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.045, 2035.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5, feheb 0.01;;feelhth_otherInd 0.9, feh2_chemicals 0.43;ariadne_bal;;;;2050 . GLO . (ue_cement, ue_steel_primary, ue_steel_secondary) 0.75, 2100 . GLO . (ue_chemicals, ue_otherInd) 0.90;;;tdh2s 3, tdh2t 3;spv 2, storspv 2, wind 2, storwind 2, elh2 2;spv 0.5, storspv 0.5, wind 0.5, storwind 0.5, elh2 0.5;;;;;;;;;;;;;off;;;;NAV_all;;;;gdp_SSP2EU;gdp_SSP2EU_NAV_all;;;Npi_lowDem +KN2045minus_WorstCase;0;KN2045_Bal_v4;;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.045, 2035.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;;;;;;;;;;;;;;;;;;feelhpb 2.3, feelrhb 0.87, fehob 1.75, enhb 0.5;;;ariadne_highDem;;;;;;;tdh2s 3, tdh2t 3;spv 2, storspv 2, wind 2, storwind 2, elh2 2;spv 0.5, storspv 0.5, wind 0.5, storwind 0.5, elh2 0.5;;;;;;;;;;;;;;;;;;;;;;;;; +KN2045minus_SupplyFocus;0;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ariadne_highDem;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; From de7563929b57194e4fbcdfec7f4d70dc7f2c14da Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Thu, 15 Aug 2024 17:04:25 +0200 Subject: [PATCH 324/875] move remaining 2025 bounds behind cm_tech_bounds_2025 switch --- main.gms | 1 + modules/47_regipol/regiCarbonPrice/bounds.gms | 2 ++ 2 files changed, 3 insertions(+) diff --git a/main.gms b/main.gms index 1236258ba..af5e1d8c4 100755 --- a/main.gms +++ b/main.gms @@ -1741,6 +1741,7 @@ $setGlobal c_regi_nucscen all !! def = all $setGlobal c_regi_capturescen all !! def = all *** cm_subsec_model_steel "switch between ces-based and process-based steel implementation in subsectors realisation of industry module" $setglobal cm_subsec_model_steel processes !! def = processes !! regexp = processes|ces +*** cm_tech_bounds_2025 *** activate bounds for 2025 for fast-growing technologies (spv, wind etc.) based on 2023 statistics *** (off) no bounds for 2025 *** (on) some generous bounds for 2025 assuming that certain developments are not possible anymore even for fast growing technologies given 2023 data diff --git a/modules/47_regipol/regiCarbonPrice/bounds.gms b/modules/47_regipol/regiCarbonPrice/bounds.gms index 91d198e09..dd4b86093 100644 --- a/modules/47_regipol/regiCarbonPrice/bounds.gms +++ b/modules/47_regipol/regiCarbonPrice/bounds.gms @@ -34,7 +34,9 @@ $endIf.tech_bounds_2025 *' These bounds account for historic gas power development. v47_prodSEtotal.up("2020",regi,"pegas","seel")$(sameAs(regi,"DEU"))= 0.36*sm_EJ_2_TWa; +$ifThen.tech_bounds_2025 "%cm_tech_bounds_2025%" == "on" v47_prodSEtotal.up("2025",regi,"pegas","seel")$(sameAs(regi,"DEU"))= 0.4*sm_EJ_2_TWa; +$endIf.tech_bounds_2025 *' These bounds account for historic coal power development. vm_cap.up("2020",regi,"pc","1")$((cm_startyear le 2020) and (sameas(regi,"DEU"))) = 38.028/1000; From e28f2013db500ec733c2f635b3b63959cbfe7fbd Mon Sep 17 00:00:00 2001 From: orichters Date: Thu, 15 Aug 2024 18:28:13 +0200 Subject: [PATCH 325/875] check for duplicates in mif --- DESCRIPTION | 2 +- scripts/output/single/reporting.R | 2 ++ tests/testthat/test_06-output.R | 6 ++++-- tests/testthat/test_20-coupled.R | 1 + 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 6349346cf..260276f92 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -56,7 +56,7 @@ Imports: piamutils, plotly, purrr, - quitte (>= 0.3128.4), + quitte (>= 0.3137.0), R.utils, raster, readr, diff --git a/scripts/output/single/reporting.R b/scripts/output/single/reporting.R index aa62ed57b..b438e714c 100644 --- a/scripts/output/single/reporting.R +++ b/scripts/output/single/reporting.R @@ -124,6 +124,8 @@ if (! is.null(magpie_reporting_file) && file.exists(magpie_reporting_file)) { piamutils::deletePlus(remind_reporting_file, writemif = TRUE) } +invisible(quitte::reportDuplicates(piamutils::deletePlus(quitte::read.quitte(remind_reporting_file, check.duplicates = FALSE)))) + message("### end generation of mif files at ", Sys.time()) ## produce REMIND LCOE reporting *.csv based on gdx information diff --git a/tests/testthat/test_06-output.R b/tests/testthat/test_06-output.R index 8ca19e1b1..af68343af 100644 --- a/tests/testthat/test_06-output.R +++ b/tests/testthat/test_06-output.R @@ -9,10 +9,12 @@ skipIfPreviousFailed() test_that("output.R -> single -> reporting works", { output <- localSystem2("Rscript", c("output.R", "comp=single", "output=reporting", "outputdir=output/testOneRegi", - "slurmConfig='--qos=priority --mem=8000 --wait'")) + "slurmConfig='--qos=priority --mem=8000 --wait --time=120'")) printIfFailed(output) expectSuccessStatus(output) - expect_true(file.exists("../../output/testOneRegi/REMIND_generic_testOneRegi.mif")) + remind_reporting_file <- "../../output/testOneRegi/REMIND_generic_testOneRegi.mif" + expect_true(file.exists(remind_reporting_file)) + expect_no_warning(quitte::reportDuplicates(piamutils::deletePlus(quitte::read.quitte(remind_reporting_file, check.duplicates = FALSE)))) }) test_that("output.R -> export -> xlsx_IIASA works", { diff --git a/tests/testthat/test_20-coupled.R b/tests/testthat/test_20-coupled.R index 5103d52a5..793dab6ae 100644 --- a/tests/testthat/test_20-coupled.R +++ b/tests/testthat/test_20-coupled.R @@ -142,6 +142,7 @@ test_that("runs coupled to MAgPIE work", { expect_true(lengthwithmag > lengthwithoutmag && lengthwithmag > 700000) # check main mif qscen <- quitte::as.quitte(paste0("../../output/C_", scen, ".mif")) + expect_no_warning(quitte::reportDuplicates(piamutils::deletePlus(qscen))) expect_true(all(grepl("^REMIND-MAgPIE", levels(qscen$model)))) expect_true(nrow(qscen) == lengthwithmag) # here we could add checks which variables etc. must be in the mif file From 1b942f21c640a875ba1c680f82dbec4a34926e05 Mon Sep 17 00:00:00 2001 From: orichters Date: Thu, 15 Aug 2024 18:49:40 +0200 Subject: [PATCH 326/875] shorten slurm time for coupled run tests --- Makefile | 2 +- config/tests/scenario_config_coupled_shortCascade.csv | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index fc87bfe8c..f81c560b6 100644 --- a/Makefile +++ b/Makefile @@ -92,7 +92,7 @@ test-coupled: ## Test if the coupling with MAgPIE works. Takes significantly test-coupled-slurm: ## test-coupled, but on slurm $(info Coupling tests take around 75 minutes to run. Sent to slurm, find log in test-coupled.log) make ensure-reqs - @sbatch --qos=priority --wrap="make test-coupled" --job-name=test-coupled --mail-type=END,FAIL --output=test-coupled.log --comment="test-coupled.log" + @sbatch --qos=priority --wrap="make test-coupled" --job-name=test-coupled --mail-type=END,FAIL --time=180 --output=test-coupled.log --comment="test-coupled.log" test-full: ## Run all tests, including coupling tests and a default ## REMIND scenario. Takes several hours to run. diff --git a/config/tests/scenario_config_coupled_shortCascade.csv b/config/tests/scenario_config_coupled_shortCascade.csv index 4969f1bde..87532043f 100644 --- a/config/tests/scenario_config_coupled_shortCascade.csv +++ b/config/tests/scenario_config_coupled_shortCascade.csv @@ -1,4 +1,4 @@ title;start;qos;sbatch;magpie_scen;config/scenario_config.csv;magpie_empty;no_ghgprices_land_until;max_iterations;oldrun;path_gdx;path_gdx_ref;path_gdx_bau;path_report;cm_nash_autoconverge_lastrun;path_mif_ghgprice_land;cfg_mag$gms$s56_minimum_cprice;cfg_mag$damping_factor;cfg_mag$gms$s56_cprice_red_factor -TESTTHAT-SSP2-Base;1;auto;--wait --mail-type=FAIL;SSP2|NPI;SDP-MC;TRUE;y2150;2;;;;;;2;;;; -TESTTHAT-SSP2-NDC;1;auto;--wait --mail-type=FAIL;SSP2|NDC;;TRUE;y2150;2;;;;;;2;TESTTHAT-SSP2-Base;;0.80;0.5 -TESTTHAT-SSP2-Policy;2;auto;--wait --mail-type=FAIL;SSP2|NDC;SDP-MC;TRUE;y2150;2;TESTTHAT-SSP2-Base;;;;;;output/C_TESTTHAT-SSP2-Base-rem-1/REMIND_generic_C_TESTTHAT-SSP2-Base-rem-1.mif;20;; +TESTTHAT-SSP2-Base;1;auto;--wait --mail-type=FAIL --time=60;SSP2|NPI;SDP-MC;TRUE;y2150;2;;;;;;2;;;; +TESTTHAT-SSP2-NDC;1;auto;--wait --mail-type=FAIL --time=60;SSP2|NDC;;TRUE;y2150;2;;;;;;2;TESTTHAT-SSP2-Base;;0.80;0.5 +TESTTHAT-SSP2-Policy;2;auto;--wait --mail-type=FAIL --time=60;SSP2|NDC;SDP-MC;TRUE;y2150;2;TESTTHAT-SSP2-Base;;;;;;output/C_TESTTHAT-SSP2-Base-rem-1/REMIND_generic_C_TESTTHAT-SSP2-Base-rem-1.mif;20;; From a74fcc9ba2432f770e6716b7e617415c6dd72d8c Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Fri, 16 Aug 2024 14:47:09 +0200 Subject: [PATCH 327/875] defining secondary energy share incentives in entyfe --- core/declarations.gms | 19 +++---- core/equations.gms | 120 ++++++++++++++++++++++++++++-------------- core/preloop.gms | 37 ++++++++----- 3 files changed, 115 insertions(+), 61 deletions(-) diff --git a/core/declarations.gms b/core/declarations.gms index 48f4d33cc..c6b81b44e 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -152,12 +152,13 @@ pm_shareWindOff(ttot,all_regi) "windoff rollout as a frac $ENDIF.WindOff pm_fe2es(tall,all_regi,all_teEs) "Conversion factor from final energies to energy services. Default is 1." -p_shSefe(ttot,all_regi,all_enty,all_enty) "initial share of secondary energy on total final energy [0..1]" -p_shSefeSector(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "initial share of secondary energy in sector total final energy per emission market [0..1]" + pm_shFeCes(ttot,all_regi,all_enty,all_in,all_teEs) "Final energy shares for CES nodes" pm_shfe_up(ttot,all_regi,all_enty,emi_sectors) "Final energy shares exogenous upper bounds per sector" pm_shfe_lo(ttot,all_regi,all_enty,emi_sectors) "Final energy shares exogenous lower bounds per sector" +p_shSeFe(ttot,all_regi,all_enty) "initial share of secondary energy on total secondary energy type (liquids, solids and gases) [0..1]" +p_shSeFeSector(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "initial share of secondary energy on secondary energy type (liquids, solids and gases) per final energy, sector and emission market [0..1]" pm_shGasLiq_fe_up(ttot,all_regi,emi_sectors) "Final energy gases plus liquids shares exogenous upper bounds per sector" pm_shGasLiq_fe_lo(ttot,all_regi,emi_sectors) "Final energy gases plus liquids shares exogenous lower bounds per sector" @@ -420,9 +421,8 @@ v_shGreenH2(ttot,all_regi) "share of green hydrogen in all hydrogen by 2030 [0 v_shBioTrans(ttot,all_regi) "Share of biofuels in transport liquids from 2025 onwards. Value between 0 and 1." v_shfe(ttot,all_regi,all_enty,emi_sectors) "share of final energy in sector total final energy [0..1]" -v_shSefe(ttot,all_regi,all_enty,all_enty) "share of secondary energy on total final energy [0..1]" -v_shSefeSector(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "share of secondary energy in sector total final energy per emission market [0..1]" - +v_shSeFe(ttot,all_regi,all_enty) "share of secondary energy on total secondary energy type (liquids, solids and gases) [0..1]" +v_shSeFeSector(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "share of secondary energy on secondary energy type (liquids, solids and gases) per final energy, sector and emission market [0..1]" v_shGasLiq_fe(ttot,all_regi,emi_sectors) "share of gases and liquids in sector final energy [0..1]" vm_emiCdrAll(ttot,all_regi) "all CDR emissions" @@ -443,7 +443,7 @@ vm_transpGDPscale(ttot,all_regi) "dampening factor to $ifthen.seFeSectorShareDev not "%cm_seFeSectorShareDevMethod%" == "off" v_penSeFeSectorShare(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "penalty for secondary energy share deviation in sectors" - vm_penSeFeSectorShareDevCost(ttot,all_regi) "total penalty cost for secondary energy share deviation in sectors" + vm_penSeFeSectorShareDevCost(ttot,all_regi) "total penalty cost for secondary energy share deviation in sectors" $endif.seFeSectorShareDev $ifthen.minMaxSeFeSectorShareDev "%cm_seFeSectorShareDevMethod%" == "minMaxAvrgShare" @@ -451,6 +451,7 @@ $ifthen.minMaxSeFeSectorShareDev "%cm_seFeSectorShareDevMethod%" == "minMaxAvrgS v_PosPenSeFeSectorShare(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "min-max positive penalty for secondary energy share deviation in sectors" $endif.minMaxSeFeSectorShareDev ; + ***---------------------------------------------------------------------------------------- *** EQUATIONS ***---------------------------------------------------------------------------------------- @@ -556,8 +557,8 @@ q_shGreenH2(ttot,all_regi) "share of green hydrogen in all hydrogen" q_shBioTrans(ttot,all_regi) "Define the share of biofuels in transport liquids from 2025 on." q_shfe(ttot,all_regi,all_enty,emi_sectors) "share of final energy carrier in the sector final energy" -q_shSeFe(ttot,all_regi,all_enty,all_enty) "share of secondary energy on total final energy" -q_shSeFeSector(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "share of secondary energy in sector total final energy per emission market" +q_shSeFe(ttot,all_regi,all_enty) "share of secondary energy on total secondary energy type (liquids, solids and gases)" +q_shSeFeSector(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "share of secondary energy on secondary energy type (liquids, solids and gases) per final energy, sector and emission market" q_shGasLiq_fe(ttot,all_regi,emi_sectors) "share of gases and liquids in sector final energy" q_shbiofe_up(ttot,all_regi,all_enty,emi_sectors,all_emiMkt) "share of biomass per carrier in sector final energy (upper bound)" @@ -572,8 +573,8 @@ q_heat_limit(ttot,all_regi) "equation to limit maximum level of secondary energ $ENDIF.sehe_upper $ifthen.seFeSectorShareDev not "%cm_seFeSectorShareDevMethod%" == "off" - q_penSeFeSectorShareDev(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "penalty for secondary energy share deviation in sectors" q_penSeFeSectorShareDevCost(ttot,all_regi) "total penalty cost for secondary energy share deviation in sectors" + q_penSeFeSectorShareDev(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "penalty for secondary energy share deviation in sectors" $endif.seFeSectorShareDev $ifthen.minMaxSeFeSectorShareDev "%cm_seFeSectorShareDevMethod%" == "minMaxAvrgShare" diff --git a/core/equations.gms b/core/equations.gms index 6f7ff5bda..e3a501180 100644 --- a/core/equations.gms +++ b/core/equations.gms @@ -1068,26 +1068,25 @@ q_shfe(t,regi,entyFe,sector)$(pm_shfe_up(t,regi,entyFe,sector) OR pm_shfe_lo(t,r vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt))) ; -q_shSeFe(t,regi,entySe,seAgg)$seAgg2se(seAgg,entySe).. - v_shSefe(t,regi,entySe,seAgg) - * sum((sector,emiMkt)$sector2emiMkt(sector,emiMkt), - sum(entyFe$(seAgg2fe(seAgg,entyFe) AND entyFe2Sector(entyFe,sector)), - sum(entySe2$(seAgg2se(seAgg,entySe2) AND sefe(entySe2,entyFe) AND entyFe2Sector(entyFe,sector)), - vm_demFeSector_afterTax(t,regi,entySe2,entyFe,sector,emiMkt)))) +q_shSeFe(t,regi,entySe)$(entySeBio(entySe) OR entySeSyn(entySe) OR entySeFos(entySe)).. !!secondary energy carriers shares in final energy demand calculated only for entySeBio, entySeSyn and entySeFos + v_shSeFe(t,regi,entySe) + * sum(seAgg$seAgg2se(seAgg,entySe), !!controlling the list of secondary energy carriers to sum up + sum((sector,emiMkt)$sector2emiMkt(sector,emiMkt), + sum(entySe2$seAgg2se(seAgg,entySe2), + sum(entyFe$(sefe(entySe2,entyFe) AND entyFe2Sector(entyFe,sector)), + vm_demFeSector_afterTax(t,regi,entySe2,entyFe,sector,emiMkt))))) =e= sum((sector,emiMkt)$sector2emiMkt(sector,emiMkt), - sum(entyFe$(seAgg2fe(seAgg,entyFe) AND entyFe2Sector(entyFe,sector)), + sum(entyFe$(sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector)), vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt))) ; - -q_shSeFeSector(t,regi,entySe,seAgg,sector,emiMkt)$(seAgg2se(seAgg,entySe) AND sector2emiMkt(sector,emiMkt)).. - v_shSefeSector(t,regi,entySe,seAgg,sector,emiMkt) - * sum(entyFe$(seAgg2fe(seAgg,entyFe) AND entyFe2Sector(entyFe,sector)), - sum(entySe2$(seAgg2se(seAgg,entySe2) AND sefe(entySe2,entyFe) AND entyFe2Sector(entyFe,sector)), - vm_demFeSector_afterTax(t,regi,entySe2,entyFe,sector,emiMkt))) + +q_shSeFeSector(t,regi,entySe,entyFe,sector,emiMkt)$((entySeBio(entySe) OR entySeSyn(entySe) OR entySeFos(entySe)) AND (sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt))).. + v_shSeFeSector(t,regi,entySe,entyFe,sector,emiMkt) + * sum(entySe2$sefe(entySe2,entyFe), + vm_demFeSector_afterTax(t,regi,entySe2,entyFe,sector,emiMkt)) =e= - sum(entyFe$(seAgg2fe(seAgg,entyFe) AND entyFe2Sector(entyFe,sector)), - vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt)) + vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt) ; q_shGasLiq_fe(t,regi,sector)$(pm_shGasLiq_fe_up(t,regi,sector) OR pm_shGasLiq_fe_lo(t,regi,sector)).. @@ -1155,43 +1154,86 @@ q_shbiofe_lo(t,regi,entyFe,sector,emiMkt)$((sameas(entyFe,"fegas") or sameas(ent ***--------------------------------------------------------------------------- $ifthen.seFeSectorShareDev "%cm_seFeSectorShareDevMethod%" == "sqSectorShare" -q_penSeFeSectorShareDev(t,regi,entySe,seAgg,sector,emiMkt)$(seAgg2se(seAgg,entySe) AND sector2emiMkt(sector,emiMkt) AND (entySeBio(entySe) OR entySeSyn(entySe))).. - v_penSeFeSectorShare(t,regi,entySe,seAgg,sector,emiMkt) +q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$( + ( sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt) ) AND !!only create the equation for valid cobinations of entySe, entyFe, sector and emiMkt + ( (entySeBio(entySe) OR entySeSyn(entySe)) ) AND !!share incentives only need to be applied to n-1 secondary energy carriers + ( (NOT(sameas(sector,"build") AND (t.val le 2025))) + OR (NOT(sameas(sector,"indst") AND (t.val le 2025))) + OR (NOT(sameas(sector,"cdr") AND (t.val le 2025))) + ) AND !!disable historical year share incentives to buildings, industry and CDR + ( NOT(sameas(sector,"build") AND (sameas(entyFE,"fesos"))) ) !!disable buildings solids share incentives + ).. + v_penSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) =e= - power(v_shSefeSector(t,regi,entySe,seAgg,sector,emiMkt) ,2) - * (1$sameas("%c_seFeSectorShareDevUnit%","share") - + (sum(entyFe$(seAgg2fe(seAgg,entyFe) AND entyFe2Sector(entyFe,sector)), vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt)))$(sameas("%c_seFeSectorShareDevUnit%","energy")) ) + power(v_shSeFeSector(t,regi,entySe,entyFe,sector,emiMkt) ,2) + * (1$sameas("%c_seFeSectorShareDevUnit%","share") + ( vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt) )$(sameas("%c_seFeSectorShareDevUnit%","energy")) ) !!define deviation in share or energy units ; $elseIf.seFeSectorShareDev "%cm_seFeSectorShareDevMethod%" == "sqSectorAvrgShare" -q_penSeFeSectorShareDev(t,regi,entySe,seAgg,sector,emiMkt)$(seAgg2se(seAgg,entySe) AND sector2emiMkt(sector,emiMkt) AND (entySeBio(entySe) OR entySeSyn(entySe))).. - v_penSeFeSectorShare(t,regi,entySe,seAgg,sector,emiMkt) +q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$( + ( sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt) ) AND !!only create the equation for valid cobinations of entySe, entyFe, sector and emiMkt + ( (entySeBio(entySe) OR entySeSyn(entySe)) ) AND !!share incentives only need to be applied to n-1 secondary energy carriers + ( (NOT(sameas(sector,"build") AND (t.val le 2025))) + OR (NOT(sameas(sector,"indst") AND (t.val le 2025))) + OR (NOT(sameas(sector,"cdr") AND (t.val le 2025))) + ) AND !!disable historical year share incentives to buildings, industry and CDR + ( NOT(sameas(sector,"build") AND (sameas(entyFE,"fesos"))) ) !!disable buildings solids share incentives + ).. + v_penSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) =e= - power(v_shSefe(t,regi,entySe,seAgg) - v_shSefeSector(t,regi,entySe,seAgg,sector,emiMkt) ,2) - * (1$sameas("%c_seFeSectorShareDevUnit%","share") - + (sum(entyFe$(seAgg2fe(seAgg,entyFe) AND entyFe2Sector(entyFe,sector)), vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt)))$(sameas("%c_seFeSectorShareDevUnit%","energy")) ) + power(v_shSeFe(t,regi,entySe) - v_shSeFeSector(t,regi,entySe,entyFe,sector,emiMkt) ,2) + * (1$sameas("%c_seFeSectorShareDevUnit%","share") + ( vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt) )$(sameas("%c_seFeSectorShareDevUnit%","energy")) ) !!define deviation in share or energy units ; $elseIf.seFeSectorShareDev "%cm_seFeSectorShareDevMethod%" == "minMaxAvrgShare" -q_penSeFeSectorShareDev(t,regi,entySe,seAgg,sector,emiMkt)$(seAgg2se(seAgg,entySe) AND sector2emiMkt(sector,emiMkt) AND (entySeBio(entySe) OR entySeSyn(entySe))).. - v_penSeFeSectorShare(t,regi,entySe,seAgg,sector,emiMkt) +q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$( + ( sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt) ) AND !!only create the equation for valid cobinations of entySe, entyFe, sector and emiMkt + ( (entySeBio(entySe) OR entySeSyn(entySe)) ) AND !!share incentives only need to be applied to n-1 secondary energy carriers + ( (NOT(sameas(sector,"build") AND (t.val le 2025))) + OR (NOT(sameas(sector,"indst") AND (t.val le 2025))) + OR (NOT(sameas(sector,"cdr") AND (t.val le 2025))) + ) AND !!disable historical year share incentives to buildings, industry and CDR + ( NOT(sameas(sector,"build") AND (sameas(entyFE,"fesos"))) ) !!disable buildings solids share incentives + ).. + v_penSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) =e= - v_NegPenSeFeSectorShare(t,regi,entySe,seAgg,sector,emiMkt) + v_PosPenSeFeSectorShare(t,regi,entySe,seAgg,sector,emiMkt) + v_NegPenSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) + + v_PosPenSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) ; -q_minMaxPenSeFeSectorShareDev(t,regi,entySe,seAgg,sector,emiMkt)$(seAgg2se(seAgg,entySe) AND sector2emiMkt(sector,emiMkt) AND (entySeBio(entySe) OR entySeSyn(entySe))).. - v_shSefe(t,regi,entySe,seAgg) - - v_shSefeSector(t,regi,entySe,seAgg,sector,emiMkt) - + v_NegPenSeFeSectorShare(t,regi,entySe,seAgg,sector,emiMkt) - - v_PosPenSeFeSectorShare(t,regi,entySe,seAgg,sector,emiMkt) - =e= 0 + +q_minMaxPenSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$( + ( sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt) ) AND !!only create the equation for valid cobinations of entySe, entyFe, sector and emiMkt + ( (entySeBio(entySe) OR entySeSyn(entySe)) ) AND !!share incentives only need to be applied to n-1 secondary energy carriers + ( (NOT(sameas(sector,"build") AND (t.val le 2025))) + OR (NOT(sameas(sector,"indst") AND (t.val le 2025))) + OR (NOT(sameas(sector,"cdr") AND (t.val le 2025))) + ) AND !!disable historical year share incentives to buildings, industry and CDR + ( NOT(sameas(sector,"build") AND (sameas(entyFE,"fesos"))) ) !!disable buildings solids share incentives + ).. + ( + v_shSeFe(t,regi,entySe) + - v_shSeFeSector(t,regi,entySe,entyFe,sector,emiMkt) + + v_NegPenSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) + - v_PosPenSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) + ) + * !!define deviation in share or energy units + ( 1$sameas("%c_seFeSectorShareDevUnit%","share") + + (sum(seAgg$seAgg2se(seAgg,entySe), + sum(entyFe2$(seAgg2fe(seAgg,entyFe2) AND entyFe2Sector(entyFe2,sector)), + sum(entySe2$(seAgg2se(seAgg,entySe2) AND sefe(entySe2,entyFe2) AND entyFe2Sector(entyFe2,sector)), + vm_demFeSector_afterTax(t,regi,entySe2,entyFe2,sector,emiMkt)))) + )$sameas("%c_seFeSectorShareDevUnit%","energy") + ) + =e= + 0 ; $endif.seFeSectorShareDev $ifthen.penSeFeSectorShareDevCost not "%cm_seFeSectorShareDevMethod%" == "off" q_penSeFeSectorShareDevCost(t,regi).. - vm_penSeFeSectorShareDevCost(t,regi) - =e= - sum((entySe,seAgg,sector,emiMkt)$(seAgg2se(seAgg,entySe) AND sector2emiMkt(sector,emiMkt) AND (entySeBio(entySe) OR entySeSyn(entySe))), - v_penSeFeSectorShare(t,regi,entySe,seAgg,sector,emiMkt) - ) * c_seFeSectorShareDevScale + vm_penSeFeSectorShareDevCost(t,regi) + =e= + sum((entySe,entyFe,sector,emiMkt)$( sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt) ), + v_penSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) + ) * c_seFeSectorShareDevScale ; $endif.penSeFeSectorShareDevCost diff --git a/core/preloop.gms b/core/preloop.gms index e9d47386d..cb8740bb2 100644 --- a/core/preloop.gms +++ b/core/preloop.gms @@ -190,23 +190,34 @@ Execute_Loadpoint 'input_ref' vm_capEarlyReti.l = vm_capEarlyReti.l; ); *** initialize secondary energy shares in sectors if deviations are penalized, i.e., if cm_seFeSectorShareDevMethod is enabled -p_shSefe(t,regi,entySe,seAgg)$(seAgg2se(seAgg,entySe) AND sum((sector,emiMkt)$sector2emiMkt(sector,emiMkt), sum(entyFe$(seAgg2fe(seAgg,entyFe) AND entyFe2Sector(entyFe,sector)), sum(entySe2$(seAgg2se(seAgg,entySe2) AND sefe(entySe2,entyFe) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt))))) = - sum((sector,emiMkt)$sector2emiMkt(sector,emiMkt), sum(entyFe$(seAgg2fe(seAgg,entyFe) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe,entyFe,sector,emiMkt))) +p_shSeFe(t,regi,entySe)$((entySeBio(entySe) OR entySeSyn(entySe) OR entySeFos(entySe)) AND sum(seAgg$seAgg2se(seAgg,entySe), sum((sector,emiMkt)$sector2emiMkt(sector,emiMkt), sum(entySe2$seAgg2se(seAgg,entySe2), sum(entyFe$(sefe(entySe2,entyFe) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt))))) ) = + sum((sector,emiMkt)$sector2emiMkt(sector,emiMkt), sum(entyFe$(sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe,entyFe,sector,emiMkt))) / - sum((sector,emiMkt)$sector2emiMkt(sector,emiMkt), sum(entyFe$(seAgg2fe(seAgg,entyFe) AND entyFe2Sector(entyFe,sector)), sum(entySe2$(seAgg2se(seAgg,entySe2) AND sefe(entySe2,entyFe) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt)))); -v_shSefe.l(t,regi,entySe,seAgg) = p_shSefe(t,regi,entySe,seAgg); + sum(seAgg$seAgg2se(seAgg,entySe), sum((sector,emiMkt)$sector2emiMkt(sector,emiMkt), sum(entySe2$seAgg2se(seAgg,entySe2), sum(entyFe$(sefe(entySe2,entyFe) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt))))); +v_shSeFe.l(t,regi,entySe)$p_shSeFe(t,regi,entySe) = p_shSeFe(t,regi,entySe); + $ifthen.penSeFeSectorShareDevCost not "%cm_seFeSectorShareDevMethod%" == "off" -loop(seAgg, - vm_demFeSector.l(t,regi,entySe,entyFe,sector,emiMkt)$(seAgg2se(seAgg,entySe) AND sum(entySe2$seAgg2se(seAgg,entySe2), vm_demFeSector.l(t,regi,entySe,entyFe,sector,emiMkt))) = - sum(entySe2$(sefe(entySe2,entyFe) AND sector2emiMkt(sector,emiMkt) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt)) * p_shSefe(t,regi,entySe,seAgg); -); +vm_demFeSector.l(t,regi,entySe,entyFe,sector,emiMkt)$( + ( p_shSeFe(t,regi,entySe) ) AND + ( entySeBio(entySe) OR entySeSyn(entySe) OR entySeFos(entySe) ) AND !! only redefine vm_demFeSector for entySeBio, entySeSyn and entySeFos items + ( sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt) ) AND !!only create the equation for valid cobinations of entySe, entyFe, sector and emiMkt + ( (entySeBio(entySe) OR entySeSyn(entySe)) ) AND !!share incentives only need to be applied to n-1 secondary energy carriers + ( (NOT(sameas(sector,"build") AND (t.val le 2025))) + OR (NOT(sameas(sector,"indst") AND (t.val le 2025))) + OR (NOT(sameas(sector,"cdr") AND (t.val le 2025))) + ) AND !!disable historical year share incentives to buildings, industry and CDR + ( NOT(sameas(sector,"build") AND (sameas(entyFE,"fesos"))) ) !!disable buildings solids share incentives +) = + sum(entySe2$sefe(entySe2,entyFe), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt)) + * p_shSeFe(t,regi,entySe); vm_demFeSector_afterTax.l(t,regi,entySe,entyFe,sector,emiMkt) = vm_demFeSector.l(t,regi,entySe,entyFe,sector,emiMkt); $endif.penSeFeSectorShareDevCost -p_shSefeSector(t,regi,entySe,seAgg,sector,emiMkt)$(seAgg2se(seAgg,entySe) AND sum(entyFe$(seAgg2fe(seAgg,entyFe) AND entyFe2Sector(entyFe,sector)), sum(entySe2$(seAgg2se(seAgg,entySe2) AND sefe(entySe2,entyFe) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt)))) = - sum(entyFe$(seAgg2fe(seAgg,entyFe) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe,entyFe,sector,emiMkt)) + +p_shSeFeSector(t,regi,entySe,entyFe,sector,emiMkt)$((entySeBio(entySe) OR entySeSyn(entySe) OR entySeFos(entySe)) AND (sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt)) AND sum(entySe2$sefe(entySe2,entyFe), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt)) ) = + vm_demFeSector.l(t,regi,entySe,entyFe,sector,emiMkt) / - sum(entyFe$(seAgg2fe(seAgg,entyFe) AND entyFe2Sector(entyFe,sector)), sum(entySe2$(seAgg2se(seAgg,entySe2) AND sefe(entySe2,entyFe) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt))); -v_shSefeSector.l(t,regi,entySe,seAgg,sector,emiMkt) = p_shSefeSector(t,regi,entySe,seAgg,sector,emiMkt); -display p_shSefe,p_shSefeSector,vm_demFeSector.l; + sum(entySe2$sefe(entySe2,entyFe), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt)) +; +v_shSeFeSector.l(t,regi,entySe,entyFe,sector,emiMkt)$p_shSeFeSector(t,regi,entySe,entyFe,sector,emiMkt) = p_shSeFeSector(t,regi,entySe,entyFe,sector,emiMkt); *** EOF ./core/preloop.gms From 36d34f79b11a2344e05ad67aa1918d2926595cf1 Mon Sep 17 00:00:00 2001 From: orichters Date: Mon, 19 Aug 2024 09:49:08 +0200 Subject: [PATCH 328/875] read withoutPlus mif, remove inf from MAgPIE --- DESCRIPTION | 2 +- scripts/output/single/reporting.R | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 260276f92..99ec97322 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -56,7 +56,7 @@ Imports: piamutils, plotly, purrr, - quitte (>= 0.3137.0), + quitte (>= 0.3137.1), R.utils, raster, readr, diff --git a/scripts/output/single/reporting.R b/scripts/output/single/reporting.R index b438e714c..3c14e1bf9 100644 --- a/scripts/output/single/reporting.R +++ b/scripts/output/single/reporting.R @@ -119,12 +119,14 @@ if (! is.null(magpie_reporting_file) && file.exists(magpie_reporting_file)) { } # harmonize scenario name from -mag-xx to -rem-xx tmp_mag$scenario <- paste0(scenario) + tmp_mag$value[! is.finite(tmp_mag$value)] <- NA # MAgPIE reports Inf https://github.com/pik-piam/magpie4/issues/70 tmp_rem_mag <- rbind(tmp_rem, tmp_mag) quitte::write.mif(tmp_rem_mag, path = remind_reporting_file) piamutils::deletePlus(remind_reporting_file, writemif = TRUE) } -invisible(quitte::reportDuplicates(piamutils::deletePlus(quitte::read.quitte(remind_reporting_file, check.duplicates = FALSE)))) +# warn if duplicates in mif +reportDuplicates(read.quitte(sub("\\.mif$", "_withoutPlus.mif", remind_reporting_file), check.duplicates = FALSE)) message("### end generation of mif files at ", Sys.time()) From eec394476edf1cfbda59cfb9ac58e640be7cc065 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Mon, 19 Aug 2024 11:54:19 +0200 Subject: [PATCH 329/875] add note to historical fixings in regipol module --- modules/47_regipol/regiCarbonPrice/bounds.gms | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/47_regipol/regiCarbonPrice/bounds.gms b/modules/47_regipol/regiCarbonPrice/bounds.gms index dd4b86093..bfc412436 100644 --- a/modules/47_regipol/regiCarbonPrice/bounds.gms +++ b/modules/47_regipol/regiCarbonPrice/bounds.gms @@ -33,6 +33,7 @@ $endIf.tech_bounds_2025 *' These bounds account for historic gas power development. +*' TODO: Historical fixings should be done in the core the via input data from mrremind, this still needs to be moved v47_prodSEtotal.up("2020",regi,"pegas","seel")$(sameAs(regi,"DEU"))= 0.36*sm_EJ_2_TWa; $ifThen.tech_bounds_2025 "%cm_tech_bounds_2025%" == "on" v47_prodSEtotal.up("2025",regi,"pegas","seel")$(sameAs(regi,"DEU"))= 0.4*sm_EJ_2_TWa; @@ -49,6 +50,7 @@ vm_capEarlyReti.up('2025',regi,'pc')$(sameAs(regi,"DEU")) = 0.65; *' coal share of chp heat output to be between 20-25% of total district heating demand *' gas share of chp heat output to be between 50-55% of total district heating demand *' bio share of chp heat output to be between 15-25% of total district heating demand +*' TODO: Historical fixings should be done in the core via input data from mrremind, this still needs to be moved loop(regi$(sameAs(regi,"DEU")), loop(t$(t.val eq 2020), vm_cap.lo(t,regi,"coalchp","1")= 0.2 From ff882c4b7d72f4c5f5457f4c3be2e5a221bf1485 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Mon, 19 Aug 2024 17:25:31 +0200 Subject: [PATCH 330/875] remove Germany CCS limit for 2030 which had been removed in the trunk --- modules/47_regipol/regiCarbonPrice/bounds.gms | 3 --- 1 file changed, 3 deletions(-) diff --git a/modules/47_regipol/regiCarbonPrice/bounds.gms b/modules/47_regipol/regiCarbonPrice/bounds.gms index bfc412436..7eb31a7d8 100644 --- a/modules/47_regipol/regiCarbonPrice/bounds.gms +++ b/modules/47_regipol/regiCarbonPrice/bounds.gms @@ -124,9 +124,6 @@ loop(regi$(sameAs(regi,"DEU")), *' ####### Carbon Management -*' This limits CO2 underground injection up to 2030 in line with recent developments as of 2023. -vm_co2CCS.up(t,regi,"cco2","ico2",te,rlf)$((t.val le 2030) AND (sameas(regi,"DEU"))) = 1e-3; - *' only start industry carbon capture in Germany by 2030 as status of projects for 2025 unclear, *' see IEA CCUS database https://www.iea.org/data-and-statistics/data-tools/ccus-projects-explorer vm_emiIndCCS.up(t,regi,emiInd37)$(sameAs(regi,"DEU") AND t.val lt 2030)=0; From ce498d0a588688b9c8c97df6ab507fb6f8c60f7e Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Mon, 19 Aug 2024 15:44:18 +0000 Subject: [PATCH 331/875] Release development version 3.3.2.dev359 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index d0619e941..646fe034f 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,8 +266,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev343" -date-released: 2024-08-15 +version: "3.3.2.dev359" +date-released: 2024-08-19 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 89c15f933..bc6608cd7 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev343" +cfg$model_version <- "3.3.2.dev359" #### settings #### cfg$gms <- list() From 994a417f327c28e2b49f889a8da9cf36a23b5a6c Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Mon, 19 Aug 2024 20:15:58 +0200 Subject: [PATCH 332/875] enforce 2020 biomass sector shares and extend the enforcement to transport fe carriers --- core/equations.gms | 14 +++++++------- core/sets.gms | 12 +++++++++++- core/sets_calculations.gms | 6 ++++++ modules/04_PE_FE_parameters/iea2014/datainput.gms | 4 ++-- 4 files changed, 26 insertions(+), 10 deletions(-) diff --git a/core/equations.gms b/core/equations.gms index cc6a4a1c0..1b2e64712 100644 --- a/core/equations.gms +++ b/core/equations.gms @@ -1110,23 +1110,23 @@ q_limitCapFeH2BI(t,regi,sector)$(SAMEAS(sector,"build") OR SAMEAS(sector,"indst" ; ***--------------------------------------------------------------------------- -*' Enforce historical data biomass share per carrier in sector final energy for buildings and industry (+- 2%) +*' Enforce historical data biomass share per carrier in sector final energy for transport, buildings and industry (+- 2%) ***--------------------------------------------------------------------------- -q_shbiofe_up(t,regi,entyFe,sector,emiMkt)$((sameas(entyFe,"fegas") or sameas(entyFe,"fehos") or sameas(entyFe,"fesos")) and entyFe2Sector(entyFe,sector) and sector2emiMkt(sector,emiMkt) and (t.val le 2015)).. +q_shbiofe_up(t,regi,entyFe,sector,emiMkt)$(pm_secBioShare(t,regi,entyFe,sector) and sector2emiMkt(sector,emiMkt)).. (pm_secBioShare(t,regi,entyFe,sector) + 0.02) * - sum((entySe,te)$se2fe(entySe,entyFe,te), vm_demFeSector(t,regi,entySe,entyFe,sector,emiMkt)) + sum((entySe,te)$se2fe(entySe,entyFe,te), vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt)) =g= - sum((entySeBio,te)$se2fe(entySeBio,entyFe,te), vm_demFeSector(t,regi,entySeBio,entyFe,sector,emiMkt)) + sum((entySeBio,te)$se2fe(entySeBio,entyFe,te), vm_demFeSector_afterTax(t,regi,entySeBio,entyFe,sector,emiMkt)) ; -q_shbiofe_lo(t,regi,entyFe,sector,emiMkt)$((sameas(entyFe,"fegas") or sameas(entyFe,"fehos") or sameas(entyFe,"fesos")) and entyFe2Sector(entyFe,sector) and sector2emiMkt(sector,emiMkt) and (t.val le 2015)).. +q_shbiofe_lo(t,regi,entyFe,sector,emiMkt)$(pm_secBioShare(t,regi,entyFe,sector) and sector2emiMkt(sector,emiMkt)).. (pm_secBioShare(t,regi,entyFe,sector) - 0.02) * - sum((entySe,te)$se2fe(entySe,entyFe,te), vm_demFeSector(t,regi,entySe,entyFe,sector,emiMkt)) + sum((entySe,te)$se2fe(entySe,entyFe,te), vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt)) =l= - sum((entySeBio,te)$se2fe(entySeBio,entyFe,te), vm_demFeSector(t,regi,entySeBio,entyFe,sector,emiMkt)) + sum((entySeBio,te)$se2fe(entySeBio,entyFe,te), vm_demFeSector_afterTax(t,regi,entySeBio,entyFe,sector,emiMkt)) ; *** EOF ./core/equations.gms diff --git a/core/sets.gms b/core/sets.gms index dd972a068..8de75c321 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -2042,7 +2042,7 @@ ppfEn2Sector(all_in,emi_sectors) "primary energy production factors mapping to s fegai.cdr / -entyFeSec2entyFeDetail(all_enty,emi_sectors,all_enty) "final energy (stationary) and sector mapping to detailed final energy enty split by buildings and industry" +entyFeSec2entyFeDetail(all_enty,emi_sectors,all_enty) "final energy and sector mapping to detailed final energy enty split in IO" / fegas.build.fegab fegas.indst.fegai @@ -2056,6 +2056,16 @@ entyFeSec2entyFeDetail(all_enty,emi_sectors,all_enty) "final energy (stationary) fehes.indst.fehei *** feh2s.build.feh2b *** feh2s.indst.feh2i + fepet.trans.fepet + fedie.trans.fedie +*** feh2t.trans + feelt.trans.feelt + fegat.trans.fegat +*** feels.cdr +*** fehes.cdr +*** fegas.cdr +*** feh2s.cdr +*** fedie.cdr / all_emiMkt "emission markets" diff --git a/core/sets_calculations.gms b/core/sets_calculations.gms index 1b2e3f977..bd58f583f 100644 --- a/core/sets_calculations.gms +++ b/core/sets_calculations.gms @@ -146,6 +146,12 @@ fete(entyFe,te) = YES; sefe(entySe,entyFe) = YES; ); +loop(seAgg2se(seAgg,entySe), + loop(sefe(entySe,entyFe), + seAgg2fe(seAgg,entyFe) = YES; + ); +); + *** extended region group set regi_groupExt(ext_regi,all_regi)$regi_group(ext_regi,all_regi) = Yes; loop(all_regi, diff --git a/modules/04_PE_FE_parameters/iea2014/datainput.gms b/modules/04_PE_FE_parameters/iea2014/datainput.gms index 7cd7f08ea..d90c718c0 100644 --- a/modules/04_PE_FE_parameters/iea2014/datainput.gms +++ b/modules/04_PE_FE_parameters/iea2014/datainput.gms @@ -164,8 +164,8 @@ $endif.subsectors f04_IO_input(ttot,regi,all_enty,all_enty2,all_te) = f04_IO_input(ttot,regi,all_enty,all_enty2,all_te) * sm_EJ_2_TWa; f04_IO_output(ttot,regi,all_enty,all_enty2,all_te) = f04_IO_output(ttot,regi,all_enty,all_enty2,all_te) * sm_EJ_2_TWa; -*** calculate bio share per carrier for buildings and industry (only for historically available years) -pm_secBioShare(ttot,regi,entyFe,sector)$((sameas(entyFe,"fegas") or sameas(entyFe,"fehos") or sameas(entyFe,"fesos")) and entyFe2Sector(entyFe,sector) and (ttot.val ge 2005 and ttot.val le 2015) and (sum((entySe,all_enty,all_te)$entyFeSec2entyFeDetail(entyFe,sector,all_enty), f04_IO_output(ttot,regi,entySe,all_enty,all_te) ) gt 0)) = +*** calculate bio share per fe carrier (only for historically available years) +pm_secBioShare(ttot,regi,entyFe,sector)$((seAgg2fe("all_seso",entyFe) OR seAgg2fe("all_seliq",entyFe) OR seAgg2fe("all_sega",entyFe)) AND entyFe2Sector(entyFe,sector) and (ttot.val ge 2005 and ttot.val le 2020) and (sum((entySe,all_enty,all_te)$entyFeSec2entyFeDetail(entyFe,sector,all_enty), f04_IO_output(ttot,regi,entySe,all_enty,all_te) ) gt 0)) = sum((entySeBio,all_enty,all_te)$entyFeSec2entyFeDetail(entyFe,sector,all_enty), f04_IO_output(ttot,regi,entySeBio,all_enty,all_te) ) / sum((entySe,all_enty,all_te)$entyFeSec2entyFeDetail(entyFe,sector,all_enty), f04_IO_output(ttot,regi,entySe,all_enty,all_te) ) From f285f09ca918315e60c3e99e094366c2c00ab03c Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Mon, 19 Aug 2024 20:35:33 +0200 Subject: [PATCH 333/875] add missing set --- core/sets.gms | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/sets.gms b/core/sets.gms index 8de75c321..e39611a16 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -2458,6 +2458,8 @@ seAgg2se(all_enty,all_enty) "map secondary energy aggregation to se" all_sega.segasyn / +seAgg2fe(all_enty,all_enty) "map secondary energy aggregation to fe" + capTotal(all_enty,all_enty) "mapping of input to output carriers for calculating total capacities without technology differentiation vm_capTotal" / pecoal.seel From 76909ded184fb4e03d6e2f05545ff1009f7b3f40 Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Mon, 19 Aug 2024 20:41:05 +0200 Subject: [PATCH 334/875] add 2040 to the EU27 comparison scenario plots --- scripts/cs2/profiles.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/cs2/profiles.json b/scripts/cs2/profiles.json index 2dfe7cef5..ad7336a95 100644 --- a/scripts/cs2/profiles.json +++ b/scripts/cs2/profiles.json @@ -30,7 +30,7 @@ "reg": "c('DEU', 'ECE', 'ECS', 'ENC', 'ESC', 'ESW', 'EU27', 'EWN', 'FRA')", "yearsScen": "seq(2005, 2050, 5)", "yearsHist": "c(seq(1990, 2024, 1), seq(2025, 2050, 5))", - "yearsBarPlot": "c(2020, 2030, 2050)", + "yearsBarPlot": "c(2020, 2030, 2040, 2050)", "mainReg": "'EU27'" }, "AriadneDEU": { From 12a9dfaaa7708bf1c9413965825f52b550b9751d Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 20 Aug 2024 09:12:25 +0000 Subject: [PATCH 335/875] Release development version 3.3.2.dev364 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 646fe034f..08c5106da 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,8 +266,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev359" -date-released: 2024-08-19 +version: "3.3.2.dev364" +date-released: 2024-08-20 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index bc6608cd7..c5344b091 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev359" +cfg$model_version <- "3.3.2.dev364" #### settings #### cfg$gms <- list() From ba7fd3752a1b460b59ea8d6f0688cf8d096cf2b0 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 20 Aug 2024 10:52:56 +0000 Subject: [PATCH 336/875] Release development version 3.3.2.dev367 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 08c5106da..4690b665c 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,7 +266,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev364" +version: "3.3.2.dev367" date-released: 2024-08-20 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index c5344b091..eb6482fcf 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev364" +cfg$model_version <- "3.3.2.dev367" #### settings #### cfg$gms <- list() From 9f5dffd9a9fb77e13ade2ea2a767647808fad203 Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Tue, 20 Aug 2024 17:55:41 +0200 Subject: [PATCH 337/875] enabling biohp and biochp early retirement rate --- core/bounds.gms | 2 ++ core/datainput.gms | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/core/bounds.gms b/core/bounds.gms index 4c32b68e6..35cf11cbc 100755 --- a/core/bounds.gms +++ b/core/bounds.gms @@ -350,6 +350,8 @@ vm_capEarlyReti.up(ttot,regi,te)$(teFosNoCCS(te)) = 1; vm_capEarlyReti.up(ttot,regi,"tnrs") = 1; *** allow early retirement of biomass used in electricity vm_capEarlyReti.up(ttot,regi,"bioigcc") = 1; +vm_capEarlyReti.up(ttot,regi,"biohp") = 1; +vm_capEarlyReti.up(ttot,regi,"biochp") = 1; ***restrict early retirement to the modeling time frame (to reduce runtime, the early retirement equations are phased out after 2110) vm_capEarlyReti.up(ttot,regi,te)$(ttot.val lt 2009 or ttot.val gt 2111) = 0; diff --git a/core/datainput.gms b/core/datainput.gms index 1e3651ef9..f015ed22f 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -755,11 +755,11 @@ loop(ext_regi$pm_extRegiEarlyRetiRate(ext_regi), pm_regiEarlyRetiRate(t,regi,"ngt") = 0.3 * pm_regiEarlyRetiRate(t,regi,"ngt") ; !! ngt should only be phased out very slowly, as they provide flexibility - which REMIND is not too good at capturing endogeneously pm_regiEarlyRetiRate(t,regi,"gaschp") = 0.5 * pm_regiEarlyRetiRate(t,regi,"gaschp") ; !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input pm_regiEarlyRetiRate(t,regi,"coalchp") = 0.5 * pm_regiEarlyRetiRate(t,regi,"coalchp"); !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input -pm_regiEarlyRetiRate(t,regi,"biochp") = 0.5 * pm_regiEarlyRetiRate(t,regi,"biochp") ; !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input pm_regiEarlyRetiRate(t,regi,"gashp") = 0.5 * pm_regiEarlyRetiRate(t,regi,"gashp") ; !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input pm_regiEarlyRetiRate(t,regi,"coalhp") = 0.5 * pm_regiEarlyRetiRate(t,regi,"coalhp"); !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input -pm_regiEarlyRetiRate(t,regi,"biohp") = 0.5 * pm_regiEarlyRetiRate(t,regi,"biohp") ; !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input -pm_regiEarlyRetiRate(t,regi,"bioigcc") = 0.25 * pm_regiEarlyRetiRate(t,regi,"bioigcc") ; !! reduce bio early retirement rate +pm_regiEarlyRetiRate(t,regi,"biohp") = 0.25 * pm_regiEarlyRetiRate(t,regi,"biohp") ; !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input +pm_regiEarlyRetiRate(t,regi,"biochp") = 0.25 * pm_regiEarlyRetiRate(t,regi,"biochp") ; !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input +pm_regiEarlyRetiRate(t,regi,"bioigcc") = 0.25 * pm_regiEarlyRetiRate(t,regi,"bioigcc") ; !! reduce bio early retirement rate $ifthen.tech_earlyreti not "%c_tech_earlyreti_rate%" == "off" loop((ext_regi,te)$p_techEarlyRetiRate(ext_regi,te), From 9581f801bff957d1baf1a77717b3749863125d6d Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Tue, 20 Aug 2024 18:28:52 +0200 Subject: [PATCH 338/875] exclude years before or equal 2020 from bio+syn incentive shares --- core/equations.gms | 24 ++++++++++++------------ core/preloop.gms | 6 +++--- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/core/equations.gms b/core/equations.gms index e3a501180..bdf8f6f54 100644 --- a/core/equations.gms +++ b/core/equations.gms @@ -1157,9 +1157,9 @@ $ifthen.seFeSectorShareDev "%cm_seFeSectorShareDevMethod%" == "sqSectorShare" q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$( ( sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt) ) AND !!only create the equation for valid cobinations of entySe, entyFe, sector and emiMkt ( (entySeBio(entySe) OR entySeSyn(entySe)) ) AND !!share incentives only need to be applied to n-1 secondary energy carriers - ( (NOT(sameas(sector,"build") AND (t.val le 2025))) - OR (NOT(sameas(sector,"indst") AND (t.val le 2025))) - OR (NOT(sameas(sector,"cdr") AND (t.val le 2025))) + ( (NOT(sameas(sector,"build") AND (t.val le 2020))) + OR (NOT(sameas(sector,"indst") AND (t.val le 2020))) + OR (NOT(sameas(sector,"cdr") AND (t.val le 2020))) ) AND !!disable historical year share incentives to buildings, industry and CDR ( NOT(sameas(sector,"build") AND (sameas(entyFE,"fesos"))) ) !!disable buildings solids share incentives ).. @@ -1172,9 +1172,9 @@ $elseIf.seFeSectorShareDev "%cm_seFeSectorShareDevMethod%" == "sqSectorAvrgShare q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$( ( sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt) ) AND !!only create the equation for valid cobinations of entySe, entyFe, sector and emiMkt ( (entySeBio(entySe) OR entySeSyn(entySe)) ) AND !!share incentives only need to be applied to n-1 secondary energy carriers - ( (NOT(sameas(sector,"build") AND (t.val le 2025))) - OR (NOT(sameas(sector,"indst") AND (t.val le 2025))) - OR (NOT(sameas(sector,"cdr") AND (t.val le 2025))) + ( (NOT(sameas(sector,"build") AND (t.val le 2020))) + OR (NOT(sameas(sector,"indst") AND (t.val le 2020))) + OR (NOT(sameas(sector,"cdr") AND (t.val le 2020))) ) AND !!disable historical year share incentives to buildings, industry and CDR ( NOT(sameas(sector,"build") AND (sameas(entyFE,"fesos"))) ) !!disable buildings solids share incentives ).. @@ -1187,9 +1187,9 @@ $elseIf.seFeSectorShareDev "%cm_seFeSectorShareDevMethod%" == "minMaxAvrgShare" q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$( ( sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt) ) AND !!only create the equation for valid cobinations of entySe, entyFe, sector and emiMkt ( (entySeBio(entySe) OR entySeSyn(entySe)) ) AND !!share incentives only need to be applied to n-1 secondary energy carriers - ( (NOT(sameas(sector,"build") AND (t.val le 2025))) - OR (NOT(sameas(sector,"indst") AND (t.val le 2025))) - OR (NOT(sameas(sector,"cdr") AND (t.val le 2025))) + ( (NOT(sameas(sector,"build") AND (t.val le 2020))) + OR (NOT(sameas(sector,"indst") AND (t.val le 2020))) + OR (NOT(sameas(sector,"cdr") AND (t.val le 2020))) ) AND !!disable historical year share incentives to buildings, industry and CDR ( NOT(sameas(sector,"build") AND (sameas(entyFE,"fesos"))) ) !!disable buildings solids share incentives ).. @@ -1202,9 +1202,9 @@ q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$( q_minMaxPenSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$( ( sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt) ) AND !!only create the equation for valid cobinations of entySe, entyFe, sector and emiMkt ( (entySeBio(entySe) OR entySeSyn(entySe)) ) AND !!share incentives only need to be applied to n-1 secondary energy carriers - ( (NOT(sameas(sector,"build") AND (t.val le 2025))) - OR (NOT(sameas(sector,"indst") AND (t.val le 2025))) - OR (NOT(sameas(sector,"cdr") AND (t.val le 2025))) + ( (NOT(sameas(sector,"build") AND (t.val le 2020))) + OR (NOT(sameas(sector,"indst") AND (t.val le 2020))) + OR (NOT(sameas(sector,"cdr") AND (t.val le 2020))) ) AND !!disable historical year share incentives to buildings, industry and CDR ( NOT(sameas(sector,"build") AND (sameas(entyFE,"fesos"))) ) !!disable buildings solids share incentives ).. diff --git a/core/preloop.gms b/core/preloop.gms index cb8740bb2..e2e02d35d 100644 --- a/core/preloop.gms +++ b/core/preloop.gms @@ -202,9 +202,9 @@ vm_demFeSector.l(t,regi,entySe,entyFe,sector,emiMkt)$( ( entySeBio(entySe) OR entySeSyn(entySe) OR entySeFos(entySe) ) AND !! only redefine vm_demFeSector for entySeBio, entySeSyn and entySeFos items ( sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt) ) AND !!only create the equation for valid cobinations of entySe, entyFe, sector and emiMkt ( (entySeBio(entySe) OR entySeSyn(entySe)) ) AND !!share incentives only need to be applied to n-1 secondary energy carriers - ( (NOT(sameas(sector,"build") AND (t.val le 2025))) - OR (NOT(sameas(sector,"indst") AND (t.val le 2025))) - OR (NOT(sameas(sector,"cdr") AND (t.val le 2025))) + ( (NOT(sameas(sector,"build") AND (t.val le 2020))) + OR (NOT(sameas(sector,"indst") AND (t.val le 2020))) + OR (NOT(sameas(sector,"cdr") AND (t.val le 2020))) ) AND !!disable historical year share incentives to buildings, industry and CDR ( NOT(sameas(sector,"build") AND (sameas(entyFE,"fesos"))) ) !!disable buildings solids share incentives ) = From 42f8c135ddb33e63632b301b33092aeea88f73f1 Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Tue, 20 Aug 2024 18:34:56 +0200 Subject: [PATCH 339/875] change the default method toi define the se shares incentives --- main.gms | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/main.gms b/main.gms index b7420dc6a..471f7b818 100755 --- a/main.gms +++ b/main.gms @@ -1012,7 +1012,7 @@ parameter parameter c_seFeSectorShareDevScale "scale factor in the objective function of the penalization to incentive sectors to have similar shares of secondary energy fuels." ; - c_seFeSectorShareDevScale = 1e-5; !! def = 1e-5 + c_seFeSectorShareDevScale = 1e-3; !! def = 1e-3 *' parameter cm_TaxConvCheck "switch for enabling tax convergence check in nash mode" @@ -1711,7 +1711,7 @@ $setglobal cm_INCONV_PENALTY_FESwitch on !! def = on !! regexp = off|on *** sqSectorAvrgShare "Square deviation from average share penalty" *** minMaxAvrgShare "Min-max deviation from average share penalty" *** The relative effect of the penalization term in the objective function is scaled to avoid affecting optimization results. This scaling factor can be defined using the switch c_seFeSectorShareDevScale. -$setglobal cm_seFeSectorShareDevMethod minMaxAvrgShare !! def = minMaxAvrgShare !! regexp = off|sqSectorShare|sqSectorAvrgShare|minMaxAvrgShare +$setglobal cm_seFeSectorShareDevMethod sqSectorAvrgShare !! def = sqSectorAvrgShare !! regexp = off|sqSectorShare|sqSectorAvrgShare|minMaxAvrgShare *** c_seFeSectorShareDevUnit "Defines if the penalization term is applied over fuel shares or energy units." *** share, "The square penalization is applied directly to the share values. This results in different-sized regions having varying relative penalization incentives, but the range of penalization values will be more consistent from the solver's perspective." *** energy, "The square penalization is applied to the share values multiplied by the energy demand. This approach scales penalizations better across different-sized regions, but there is a higher risk of the penalizations being ignored and the shares not being enforced if the value range is too small." From fc95f9eed40dee7f957b7b362dc1f0642a6e564e Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Tue, 20 Aug 2024 18:35:55 +0200 Subject: [PATCH 340/875] setting cm_INCONV_PENALTY_FESwitch to off to avoid conflict with seFeSectorShare method --- main.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.gms b/main.gms index 471f7b818..a854ef599 100755 --- a/main.gms +++ b/main.gms @@ -1703,7 +1703,7 @@ $setglobal cm_wind_offshore 1 !! def = 1 $setglobal cm_INCONV_PENALTY on !! def = on !! regexp = off|on *** cm_INCONV_PENALTY_FESwitch off !! def = off *** flag to trun on inconvenience penalty to avoid switching shares on buildings, transport and industry biomass use if costs are relatively close (seLiqbio, sesobio, segabio) -$setglobal cm_INCONV_PENALTY_FESwitch on !! def = on !! regexp = off|on +$setglobal cm_INCONV_PENALTY_FESwitch off !! def = on !! regexp = off|on *** cm_seFeSectorShareDevMethod "Switch to enable an optimization incentive for sectors to have similar shares of secondary energy fuels and determine the method used for the incentive." *** Possible values: off or the method name (sqSectorShare, sqSectorAvrgShare, or minMaxAvrgShare) *** off "The model can freely allocate bio/syn/fossil fuels between sectors. If not off, a penalization term is added so sectors are incentivized to apply similar shares of bio-fuels, synfuels, and fossils in each sector." From 296e95a89fab3f8eba11d431d0e376ca9500c6d8 Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Tue, 20 Aug 2024 18:51:41 +0200 Subject: [PATCH 341/875] refactoring spaces --- core/datainput.gms | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/core/datainput.gms b/core/datainput.gms index f015ed22f..bfe18537a 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -752,14 +752,14 @@ loop(ext_regi$pm_extRegiEarlyRetiRate(ext_regi), ); *Tech-specific* *RP*: reduce early retirement for technologies with additional characteristics that are difficult to represent in REMIND, eg. industries built around heating/CHP plants, or flexibility from ngt plants -pm_regiEarlyRetiRate(t,regi,"ngt") = 0.3 * pm_regiEarlyRetiRate(t,regi,"ngt") ; !! ngt should only be phased out very slowly, as they provide flexibility - which REMIND is not too good at capturing endogeneously -pm_regiEarlyRetiRate(t,regi,"gaschp") = 0.5 * pm_regiEarlyRetiRate(t,regi,"gaschp") ; !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input -pm_regiEarlyRetiRate(t,regi,"coalchp") = 0.5 * pm_regiEarlyRetiRate(t,regi,"coalchp"); !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input -pm_regiEarlyRetiRate(t,regi,"gashp") = 0.5 * pm_regiEarlyRetiRate(t,regi,"gashp") ; !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input -pm_regiEarlyRetiRate(t,regi,"coalhp") = 0.5 * pm_regiEarlyRetiRate(t,regi,"coalhp"); !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input -pm_regiEarlyRetiRate(t,regi,"biohp") = 0.25 * pm_regiEarlyRetiRate(t,regi,"biohp") ; !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input -pm_regiEarlyRetiRate(t,regi,"biochp") = 0.25 * pm_regiEarlyRetiRate(t,regi,"biochp") ; !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input -pm_regiEarlyRetiRate(t,regi,"bioigcc") = 0.25 * pm_regiEarlyRetiRate(t,regi,"bioigcc") ; !! reduce bio early retirement rate +pm_regiEarlyRetiRate(t,regi,"ngt") = 0.3 * pm_regiEarlyRetiRate(t,regi,"ngt"); !! ngt should only be phased out very slowly, as they provide flexibility - which REMIND is not too good at capturing endogeneously +pm_regiEarlyRetiRate(t,regi,"gaschp") = 0.5 * pm_regiEarlyRetiRate(t,regi,"gaschp"); !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input +pm_regiEarlyRetiRate(t,regi,"coalchp") = 0.5 * pm_regiEarlyRetiRate(t,regi,"coalchp"); !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input +pm_regiEarlyRetiRate(t,regi,"gashp") = 0.5 * pm_regiEarlyRetiRate(t,regi,"gashp"); !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input +pm_regiEarlyRetiRate(t,regi,"coalhp") = 0.5 * pm_regiEarlyRetiRate(t,regi,"coalhp"); !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input +pm_regiEarlyRetiRate(t,regi,"biohp") = 0.25 * pm_regiEarlyRetiRate(t,regi,"biohp"); !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input +pm_regiEarlyRetiRate(t,regi,"biochp") = 0.25 * pm_regiEarlyRetiRate(t,regi,"biochp"); !! chp should only be phased out slowly, as district heating networks/ industry uses are designed to a specific heat input +pm_regiEarlyRetiRate(t,regi,"bioigcc") = 0.25 * pm_regiEarlyRetiRate(t,regi,"bioigcc"); !! reduce bio early retirement rate $ifthen.tech_earlyreti not "%c_tech_earlyreti_rate%" == "off" loop((ext_regi,te)$p_techEarlyRetiRate(ext_regi,te), From 69239345925d2aeeece701f0a86f655b5f5fb718 Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Tue, 20 Aug 2024 23:28:13 +0200 Subject: [PATCH 342/875] allow early retirement for techs added to the c_tech_earlyreti_rate switch --- core/bounds.gms | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/core/bounds.gms b/core/bounds.gms index 35cf11cbc..7b05c04da 100755 --- a/core/bounds.gms +++ b/core/bounds.gms @@ -343,29 +343,34 @@ vm_deltaCap.fx(t,regi,te,rlf)$(t.val le 2025 AND pm_data(regi,"tech_stat",te) eq *** allow non zero early retirement for all technologies to avoid mathematical errors vm_capEarlyReti.up(ttot,regi,te) = 1e-6; - ***generally allow full early retiremnt for all fossil technologies without CCS -vm_capEarlyReti.up(ttot,regi,te)$(teFosNoCCS(te)) = 1; -*** FS: allow nuclear early retirement (for nucscen 7) -vm_capEarlyReti.up(ttot,regi,"tnrs") = 1; +vm_capEarlyReti.up(t,regi,te)$(teFosNoCCS(te)) = 1; +*** allow nuclear early retirement +vm_capEarlyReti.up(t,regi,"tnrs") = 1; *** allow early retirement of biomass used in electricity -vm_capEarlyReti.up(ttot,regi,"bioigcc") = 1; -vm_capEarlyReti.up(ttot,regi,"biohp") = 1; -vm_capEarlyReti.up(ttot,regi,"biochp") = 1; +vm_capEarlyReti.up(t,regi,"bioigcc") = 1; +*** allow early retirement of biomass used for heat and power +vm_capEarlyReti.up(t,regi,"biohp") = 1; +vm_capEarlyReti.up(t,regi,"biochp") = 1; + +*** allow early retirement for techs added to the c_tech_earlyreti_rate switch +$ifthen.tech_earlyreti not "%c_tech_earlyreti_rate%" == "off" +loop((ext_Regi,te)$p_techEarlyRetiRate(ext_regi,all_te), + vm_capEarlyReti.up(t,regi,te)$(regi_group(ext_regi,regi))= 1; +); +$endif.tech_earlyreti ***restrict early retirement to the modeling time frame (to reduce runtime, the early retirement equations are phased out after 2110) vm_capEarlyReti.up(ttot,regi,te)$(ttot.val lt 2009 or ttot.val gt 2111) = 0; -*cb 20120224 lower bound of 0.01% to help the model to be aware of the early retirement option -vm_capEarlyReti.lo(ttot,regi,te)$(teFosNoCCS(te) AND ttot.val gt 2011 AND ttot.val lt 2111) = 0.0001; -vm_capEarlyReti.lo(ttot,regi,"tnrs")$(ttot.val gt 2011 AND ttot.val lt 2111) = 0.0001; +* lower bound of 0.01% to help the model to be aware of the early retirement option +vm_capEarlyReti.lo(t,regi,te)$((vm_capEarlyReti.up(t,regi,te) ge 1) and (t.val gt 2010) and (t.val le 2100)) = 1e-4; *cb 20120301 no early retirement for dot, they are used despite their economic non-competitiveness for various reasons. vm_capEarlyReti.fx(ttot,regi,"dot")=0; *rp 20210118 no investment into oil turbines in Europe vm_deltaCap.up(t,regi,"dot","1")$( (t.val gt 2005) AND regi_group("EUR_regi",regi) ) = 1e-6; - *' @code{extrapage: "00_model_assumptions"} *** ----------------------------------------------------------------------------- *' #### Bound on maximum annual carbon storage by region From 11b5d20aa524201d3b2471e010fac5876426ed89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Wed, 21 Aug 2024 16:42:08 +0200 Subject: [PATCH 343/875] 45_carbonprice: added flexibility for starting point of linear curve to diffLin2Lin, restructured code and improved documentation of diffLin2Lin and diffExp2Lin --- config/scenario_config_21_EU11_ARIADNE.csv | 2 +- config/scenario_config_ELEVATE4p4.csv | 2 +- config/scenario_config_NGFS_v5.csv | 2 +- core/postsolve.gms | 12 +- core/preloop.gms | 2 +- main.gms | 33 +++-- modules/45_carbonprice/NDC/not_used.txt | 1 + modules/45_carbonprice/NPi/not_used.txt | 1 + .../diffCurvPhaseIn2Lin/datainput.gms | 2 +- .../diffCurvPhaseIn2Lin/not_used.txt | 3 +- .../45_carbonprice/diffExp2Lin/datainput.gms | 77 ++++++----- .../diffExp2Lin/declarations.gms | 21 +-- .../45_carbonprice/diffExp2Lin/not_used.txt | 4 +- .../45_carbonprice/diffExp2Lin/postsolve.gms | 27 ++-- .../diffExp2Lin/realization.gms | 12 ++ .../45_carbonprice/diffLin2Lin/datainput.gms | 121 +++++++++++++----- .../diffLin2Lin/declarations.gms | 27 ++-- .../45_carbonprice/diffLin2Lin/not_used.txt | 2 +- .../45_carbonprice/diffLin2Lin/postsolve.gms | 46 ++++--- .../diffLin2Lin/realization.gms | 12 ++ modules/45_carbonprice/exogenous/not_used.txt | 1 + .../45_carbonprice/expoLinear/not_used.txt | 3 +- .../45_carbonprice/exponential/not_used.txt | 3 +- modules/45_carbonprice/linear/not_used.txt | 1 + modules/45_carbonprice/none/not_used.txt | 1 + .../temperatureNotToExceed/not_used.txt | 1 + scripts/start/readCheckScenarioConfig.R | 2 +- standalone/MOFEX/MOFEX.gms | 4 +- standalone/trade/trade.gms | 4 +- 29 files changed, 282 insertions(+), 147 deletions(-) diff --git a/config/scenario_config_21_EU11_ARIADNE.csv b/config/scenario_config_21_EU11_ARIADNE.csv index c76604dc0..3eeb79a18 100755 --- a/config/scenario_config_21_EU11_ARIADNE.csv +++ b/config/scenario_config_21_EU11_ARIADNE.csv @@ -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 # _____Reference Runs_____;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Calib_EU_NPi;0;;Calibration Run with National Policies Implemented (NPI);calibrate;;;;;;;;;se_trade;;;;;;;;;DEU 1.1, EU27_regi 7.5;;EU27_regi.pebiolc.worldPricemarkup 10;1;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;NPi;1;;;NPi2018;regiCarbonPrice;;;;on;on;Mix1;9;3;;;;2005;; NPi;0;Calib_EU_NPi;National Policies implemented;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/config/scenario_config_ELEVATE4p4.csv b/config/scenario_config_ELEVATE4p4.csv index af5f10a8a..05b6a862b 100755 --- a/config/scenario_config_ELEVATE4p4.csv +++ b/config/scenario_config_ELEVATE4p4.csv @@ -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 SSP2-Base_bIT;0;5;off;;none;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;1;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. ELV_CurPol_nTecC_T44;1;5;off;;none;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;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;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030. ELV_CurPol_T44;1;5;off;;none;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;1;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;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030. diff --git a/config/scenario_config_NGFS_v5.csv b/config/scenario_config_NGFS_v5.csv index a89879f6d..1bfc38c68 100644 --- a/config/scenario_config_NGFS_v5.csv +++ b/config/scenario_config_NGFS_v5.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;climate_assessment_magicc_prob_file_iteration;cm_magicc_config;cm_magicc_temperatureImpulseResponse;cm_KotzWenzPerc;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;cm_CO2TaxSectorMarkup;c_ccsinjecratescen;c_ccsinjecrateRegi;cm_33DAC;cm_33EW;cm_bioenergy_SustTax;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;carbonpriceRegi;regipol;cm_implicitQttyTarget;cm_implicitQttyTarget_tolerance;cm_NDC_version;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;fixOnRefAuto;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;climate_assessment_magicc_prob_file_iteration;cm_magicc_config;cm_magicc_temperatureImpulseResponse;cm_KotzWenzPerc;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;cm_CO2TaxSectorMarkup;c_ccsinjecratescen;c_ccsinjecrateRegi;cm_33DAC;cm_33EW;cm_bioenergy_SustTax;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;carbonpriceRegi;regipol;cm_implicitQttyTarget;cm_implicitQttyTarget_tolerance;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;fixOnRefAuto;cm_startyear;path_gdx;path_gdx_ref;path_gdx_refpolicycost;path_gdx_bau;description # ___Calibration___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;initial value;initial value;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP2-Base_covidCalib;0;;;gdp_SSP2;;;;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/core/postsolve.gms b/core/postsolve.gms index 7f015cc10..01807b870 100644 --- a/core/postsolve.gms +++ b/core/postsolve.gms @@ -253,7 +253,7 @@ display p_actualbudgetco2; if( ( (o_totCO2emi_peakBudgYr(iteration) < -(0.1) ) AND (cm_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)) * c_taxCO2inc_after_peakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by c_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)) * 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 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 @@ -290,7 +290,7 @@ display p_actualbudgetco2; *** --------------------------------------------------------------------------------------------------------------- if (cm_iterative_target_adj eq 9, -*' Update Iteratively update regional CO2 tax trajectories / regional CO2 budget to reach the target for global peak budget, with a linear increase afterwards given by `c_taxCO2inc_after_peakBudgYr`. The +*' Update Iteratively update regional CO2 tax trajectories / regional CO2 budget to reach the target for global peak budget, with a linear increase afterwards given by `cm_taxCO2inc_after_peakBudgYr`. The *' peak budget year is determined automatically (within the time window 2040--2100) *' `p_actualbudgetco2(ttot)` includes emissions from 2020 to `ttot` (inclusive). @@ -350,7 +350,7 @@ if (cm_iterative_target_adj eq 9, 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) * c_taxCO2inc_after_peakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by c_taxCO2inc_after_peakBudgYr per year + 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 ); display p_factorRescale_taxCO2, p_factorRescale_taxCO2_Funneled; @@ -407,7 +407,7 @@ if (cm_iterative_target_adj eq 9, if( ( (o_totCO2emi_peakBudgYr(iteration) < -(0.1 + o_change_totCO2emi_peakBudgYr(iteration)) ) AND (cm_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)) * c_taxCO2inc_after_peakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by c_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)) * cm_taxCO2inc_after_peakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by cm_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 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 @@ -422,7 +422,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)) * c_taxCO2inc_after_peakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by c_taxCO2inc_after_peakBudgYr per year + + (t.val - pm_ttot_val(ttot + 1)) * cm_taxCO2inc_after_peakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by cm_taxCO2inc_after_peakBudgYr per year ); ); @@ -474,7 +474,7 @@ if (cm_iterative_target_adj eq 9, ); display o_factorRescale_taxCO2_afterPeakBudgYr; - 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 + 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 ); !! 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 diff --git a/core/preloop.gms b/core/preloop.gms index 35a2a5422..80270dd01 100644 --- a/core/preloop.gms +++ b/core/preloop.gms @@ -82,7 +82,7 @@ if(cm_iterative_target_adj eq 9, *** 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) * c_taxCO2inc_after_peakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by c_taxCO2inc_after_peakBudgYr per year + 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 ); ); diff --git a/main.gms b/main.gms index af5e1d8c4..00c5f7e0d 100755 --- a/main.gms +++ b/main.gms @@ -513,10 +513,9 @@ parameter cm_co2_tax_startyear "level of co2 tax in start year in $ per t CO2eq" ; cm_co2_tax_startyear = -1; !! def = -1 !! regexp = -1|is.nonnegative -*' * Parameter for realizations 'diffLin2Lin' and 'diffExp2Lin' of 45_carbonprice -*' * (-1): default setting equivalent to no carbon tax -*' * (any number >= 0): co2 tax in start year [if cm_iterative_target_adj eq 0]; -*' * exogenous initialization of co2 tax in start year [if cm_iterative_target_adj ne 0] +*' * (-1): default setting equivalent to no carbon tax +*' * (any number >= 0): co2 tax in start year [if cm_iterative_target_adj eq 0]; +*' * initialization of co2 tax in start year [if cm_iterative_target_adj ne 0] *' parameter cm_co2_tax_growth "growth rate of carbon tax" @@ -822,7 +821,7 @@ parameter c_export_tax_scen = 0; !! def = 0 !! regexp = 0|1 *' parameter - cm_iterative_target_adj "settings on iterative adjustment for CO2 tax based on in-iteration emission or forcing level. Allow iteratively generated endogenous global CO2 tax under peak budget constraint." + cm_iterative_target_adj "settings on iterative adjustment for CO2 tax based on in-iteration emission or forcing level. Allow iteratively generated endogenous global CO2 tax under peak budget constraint or end-of-century budget constraint." ; cm_iterative_target_adj = 0; !! def = 0 !! regexp = 0|2|3|4|5|6|7|9 *' * (0): no iterative adjustment of CO2 tax (terminology: CO2 price and CO2 tax in REMIND is used interchangeably) @@ -832,7 +831,7 @@ parameter *' * (5): iterative adjustment of CO2 tax based on economy-wide CO2 cumulative emission budget(2020-2100), for runs with emission budget or CO2 tax constraints. See core/postsolve.gms for direct algorithms *' * (6): iterative adjustment of CO2 tax based on economy-wide CO2 cumulative emission peak budget, for runs with emission budget or CO2 tax constraints. See core/postsolve.gms for direct algorithms *' * (7): iterative adjustment of CO2 tax based on economy-wide CO2 cumulative emission peak budget, for runs with emission budget or CO2 tax constraints. Features: results in a peak budget with zero net CO2 emissions after peak budget is reached. See core/postsolve.gms for direct algorithms -*' * (9): [require the right settings in 45_carbonprice] iterative adjustment of CO2 tax based on economy-wide CO2 cumulative emission peak budget, for runs with emission budget or CO2 tax constraints. Features: 1) after the year when budget peaks, CO2 tax has an annual increase by c_taxCO2inc_after_peakBudgYr, 2) automatically shifts cm_peakBudgYr to find the correct year of budget peaking for a given budget. For REMIND version v2.1 or above. +*' * (9): [require the right settings in 45_carbonprice] iterative adjustment of CO2 tax based on economy-wide CO2 cumulative emission peak budget, for runs with emission budget or CO2 tax constraints. Features: 1) after the year when budget peaks, CO2 tax has an annual increase by cm_taxCO2inc_after_peakBudgYr, 2) automatically shifts cm_peakBudgYr to find the correct year of budget peaking for a given budget. For REMIND version v2.1 or above. *' parameter cm_NDC_divergentScenario "choose scenario about convergence of CO2eq prices [45_carbonprice = NDC]" @@ -966,9 +965,9 @@ parameter cm_DiscRateScen = 0; !! def = 0 !! regexp = [0-4] *' * (0) Baseline without higher discount rate: No additional discount rate *' * (1) Baseline with higher discount rate: Increase the discount rate by 10%pts from 2005 until the end -*' * (2) Energy Efficiency policy: 10%pts higher discount rate until cm_start_year and 0 afterwards. -*' * (3) Energy Efficiency policy: higher discount rate until cm_start_year and 25% of the initial value afterwards. -*' * (4) Energy Efficiency policy: higher discount rate until cm_start_year, decreasing to 25% value linearly until 2030. +*' * (2) Energy Efficiency policy: 10%pts higher discount rate until cm_startyear and 0 afterwards. +*' * (3) Energy Efficiency policy: higher discount rate until cm_startyear and 25% of the initial value afterwards. +*' * (4) Energy Efficiency policy: higher discount rate until cm_startyear, decreasing to 25% value linearly until 2030. *' parameter c_H2InBuildOnlyAfter "Switch to fix H2 in buildings to zero until given year" @@ -979,11 +978,12 @@ parameter cm_peakBudgYr "date of net-zero CO2 emissions for peak budget runs without overshoot" ; cm_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 +*' time of net-zero CO2 emissions (peak budget) +*' endogenous adjustment by algorithms in core/postsolve.gms requires (emiscen = 9) and (cm_iterative_target_adj = 7 or 9) parameter - c_taxCO2inc_after_peakBudgYr "annual increase of CO2 tax after the Peak Budget Year in $ per tCO2" + cm_taxCO2inc_after_peakBudgYr "annual increase of CO2 tax after the Peak Budget Year in $ per tCO2" ; - 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 + 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 *' parameter cm_CO2priceRegConvEndYr "Year at which regional CO2 taxes converge in module 45 for realizations with differentiated carbon prices" @@ -1632,6 +1632,15 @@ $setGlobal cm_CESMkup_ind_data "" !! def = "" $setGlobal cm_fxIndUe off !! def = off !! regexp = off|on $setGlobal cm_fxIndUeReg "" !! def = "" +*' * cm_co2_tax_hist "switch for setting historical level of CO2 tax (in $ per t CO2eq) that is used as starting point in diffLin2Lin of 45_carbonprice" +*' * (gdx_ref): level of CO2 tax (defined as maximum of pm_taxCO2eq over all regions) from path_gdx_ref in cm_year_co2_tax_hist +*' * (any number >= 0): level of co2 tax in cm_co2_tax_hist_year +$setglobal cm_co2_tax_hist gdx_ref !! def = "gdx_ref" !! regexp = gdx_ref|is.nonnegative +*' * cm_year_co2_tax_hist "switch for setting the year of cm_co2_tax_hist" +*' * (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_ind_energy_limit Switch for setting upper limits on industry energy *** efficiency improvements. See ./modules/37_subsectors/datainput.gms for *** implementation. diff --git a/modules/45_carbonprice/NDC/not_used.txt b/modules/45_carbonprice/NDC/not_used.txt index e24e1d6d1..65d442e6a 100644 --- a/modules/45_carbonprice/NDC/not_used.txt +++ b/modules/45_carbonprice/NDC/not_used.txt @@ -24,3 +24,4 @@ cm_CO2priceRegConvEndYr,input,questionnaire cm_co2_tax_spread,switch,no carbon price differentiation in this realization cm_co2_tax_startyear,input,added by codeCheck cm_peakBudgYr,input,added by codeCheck +cm_taxCO2inc_after_peakBudgYr,input,added by codeCheck diff --git a/modules/45_carbonprice/NPi/not_used.txt b/modules/45_carbonprice/NPi/not_used.txt index 45c8c6da6..0b50895fc 100644 --- a/modules/45_carbonprice/NPi/not_used.txt +++ b/modules/45_carbonprice/NPi/not_used.txt @@ -32,3 +32,4 @@ cm_startyear,input,added by codeCheck cm_co2_tax_spread,input,no carbon price differentiation in this realization cm_co2_tax_startyear,input,added by codeCheck cm_peakBudgYr,input,added by codeCheck +cm_taxCO2inc_after_peakBudgYr,input,added by codeCheck diff --git a/modules/45_carbonprice/diffCurvPhaseIn2Lin/datainput.gms b/modules/45_carbonprice/diffCurvPhaseIn2Lin/datainput.gms index 0d0a2ffd2..c241b0b8e 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 c_taxCO2inc_after_peakBudgYr +*** global price is linear from 2010 until the pkBudgYr, then increases with cm_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 bc2d31447..ee46cce97 100644 --- a/modules/45_carbonprice/diffCurvPhaseIn2Lin/not_used.txt +++ b/modules/45_carbonprice/diffCurvPhaseIn2Lin/not_used.txt @@ -24,6 +24,7 @@ pm_prtp,input,questionnaire vm_demFeSector,input,questionnaire pm_emifac,input,questionnaire cm_co2_tax_spread,input,added by codeCheck -cm_startyear,parameter,not needed cm_co2_tax_startyear,input,added by codeCheck cm_peakBudgYr,input,added by codeCheck +cm_startyear,input,added by codeCheck +cm_taxCO2inc_after_peakBudgYr,input,added by codeCheck diff --git a/modules/45_carbonprice/diffExp2Lin/datainput.gms b/modules/45_carbonprice/diffExp2Lin/datainput.gms index aaa984490..668f195f9 100644 --- a/modules/45_carbonprice/diffExp2Lin/datainput.gms +++ b/modules/45_carbonprice/diffExp2Lin/datainput.gms @@ -5,17 +5,26 @@ *** | REMIND License Exception, version 1.0 (see LICENSE file). *** | Contact: remind@pik-potsdam.de *** SOF ./modules/45_carbonprice/diffExp2Lin/datainput.gms -***--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -*** regional prices are initially differentiated by GDP/capita and converge using quadratic phase-in, -*** global price from cm_CO2priceRegConvEndYr (default = 2050) -*** carbon price of developed regions increases exponentially with rate given by cm_co2_tax_growth until peak year (with iterative_target_adj = 9) or until 2100 (with iterative_target_adj = 5) -***--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +*** diff: regional prices are initially differentiated by GDP/capita and converge using quadratic phase-in until cm_CO2priceRegConvEndYr (default = 2050), globally uniform price thereafter, +*** level of regional carbon price differentiation (uniform, medium, strong) can be chosen via cm_co2_tax_spread +*** Exp: carbon price of developed regions increases exponentially with rate given by cm_co2_tax_growth (default = 4.5 percent), +*** initial value in cm_startyear is given by cm_co2_tax_startyear (if iterative_target_adj != 0, this value will be adjusted to meet prescribed CO2 budget) +*** 2Lin: (with iterative_target_adj = 9): after the peak year (initial value given by cm_peakBudgYr, will be adjusted by algorithm in core/postsolve.gms), +*** carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant) +*** (with iterative_target_adj = 5): carbon price of developed countries keeps increasing exponentially until end of century, i.e. no change after peak year +*** (with iterative_target_adj = 0): after year given by cm_peakBudgYr (default = 2050), carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant), +*** for exponentially increasing carbon price until end of century, set cm_peakBudgYr = 2110 +***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -*** convergence to global CO2 price depends on GDP per capita (in 1e3 $ PPP 2005). -*** benchmark year kept at 2015 since 2020 not suitable. +*** Step 1: Define regional multiplicative factors between regional CO2 price and CO2 price of the developed countries +*** Warning regarding code changes: This first step also appears in diffLin2Lin and should be changed simultaneously. + +*** Step 1.1: Define regional multiplicative CO2 price factors for 2025 + +*** based on GDP per capita (in 1e3 $ PPP 2005) in 2015 (benchmark year kept at 2015 since 2020 not suitable) p45_gdppcap2015_PPP(regi) = pm_gdp("2015",regi)/pm_shPPPMER(regi) / pm_pop("2015",regi); -display p45_gdppcap2015_PPP; *** Selection of differentiation scheme via cm_co2_tax_spread if(cm_co2_tax_spread eq 1, @@ -39,29 +48,12 @@ p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 10 and p45_gdppcap201 p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 15 and p45_gdppcap2015_PPP(regi) le 20) = 0.6; !! REF p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 20) = 1; !! EUR, JPN, USA, CAZ, NEU ); -display p45_phasein_2025ratio; - -*GL: tax path in 10^12$/GtC = 1000 $/tC -*** according to Asian Modeling Excercise tax case setup, 30$/t CO2eq in 2020 = 0.110 k$/tC - -*** for the current implementation, use the following trajectory for rich countries: -*** price increases exponentially with growth rate cm_co2_tax_growth from cm_co2_tax_startyear in startyear -*** for peak budget runs (if cm_iterative_target_adj = 6|7|9), the adjustment of the CO2 price trajectory after the peak year is made in core/postsolve.gms -if(cm_co2_tax_startyear le 0, - abort "please choose a valid cm_co2_tax_startyear" -elseif cm_co2_tax_startyear gt 0, -*** convert tax value from $/t CO2eq to T$/GtC - s45_co2_tax_startyear = cm_co2_tax_startyear * sm_DptCO2_2_TDpGtC; -); - -p45_CO2priceTrajDeveloped(t) = s45_co2_tax_startyear * cm_co2_tax_growth**(t.val-cm_startyear); -p45_CO2priceTrajDeveloped(t)$(t.val gt 2110) = p45_CO2priceTrajDeveloped("2110"); !! to prevent huge taxes after 2110 and the resulting convergence problems, set taxes after 2110 equal to 2110 value +*** Step 1.2: Create regional multiplicative CO2 price factors from 2030 onward -*** Then create regional phase-in: *** Set regional CO2 price factor equal to p45_phasein_2025ratio until 2025: p45_regCO2priceFactor(t,regi)$(t.val le 2025) = p45_phasein_2025ratio(regi); -*** Then define quadratic phase-in until cm_CO2priceRegConvEndYr: +*** Create quadratic phase-in until cm_CO2priceRegConvEndYr: loop(t$((t.val gt 2025) and (t.val le cm_CO2priceRegConvEndYr)), p45_regCO2priceFactor(t,regi) = min(1, @@ -70,12 +62,35 @@ loop(t$((t.val gt 2025) and (t.val le cm_CO2priceRegConvEndYr)), ) ); ); -p45_regCO2priceFactor(t,regi)$(t.val ge cm_CO2priceRegConvEndYr) = 1; +*** Set regional CO2 price factor equal to 1 after cm_CO2priceRegConvEndYr: +p45_regCO2priceFactor(t,regi)$(t.val gt cm_CO2priceRegConvEndYr) = 1; +display p45_gdppcap2015_PPP, p45_phasein_2025ratio, p45_regCO2priceFactor; -*** transition to global price - starting point depends on GDP/cap -pm_taxCO2eq(t,regi) = p45_regCO2priceFactor(t,regi) * p45_CO2priceTrajDeveloped(t); +*** Step 2: Create CO2 price trajectory for developed countries +if(cm_co2_tax_startyear gt 0, +*** convert tax value in start year from $/t CO2eq to T$/GtC + s45_co2_tax_startyear = cm_co2_tax_startyear * sm_DptCO2_2_TDpGtC; +else + abort "please initialize cm_co2_tax_startyear by setting it to a positive value" +); + +*** price increases exponentially with growth rate cm_co2_tax_growth from s45_co2_tax_startyear in startyear +p45_CO2priceTrajDeveloped(t) = s45_co2_tax_startyear * cm_co2_tax_growth**(t.val-cm_startyear); +*** for peak budget runs (if cm_iterative_target_adj = 6|7|9), the adjustment of the CO2 price trajectory after the peak year is made in core/postsolve.gms +*** for runs without iterative carbon price adjustment (if cm_iterative_target_adj = 0), price increases linearly after year given by cm_peakBudgYr (for exponentially increasing carbon price until end of century, set cm_peakBudgYr = 2110) +if((cm_iterative_target_adj eq 0), + p45_CO2priceTrajDeveloped(t)$(t.val gt cm_peakBudgYr) + = sum(t2$(t2.val eq cm_peakBudgYr), p45_CO2priceTrajDeveloped(t2)) + + (t.val - cm_peakBudgYr) * cm_taxCO2inc_after_peakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by cm_taxCO2inc_after_peakBudgYr per year +); +*** set taxes constant after 2110 to prevent huge taxes after 2110 and the resulting convergence problems, +p45_CO2priceTrajDeveloped(t)$(t.val gt 2110) = p45_CO2priceTrajDeveloped("2110"); +display p45_CO2priceTrajDeveloped; + +*** Step 3: Create regional CO2 price trajectories using 1) regional multiplicative CO2 price factors and 2) CO2 price trajectory for developed countries +pm_taxCO2eq(t,regi) = p45_regCO2priceFactor(t,regi) * p45_CO2priceTrajDeveloped(t); +display pm_taxCO2eq; -display p45_regCO2priceFactor, p45_CO2priceTrajDeveloped, pm_taxCO2eq; *** EOF ./modules/45_carbonprice/diffExp2Lin/datainput.gms diff --git a/modules/45_carbonprice/diffExp2Lin/declarations.gms b/modules/45_carbonprice/diffExp2Lin/declarations.gms index 952cf5f7b..e9c9e1551 100644 --- a/modules/45_carbonprice/diffExp2Lin/declarations.gms +++ b/modules/45_carbonprice/diffExp2Lin/declarations.gms @@ -5,22 +5,27 @@ *** | REMIND License Exception, version 1.0 (see LICENSE file). *** | Contact: remind@pik-potsdam.de *** SOF ./modules/45_carbonprice/diffExp2Lin/datainput.gms -***--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -*** regional prices are initially differentiated by GDP/capita and converge using quadratic phase-in, -*** global price from cm_CO2priceRegConvEndYr (default = 2050) -*** carbon price of developed regions increases exponentially with rate given by cm_co2_tax_growth until peak year (with iterative_target_adj = 9) or until 2100 (with iterative_target_adj = 5) -***--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +*** diff: regional prices are initially differentiated by GDP/capita and converge using quadratic phase-in until cm_CO2priceRegConvEndYr (default = 2050), globally uniform price thereafter, +*** level of regional carbon price differentiation (uniform, medium, strong) can be chosen via cm_co2_tax_spread +*** Exp: carbon price of developed regions increases exponentially with rate given by cm_co2_tax_growth (default = 4.5 percent), +*** initial value in cm_startyear is given by cm_co2_tax_startyear (if iterative_target_adj != 0, this value will be adjusted to meet prescribed CO2 budget) +*** 2Lin: (with iterative_target_adj = 9): after the peak year (initial value given by cm_peakBudgYr, will be adjusted by algorithm in core/postsolve.gms), +*** carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant) +*** (with iterative_target_adj = 5): carbon price of developed countries keeps increasing exponentially until end of century, i.e. no change after peak year +*** (with iterative_target_adj = 0): after year given by cm_peakBudgYr (default = 2050), carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant), +*** for exponentially increasing carbon price until end of century, set cm_peakBudgYr = 2110 +***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- parameters p45_gdppcap2015_PPP(all_regi) "2015 GDP per capita (k $ PPP 2005)" p45_phasein_2025ratio(all_regi) "ratio of CO2 price to that of developed region in 2025" -p45_regCO2priceFactor(ttot,all_regi) "regional multiplicative factor to the CO2 price of the developed countries" -p45_CO2priceTrajDeveloped(ttot) "CO2 price trajectory for developed/rich countries" +p45_regCO2priceFactor(ttot,all_regi) "regional multiplicative factor to the CO2 price of the developed countries" +p45_CO2priceTrajDeveloped(ttot) "CO2 price trajectory for developed/rich countries" ; scalars s45_co2_tax_startyear "level of CO2 tax in start year converted from $/t CO2eq to T$/GtC" ; - *** EOF ./modules/45_carbonprice/diffExp2Lin/declarations.gms diff --git a/modules/45_carbonprice/diffExp2Lin/not_used.txt b/modules/45_carbonprice/diffExp2Lin/not_used.txt index 8a0679df8..23121ad97 100644 --- a/modules/45_carbonprice/diffExp2Lin/not_used.txt +++ b/modules/45_carbonprice/diffExp2Lin/not_used.txt @@ -8,7 +8,7 @@ name,type,reason cm_emiscen, switch, ??? sm_c_2_co2,switch, ??? pm_ttot_val,parameter,??? -cm_iterative_target_adj,switch,??? +cm_co2_tax_2020,input,replaced by cm_co2_tax_startyear in this realization cm_expoLinear_yearStart,switch,??? vm_co2eq,variable,??? vm_emiFgas,input,questionnaire @@ -22,5 +22,3 @@ pm_ttot_2_tall,input,questionnaire cm_NDC_divergentScenario,input,questionnaire vm_demFeSector,input,questionnaire pm_emifac,input,questionnaire -cm_co2_tax_2020,input,added by codeCheck -cm_peakBudgYr,input,added by codeCheck diff --git a/modules/45_carbonprice/diffExp2Lin/postsolve.gms b/modules/45_carbonprice/diffExp2Lin/postsolve.gms index 76626aa6d..934ecdb15 100644 --- a/modules/45_carbonprice/diffExp2Lin/postsolve.gms +++ b/modules/45_carbonprice/diffExp2Lin/postsolve.gms @@ -5,20 +5,29 @@ *** | REMIND License Exception, version 1.0 (see LICENSE file). *** | Contact: remind@pik-potsdam.de *** SOF ./modules/45_carbonprice/diffExp2Lin/postsolve.gms -***--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -*** regional prices are initially differentiated by GDP/capita and converge using quadratic phase-in, -*** global price from cm_CO2priceRegConvEndYr (default = 2050) -*** carbon price of developed regions increases exponentially with rate given by cm_co2_tax_growth until peak year (with iterative_target_adj = 9) or until 2100 (with iterative_target_adj = 5) -***--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +*** diff: regional prices are initially differentiated by GDP/capita and converge using quadratic phase-in until cm_CO2priceRegConvEndYr (default = 2050), globally uniform price thereafter, +*** level of regional carbon price differentiation (uniform, medium, strong) can be chosen via cm_co2_tax_spread +*** Exp: carbon price of developed regions increases exponentially with rate given by cm_co2_tax_growth (default = 4.5 percent), +*** initial value in cm_startyear is given by cm_co2_tax_startyear (if iterative_target_adj != 0, this value will be adjusted to meet prescribed CO2 budget) +*** 2Lin: (with iterative_target_adj = 9): after the peak year (initial value given by cm_peakBudgYr, will be adjusted by algorithm in core/postsolve.gms), +*** carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant) +*** (with iterative_target_adj = 5): carbon price of developed countries keeps increasing exponentially until end of century, i.e. no change after peak year +*** (with iterative_target_adj = 0): after year given by cm_peakBudgYr (default = 2050), carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant), +*** for exponentially increasing carbon price until end of century, set cm_peakBudgYr = 2110 +***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -*** re-create the regional differentation, use path from developed countries as the basis. +*** if CO2 price is iteratively adjusted (i.e. cm_iterative_target_adj != 0), +if((cm_iterative_target_adj ne 0), +*** re-create the regional differentation using path from developed countries as the basis. *** This doesn't need to be a loop, but it will be correct for any cycle of the loop, so also for the last cycle. -loop(regi$(p45_gdppcap2015_PPP(regi) gt 20), - p45_CO2priceTrajDeveloped(t) = pm_taxCO2eq(t,regi); -); + loop(regi$(p45_gdppcap2015_PPP(regi) gt 20), + p45_CO2priceTrajDeveloped(t) = pm_taxCO2eq(t,regi); + ); *** quadratic transition to global price - starting point depends on GDP/cap pm_taxCO2eq(t,regi) = p45_regCO2priceFactor(t,regi) * p45_CO2priceTrajDeveloped(t); display pm_taxCO2eq; +); *** EOF ./modules/45_carbonprice/diffExp2Lin/postsolve.gms diff --git a/modules/45_carbonprice/diffExp2Lin/realization.gms b/modules/45_carbonprice/diffExp2Lin/realization.gms index 7becfec7c..f9e99fa49 100644 --- a/modules/45_carbonprice/diffExp2Lin/realization.gms +++ b/modules/45_carbonprice/diffExp2Lin/realization.gms @@ -8,6 +8,18 @@ *#' @description: This realization implements exponentially 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. +***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +*** diff: regional prices are initially differentiated by GDP/capita and converge using quadratic phase-in until cm_CO2priceRegConvEndYr (default = 2050), globally uniform price thereafter, +*** level of regional carbon price differentiation (uniform, medium, strong) can be chosen via cm_co2_tax_spread +*** Exp: carbon price of developed regions increases exponentially with rate given by cm_co2_tax_growth (default = 4.5 percent), +*** initial value in cm_startyear is given by cm_co2_tax_startyear (if iterative_target_adj != 0, this value will be adjusted to meet prescribed CO2 budget) +*** 2Lin: (with iterative_target_adj = 9): after the peak year (initial value given by cm_peakBudgYr, will be adjusted by algorithm in core/postsolve.gms), +*** carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant) +*** (with iterative_target_adj = 5): carbon price of developed countries keeps increasing exponentially until end of century, i.e. no change after peak year +*** (with iterative_target_adj = 0): after year given by cm_peakBudgYr (default = 2050), carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant), +*** for exponentially increasing carbon price until end of century, set cm_peakBudgYr = 2110 +***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + *####################### R SECTION START (PHASES) ############################## $Ifi "%phase%" == "declarations" $include "./modules/45_carbonprice/diffExp2Lin/declarations.gms" $Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/diffExp2Lin/datainput.gms" diff --git a/modules/45_carbonprice/diffLin2Lin/datainput.gms b/modules/45_carbonprice/diffLin2Lin/datainput.gms index a848067e9..02f8eb48a 100644 --- a/modules/45_carbonprice/diffLin2Lin/datainput.gms +++ b/modules/45_carbonprice/diffLin2Lin/datainput.gms @@ -5,18 +5,25 @@ *** | REMIND License Exception, version 1.0 (see LICENSE file). *** | Contact: remind@pik-potsdam.de *** SOF ./modules/45_carbonprice/diffLin2Lin/datainput.gms -***---------------------------------------------------------------------------------------------------------------------------------------------------- -*** regional prices are initially differentiated by GDP/capita and converge using quadratic phase-in, -*** global price from cm_CO2priceRegConvEndYr (default = 2050) -*** carbon price of developed regions increases linearly until peak year (with iterative_target_adj = 9) or until 2100 (with iterative_target_adj = 5) -*** linear carbon price curve of developed regions starts at 25$/t CO2eq in 2020 (corresponding to historical CO2 price for EUR, which is the highest among regions) -***---------------------------------------------------------------------------------------------------------------------------------------------------- +***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +*** diff: regional prices are initially differentiated by GDP/capita and converge using quadratic phase-in until cm_CO2priceRegConvEndYr (default = 2050), globally uniform price thereafter, +*** level of regional carbon price differentiation (uniform, medium, strong) can be chosen via cm_co2_tax_spread +*** Lin: carbon price of developed regions increases linearly starting at historical level given by cm_co2_tax_hist in year cm_year_co2_tax_hist +*** initial value in cm_startyear is given by cm_co2_tax_startyear (if iterative_target_adj != 0, this value will be adjusted to meet prescribed CO2 budget) +*** 2Lin: (with iterative_target_adj = 9): after the peak year (initial value given by cm_peakBudgYr, will be adjusted by algorithm in core/postsolve.gms), +*** carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant) +*** (with iterative_target_adj = 5): carbon price of developed countries keeps increasing linearly (with same slope) until end of century, i.e. no change after peak year +*** (with iterative_target_adj = 0): after year given by cm_peakBudgYr (default = 2050), carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant), +*** for linearly increasing carbon price (with same slope) until end of century, set cm_peakBudgYr = 2100 +***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +*** Step 1: Define regional multiplicative factors between regional CO2 price and CO2 price of the developed countries +*** Warning regarding code changes: This first step also appears in diffExp2Lin and should be changed simultaneously. -*** convergence to global CO2 price depends on GDP per capita (in 1e3 $ PPP 2005). -*** benchmark year kept at 2015 since 2020 not suitable. +*** Step 1.1: Define regional multiplicative CO2 price factors for 2025 + +*** based on GDP per capita (in 1e3 $ PPP 2005) in 2015 (benchmark year kept at 2015 since 2020 not suitable) p45_gdppcap2015_PPP(regi) = pm_gdp("2015",regi)/pm_shPPPMER(regi) / pm_pop("2015",regi); -display p45_gdppcap2015_PPP; *** Selection of differentiation scheme via cm_co2_tax_spread if(cm_co2_tax_spread eq 1, @@ -40,31 +47,12 @@ p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 10 and p45_gdppcap201 p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 15 and p45_gdppcap2015_PPP(regi) le 20) = 0.6; !! REF p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 20) = 1; !! EUR, JPN, USA, CAZ, NEU ); -display p45_phasein_2025ratio; - - -*** for the current implementation, use the following trajectory for rich countries: -*** price increases linearly from 25$/t CO2eq in 2020 until peak budget year (if cm_iterative_target_adj = 6|7|9) or until end of century (otherwise), -*** then increases with c_taxCO2inc_after_peakBudgYr -if(cm_co2_tax_startyear le 25, - abort "please choose a valid cm_co2_tax_startyear of more than 25$/t CO2eq" -else -*** convert tax value from $/t CO2eq to T$/GtC - s45_co2_tax_2020 = 25 * sm_DptCO2_2_TDpGtC; - s45_co2_tax_startyear = cm_co2_tax_startyear * sm_DptCO2_2_TDpGtC; -); -*** define linear curve through the points (2020, s45_co2_tax_2020) and (cm_startyear, s45_co2_tax_startyear) -p45_CO2priceTrajDeveloped(t) = s45_co2_tax_2020 - + (s45_co2_tax_startyear - s45_co2_tax_2020) / (cm_startyear - 2020) !! Yearly increase of CO2 price - * (t.val - 2020) ; -p45_CO2priceTrajDeveloped(t)$(t.val gt 2110) = p45_CO2priceTrajDeveloped("2110"); !! set taxes constant after 2110 -*** for peak budget runs (if cm_iterative_target_adj = 6|7|9), the adjustment of the CO2 price trajectory after the peak year is made in core/postsolve.gms +*** Step 1.2: Create regional multiplicative CO2 price factors from 2030 onward -*** Then create regional phase-in: *** Set regional CO2 price factor equal to p45_phasein_2025ratio until 2025: p45_regCO2priceFactor(t,regi)$(t.val le 2025) = p45_phasein_2025ratio(regi); -*** Then define quadratic phase-in until cm_CO2priceRegConvEndYr: +*** Create quadratic phase-in until cm_CO2priceRegConvEndYr: loop(t$((t.val gt 2025) and (t.val le cm_CO2priceRegConvEndYr)), p45_regCO2priceFactor(t,regi) = min(1, @@ -73,12 +61,77 @@ loop(t$((t.val gt 2025) and (t.val le cm_CO2priceRegConvEndYr)), ) ); ); -p45_regCO2priceFactor(t,regi)$(t.val ge cm_CO2priceRegConvEndYr) = 1; +*** Set regional CO2 price factor equal to 1 after cm_CO2priceRegConvEndYr: +p45_regCO2priceFactor(t,regi)$(t.val gt cm_CO2priceRegConvEndYr) = 1; +display p45_gdppcap2015_PPP, p45_phasein_2025ratio, p45_regCO2priceFactor; -*** transition to global price - starting point depends on GDP/cap -pm_taxCO2eq(t,regi) = p45_regCO2priceFactor(t,regi) * p45_CO2priceTrajDeveloped(t); +*** Step 2: Define CO2 price trajectory for developed countries + +*** Step 2.1: Determine starting point for linear CO2 price trajectory: (s45_year_co2_tax_hist,s45_co2_tax_hist) +*** Set s45_year_co2_tax_hist based on the switch cm_year_co2_tax_hist +$ifthen "%cm_year_co2_tax_hist%" == "last" +*** Choose s45_year_co2_tax_hist to be the last time period before start year +s45_year_co2_tax_hist = smax(ttot$( ttot.val lt cm_startyear ), ttot.val); +$else +*** Set s45_year_co2_tax_hist to be the value provided by the switch +s45_year_co2_tax_hist = %cm_year_co2_tax_hist%; +$endif +*** Check validity of s45_year_co2_tax_hist +if((s45_year_co2_tax_hist lt 2005) or (s45_year_co2_tax_hist ge cm_startyear), + abort "please choose cm_year_co2_tax_hist to be at least 2005 and strictly smaller than cm_startyear" +); +display s45_year_co2_tax_hist; + +*** Set s45_co2_tax_hist based on the switch cm_co2_tax_hist +$ifthen "%cm_co2_tax_hist%" == "gdx_ref" +*** Check that s45_year_co2_tax_hist is an element of ttot +if(sum(ttot$(ttot.val eq s45_year_co2_tax_hist),1)=0, + abort "please choose cm_year_co2_tax_hist to be last or an element of ttot" +); +*** Read pm_taxCO2eq from path_gdx_ref +Execute_Loadpoint 'input_ref' p45_tau_CO2_tax_gdx_ref = pm_taxCO2eq; +*** Extract level of co2 tax in cm_year_co2_tax_hist (defined as maximum of pm_taxCO2eq over all regions) +s45_co2_tax_hist = smax( regi , sum ( ttot$(ttot.val eq s45_year_co2_tax_hist) , p45_tau_CO2_tax_gdx_ref(ttot,regi) ) ); +$else +*** Set s45_co2_tax_hist to be the value provided by the switch, converted from $/t CO2eq to T$/GtC +s45_co2_tax_hist = %cm_co2_tax_hist% * sm_DptCO2_2_TDpGtC; +$endif +display s45_co2_tax_hist; + +*** Step 2.2: Create CO2 price trajectory for developed countries + +if(cm_co2_tax_startyear gt 0, +*** convert tax value in start year from $/t CO2eq to T$/GtC + s45_co2_tax_startyear = cm_co2_tax_startyear * sm_DptCO2_2_TDpGtC; +else + abort "please initialize cm_co2_tax_startyear by setting it to a positive value" +); +*** make sure that the initial CO2 price trajectory is increasing +if(s45_co2_tax_startyear le s45_co2_tax_hist, + abort "please choose a value for cm_co2_tax_startyear that is larger than the value provided by cm_co2_tax_hist" +); +display s45_co2_tax_startyear; + +*** price increases linearly from s45_co2_tax_hist in s45_year_co2_tax_hist until peak budget year (if cm_iterative_target_adj = 6|7|9) or until end of century (otherwise) +*** define linear curve through the points (s45_year_co2_tax_hist, s45_co2_tax_hist) and (cm_startyear, s45_co2_tax_startyear) +p45_CO2priceTrajDeveloped(t) = s45_co2_tax_hist + + (s45_co2_tax_startyear - s45_co2_tax_hist) / (cm_startyear - s45_year_co2_tax_hist) !! Yearly increase of CO2 price + * (t.val - s45_year_co2_tax_hist) ; +*** for peak budget runs (if cm_iterative_target_adj = 6|7|9), the adjustment of the CO2 price trajectory after the peak year is made in core/postsolve.gms +*** for runs without iterative carbon price adjustment (if cm_iterative_target_adj = 0), price increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr after year given by cm_peakBudgYr (for linearly increasing carbon price (with same slope) until end of century, set cm_peakBudgYr = 2100) +if((cm_iterative_target_adj eq 0), + p45_CO2priceTrajDeveloped(t)$(t.val gt cm_peakBudgYr) + = sum(t2$(t2.val eq cm_peakBudgYr), p45_CO2priceTrajDeveloped(t2)) + + (t.val - cm_peakBudgYr) * cm_taxCO2inc_after_peakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by cm_taxCO2inc_after_peakBudgYr per year +); +*** set taxes after 2100 equal to 2100 value +p45_CO2priceTrajDeveloped(t)$(t.val gt 2100) = p45_CO2priceTrajDeveloped("2100"); +display p45_CO2priceTrajDeveloped; + +*** Step 3: Create regional CO2 price trajectories using 1) regional multiplicative CO2 price factors and 2) CO2 price trajectory for developed countries +pm_taxCO2eq(t,regi) = p45_regCO2priceFactor(t,regi) * p45_CO2priceTrajDeveloped(t); +display pm_taxCO2eq; -display p45_regCO2priceFactor, p45_CO2priceTrajDeveloped, pm_taxCO2eq; *** EOF ./modules/45_carbonprice/diffLin2Lin/datainput.gms diff --git a/modules/45_carbonprice/diffLin2Lin/declarations.gms b/modules/45_carbonprice/diffLin2Lin/declarations.gms index 122faf1b8..b7afd516c 100644 --- a/modules/45_carbonprice/diffLin2Lin/declarations.gms +++ b/modules/45_carbonprice/diffLin2Lin/declarations.gms @@ -5,25 +5,32 @@ *** | REMIND License Exception, version 1.0 (see LICENSE file). *** | Contact: remind@pik-potsdam.de *** SOF ./modules/45_carbonprice/diffLin2Lin/declarations.gms -***---------------------------------------------------------------------------------------------------------------------------------------------------- -*** regional prices are initially differentiated by GDP/capita and converge using quadratic phase-in, -*** global price from cm_CO2priceRegConvEndYr (default = 2050) -*** carbon price of developed regions increases linearly until peak year (with iterative_target_adj = 9) or until 2100 (with iterative_target_adj = 5) -*** linear carbon price curve of developed regions starts at 25$/t CO2eq in 2020 (corresponding to historical CO2 price for EUR, which is the highest among regions) -***---------------------------------------------------------------------------------------------------------------------------------------------------- +***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +*** diff: regional prices are initially differentiated by GDP/capita and converge using quadratic phase-in until cm_CO2priceRegConvEndYr (default = 2050), globally uniform price thereafter, +*** level of regional carbon price differentiation (uniform, medium, strong) can be chosen via cm_co2_tax_spread +*** Lin: carbon price of developed regions increases linearly starting at historical level given by cm_co2_tax_hist in year cm_year_co2_tax_hist +*** initial value in cm_startyear is given by cm_co2_tax_startyear (if iterative_target_adj != 0, this value will be adjusted to meet prescribed CO2 budget) +*** 2Lin: (with iterative_target_adj = 9): after the peak year (initial value given by cm_peakBudgYr, will be adjusted by algorithm in core/postsolve.gms), +*** carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant) +*** (with iterative_target_adj = 5): carbon price of developed countries keeps increasing linearly (with same slope) until end of century, i.e. no change after peak year +*** (with iterative_target_adj = 0): after year given by cm_peakBudgYr (default = 2050), carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant), +*** for linearly increasing carbon price (with same slope) until end of century, set cm_peakBudgYr = 2110 +***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- parameters p45_gdppcap2015_PPP(all_regi) "2015 GDP per capita (k $ PPP 2005)" p45_phasein_2025ratio(all_regi) "ratio of CO2 price to that of developed region in 2025" -p45_regCO2priceFactor(ttot,all_regi) "regional multiplicative factor to the CO2 price of the developed countries" -p45_CO2priceTrajDeveloped(ttot) "CO2 price trajectory for developed/rich countries" +p45_regCO2priceFactor(ttot,all_regi) "regional multiplicative factor to the CO2 price of the developed countries" +p45_CO2priceTrajDeveloped(ttot) "CO2 price trajectory for developed/rich countries" + +p45_tau_CO2_tax_gdx_ref(ttot,all_regi) "tax path from path_gdx_ref" ; scalars +s45_year_co2_tax_hist "year of s45_co2_tax_hist" +s45_co2_tax_hist "historical level of CO2 tax converted from $/t CO2eq to T$/GtC" s45_co2_tax_startyear "level of CO2 tax in start year converted from $/t CO2eq to T$/GtC" -s45_co2_tax_2020 "level of CO2 tax in 2020 converted from $/t CO2eq to T$/GtC" ; - *** EOF ./modules/45_carbonprice/diffLin2Lin/declarations.gms diff --git a/modules/45_carbonprice/diffLin2Lin/not_used.txt b/modules/45_carbonprice/diffLin2Lin/not_used.txt index 8cfbb1d98..9e1d86d3f 100644 --- a/modules/45_carbonprice/diffLin2Lin/not_used.txt +++ b/modules/45_carbonprice/diffLin2Lin/not_used.txt @@ -22,4 +22,4 @@ pm_consPC,input,questionnaire pm_prtp,input,questionnaire vm_demFeSector,input,questionnaire pm_emifac,input,questionnaire -cm_co2_tax_2020,input,added by codeCheck +cm_co2_tax_2020,input,replaced by cm_co2_tax_startyear in this realization diff --git a/modules/45_carbonprice/diffLin2Lin/postsolve.gms b/modules/45_carbonprice/diffLin2Lin/postsolve.gms index 0a2f41482..7aceefb6b 100644 --- a/modules/45_carbonprice/diffLin2Lin/postsolve.gms +++ b/modules/45_carbonprice/diffLin2Lin/postsolve.gms @@ -5,37 +5,43 @@ *** | REMIND License Exception, version 1.0 (see LICENSE file). *** | Contact: remind@pik-potsdam.de *** SOF ./modules/45_carbonprice/diffLin2Lin/postsolve.gms -***---------------------------------------------------------------------------------------------------------------------------------------------------- -*** regional prices are initially differentiated by GDP/capita and converge using quadratic phase-in, -*** global price from cm_CO2priceRegConvEndYr (default = 2050) -*** carbon price of developed regions increases linearly until peak year (with iterative_target_adj = 9) or until 2100 (with iterative_target_adj = 5) -*** linear carbon price curve of developed regions starts at 25$/t CO2eq in 2020 (corresponding to historical CO2 price for EUR, which is the highest among regions) -***---------------------------------------------------------------------------------------------------------------------------------------------------- +***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +*** diff: regional prices are initially differentiated by GDP/capita and converge using quadratic phase-in until cm_CO2priceRegConvEndYr (default = 2050), globally uniform price thereafter, +*** level of regional carbon price differentiation (uniform, medium, strong) can be chosen via cm_co2_tax_spread +*** Lin: carbon price of developed regions increases linearly starting at historical level given by cm_co2_tax_hist in year cm_year_co2_tax_hist +*** initial value in cm_startyear is given by cm_co2_tax_startyear (if iterative_target_adj != 0, this value will be adjusted to meet prescribed CO2 budget) +*** 2Lin: (with iterative_target_adj = 9): after the peak year (initial value given by cm_peakBudgYr, will be adjusted by algorithm in core/postsolve.gms), +*** carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant) +*** (with iterative_target_adj = 5): carbon price of developed countries keeps increasing linearly (with same slope) until end of century, i.e. no change after peak year +*** (with iterative_target_adj = 0): after year given by cm_peakBudgYr (default = 2050), carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant), +*** for linearly increasing carbon price (with same slope) until end of century, set cm_peakBudgYr = 2110 +***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -*** Re-create the linear carbon price trajectory for rich countries to ensure that it -*** starts at 25$/t CO2eq in 2020, and -*** ends at the endogenously adjusted tax level in the peak year (with iterative_target_adj = 6|7|9) or in 2110 (otherwise; choice of 2110 since this is the year from which the trajectory is set to be constant - see datainput.gms file of this realization) +*** if CO2 price is iteratively adjusted (i.e. cm_iterative_target_adj != 0), +if((cm_iterative_target_adj ne 0), +*** re-create the linear carbon price trajectory for developed countries to ensure that it +*** starts at historical level given by cm_co2_tax_hist in year cm_year_co2_tax_hist, and +*** ends at the endogenously adjusted tax level in the peak year (with iterative_target_adj = 6|7|9) or in 2100 (otherwise) if((cm_iterative_target_adj eq 6) or (cm_iterative_target_adj eq 7) or (cm_iterative_target_adj eq 9), loop(regi$(p45_gdppcap2015_PPP(regi) gt 20), !! This doesn't need to be a loop, but it will be correct for any cycle of the loop, so also for the last cycle. p45_CO2priceTrajDeveloped(t)$(t.val le cm_peakBudgYr) - = s45_co2_tax_2020 - + (sum(t2$(t2.val eq cm_peakBudgYr), pm_taxCO2eq(t2,regi)) - s45_co2_tax_2020) / (cm_peakBudgYr - 2020) !! Yearly increase of CO2 price that interpolates between s45_co2_tax_2020 in 2020 and pm_taxCO2eq in peak year - * (t.val - 2020) ; + = s45_co2_tax_hist + + (sum(t2$(t2.val eq cm_peakBudgYr), pm_taxCO2eq(t2,regi)) - s45_co2_tax_hist) / (cm_peakBudgYr - s45_year_co2_tax_hist) !! Yearly increase of CO2 price that interpolates between s45_co2_tax_hist in s45_year_co2_tax_hist and pm_taxCO2eq in peak year + * (t.val - s45_year_co2_tax_hist) ; p45_CO2priceTrajDeveloped(t)$(t.val gt cm_peakBudgYr) = pm_taxCO2eq(t,regi); ); else loop(regi$(p45_gdppcap2015_PPP(regi) gt 20), !! This doesn't need to be a loop, but it will be correct for any cycle of the loop, so also for the last cycle. - p45_CO2priceTrajDeveloped(t)$(t.val le 2110) - = s45_co2_tax_2020 - + (pm_taxCO2eq("2110",regi) - s45_co2_tax_2020) / (2110 - 2020) !! Yearly increase of CO2 price that interpolates between s45_co2_tax_2020 in 2020 and pm_taxCO2eq in 2110 - * (t.val - 2020) ; - p45_CO2priceTrajDeveloped(t)$(t.val gt 2110) = pm_taxCO2eq(t,regi); + p45_CO2priceTrajDeveloped(t)$(t.val le 2100) + = s45_co2_tax_hist + + (pm_taxCO2eq("2100",regi) - s45_co2_tax_hist) / (2100 - s45_year_co2_tax_hist) !! Yearly increase of CO2 price that interpolates between s45_co2_tax_hist in s45_year_co2_tax_hist and pm_taxCO2eq in 2100 + * (t.val - s45_year_co2_tax_hist) ; + p45_CO2priceTrajDeveloped(t)$(t.val gt 2100) = pm_taxCO2eq(t,regi); ); ); -*** re-create the regional differentation, use path from developed countries as the basis. -*** quadratic transition to global price - starting point depends on GDP/cap +*** Re-create the regional CO2 price trajectories using 1) regional multiplicative CO2 price factors and 2) CO2 price trajectory for developped countries pm_taxCO2eq(t,regi) = p45_regCO2priceFactor(t,regi) * p45_CO2priceTrajDeveloped(t); - display pm_taxCO2eq; +); *** EOF ./modules/45_carbonprice/diffLin2Lin/postsolve.gms diff --git a/modules/45_carbonprice/diffLin2Lin/realization.gms b/modules/45_carbonprice/diffLin2Lin/realization.gms index dd9da3ffa..fcd21cbaf 100644 --- a/modules/45_carbonprice/diffLin2Lin/realization.gms +++ b/modules/45_carbonprice/diffLin2Lin/realization.gms @@ -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. +***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +*** diff: regional prices are initially differentiated by GDP/capita and converge using quadratic phase-in until cm_CO2priceRegConvEndYr (default = 2050), globally uniform price thereafter, +*** level of regional carbon price differentiation (uniform, medium, strong) can be chosen via cm_co2_tax_spread +*** Lin: carbon price of developed regions increases linearly starting at historical level given by cm_co2_tax_hist in year cm_year_co2_tax_hist +*** initial value in cm_startyear is given by cm_co2_tax_startyear (if iterative_target_adj != 0, this value will be adjusted to meet prescribed CO2 budget) +*** 2Lin: (with iterative_target_adj = 9): after the peak year (initial value given by cm_peakBudgYr, will be adjusted by algorithm in core/postsolve.gms), +*** carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant) +*** (with iterative_target_adj = 5): carbon price of developed countries keeps increasing linearly (with same slope) until end of century, i.e. no change after peak year +*** (with iterative_target_adj = 0): after year given by cm_peakBudgYr (default = 2050), carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant), +*** for linearly increasing carbon price (with same slope) until end of century, set cm_peakBudgYr = 2110 +***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + *####################### R SECTION START (PHASES) ############################## $Ifi "%phase%" == "declarations" $include "./modules/45_carbonprice/diffLin2Lin/declarations.gms" $Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/diffLin2Lin/datainput.gms" diff --git a/modules/45_carbonprice/exogenous/not_used.txt b/modules/45_carbonprice/exogenous/not_used.txt index e3441e7d6..8575250b1 100644 --- a/modules/45_carbonprice/exogenous/not_used.txt +++ b/modules/45_carbonprice/exogenous/not_used.txt @@ -31,3 +31,4 @@ cm_startyear,input,questionnaire cm_co2_tax_spread,switch,no carbon price differentiation in this realization cm_co2_tax_startyear,input,added by codeCheck cm_peakBudgYr,input,added by codeCheck +cm_taxCO2inc_after_peakBudgYr,input,added by codeCheck diff --git a/modules/45_carbonprice/expoLinear/not_used.txt b/modules/45_carbonprice/expoLinear/not_used.txt index 8a133964c..7140d84f5 100644 --- a/modules/45_carbonprice/expoLinear/not_used.txt +++ b/modules/45_carbonprice/expoLinear/not_used.txt @@ -25,5 +25,6 @@ cm_NDC_divergentScenario,input,questionnaire vm_demFeSector,input,questionnaire pm_emifac,input,questionnaire cm_co2_tax_spread,input,No carbon price differentiation in this realization -cm_co2_tax_2020,input,added by codeCheck cm_peakBudgYr,input,added by codeCheck +cm_co2_tax_2020,input,added by codeCheck +cm_taxCO2inc_after_peakBudgYr,input,added by codeCheck diff --git a/modules/45_carbonprice/exponential/not_used.txt b/modules/45_carbonprice/exponential/not_used.txt index ce25519fe..d5488de47 100644 --- a/modules/45_carbonprice/exponential/not_used.txt +++ b/modules/45_carbonprice/exponential/not_used.txt @@ -27,6 +27,7 @@ cm_CO2priceRegConvEndYr,input,questionnaire cm_NDC_divergentScenario,input,questionnaire vm_demFeSector,input,questionnaire pm_emifac,input,questionnaire -cm_co2_tax_spread,input,No carbon price differentiation in this realizationcm_co2_tax_startyear +cm_co2_tax_spread,input,No carbon price differentiation in this realization cm_co2_tax_startyear,input,added by codeCheck cm_peakBudgYr,input,added by codeCheck +cm_taxCO2inc_after_peakBudgYr,input,added by codeCheck diff --git a/modules/45_carbonprice/linear/not_used.txt b/modules/45_carbonprice/linear/not_used.txt index 0c71971d0..d8ed2f5f0 100644 --- a/modules/45_carbonprice/linear/not_used.txt +++ b/modules/45_carbonprice/linear/not_used.txt @@ -30,3 +30,4 @@ pm_emifac,input,questionnaire cm_co2_tax_spread,switch,no carbon price differentiation in this realization cm_co2_tax_startyear,input,added by codeCheck cm_peakBudgYr,input,added by codeCheck +cm_taxCO2inc_after_peakBudgYr,input,added by codeCheck diff --git a/modules/45_carbonprice/none/not_used.txt b/modules/45_carbonprice/none/not_used.txt index 6affe8ffd..62d6c911a 100644 --- a/modules/45_carbonprice/none/not_used.txt +++ b/modules/45_carbonprice/none/not_used.txt @@ -33,3 +33,4 @@ pm_emifac,input,questionnaire cm_co2_tax_spread,input,no carbon price differentiation in this realization cm_co2_tax_startyear,input,added by codeCheck cm_peakBudgYr,input,added by codeCheck +cm_taxCO2inc_after_peakBudgYr,input,added by codeCheck diff --git a/modules/45_carbonprice/temperatureNotToExceed/not_used.txt b/modules/45_carbonprice/temperatureNotToExceed/not_used.txt index d6f915a1a..3f2491e46 100644 --- a/modules/45_carbonprice/temperatureNotToExceed/not_used.txt +++ b/modules/45_carbonprice/temperatureNotToExceed/not_used.txt @@ -25,3 +25,4 @@ pm_emifac,input,questionnaire cm_co2_tax_spread,input,no carbon price differentiation in this realization cm_co2_tax_startyear,input,added by codeCheck cm_peakBudgYr,input,added by codeCheck +cm_taxCO2inc_after_peakBudgYr,input,added by codeCheck diff --git a/scripts/start/readCheckScenarioConfig.R b/scripts/start/readCheckScenarioConfig.R index 506582e16..a6309199d 100644 --- a/scripts/start/readCheckScenarioConfig.R +++ b/scripts/start/readCheckScenarioConfig.R @@ -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", "c_solscen" = "Deleted, not used anymore, see https://github.com/remindmodel/remind/pull/1515", "cm_regNetNegCO2" = "Deleted, not used, see https://github.com/remindmodel/remind/pull/1517", "cm_solwindenergyscen"= "Deleted, not used, see https://github.com/remindmodel/remind/pull/1532", diff --git a/standalone/MOFEX/MOFEX.gms b/standalone/MOFEX/MOFEX.gms index c374cb231..badc6b07e 100644 --- a/standalone/MOFEX/MOFEX.gms +++ b/standalone/MOFEX/MOFEX.gms @@ -189,7 +189,7 @@ cm_frac_NetNegEmi "tax on net negative emissions to reflect risk of overshoot cm_DiscRateScen "Scenario for the implicit discount rate applied to the energy efficiency capital" 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_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" @@ -318,7 +318,7 @@ $setGlobal cm_emiMktTarget off !! def = off cm_postTargetIncrease = 0; !! def = 0 $setGlobal cm_quantity_regiCO2target off !! def = off c_peakBudgYr = 2050; !! def = 2050 -c_taxCO2inc_after_peakBudgYr = 2; !! def = 2 +cm_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 ecfd65408..572735ec4 100644 --- a/standalone/trade/trade.gms +++ b/standalone/trade/trade.gms @@ -193,7 +193,7 @@ cm_frac_NetNegEmi "tax on net negative emissions to reflect risk of overshoot cm_DiscRateScen "Scenario for the implicit discount rate applied to the energy efficiency capital" 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_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" @@ -323,7 +323,7 @@ $setGlobal cm_emiMktTarget off !! def = off cm_postTargetIncrease = 0; !! def = 0 $setGlobal cm_quantity_regiCO2target off !! def = off c_peakBudgYr = 2050; !! def = 2050 -c_taxCO2inc_after_peakBudgYr = 2; !! def = 2 +cm_taxCO2inc_after_peakBudgYr = 2; !! def = 2 cm_CO2priceRegConvEndYr = 2050; !! def = 2050 $setGlobal cm_NucRegiPol off !! def = off From 97367c50a2e0f7924530df7343ab3f9eaa773b94 Mon Sep 17 00:00:00 2001 From: lecfab Date: Wed, 21 Aug 2024 17:52:02 +0200 Subject: [PATCH 344/875] remove useless loop; use tall instead of ttot; Robin's floor space exponent --- core/datainput.gms | 10 ++++------ core/declarations.gms | 2 +- modules/36_buildings/simple/datainput.gms | 11 +++++------ 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/core/datainput.gms b/core/datainput.gms index 41d9a1613..98e714456 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -1605,14 +1605,12 @@ $endif.cm_rcp_scen_build *** Scale FE demand across industry and building sectors $ifthen.scaleDemand not "%cm_scaleDemand%" == "off" - loop((t,t3,all_regi) $ pm_scaleDemand(t,t3,all_regi), - loop(t2, -*FL* rescaled demand = normal demand * [ scaling factor + (1-scaling factor) * remaining phase-in, between zero and one ] - pm_fedemand(t2,all_regi,all_in) = pm_fedemand(t2,all_regi,all_in) * ( pm_scaleDemand(t,t3,all_regi) + (1-pm_scaleDemand(t,t3,all_regi)) * min(1, max(0, t3.val-t2.val) / (t3.val-t.val)) ); - ) + loop((tall,tall2,regi) $ pm_scaleDemand(tall,tall2,regi), +*FL* rescaled demand = normal demand * [ scaling factor + (1-scaling factor) * remaining phase-in, between zero and one ] + pm_fedemand(t,all_regi,all_in) = pm_fedemand(t,all_regi,all_in) * ( pm_scaleDemand(tall,tall2,all_regi) + (1-pm_scaleDemand(tall,tall2,all_regi)) * min(1, max(0, tall2.val-t.val) / (tall2.val-tall.val)) ); ); $endif.scaleDemand - + *** initialize global target deviation scalar diff --git a/core/declarations.gms b/core/declarations.gms index 16b31c5d2..55703fb13 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -186,7 +186,7 @@ $ifthen.VREPot_Factor not "%c_VREPot_Factor%" == "off" $endif.VREPot_Factor $ifthen.scaleDemand not "%cm_scaleDemand%" == "off" - pm_scaleDemand(ttot,ttot,all_regi) "Rescaling factor on final energy and usable energy demand, for selected regions and over a phase-in window." / %cm_scaleDemand% / + pm_scaleDemand(tall,tall,all_regi) "Rescaling factor on final energy and usable energy demand, for selected regions and over a phase-in window." / %cm_scaleDemand% / $endif.scaleDemand p_boundtmp(tall,all_regi,all_te,rlf) "read-in bound on capacities" diff --git a/modules/36_buildings/simple/datainput.gms b/modules/36_buildings/simple/datainput.gms index 23924a532..d3346f4a0 100644 --- a/modules/36_buildings/simple/datainput.gms +++ b/modules/36_buildings/simple/datainput.gms @@ -59,12 +59,11 @@ p36_uedemand_build(ttot,regi,in) = f36_uedemand_build(ttot,regi,"%cm_demScen%"," *** Scale UE demand and floor space in the building sector $ifthen.scaleDemand not "%cm_scaleDemand%" == "off" - loop((t,t3,regi) $ pm_scaleDemand(t,t3,regi), - loop(t2, -*FL* rescaled demand = normal demand * [ scaling factor + (1-scaling factor) * remaining phase-in, between zero and one ] - p36_uedemand_build(t,regi,in) = p36_uedemand_build(t,regi,in) * ( pm_scaleDemand(t,t3,regi) + (1-pm_scaleDemand(t,t3,regi)) * min(1, max(0, t3.val-t2.val) / (t3.val-t.val)) ); - p36_floorspace(t,regi) = p36_floorspace(t,regi) * ( pm_scaleDemand(t,t3,regi) + (1-pm_scaleDemand(t,t3,regi)) * min(1, max(0, t3.val-t2.val) / (t3.val-t.val)) ); - ) + loop((tall,tall2,regi) $ pm_scaleDemand(tall,tall2,regi), +*FL* rescaled demand = normal demand * [ scaling factor + (1-scaling factor) * remaining phase-in, between zero and one ] + p36_uedemand_build(t,regi,in) = p36_uedemand_build(t,regi,in) * ( pm_scaleDemand(tall,tall2,regi) + (1-pm_scaleDemand(tall,tall2,regi)) * min(1, max(0, tall2.val-t.val) / (tall2.val-tall.val)) ); +*RH* we can estimate that floor space varies like the power 0.3 of demand variation to + p36_floorspace(t,regi) = p36_floorspace(t,regi) * ( power(pm_scaleDemand(tall,tall2,regi), 0.3) + (1-power(pm_scaleDemand(tall,tall2,regi), 0.3)) * min(1, max(0, tall2.val-t.val) / (tall2.val-tall.val)) ); ); $endif.scaleDemand From 1d5b125f1812c816480163e3f2f2847b79679800 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Wed, 21 Aug 2024 18:45:59 +0000 Subject: [PATCH 345/875] Release development version 3.3.2.dev389 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 4690b665c..d637584db 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,8 +266,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev367" -date-released: 2024-08-20 +version: "3.3.2.dev389" +date-released: 2024-08-21 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index eb6482fcf..3e7da9611 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev367" +cfg$model_version <- "3.3.2.dev389" #### settings #### cfg$gms <- list() From 7ed79482c40ca40b76f37e1ef849831731dfe4d9 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Thu, 22 Aug 2024 09:15:31 +0000 Subject: [PATCH 346/875] Release development version 3.3.2.dev392 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index d637584db..9fde44ecc 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,8 +266,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev389" -date-released: 2024-08-21 +version: "3.3.2.dev392" +date-released: 2024-08-22 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 3e7da9611..215a29c6c 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev389" +cfg$model_version <- "3.3.2.dev392" #### settings #### cfg$gms <- list() From 1e44365b8899dad77c85eaf637edb083e9ad78d1 Mon Sep 17 00:00:00 2001 From: gabriel-abrahao Date: Thu, 22 Aug 2024 12:08:47 +0200 Subject: [PATCH 347/875] Utils script to check the percentile climate outcome --- .../utils/climate_assessment/check_outcomes.R | 101 ++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 scripts/utils/climate_assessment/check_outcomes.R diff --git a/scripts/utils/climate_assessment/check_outcomes.R b/scripts/utils/climate_assessment/check_outcomes.R new file mode 100644 index 000000000..dffa0987e --- /dev/null +++ b/scripts/utils/climate_assessment/check_outcomes.R @@ -0,0 +1,101 @@ +# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | authors, and contributors see CITATION.cff file. This file is part +# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +# | AGPL-3.0, you are granted additional permissions described in the +# | REMIND License Exception, version 1.0 (see LICENSE file). +# | Contact: remind@pik-potsdam.de +# This script is used to check the temperature outcomes of MAGICC when run inside +# REMIND +# The In-GAMS version of MAGICC can only run only one configuration (that is, parametrization) +# of MAGICC at a time, picked in cfg$climate_assessment_magicc_prob_file_iteration +# The available configuration files were designed to roughly reproduce a certain quantile outcome +# of 2100 temperature for scenarios that are as similar as possible to an RCP (hence the nomenclature +# of the config files e.g. RCP20_50.json will be close to the 50th percentile outcome in a RCP2.0-like +# scenario) +# This quantile outcome is of course not guaranteed, so this script helps check the validity of +# the assumed quantile against the 600-member MAGICC7 AR6 assessment that is run by default +# at the end of each run. Therefore, for it to work, the output script MAGICC7_AR6.R must +# have already run and added the `MAGICC7 AR6|**` variables to `REMIND_generic_*.mif`. +# +# To verify the output, check the figures in `check_output_figures.pdf` and the table in +# `check_output_summary.csv` + +require(tidyverse) +require(quitte) +require(gdx) +require(yaml) + +# The scenarios to be checked. Needs the full folder names in the output folder, +# including the timestamp if there is one +checkscenarios <- c( + "C_o_2c_KLW_d50_newmagicc-rem-6", + "C_o_cba_2c_KLW_d5-rem-6", + "C_o_cba_2c_KLW_d50-rem-6" + # "C_o_cba_2c_KLW_d95-rem-6" +) + +runfolders <- file.path("output",checkscenarios) + +# Get a value from the cfg file in a folder +get_cfgval <- function(runfolder, name) { + read_yaml(paste0(runfolder,"/cfg.txt"))[[name]] +} + +# Get the configuration names to have as a reference +usedconfigs <- bind_rows(lapply(1:length(runfolders), + # \(i) read_yaml(paste0(runfolders,"/cfg.txt")[i])$climate_assessment_magicc_prob_file_iteration %>% basename %>% str_remove(".json$") + \(i) tibble( + scenario = get_cfgval(runfolders[i], "title"), + usedconfig = get_cfgval(runfolders[i], "climate_assessment_magicc_prob_file_iteration") %>% basename %>% str_remove(".json$") + ) +)) + +# Read pm_globalMeanTemperature from the MAGICC gdxs +tempgdxs <- paste0(runfolders,"/p15_magicc_temp.gdx") +gdxdata <- bind_rows( + lapply( + 1:length(checkscenarios), + \(i) mutate(read.gdx(tempgdxs[i], "pm_globalMeanTemperature"),scenario = get_cfgval(dirname(tempgdxs[i]), "title") + ))) %>% + rename(period = tall) %>% + mutate(variable = "pm_globalMeanTemperature", region = "World", unit = "K") %>% + mutate(model = "MAGICC7 In-GAMS") + + + +# Read reporting data. Requires MAGICC7_AR6 to have been successfully run +filelist <- list.files(runfolders, pattern = ".mif", full.names = TRUE) +miflist <- filelist[str_detect(filelist, "REMIND_generic_.*")&!str_detect(filelist, "withoutPlus")] + +mifdata <- read.quitte(miflist) +miftempdata <- mifdata %>% + filter(region == "World", variable %in% c( + "MAGICC7 AR6|Surface Temperature (GSAT)|10.0th Percentile", + "MAGICC7 AR6|Surface Temperature (GSAT)|33.0th Percentile", + "MAGICC7 AR6|Surface Temperature (GSAT)|50.0th Percentile", + "MAGICC7 AR6|Surface Temperature (GSAT)|66.0th Percentile", + "MAGICC7 AR6|Surface Temperature (GSAT)|90.0th Percentile" + )) %>% + mutate(model = "MAGICC7 AR6") %>% + mutate(variable = str_split_i(variable,"\\|",3)) + + +# Concatenate all data, joining the usedconfigs as an extra column for reference +alldata <- bind_rows(left_join(usedconfigs,miftempdata), left_join(usedconfigs,gdxdata)) + +# Basic comparison plot +alldata %>% + ggplot(aes(x = period, y = value, color = variable, linetype = model)) + + geom_path() + + facet_wrap(~scenario + usedconfig, scales = "free") + + xlim(2000,2100) + + theme(legend.position = "bottom") +ggsave("check_outcomes_plots.pdf", width = 210, height = 297, units = "mm") + +# Summary table +summarytable <- alldata %>% + filter(period %in% c(2050,2100)) %>% + select(-model) %>% + pivot_wider(names_from = variable, values_from = value) +write.table(summarytable, "check_outcomes_summary.csv", row.names = F) + From c7227cb067bf81f9e3c5b27b9ef335d6f876b4a7 Mon Sep 17 00:00:00 2001 From: Pascal Weigmann Date: Fri, 6 Oct 2023 10:44:43 +0200 Subject: [PATCH 348/875] reintroduce q32_elh2VREcapfromTestor --- modules/32_power/IntC/declarations.gms | 1 + modules/32_power/IntC/equations.gms | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/modules/32_power/IntC/declarations.gms b/modules/32_power/IntC/declarations.gms index 7143eb387..4eb3b4ad0 100644 --- a/modules/32_power/IntC/declarations.gms +++ b/modules/32_power/IntC/declarations.gms @@ -48,6 +48,7 @@ equations q32_operatingReserve(ttot,all_regi) "operating reserve for necessary flexibility" q32_h2turbVREcapfromTestor(tall,all_regi) "calculate capacities of dummy seel<--h2 technology from storXXX technologies" q32_h2turbVREcapfromTestorUp(ttot,all_regi) "constraint h2turbVRE hydrogen turbines to be only built together with storage capacities" + q32_elh2VREcapfromTestor(tall,all_regi) "calculate capacities of dummy seel-->h2 technology from storXXX technologies" q32_flexAdj(ttot,all_regi,all_te) "calculate flexibility benefit or cost per flexible technology to be used by flexibility tax" q32_flexPriceShareMin(ttot,all_regi,all_te) "calculate miniumum share of average electricity that flexible technologies can see" q32_flexPriceShareVRE(ttot,all_regi,all_te) "calculate miniumum share of average electricity that flexible technologies can see given the current VRE share" diff --git a/modules/32_power/IntC/equations.gms b/modules/32_power/IntC/equations.gms index f6c4bf72e..3ed7cdfab 100644 --- a/modules/32_power/IntC/equations.gms +++ b/modules/32_power/IntC/equations.gms @@ -96,6 +96,13 @@ q32_h2turbVREcapfromTestorUp(t,regi).. p32_storageCap(te,"h2turbVREcapratio") * vm_cap(t,regi,te,"1") ) ; +*** build additional electrolysis capacities with stored VRE electricity +q32_elh2VREcapfromTestor(t,regi).. + vm_cap(t,regi,"elh2","1") + =g= + sum(te$testor(te), p32_storageCap(te,"elh2VREcapratio") * vm_cap(t,regi,te,"1") ) +; + ***--------------------------------------------------------------------------- *' Definition of capacity constraints for CHP technologies: From d514370b47317a641acfed8fd8f0b27035b238a7 Mon Sep 17 00:00:00 2001 From: Pascal Weigmann Date: Thu, 19 Oct 2023 16:39:11 +0200 Subject: [PATCH 349/875] phase-in electrolysis capacities from stored VRE --- modules/32_power/IntC/datainput.gms | 6 ++++++ modules/32_power/IntC/declarations.gms | 1 + modules/32_power/IntC/equations.gms | 4 ++-- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/modules/32_power/IntC/datainput.gms b/modules/32_power/IntC/datainput.gms index 93edca674..19f7191fa 100644 --- a/modules/32_power/IntC/datainput.gms +++ b/modules/32_power/IntC/datainput.gms @@ -116,4 +116,10 @@ loop(ext_regi$f32_cm_PriceDurSlope_elh2(ext_regi), *** The value of 1.1 is derived from the regression of the German Langfristzenarien. p32_flexSeelShare_slope(t,regi,"elh2") = 1.1; +*** Elh2VREcap phase-in factor +p32_phaseInElh2VREcap(t)$(t.val < 2030) = 0; +p32_phaseInElh2VREcap("2030") = 0.25; +p32_phaseInElh2VREcap("2035") = 0.5; +p32_phaseInElh2VREcap(t)$(t.val > 2035) = 1; + *** EOF ./modules/32_power/IntC/datainput.gms diff --git a/modules/32_power/IntC/declarations.gms b/modules/32_power/IntC/declarations.gms index 4eb3b4ad0..9c102cf67 100644 --- a/modules/32_power/IntC/declarations.gms +++ b/modules/32_power/IntC/declarations.gms @@ -18,6 +18,7 @@ parameters o32_dispatchDownPe2se(ttot,all_regi,all_te) "output parameter to check by how much a pe2se te reduced its output below the normal, in % of the normal output." p32_shThresholdTotVREAddIntCost(ttot) "Total VRE share threshold above which additional integration challenges arise. Increases with time as eg in 2030, there is still little experience with managing systems with 80% VRE share. Unit: Percent" p32_FactorAddIntCostTotVRE "Multiplicative factor that influences how much the total VRE share increases integration challenges" + p32_phaseInElh2VREcap(ttot) "phase-in factor for electrolysis capacities built from stored VRE electricity, scale up from 2030 to 2040" p32_flexSeelShare_slope(ttot,all_regi,all_te) "Slope of relationship between average electricity price for flexible technology and share of this technology in total electricity demand. Unit: [ % percentage of average electricity price / % share in electricity demand]." ; diff --git a/modules/32_power/IntC/equations.gms b/modules/32_power/IntC/equations.gms index 3ed7cdfab..121c0e48c 100644 --- a/modules/32_power/IntC/equations.gms +++ b/modules/32_power/IntC/equations.gms @@ -96,11 +96,11 @@ q32_h2turbVREcapfromTestorUp(t,regi).. p32_storageCap(te,"h2turbVREcapratio") * vm_cap(t,regi,te,"1") ) ; -*** build additional electrolysis capacities with stored VRE electricity +*** build additional electrolysis capacities with stored VRE electricity, phase-in from 2030 to 2040 q32_elh2VREcapfromTestor(t,regi).. vm_cap(t,regi,"elh2","1") =g= - sum(te$testor(te), p32_storageCap(te,"elh2VREcapratio") * vm_cap(t,regi,te,"1") ) + sum(te$testor(te), p32_storageCap(te,"elh2VREcapratio") * vm_cap(t,regi,te,"1") ) * p32_phaseInElh2VREcap(t) ; From e2728c19fc6ddc0b4580e9466f334e98b10ad95d Mon Sep 17 00:00:00 2001 From: Pascal Weigmann Date: Tue, 17 Oct 2023 11:09:14 +0200 Subject: [PATCH 350/875] double storageCap for H2turbVRE --- modules/32_power/IntC/input/f32_storageCap.prn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/32_power/IntC/input/f32_storageCap.prn b/modules/32_power/IntC/input/f32_storageCap.prn index a8383c57c..98424de5b 100644 --- a/modules/32_power/IntC/input/f32_storageCap.prn +++ b/modules/32_power/IntC/input/f32_storageCap.prn @@ -1,7 +1,7 @@ *** SOF ./modules/32_power/IntC/input/storageCap.prn storspv storwind storcsp elh2VREcapratio 0.16 0.12 0.12 -h2turbVREcapratio 0.6 0.45 0.45 +h2turbVREcapratio 1.2 0.90 0.90 batteryVREcapRatio 3 1.1 0 *** EOF ./modules/32_power/IntC/input/storageCap.prn From 1fdb9f7eea3198667f262f2fbb109d0801e36d95 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Thu, 22 Aug 2024 15:25:20 +0200 Subject: [PATCH 351/875] code check --- modules/32_power/IntC/equations.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/32_power/IntC/equations.gms b/modules/32_power/IntC/equations.gms index 121c0e48c..be046fafc 100644 --- a/modules/32_power/IntC/equations.gms +++ b/modules/32_power/IntC/equations.gms @@ -100,7 +100,7 @@ q32_h2turbVREcapfromTestorUp(t,regi).. q32_elh2VREcapfromTestor(t,regi).. vm_cap(t,regi,"elh2","1") =g= - sum(te$testor(te), p32_storageCap(te,"elh2VREcapratio") * vm_cap(t,regi,te,"1") ) * p32_phaseInElh2VREcap(t) + sum(te$teStor(te), p32_storageCap(te,"elh2VREcapratio") * vm_cap(t,regi,te,"1") ) * p32_phaseInElh2VREcap(t) ; From 295a13035fe2f2be7bf272b9fca1a5b3c30be109 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Medeiros=20Abrah=C3=A3o?= <30908904+gabriel-abrahao@users.noreply.github.com> Date: Thu, 22 Aug 2024 16:08:05 +0200 Subject: [PATCH 352/875] Fancy scenario picking by Oli Co-authored-by: orichters <90761609+orichters@users.noreply.github.com> --- .../utils/climate_assessment/check_outcomes.R | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/scripts/utils/climate_assessment/check_outcomes.R b/scripts/utils/climate_assessment/check_outcomes.R index dffa0987e..ed5117aef 100644 --- a/scripts/utils/climate_assessment/check_outcomes.R +++ b/scripts/utils/climate_assessment/check_outcomes.R @@ -25,16 +25,12 @@ require(quitte) require(gdx) require(yaml) -# The scenarios to be checked. Needs the full folder names in the output folder, -# including the timestamp if there is one -checkscenarios <- c( - "C_o_2c_KLW_d50_newmagicc-rem-6", - "C_o_cba_2c_KLW_d5-rem-6", - "C_o_cba_2c_KLW_d50-rem-6" - # "C_o_cba_2c_KLW_d95-rem-6" -) - -runfolders <- file.path("output",checkscenarios) +if(! exists("source_include")) { + # Define arguments that can be read from command line + outputdir <- "." + flags <- lucode2::readArgs("outputdir", .flags = c(i = "--interactive")) +} +runfolders <- outputdir # Get a value from the cfg file in a folder get_cfgval <- function(runfolder, name) { From b455d0d724ff93583fd074f4358bf852179415d0 Mon Sep 17 00:00:00 2001 From: gabriel-abrahao Date: Thu, 22 Aug 2024 16:29:45 +0200 Subject: [PATCH 353/875] Turn into decent output script --- .../comparison/checkClimatePercentiles.R | 111 ++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 scripts/output/comparison/checkClimatePercentiles.R diff --git a/scripts/output/comparison/checkClimatePercentiles.R b/scripts/output/comparison/checkClimatePercentiles.R new file mode 100644 index 000000000..ee003cf95 --- /dev/null +++ b/scripts/output/comparison/checkClimatePercentiles.R @@ -0,0 +1,111 @@ +# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | authors, and contributors see CITATION.cff file. This file is part +# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +# | AGPL-3.0, you are granted additional permissions described in the +# | REMIND License Exception, version 1.0 (see LICENSE file). +# | Contact: remind@pik-potsdam.de +# This script is used to check the temperature outcomes of MAGICC when run inside +# REMIND +# The In-GAMS version of MAGICC can only run only one configuration (that is, parametrization) +# of MAGICC at a time, picked in cfg$climate_assessment_magicc_prob_file_iteration +# The available configuration files were designed to roughly reproduce a certain quantile outcome +# of 2100 temperature for scenarios that are as similar as possible to an RCP (hence the nomenclature +# of the config files e.g. RCP20_50.json will be close to the 50th percentile outcome in a RCP2.0-like +# scenario) +# This quantile outcome is of course not guaranteed, so this script helps check the validity of +# the assumed quantile against the 600-member MAGICC7 AR6 assessment that is run by default +# at the end of each run. Therefore, for it to work, the output script MAGICC7_AR6.R must +# have already run and added the `MAGICC7 AR6|**` variables to `REMIND_generic_*.mif`. +# +# To verify the output, check the figures in `check_output_figures.pdf` and the table in +# `check_output_summary.csv` + +require(tidyverse) +require(quitte) +require(gdx) +require(yaml) + +cat("===================== STARTING checkClimatePercentiles.R", "\n") +cat("===================== see output for final location of output files", "\n") +if(! exists("source_include")) { + # Define arguments that can be read from command line + outputdir <- "." + flags <- lucode2::readArgs("outputdir", .flags = c(i = "--interactive")) +} else { + outputdir <- outputdirs +} +runfolders <- outputdir + +checkscenarios <- basename(runfolders) +cat("checkscenarios", checkscenarios, "\n") + + +# Get a value from the cfg file in a folder +get_cfgval <- function(runfolder, name) { + read_yaml(paste0(runfolder,"/cfg.txt"))[[name]] +} + +# Get the configuration names to have as a reference +usedconfigs <- bind_rows(lapply(1:length(runfolders), + # \(i) read_yaml(paste0(runfolders,"/cfg.txt")[i])$climate_assessment_magicc_prob_file_iteration %>% basename %>% str_remove(".json$") + \(i) tibble( + scenario = get_cfgval(runfolders[i], "title"), + usedconfig = get_cfgval(runfolders[i], "climate_assessment_magicc_prob_file_iteration") %>% basename %>% str_remove(".json$") + ) +)) + +# Read pm_globalMeanTemperature from the MAGICC gdxs +tempgdxs <- paste0(runfolders,"/p15_magicc_temp.gdx") +gdxdata <- bind_rows( + lapply( + 1:length(checkscenarios), + \(i) mutate(read.gdx(tempgdxs[i], "pm_globalMeanTemperature"),scenario = get_cfgval(dirname(tempgdxs[i]), "title") + ))) %>% + rename(period = tall) %>% + mutate(variable = "pm_globalMeanTemperature", region = "World", unit = "K") %>% + mutate(model = "MAGICC7 In-GAMS") + + + +# Read reporting data. Requires MAGICC7_AR6 to have been successfully run +filelist <- list.files(runfolders, pattern = ".mif", full.names = TRUE) +miflist <- filelist[str_detect(filelist, "REMIND_generic_.*")&!str_detect(filelist, "withoutPlus")] + +mifdata <- read.quitte(miflist) +miftempdata <- mifdata %>% + filter(region == "World", variable %in% c( + "MAGICC7 AR6|Surface Temperature (GSAT)|10.0th Percentile", + "MAGICC7 AR6|Surface Temperature (GSAT)|33.0th Percentile", + "MAGICC7 AR6|Surface Temperature (GSAT)|50.0th Percentile", + "MAGICC7 AR6|Surface Temperature (GSAT)|66.0th Percentile", + "MAGICC7 AR6|Surface Temperature (GSAT)|90.0th Percentile" + )) %>% + mutate(model = "MAGICC7 AR6") %>% + mutate(variable = str_split_i(variable,"\\|",3)) + + +# Concatenate all data, joining the usedconfigs as an extra column for reference +alldata <- bind_rows(left_join(usedconfigs,miftempdata), left_join(usedconfigs,gdxdata)) + +# Basic comparison plot +alldata %>% + ggplot(aes(x = period, y = value, color = variable, linetype = model)) + + geom_path() + + facet_wrap(~scenario + usedconfig, scales = "free") + + xlim(2000,2100) + + theme(legend.position = "bottom") +outpdffname <- "check_outcomes_plots.pdf" +cat("===================== Writing comparison plots to: ", outpdffname, "\n") +ggsave(outpdffname, width = 210, height = 297, units = "mm") +cat("===================== written in location: ", normalizePath(outpdffname), "\n") + +# Summary table +summarytable <- alldata %>% + filter(period %in% c(2050,2100)) %>% + select(-model) %>% + pivot_wider(names_from = variable, values_from = value) +outtablefname <- "check_outcomes_summary.csv" +cat("===================== Writing comparison table to: ", outtablefname, "\n") +write.table(summarytable, outtablefname, row.names = F) +cat("===================== written in location: ", normalizePath(outtablefname), "\n") + From c62c6fb2d4078f96e9da3d10ba7ab2340ada97fb Mon Sep 17 00:00:00 2001 From: gabriel-abrahao Date: Thu, 22 Aug 2024 16:30:33 +0200 Subject: [PATCH 354/875] Delete old one and add to mif checks in output.R --- output.R | 2 +- .../utils/climate_assessment/check_outcomes.R | 97 ------------------- 2 files changed, 1 insertion(+), 98 deletions(-) delete mode 100644 scripts/utils/climate_assessment/check_outcomes.R diff --git a/output.R b/output.R index 512bfef54..e88b98c05 100755 --- a/output.R +++ b/output.R @@ -147,7 +147,7 @@ if (! exists("output")) { # Select output directories if not defined by readArgs if (! exists("outputdir")) { modulesNeedingMif <- c("compareScenarios2", "xlsx_IIASA", "policyCosts", "Ariadne_output", - "plot_compare_iterations", "varListHtml", "fixOnRef", "MAGICC7_AR6") + "plot_compare_iterations", "varListHtml", "fixOnRef", "MAGICC7_AR6", "checkClimatePercentiles") needingMif <- any(modulesNeedingMif %in% output) && ! "reporting" %in% output[[1]] if (exists("remind_dir")) { dir_folder <- c(file.path(remind_dir, "output"), remind_dir) diff --git a/scripts/utils/climate_assessment/check_outcomes.R b/scripts/utils/climate_assessment/check_outcomes.R deleted file mode 100644 index ed5117aef..000000000 --- a/scripts/utils/climate_assessment/check_outcomes.R +++ /dev/null @@ -1,97 +0,0 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -# | authors, and contributors see CITATION.cff file. This file is part -# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -# | AGPL-3.0, you are granted additional permissions described in the -# | REMIND License Exception, version 1.0 (see LICENSE file). -# | Contact: remind@pik-potsdam.de -# This script is used to check the temperature outcomes of MAGICC when run inside -# REMIND -# The In-GAMS version of MAGICC can only run only one configuration (that is, parametrization) -# of MAGICC at a time, picked in cfg$climate_assessment_magicc_prob_file_iteration -# The available configuration files were designed to roughly reproduce a certain quantile outcome -# of 2100 temperature for scenarios that are as similar as possible to an RCP (hence the nomenclature -# of the config files e.g. RCP20_50.json will be close to the 50th percentile outcome in a RCP2.0-like -# scenario) -# This quantile outcome is of course not guaranteed, so this script helps check the validity of -# the assumed quantile against the 600-member MAGICC7 AR6 assessment that is run by default -# at the end of each run. Therefore, for it to work, the output script MAGICC7_AR6.R must -# have already run and added the `MAGICC7 AR6|**` variables to `REMIND_generic_*.mif`. -# -# To verify the output, check the figures in `check_output_figures.pdf` and the table in -# `check_output_summary.csv` - -require(tidyverse) -require(quitte) -require(gdx) -require(yaml) - -if(! exists("source_include")) { - # Define arguments that can be read from command line - outputdir <- "." - flags <- lucode2::readArgs("outputdir", .flags = c(i = "--interactive")) -} -runfolders <- outputdir - -# Get a value from the cfg file in a folder -get_cfgval <- function(runfolder, name) { - read_yaml(paste0(runfolder,"/cfg.txt"))[[name]] -} - -# Get the configuration names to have as a reference -usedconfigs <- bind_rows(lapply(1:length(runfolders), - # \(i) read_yaml(paste0(runfolders,"/cfg.txt")[i])$climate_assessment_magicc_prob_file_iteration %>% basename %>% str_remove(".json$") - \(i) tibble( - scenario = get_cfgval(runfolders[i], "title"), - usedconfig = get_cfgval(runfolders[i], "climate_assessment_magicc_prob_file_iteration") %>% basename %>% str_remove(".json$") - ) -)) - -# Read pm_globalMeanTemperature from the MAGICC gdxs -tempgdxs <- paste0(runfolders,"/p15_magicc_temp.gdx") -gdxdata <- bind_rows( - lapply( - 1:length(checkscenarios), - \(i) mutate(read.gdx(tempgdxs[i], "pm_globalMeanTemperature"),scenario = get_cfgval(dirname(tempgdxs[i]), "title") - ))) %>% - rename(period = tall) %>% - mutate(variable = "pm_globalMeanTemperature", region = "World", unit = "K") %>% - mutate(model = "MAGICC7 In-GAMS") - - - -# Read reporting data. Requires MAGICC7_AR6 to have been successfully run -filelist <- list.files(runfolders, pattern = ".mif", full.names = TRUE) -miflist <- filelist[str_detect(filelist, "REMIND_generic_.*")&!str_detect(filelist, "withoutPlus")] - -mifdata <- read.quitte(miflist) -miftempdata <- mifdata %>% - filter(region == "World", variable %in% c( - "MAGICC7 AR6|Surface Temperature (GSAT)|10.0th Percentile", - "MAGICC7 AR6|Surface Temperature (GSAT)|33.0th Percentile", - "MAGICC7 AR6|Surface Temperature (GSAT)|50.0th Percentile", - "MAGICC7 AR6|Surface Temperature (GSAT)|66.0th Percentile", - "MAGICC7 AR6|Surface Temperature (GSAT)|90.0th Percentile" - )) %>% - mutate(model = "MAGICC7 AR6") %>% - mutate(variable = str_split_i(variable,"\\|",3)) - - -# Concatenate all data, joining the usedconfigs as an extra column for reference -alldata <- bind_rows(left_join(usedconfigs,miftempdata), left_join(usedconfigs,gdxdata)) - -# Basic comparison plot -alldata %>% - ggplot(aes(x = period, y = value, color = variable, linetype = model)) + - geom_path() + - facet_wrap(~scenario + usedconfig, scales = "free") + - xlim(2000,2100) + - theme(legend.position = "bottom") -ggsave("check_outcomes_plots.pdf", width = 210, height = 297, units = "mm") - -# Summary table -summarytable <- alldata %>% - filter(period %in% c(2050,2100)) %>% - select(-model) %>% - pivot_wider(names_from = variable, values_from = value) -write.table(summarytable, "check_outcomes_summary.csv", row.names = F) - From eef252f0a5bbaf53db03bd1b5a043d95bc1f6edf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Medeiros=20Abrah=C3=A3o?= <30908904+gabriel-abrahao@users.noreply.github.com> Date: Thu, 22 Aug 2024 16:40:50 +0200 Subject: [PATCH 355/875] Update scripts/output/comparison/checkClimatePercentiles.R Elegance Co-authored-by: orichters <90761609+orichters@users.noreply.github.com> --- scripts/output/comparison/checkClimatePercentiles.R | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/scripts/output/comparison/checkClimatePercentiles.R b/scripts/output/comparison/checkClimatePercentiles.R index ee003cf95..10f1ed664 100644 --- a/scripts/output/comparison/checkClimatePercentiles.R +++ b/scripts/output/comparison/checkClimatePercentiles.R @@ -27,13 +27,7 @@ require(yaml) cat("===================== STARTING checkClimatePercentiles.R", "\n") cat("===================== see output for final location of output files", "\n") -if(! exists("source_include")) { - # Define arguments that can be read from command line - outputdir <- "." - flags <- lucode2::readArgs("outputdir", .flags = c(i = "--interactive")) -} else { - outputdir <- outputdirs -} +lucode2::readArgs("outputdirs") runfolders <- outputdir checkscenarios <- basename(runfolders) From f8dbe5fb50bdc8f19d8f36032751a4909c4bf299 Mon Sep 17 00:00:00 2001 From: gabriel-abrahao Date: Thu, 22 Aug 2024 16:45:51 +0200 Subject: [PATCH 356/875] bugfix --- scripts/output/comparison/checkClimatePercentiles.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/output/comparison/checkClimatePercentiles.R b/scripts/output/comparison/checkClimatePercentiles.R index 10f1ed664..c529d06a1 100644 --- a/scripts/output/comparison/checkClimatePercentiles.R +++ b/scripts/output/comparison/checkClimatePercentiles.R @@ -28,7 +28,7 @@ require(yaml) cat("===================== STARTING checkClimatePercentiles.R", "\n") cat("===================== see output for final location of output files", "\n") lucode2::readArgs("outputdirs") -runfolders <- outputdir +runfolders <- outputdirs checkscenarios <- basename(runfolders) cat("checkscenarios", checkscenarios, "\n") From 8638d50448fe4aab8f7b77ec443d8121290144cc Mon Sep 17 00:00:00 2001 From: Pascal Weigmann Date: Thu, 22 Aug 2024 18:28:28 +0200 Subject: [PATCH 357/875] add validateScenarios to output scripts --- output.R | 7 +- scripts/output/comparison/validateScenarios.R | 77 +++++++++++++++++++ scripts/vs/run_validateScenarios.R | 27 +++++++ 3 files changed, 108 insertions(+), 3 deletions(-) create mode 100644 scripts/output/comparison/validateScenarios.R create mode 100644 scripts/vs/run_validateScenarios.R diff --git a/output.R b/output.R index 512bfef54..7c6aa1ae9 100755 --- a/output.R +++ b/output.R @@ -147,7 +147,8 @@ if (! exists("output")) { # Select output directories if not defined by readArgs if (! exists("outputdir")) { modulesNeedingMif <- c("compareScenarios2", "xlsx_IIASA", "policyCosts", "Ariadne_output", - "plot_compare_iterations", "varListHtml", "fixOnRef", "MAGICC7_AR6") + "plot_compare_iterations", "varListHtml", "fixOnRef", "MAGICC7_AR6", + "validateScenarios") needingMif <- any(modulesNeedingMif %in% output) && ! "reporting" %in% output[[1]] if (exists("remind_dir")) { dir_folder <- c(file.path(remind_dir, "output"), remind_dir) @@ -192,7 +193,7 @@ if (comp %in% c("comparison", "export")) { } # choose the slurm options. If you use command line arguments, use slurmConfig=priority or standby - modules_using_slurmConfig <- c("compareScenarios2") + modules_using_slurmConfig <- c("compareScenarios2", "validateScenarios") if (!exists("slurmConfig") && any(modules_using_slurmConfig %in% output)) { slurmConfig <- choose_slurmConfig_output(output = output) } @@ -248,7 +249,7 @@ if (comp %in% c("comparison", "export")) { slurmConfig <- "direct" } - # Execute outputscripts for all choosen folders + # Execute outputscripts for all chosen folders for (outputdir in outputdirs) { if (exists("cfg")) { diff --git a/scripts/output/comparison/validateScenarios.R b/scripts/output/comparison/validateScenarios.R new file mode 100644 index 000000000..8e5d025b9 --- /dev/null +++ b/scripts/output/comparison/validateScenarios.R @@ -0,0 +1,77 @@ +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) +# | authors, and contributors see CITATION.cff file. This file is part +# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +# | AGPL-3.0, you are granted additional permissions described in the +# | REMIND License Exception, version 1.0 (see LICENSE file). +# | Contact: remind@pik-potsdam.de + + + source("./scripts/start/isSlurmAvailable.R") + + # This script expects a variable `outputdirs` to be defined. + # Variables `slurmConfig` and `filename_prefix` are used if they defined. + if (!exists("outputdirs")) { + stop( + "Variable outputdirs does not exist. ", + "Please call validateScenarios.R via output.R, which defines outputdirs.") + } + + # Start validateScenarios + startVal <- function(outputDirs, validationConfig) { + if (!exists("slurmConfig")) { + slurmConfig <- "--qos=standby" + } + jobName <- paste0( + "valScen", + "-", nameCore + ) + outFileName <- jobName + script <- "scripts/vs/run_validateScenarios.R" + cat("Starting ", jobName, "\n") + if (isSlurmAvailable() && ! identical(slurmConfig, "direct")) { + clcom <- paste0( + "sbatch ", slurmConfig, + " --job-name=", jobName, + " --comment=validateScenarios", + " --output=", jobName, ".out", + " --error=", jobName, ".out", + " --mail-type=END --time=200 --mem-per-cpu=8000", + " --wrap=\"Rscript ", script, + " outputDirs=", paste(outputDirs, collapse = ","), + " validationConfig=", validationConfig, + "\"") + cat(clcom, "\n") + system(clcom) + } else { + tmpEnv <- new.env() + tmpError <- try(sys.source(script, envir = tmpEnv)) + if (!is.null(tmpError)) + warning("Script ", script, + " was stopped by an error and not executed properly!") + rm(tmpEnv) + } + } + + # choose a config file either from the package or your own + if (! exists("validationConfig")) { + availableConfigs <- list.files( + piamutils::getSystemFile("config/", package = "piamValidation")) + config <- gms::chooseFromList(availableConfigs, + type = "a validation config", + multiple = FALSE) + if (config == "") { + q() + } else { + validationConfig <- config + } + } + + # Create core of file name / job name. + timeStamp <- format(Sys.time(), "%Y-%m-%d_%H.%M.%S") + valName <- gsub(".csv", "", gsub("validationConfig_", "", validationConfig)) + nameCore <- paste0(valName, "-", timeStamp) + + # Start the job + startVal( + outputDirs = outputdirs, + validationConfig = valName) diff --git a/scripts/vs/run_validateScenarios.R b/scripts/vs/run_validateScenarios.R new file mode 100644 index 000000000..ca07d277c --- /dev/null +++ b/scripts/vs/run_validateScenarios.R @@ -0,0 +1,27 @@ +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) +# | authors, and contributors see CITATION.cff file. This file is part +# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +# | AGPL-3.0, you are granted additional permissions described in the +# | REMIND License Exception, version 1.0 (see LICENSE file). +# | Contact: remind@pik-potsdam.de + +library(piamValidation) + +lucode2::readArgs("outputDirs", "validationConfig") + +# working directory is assumed to be the remind directory +outputDirs <- normalizePath(outputDirs, mustWork = TRUE) +mifPath <- remind2::getMifScenPath(outputDirs, mustWork = TRUE) +histPath <- remind2::getMifHistPath(outputDirs[1], mustWork = TRUE) + +# option 1: HTML validation Report +piamValidation::validationReport(c(mifPath, histPath), validationConfig) + +# option 3: export data (TODO: file location + name) +valiData <- piamValidation::validateScenarios(c(mifPath, histPath), validationConfig) +cat(getwd()) + +# option 2: pass or fail? +piamValidation::validationPass(valiData) + + From bc2bbaf65d1dd036adb57b9d5baa69b141420de5 Mon Sep 17 00:00:00 2001 From: Nico Bauer Date: Fri, 23 Aug 2024 11:21:08 +0200 Subject: [PATCH 358/875] Extend the time horizon for fixing fossil fuel trade to 2020. --- modules/24_trade/standard/bounds.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/24_trade/standard/bounds.gms b/modules/24_trade/standard/bounds.gms index 5729d6fa3..1d9d4ee93 100644 --- a/modules/24_trade/standard/bounds.gms +++ b/modules/24_trade/standard/bounds.gms @@ -86,7 +86,7 @@ $ENDIF.fossil_realization *** bounds on oil, gas and coal trade in 2010 and 2015 (+-10% from historical IEA values) -loop( ttot$(ttot.val eq 2010 OR ttot.val eq 2015), +loop( ttot$(ttot.val eq 2010 OR ttot.val eq 2015 OR ttot.val eq 2020), loop( peFos, vm_Xport.lo(ttot,regi,peFos) = 0.9 * pm_IO_trade(ttot,regi,peFos,"Xport"); vm_Xport.up(ttot,regi,peFos) = 1.1 * pm_IO_trade(ttot,regi,peFos,"Xport"); From 3d266563f3ab60eef35451a76fb0f857d78979b1 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Fri, 23 Aug 2024 10:29:47 +0000 Subject: [PATCH 359/875] Release development version 3.3.2.dev395 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 9fde44ecc..fb0f5460e 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,8 +266,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev392" -date-released: 2024-08-22 +version: "3.3.2.dev395" +date-released: 2024-08-23 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 215a29c6c..8f4603050 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev392" +cfg$model_version <- "3.3.2.dev395" #### settings #### cfg$gms <- list() From 4f1e53f1bd37ef15df322bd30df83dfb52d46958 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tonn=20R=C3=BCter?= Date: Fri, 23 Aug 2024 13:00:44 +0200 Subject: [PATCH 360/875] Remove openscm_runner's workers dir to avoid file ownership issues --- scripts/input/climate_assessment_run.R | 16 ++++++++++++++-- ...ate_assessment_temperatureImpulseResponse.R | 18 ++++++++++++++++-- scripts/output/single/MAGICC7_AR6.R | 18 ++++++++++++++---- 3 files changed, 44 insertions(+), 8 deletions(-) diff --git a/scripts/input/climate_assessment_run.R b/scripts/input/climate_assessment_run.R index b49a70933..41e261fde 100644 --- a/scripts/input/climate_assessment_run.R +++ b/scripts/input/climate_assessment_run.R @@ -409,9 +409,21 @@ if (archiveClimateAssessmentData) { capture.output(cat(logMsg), file = logFile, append = TRUE) } timeStopArchive <- Sys.time() +logMsg <- paste0(date(), " Done writing GDX files\n") + +############################# CLEAN UP WORKERS FOLDER ########################## +# openscm_runner not remnove up temp dirs. Do this manually since we keep running into file ownership issues +workersFolder <- file.path(climateTempDir, "workers") # replace with your directory path +if (dir.exists(workersFolder)) { + # Check if directory is empty + if (length(list.files(workersFolder)) == 0) { + # Remove directory. Option recursive must be TRUE for some reason, otherwise unlink won't do its job + unlink(workersFolder, recursive = TRUE) + logMsg <- paste0(logMsg, date(), " Removed workers folder '", workersFolder, "'\n") + } +} -logMsg <- paste0( - date(), " Done writing GDX files\n", +logMsg <- paste0(logMsg, date(), " Runtime report: ", paste0("iteration_", timestamp, "\n"), "\tRuntime set_up_script: ", difftime(timeStopSetUpScript, timeStartSetUpScript, units = "secs"), "s\n", diff --git a/scripts/input/climate_assessment_temperatureImpulseResponse.R b/scripts/input/climate_assessment_temperatureImpulseResponse.R index c2e5940e3..2b06efddd 100644 --- a/scripts/input/climate_assessment_temperatureImpulseResponse.R +++ b/scripts/input/climate_assessment_temperatureImpulseResponse.R @@ -321,5 +321,19 @@ writeToGdx <- function(file = "pm_magicc_temperatureImpulseResponse", df) { # write to GDX: writeToGdx("pm_magicc_temperatureImpulseResponse", oupt) -print("...done.") - +logMsg <- paste0(date(), " Wrote results to 'pm_magicc_temperatureImpulseResponse.gdx'\n") + +############################# CLEAN UP WORKERS FOLDER ########################## +# openscm_runner not remnove up temp dirs. Do this manually since we keep running into file ownership issues +workersFolder <- file.path(climateTempDir, "workers") # replace with your directory path +if (dir.exists(workersFolder)) { + # Check if directory is empty + if (length(list.files(workersFolder)) == 0) { + # Remove directory. Option recursive must be TRUE for some reason, otherwise unlink won't do its job + unlink(workersFolder, recursive = TRUE) + logMsg <- paste0(logMsg, date(), " Removed workers folder '", workersFolder, "'\n") + } +} +logMsg <- paste0(logMsg, date(), " climate_assessment_temperatureImpulseResponse.R finished\n") +cat(logMsg) +capture.output(cat(logMsg), file = logFile, append = TRUE) diff --git a/scripts/output/single/MAGICC7_AR6.R b/scripts/output/single/MAGICC7_AR6.R index 2e275d707..42d6fc5bb 100644 --- a/scripts/output/single/MAGICC7_AR6.R +++ b/scripts/output/single/MAGICC7_AR6.R @@ -229,10 +229,20 @@ as.quitte(remindReportingFile) %>% write.mif(remindReportingFile) piamutils::deletePlus(remindReportingFile, writemif = TRUE) +logmsg <- paste0(date(), " postprocessing done! Results appended to REMIND mif '", remindReportingFile, "'\n") + +############################# CLEAN UP WORKERS FOLDER ########################## +# openscm_runner not remnove up temp dirs. Do this manually since we keep running into file ownership issues +workersFolder <- file.path(climateAssessmentFolder, "workers") # replace with your directory path +if (dir.exists(workersFolder)) { + # Check if directory is empty + if (length(list.files(workersFolder)) == 0) { + # Remove directory. Option recursive must be TRUE for some reason, otherwise unlink won't do its job + unlink(workersFolder, recursive = TRUE) + logmsg <- paste0(logmsg, date(), " Removed workers folder '", workersFolder, "'\n") + } +} -logmsg <- paste0( - date(), " postprocessing done! Results appended to REMIND mif '", remindReportingFile, "'\n", - "MAGICC7_AR6.R finished\n" -) +logmsg <- paste0(logmsg, date(), "MAGICC7_AR6.R finished\n") cat(logmsg) capture.output(cat(logmsg), file = logFile, append = TRUE) From 898e418964f34e3a68f3bd304e9e54aea14a1fdb Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Fri, 23 Aug 2024 13:49:41 +0000 Subject: [PATCH 361/875] Release development version 3.3.2.dev398 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index fb0f5460e..0604221b1 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,7 +266,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev395" +version: "3.3.2.dev398" date-released: 2024-08-23 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 8f4603050..21dc26fdf 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev395" +cfg$model_version <- "3.3.2.dev398" #### settings #### cfg$gms <- list() From de6e1cf70a0899165e8edaac1d5414ac0c6fa6dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tonn=20R=C3=BCter?= Date: Fri, 23 Aug 2024 20:55:57 +0200 Subject: [PATCH 362/875] Reworked --- .../comparison/checkClimatePercentiles.R | 123 ++++++++---------- 1 file changed, 57 insertions(+), 66 deletions(-) diff --git a/scripts/output/comparison/checkClimatePercentiles.R b/scripts/output/comparison/checkClimatePercentiles.R index c529d06a1..44b42d0ec 100644 --- a/scripts/output/comparison/checkClimatePercentiles.R +++ b/scripts/output/comparison/checkClimatePercentiles.R @@ -4,23 +4,21 @@ # | AGPL-3.0, you are granted additional permissions described in the # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de -# This script is used to check the temperature outcomes of MAGICC when run inside -# REMIND -# The In-GAMS version of MAGICC can only run only one configuration (that is, parametrization) -# of MAGICC at a time, picked in cfg$climate_assessment_magicc_prob_file_iteration -# The available configuration files were designed to roughly reproduce a certain quantile outcome -# of 2100 temperature for scenarios that are as similar as possible to an RCP (hence the nomenclature -# of the config files e.g. RCP20_50.json will be close to the 50th percentile outcome in a RCP2.0-like -# scenario) -# This quantile outcome is of course not guaranteed, so this script helps check the validity of -# the assumed quantile against the 600-member MAGICC7 AR6 assessment that is run by default -# at the end of each run. Therefore, for it to work, the output script MAGICC7_AR6.R must -# have already run and added the `MAGICC7 AR6|**` variables to `REMIND_generic_*.mif`. # -# To verify the output, check the figures in `check_output_figures.pdf` and the table in -# `check_output_summary.csv` - -require(tidyverse) +# This script is used to check the temperature outcomes of MAGICC when run inside REMIND +# +# The In-GAMS version of MAGICC can only run only one configuration (that is, parametrization) of MAGICC at a time, +# picked in cfg$climate_assessment_magicc_prob_file_iteration. The available configuration files were designed to +# roughly reproduce a certain quantile outcome of 2100 temperature for scenarios that are as similar as possible to +# an RCP (hence the nomenclature of the config files e.g. RCP20_50.json will be close to the 50th percentile outcome in +# a RCP2.0-like scenario). This quantile outcome is of course not guaranteed, so this script helps check the validity of +# the assumed quantile against the 600-member MAGICC7 AR6 assessment that is run by default at the end of each run. +# Therefore, for it to work, the output script MAGICC7_AR6.R must have already run and added the `MAGICC7 AR6|**` +# variables to `REMIND_generic_*.mif`. To verify the output, check the figures in `check_output_figures.pdf` and the +# table in `check_output_summary.csv` +# +require(purrr) +require(stringr) require(quitte) require(gdx) require(yaml) @@ -28,45 +26,38 @@ require(yaml) cat("===================== STARTING checkClimatePercentiles.R", "\n") cat("===================== see output for final location of output files", "\n") lucode2::readArgs("outputdirs") -runfolders <- outputdirs +runFolders <- normalizePath(lucode2::readArgs("outputdirs")) # Remove trailing slashes -checkscenarios <- basename(runfolders) -cat("checkscenarios", checkscenarios, "\n") - - -# Get a value from the cfg file in a folder -get_cfgval <- function(runfolder, name) { - read_yaml(paste0(runfolder,"/cfg.txt"))[[name]] -} +# checkscenarios <- basename(runFolders) +cat("Checking scenarios:\n\t", paste0(basename(runFolders), collapse = "\n\t"), "\n") -# Get the configuration names to have as a reference -usedconfigs <- bind_rows(lapply(1:length(runfolders), - # \(i) read_yaml(paste0(runfolders,"/cfg.txt")[i])$climate_assessment_magicc_prob_file_iteration %>% basename %>% str_remove(".json$") - \(i) tibble( - scenario = get_cfgval(runfolders[i], "title"), - usedconfig = get_cfgval(runfolders[i], "climate_assessment_magicc_prob_file_iteration") %>% basename %>% str_remove(".json$") - ) -)) +# Extract RCP configuration from cfg.txt +usedRCPs <- map_dfr(runFolders, function(folder) { + cfg <- read_yaml(file.path(folder, "cfg.txt")) + tibble( + scenario = cfg$title, + rcp = basename(cfg$climate_assessment_magicc_prob_file_iteration) %>% str_remove(".json$") + ) +}) # Read pm_globalMeanTemperature from the MAGICC gdxs -tempgdxs <- paste0(runfolders,"/p15_magicc_temp.gdx") -gdxdata <- bind_rows( - lapply( - 1:length(checkscenarios), - \(i) mutate(read.gdx(tempgdxs[i], "pm_globalMeanTemperature"),scenario = get_cfgval(dirname(tempgdxs[i]), "title") - ))) %>% +gdxFiles <- file.path(runFolders, "p15_magicc_temp.gdx") +gdxAvailable <- file.exists(gdxFiles) +if (any(!gdxAvailable)) { + warning("Missing p15_magicc_temp.gdx files in ", paste(basename(runFolders[!gdxAvailable]), collapse = ", ")) + gdxFiles <- gdxFiles[gdxAvailable] +} +gdxData <- map_dfr(gdxFiles, function(gdxFn) { + cfg <- read_yaml(file.path(dirname(gdxFn), "cfg.txt")) + mutate(as.tibble(read.gdx(gdxFn, "pm_globalMeanTemperature")), scenario = cfg$title) + }) %>% rename(period = tall) %>% - mutate(variable = "pm_globalMeanTemperature", region = "World", unit = "K") %>% - mutate(model = "MAGICC7 In-GAMS") - - + mutate(variable = "pm_globalMeanTemperature", region = "World", unit = "K", model = "MAGICC7 In-GAMS") # Read reporting data. Requires MAGICC7_AR6 to have been successfully run -filelist <- list.files(runfolders, pattern = ".mif", full.names = TRUE) -miflist <- filelist[str_detect(filelist, "REMIND_generic_.*")&!str_detect(filelist, "withoutPlus")] - -mifdata <- read.quitte(miflist) -miftempdata <- mifdata %>% +mifFiles <- list.files(runFolders, pattern = ".mif", full.names = TRUE) +mifFiles <- mifFiles[str_detect(mifFiles, "REMIND_generic_.*") &! str_detect(mifFiles, "withoutPlus")] +mifData <- read.quitte(mifFiles) %>% filter(region == "World", variable %in% c( "MAGICC7 AR6|Surface Temperature (GSAT)|10.0th Percentile", "MAGICC7 AR6|Surface Temperature (GSAT)|33.0th Percentile", @@ -74,32 +65,32 @@ miftempdata <- mifdata %>% "MAGICC7 AR6|Surface Temperature (GSAT)|66.0th Percentile", "MAGICC7 AR6|Surface Temperature (GSAT)|90.0th Percentile" )) %>% - mutate(model = "MAGICC7 AR6") %>% - mutate(variable = str_split_i(variable,"\\|",3)) - + mutate(model = "MAGICC7 AR6", variable = str_split_i(variable,"\\|",3)) -# Concatenate all data, joining the usedconfigs as an extra column for reference -alldata <- bind_rows(left_join(usedconfigs,miftempdata), left_join(usedconfigs,gdxdata)) +# Join GDX & MIF data and filter to only the relevant scenarios +joinedData <- bind_rows( + right_join(usedRCPs, mifData, by=join_by(scenario)), + right_join(usedRCPs, gdxData, by=join_by(scenario)) +) -# Basic comparison plot -alldata %>% +# Generate and write basic comparison plot +joinedData %>% ggplot(aes(x = period, y = value, color = variable, linetype = model)) + geom_path() + - facet_wrap(~scenario + usedconfig, scales = "free") + + facet_wrap(~scenario + rcp, scales = "free") + xlim(2000,2100) + theme(legend.position = "bottom") -outpdffname <- "check_outcomes_plots.pdf" -cat("===================== Writing comparison plots to: ", outpdffname, "\n") -ggsave(outpdffname, width = 210, height = 297, units = "mm") -cat("===================== written in location: ", normalizePath(outpdffname), "\n") +pdfFile <- file.path(getwd(), paste0("climate_percentile_plots_", format(Sys.time(), "%y%m%dT%H%M%S"), ".pdf")) +cat("===================== Writing comparison plots to: '", pdfFile, "'\n") +ggsave(pdfFile, width = 210, height = 297, units = "mm") -# Summary table -summarytable <- alldata %>% +# Generate and write summary table +summaryTable <- joinedData %>% filter(period %in% c(2050,2100)) %>% select(-model) %>% pivot_wider(names_from = variable, values_from = value) -outtablefname <- "check_outcomes_summary.csv" -cat("===================== Writing comparison table to: ", outtablefname, "\n") -write.table(summarytable, outtablefname, row.names = F) -cat("===================== written in location: ", normalizePath(outtablefname), "\n") +summaryFile <- file.path(getwd(), paste0("climate_percentile_summary_", format(Sys.time(), "%y%m%dT%H%M%S"), "csv")) +cat("===================== Writing comparison table to: '", summaryFile, "'\n") +write.table(summaryTable, summaryFile, row.names = FALSE) +cat("===================== checkClimatePercentile.R done", "\n") From 5458e78acbb1bff305482e56b5246a8a7fb5413b Mon Sep 17 00:00:00 2001 From: Nico Bauer Date: Mon, 26 Aug 2024 10:06:04 +0200 Subject: [PATCH 363/875] Introduced a new constraint that sets coal use for steel making as lower bound for coal imports in India (only), due to low domestic coal quality. --- modules/24_trade/standard/declarations.gms | 5 +++ modules/24_trade/standard/equations.gms | 37 ++++++++++++++++++++++ modules/24_trade/standard/realization.gms | 1 + 3 files changed, 43 insertions(+) create mode 100644 modules/24_trade/standard/equations.gms diff --git a/modules/24_trade/standard/declarations.gms b/modules/24_trade/standard/declarations.gms index 6b1f3e7e6..14298c353 100644 --- a/modules/24_trade/standard/declarations.gms +++ b/modules/24_trade/standard/declarations.gms @@ -27,4 +27,9 @@ vm_costTradeCap(ttot,all_regi,all_enty) "Trade technology and transportation vm_capacityTradeBalance(tall,all_regi) "Capacity trade balance term" ; + +Equations +q24_peimport_demandside(tall,all_regi,all_enty) "Constraint on imports due to domestic requirements" +; + *** EOF ./modules/24_trade/standard/declarations.gms diff --git a/modules/24_trade/standard/equations.gms b/modules/24_trade/standard/equations.gms new file mode 100644 index 000000000..0c58d14a5 --- /dev/null +++ b/modules/24_trade/standard/equations.gms @@ -0,0 +1,37 @@ +*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) +*** | authors, and contributors see CITATION.cff file. This file is part +*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +*** | AGPL-3.0, you are granted additional permissions described in the +*** | REMIND License Exception, version 1.0 (see LICENSE file). +*** | Contact: remind@pik-potsdam.de +*** SOF ./modules/24_trade/standard/equations.gms + +*' @equations + +*** --------------------------------------------------------------------------- +*** Trade Constraints +*** --------------------------------------------------------------------------- + +***------------------------------------------------------ +*' Imports constrained by demand side of import country +***------------------------------------------------------ + +*Coal used in steel making is imported due to minimum quality requiremend (that is India) +* active only after 2020; otherwise potential interference with constrained historic vm_Mport() +* The constraint avoids Indian coal imports to drop to zero immediately + +q24_peimport_demandside(t,regi,enty)$(t.val gt 2020 AND sameas(regi, "IND") AND sameas(enty, "pecoal")).. + vm_Mport(t,regi,enty) + =g= + sum((secInd37_tePrc("steel",tePrc), + tePrc2opmoPrc(tePrc,opmoPrc)), + pm_specFeDem(t,regi,"fesos",tePrc,opmoPrc) * + vm_outflowPrc(t,regi,tePrc,opmoPrc) + ) +; + + +*' @stop +*** EOF ./modules/24_trade/standard/equations.gms + + diff --git a/modules/24_trade/standard/realization.gms b/modules/24_trade/standard/realization.gms index f1de59fb0..65bc1edd7 100644 --- a/modules/24_trade/standard/realization.gms +++ b/modules/24_trade/standard/realization.gms @@ -10,6 +10,7 @@ $Ifi "%phase%" == "sets" $include "./modules/24_trade/standard/sets.gms" $Ifi "%phase%" == "declarations" $include "./modules/24_trade/standard/declarations.gms" $Ifi "%phase%" == "datainput" $include "./modules/24_trade/standard/datainput.gms" +$Ifi "%phase%" == "equations" $include "./modules/24_trade/standard/equations.gms" $Ifi "%phase%" == "bounds" $include "./modules/24_trade/standard/bounds.gms" $Ifi "%phase%" == "presolve" $include "./modules/24_trade/standard/presolve.gms" $Ifi "%phase%" == "postsolve" $include "./modules/24_trade/standard/postsolve.gms" From 4c40177f7d50349063c79c8eca91c6e353cb449e Mon Sep 17 00:00:00 2001 From: Nico Bauer Date: Mon, 26 Aug 2024 10:23:44 +0200 Subject: [PATCH 364/875] the indispensible not_used.txt files have been extended. --- modules/24_trade/capacity/not_used.txt | 2 ++ modules/24_trade/se_trade/not_used.txt | 3 +++ 2 files changed, 5 insertions(+) diff --git a/modules/24_trade/capacity/not_used.txt b/modules/24_trade/capacity/not_used.txt index f4f43ed32..e832061ee 100644 --- a/modules/24_trade/capacity/not_used.txt +++ b/modules/24_trade/capacity/not_used.txt @@ -13,3 +13,5 @@ sm_trillion_2_non, parameter, not needed sm_GJ_2_TWa, parameter, not needed sm_TWa_2_kWh, parameter, not needed sm_h2kg_2_h2kWh, parameter, not needed +pm_specFeDem,parameter,only used in standard realization +vm_outflowPrc, variable, only used in standard realization diff --git a/modules/24_trade/se_trade/not_used.txt b/modules/24_trade/se_trade/not_used.txt index d4c12be04..4e133d9e8 100644 --- a/modules/24_trade/se_trade/not_used.txt +++ b/modules/24_trade/se_trade/not_used.txt @@ -11,3 +11,6 @@ pm_omeg,parameter,only used in capacity realization pm_data,parameter,only used in capacity realization pm_tsu2opTimeYr,parameter,only used in capacity realization pm_ttot_val,parameter,only used in capacity realization +pm_specFeDem,parameter,only used in standard realization +vm_outflowPrc, variable, only used in standard realization + From 5636ca2629b25fb41b423087c0cfe7ac8681a5b4 Mon Sep 17 00:00:00 2001 From: lecfab Date: Mon, 26 Aug 2024 11:31:54 +0200 Subject: [PATCH 365/875] floor space adjustment; useless loop removed --- core/datainput.gms | 8 ++++---- core/declarations.gms | 2 +- modules/36_buildings/simple/datainput.gms | 10 +++++----- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/core/datainput.gms b/core/datainput.gms index 98e714456..212055670 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -1605,12 +1605,12 @@ $endif.cm_rcp_scen_build *** Scale FE demand across industry and building sectors $ifthen.scaleDemand not "%cm_scaleDemand%" == "off" - loop((tall,tall2,regi) $ pm_scaleDemand(tall,tall2,regi), -*FL* rescaled demand = normal demand * [ scaling factor + (1-scaling factor) * remaining phase-in, between zero and one ] - pm_fedemand(t,all_regi,all_in) = pm_fedemand(t,all_regi,all_in) * ( pm_scaleDemand(tall,tall2,all_regi) + (1-pm_scaleDemand(tall,tall2,all_regi)) * min(1, max(0, tall2.val-t.val) / (tall2.val-tall.val)) ); + loop((t,t3,all_regi) $ pm_scaleDemand(t,t3,all_regi), +*FL* rescaled demand = normal demand * [ scaling factor + (1-scaling factor) * remaining phase-in, between zero and one ] + pm_fedemand(t2,all_regi,all_in) = pm_fedemand(t2,all_regi,all_in) * ( pm_scaleDemand(t,t3,all_regi) + (1-pm_scaleDemand(t,t3,all_regi)) * min(1, max(0, t3.val-t2.val) / (t3.val-t.val)) ); ); $endif.scaleDemand - + *** initialize global target deviation scalar diff --git a/core/declarations.gms b/core/declarations.gms index 55703fb13..16b31c5d2 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -186,7 +186,7 @@ $ifthen.VREPot_Factor not "%c_VREPot_Factor%" == "off" $endif.VREPot_Factor $ifthen.scaleDemand not "%cm_scaleDemand%" == "off" - pm_scaleDemand(tall,tall,all_regi) "Rescaling factor on final energy and usable energy demand, for selected regions and over a phase-in window." / %cm_scaleDemand% / + pm_scaleDemand(ttot,ttot,all_regi) "Rescaling factor on final energy and usable energy demand, for selected regions and over a phase-in window." / %cm_scaleDemand% / $endif.scaleDemand p_boundtmp(tall,all_regi,all_te,rlf) "read-in bound on capacities" diff --git a/modules/36_buildings/simple/datainput.gms b/modules/36_buildings/simple/datainput.gms index d3346f4a0..c9845f192 100644 --- a/modules/36_buildings/simple/datainput.gms +++ b/modules/36_buildings/simple/datainput.gms @@ -59,11 +59,11 @@ p36_uedemand_build(ttot,regi,in) = f36_uedemand_build(ttot,regi,"%cm_demScen%"," *** Scale UE demand and floor space in the building sector $ifthen.scaleDemand not "%cm_scaleDemand%" == "off" - loop((tall,tall2,regi) $ pm_scaleDemand(tall,tall2,regi), -*FL* rescaled demand = normal demand * [ scaling factor + (1-scaling factor) * remaining phase-in, between zero and one ] - p36_uedemand_build(t,regi,in) = p36_uedemand_build(t,regi,in) * ( pm_scaleDemand(tall,tall2,regi) + (1-pm_scaleDemand(tall,tall2,regi)) * min(1, max(0, tall2.val-t.val) / (tall2.val-tall.val)) ); -*RH* we can estimate that floor space varies like the power 0.3 of demand variation to - p36_floorspace(t,regi) = p36_floorspace(t,regi) * ( power(pm_scaleDemand(tall,tall2,regi), 0.3) + (1-power(pm_scaleDemand(tall,tall2,regi), 0.3)) * min(1, max(0, tall2.val-t.val) / (tall2.val-tall.val)) ); + loop((t,t3,regi) $ pm_scaleDemand(t,t3,regi), +*FL* rescaled demand = normal demand * [ scaling factor + (1-scaling factor) * remaining phase-in, between zero and one ] + p36_uedemand_build(t2,regi,in) = p36_uedemand_build(t2,regi,in) * ( pm_scaleDemand(t,t3,regi) + (1-pm_scaleDemand(t,t3,regi)) * min(1, max(0, t3.val-t2.val) / (t3.val-t.val)) ); +*RH* We assume that the reduction in final energy demand is only partially driven by floor space reduction. + p36_floorspace(t2,regi) = p36_floorspace(t2,regi) * ( pm_scaleDemand(t,t3,regi)**0.3 + (1-pm_scaleDemand(t,t3,regi)**0.3) * min(1, max(0, t3.val-t2.val) / (t3.val-t.val)) ); ); $endif.scaleDemand From b6df5171f80e54c8eb74b418a93d4a8a1f2dfba5 Mon Sep 17 00:00:00 2001 From: gabriel-abrahao Date: Mon, 26 Aug 2024 11:46:52 +0200 Subject: [PATCH 366/875] Fix argument parsing --- scripts/output/comparison/checkClimatePercentiles.R | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/output/comparison/checkClimatePercentiles.R b/scripts/output/comparison/checkClimatePercentiles.R index 44b42d0ec..357bc6f89 100644 --- a/scripts/output/comparison/checkClimatePercentiles.R +++ b/scripts/output/comparison/checkClimatePercentiles.R @@ -26,7 +26,9 @@ require(yaml) cat("===================== STARTING checkClimatePercentiles.R", "\n") cat("===================== see output for final location of output files", "\n") lucode2::readArgs("outputdirs") -runFolders <- normalizePath(lucode2::readArgs("outputdirs")) # Remove trailing slashes +cat("outputdirs: ",outputdirs) +runFolders <- normalizePath(outputdirs) # Remove trailing slashes +runFolders <- normalizePath(outputdirs) # Remove trailing slashes # checkscenarios <- basename(runFolders) cat("Checking scenarios:\n\t", paste0(basename(runFolders), collapse = "\n\t"), "\n") From 13d58290efda6ae27a7048b149facaabbd9b2d32 Mon Sep 17 00:00:00 2001 From: gabriel-abrahao Date: Mon, 26 Aug 2024 11:48:48 +0200 Subject: [PATCH 367/875] Load the whole tidyverse as we use almost all of it --- scripts/output/comparison/checkClimatePercentiles.R | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scripts/output/comparison/checkClimatePercentiles.R b/scripts/output/comparison/checkClimatePercentiles.R index 357bc6f89..858976595 100644 --- a/scripts/output/comparison/checkClimatePercentiles.R +++ b/scripts/output/comparison/checkClimatePercentiles.R @@ -17,8 +17,7 @@ # variables to `REMIND_generic_*.mif`. To verify the output, check the figures in `check_output_figures.pdf` and the # table in `check_output_summary.csv` # -require(purrr) -require(stringr) +require(tidyverse) require(quitte) require(gdx) require(yaml) From b4b1f8e53850b8b03b2d8db8ba9a1f567aec205d Mon Sep 17 00:00:00 2001 From: gabriel-abrahao Date: Mon, 26 Aug 2024 11:49:35 +0200 Subject: [PATCH 368/875] Use 67th instead of 66th percentile --- scripts/output/comparison/checkClimatePercentiles.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/output/comparison/checkClimatePercentiles.R b/scripts/output/comparison/checkClimatePercentiles.R index 858976595..b60cf104e 100644 --- a/scripts/output/comparison/checkClimatePercentiles.R +++ b/scripts/output/comparison/checkClimatePercentiles.R @@ -63,7 +63,7 @@ mifData <- read.quitte(mifFiles) %>% "MAGICC7 AR6|Surface Temperature (GSAT)|10.0th Percentile", "MAGICC7 AR6|Surface Temperature (GSAT)|33.0th Percentile", "MAGICC7 AR6|Surface Temperature (GSAT)|50.0th Percentile", - "MAGICC7 AR6|Surface Temperature (GSAT)|66.0th Percentile", + "MAGICC7 AR6|Surface Temperature (GSAT)|67.0th Percentile", "MAGICC7 AR6|Surface Temperature (GSAT)|90.0th Percentile" )) %>% mutate(model = "MAGICC7 AR6", variable = str_split_i(variable,"\\|",3)) From 7653a1962c64d6ebcab887c280f484eb33c9bcc2 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Mon, 26 Aug 2024 10:11:41 +0000 Subject: [PATCH 369/875] Release development version 3.3.2.dev412 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 0604221b1..5e1f2ea61 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,8 +266,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev398" -date-released: 2024-08-23 +version: "3.3.2.dev412" +date-released: 2024-08-26 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 21dc26fdf..0deb1fa7a 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev398" +cfg$model_version <- "3.3.2.dev412" #### settings #### cfg$gms <- list() From 40865197750679c2594f8a8c949584f6ffe1110a Mon Sep 17 00:00:00 2001 From: amerfort Date: Mon, 26 Aug 2024 13:12:18 +0200 Subject: [PATCH 370/875] add an upper bound to v_co2capturevalve; a slack variable --- core/bounds.gms | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/core/bounds.gms b/core/bounds.gms index 4c32b68e6..e16a81f2f 100755 --- a/core/bounds.gms +++ b/core/bounds.gms @@ -425,6 +425,13 @@ loop(regi, ); ); +*** ------------------------------------------------------------------------------------------------------------- +*AM* Limit REMINDs ability to vent captured CO2 to 1 MtCO2 per yr per region. This happens otherwise to a great extend in stringent climate +*AM* policy scenarios if CCS and CCU capacities are limited in early years, to lower overall adjustment costs of capture technologies. +*AM* In reality, people don't have perfect foresight and without storage or usage capacities, no capture facilities will be built. +v_co2capturevalve.up(t,regi) = 1 * s_MtCO2_2_GtC; + + *AL* fixing prodFE in 2005 to the value contained in pm_cesdata("2005",regi,in,"quantity"). This is done to ensure that the energy system will reproduce the 2005 calibration values. *** Fixing will produce clearly attributable errors (good for debugging) when using inconsistent data, as the GAMS accuracy when comparing fixed results is very high (< 1e-8). ***vm_prodFe.fx("2005",regi,se2fe(enty,enty2,te)) = sum(fe2ppfEn(enty2,in), pm_cesdata("2005",regi,in,"quantity") ); From d6bc12d11cdb5000173e070c8aa3d79a03e6b1e6 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Mon, 26 Aug 2024 12:37:59 +0000 Subject: [PATCH 371/875] Release development version 3.3.2.dev416 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 5e1f2ea61..a8e9fe2b1 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,7 +266,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev412" +version: "3.3.2.dev416" date-released: 2024-08-26 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 0deb1fa7a..0f02cca09 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev412" +cfg$model_version <- "3.3.2.dev416" #### settings #### cfg$gms <- list() From cc97f1c4d8d49890e409399d205e181378789671 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 27 Aug 2024 13:38:31 +0000 Subject: [PATCH 372/875] Release development version 3.3.2.dev424 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index a8e9fe2b1..bcc218544 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,8 +266,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev416" -date-released: 2024-08-26 +version: "3.3.2.dev424" +date-released: 2024-08-27 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 0f02cca09..9e2222812 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev416" +cfg$model_version <- "3.3.2.dev424" #### settings #### cfg$gms <- list() From f3c9829a4391b995d81dbbfc4a75c0d046b20ba5 Mon Sep 17 00:00:00 2001 From: Leon Merfort <58845874+merfort@users.noreply.github.com> Date: Wed, 28 Aug 2024 11:09:06 +0200 Subject: [PATCH 373/875] Add option to chose RAW LUC variable in coupling --- scripts/start/getReportData.R | 14 ++++++++++++-- scripts/start/prepare.R | 7 ++++++- scripts/start/readCheckScenarioConfig.R | 2 +- start_bundle_coupled.R | 14 ++++++++++++++ tutorials/04_RunningREMINDandMAgPIE.md | 3 ++- 5 files changed, 35 insertions(+), 5 deletions(-) diff --git a/scripts/start/getReportData.R b/scripts/start/getReportData.R index 1c89f50bd..8ec4804aa 100644 --- a/scripts/start/getReportData.R +++ b/scripts/start/getReportData.R @@ -5,7 +5,7 @@ # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de -getReportData <- function(path_to_report,inputpath_mag="magpie_40",inputpath_acc="costs") { +getReportData <- function(path_to_report,inputpath_mag="magpie_40",inputpath_acc="costs",var_luc="smooth") { require(magclass, quietly = TRUE,warn.conflicts =FALSE) @@ -43,6 +43,16 @@ getReportData <- function(path_to_report,inputpath_mag="magpie_40",inputpath_acc } .emissions_mac <- function(mag) { + # Select the LUC variable according to setting. + if (var_luc == "smooth") { + emi_co2_luc <- "Emissions|CO2|Land|+|Land-use Change (Mt CO2/yr)" + } + else if (var_luc == "raw") { + emi_co2_luc <- "Emissions|CO2|Land RAW|+|Land-use Change (Mt CO2/yr)" + } else { + stop(paste0("Unkown setting for 'var_luc': `", var_luc, "`. Please chose either `smooth` or `raw`")) + } + # define three columns of dataframe: # emirem (remind emission names) # emimag (magpie emission names) @@ -53,7 +63,7 @@ getReportData <- function(path_to_report,inputpath_mag="magpie_40",inputpath_acc map <- data.frame(emirem=NULL,emimag=NULL,factor_mag2rem=NULL,stringsAsFactors=FALSE) if("Emissions|N2O|Land|Agriculture|+|Animal Waste Management (Mt N2O/yr)" %in% getNames(mag)) { # MAgPIE 4 (up to date) - map <- rbind(map,data.frame(emimag="Emissions|CO2|Land|+|Land-use Change (Mt CO2/yr)", emirem="co2luc", factor_mag2rem=1/1000*12/44,stringsAsFactors=FALSE)) + map <- rbind(map,data.frame(emimag=emi_co2_luc, emirem="co2luc", factor_mag2rem=1/1000*12/44,stringsAsFactors=FALSE)) map <- rbind(map,data.frame(emimag="Emissions|N2O|Land|Agriculture|+|Animal Waste Management (Mt N2O/yr)", emirem="n2oanwstm", factor_mag2rem=28/44,stringsAsFactors=FALSE)) map <- rbind(map,data.frame(emimag="Emissions|N2O|Land|Agriculture|Agricultural Soils|+|Inorganic Fertilizers (Mt N2O/yr)", emirem="n2ofertin", factor_mag2rem=28/44,stringsAsFactors=FALSE)) map <- rbind(map,data.frame(emimag="Emissions|N2O|Land|Agriculture|Agricultural Soils|+|Manure applied to Croplands (Mt N2O/yr)", emirem="n2oanwstc", factor_mag2rem=28/44,stringsAsFactors=FALSE)) diff --git a/scripts/start/prepare.R b/scripts/start/prepare.R index 07d93af87..c35c79030 100644 --- a/scripts/start/prepare.R +++ b/scripts/start/prepare.R @@ -123,7 +123,12 @@ prepare <- function() { # If a path to a MAgPIE report is supplied use it as REMIND input (used for REMIND-MAgPIE coupling) # ATTENTION: modifying gms files if (!is.null(cfg$pathToMagpieReport)) { - getReportData(path_to_report = cfg$pathToMagpieReport,inputpath_mag=cfg$gms$biomass,inputpath_acc=cfg$gms$agCosts) + getReportData( + path_to_report = cfg$pathToMagpieReport, + inputpath_mag = cfg$gms$biomass, + inputpath_acc = cfg$gms$agCosts, + var_luc = cfg$var_luc + ) } # Update module paths in GAMS code diff --git a/scripts/start/readCheckScenarioConfig.R b/scripts/start/readCheckScenarioConfig.R index a6309199d..b749a3ecd 100644 --- a/scripts/start/readCheckScenarioConfig.R +++ b/scripts/start/readCheckScenarioConfig.R @@ -132,7 +132,7 @@ readCheckScenarioConfig <- function(filename, remindPath = ".", testmode = FALSE if (grepl("scenario_config_coupled", filename)) { knownColumnNames <- c(knownColumnNames, "cm_nash_autoconverge_lastrun", "oldrun", "path_report", "magpie_scen", "no_ghgprices_land_until", "qos", "sbatch", "path_mif_ghgprice_land", "max_iterations", - "magpie_empty") + "magpie_empty", "var_luc") # identify MAgPIE switches by "cfg_mag" and "scenario_config" knownColumnNames <- c(knownColumnNames, grep("cfg_mag|scenario_config", names(scenConf), value = TRUE)) } diff --git a/start_bundle_coupled.R b/start_bundle_coupled.R index 5c2266a3f..ef5e043ec 100755 --- a/start_bundle_coupled.R +++ b/start_bundle_coupled.R @@ -419,6 +419,19 @@ for(scen in common){ cfg_mag$mute_ghgprices_until <- scenarios_coupled[scen, "no_ghgprices_land_until"] } + # Write choice of land-use change variable to config. Use smoothed variable + # if not specified otherwise in coupled config, i.e. if the column is missing + # completely or if the row entry is empty. + if (!("var_luc" %in% names(scenarios_coupled))) { + cfg_rem$var_luc <- "smooth" + } else if (is.na(scenarios_coupled[scen, "var_luc"])) { + cfg_rem$var_luc <- "smooth" + } else if (scenarios_coupled[scen, "var_luc"] %in% c("smooth", "raw")) { + cfg_rem$var_luc <- scenarios_coupled[scen, "var_luc"] + } else { + stop(paste0("Unkown setting for 'var_luc': `", scenarios_coupled[scen, "var_luc"], "`. Please chose either `smooth` or `raw`")) + } + # Edit remind main model file, region settings and input data revision based on scenarios table, if cell non-empty cfg_rem_options <- c("model", "regionmapping", "extramappings_historic", "inputRevision", setdiff(names(cfg_rem), c("gms", "output"))) for (switchname in intersect(cfg_rem_options, names(settings_remind))) { @@ -611,6 +624,7 @@ for(scen in common){ } message("path_report : ",ifelse(file.exists(path_report),green,red), path_report, NC) message("no_ghgprices_land_until: ", cfg_mag$gms$c56_mute_ghgprices_until) + message("var_luc: ", cfg_rem$var_luc) if ("--gamscompile" %in% flags) { message("Compiling ", fullrunname) diff --git a/tutorials/04_RunningREMINDandMAgPIE.md b/tutorials/04_RunningREMINDandMAgPIE.md index a0cf54aa6..ebc19a8db 100644 --- a/tutorials/04_RunningREMINDandMAgPIE.md +++ b/tutorials/04_RunningREMINDandMAgPIE.md @@ -107,7 +107,7 @@ All the columns must be present in the `scenario_config_coupled.csv` file, but m - `magpie_scen`: A pipe (`|`) separated list of configurations to pass to MAgPIE. Each entry should correspond to a column in [MAgPIE's scenario_config](https://github.com/magpiemodel/magpie/blob/master/config/scenario_config.csv), each one of them setting the multiple configuration flags listed in that file. The configurations are applied in the order that they appear. For example, to configure MAgPIE with SSP2 settings and climate change impacts according to RCP45 set `magpie_scen` to `SSP2|cc|rcp4p5`. To select scenarios from a different `scenario_config*.csv` file replace `magpie_scen` by the path to that file relative to MAgPIE's main folder, for example: `config/projects/scenario_config_PROJECT.csv`. The filename *must contain* the string `scenario_config`. You can also specify more than one column directing to another `scenario_config_PROJECT2.csv` file. They will be evaluated in the order in which they appear in the `scenario_config_coupled.csv`. There is another option of addressing MAgPIE switches described at the end of the list of optional columns below. - `no_ghgprices_land_until`: Controls at which timestep in the MAgPIE runs GHG prices from REMIND will start to be applied. This essentially enables you to set whether or not (or when) GHG prices on land should be applied in MAgPIE. If you want MAgPIE to always apply the same GHG prices from REMIND, you should set this to a timestep corresponding to the start of your REMIND run, such as `y2020` to start in the 2020 timestep. If you want to disable GHG prices in MAgPIE, regardless of what REMIND finds, set this to the last timestep of the run (usually `y2150`). Values in between allow the simulation of policies where GHG prices are only applied in the land use sector after a certain year. -Other, optional columns allow you to make a run start only after another has finished, set starting conditions, and give you finer control over which data is fed to MAgPIE. +Other, optional columns allow you to make a run start only after another has finished, set starting conditions, and give you finer control over which data is fed from REMIND to MAgPIE or from MAgPIE to REMIND. - `path_gdx`, `path_gdx_ref`, `path_gdx_refpolicycost`, `path_gdx_carbonprice`, `path_gdx_bau`, : Override these same settings in REMIND's `scenario_config`, see [`03_RunningBundleOfRuns`](./03_RunningBundleOfRuns.md) for a detailed explanation. - You can set these switches either to the full path of a `fulldata.gdx` file or simply to the name of another scenario in the file (without the "C_"!). So if you want a certain scenario (say `NDC`) to use as starting point the results of a `Base` scenario, you can simply set `path_gdx` to `Base` and it will automatically locate the appropriate `fulldata.gdx` in `Base`, for example `path_remind/C_Base-rem-x/fulldata.gdx`. @@ -121,6 +121,7 @@ Other, optional columns allow you to make a run start only after another has fin - `path_report: Provide a path to a MAgPIE report here if you want REMIND to start with it. It overwrites whatever might have been automatically found from former MAgPIE runs. - `cm_nash_autoconverge_lastrun`: can be used to specify `cm_nash_autoconverge`, but only for the last REMIND run, for example to increase precision there by setting it to `2`. - `cfg_mag$...`: If you don't want to select composed scenarios in MAgPIE to address switches, you can directly address individual MAgPIE switches in the `scenario_config_coupled.csv`. Add any number of columns to your `scenario_config_coupled.csv` that have the name of the MAgPIE switch as the column name. They need to start with `cfg_mag$`. For example: if you want to set `gms$s56_cprice_red_factor` to `3.14` for `SSP2-NPi`, add the column `cfg_mag$gms$s56_cprice_red_factor` to your `scenario_config_coupled.csv` and fill in `3.14` in the row that defines `SSP2-NPi`. + - `var_luc`: Controls, which variable to use in REMIND to represent land-use change (LUC) CO2 emissions from MAgPIE (`co2luc` in REMIND). By default, this switch is set to `smooth` such that the variable `Emissions|CO2|Land|+|Land-use Change` is used. This variable was i.a. obtained by applying a low-pass filter to the raw LUC emissions in order to smooth out spikes. Alternatively, this switch can be set to `raw`. Then the unfiltered variable `Emissions|CO2|Land RAW|+|Land-use Change` is used instead. ### Perform test start before actually submitting runs From f70e5720e8d4d9c8088d2b83ca60274f4b2d7c18 Mon Sep 17 00:00:00 2001 From: Leon Merfort <58845874+merfort@users.noreply.github.com> Date: Wed, 28 Aug 2024 11:39:23 +0200 Subject: [PATCH 374/875] Update changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 968060cdb..e3f5611e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -31,6 +31,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). [[#1773](https://github.com/remindmodel/remind/pull/1773)] - **scripts** add support for EDGE-Transport standalone results to cs2 [[#1780](https://github.com/remindmodel/remind/pull/1780)] +- **scripts** add option to use raw land-use change emissions variable in coupled runs + [[#1796]](https://github.com/remindmodel/remind/pull/1796) - **testthat** fail if manipulating main.gms with default cfg drops/changes switches and comments [[#1764](https://github.com/remindmodel/remind/pull/1764)] and [[#1767](https://github.com/remindmodel/remind/pull/1767)] From aaa3b3710a431ab45633f2ac4abf4d5b62845e3b Mon Sep 17 00:00:00 2001 From: Leon Merfort <58845874+merfort@users.noreply.github.com> Date: Wed, 28 Aug 2024 11:43:59 +0200 Subject: [PATCH 375/875] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e3f5611e2..a09854528 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -32,7 +32,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - **scripts** add support for EDGE-Transport standalone results to cs2 [[#1780](https://github.com/remindmodel/remind/pull/1780)] - **scripts** add option to use raw land-use change emissions variable in coupled runs - [[#1796]](https://github.com/remindmodel/remind/pull/1796) + [[#1796](https://github.com/remindmodel/remind/pull/1796)] - **testthat** fail if manipulating main.gms with default cfg drops/changes switches and comments [[#1764](https://github.com/remindmodel/remind/pull/1764)] and [[#1767](https://github.com/remindmodel/remind/pull/1767)] From 5151343172587bfc7d5e89a1dc92b3ae85c595ca Mon Sep 17 00:00:00 2001 From: Leon Merfort <58845874+merfort@users.noreply.github.com> Date: Wed, 28 Aug 2024 12:13:38 +0200 Subject: [PATCH 376/875] Update scripts/start/getReportData.R Co-authored-by: orichters <90761609+orichters@users.noreply.github.com> --- scripts/start/getReportData.R | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scripts/start/getReportData.R b/scripts/start/getReportData.R index 8ec4804aa..756d6f863 100644 --- a/scripts/start/getReportData.R +++ b/scripts/start/getReportData.R @@ -46,8 +46,7 @@ getReportData <- function(path_to_report,inputpath_mag="magpie_40",inputpath_acc # Select the LUC variable according to setting. if (var_luc == "smooth") { emi_co2_luc <- "Emissions|CO2|Land|+|Land-use Change (Mt CO2/yr)" - } - else if (var_luc == "raw") { + } else if (var_luc == "raw") { emi_co2_luc <- "Emissions|CO2|Land RAW|+|Land-use Change (Mt CO2/yr)" } else { stop(paste0("Unkown setting for 'var_luc': `", var_luc, "`. Please chose either `smooth` or `raw`")) From a014b7bec6ccf1e0a17d3594d1facc646cf0027c Mon Sep 17 00:00:00 2001 From: Leon Merfort <58845874+merfort@users.noreply.github.com> Date: Wed, 28 Aug 2024 12:22:38 +0200 Subject: [PATCH 377/875] Update start_bundle_coupled.R --- start_bundle_coupled.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/start_bundle_coupled.R b/start_bundle_coupled.R index ef5e043ec..ae9c43add 100755 --- a/start_bundle_coupled.R +++ b/start_bundle_coupled.R @@ -429,7 +429,7 @@ for(scen in common){ } else if (scenarios_coupled[scen, "var_luc"] %in% c("smooth", "raw")) { cfg_rem$var_luc <- scenarios_coupled[scen, "var_luc"] } else { - stop(paste0("Unkown setting for 'var_luc': `", scenarios_coupled[scen, "var_luc"], "`. Please chose either `smooth` or `raw`")) + stop(paste0("Unkown setting in coupled config file for 'var_luc': `", scenarios_coupled[scen, "var_luc"], "`. Please chose either `smooth` or `raw`")) } # Edit remind main model file, region settings and input data revision based on scenarios table, if cell non-empty From 85f764578923cb21f6a5a6b1a142f8d9548e1c06 Mon Sep 17 00:00:00 2001 From: Leon Merfort <58845874+merfort@users.noreply.github.com> Date: Wed, 28 Aug 2024 12:23:31 +0200 Subject: [PATCH 378/875] Update start_bundle_coupled.R Co-authored-by: orichters <90761609+orichters@users.noreply.github.com> --- start_bundle_coupled.R | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/start_bundle_coupled.R b/start_bundle_coupled.R index ae9c43add..1b39f98bf 100755 --- a/start_bundle_coupled.R +++ b/start_bundle_coupled.R @@ -422,9 +422,7 @@ for(scen in common){ # Write choice of land-use change variable to config. Use smoothed variable # if not specified otherwise in coupled config, i.e. if the column is missing # completely or if the row entry is empty. - if (!("var_luc" %in% names(scenarios_coupled))) { - cfg_rem$var_luc <- "smooth" - } else if (is.na(scenarios_coupled[scen, "var_luc"])) { + if (! "var_luc" %in% names(scenarios_coupled) || is.na(scenarios_coupled[scen, "var_luc"]) { cfg_rem$var_luc <- "smooth" } else if (scenarios_coupled[scen, "var_luc"] %in% c("smooth", "raw")) { cfg_rem$var_luc <- scenarios_coupled[scen, "var_luc"] From 1c0b4a7a981998bbd448fa36a8aaab083a53836d Mon Sep 17 00:00:00 2001 From: Leon Merfort <58845874+merfort@users.noreply.github.com> Date: Wed, 28 Aug 2024 12:24:24 +0200 Subject: [PATCH 379/875] Update scripts/start/getReportData.R --- scripts/start/getReportData.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/start/getReportData.R b/scripts/start/getReportData.R index 756d6f863..d244c3d3c 100644 --- a/scripts/start/getReportData.R +++ b/scripts/start/getReportData.R @@ -49,7 +49,7 @@ getReportData <- function(path_to_report,inputpath_mag="magpie_40",inputpath_acc } else if (var_luc == "raw") { emi_co2_luc <- "Emissions|CO2|Land RAW|+|Land-use Change (Mt CO2/yr)" } else { - stop(paste0("Unkown setting for 'var_luc': `", var_luc, "`. Please chose either `smooth` or `raw`")) + stop(paste0("Unkown setting for 'var_luc': `", var_luc, "`. Only `smooth` or `raw` are allowed.")) } # define three columns of dataframe: From a2905060907881c0e7ebc273a09eca2f475c0505 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Wed, 28 Aug 2024 10:41:50 +0000 Subject: [PATCH 380/875] Release development version 3.3.2.dev434 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index bcc218544..188bc84dc 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,8 +266,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev424" -date-released: 2024-08-27 +version: "3.3.2.dev434" +date-released: 2024-08-28 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 9e2222812..288929bc0 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev424" +cfg$model_version <- "3.3.2.dev434" #### settings #### cfg$gms <- list() From f542251e2e35ebf469d51a89fb7a422d5ec4efe8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Wed, 28 Aug 2024 14:23:41 +0200 Subject: [PATCH 381/875] Apply initial spreads for CO2 price differentiation in 2030 instead of 2025. --- .../45_carbonprice/diffExp2Lin/datainput.gms | 44 +++++++++--------- .../diffExp2Lin/declarations.gms | 3 +- .../45_carbonprice/diffLin2Lin/datainput.gms | 46 ++++++++++--------- .../diffLin2Lin/declarations.gms | 3 +- 4 files changed, 51 insertions(+), 45 deletions(-) diff --git a/modules/45_carbonprice/diffExp2Lin/datainput.gms b/modules/45_carbonprice/diffExp2Lin/datainput.gms index 668f195f9..1405c4445 100644 --- a/modules/45_carbonprice/diffExp2Lin/datainput.gms +++ b/modules/45_carbonprice/diffExp2Lin/datainput.gms @@ -21,51 +21,53 @@ *** Step 1: Define regional multiplicative factors between regional CO2 price and CO2 price of the developed countries *** Warning regarding code changes: This first step also appears in diffLin2Lin and should be changed simultaneously. -*** Step 1.1: Define regional multiplicative CO2 price factors for 2025 +*** Step 1.1: Define initial regional multiplicative CO2 price factors *** based on GDP per capita (in 1e3 $ PPP 2005) in 2015 (benchmark year kept at 2015 since 2020 not suitable) p45_gdppcap2015_PPP(regi) = pm_gdp("2015",regi)/pm_shPPPMER(regi) / pm_pop("2015",regi); *** Selection of differentiation scheme via cm_co2_tax_spread if(cm_co2_tax_spread eq 1, -p45_phasein_2025ratio(regi) = 1; !! all regions +p45_phasein_ratio(regi) = 1; !! all regions ); if(cm_co2_tax_spread eq 10, -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) le 3.5) = 0.1; !! SSA -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 3.5 and p45_gdppcap2015_PPP(regi) le 5) = 0.2; !! IND -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 5 and p45_gdppcap2015_PPP(regi) le 10) = 0.3; !! OAS -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 10 and p45_gdppcap2015_PPP(regi) le 15) = 0.5; !! CHA, LAM, MEA -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 15 and p45_gdppcap2015_PPP(regi) le 20) = 0.7; !! REF -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 20) = 1; !! EUR, JPN, USA, CAZ, NEU +p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) le 3.5) = 0.1; !! SSA +p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 3.5 and p45_gdppcap2015_PPP(regi) le 5) = 0.2; !! IND +p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 5 and p45_gdppcap2015_PPP(regi) le 10) = 0.3; !! OAS +p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 10 and p45_gdppcap2015_PPP(regi) le 15) = 0.5; !! CHA, LAM, MEA +p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 15 and p45_gdppcap2015_PPP(regi) le 20) = 0.7; !! REF +p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 20) = 1; !! EUR, JPN, USA, CAZ, NEU ); if(cm_co2_tax_spread eq 20, -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) le 3.5) = 0.05; !! SSA -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 3.5 and p45_gdppcap2015_PPP(regi) le 5) = 0.1; !! IND -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 5 and p45_gdppcap2015_PPP(regi) le 10) = 0.2; !! OAS -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 10 and p45_gdppcap2015_PPP(regi) le 15) = 0.4; !! CHA, LAM, MEA -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 15 and p45_gdppcap2015_PPP(regi) le 20) = 0.6; !! REF -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 20) = 1; !! EUR, JPN, USA, CAZ, NEU +p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) le 3.5) = 0.05; !! SSA +p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 3.5 and p45_gdppcap2015_PPP(regi) le 5) = 0.1; !! IND +p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 5 and p45_gdppcap2015_PPP(regi) le 10) = 0.2; !! OAS +p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 10 and p45_gdppcap2015_PPP(regi) le 15) = 0.4; !! CHA, LAM, MEA +p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 15 and p45_gdppcap2015_PPP(regi) le 20) = 0.6; !! REF +p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 20) = 1; !! EUR, JPN, USA, CAZ, NEU ); -*** Step 1.2: Create regional multiplicative CO2 price factors from 2030 onward +*** Step 1.2: Create regional multiplicative CO2 price factors for quadratic convergence between s45_CO2priceRegConvStartYr and cm_CO2priceRegConvEndYr -*** Set regional CO2 price factor equal to p45_phasein_2025ratio until 2025: -p45_regCO2priceFactor(t,regi)$(t.val le 2025) = p45_phasein_2025ratio(regi); -*** Create quadratic phase-in until cm_CO2priceRegConvEndYr: -loop(t$((t.val gt 2025) and (t.val le cm_CO2priceRegConvEndYr)), +*** Set year until which initial ratios of CO2 prices are applied and after which convergence starts to 2030 +s45_CO2priceRegConvStartYr = 2030; +*** Set regional CO2 price factor equal to p45_phasein_ratio until s45_CO2priceRegConvStartYr: +p45_regCO2priceFactor(t,regi)$(t.val le s45_CO2priceRegConvStartYr) = p45_phasein_ratio(regi); +*** Create quadratic phase-in between s45_CO2priceRegConvStartYr and cm_CO2priceRegConvEndYr: +loop(t$((t.val gt s45_CO2priceRegConvStartYr) and (t.val le cm_CO2priceRegConvEndYr)), p45_regCO2priceFactor(t,regi) = min(1, max(0, - p45_phasein_2025ratio(regi) + (1 - p45_phasein_2025ratio(regi)) * Power( (t.val - 2025) / (cm_CO2priceRegConvEndYr - 2025), 2) + p45_phasein_ratio(regi) + (1 - p45_phasein_ratio(regi)) * Power( (t.val - s45_CO2priceRegConvStartYr) / (cm_CO2priceRegConvEndYr - s45_CO2priceRegConvStartYr), 2) ) ); ); *** Set regional CO2 price factor equal to 1 after cm_CO2priceRegConvEndYr: p45_regCO2priceFactor(t,regi)$(t.val gt cm_CO2priceRegConvEndYr) = 1; -display p45_gdppcap2015_PPP, p45_phasein_2025ratio, p45_regCO2priceFactor; +display p45_gdppcap2015_PPP, p45_phasein_ratio, p45_regCO2priceFactor; *** Step 2: Create CO2 price trajectory for developed countries diff --git a/modules/45_carbonprice/diffExp2Lin/declarations.gms b/modules/45_carbonprice/diffExp2Lin/declarations.gms index e9c9e1551..b3e187559 100644 --- a/modules/45_carbonprice/diffExp2Lin/declarations.gms +++ b/modules/45_carbonprice/diffExp2Lin/declarations.gms @@ -18,7 +18,7 @@ ***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- parameters p45_gdppcap2015_PPP(all_regi) "2015 GDP per capita (k $ PPP 2005)" -p45_phasein_2025ratio(all_regi) "ratio of CO2 price to that of developed region in 2025" +p45_phasein_ratio(all_regi) "inital ratio of CO2 price to that of developed region" p45_regCO2priceFactor(ttot,all_regi) "regional multiplicative factor to the CO2 price of the developed countries" p45_CO2priceTrajDeveloped(ttot) "CO2 price trajectory for developed/rich countries" @@ -26,6 +26,7 @@ p45_CO2priceTrajDeveloped(ttot) "CO2 price trajectory for developed/ scalars s45_co2_tax_startyear "level of CO2 tax in start year converted from $/t CO2eq to T$/GtC" +s45_CO2priceRegConvStartYr "year until which initial ratios of CO2 prices are applied and after which convergence starts" ; *** EOF ./modules/45_carbonprice/diffExp2Lin/declarations.gms diff --git a/modules/45_carbonprice/diffLin2Lin/datainput.gms b/modules/45_carbonprice/diffLin2Lin/datainput.gms index 02f8eb48a..5fe0056b4 100644 --- a/modules/45_carbonprice/diffLin2Lin/datainput.gms +++ b/modules/45_carbonprice/diffLin2Lin/datainput.gms @@ -18,53 +18,55 @@ ***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- *** Step 1: Define regional multiplicative factors between regional CO2 price and CO2 price of the developed countries -*** Warning regarding code changes: This first step also appears in diffExp2Lin and should be changed simultaneously. +*** Warning regarding code changes: This first step also appears in diffLin2Lin and should be changed simultaneously. -*** Step 1.1: Define regional multiplicative CO2 price factors for 2025 +*** Step 1.1: Define initial regional multiplicative CO2 price factors *** based on GDP per capita (in 1e3 $ PPP 2005) in 2015 (benchmark year kept at 2015 since 2020 not suitable) p45_gdppcap2015_PPP(regi) = pm_gdp("2015",regi)/pm_shPPPMER(regi) / pm_pop("2015",regi); *** Selection of differentiation scheme via cm_co2_tax_spread if(cm_co2_tax_spread eq 1, -p45_phasein_2025ratio(regi) = 1; !! all regions +p45_phasein_ratio(regi) = 1; !! all regions ); if(cm_co2_tax_spread eq 10, -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) le 3.5) = 0.1; !! SSA -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 3.5 and p45_gdppcap2015_PPP(regi) le 5) = 0.2; !! IND -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 5 and p45_gdppcap2015_PPP(regi) le 10) = 0.3; !! OAS -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 10 and p45_gdppcap2015_PPP(regi) le 15) = 0.5; !! CHA, LAM, MEA -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 15 and p45_gdppcap2015_PPP(regi) le 20) = 0.7; !! REF -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 20) = 1; !! EUR, JPN, USA, CAZ, NEU +p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) le 3.5) = 0.1; !! SSA +p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 3.5 and p45_gdppcap2015_PPP(regi) le 5) = 0.2; !! IND +p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 5 and p45_gdppcap2015_PPP(regi) le 10) = 0.3; !! OAS +p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 10 and p45_gdppcap2015_PPP(regi) le 15) = 0.5; !! CHA, LAM, MEA +p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 15 and p45_gdppcap2015_PPP(regi) le 20) = 0.7; !! REF +p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 20) = 1; !! EUR, JPN, USA, CAZ, NEU ); if(cm_co2_tax_spread eq 20, -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) le 3.5) = 0.05; !! SSA -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 3.5 and p45_gdppcap2015_PPP(regi) le 5) = 0.1; !! IND -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 5 and p45_gdppcap2015_PPP(regi) le 10) = 0.2; !! OAS -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 10 and p45_gdppcap2015_PPP(regi) le 15) = 0.4; !! CHA, LAM, MEA -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 15 and p45_gdppcap2015_PPP(regi) le 20) = 0.6; !! REF -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 20) = 1; !! EUR, JPN, USA, CAZ, NEU +p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) le 3.5) = 0.05; !! SSA +p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 3.5 and p45_gdppcap2015_PPP(regi) le 5) = 0.1; !! IND +p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 5 and p45_gdppcap2015_PPP(regi) le 10) = 0.2; !! OAS +p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 10 and p45_gdppcap2015_PPP(regi) le 15) = 0.4; !! CHA, LAM, MEA +p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 15 and p45_gdppcap2015_PPP(regi) le 20) = 0.6; !! REF +p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 20) = 1; !! EUR, JPN, USA, CAZ, NEU ); -*** Step 1.2: Create regional multiplicative CO2 price factors from 2030 onward +*** Step 1.2: Create regional multiplicative CO2 price factors for quadratic convergence between s45_CO2priceRegConvStartYr and cm_CO2priceRegConvEndYr -*** Set regional CO2 price factor equal to p45_phasein_2025ratio until 2025: -p45_regCO2priceFactor(t,regi)$(t.val le 2025) = p45_phasein_2025ratio(regi); -*** Create quadratic phase-in until cm_CO2priceRegConvEndYr: -loop(t$((t.val gt 2025) and (t.val le cm_CO2priceRegConvEndYr)), +*** Set year until which initial ratios of CO2 prices are applied and after which convergence starts to 2030 +s45_CO2priceRegConvStartYr = 2030; +*** Set regional CO2 price factor equal to p45_phasein_ratio until s45_CO2priceRegConvStartYr: +p45_regCO2priceFactor(t,regi)$(t.val le s45_CO2priceRegConvStartYr) = p45_phasein_ratio(regi); +*** Create quadratic phase-in between s45_CO2priceRegConvStartYr and cm_CO2priceRegConvEndYr: +loop(t$((t.val gt s45_CO2priceRegConvStartYr) and (t.val le cm_CO2priceRegConvEndYr)), p45_regCO2priceFactor(t,regi) = min(1, max(0, - p45_phasein_2025ratio(regi) + (1 - p45_phasein_2025ratio(regi)) * Power( (t.val - 2025) / (cm_CO2priceRegConvEndYr - 2025), 2) + p45_phasein_ratio(regi) + (1 - p45_phasein_ratio(regi)) * Power( (t.val - s45_CO2priceRegConvStartYr) / (cm_CO2priceRegConvEndYr - s45_CO2priceRegConvStartYr), 2) ) ); ); *** Set regional CO2 price factor equal to 1 after cm_CO2priceRegConvEndYr: p45_regCO2priceFactor(t,regi)$(t.val gt cm_CO2priceRegConvEndYr) = 1; -display p45_gdppcap2015_PPP, p45_phasein_2025ratio, p45_regCO2priceFactor; +display p45_gdppcap2015_PPP, p45_phasein_ratio, p45_regCO2priceFactor; *** Step 2: Define CO2 price trajectory for developed countries diff --git a/modules/45_carbonprice/diffLin2Lin/declarations.gms b/modules/45_carbonprice/diffLin2Lin/declarations.gms index b7afd516c..5f20c2004 100644 --- a/modules/45_carbonprice/diffLin2Lin/declarations.gms +++ b/modules/45_carbonprice/diffLin2Lin/declarations.gms @@ -19,7 +19,7 @@ parameters p45_gdppcap2015_PPP(all_regi) "2015 GDP per capita (k $ PPP 2005)" -p45_phasein_2025ratio(all_regi) "ratio of CO2 price to that of developed region in 2025" +p45_phasein_ratio(all_regi) "inital ratio of CO2 price to that of developed region" p45_regCO2priceFactor(ttot,all_regi) "regional multiplicative factor to the CO2 price of the developed countries" p45_CO2priceTrajDeveloped(ttot) "CO2 price trajectory for developed/rich countries" @@ -31,6 +31,7 @@ scalars s45_year_co2_tax_hist "year of s45_co2_tax_hist" s45_co2_tax_hist "historical level of CO2 tax converted from $/t CO2eq to T$/GtC" s45_co2_tax_startyear "level of CO2 tax in start year converted from $/t CO2eq to T$/GtC" +s45_CO2priceRegConvStartYr "year until which initial ratios of CO2 prices are applied and after which convergence starts" ; *** EOF ./modules/45_carbonprice/diffLin2Lin/declarations.gms From 2b0633a4b73e7783187f339a10c46eab086b8742 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Wed, 28 Aug 2024 13:48:41 +0000 Subject: [PATCH 382/875] Release development version 3.3.2.dev437 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 188bc84dc..420d89eca 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,7 +266,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev434" +version: "3.3.2.dev437" date-released: 2024-08-28 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 288929bc0..cbc09683c 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev434" +cfg$model_version <- "3.3.2.dev437" #### settings #### cfg$gms <- list() From 7fbd99f084b0d1e03ba7c26846296d7daa77aaec Mon Sep 17 00:00:00 2001 From: lecfab Date: Wed, 28 Aug 2024 16:08:19 +0200 Subject: [PATCH 383/875] scaleDemand switch tested --- core/datainput.gms | 7 +++---- core/declarations.gms | 8 ++++---- modules/36_buildings/simple/datainput.gms | 10 +++++----- 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/core/datainput.gms b/core/datainput.gms index 212055670..8e6857941 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -1605,14 +1605,13 @@ $endif.cm_rcp_scen_build *** Scale FE demand across industry and building sectors $ifthen.scaleDemand not "%cm_scaleDemand%" == "off" - loop((t,t3,all_regi) $ pm_scaleDemand(t,t3,all_regi), -*FL* rescaled demand = normal demand * [ scaling factor + (1-scaling factor) * remaining phase-in, between zero and one ] - pm_fedemand(t2,all_regi,all_in) = pm_fedemand(t2,all_regi,all_in) * ( pm_scaleDemand(t,t3,all_regi) + (1-pm_scaleDemand(t,t3,all_regi)) * min(1, max(0, t3.val-t2.val) / (t3.val-t.val)) ); + loop((tall,tall2,all_regi) $ pm_scaleDemand(tall,tall2,all_regi), +*FL* rescaled demand = normal demand * [ scaling factor + (1-scaling factor) * remaining phase-in, between zero and one ] + pm_fedemand(t,all_regi,all_in) = pm_fedemand(t,all_regi,all_in) * ( pm_scaleDemand(tall,tall2,all_regi) + (1-pm_scaleDemand(tall,tall2,all_regi)) * min(1, max(0, tall2.val-t.val) / (tall2.val-tall.val)) ); ); $endif.scaleDemand - *** initialize global target deviation scalar sm_globalBudget_dev = 1; diff --git a/core/declarations.gms b/core/declarations.gms index 16b31c5d2..93090d846 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -186,14 +186,14 @@ $ifthen.VREPot_Factor not "%c_VREPot_Factor%" == "off" $endif.VREPot_Factor $ifthen.scaleDemand not "%cm_scaleDemand%" == "off" - pm_scaleDemand(ttot,ttot,all_regi) "Rescaling factor on final energy and usable energy demand, for selected regions and over a phase-in window." / %cm_scaleDemand% / + pm_scaleDemand(tall,tall,all_regi) "Rescaling factor on final energy and usable energy demand, for selected regions and over a phase-in window." / %cm_scaleDemand% / $endif.scaleDemand p_boundtmp(tall,all_regi,all_te,rlf) "read-in bound on capacities" p_bound_cap(tall,all_regi,all_te,rlf) "read-in bound on capacities" pm_data(all_regi,char,all_te) "Large array for most technical parameters of technologies; more detail on the individual technical parameters can be found in the declaration of the set 'char' " pm_cf(tall,all_regi,all_te) "Installed capacity availability - capacity factor (fraction of the year that a plant is running)" -p_tkpremused(all_regi,all_te) "turn-key cost premium used in the model (with a discount rate of 3+ pure rate of time preference); in comparison to overnight costs)" +p_tkpremused(all_regi,all_te) "turn-key cost premium used in the model (with a discount rate of 3+ pure rate of time preference); in comparison to overnight costs)" p_aux_tlt(all_te) "auxilliary parameter to determine maximal lifetime of a technology" p_aux_check_omeg(all_te) "auxiliary parameter for an automated check that no technology is erroneously entered with pm_omeg('1') value of 0" p_aux_check_tlt(all_te) "auxiliary parameter for an automated check that the pm_omeg calculation and filling of the opTimeYr2te mapping is in accordance" @@ -204,7 +204,7 @@ p_efFossilFuelExtrGlo(all_enty,all_enty) "global emission factor for pm_dataren(all_regi,char,rlf,all_te) "Array including both regional renewable potential and capacity factor" p_datapot(all_regi,char,rlf,all_enty) "Total land area usable for the solar technologies PV and CSP. [km^2]" p_adj_seed_reg(tall,all_regi) "market capacity that can be built from 0 and gives v_adjFactor=1" -p_adj_seed_te(ttot,all_regi,all_te) "technology-dependent multiplicative prefactor to the v_adjFactor seed value. Smaller means slower scale-up" +p_adj_seed_te(ttot,all_regi,all_te) "technology-dependent multiplicative prefactor to the v_adjFactor seed value. Smaller means slower scale-up" *** appears in q_esm2macro and q_balFeForCes. This energy category is 0 in LAM, IND and AFR in 2005, but a value > 0 is needed for the calculation of CES parameters. *** Accordingly, a value of sm_eps is inserted in pm_cesdata to allow calculation of the CES parameters. p_datacs(all_regi,all_enty) "fossil energy that is not oxidized (=carbon stored)" @@ -221,7 +221,7 @@ p_capCum(tall, all_regi,all_te) "vm_capCum from input.gdx f pm_capCumForeign(ttot,all_regi,all_te) "parameter for learning externality (cumulated capacity of other regions except regi)" pm_SolNonInfes(all_regi) "model status from last iteration. 1 means status 2 or 7, 0 for all other status codes" -pm_cintraw(all_enty) "carbon intensity of fossils [GtC per TWa]" +pm_cintraw(all_enty) "carbon intensity of fossils [GtC per TWa]" p_CapFixFromRWfix(ttot,all_regi,all_te) "parameter for fixing capacity variable to Real-World values in 2010/2015" p_deltaCapFromRWfix(ttot,all_regi,all_te) "parameter with resulting deltacap values resulting from fixing capacity to real-world values in 2010/2015" diff --git a/modules/36_buildings/simple/datainput.gms b/modules/36_buildings/simple/datainput.gms index c9845f192..a092646ac 100644 --- a/modules/36_buildings/simple/datainput.gms +++ b/modules/36_buildings/simple/datainput.gms @@ -59,11 +59,11 @@ p36_uedemand_build(ttot,regi,in) = f36_uedemand_build(ttot,regi,"%cm_demScen%"," *** Scale UE demand and floor space in the building sector $ifthen.scaleDemand not "%cm_scaleDemand%" == "off" - loop((t,t3,regi) $ pm_scaleDemand(t,t3,regi), -*FL* rescaled demand = normal demand * [ scaling factor + (1-scaling factor) * remaining phase-in, between zero and one ] - p36_uedemand_build(t2,regi,in) = p36_uedemand_build(t2,regi,in) * ( pm_scaleDemand(t,t3,regi) + (1-pm_scaleDemand(t,t3,regi)) * min(1, max(0, t3.val-t2.val) / (t3.val-t.val)) ); -*RH* We assume that the reduction in final energy demand is only partially driven by floor space reduction. - p36_floorspace(t2,regi) = p36_floorspace(t2,regi) * ( pm_scaleDemand(t,t3,regi)**0.3 + (1-pm_scaleDemand(t,t3,regi)**0.3) * min(1, max(0, t3.val-t2.val) / (t3.val-t.val)) ); + loop((tall,tall2,regi) $ pm_scaleDemand(tall,tall2,regi), +*FL* rescaled demand = normal demand * [ scaling factor + (1-scaling factor) * remaining phase-in, between zero and one ] + p36_uedemand_build(t,regi,in) = p36_uedemand_build(t,regi,in) * ( pm_scaleDemand(tall,tall2,regi) + (1-pm_scaleDemand(tall,tall2,regi)) * min(1, max(0, tall2.val-t.val) / (tall2.val-tall.val)) ); +*RH* We assume that the reduction in final energy demand is only partially driven by floor space reduction (exponent 0.3). + p36_floorspace(t,regi) = p36_floorspace(t,regi) * ( pm_scaleDemand(tall,tall2,regi)**0.3 + (1-pm_scaleDemand(tall,tall2,regi)**0.3) * min(1, max(0, tall2.val-t.val) / (tall2.val-tall.val)) ); ); $endif.scaleDemand From bc18d8d94f63e8d93538b87afbb089f8fc0e4998 Mon Sep 17 00:00:00 2001 From: Leon Merfort <58845874+merfort@users.noreply.github.com> Date: Wed, 28 Aug 2024 16:17:33 +0200 Subject: [PATCH 384/875] Bugfix to PR#1796 --- start_bundle_coupled.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/start_bundle_coupled.R b/start_bundle_coupled.R index 1b39f98bf..e6e49f21f 100755 --- a/start_bundle_coupled.R +++ b/start_bundle_coupled.R @@ -422,7 +422,7 @@ for(scen in common){ # Write choice of land-use change variable to config. Use smoothed variable # if not specified otherwise in coupled config, i.e. if the column is missing # completely or if the row entry is empty. - if (! "var_luc" %in% names(scenarios_coupled) || is.na(scenarios_coupled[scen, "var_luc"]) { + if (! "var_luc" %in% names(scenarios_coupled) || is.na(scenarios_coupled[scen, "var_luc"])) { cfg_rem$var_luc <- "smooth" } else if (scenarios_coupled[scen, "var_luc"] %in% c("smooth", "raw")) { cfg_rem$var_luc <- scenarios_coupled[scen, "var_luc"] From a4922d9f83378f90d1131bec76ed65054b37af36 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Wed, 28 Aug 2024 14:33:03 +0000 Subject: [PATCH 385/875] Release development version 3.3.2.dev440 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 420d89eca..f45d2b403 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,7 +266,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev437" +version: "3.3.2.dev440" date-released: 2024-08-28 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index cbc09683c..1eaaa0523 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev437" +cfg$model_version <- "3.3.2.dev440" #### settings #### cfg$gms <- list() From 8270f5f5bfad55f33a953d92c18edd4f66fe0669 Mon Sep 17 00:00:00 2001 From: Felicitas Date: Wed, 28 Aug 2024 16:57:27 +0200 Subject: [PATCH 386/875] updated coupling scripts to adjust to new magpie config structure --- config/scenario_config_EL2p0DeepDive.csv | 39 ++++++ config/scenario_config_coupled.csv | 2 +- .../scenario_config_coupled_EL2p0DeepDive.csv | 40 ++++++ config/scenario_config_coupled_GCS.csv | 96 +++++++------- config/scenario_config_coupled_NGFS_v5.csv | 118 +++++++++--------- 5 files changed, 187 insertions(+), 108 deletions(-) create mode 100644 config/scenario_config_EL2p0DeepDive.csv create mode 100644 config/scenario_config_coupled_EL2p0DeepDive.csv diff --git a/config/scenario_config_EL2p0DeepDive.csv b/config/scenario_config_EL2p0DeepDive.csv new file mode 100644 index 000000000..5ed38d21b --- /dev/null +++ b/config/scenario_config_EL2p0DeepDive.csv @@ -0,0 +1,39 @@ +title;start;path_gdx_carbonprice;cm_bioenergy_SustTax;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_maxProdBiolc;c_ccsinjecratescen;c_ccscapratescen;cm_subsec_model_steel;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;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description +SSP2EU-NPi-calibrate;calibrate,AMT,compileInTests;;1.5;calibrate;;14;;;rcp45;;;0;NPi;;;;9;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2EU-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2EU-Base;1,AMT;;1.5;;;;;;;;;0;;;;;;;off;;;;;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix1;2005;;;;;SSP2EU-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2EU-NDC;1,AMT;;1.5;;;;;;rcp45;3;globallyOptimal;0;NDC;;;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2025;;SSP2EU-NPi;SSP2EU-NPi;;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. +SSP2EU-NPi;1,AMT,compileInTests;;1.5;;;;;;rcp45;3;;0;NPi;;;;9;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2EU-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2EU-noDSPkB500-noDS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 500 +SSP2EU-DSPkB500-DS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 500 +SSP2EU-noDSPkB500-DS_betax_DeepDive;1,AMT;SSP2EU-noDSPkB500-noDS_betax;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 without diet change, but includes diet change in magpie +SSP2EU-DSPkB500-noDS_betax_DeepDive;1,AMT;SSP2EU-DSPkB500-DS_betax;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 with diet change, but does not include diet change in magpie +SSP2EU-noDSPkB650-noDS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 650 +SSP2EU-DSPkB650-DS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 650 +SSP2EU-noDSPkB650-DS_betax_DeepDive;1,AMT;SSP2EU-noDSPkB650-noDS_betax;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 without diet change, but includes diet change in magpie +SSP2EU-DSPkB650-noDS_betax_DeepDive;1,AMT;SSP2EU-DSPkB650-DS_betax;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 with diet change, but does not include diet change in magpie +SSP2EU-noDSPkB1050-noDS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;diffCurvPhaseIn2Lin;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 1050 +SSP2EU-DSPkB1050-DS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;diffCurvPhaseIn2Lin;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 1050 +SSP2EU-noDSPkB1050-DS_betax_DeepDive;1,AMT;SSP2EU-noDSPkB1050-noDS_betax;1.5;;;;;;rcp26;9;globallyOptimal;1050;exogenous;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 1050 without diet change, but includes diet change in magpie +SSP2EU-DSPkB1050-noDS_betax_DeepDive;1,AMT;SSP2EU-DSPkB1050-DS_betax;1.5;;;;;;rcp26;9;globallyOptimal;1050;exogenous;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 1050 with diet change, but does not include diet change in magpie +SSP2EU-noDSPkB500-noDS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 500 +SSP2EU-DSPkB500-DS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 500 +SSP2EU-noDSPkB500-DS_betax_AgMIP;1,AMT;SSP2EU-noDSPkB500-noDS_betax;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 without diet change, but includes diet change in magpie +SSP2EU-DSPkB500-noDS_betax_AgMIP;1,AMT;SSP2EU-DSPkB500-DS_betax;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 with diet change, but does not include diet change in magpie +SSP2EU-noDSPkB650-noDS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 650 +SSP2EU-DSPkB650-DS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 650 +SSP2EU-noDSPkB650-DS_betax_AgMIP;1,AMT;SSP2EU-noDSPkB650-noDS_betax;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 without diet change, but includes diet change in magpie +SSP2EU-DSPkB650-noDS_betax_AgMIP;1,AMT;SSP2EU-DSPkB650-DS_betax;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 with diet change, but does not include diet change in magpie +SSP2EU-noDSPkB1050-noDS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;diffCurvPhaseIn2Lin;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 1050 +SSP2EU-DSPkB1050-DS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;diffCurvPhaseIn2Lin;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 1050 +SSP2EU-noDSPkB1050-DS_betax_AgMIP;1,AMT;SSP2EU-noDSPkB1050-noDS_betax;1.5;;;;;;rcp26;9;globallyOptimal;1050;exogenous;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 1050 without diet change, but includes diet change in magpie +SSP2EU-DSPkB1050-noDS_betax_AgMIP;1,AMT;SSP2EU-DSPkB1050-DS_betax;1.5;;;;;;rcp26;9;globallyOptimal;1050;exogenous;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 1050 with diet change, but does not include diet change in magpie +SSP2EU-noDSPkB500-noDS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 500 +SSP2EU-DSPkB500-DS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 500 +SSP2EU-noDSPkB500-DS_betax_DeepDive_noNDC;1,AMT;SSP2EU-noDSPkB500-noDS_betax;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 without diet change, but includes diet change in magpie +SSP2EU-DSPkB500-noDS_betax_DeepDive_noNDC;1,AMT;SSP2EU-DSPkB500-DS_betax;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 with diet change, but does not include diet change in magpie +SSP2EU-noDSPkB650-noDS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 650 +SSP2EU-DSPkB650-DS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 650 +SSP2EU-noDSPkB650-DS_betax_DeepDive_noNDC;1,AMT;SSP2EU-noDSPkB650-noDS_betax;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 without diet change, but includes diet change in magpie +SSP2EU-DSPkB650-noDS_betax_DeepDive_noNDC;1,AMT;SSP2EU-DSPkB650-DS_betax;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 with diet change, but does not include diet change in magpie +SSP2EU-noDSPkB1050-noDS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;diffCurvPhaseIn2Lin;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 1050 +SSP2EU-DSPkB1050-DS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;diffCurvPhaseIn2Lin;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 1050 diff --git a/config/scenario_config_coupled.csv b/config/scenario_config_coupled.csv index 7306a500e..6c984964c 100644 --- a/config/scenario_config_coupled.csv +++ b/config/scenario_config_coupled.csv @@ -1,4 +1,4 @@ -title;start;oldrun;path_report;qos;magpie_scen;no_ghgprices_land_until;path_gdx;path_gdx_bau;path_gdx_ref +title;start;oldrun;path_report;qos;config/scenario_config.csv;no_ghgprices_land_until;path_gdx;path_gdx_bau;path_gdx_ref SDP_MC-NPi;0;;;;SDP-MC|NPI|nocc_hist;y2150;;; SDP_MC-PkBudg650;0;;;;SDP-MC|NDC|nocc_hist;y2030;;; SSP1-NDC;0;;;;SSP1|NDC|nocc_hist;y2150;;; diff --git a/config/scenario_config_coupled_EL2p0DeepDive.csv b/config/scenario_config_coupled_EL2p0DeepDive.csv new file mode 100644 index 000000000..6a2a4802d --- /dev/null +++ b/config/scenario_config_coupled_EL2p0DeepDive.csv @@ -0,0 +1,40 @@ +title;start;oldrun;path_report;qos;config/scenario_config.csv;config/projects/scenario_config_el2.csv;no_ghgprices_land_until;path_gdx;path_gdx_bau;path_gdx_ref;path_gdx_refpolicycost +SSP2EU-Base;0;;;;SSP2EU|NPI|nocc_hist;EL2_default;y2150;;;; +SSP2EU-NDC;1;;;;SSP2EU|NDC|nocc_hist;EL2_default;y2150;;;; +SSP2EU-NPi;1;;;;SSP2EU|NPI|nocc_hist;EL2_default;y2150;;;; +SSP2EU-noDSPkB500-noDS_betax_DeepDive;0;;;priority;SSP2EU|NDC|nocc_hist;EL2_default;y2030;;;; +SSP2EU-DSPkB500-DS_betax_DeepDive;0;;;short;SSP2EU|NDC|nocc_hist;EL2_default|EL2_Demand;y2030;;;; +SSP2EU-noDSPkB500-DS_betax_DeepDive;0;;;priority;SSP2EU|NDC|nocc_hist;EL2_default|EL2_Demand;y2030;;;; +SSP2EU-DSPkB500-noDS_betax_DeepDive;0;;;priority;SSP2EU|NDC|nocc_hist;EL2_default;y2030;;;; +SSP2EU-noDSPkB650-noDS_betax_DeepDive;0;;;short;SSP2EU|NDC|nocc_hist;EL2_default;y2030;;;; +SSP2EU-DSPkB650-DS_betax_DeepDive;0;;;priority;SSP2EU|NDC|nocc_hist;EL2_default|EL2_Demand;y2030;;;; +SSP2EU-noDSPkB650-DS_betax_DeepDive;0;;;short;SSP2EU|NDC|nocc_hist;EL2_default|EL2_Demand;y2030;;;; +SSP2EU-DSPkB650-noDS_betax_DeepDive;0;;;short;SSP2EU|NDC|nocc_hist;EL2_default;y2030;;;; +SSP2EU-noDSPkB1050-noDS_betax_DeepDive;0;;;short;SSP2EU|NDC|nocc_hist;EL2_default;y2030;;;; +SSP2EU-DSPkB1050-DS_betax_DeepDive;0;;;short;SSP2EU|NDC|nocc_hist;EL2_default|EL2_Demand;y2030;;;; +SSP2EU-noDSPkB1050-DS_betax_DeepDive;0;;;short;SSP2EU|NDC|nocc_hist;EL2_default|EL2_Demand;y2030;;;; +SSP2EU-DSPkB1050-noDS_betax_DeepDive;0;;;short;SSP2EU|NDC|nocc_hist;EL2_default;y2030;;;; +SSP2EU-noDSPkB500-noDS_betax_AgMIP;0;;;priority;SSP2EU|NDC|nocc_hist;EL2_default;y2030;;;; +SSP2EU-DSPkB500-DS_betax_AgMIP;0;;;short;SSP2EU|NDC|nocc_hist;EL2_default|EL2_PHD;y2030;;;; +SSP2EU-noDSPkB500-DS_betax_AgMIP;0;;;priority;SSP2EU|NDC|nocc_hist;EL2_default|EL2_PHD;y2030;;;; +SSP2EU-DSPkB500-noDS_betax_AgMIP;0;;;priority;SSP2EU|NDC|nocc_hist;EL2_default;y2030;;;; +SSP2EU-noDSPkB650-noDS_betax_AgMIP;0;;;short;SSP2EU|NDC|nocc_hist;EL2_default;y2030;;;; +SSP2EU-DSPkB650-DS_betax_AgMIP;1;;;priority;SSP2EU|NDC|nocc_hist;EL2_default|EL2_PHD;y2030;;;; +SSP2EU-noDSPkB650-DS_betax_AgMIP;0;;;short;SSP2EU|NDC|nocc_hist;EL2_default|EL2_PHD;y2030;;;; +SSP2EU-DSPkB650-noDS_betax_AgMIP;0;;;short;SSP2EU|NDC|nocc_hist;EL2_default;y2030;;;; +SSP2EU-noDSPkB1050-noDS_betax_AgMIP;0;;;short;SSP2EU|NDC|nocc_hist;EL2_default;y2030;;;; +SSP2EU-DSPkB1050-DS_betax_AgMIP;0;;;short;SSP2EU|NDC|nocc_hist;EL2_default|EL2_PHD;y2030;;;; +SSP2EU-noDSPkB1050-DS_betax_AgMIP;0;;;short;SSP2EU|NDC|nocc_hist;EL2_default|EL2_PHD;y2030;;;; +SSP2EU-DSPkB1050-noDS_betax_AgMIP;0;;;short;SSP2EU|NDC|nocc_hist;EL2_default;y2030;;;; +SSP2EU-noDSPkB500-noDS_betax_DeepDive_noNDC;0;;;priority;SSP2EU|NPI|nocc_hist;EL2_default;y2030;;;; +SSP2EU-DSPkB500-DS_betax_DeepDive_noNDC;0;;;short;SSP2EU|NPI|nocc_hist;EL2_default|EL2_Demand;y2030;;;; +SSP2EU-noDSPkB500-DS_betax_DeepDive_noNDC;0;;;priority;SSP2EU|NPI|nocc_hist;EL2_default|EL2_Demand;y2030;;;; +SSP2EU-DSPkB500-noDS_betax_DeepDive_noNDC;0;;;priority;SSP2EU|NPI|nocc_hist;EL2_default;y2030;;;; +SSP2EU-noDSPkB650-noDS_betax_DeepDive_noNDC;0;;;short;SSP2EU|NPI|nocc_hist;EL2_default;y2030;;;; +SSP2EU-DSPkB650-DS_betax_DeepDive_noNDC;1;;;priority;SSP2EU|NPI|nocc_hist;EL2_default|EL2_Demand;y2030;;;; +SSP2EU-noDSPkB650-DS_betax_DeepDive_noNDC;0;;;short;SSP2EU|NPI|nocc_hist;EL2_default|EL2_Demand;y2030;;;; +SSP2EU-DSPkB650-noDS_betax_DeepDive_noNDC;0;;;short;SSP2EU|NPI|nocc_hist;EL2_default;y2030;;;; +SSP2EU-noDSPkB1050-noDS_betax_DeepDive_noNDC;0;;;short;SSP2EU|NPI|nocc_hist;EL2_default;y2030;;;; +SSP2EU-DSPkB1050-DS_betax_DeepDive_noNDC;0;;;short;SSP2EU|NPI|nocc_hist;EL2_default|EL2_Demand;y2030;;;; +SSP2EU-noDSPkB1050-DS_betax_DeepDive_noNDC;0;;;short;SSP2EU|NPI|nocc_hist;EL2_default|EL2_Demand;y2030;;;; +SSP2EU-DSPkB1050-noDS_betax_DeepDive_noNDC;0;;;short;SSP2EU|NPI|nocc_hist;EL2_default;y2030;;;; diff --git a/config/scenario_config_coupled_GCS.csv b/config/scenario_config_coupled_GCS.csv index e86a6ac45..a169c9019 100644 --- a/config/scenario_config_coupled_GCS.csv +++ b/config/scenario_config_coupled_GCS.csv @@ -1,48 +1,48 @@ -title;start;qos;oldrun;path_report;magpie_scen;no_ghgprices_land_until;path_gdx;path_gdx_ref;path_gdx_bau;path_mif_ghgprice_land -SSP2-Base;0;priority;;;SSP2|NPI|nocc;y2150;/p/projects/piam/abrahao/runs_gcsf/phase2_dec/remind/output/C_SSP2-Base-rem-1/fulldata.gdx;;; -SSP2-Tall-PkBudg750;0;priority;;;SSP2|NDC|Tland|GCSF|cc|rcp1p9;y2020;SSP2-NDC;SSP2-NPi;SSP2-Base; -SSP2-NDC;0;short;;;SSP2|NDC|GCSF|cc|rcp4p5;y2150;SSP2-Base;SSP2-Base;SSP2-Base; -SSP2-NPi;0;priority;;;SSP2|NPI|GCSF|cc|rcp4p5;y2150;SSP2-NDC;SSP2-Base;SSP2-Base; -SSP2-ENEndc;0;short;;;SSP2|NPI|GCSF|cc|rcp2p6;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; -SSP2-ENEcp;0;short;;;SSP2|NPI|GCSF|cc|rcp2p6;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; -SSP2-ENEelec;0;short;;;SSP2|NPI|GCSF|cc|rcp2p6;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; -SSP2-ENEcp-ENEcc;0;short;;;SSP2|NPI|GCSF|cc|rcp2p6;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; -SSP2-Tene;0;priority;;;SSP2|NPI|GCSF|cc|rcp2p6;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; -SSP2-Tpc;0;priority;;;SSP2|NPI|GCSF|cc|rcp2p6;y2150;/p/projects/piam/abrahao/runs_gcsf/phase2_biofix/remind/output/bkp_tpcfix/C_SSP2-Tpc-rem-5/fulldata.gdx;SSP2-NPi;SSP2-Base; -SSP2-LNDcp;0;short;;;SSP2|NPI|GCSF|cc|rcp2p6;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 -SSP2-LNDndc;0;short;;;SSP2|NDC|GCSF|cc|rcp2p6;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; -SSP2-LNDlbs;0;short;;;SSP2|NPI|LNDlbs|GCSF|cc|rcp2p6;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 -SSP2-LNDreseff;0;short;;;SSP2|NPI|LNDres|GCSF|cc|rcp2p6;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 -SSP2-LNDfood;0;short;;;SSP2|NPI|LNDfood|GCSF|cc|rcp2p6;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; -SSP2-Tland;0;short;;;SSP2|NDC|Tland|GCSF|cc|rcp2p6;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 -SSP2-nofood-Tland;0;short;;;SSP2|NDC|LNDlbs|LNDres|GCSF|cc|rcp2p6;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 -SSP2-Tene-LNDndc;0;short;;;SSP2|NDC|GCSF|cc|rcp2p6;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; -SSP2-Tene-LNDlbs;0;short;;;SSP2|NPI|LNDlbs|GCSF|cc|rcp2p6;y2020;SSP2-NDC;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 -SSP2-Tene-LNDreseff;0;short;;;SSP2|NPI|LNDres|GCSF|cc|rcp2p6;y2020;SSP2-NDC;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 -SSP2-Tene-LNDfood;0;short;;;SSP2|NPI|LNDfood|GCSF|cc|rcp2p6;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; -SSP2-nofood-Tene-Tland;0;short;;;SSP2|NDC|LNDlbs|LNDres|GCSF|cc|rcp2p6;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 -SSP2-Tene-Tland;0;short;;;SSP2|NDC|Tland|GCSF|cc|rcp2p6;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 -SDP-Tall-PkBudg750;0;short;;;SDP|NDC|Tland|GCSF|cc|rcp1p9;y2020;SSP2-NDC;SSP2-NPi;SSP2-Base; -SDP-Tall-exoCP;0;short;;;SDP|NDC|Tland|GCSF|cc|rcp1p9;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 -SSP1-Tall-exoCP;0;short;;;SSP1|NDC|Tland|GCSF|cc|rcp1p9;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 -SSP2-Tene-rcp45;0;short;;;SSP2|NPI|GCSF|cc|rcp4p5;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; -SSP2-Tpc-rcp45;0;priority;;;SSP2|NPI|GCSF|cc|rcp4p5;y2150;/p/projects/piam/abrahao/runs_gcsf/phase2_biofix/remind/output/bkp_tpcfix/C_SSP2-Tpc-rem-5/fulldata.gdx;SSP2-NPi;SSP2-Base; -SSP2-Tland-rcp45;0;short;;;SSP2|NDC|Tland|GCSF|cc|rcp4p5;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 -SSP2-LNDndc-rcp45;0;short;;;SSP2|NDC|GCSF|cc|rcp4p5;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; -SSP2-LNDlbs-rcp45;0;short;;;SSP2|NPI|LNDlbs|GCSF|cc|rcp4p5;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 -SSP2-LNDreseff-rcp45;0;short;;;SSP2|NPI|LNDres|GCSF|cc|rcp4p5;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 -SSP2-LNDfood-rcp45;0;short;;;SSP2|NPI|LNDfood|GCSF|cc|rcp4p5;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; -SSP2-basendc-Tene;0;short;;;SSP2|NDC|GCSF|cc|rcp2p6;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; -SSP2-basendc-Tland;0;short;;;SSP2|NDC|Tland|GCSF|cc|rcp2p6;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 -SSP2-Tall-noTpc-PkBudg750;0;short;;;SSP2|NDC|Tland|GCSF|cc|rcp1p9;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base; -SSP2-Tall-noDam-PkBudg750;0;short;;;SSP2|NDC|Tland|GCSF|nocc_hist|rcp1p9;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base; -SSP2-Tall-noDam-exoCP;0;short;;;SSP2|NDC|Tland|GCSF|nocc_hist|rcp1p9;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base; -SSP2-NPi-noDam;1;priority;;;SSP2|NPI|GCSF|nocc_hist|rcp4p5;y2150;SSP2-NDC;SSP2-Base;SSP2-Base; -SSP2-notrans-PkBudg750;0;short;;;SSP2|NDC|GCSF|cc|rcp2p6;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base; -SSP2-notrans-PkBudg500;0;short;;;SSP2|NDC|GCSF|cc|rcp2p6;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base; -SSP2-CPonly;0;short;;;SSP2|NPI|GCSF|cc|rcp2p6;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 -SSP2-lowEnBase;0;short;;;SSP2|NPI|GCSF|nocc;y2150;;;; -SSP2-sens-Tall-PkBudg750;0;short;;;SSP2|NDC|Tland|GCSF|cc|rcp1p9;y2020;/p/projects/piam/abrahao/runs_gcsf/phase2_dec/remind/output/C_SSP2-Tall-PkBudg820-rem-5/fulldata.gdx;SSP2-Base;SSP2-Base; -SSP2-sens-Tall-PkBudg700;0;short;;;SSP2|NDC|Tland|GCSF|cc|rcp1p9;y2020;/p/projects/piam/abrahao/runs_gcsf/phase2_dec/remind/output/C_SSP2-Tall-PkBudg820-rem-5/fulldata.gdx;SSP2-Base;SSP2-Base; -SSP2-sens-Tall-PkBudg650;0;short;;;SSP2|NDC|Tland|GCSF|cc|rcp1p9;y2020;/p/projects/piam/abrahao/runs_gcsf/phase2_dec/remind/output/C_SSP2-Tall-PkBudg820-rem-5/fulldata.gdx;SSP2-Base;SSP2-Base; -SSP2-sens-Tall-PkBudg600;0;short;;;SSP2|NDC|Tland|GCSF|cc|rcp1p9;y2020;/p/projects/piam/abrahao/runs_gcsf/phase2_dec/remind/output/C_SSP2-Tall-PkBudg820-rem-5/fulldata.gdx;SSP2-Base;SSP2-Base; +title;start;qos;oldrun;path_report;config/scenario_config.csv;config/projects/scenario_config_gcs.csv;no_ghgprices_land_until;path_gdx;path_gdx_ref;path_gdx_bau;path_mif_ghgprice_land +SSP2-Base;0;priority;;;SSP2|NPI|nocc;;y2150;/p/projects/piam/abrahao/runs_gcsf/phase2_dec/remind/output/C_SSP2-Base-rem-1/fulldata.gdx;;; +SSP2-Tall-PkBudg750;0;priority;;;SSP2|NDC|cc|rcp1p9;Tland|GCSF;y2020;SSP2-NDC;SSP2-NPi;SSP2-Base; +SSP2-NDC;0;short;;;SSP2|NDC|cc|rcp4p5;GCSF;y2150;SSP2-Base;SSP2-Base;SSP2-Base; +SSP2-NPi;0;priority;;;SSP2|NPI|cc|rcp4p5;GCSF;y2150;SSP2-NDC;SSP2-Base;SSP2-Base; +SSP2-ENEndc;0;short;;;SSP2|NPI|cc|rcp2p6;GCSF;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; +SSP2-ENEcp;0;short;;;SSP2|NPI|cc|rcp2p6;GCSF;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; +SSP2-ENEelec;0;short;;;SSP2|NPI|cc|rcp2p6;GCSF;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; +SSP2-ENEcp-ENEcc;0;short;;;SSP2|NPI|cc|rcp2p6;GCSF;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; +SSP2-Tene;0;priority;;;SSP2|NPI|cc|rcp2p6;GCSF;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; +SSP2-Tpc;0;priority;;;SSP2|NPI|cc|rcp2p6;GCSF;y2150;/p/projects/piam/abrahao/runs_gcsf/phase2_biofix/remind/output/bkp_tpcfix/C_SSP2-Tpc-rem-5/fulldata.gdx;SSP2-NPi;SSP2-Base; +SSP2-LNDcp;0;short;;;SSP2|NPI|cc|rcp2p6;GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 +SSP2-LNDndc;0;short;;;SSP2|NDC|cc|rcp2p6;GCSF;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; +SSP2-LNDlbs;0;short;;;SSP2|NPI|cc|rcp2p6;LNDlbs|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 +SSP2-LNDreseff;0;short;;;SSP2|NPI|cc|rcp2p6;LNDres|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 +SSP2-LNDfood;0;short;;;SSP2|NPI|cc|rcp2p6;LNDfood|GCSF;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; +SSP2-Tland;0;short;;;SSP2|NDC|cc|rcp2p6;Tland|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 +SSP2-nofood-Tland;0;short;;;SSP2|NDC|cc|rcp2p6;LNDlbs|LNDres|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 +SSP2-Tene-LNDndc;0;short;;;SSP2|NDC|cc|rcp2p6;GCSF;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; +SSP2-Tene-LNDlbs;0;short;;;SSP2|NPI|cc|rcp2p6;LNDlbs|GCSF;y2020;SSP2-NDC;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 +SSP2-Tene-LNDreseff;0;short;;;SSP2|NPI|cc|rcp2p6;LNDres|GCSF;y2020;SSP2-NDC;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 +SSP2-Tene-LNDfood;0;short;;;SSP2|NPI|cc|rcp2p6;LNDfood|GCSF;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; +SSP2-nofood-Tene-Tland;0;short;;;SSP2|NDC|cc|rcp2p6;LNDlbs|LNDres|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 +SSP2-Tene-Tland;0;short;;;SSP2|NDC|cc|rcp2p6;Tland|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 +SDP-Tall-PkBudg750;0;short;;;SDP|NDC|cc|rcp1p9;Tland|GCSF;y2020;SSP2-NDC;SSP2-NPi;SSP2-Base; +SDP-Tall-exoCP;0;short;;;SDP|NDC|cc|rcp1p9;Tland|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 +SSP1-Tall-exoCP;0;short;;;SSP1|NDC|cc|rcp1p9;Tland|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 +SSP2-Tene-rcp45;0;short;;;SSP2|NPI|cc|rcp4p5;GCSF;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; +SSP2-Tpc-rcp45;0;priority;;;SSP2|NPI|cc|rcp4p5;GCSF;y2150;/p/projects/piam/abrahao/runs_gcsf/phase2_biofix/remind/output/bkp_tpcfix/C_SSP2-Tpc-rem-5/fulldata.gdx;SSP2-NPi;SSP2-Base; +SSP2-Tland-rcp45;0;short;;;SSP2|NDC|cc|rcp4p5;Tland|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 +SSP2-LNDndc-rcp45;0;short;;;SSP2|NDC|cc|rcp4p5;GCSF;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; +SSP2-LNDlbs-rcp45;0;short;;;SSP2|NPI|cc|rcp4p5;LNDlbs|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 +SSP2-LNDreseff-rcp45;0;short;;;SSP2|NPI|cc|rcp4p5;LNDres|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 +SSP2-LNDfood-rcp45;0;short;;;SSP2|NPI|cc|rcp4p5;LNDfood|GCSF;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; +SSP2-basendc-Tene;0;short;;;SSP2|NDC|cc|rcp2p6;GCSF;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; +SSP2-basendc-Tland;0;short;;;SSP2|NDC|cc|rcp2p6;Tland|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 +SSP2-Tall-noTpc-PkBudg750;0;short;;;SSP2|NDC|cc|rcp1p9;Tland|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base; +SSP2-Tall-noDam-PkBudg750;0;short;;;SSP2|NDC|nocc_hist|rcp1p9;Tland|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base; +SSP2-Tall-noDam-exoCP;0;short;;;SSP2|NDC|nocc_hist|rcp1p9;Tland|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base; +SSP2-NPi-noDam;1;priority;;;SSP2|NPI|nocc_hist|rcp4p5;GCSF;y2150;SSP2-NDC;SSP2-Base;SSP2-Base; +SSP2-notrans-PkBudg750;0;short;;;SSP2|NDC|cc|rcp2p6;GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base; +SSP2-notrans-PkBudg500;0;short;;;SSP2|NDC|cc|rcp2p6;GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base; +SSP2-CPonly;0;short;;;SSP2|NPI|cc|rcp2p6;GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 +SSP2-lowEnBase;0;short;;;SSP2|NPI|nocc;GCSF;y2150;;;; +SSP2-sens-Tall-PkBudg750;0;short;;;SSP2|NDC|cc|rcp1p9;Tland|GCSF;y2020;/p/projects/piam/abrahao/runs_gcsf/phase2_dec/remind/output/C_SSP2-Tall-PkBudg820-rem-5/fulldata.gdx;SSP2-Base;SSP2-Base; +SSP2-sens-Tall-PkBudg700;0;short;;;SSP2|NDC|cc|rcp1p9;Tland|GCSF;y2020;/p/projects/piam/abrahao/runs_gcsf/phase2_dec/remind/output/C_SSP2-Tall-PkBudg820-rem-5/fulldata.gdx;SSP2-Base;SSP2-Base; +SSP2-sens-Tall-PkBudg650;0;short;;;SSP2|NDC|cc|rcp1p9;Tland|GCSF;y2020;/p/projects/piam/abrahao/runs_gcsf/phase2_dec/remind/output/C_SSP2-Tall-PkBudg820-rem-5/fulldata.gdx;SSP2-Base;SSP2-Base; +SSP2-sens-Tall-PkBudg600;0;short;;;SSP2|NDC|cc|rcp1p9;Tland|GCSF;y2020;/p/projects/piam/abrahao/runs_gcsf/phase2_dec/remind/output/C_SSP2-Tall-PkBudg820-rem-5/fulldata.gdx;SSP2-Base;SSP2-Base; diff --git a/config/scenario_config_coupled_NGFS_v5.csv b/config/scenario_config_coupled_NGFS_v5.csv index 79f8c1835..24c24ffc3 100644 --- a/config/scenario_config_coupled_NGFS_v5.csv +++ b/config/scenario_config_coupled_NGFS_v5.csv @@ -1,59 +1,59 @@ -title;start;copyConfigFrom;oldrun;path_report;qos;magpie_scen;no_ghgprices_land_until;.cm_nash_autoconverge_lastrun;path_gdx;path_gdx_ref;path_gdx_bau;cfg_mag$gms$s56_cprice_red_factor -SSP2-Base;;;SSP2-Base;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;;;;; -h_cpol_noUkr;NGFS;;h_cpol;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;2;;;; -h_cpol;NGFS;;h_cpol;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;2;;;; -h_ndc;NGFS;;h_ndc;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;2;;;; -o_1p5c;NGFS;;o_1p5c;;;SSP2|NDC|nocc_hist|rcp1p9;y2030;2;;;;0.3 -o_2c;NGFS;;o_2c;;;SSP2|NDC|nocc_hist|rcp2p6;y2030;2;;;; -o_lowdem;NGFS;;o_lowdem;;;SSP2|NDC|nocc_hist|rcp1p9|NGFS_o_lowdem;y2030;2;;;;0.3 -d_delfrag;NGFS;;d_delfrag;;;SSP2|NDC|nocc_hist|rcp2p6;y2030;2;;;; -d_strain;NGFS;;d_strain;;;SSP2|NDC|nocc_hist|rcp4p5;y2030;2;;;; -# with damages;;;;;;;;;;;; -h_cpol_KLW_d50;KLW;h_cpol;h_cpol;;;SSP2|NPI|cc|rcp4p5;;;;;; -h_ndc_KLW_d50;KLW;h_ndc;h_ndc;;;SSP2|NDC|cc|rcp4p5;;;;;; -o_1p5c_KLW_d50;KLW;o_1p5c;o_1p5c;;;SSP2|NDC|cc|rcp1p9;;;;;; -o_2c_KLW_d50;KLW;o_2c;o_2c;;;SSP2|NDC|cc|rcp2p6;;;;;; -o_lowdem_KLW_d50;KLW;o_lowdem;o_lowdem;;;SSP2|NDC|cc|rcp1p9|NGFS_o_lowdem;;;;;; -d_delfrag_KLW_d50;KLW;d_delfrag;d_delfrag;;;SSP2|NDC|cc|rcp2p6;;;;;; -d_strain_KLW_d50;KLW;d_strain;d_strain;;;SSP2|NDC|cc|rcp4p5;;;;;; -#;;;;;;;;;;;; -# Kalkuhl and Wenz, from NGFS v4;;;;;;;;;;;; -SSP2-Base_d50;0;SSP2-Base;SSP2-Base;;;SSP2|NPI|cc|rcp6p0;;;;;; -SSP2-Base_d95;0;SSP2-Base_d50;SSP2-Base;;;;;;;;; -SSP2-Base_d50high;0;SSP2-Base_d50;SSP2-Base;;;;;;;;; -SSP2-Base_d95high;0;SSP2-Base_d50;SSP2-Base;;;;;;;;; -h_cpol_d50;d50;h_cpol;h_cpol;;;SSP2|NPI|cc|rcp4p5;;;;;; -h_cpol_d95;d95;h_cpol_d50;h_cpol;;;;;;;;; -h_cpol_d50high;d50high;h_cpol_d50;h_cpol;;;;;;;;; -h_cpol_d95high;d95high;h_cpol_d50;h_cpol;;;;;;;;; -h_ndc_d50;d50;h_ndc;h_ndc;;;SSP2|NDC|cc|rcp4p5;;;;;; -h_ndc_d95;d95;h_ndc_d50;h_ndc;;;;;;;;; -h_ndc_d50high;d50high;h_ndc_d50;h_ndc;;;;;;;;; -h_ndc_d95high;d95high;h_ndc_d50;h_ndc;;;;;;;;; -o_1p5c_d50;d50;o_1p5c;o_1p5c;;;SSP2|NDC|cc|rcp1p9;;;;;; -o_1p5c_d95;d95;o_1p5c_d50;o_1p5c;;;;;;;;; -o_1p5c_d50high;d50high;o_1p5c_d50;o_1p5c;;;;;;;;; -o_1p5c_d95high;d95high;o_1p5c_d50;o_1p5c;;;;;;;;; -o_2c_d50;d50;o_2c;o_2c;;;SSP2|NDC|cc|rcp2p6;;;;;; -o_2c_d95;d95;o_2c_d50;o_2c;;;;;;;;; -o_2c_d50high;d50high;o_2c_d50;o_2c;;;;;;;;; -o_2c_d95high;d95high;o_2c_d50;o_2c;;;;;;;;; -o_lowdem_d50;d50;o_lowdem;o_lowdem;;;SSP2|NDC|cc|rcp1p9|NGFS_o_lowdem;;;;;; -o_lowdem_d95;d95;o_lowdem_d50;o_lowdem;;;;;;;;; -o_lowdem_d50high;d50high;o_lowdem_d50;o_lowdem;;;;;;;;; -o_lowdem_d95high;d95high;o_lowdem_d50;o_lowdem;;;;;;;;; -d_delfrag_d50;d50;d_delfrag;d_delfrag;;;SSP2|NDC|cc|rcp2p6;;;;;; -d_delfrag_d95;d95;d_delfrag_d50;d_delfrag;;;;;;;;; -d_delfrag_d50high;d50high;d_delfrag_d50;d_delfrag;;;;;;;;; -d_delfrag_d95high;d95high;d_delfrag_d50;d_delfrag;;;;;;;;; -d_strain_d50;d50;d_strain;d_strain;;;SSP2|NDC|cc|rcp4p5;;;;;; -d_strain_d95;d95;d_strain_d50;d_strain;;;;;;;;; -d_strain_d50high;d50high;d_strain_d50;d_strain;;;;;;;;; -d_strain_d95high;d95high;d_strain_d50;d_strain;;;;;;;;; -# old, from NGFS v3;;;;;;;;;;;; -d_rap;0;;d_rap;;;SSP2|NDC|nocc_hist|rcp1p9;y2030;2;;;; -d_rap_d50;0;d_rap;d_rap;;;SSP2|NDC|cc|rcp1p9;;;;;; -d_rap_d95;0;d_rap_d50;d_rap;;;;;;;;; -d_rap_d50high;0;d_rap_d50;d_rap;;;;;;;;; -d_rap_d95high;0;d_rap_d50;d_rap;;;;;;;;; -d_rap_KLW_d50;0;d_rap;d_rap;;;SSP2|NDC|cc|rcp1p9;;;;;; +title;start;copyConfigFrom;oldrun;path_report;qos;config/scenario_config.csv;config/projects/scenario_config_ngfs.csv;no_ghgprices_land_until;.cm_nash_autoconverge_lastrun;path_gdx;path_gdx_ref;path_gdx_bau;cfg_mag$gms$s56_cprice_red_factor +SSP2-Base;;;SSP2-Base;;;SSP2|NPI|nocc_hist|rcp4p5;;y2150;;;;; +h_cpol_noUkr;NGFS;;h_cpol;;;SSP2|NPI|nocc_hist|rcp4p5;;y2150;2;;;; +h_cpol;NGFS;;h_cpol;;;SSP2|NPI|nocc_hist|rcp4p5;;y2150;2;;;; +h_ndc;NGFS;;h_ndc;;;SSP2|NDC|nocc_hist|rcp4p5;;y2150;2;;;; +o_1p5c;NGFS;;o_1p5c;;;SSP2|NDC|nocc_hist|rcp1p9;;y2030;2;;;;0.3 +o_2c;NGFS;;o_2c;;;SSP2|NDC|nocc_hist|rcp2p6;;y2030;2;;;; +o_lowdem;NGFS;;o_lowdem;;;SSP2|NDC|nocc_hist|rcp1p9;NGFS_o_lowdem;y2030;2;;;;0.3 +d_delfrag;NGFS;;d_delfrag;;;SSP2|NDC|nocc_hist|rcp2p6;;y2030;2;;;; +d_strain;NGFS;;d_strain;;;SSP2|NDC|nocc_hist|rcp4p5;;y2030;2;;;; +# with damages;;;;;;;;;;;;; +h_cpol_KLW_d50;KLW;h_cpol;h_cpol;;;SSP2|NPI|cc|rcp4p5;;;;;;; +h_ndc_KLW_d50;KLW;h_ndc;h_ndc;;;SSP2|NDC|cc|rcp4p5;;;;;;; +o_1p5c_KLW_d50;KLW;o_1p5c;o_1p5c;;;SSP2|NDC|cc|rcp1p9;;;;;;; +o_2c_KLW_d50;KLW;o_2c;o_2c;;;SSP2|NDC|cc|rcp2p6;;;;;;; +o_lowdem_KLW_d50;KLW;o_lowdem;o_lowdem;;;SSP2|NDC|cc|rcp1p9;NGFS_o_lowdem;;;;;; +d_delfrag_KLW_d50;KLW;d_delfrag;d_delfrag;;;SSP2|NDC|cc|rcp2p6;;;;;;; +d_strain_KLW_d50;KLW;d_strain;d_strain;;;SSP2|NDC|cc|rcp4p5;;;;;;; +#;;;;;;;;;;;;; +# Kalkuhl and Wenz, from NGFS v4;;;;;;;;;;;;; +SSP2-Base_d50;0;SSP2-Base;SSP2-Base;;;SSP2|NPI|cc|rcp6p0;;;;;;; +SSP2-Base_d95;0;SSP2-Base_d50;SSP2-Base;;;;;;;;;; +SSP2-Base_d50high;0;SSP2-Base_d50;SSP2-Base;;;;;;;;;; +SSP2-Base_d95high;0;SSP2-Base_d50;SSP2-Base;;;;;;;;;; +h_cpol_d50;d50;h_cpol;h_cpol;;;SSP2|NPI|cc|rcp4p5;;;;;;; +h_cpol_d95;d95;h_cpol_d50;h_cpol;;;;;;;;;; +h_cpol_d50high;d50high;h_cpol_d50;h_cpol;;;;;;;;;; +h_cpol_d95high;d95high;h_cpol_d50;h_cpol;;;;;;;;;; +h_ndc_d50;d50;h_ndc;h_ndc;;;SSP2|NDC|cc|rcp4p5;;;;;;; +h_ndc_d95;d95;h_ndc_d50;h_ndc;;;;;;;;;; +h_ndc_d50high;d50high;h_ndc_d50;h_ndc;;;;;;;;;; +h_ndc_d95high;d95high;h_ndc_d50;h_ndc;;;;;;;;;; +o_1p5c_d50;d50;o_1p5c;o_1p5c;;;SSP2|NDC|cc|rcp1p9;;;;;;; +o_1p5c_d95;d95;o_1p5c_d50;o_1p5c;;;;;;;;;; +o_1p5c_d50high;d50high;o_1p5c_d50;o_1p5c;;;;;;;;;; +o_1p5c_d95high;d95high;o_1p5c_d50;o_1p5c;;;;;;;;;; +o_2c_d50;d50;o_2c;o_2c;;;SSP2|NDC|cc|rcp2p6;;;;;;; +o_2c_d95;d95;o_2c_d50;o_2c;;;;;;;;;; +o_2c_d50high;d50high;o_2c_d50;o_2c;;;;;;;;;; +o_2c_d95high;d95high;o_2c_d50;o_2c;;;;;;;;;; +o_lowdem_d50;d50;o_lowdem;o_lowdem;;;SSP2|NDC|cc|rcp1p9;NGFS_o_lowdem;;;;;; +o_lowdem_d95;d95;o_lowdem_d50;o_lowdem;;;;;;;;;; +o_lowdem_d50high;d50high;o_lowdem_d50;o_lowdem;;;;;;;;;; +o_lowdem_d95high;d95high;o_lowdem_d50;o_lowdem;;;;;;;;;; +d_delfrag_d50;d50;d_delfrag;d_delfrag;;;SSP2|NDC|cc|rcp2p6;;;;;;; +d_delfrag_d95;d95;d_delfrag_d50;d_delfrag;;;;;;;;;; +d_delfrag_d50high;d50high;d_delfrag_d50;d_delfrag;;;;;;;;;; +d_delfrag_d95high;d95high;d_delfrag_d50;d_delfrag;;;;;;;;;; +d_strain_d50;d50;d_strain;d_strain;;;SSP2|NDC|cc|rcp4p5;;;;;;; +d_strain_d95;d95;d_strain_d50;d_strain;;;;;;;;;; +d_strain_d50high;d50high;d_strain_d50;d_strain;;;;;;;;;; +d_strain_d95high;d95high;d_strain_d50;d_strain;;;;;;;;;; +# old, from NGFS v3;;;;;;;;;;;;; +d_rap;0;;d_rap;;;SSP2|NDC|nocc_hist|rcp1p9;;y2030;2;;;; +d_rap_d50;0;d_rap;d_rap;;;SSP2|NDC|cc|rcp1p9;;;;;;; +d_rap_d95;0;d_rap_d50;d_rap;;;;;;;;;; +d_rap_d50high;0;d_rap_d50;d_rap;;;;;;;;;; +d_rap_d95high;0;d_rap_d50;d_rap;;;;;;;;;; +d_rap_KLW_d50;0;d_rap;d_rap;;;SSP2|NDC|cc|rcp1p9;;;;;;; From 49e416efed6244ee9d9107640fc3be520bb6ebf0 Mon Sep 17 00:00:00 2001 From: Felicitas Date: Wed, 28 Aug 2024 17:01:09 +0200 Subject: [PATCH 387/875] bugfix in EL2 config --- config/scenario_config_EL2p0DeepDive.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/scenario_config_EL2p0DeepDive.csv b/config/scenario_config_EL2p0DeepDive.csv index 5ed38d21b..2ab69fbd6 100644 --- a/config/scenario_config_EL2p0DeepDive.csv +++ b/config/scenario_config_EL2p0DeepDive.csv @@ -1,4 +1,4 @@ -title;start;path_gdx_carbonprice;cm_bioenergy_SustTax;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_maxProdBiolc;c_ccsinjecratescen;c_ccscapratescen;cm_subsec_model_steel;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;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description +title;start;path_gdx_carbonprice;cm_bioenergy_SustTax;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_maxProdBiolc;c_ccsinjecratescen;c_ccscapratescen;cm_subsec_model_steel;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;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description SSP2EU-NPi-calibrate;calibrate,AMT,compileInTests;;1.5;calibrate;;14;;;rcp45;;;0;NPi;;;;9;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2EU-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. SSP2EU-Base;1,AMT;;1.5;;;;;;;;;0;;;;;;;off;;;;;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix1;2005;;;;;SSP2EU-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. SSP2EU-NDC;1,AMT;;1.5;;;;;;rcp45;3;globallyOptimal;0;NDC;;;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2025;;SSP2EU-NPi;SSP2EU-NPi;;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. From 9012767d2da0163a1880a3743cfd5ce6e27db63a Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Wed, 28 Aug 2024 15:03:07 +0000 Subject: [PATCH 388/875] Release development version 3.3.2.dev450 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index f45d2b403..fb19505fb 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,7 +266,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev440" +version: "3.3.2.dev450" date-released: 2024-08-28 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 1eaaa0523..53de6f262 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev440" +cfg$model_version <- "3.3.2.dev450" #### settings #### cfg$gms <- list() From 448af10be3e061385718962d39cb0691d532b997 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Wed, 28 Aug 2024 16:09:23 +0000 Subject: [PATCH 389/875] Release development version 3.3.2.dev455 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index fb19505fb..057b48fd7 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,7 +266,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev450" +version: "3.3.2.dev455" date-released: 2024-08-28 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 53de6f262..47bed9d40 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev450" +cfg$model_version <- "3.3.2.dev455" #### settings #### cfg$gms <- list() From 0e6f6af12efd520d60a94aff226d79c10de6168a Mon Sep 17 00:00:00 2001 From: Pascal Weigmann Date: Thu, 29 Aug 2024 11:44:54 +0200 Subject: [PATCH 390/875] update validation tutorial --- CHANGELOG.md | 2 ++ tutorials/05_AnalysingModelOutputs.md | 2 ++ 2 files changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a09854528..f18b82488 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -38,6 +38,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). [[#1767](https://github.com/remindmodel/remind/pull/1767)] - **33_CDR** added ocean alkalinity enhancement to the CDR portfolio (OAE is turned off by default) [[#1777](https://github.com/remindmodel/remind/pull/1777)] +- **scripts** integrate automated scenario validation via piamValidation as output script + [[#1790]](https://github.com/remindmodel/remind/pull/1790) ### fixed - included CCS from plastic waste incineration in CCS mass flows so it is diff --git a/tutorials/05_AnalysingModelOutputs.md b/tutorials/05_AnalysingModelOutputs.md index f8b9f3e56..af5c80799 100644 --- a/tutorials/05_AnalysingModelOutputs.md +++ b/tutorials/05_AnalysingModelOutputs.md @@ -184,6 +184,8 @@ Now, the selected scripts are executed. After completion, the results are writte One recommended script for comparison of different scenarios is `compareScenarios2`, see [the specific tutorial](https://pik-piam.r-universe.dev/articles/remind2/compareScenariosRemind2.html). After you selected folder names, specified a `filename_prefix`, the priority on the cluster, and a *profile* (describes some output parameters) it produces a large PDF (or HTML if a respective profile is chosen) in the `./remind/` folder. +Another useful script it `validateScenarios`, which performs an automated check of the scenario data against thresholds defined in a `validationConfig` and returns an html report with interactive heat maps in a traffic-light evaluation format. After choosing `validateScenarios` as a `comparison` script, you are prompted to select one of the configs that are shipped with the `piamValidation` package. The `default` config is a good starting point for any REMIND run and the `AMT` config is specifically tailored towards the automated model testruns. If you want to perform a more personalized validation, follow the instructions in the [vignette](https://pik-piam.r-universe.dev/articles/piamValidation/validateScenarios.html). + You can also specify the parameters in the command line, for example starting a `compareScenario2` run without any prefix as: ``` bash From 48eb87263622561c2acb8891b28627eb61828781 Mon Sep 17 00:00:00 2001 From: orichters Date: Wed, 28 Aug 2024 16:43:12 +0200 Subject: [PATCH 391/875] do not accept REMIND switches in coupled config --- scripts/start/readCheckScenarioConfig.R | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/scripts/start/readCheckScenarioConfig.R b/scripts/start/readCheckScenarioConfig.R index b749a3ecd..aa8f9f6df 100644 --- a/scripts/start/readCheckScenarioConfig.R +++ b/scripts/start/readCheckScenarioConfig.R @@ -16,6 +16,7 @@ #' @author Oliver Richters #' @return list with scenario config content readCheckScenarioConfig <- function(filename, remindPath = ".", testmode = FALSE, fillWithDefault = FALSE) { + coupling <- if (grepl("scenario_config_coupled", filename)) "MAgPIE" else FALSE if (testmode) { cfg <- suppressWarnings(gms::readDefaultConfig(remindPath)) } else { @@ -127,14 +128,15 @@ readCheckScenarioConfig <- function(filename, remindPath = ".", testmode = FALSE errorsfound <- length(colduplicates) + sum(toolong) + sum(regionname) + sum(nameisNA) + sum(illegalchars) + whitespaceErrors + copyConfigFromErrors + pathgdxerrors + missingRealizations # check column names - knownColumnNames <- c(names(cfg$gms), setdiff(names(cfg), "gms"), names(path_gdx_list), - "start", "model", "copyConfigFrom") - if (grepl("scenario_config_coupled", filename)) { + knownColumnNames <- c(names(path_gdx_list), "start", "model", "copyConfigFrom") + if (coupling %in% "MAgPIE") { knownColumnNames <- c(knownColumnNames, "cm_nash_autoconverge_lastrun", "oldrun", "path_report", "magpie_scen", "no_ghgprices_land_until", "qos", "sbatch", "path_mif_ghgprice_land", "max_iterations", "magpie_empty", "var_luc") # identify MAgPIE switches by "cfg_mag" and "scenario_config" knownColumnNames <- c(knownColumnNames, grep("cfg_mag|scenario_config", names(scenConf), value = TRUE)) + } else { # not a coupling config + knownColumnNames <- c(knownColumnNames, names(cfg$gms), setdiff(names(cfg), "gms")) } unknownColumnNames <- names(scenConf)[! names(scenConf) %in% knownColumnNames] if (length(unknownColumnNames) > 0) { @@ -179,11 +181,11 @@ readCheckScenarioConfig <- function(filename, remindPath = ".", testmode = FALSE # sort out known but forbidden names from unknown unknownColumnNames <- setdiff(unknownColumnNames, names(forbiddenColumnNames)) if (length(unknownColumnNames) > 0) { - message("\nAutomated checks did not find counterparts in main.gms and default.cfg for these columns in ", - basename(filename), ":") + message("\nAutomated checks did not understand these columns in ", basename(filename), ":") message(" ", paste(unknownColumnNames, collapse = ", ")) - message("This check was added Jan. 2022. ", - "If you find false positives, add them to knownColumnNames in scripts/start/readCheckScenarioConfig.R.\n") + if (isFALSE(coupling)) message("These are no cfg or cfg$gms switches found in main.gms and default.cfg.") + if (coupling %in% "MAgPIE") message("Maybe you specified REMIND switches in coupled config, which does not work.") + message("If you find false positives, add them to knownColumnNames in scripts/start/readCheckScenarioConfig.R.\n") unknownColumnNamesNoComments <- unknownColumnNames[! grepl("^\\.", unknownColumnNames)] if (length(unknownColumnNamesNoComments) > 0) { if (testmode) { From e17fc26b948cb036de2a82af878ee5f2417dce49 Mon Sep 17 00:00:00 2001 From: Pascal Weigmann Date: Thu, 29 Aug 2024 12:20:53 +0200 Subject: [PATCH 392/875] remove tutorial about deprecated validation documents --- tutorials/05_AnalysingModelOutputs.md | 24 ++++++------------------ 1 file changed, 6 insertions(+), 18 deletions(-) diff --git a/tutorials/05_AnalysingModelOutputs.md b/tutorials/05_AnalysingModelOutputs.md index af5c80799..89eb28f32 100644 --- a/tutorials/05_AnalysingModelOutputs.md +++ b/tutorials/05_AnalysingModelOutputs.md @@ -92,23 +92,11 @@ Here **gdx** is the path to the gdx file, while the second argument is the **nam **In the following, we present several other tools and scripts that were developed to facilitate the output analysis:** -## 4. Automated model validation - -### 4.1. Generation of summary and validation pdfs -The automated model analysis (summary and validation) is an important example of output analysis based on model-internal scripts (see section 6). If these scripts are executed (either by selection via cfg$output as explained in 6.1. or by execution via command window as explained in 6.2.), standard evaluation pdfs are created. They validate numerous model outputs with historical data, either visually or via statistical tests. - -### 4.2 A Summary of Results -For a first overview and for not getting lost in the huge amount of variables you can look at the *REMIND_summary_[title].pdf*. This .pdf-file will give you an overview on the model results and guides you through the story. - -### 4.3 The Whole Range of Validation -A standard validation PDF *REMIND_validation_[title].pdf* consists of hundreds of evaluation outputs. By evaluating the model outputs on such a broad level rather than focusing only on key outputs, it allows getting a more complete picture of the corresponding scenario. The table of contents of the validation pdf gives a good overview about the breadth of model outputs that can be generated with a REMIND standard scenario, even though the validation pdf only shows a subset of possible model outputs. - - -## 5. Interactive scenario analysis +## 4. Interactive scenario analysis The automated model validation is a good tool for visually evaluating a broad range of model outputs. However, comparison between model runs, i.e. between different scenarios, is rather difficult and inconvenient if the model results are scattered across different large PDF files. -### 5.1. AppResults +### 4.1. AppResults To overcome this issue, we developed the interactive scenario analysis and evaluation tools appResults and appResultsLocal as part of the package **shinyresults** (), which show evaluation plots for multiple scenarios including historical data and other projections based on an interactive selection of regions and variables. @@ -151,9 +139,9 @@ Another tool for analyzing model output on your local computer is the scenario t mip::scenTool() ``` -## 6. Model-internal R-scripts for output analysis +## 5. Model-internal R-scripts for output analysis -### 6.1. Execution of model-internal output scripts via the REMIND configuration file +### 5.1. Execution of model-internal output scripts via the REMIND configuration file In the file *config/default.cfg*, it is possible to indicate which R-scripts are executed for output analysis after a model run is finished. Scripts evaluating single runs are stored in the folder **scripts/output/[title-of-the-run]**. In the default REMIND configuration, the scripts *reporting*, *validation* (see section 2.3), *validationSummary* (see section 2.3), *rds\_report* (to be used in appResults; see section 3), and *dashboard* are selected via cfg$output: @@ -161,7 +149,7 @@ In the file *config/default.cfg*, it is possible to indicate which R-scripts are cfg$output <- c("reporting","validation","rds_report","validationSummary","dashboard") ``` -### 6.2. Execution of model-internal output scripts in the command window +### 5.2. Execution of model-internal output scripts in the command window Output scripts that are included in the folders **scripts/output/single** and **scripts/output/comparison** can also be executed via a command window. To do so, windows users can open a command line prompt in the REMIND model folder by using **shift** + **right click** and then selecting *open command window here* option. @@ -196,7 +184,7 @@ If you want to compare runs from different REMIND folders, add `remind_dir=.,../ How to create new plots is described in the tutorial [8_Advanced_AnalysingModelOutputs.Rmd](./08_Advanced_AnalysingModelOutputs.Rmd). Another useful and compatible resource for generating plots (e.g. box plots) from REMIND results is UTokyo's *mipplot* R package: https://github.com/UTokyo-mip/mipplot. -## 7. Analysis of outputs with the remind2 R package +## 6. Analysis of outputs with the remind2 R package If you want to go beyond visual output analysis and predefined output evaluation facilitated by scripts in the model folders **scripts/output/single** and **scripts/output/comparison**, you can use the functionality of the R package *remind2* (https://github.com/pik-piam/remind2). This package contains a list of common functions for extracting outputs from the REMIND model which are also the basis for the generation of the automated validation pdf. For a quick overview on the functions which are included in the package, you can scan the folder **remind2/R** of the remind2 package source code. From 948b99e014a347b2904dbf000a27cf9def8ee346 Mon Sep 17 00:00:00 2001 From: Pascal Weigmann Date: Thu, 29 Aug 2024 12:22:39 +0200 Subject: [PATCH 393/875] Update CHANGELOG.md Co-authored-by: orichters <90761609+orichters@users.noreply.github.com> --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f18b82488..71f33107d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -39,7 +39,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - **33_CDR** added ocean alkalinity enhancement to the CDR portfolio (OAE is turned off by default) [[#1777](https://github.com/remindmodel/remind/pull/1777)] - **scripts** integrate automated scenario validation via piamValidation as output script - [[#1790]](https://github.com/remindmodel/remind/pull/1790) + [[#1790](https://github.com/remindmodel/remind/pull/1790)] ### fixed - included CCS from plastic waste incineration in CCS mass flows so it is From 0df000be01565b1a8cb0d37acdf14506f6073498 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Thu, 29 Aug 2024 10:36:55 +0000 Subject: [PATCH 394/875] Release development version 3.3.2.dev458 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 057b48fd7..53d248f20 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,8 +266,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev455" -date-released: 2024-08-28 +version: "3.3.2.dev458" +date-released: 2024-08-29 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 47bed9d40..13691eb5e 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev455" +cfg$model_version <- "3.3.2.dev458" #### settings #### cfg$gms <- list() From 211dcd89b5368a8e899e3c75c4c3c860722a7e95 Mon Sep 17 00:00:00 2001 From: Pascal Weigmann Date: Thu, 29 Aug 2024 13:12:19 +0200 Subject: [PATCH 395/875] fix links in changelog --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f18b82488..92abf27a6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ## [Unreleased] ### input data/calibration -- new input data rev6.84 [[#1757]] (https://github.com/remindmodel/remind/pull/1757) +- new input data rev6.84 [[#1757](https://github.com/remindmodel/remind/pull/1757)] - CES parameter and gdx files calibrated with new default diffLin2Lin for NPi [[#1747](https://github.com/remindmodel/remind/pull/1747)] and [[#1757](https://github.com/remindmodel/remind/pull/1757)] @@ -15,7 +15,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### changed - plastic waste by default does not lag plastics production by ten years anymore; can be re-activated using `cm_wastelag` -- moved to edgeTransport 2.0 version [[#1749](https://github.com/remindmodel/remind/pull/1749] +- moved to edgeTransport 2.0 version [[#1749](https://github.com/remindmodel/remind/pull/1749)] ### added - **50_damages**, **51_internalizeDamages** add KotzWenz realization based on Kotz & Wenz (2024) From 38c7c7d6d8559daece7a6d82fd36dfd80f4952d9 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Thu, 29 Aug 2024 14:35:39 +0200 Subject: [PATCH 396/875] convert MAC step sm_dmac from $US2005 to US$2017 --- core/datainput.gms | 26 +++++++++---------- core/declarations.gms | 17 +++--------- .../fixed_shares/input/pm_abatparam_Ind.gms | 26 +++++++++---------- 3 files changed, 29 insertions(+), 40 deletions(-) diff --git a/core/datainput.gms b/core/datainput.gms index 6cca5d518..01b0faa80 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -222,9 +222,9 @@ $if "%cm_ccsinjeCost%" == "high" fm_dataglob("inco0","ccsinje") = 550; $if not "%cm_incolearn%" == "off" parameter p_new_incolearn(all_te) / %cm_incolearn% /; $if not "%cm_incolearn%" == "off" fm_dataglob("incolearn",te)$p_new_incolearn(te) = p_new_incolearn(te); $if not "%cm_inco0Factor%" == "off" parameter p_new_inco0Factor(all_te) / %cm_inco0Factor% /; -$if not "%cm_inco0Factor%" == "off" fm_dataglob("inco0",te)$p_new_inco0Factor(te) = p_new_inco0Factor(te)*fm_dataglob("inco0",te); +$if not "%cm_inco0Factor%" == "off" fm_dataglob("inco0",te)$p_new_inco0Factor(te) = p_new_inco0Factor(te) * fm_dataglob("inco0",te); $if not "%cm_learnRate%" == "off" parameter p_new_learnRate(all_te) / %cm_learnRate% /; -$if not "%cm_learnRate%" == "off" fm_dataglob("learn",te)$p_new_learnRate(te)=p_new_learnRate(te); +$if not "%cm_learnRate%" == "off" fm_dataglob("learn",te)$p_new_learnRate(te) = p_new_learnRate(te); *** generisdata_tech is in $2015. Needs to be converted to $2017 fm_dataglob("inco0",te) = s_D2015_2_D2017 * fm_dataglob("inco0",te); @@ -243,7 +243,7 @@ $offdelim ; $if not "%cm_inco0RegiFactor%" == "off" parameter p_new_inco0RegiFactor(all_te) / %cm_inco0RegiFactor% /; -$if not "%cm_inco0RegiFactor%" == "off" p_inco0(ttot,regi,te)$(p_inco0(ttot,regi,te) and p_new_inco0RegiFactor(te)) = p_new_inco0RegiFactor(te)*p_inco0(ttot,regi,te); +$if not "%cm_inco0RegiFactor%" == "off" p_inco0(ttot,regi,te)$(p_inco0(ttot,regi,te) and p_new_inco0RegiFactor(te)) = p_new_inco0RegiFactor(te) * p_inco0(ttot,regi,te); *** inco0 (and incolearn) are given in $/kW (or $/(tC/a) for ccs-related tech or $/(t/a) for process-based industry) *** convert to REMIND units, i.e., T$/TW (or T$/(GtC/a) for ccs-related tech or T$/(Gt/a) for process-based industry) @@ -254,7 +254,7 @@ $if not "%cm_inco0RegiFactor%" == "off" p_inco0(ttot,regi,te)$(p_inco0 fm_dataglob("inco0","csp") = 0.7 * fm_dataglob("inco0","csp"); fm_dataglob("incolearn","csp") = 0.7 * fm_dataglob("incolearn","csp"); -*KK* adjust costs for oae from USD/GtCaO to USD/GtC +*** adjust costs for oae from USD/GtCaO to USD/GtC fm_dataglob("inco0", "oae_ng") = fm_dataglob("inco0", "oae_ng") / (cm_33_OAE_eff / sm_c_2_co2); fm_dataglob("inco0", "oae_el") = fm_dataglob("inco0", "oae_el") / (cm_33_OAE_eff / sm_c_2_co2); *** -------------------------------------------------------------------------------- @@ -324,24 +324,24 @@ p_oldFloorCostdata(regi,teLearn(te)) = pm_data(regi,"inco0",te) - pm_data(regi," $endif.floorscen *** calculate floor costs for learning technologies if historical price structure prevails $ifthen.floorscen %cm_floorCostScen% == "pricestruc" -** compute maximum tech cost in 2015 for a given tech among regions +*** compute maximum tech cost in 2015 for a given tech among regions p_maxRegTechCost2015(teRegTechCosts) = SMax(regi, p_inco0("2015",regi,teRegTechCosts)); -*take the ratio of the tech cost in 2015 and the maximum cost, and multiply with the global floor to get new floorcost that preserves the price structure +*** take the ratio of the tech cost in 2015 and the maximum cost, and multiply with the global floor to get new floorcost that preserves the price structure pm_data(regi,"floorcost",teLearn(te))$(p_maxRegTechCost2015(te) ne 0) = p_oldFloorCostdata(regi,te) * p_inco0("2015",regi,te) / p_maxRegTechCost2015(te); -* for newer data than 2015, use these +*** for newer data than 2015, use these p_maxRegTechCost2020(teRegTechCosts) = SMax(regi, p_inco0("2020",regi,teRegTechCosts)); pm_data(regi,"floorcost",teLearn(te))$(p_maxRegTechCost2020(te) ne 0) = p_oldFloorCostdata(regi,te) * p_inco0("2020",regi,te) / p_maxRegTechCost2020(te); -* report the new floor cost data +*** report the new floor cost data p_newFloorCostdata(regi,teLearn(te))$(p_maxRegTechCost2015(te) ne 0) = p_oldFloorCostdata(regi,te) * p_inco0("2015",regi,te) / p_maxRegTechCost2015(te); p_newFloorCostdata(regi,teLearn(te))$(p_maxRegTechCost2020(te) ne 0) = p_oldFloorCostdata(regi,te) * p_inco0("2020",regi,te) / p_maxRegTechCost2020(te); $endif.floorscen *** calculate floor costs for learning technologies if there is technology transfer $ifthen.floorscen %cm_floorCostScen% == "techtrans" -** compute maximum income GDP PPP per capita among regions in 2050 +*** compute maximum income GDP PPP per capita among regions in 2050 p_gdppcap2050_PPP(regi) = pm_gdp("2050",regi) / pm_shPPPMER(regi) / pm_pop("2050",regi); p_maxPPP2050 = SMax(regi, p_gdppcap2050_PPP(regi)); -*take the ratio of the PPP income and the maximum income, and multiply with the global floor to get new floorcost that simulates tech transfer where costs are solely dependent on local wages, not on IP rent +*** take the ratio of the PPP income and the maximum income, and multiply with the global floor to get new floorcost that simulates tech transfer where costs are solely dependent on local wages, not on IP rent pm_data(regi,"floorcost",teLearn(te))$(p_maxPPP2050 ne 0) = p_oldFloorCostdata(regi,te) * p_gdppcap2050_PPP(regi) / p_maxPPP2050; p_newFloorCostdata(regi,teLearn(te))$(p_maxPPP2050 ne 0) = p_oldFloorCostdata(regi,te) * p_gdppcap2050_PPP(regi) / p_maxPPP2050; $endif.floorscen @@ -406,7 +406,7 @@ display pm_data; *** end learning parameters *** ------------------------------------------------------------------------------- -*RP* 2012-03-07: Markup for advanced technologies +*** Markup for advanced technologies table p_costMarkupAdvTech(s_statusTe,tall) "Multiplicative investment cost markup for early time periods (until 2030) on advanced technologies (CCS, Hydrogen) that are not modeled through endogenous learning" $include "./core/input/p_costMarkupAdvTech.prn" ; @@ -711,12 +711,12 @@ $endif.WindOff pm_cf(ttot,regi,te) = f_cf(ttot,regi,te); ***pm_cf(ttot,regi,"h2turbVRE") = 0.15; pm_cf(ttot,regi,"elh2VRE") = 0.6; -*short-term fix for new synfuel td technologies +*** short-term fix for new synfuel td technologies pm_cf(ttot,regi,"tdsyngas") = 0.65; pm_cf(ttot,regi,"tdsynhos") = 0.6; pm_cf(ttot,regi,"tdsynpet") = 0.7; pm_cf(ttot,regi,"tdsyndie") = 0.7; -*JD eternal short-term fix for process-based industry +*** eternal short-term fix for process-based industry pm_cf(ttot,regi,"bf") = 0.8; pm_cf(ttot,regi,"bfcc") = 0.8; pm_cf(ttot,regi,"bof") = 0.8; diff --git a/core/declarations.gms b/core/declarations.gms index 78908e79d..ecb1d7f28 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -505,7 +505,7 @@ qm_co2eqCum(all_regi) "cumulate regional emission q_budgetCO2eqGlob "global emission budget balance" q_emiTeDetailMkt(ttot,all_regi,all_enty,all_enty,all_te,all_enty,all_emiMkt) "detailed energy specific emissions per region and market" -q_emiTeMkt(ttot,all_regi,all_enty,all_emiMkt) "total energy-emissions per region and market" +q_emiTeMkt(ttot,all_regi,all_enty,all_emiMkt) "total energy-emissions per region and market" q_emiEnFuelEx(ttot,all_regi,all_enty) "energy emissions from fuel extraction" q_emiAllMkt(ttot,all_regi,all_enty,all_emiMkt) "total regional emissions for each emission market" @@ -561,9 +561,6 @@ $IFTHEN.sehe_upper not "%cm_sehe_upper%" == "off" q_heat_limit(ttot,all_regi) "equation to limit maximum level of secondary energy district heating and heat pumps use" $ENDIF.sehe_upper -***---------------------------------------------------------------------------------------- -***----------------------------------------------trade module------------------------------ - ; ***---------------------------------------------------------------------------------------- *** SCALARS @@ -571,11 +568,6 @@ $ENDIF.sehe_upper scalars o_modelstat "critical solver status for solution" -***---------------------------------------------------------------------------------------- -***------------------------------------------------MACRO module---------------------------- - -***---------------------------------------------------------------------------------------- -***-----------------------------------------------ESM module------------------------------- pm_conv_TWa_EJ "conversion from TWa to EJ" /31.536/, sm_c_2_co2 "conversion from c to co2" /3.666666666667/, *** conversion factors of time units @@ -632,16 +624,13 @@ sm_globalBudget_dev "actual level of global cu sm_eps "small number: 1e-9 " /1e-9/ sm_CES_calibration_iteration "current calibration iteration number, loaded from environment variable cm_CES_calibration_iteration" /0/ - -***---------------------------------------------------------------------------------------- -***----------------------------------------------trade module------------------------------ ; +sm_dmac = s_D2005_2_D2017 * sm_dmac sm_tgn_2_pgc = (44/28) * s_gwpN2O * (12/44) * 0.001; sm_tgch4_2_pgc = s_gwpCH4 * (12/44) * 0.001; -***---------------------------------------------------------------------------------------- -*----------------------------------------------carbon intensities of coal, oil, and gas +*** carbon intensities of coal, oil, and gas pm_cintraw("pecoal") = 26.1 / s_zj_2_twa; pm_cintraw("peoil") = 20.0 / s_zj_2_twa; pm_cintraw("pegas") = 15.0 / s_zj_2_twa; diff --git a/modules/37_industry/fixed_shares/input/pm_abatparam_Ind.gms b/modules/37_industry/fixed_shares/input/pm_abatparam_Ind.gms index df9d96b89..a0482f1c4 100644 --- a/modules/37_industry/fixed_shares/input/pm_abatparam_Ind.gms +++ b/modules/37_industry/fixed_shares/input/pm_abatparam_Ind.gms @@ -17,15 +17,15 @@ $endif !! short-term (until 2025) if (ttot.val le 2025, - pm_abatparam_Ind(ttot,regi,"co2cement",steps)$( sm_tmp ge 95 ) = 0.63; - pm_abatparam_Ind(ttot,regi,"co2cement",steps)$( sm_tmp ge 133 ) = 0.756; + pm_abatparam_Ind(ttot,regi,"co2cement",steps)$( sm_tmp ge s_D2005_2_D2017 * 95 ) = 0.63; + pm_abatparam_Ind(ttot,regi,"co2cement",steps)$( sm_tmp ge s_D2005_2_D2017 *133 ) = 0.756; - pm_abatparam_Ind(ttot,regi,"co2chemicals",steps)$( sm_tmp ge 78 ) = 0.121; - pm_abatparam_Ind(ttot,regi,"co2chemicals",steps)$( sm_tmp ge 80 ) = 0.572; + pm_abatparam_Ind(ttot,regi,"co2chemicals",steps)$( sm_tmp ge s_D2005_2_D2017 *78 ) = 0.121; + pm_abatparam_Ind(ttot,regi,"co2chemicals",steps)$( sm_tmp ge s_D2005_2_D2017 *80 ) = 0.572; $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "ces" - pm_abatparam_Ind(ttot,regi,"co2steel",steps)$( sm_tmp ge 59 ) = 0.117; - pm_abatparam_Ind(ttot,regi,"co2steel",steps)$( sm_tmp ge 82 ) = 0.234; + pm_abatparam_Ind(ttot,regi,"co2steel",steps)$( sm_tmp ge s_D2005_2_D2017 *59 ) = 0.117; + pm_abatparam_Ind(ttot,regi,"co2steel",steps)$( sm_tmp ge s_D2005_2_D2017 *82 ) = 0.234; $endif.cm_subsec_model_steel !! long-term (from 2030 on) @@ -43,16 +43,16 @@ $endif.cm_subsec_model_steel = max(0, min(0.95, 0.2159 + 0.1365 * log(sm_tmp))); else - pm_abatparam_Ind(ttot,regi,"co2cement",steps)$( sm_tmp ge 54 ) = 0.702; - pm_abatparam_Ind(ttot,regi,"co2cement",steps)$( sm_tmp ge 133 ) = 0.756; + pm_abatparam_Ind(ttot,regi,"co2cement",steps)$( sm_tmp ge s_D2005_2_D2017 * 54 ) = 0.702; + pm_abatparam_Ind(ttot,regi,"co2cement",steps)$( sm_tmp ge s_D2005_2_D2017 * 133 ) = 0.756; - pm_abatparam_Ind(ttot,regi,"co2chemicals",steps)$( sm_tmp ge 46 ) = 0.363; - pm_abatparam_Ind(ttot,regi,"co2chemicals",steps)$( sm_tmp ge 78 ) = 0.484; - pm_abatparam_Ind(ttot,regi,"co2chemicals",steps)$( sm_tmp ge 80 ) = 0.572; + pm_abatparam_Ind(ttot,regi,"co2chemicals",steps)$( sm_tmp ge s_D2005_2_D2017 * 46 ) = 0.363; + pm_abatparam_Ind(ttot,regi,"co2chemicals",steps)$( sm_tmp ge s_D2005_2_D2017 * 78 ) = 0.484; + pm_abatparam_Ind(ttot,regi,"co2chemicals",steps)$( sm_tmp ge s_D2005_2_D2017 *80 ) = 0.572; $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "ces" - pm_abatparam_Ind(ttot,regi,"co2steel",steps)$( sm_tmp ge 48 ) = 0.117; - pm_abatparam_Ind(ttot,regi,"co2steel",steps)$( sm_tmp ge 62 ) = 0.275; + pm_abatparam_Ind(ttot,regi,"co2steel",steps)$( sm_tmp ge s_D2005_2_D2017 *48 ) = 0.117; + pm_abatparam_Ind(ttot,regi,"co2steel",steps)$( sm_tmp ge s_D2005_2_D2017 *62 ) = 0.275; $endif.cm_subsec_model_steel ); ); From 819a0f91553f3a93974af985da7493e58ea34f89 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Thu, 29 Aug 2024 12:46:18 +0000 Subject: [PATCH 397/875] Release development version 3.3.2.dev465 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 53d248f20..8bfd428ce 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,7 +266,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev458" +version: "3.3.2.dev465" date-released: 2024-08-29 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 13691eb5e..b6b14f335 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev458" +cfg$model_version <- "3.3.2.dev465" #### settings #### cfg$gms <- list() From 2acba184bcf6d201c830bdc1335869acf5503226 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Thu, 29 Aug 2024 14:47:50 +0200 Subject: [PATCH 398/875] fix line break --- core/declarations.gms | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/declarations.gms b/core/declarations.gms index ecb1d7f28..1ebfeec24 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -602,7 +602,8 @@ s_D2005_2_D2017 "Convert $2005 to $2017" s_D2020_2_D2017 "Convert $2020 to $2017" /0.9469/ s_EURO2023_2_D2017 "Convert EURO 2023 to $2017" /0.8915/ -sm_h2kg_2_h2kWh "convert kilogramme of hydrogen to kwh energy value." /32.5/sm_DptCO2_2_TDpGtC "Conversion multiplier to go from $/tCO2 to T$/GtC: 44/12/1000" /0.00366667/ +sm_h2kg_2_h2kWh "convert kilogramme of hydrogen to kwh energy value." /32.5/ +sm_DptCO2_2_TDpGtC "Conversion multiplier to go from $/tCO2 to T$/GtC: 44/12/1000" /0.00366667/ s_co2pipe_leakage "Leakage rate of CO2 pipelines. [0..1]" s_tau_cement "range of per capita investments for switching from short-term to long-term behavior in CO2 cement emissions" / 12000 / From be5015392fd84b3fd66fa37477e019052b9cb00a Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Thu, 29 Aug 2024 14:55:00 +0200 Subject: [PATCH 399/875] add missing ; --- core/declarations.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/declarations.gms b/core/declarations.gms index 1ebfeec24..42c594088 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -627,7 +627,7 @@ sm_eps "small number: 1e-9 " /1e sm_CES_calibration_iteration "current calibration iteration number, loaded from environment variable cm_CES_calibration_iteration" /0/ ; -sm_dmac = s_D2005_2_D2017 * sm_dmac +sm_dmac = s_D2005_2_D2017 * sm_dmac; sm_tgn_2_pgc = (44/28) * s_gwpN2O * (12/44) * 0.001; sm_tgch4_2_pgc = s_gwpCH4 * (12/44) * 0.001; From 67c2152b8155dabcc39401455a89e28deb130b3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tonn=20R=C3=BCter?= Date: Thu, 29 Aug 2024 15:30:08 +0200 Subject: [PATCH 400/875] Remove renv.lock archiving in REMIND main folder --- .Rprofile | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.Rprofile b/.Rprofile index 93cca2ddb..1c67265ee 100644 --- a/.Rprofile +++ b/.Rprofile @@ -3,13 +3,6 @@ local({ # for some reason this also has implications for symlinking into the global cache Sys.setenv(RENV_PATHS_LIBRARY = "renv/library") -# remind's renv integration previously relied on renv.lock, but now it should generally not be used anymore -# this can safely be removed in January 2024 -if (file.exists("renv.lock") && file.exists("README.md") && !file.exists("renv/old_renv.lock")) { - file.rename("renv.lock", "renv/old_renv.lock") - message("moved legacy renv.lock to renv/old_renv.lock") -} - # do not check if library and renv.lock are in sync, because normally renv.lock does not exist options(renv.config.synchronized.check = FALSE) From 7401e01440287647e3b0568e3ce1df1d471a2584 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Thu, 29 Aug 2024 15:48:00 +0200 Subject: [PATCH 401/875] please codeCheck() --- core/declarations.gms | 8 +-- .../02_welfare/ineqLognormal/datainput.gms | 16 +++--- modules/02_welfare/utilitarian/datainput.gms | 16 +++--- modules/21_tax/off/not_used.txt | 2 +- modules/21_tax/on/datainput.gms | 14 ++--- modules/35_transport/edge_esm/presolve.gms | 2 +- modules/36_buildings/simple/datainput.gms | 4 +- .../fixed_shares/input/pm_abatparam_Ind.gms | 26 ++++----- modules/37_industry/fixed_shares/not_used.txt | 2 + modules/37_industry/subsectors/datainput.gms | 8 +-- modules/37_industry/subsectors/not_used.txt | 1 + modules/47_regipol/none/not_used.txt | 1 + .../47_regipol/regiCarbonPrice/datainput.gms | 56 +++++++++---------- 13 files changed, 80 insertions(+), 76 deletions(-) diff --git a/core/declarations.gms b/core/declarations.gms index 42c594088..8c775da9c 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -598,9 +598,9 @@ s_MtCO2_2_GtC "conversion factor from Mt s_MtCH4_2_TWa "Energy content of methane. MtCH4 --> TWa: 1 MtCH4 = 1.23 * 10^6 toe * 42 GJ/toe * 10^-9 EJ/GJ * 1 TWa/31.536 EJ = 0.001638 TWa (BP statistical review)" /0.001638/ s_D2015_2_D2017 "Convert $2015 to $2017" /1.0292/ -s_D2005_2_D2017 "Convert $2005 to $2017" /1.231/ -s_D2020_2_D2017 "Convert $2020 to $2017" /0.9469/ -s_EURO2023_2_D2017 "Convert EURO 2023 to $2017" /0.8915/ +sm_D2005_2_D2017 "Convert $2005 to $2017" /1.231/ +sm_D2020_2_D2017 "Convert $2020 to $2017" /0.9469/ +sm_EURO2023_2_D2017 "Convert EURO 2023 to $2017" /0.8915/ sm_h2kg_2_h2kWh "convert kilogramme of hydrogen to kwh energy value." /32.5/ sm_DptCO2_2_TDpGtC "Conversion multiplier to go from $/tCO2 to T$/GtC: 44/12/1000" /0.00366667/ @@ -627,7 +627,7 @@ sm_eps "small number: 1e-9 " /1e sm_CES_calibration_iteration "current calibration iteration number, loaded from environment variable cm_CES_calibration_iteration" /0/ ; -sm_dmac = s_D2005_2_D2017 * sm_dmac; +sm_dmac = sm_D2005_2_D2017 * sm_dmac; sm_tgn_2_pgc = (44/28) * s_gwpN2O * (12/44) * 0.001; sm_tgch4_2_pgc = s_gwpCH4 * (12/44) * 0.001; diff --git a/modules/02_welfare/ineqLognormal/datainput.gms b/modules/02_welfare/ineqLognormal/datainput.gms index 3560ea379..f97d19f36 100644 --- a/modules/02_welfare/ineqLognormal/datainput.gms +++ b/modules/02_welfare/ineqLognormal/datainput.gms @@ -11,15 +11,15 @@ $if %cm_less_TS% == "on" pm_welf("2060") = 0.9; *RP* 2012-03-06: Inconvenience costs on seprod $IFTHEN.INCONV %cm_INCONV_PENALTY% == "on" -p02_inconvpen_lap(ttot,regi,"coaltr")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.5; !! In dollar per GJ seprod at 1.000$/cap GDP, or 10$/GJ at 10.000$_GDP/cap -p02_inconvpen_lap(ttot,regi,"biotr")$(ttot.val ge 2005) = s_D2005_2_D2017 * 1.0; !! In dollar per GJ seprod -p02_inconvpen_lap(ttot,regi,"biotrmod")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.25; !! In dollar per GJ seprod. Biotrmod is a mix of wood stoves and automated wood pellets for heating, which has lower air pollution and other discomfort effects +p02_inconvpen_lap(ttot,regi,"coaltr")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.5; !! In dollar per GJ seprod at 1.000$/cap GDP, or 10$/GJ at 10.000$_GDP/cap +p02_inconvpen_lap(ttot,regi,"biotr")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 1.0; !! In dollar per GJ seprod +p02_inconvpen_lap(ttot,regi,"biotrmod")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.25; !! In dollar per GJ seprod. Biotrmod is a mix of wood stoves and automated wood pellets for heating, which has lower air pollution and other discomfort effects *' Transformation of coal to liquids/gases/H2 brings local pollution, which is less accepted at higher incomes -> use the inconvenience cost channel -p02_inconvpen_lap(ttot,regi,"coalftrec")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.9; !! In dollar per GJ seprod -p02_inconvpen_lap(ttot,regi,"coalftcrec")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.9; !! equivalent to 4$/GJ at 40.000$_GDP/cap, or 10$/GJ at 100.000$_GDP/cap -p02_inconvpen_lap(ttot,regi,"coalgas")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.9; -p02_inconvpen_lap(ttot,regi,"coalh2")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.9; -p02_inconvpen_lap(ttot,regi,"coalh2c")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.9; +p02_inconvpen_lap(ttot,regi,"coalftrec")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.9; !! In dollar per GJ seprod +p02_inconvpen_lap(ttot,regi,"coalftcrec")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.9; !! equivalent to 4$/GJ at 40.000$_GDP/cap, or 10$/GJ at 100.000$_GDP/cap +p02_inconvpen_lap(ttot,regi,"coalgas")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.9; +p02_inconvpen_lap(ttot,regi,"coalh2")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.9; +p02_inconvpen_lap(ttot,regi,"coalh2c")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.9; p02_inconvpen_lap(ttot,regi,te)$(ttot.val ge 2005) = p02_inconvpen_lap(ttot,regi,te) * 4.3 * 1E-4; !! this is now equivalent to 1$/GJ at 1000$/per Capita in the welfare logarithm p02_inconvpen_lap(ttot,regi,te)$(ttot.val ge 2005) = p02_inconvpen_lap(ttot,regi,te) * (1/sm_giga_2_non) / sm_GJ_2_TWa; !! conversion util/(GJ/cap) -> util/(TWa/Gcap) *RP* these values are all calculated on seprod level. diff --git a/modules/02_welfare/utilitarian/datainput.gms b/modules/02_welfare/utilitarian/datainput.gms index c234d4c8f..4579c365a 100644 --- a/modules/02_welfare/utilitarian/datainput.gms +++ b/modules/02_welfare/utilitarian/datainput.gms @@ -11,15 +11,15 @@ pm_welf("2060") = 0.9; *RP* 2012-03-06: Inconvenience costs on seprod $IFTHEN.INCONV %cm_INCONV_PENALTY% == "on" -p02_inconvpen_lap(ttot,regi,"coaltr")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.5; !! In dollar per GJ seprod at 1.000$/cap GDP, or 10$/GJ at 10.000$_GDP/cap -p02_inconvpen_lap(ttot,regi,"biotr")$(ttot.val ge 2005) = s_D2005_2_D2017 * 1.0; !! In dollar per GJ seprod -p02_inconvpen_lap(ttot,regi,"biotrmod")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.25; !! In dollar per GJ seprod. Biotrmod is a mix of wood stoves and automated wood pellets for heating, which has lower air pollution and other discomfort effects +p02_inconvpen_lap(ttot,regi,"coaltr")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.5; !! In dollar per GJ seprod at 1.000$/cap GDP, or 10$/GJ at 10.000$_GDP/cap +p02_inconvpen_lap(ttot,regi,"biotr")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 1.0; !! In dollar per GJ seprod +p02_inconvpen_lap(ttot,regi,"biotrmod")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.25; !! In dollar per GJ seprod. Biotrmod is a mix of wood stoves and automated wood pellets for heating, which has lower air pollution and other discomfort effects *' Transformation of coal to liquids/gases/H2 brings local pollution, which is less accepted at higher incomes -> use the inconvenience cost channel -p02_inconvpen_lap(ttot,regi,"coalftrec")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.9; !! In dollar per GJ seprod -p02_inconvpen_lap(ttot,regi,"coalftcrec")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.9; !! equivalent to 4$/GJ at 40.000$_GDP/cap, or 10$/GJ at 100.000$_GDP/cap -p02_inconvpen_lap(ttot,regi,"coalgas")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.9; -p02_inconvpen_lap(ttot,regi,"coalh2")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.9; -p02_inconvpen_lap(ttot,regi,"coalh2c")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.9; +p02_inconvpen_lap(ttot,regi,"coalftrec")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.9; !! In dollar per GJ seprod +p02_inconvpen_lap(ttot,regi,"coalftcrec")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.9; !! equivalent to 4$/GJ at 40.000$_GDP/cap, or 10$/GJ at 100.000$_GDP/cap +p02_inconvpen_lap(ttot,regi,"coalgas")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.9; +p02_inconvpen_lap(ttot,regi,"coalh2")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.9; +p02_inconvpen_lap(ttot,regi,"coalh2c")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.9; p02_inconvpen_lap(ttot,regi,te)$(ttot.val ge 2005) = p02_inconvpen_lap(ttot,regi,te) * 4.3 * 1E-4; !! this is now equivalent to 1$/GJ at 1000$/per Capita in the welfare logarithm p02_inconvpen_lap(ttot,regi,te)$(ttot.val ge 2005) = p02_inconvpen_lap(ttot,regi,te) * (1/sm_giga_2_non) / sm_GJ_2_TWa; !! conversion util/(GJ/cap) -> util/(TWa/Gcap) *RP* these values are all calculated on seprod level. diff --git a/modules/21_tax/off/not_used.txt b/modules/21_tax/off/not_used.txt index 12e8c638e..d50474410 100644 --- a/modules/21_tax/off/not_used.txt +++ b/modules/21_tax/off/not_used.txt @@ -24,7 +24,6 @@ cm_fetaxscen, switch, ??? cm_gdximport_target, switch, ??? pm_pop,parameter,??? cm_so2tax_scen,switch,??? -sm_DpGJ_2_TDpTWa,switch,??? vm_cesIO,variable,??? vm_co2eq,variable,??? cm_emiscen,input,questionnaire @@ -72,3 +71,4 @@ pm_gdp,input,only needed if tax is on pm_cf,input,only needed if tax is on vm_shDemSeel,input,only needed if tax is on pm_teAnnuity,input,only needed if tax is on +sm_D2005_2_D2017,input,no conversion needed diff --git a/modules/21_tax/on/datainput.gms b/modules/21_tax/on/datainput.gms index 689ee5dc8..781b768fc 100644 --- a/modules/21_tax/on/datainput.gms +++ b/modules/21_tax/on/datainput.gms @@ -82,13 +82,13 @@ p21_tau_pe2se_sub(tall,regi,te)= 0; *RP* FILE changed by hand after introduction of SO2 taxes and inconvenience penalties on 2012-03-08 *** Values try to account for excessive water use, further pollution *** Taxes are given in USD(2005) and converted to USD(2017) per GJ -p21_tau_pe2se_tax(ttot,regi,"igcc")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.25; -p21_tau_pe2se_tax(ttot,regi,"igccc")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.25; -p21_tau_pe2se_tax(ttot,regi,"coalftrec")$(ttot.val ge 2005) = s_D2005_2_D2017 * 1.0; -p21_tau_pe2se_tax(ttot,regi,"coalftcrec")$(ttot.val ge 2005) = s_D2005_2_D2017 * 1.0; -p21_tau_pe2se_tax(ttot,regi,"coalh2")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.5; -p21_tau_pe2se_tax(ttot,regi,"coalh2c")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.5; -p21_tau_pe2se_tax(ttot,regi,"coalgas")$(ttot.val ge 2005) = s_D2005_2_D2017 * 0.5; +p21_tau_pe2se_tax(ttot,regi,"igcc")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.25; +p21_tau_pe2se_tax(ttot,regi,"igccc")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.25; +p21_tau_pe2se_tax(ttot,regi,"coalftrec")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 1.0; +p21_tau_pe2se_tax(ttot,regi,"coalftcrec")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 1.0; +p21_tau_pe2se_tax(ttot,regi,"coalh2")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.5; +p21_tau_pe2se_tax(ttot,regi,"coalh2c")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.5; +p21_tau_pe2se_tax(ttot,regi,"coalgas")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.5; ***cb20110923 rescaling of PE2SE parameters from $/GJ to trillion $ / TWa p21_tau_pe2se_tax(ttot,regi,te)$(ttot.val ge 2005) = p21_tau_pe2se_tax(ttot,regi,te) * 0.001 / sm_EJ_2_TWa; diff --git a/modules/35_transport/edge_esm/presolve.gms b/modules/35_transport/edge_esm/presolve.gms index cc5eb474c..34156978e 100644 --- a/modules/35_transport/edge_esm/presolve.gms +++ b/modules/35_transport/edge_esm/presolve.gms @@ -14,7 +14,7 @@ if( (ord(iteration) le 25 and ord(iteration) ge cm_startIter_EDGET and (mod(ord( Execute_Loadpoint 'p35_esCapCost' p35_esCapCost; !! convert transport costs from US$2005 to US$2017 - pm_esCapCost(t,regi,teEs_dyn35)$(t.val gt 2010 AND t.val ge cm_startyear AND t.val le 2100) = s_D2005_2_D2017 * p35_esCapCost(t,regi,"%cm_GDPscen%","%cm_demScen%","%cm_EDGEtr_scen%",teEs_dyn35); + pm_esCapCost(t,regi,teEs_dyn35)$(t.val gt 2010 AND t.val ge cm_startyear AND t.val le 2100) = sm_D2005_2_D2017 * p35_esCapCost(t,regi,"%cm_GDPscen%","%cm_demScen%","%cm_EDGEtr_scen%",teEs_dyn35); !! load FE-to-ES results from EDGE-Transport into auxilliary parameter Execute_Loadpoint "p35_fe2es", p35_fe2es_aux = p35_fe2es; diff --git a/modules/36_buildings/simple/datainput.gms b/modules/36_buildings/simple/datainput.gms index 7d3e0c0da..95b38a4e6 100644 --- a/modules/36_buildings/simple/datainput.gms +++ b/modules/36_buildings/simple/datainput.gms @@ -120,10 +120,10 @@ p36_CESMkup(ttot,regi,in) = 0; *' mark-up cost on heat pumps and district heating are incurred as actual cost to the budget (see option (a) above) *' place markup cost on heat pumps electricity of 200 USD/MWh(el) to represent demand-side cost of electrification *' and reach higher efficiency during calibration to model higher energy efficiency of heat pumps -p36_CESMkup(ttot,regi,"feelhpb") = 200 * s_D2005_2_D2017 * sm_TWa_2_MWh * 1e-12; +p36_CESMkup(ttot,regi,"feelhpb") = 200 * sm_D2005_2_D2017 * sm_TWa_2_MWh * 1e-12; *' place markup cost on district heating of 25 USD/MWh(heat) to represent additional t&d cost of expanding district heating networks for buildings *' which makes district heating in buildings more expensive than in industry -p36_CESMkup(ttot,regi,"feheb") = 25 * s_D2005_2_D2017 * sm_TWa_2_MWh * 1e-12; +p36_CESMkup(ttot,regi,"feheb") = 25 * sm_D2005_2_D2017 * sm_TWa_2_MWh * 1e-12; *' overwrite or extent CES markup cost if specified by switch $ifThen.CESMkup not "%cm_CESMkup_build%" == "standard" diff --git a/modules/37_industry/fixed_shares/input/pm_abatparam_Ind.gms b/modules/37_industry/fixed_shares/input/pm_abatparam_Ind.gms index a0482f1c4..5d2110b44 100644 --- a/modules/37_industry/fixed_shares/input/pm_abatparam_Ind.gms +++ b/modules/37_industry/fixed_shares/input/pm_abatparam_Ind.gms @@ -17,15 +17,15 @@ $endif !! short-term (until 2025) if (ttot.val le 2025, - pm_abatparam_Ind(ttot,regi,"co2cement",steps)$( sm_tmp ge s_D2005_2_D2017 * 95 ) = 0.63; - pm_abatparam_Ind(ttot,regi,"co2cement",steps)$( sm_tmp ge s_D2005_2_D2017 *133 ) = 0.756; + pm_abatparam_Ind(ttot,regi,"co2cement",steps)$( sm_tmp ge sm_D2005_2_D2017 * 95 ) = 0.63; + pm_abatparam_Ind(ttot,regi,"co2cement",steps)$( sm_tmp ge sm_D2005_2_D2017 *133 ) = 0.756; - pm_abatparam_Ind(ttot,regi,"co2chemicals",steps)$( sm_tmp ge s_D2005_2_D2017 *78 ) = 0.121; - pm_abatparam_Ind(ttot,regi,"co2chemicals",steps)$( sm_tmp ge s_D2005_2_D2017 *80 ) = 0.572; + pm_abatparam_Ind(ttot,regi,"co2chemicals",steps)$( sm_tmp ge sm_D2005_2_D2017 *78 ) = 0.121; + pm_abatparam_Ind(ttot,regi,"co2chemicals",steps)$( sm_tmp ge sm_D2005_2_D2017 *80 ) = 0.572; $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "ces" - pm_abatparam_Ind(ttot,regi,"co2steel",steps)$( sm_tmp ge s_D2005_2_D2017 *59 ) = 0.117; - pm_abatparam_Ind(ttot,regi,"co2steel",steps)$( sm_tmp ge s_D2005_2_D2017 *82 ) = 0.234; + pm_abatparam_Ind(ttot,regi,"co2steel",steps)$( sm_tmp ge sm_D2005_2_D2017 *59 ) = 0.117; + pm_abatparam_Ind(ttot,regi,"co2steel",steps)$( sm_tmp ge sm_D2005_2_D2017 *82 ) = 0.234; $endif.cm_subsec_model_steel !! long-term (from 2030 on) @@ -43,16 +43,16 @@ $endif.cm_subsec_model_steel = max(0, min(0.95, 0.2159 + 0.1365 * log(sm_tmp))); else - pm_abatparam_Ind(ttot,regi,"co2cement",steps)$( sm_tmp ge s_D2005_2_D2017 * 54 ) = 0.702; - pm_abatparam_Ind(ttot,regi,"co2cement",steps)$( sm_tmp ge s_D2005_2_D2017 * 133 ) = 0.756; + pm_abatparam_Ind(ttot,regi,"co2cement",steps)$( sm_tmp ge sm_D2005_2_D2017 * 54 ) = 0.702; + pm_abatparam_Ind(ttot,regi,"co2cement",steps)$( sm_tmp ge sm_D2005_2_D2017 * 133 ) = 0.756; - pm_abatparam_Ind(ttot,regi,"co2chemicals",steps)$( sm_tmp ge s_D2005_2_D2017 * 46 ) = 0.363; - pm_abatparam_Ind(ttot,regi,"co2chemicals",steps)$( sm_tmp ge s_D2005_2_D2017 * 78 ) = 0.484; - pm_abatparam_Ind(ttot,regi,"co2chemicals",steps)$( sm_tmp ge s_D2005_2_D2017 *80 ) = 0.572; + pm_abatparam_Ind(ttot,regi,"co2chemicals",steps)$( sm_tmp ge sm_D2005_2_D2017 * 46 ) = 0.363; + pm_abatparam_Ind(ttot,regi,"co2chemicals",steps)$( sm_tmp ge sm_D2005_2_D2017 * 78 ) = 0.484; + pm_abatparam_Ind(ttot,regi,"co2chemicals",steps)$( sm_tmp ge sm_D2005_2_D2017 *80 ) = 0.572; $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "ces" - pm_abatparam_Ind(ttot,regi,"co2steel",steps)$( sm_tmp ge s_D2005_2_D2017 *48 ) = 0.117; - pm_abatparam_Ind(ttot,regi,"co2steel",steps)$( sm_tmp ge s_D2005_2_D2017 *62 ) = 0.275; + pm_abatparam_Ind(ttot,regi,"co2steel",steps)$( sm_tmp ge sm_D2005_2_D2017 *48 ) = 0.117; + pm_abatparam_Ind(ttot,regi,"co2steel",steps)$( sm_tmp ge sm_D2005_2_D2017 *62 ) = 0.275; $endif.cm_subsec_model_steel ); ); diff --git a/modules/37_industry/fixed_shares/not_used.txt b/modules/37_industry/fixed_shares/not_used.txt index e97b7962b..423307975 100644 --- a/modules/37_industry/fixed_shares/not_used.txt +++ b/modules/37_industry/fixed_shares/not_used.txt @@ -34,3 +34,5 @@ vm_incinerationCCS, variable, does not want to play vm_incinerationEmi, variable, not needed vm_nonIncineratedPlastics, variable, not needed vm_outflowPrc, variable, not needed +sm_D2020_2_D2017,input,no conversion needed +sm_EURO2023_2_D2017,input,no conversion needed diff --git a/modules/37_industry/subsectors/datainput.gms b/modules/37_industry/subsectors/datainput.gms index e7bad82db..b251a963d 100644 --- a/modules/37_industry/subsectors/datainput.gms +++ b/modules/37_industry/subsectors/datainput.gms @@ -662,12 +662,12 @@ p37_priceMat(all_enty) = 0.; $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" !! IEA STeel Roadmap Fig 1.3 Caption: Scrap price 200-300 $/t !! => take 250 $/t, unit 2020$US -p37_priceMat("eafscrap") = s_D2020_2_D2017 * 0.250 ; -p37_priceMat("bofscrap") = s_D2020_2_D2017 * 0.250; +p37_priceMat("eafscrap") = sm_D2020_2_D2017 * 0.250 ; +p37_priceMat("bofscrap") = sm_D2020_2_D2017 * 0.250; !! Agora KSV-Rechner: 114 €2023/tSteel / (tn$ /bn t) -p37_priceMat("ironore") = s_EURO2023_2_D2017 * 0.114; +p37_priceMat("ironore") = sm_EURO2023_2_D2017 * 0.114; !! Agora KSV-Rechner: 154 €2023/tSteel / (tn$ /bn t) -p37_priceMat("dripell") = s_EURO2023_2_D2017 * 0.154; +p37_priceMat("dripell") = sm_EURO2023_2_D2017 * 0.154; $endif.cm_subsec_model_steel *** -------------------------------- diff --git a/modules/37_industry/subsectors/not_used.txt b/modules/37_industry/subsectors/not_used.txt index 2b2763d7f..eb33d72e1 100644 --- a/modules/37_industry/subsectors/not_used.txt +++ b/modules/37_industry/subsectors/not_used.txt @@ -24,3 +24,4 @@ pm_shfe_up,parameter,not needed sm_trillion_2_non,input,questionnaire sm_TWa_2_kWh,input,questionnaire vm_macBase,input,questionnaire +sm_D2005_2_D2017,input,no conversion needed diff --git a/modules/47_regipol/none/not_used.txt b/modules/47_regipol/none/not_used.txt index b352534d9..254d6d59e 100644 --- a/modules/47_regipol/none/not_used.txt +++ b/modules/47_regipol/none/not_used.txt @@ -80,3 +80,4 @@ vm_prodSe,input,not needed pm_cesdata,input,not needed pm_prodCouple,input,not needed vm_emiIndCCS,input,not needed +sm_D2005_2_D2017,input,no conversion needed diff --git a/modules/47_regipol/regiCarbonPrice/datainput.gms b/modules/47_regipol/regiCarbonPrice/datainput.gms index 54c61798f..c985d567f 100644 --- a/modules/47_regipol/regiCarbonPrice/datainput.gms +++ b/modules/47_regipol/regiCarbonPrice/datainput.gms @@ -177,7 +177,7 @@ $offdelim loop((t,ext_regi,entyFe,entySe,sector)$f47_implicitPriceTarget("%cm_implicitPriceTarget%",ext_regi,entyFe,entySe,sector,t), loop(regi$regi_groupExt(ext_regi,regi), !! convert data from US$2005 to US$2017 - pm_implicitPriceTarget(t,regi,entyFe,entySe,sector) = s_D2005_2_D2017 * f47_implicitPriceTarget("%cm_implicitPriceTarget%",ext_regi,entyFe,entySe,sector,t)*sm_DpGJ_2_TDpTWa; + pm_implicitPriceTarget(t,regi,entyFe,entySe,sector) = sm_D2005_2_D2017 * f47_implicitPriceTarget("%cm_implicitPriceTarget%",ext_regi,entyFe,entySe,sector,t)*sm_DpGJ_2_TDpTWa; ); ); @@ -212,7 +212,7 @@ $offdelim loop((t,ext_regi,entyPe)$f47_implicitPePriceTarget("%cm_implicitPePriceTarget%",ext_regi,entyPe,t), loop(regi$regi_groupExt(ext_regi,regi), !! convert data from US$2005 to US$2017 - pm_implicitPePriceTarget(t,regi,entyPe) = s_D2005_2_D2017 * f47_implicitPePriceTarget("%cm_implicitPePriceTarget%",ext_regi,entyPe,t)*sm_DpGJ_2_TDpTWa; + pm_implicitPePriceTarget(t,regi,entyPe) = sm_D2005_2_D2017 * f47_implicitPePriceTarget("%cm_implicitPePriceTarget%",ext_regi,entyPe,t)*sm_DpGJ_2_TDpTWa; ); ); @@ -304,32 +304,32 @@ p47_LULUCFEmi_GrassiShift(t,regi)$(p47_EmiLULUCFCountryAcc("2020",regi)) = *PW* charge tax on PE gas,oil,coal in energy security scenario for Germany (in trUSD/TWa) to hit Ariadne energy security price trajectories $ifThen.cm_EnSecScen_price "%cm_EnSecScen_price%" == "on" - pm_tau_pe_tax("2025",regi,"pegas")$(sameAs(regi,"DEU")) = s_D2005_2_D2017 * 0.32; - pm_tau_pe_tax("2030",regi,"pegas")$(sameAs(regi,"DEU")) = s_D2005_2_D2017 * 0.24; - pm_tau_pe_tax("2035",regi,"pegas")$(sameAs(regi,"DEU")) = s_D2005_2_D2017 * 0.2; - pm_tau_pe_tax("2040",regi,"pegas")$(sameAs(regi,"DEU")) = s_D2005_2_D2017 * 0.16; - pm_tau_pe_tax("2045",regi,"pegas")$(sameAs(regi,"DEU")) = s_D2005_2_D2017 * 0.16; - pm_tau_pe_tax("2050",regi,"pegas")$(sameAs(regi,"DEU")) = s_D2005_2_D2017 * 0.16; - pm_tau_pe_tax("2055",regi,"pegas")$(sameAs(regi,"DEU")) = s_D2005_2_D2017 * 0.12; - pm_tau_pe_tax("2060",regi,"pegas")$(sameAs(regi,"DEU")) = s_D2005_2_D2017 * 0.08; - - pm_tau_pe_tax("2025",regi,"peoil")$(sameAs(regi,"DEU")) = s_D2005_2_D2017 * 0.08; - pm_tau_pe_tax("2030",regi,"peoil")$(sameAs(regi,"DEU")) = s_D2005_2_D2017 * 0.08; - pm_tau_pe_tax("2035",regi,"peoil")$(sameAs(regi,"DEU")) = s_D2005_2_D2017 * 0.12; - pm_tau_pe_tax("2040",regi,"peoil")$(sameAs(regi,"DEU")) = s_D2005_2_D2017 * 0.16; - pm_tau_pe_tax("2045",regi,"peoil")$(sameAs(regi,"DEU")) = s_D2005_2_D2017 * 0.16; - pm_tau_pe_tax("2050",regi,"peoil")$(sameAs(regi,"DEU")) = s_D2005_2_D2017 * 0.16; - pm_tau_pe_tax("2055",regi,"peoil")$(sameAs(regi,"DEU")) = s_D2005_2_D2017 * 0.12; - pm_tau_pe_tax("2060",regi,"peoil")$(sameAs(regi,"DEU")) = s_D2005_2_D2017 * 0.08; - - pm_tau_pe_tax("2025",regi,"pecoal")$(sameAs(regi,"DEU")) = s_D2005_2_D2017 * 0.024; - pm_tau_pe_tax("2030",regi,"pecoal")$(sameAs(regi,"DEU")) = s_D2005_2_D2017 * 0.016; - pm_tau_pe_tax("2035",regi,"pecoal")$(sameAs(regi,"DEU")) = s_D2005_2_D2017 * 0.016; - pm_tau_pe_tax("2040",regi,"pecoal")$(sameAs(regi,"DEU")) = s_D2005_2_D2017 * 0.016; - pm_tau_pe_tax("2045",regi,"pecoal")$(sameAs(regi,"DEU")) = s_D2005_2_D2017 * 0.016; - pm_tau_pe_tax("2050",regi,"pecoal")$(sameAs(regi,"DEU")) = s_D2005_2_D2017 * 0.016; - pm_tau_pe_tax("2055",regi,"pecoal")$(sameAs(regi,"DEU")) = s_D2005_2_D2017 * 0.008; - pm_tau_pe_tax("2060",regi,"pecoal")$(sameAs(regi,"DEU")) = s_D2005_2_D2017 * 0.008; + pm_tau_pe_tax("2025",regi,"pegas")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.32; + pm_tau_pe_tax("2030",regi,"pegas")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.24; + pm_tau_pe_tax("2035",regi,"pegas")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.2; + pm_tau_pe_tax("2040",regi,"pegas")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.16; + pm_tau_pe_tax("2045",regi,"pegas")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.16; + pm_tau_pe_tax("2050",regi,"pegas")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.16; + pm_tau_pe_tax("2055",regi,"pegas")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.12; + pm_tau_pe_tax("2060",regi,"pegas")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.08; + + pm_tau_pe_tax("2025",regi,"peoil")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.08; + pm_tau_pe_tax("2030",regi,"peoil")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.08; + pm_tau_pe_tax("2035",regi,"peoil")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.12; + pm_tau_pe_tax("2040",regi,"peoil")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.16; + pm_tau_pe_tax("2045",regi,"peoil")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.16; + pm_tau_pe_tax("2050",regi,"peoil")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.16; + pm_tau_pe_tax("2055",regi,"peoil")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.12; + pm_tau_pe_tax("2060",regi,"peoil")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.08; + + pm_tau_pe_tax("2025",regi,"pecoal")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.024; + pm_tau_pe_tax("2030",regi,"pecoal")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.016; + pm_tau_pe_tax("2035",regi,"pecoal")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.016; + pm_tau_pe_tax("2040",regi,"pecoal")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.016; + pm_tau_pe_tax("2045",regi,"pecoal")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.016; + pm_tau_pe_tax("2050",regi,"pecoal")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.016; + pm_tau_pe_tax("2055",regi,"pecoal")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.008; + pm_tau_pe_tax("2060",regi,"pecoal")$(sameAs(regi,"DEU")) = sm_D2005_2_D2017 * 0.008; $endIf.cm_EnSecScen_price *** adapt parameters that determine the ratio of wind onshore and wind offshore installation for Germany From 68dc9acea345c1a5e944b208f9f8fa441c12e2ce Mon Sep 17 00:00:00 2001 From: johannah-pik <89136160+johannah-pik@users.noreply.github.com> Date: Tue, 27 Aug 2024 09:45:15 +0200 Subject: [PATCH 402/875] include f29_trpdemand --- config/default.cfg | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/config/default.cfg b/config/default.cfg index 9e2222812..be9d03f85 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -150,7 +150,8 @@ cfg$files2export$start <- c("config/conopt3.opt", "modules/35_transport/edge_esm/input/scenSpecEnIntensity.cs4r", "modules/35_transport/edge_esm/input/initialIncoCosts.cs4r", "modules/35_transport/edge_esm/input/annualMileage.cs4r", - "modules/35_transport/edge_esm/input/timeValueCosts.cs4r") + "modules/35_transport/edge_esm/input/timeValueCosts.cs4r", + "modules/29_CES_parameters/calibrate/input/f29_trpdemand.cs4r") # Files that should be copied after the REMIND run is finished cfg$files2export$end <- NULL From 796dab2d2e137cca233d7e48cd9aed195680d421 Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Thu, 29 Aug 2024 20:18:19 +0200 Subject: [PATCH 403/875] fixing sets --- core/bounds.gms | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/bounds.gms b/core/bounds.gms index 7b05c04da..2f50c3287 100755 --- a/core/bounds.gms +++ b/core/bounds.gms @@ -341,7 +341,7 @@ vm_deltaCap.fx(t,regi,te,rlf)$(t.val le 2025 AND pm_data(regi,"tech_stat",te) eq *CB allow for early retirement at the start of free model time *CB ------------------------------------------------------------ *** allow non zero early retirement for all technologies to avoid mathematical errors -vm_capEarlyReti.up(ttot,regi,te) = 1e-6; +vm_capEarlyReti.up(t,regi,te) = 1e-6; ***generally allow full early retiremnt for all fossil technologies without CCS vm_capEarlyReti.up(t,regi,te)$(teFosNoCCS(te)) = 1; @@ -355,7 +355,7 @@ vm_capEarlyReti.up(t,regi,"biochp") = 1; *** allow early retirement for techs added to the c_tech_earlyreti_rate switch $ifthen.tech_earlyreti not "%c_tech_earlyreti_rate%" == "off" -loop((ext_Regi,te)$p_techEarlyRetiRate(ext_regi,all_te), +loop((ext_regi,te)$p_techEarlyRetiRate(ext_regi,te), vm_capEarlyReti.up(t,regi,te)$(regi_group(ext_regi,regi))= 1; ); $endif.tech_earlyreti @@ -367,7 +367,7 @@ vm_capEarlyReti.up(ttot,regi,te)$(ttot.val lt 2009 or ttot.val gt 2111) = 0; vm_capEarlyReti.lo(t,regi,te)$((vm_capEarlyReti.up(t,regi,te) ge 1) and (t.val gt 2010) and (t.val le 2100)) = 1e-4; *cb 20120301 no early retirement for dot, they are used despite their economic non-competitiveness for various reasons. -vm_capEarlyReti.fx(ttot,regi,"dot")=0; +vm_capEarlyReti.fx(t,regi,"dot")=0; *rp 20210118 no investment into oil turbines in Europe vm_deltaCap.up(t,regi,"dot","1")$( (t.val gt 2005) AND regi_group("EUR_regi",regi) ) = 1e-6; From 4af9198ba2dc85c74259686f74bf0359fa4cb334 Mon Sep 17 00:00:00 2001 From: Leon Merfort <58845874+merfort@users.noreply.github.com> Date: Fri, 30 Aug 2024 10:28:08 +0200 Subject: [PATCH 404/875] Fix warning related to PR#1796 --- scripts/start/checkFixCfg.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/start/checkFixCfg.R b/scripts/start/checkFixCfg.R index 052324d38..bbe0b4206 100644 --- a/scripts/start/checkFixCfg.R +++ b/scripts/start/checkFixCfg.R @@ -19,7 +19,7 @@ checkFixCfg <- function(cfg, remindPath = ".", testmode = FALSE) { NC <- "\033[0m" # No Color refcfg <- gms::readDefaultConfig(remindPath) - remindextras <- c("backup", "remind_folder", "pathToMagpieReport", "cm_nash_autoconverge_lastrun", + remindextras <- c("backup", "remind_folder", "pathToMagpieReport", "cm_nash_autoconverge_lastrun", "var_luc", "gms$c_expname", "restart_subsequent_runs", "gms$c_GDPpcScen", "gms$cm_CES_configuration", "gms$c_description", "model", "renvLockFromPrecedingRun") fail <- tryCatch(gms::check_config(cfg, reference_file = refcfg, modulepath = file.path(remindPath, "modules"), From 6d601ead6011bc3105e785e3f4f1940cbfa9a2b2 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Fri, 30 Aug 2024 08:56:37 +0000 Subject: [PATCH 405/875] Release development version 3.3.2.dev469 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 8bfd428ce..68725f128 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,8 +266,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev465" -date-released: 2024-08-29 +version: "3.3.2.dev469" +date-released: 2024-08-30 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index b6b14f335..2d8e87993 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev465" +cfg$model_version <- "3.3.2.dev469" #### settings #### cfg$gms <- list() From 6f46fbc8fd7bd3055556be75623dfd45138d6877 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Fri, 30 Aug 2024 12:28:46 +0000 Subject: [PATCH 406/875] Release development version 3.3.2.dev473 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 68725f128..89b80b850 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,7 +266,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev469" +version: "3.3.2.dev473" date-released: 2024-08-30 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 2d8e87993..8ef9c7f7a 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev469" +cfg$model_version <- "3.3.2.dev473" #### settings #### cfg$gms <- list() From c8704ad76b7f5cad09e235f56075ad8ba316ba73 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Fri, 30 Aug 2024 12:53:45 +0000 Subject: [PATCH 407/875] Release development version 3.3.2.dev479 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 89b80b850..0e80014a3 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,7 +266,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev473" +version: "3.3.2.dev479" date-released: 2024-08-30 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 8ef9c7f7a..80c16dec2 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev473" +cfg$model_version <- "3.3.2.dev479" #### settings #### cfg$gms <- list() From bb32a13909b109f30ec651b7ae39698dd3797b43 Mon Sep 17 00:00:00 2001 From: Nico Bauer Date: Fri, 30 Aug 2024 14:57:32 +0200 Subject: [PATCH 408/875] *NB* Added constraint on imports. Te one aspect represented now is that coal for steel making in India needs to be imported due to low quality of domestic coal. --- modules/24_trade/standard/datainput.gms | 12 ++++++++++++ modules/24_trade/standard/declarations.gms | 2 +- modules/24_trade/standard/equations.gms | 5 +++-- modules/24_trade/standard/sets.gms | 7 ++++++- 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/modules/24_trade/standard/datainput.gms b/modules/24_trade/standard/datainput.gms index 921dc1091..ef6a05470 100644 --- a/modules/24_trade/standard/datainput.gms +++ b/modules/24_trade/standard/datainput.gms @@ -27,6 +27,18 @@ $ondelim $include "./modules/24_trade/standard/input/pm_costsTradePeFinancial.cs3r" $offdelim ; + +*NB* import assumptions for the activation of trade constraints +parameter p24_trade_constraints(all_regi,all_enty,tradeConst) "parameter for the region specific trade constraints, values different to 1 activate constraints and the value is used as effectiveness to varying degress such as percentage numbers" +/ +$ondelim +$include "./modules/24_trade/standard/input/p24_trade_constraints.cs4r" +$offdelim +/ +; + +display p24_trade_constraints; + pm_costsTradePeFinancial(regi,"XportElasticity", tradePe(enty)) = 100; pm_costsTradePeFinancial(regi, "tradeFloor", tradePe(enty)) = 0.0125; pm_costsTradePeFinancial(regi,"Mport","peur") = 1e-06; diff --git a/modules/24_trade/standard/declarations.gms b/modules/24_trade/standard/declarations.gms index 14298c353..905ded36c 100644 --- a/modules/24_trade/standard/declarations.gms +++ b/modules/24_trade/standard/declarations.gms @@ -29,7 +29,7 @@ vm_capacityTradeBalance(tall,all_regi) "Capacity trade balance term" Equations -q24_peimport_demandside(tall,all_regi,all_enty) "Constraint on imports due to domestic requirements" +q24_peimport_demandside(tall,all_regi,all_enty,tradeConst) "Constraint on imports due to domestic requirements" ; *** EOF ./modules/24_trade/standard/declarations.gms diff --git a/modules/24_trade/standard/equations.gms b/modules/24_trade/standard/equations.gms index 0c58d14a5..19027eb3f 100644 --- a/modules/24_trade/standard/equations.gms +++ b/modules/24_trade/standard/equations.gms @@ -20,10 +20,11 @@ * active only after 2020; otherwise potential interference with constrained historic vm_Mport() * The constraint avoids Indian coal imports to drop to zero immediately -q24_peimport_demandside(t,regi,enty)$(t.val gt 2020 AND sameas(regi, "IND") AND sameas(enty, "pecoal")).. +q24_peimport_demandside(t,regi,enty,tradeConst)$(t.val gt 2020 AND p24_trade_constraints(regi,enty,tradeConst) ne 0).. vm_Mport(t,regi,enty) =g= - sum((secInd37_tePrc("steel",tePrc), + p24_trade_constraints(regi,enty,tradeConst)* + sum((secInd37_tePrc("steel",tePrc), tePrc2opmoPrc(tePrc,opmoPrc)), pm_specFeDem(t,regi,"fesos",tePrc,opmoPrc) * vm_outflowPrc(t,regi,tePrc,opmoPrc) diff --git a/modules/24_trade/standard/sets.gms b/modules/24_trade/standard/sets.gms index dff6dc5cd..6fbab3775 100644 --- a/modules/24_trade/standard/sets.gms +++ b/modules/24_trade/standard/sets.gms @@ -35,6 +35,11 @@ tradeCap(all_enty) "Commodities traded via capacity mode." / null / -; + +tradeConst + +/ +import_cokecoal "constrained to require cokeing coal to be imported, important for India" +/; *** EOF ./modules/24_trade/standard/sets.gms From e603e74517ee5151d7469552dd45670e15c2a5f7 Mon Sep 17 00:00:00 2001 From: Nico Bauer Date: Fri, 30 Aug 2024 15:08:03 +0200 Subject: [PATCH 409/875] *NB* not used added --- modules/24_trade/capacity/not_used.txt | 1 + modules/24_trade/se_trade/not_used.txt | 1 + 2 files changed, 2 insertions(+) diff --git a/modules/24_trade/capacity/not_used.txt b/modules/24_trade/capacity/not_used.txt index e832061ee..6d1221f8e 100644 --- a/modules/24_trade/capacity/not_used.txt +++ b/modules/24_trade/capacity/not_used.txt @@ -15,3 +15,4 @@ sm_TWa_2_kWh, parameter, not needed sm_h2kg_2_h2kWh, parameter, not needed pm_specFeDem,parameter,only used in standard realization vm_outflowPrc, variable, only used in standard realization +p24_trade_constraints, variable, only used in standard realization diff --git a/modules/24_trade/se_trade/not_used.txt b/modules/24_trade/se_trade/not_used.txt index 4e133d9e8..8c2327da0 100644 --- a/modules/24_trade/se_trade/not_used.txt +++ b/modules/24_trade/se_trade/not_used.txt @@ -13,4 +13,5 @@ pm_tsu2opTimeYr,parameter,only used in capacity realization pm_ttot_val,parameter,only used in capacity realization pm_specFeDem,parameter,only used in standard realization vm_outflowPrc, variable, only used in standard realization +p24_trade_constraints, variable, only used in standard realization From 8a3ab63d677569b7a74afc58fee691766c6bace1 Mon Sep 17 00:00:00 2001 From: Nico Bauer Date: Fri, 30 Aug 2024 15:20:54 +0200 Subject: [PATCH 410/875] *NB* added file with parameter to activate the constraint. no madrat behind this. --- modules/24_trade/standard/input/p24_trade_constraints.cs4r | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 modules/24_trade/standard/input/p24_trade_constraints.cs4r diff --git a/modules/24_trade/standard/input/p24_trade_constraints.cs4r b/modules/24_trade/standard/input/p24_trade_constraints.cs4r new file mode 100644 index 000000000..008563603 --- /dev/null +++ b/modules/24_trade/standard/input/p24_trade_constraints.cs4r @@ -0,0 +1,2 @@ +*NB* by hand, no mrremind or similar +IND,pecoal,import_cokecoal,1 From 3936ad9223428e32d8ad3d8f864a2d47e88de8e6 Mon Sep 17 00:00:00 2001 From: johannah-pik <89136160+johannah-pik@users.noreply.github.com> Date: Fri, 30 Aug 2024 15:26:52 +0200 Subject: [PATCH 411/875] filter duplicates --- scripts/output/single/reporting.R | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/scripts/output/single/reporting.R b/scripts/output/single/reporting.R index 3c14e1bf9..feea308a0 100644 --- a/scripts/output/single/reporting.R +++ b/scripts/output/single/reporting.R @@ -84,18 +84,24 @@ if(file.exists(edgetOutputDir)) { } message("start generation of EDGE-T reporting") EDGET_output <- reportEdgeTransport(edgetOutputDir, - isTransportExtendedReported = FALSE, + isTransportExtendedReported = FALSE, modelName = "REMIND", - scenarioName = scenario, + scenarioName = scenario, gdxPath = file.path(outputdir, "fulldata.gdx"), isStored = FALSE) + REMINDoutput <- as.data.table(read.quitte(paste0("REMIND_generic_", scenario,"_withoutPlus.mif"))) + sharedVariables <- EDGET_output[variable %in% REMINDoutput$variable & grepl(".*edge", variable)] + EDGET_output <- EDGET_output[!variable %in% REMINDoutput$variable] + message("The following variables will be dropped from the EDGE-Transport reporting because + they are in the REMIND reporting: ", paste(unique(sharedVariables$variable), collapse = ", ")) + write.mif(EDGET_output, remind_reporting_file, append = TRUE) piamutils::deletePlus(remind_reporting_file, writemif = TRUE) #Generate transport extended mif reportEdgeTransport(edgetOutputDir, - isTransportExtendedReported = TRUE, + isTransportExtendedReported = TRUE, gdxPath = file.path(outputdir, "fulldata.gdx"), isStored = TRUE) @@ -145,3 +151,4 @@ if(file.exists(file.path(outputdir, DIETERGDX))){ } message("### reporting finished.") + From 48cc8d053b419921eef727a809d349529f7ccbf3 Mon Sep 17 00:00:00 2001 From: Nico Bauer Date: Fri, 30 Aug 2024 15:33:11 +0200 Subject: [PATCH 412/875] *NB* added description of set importConst --- modules/24_trade/standard/sets.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/24_trade/standard/sets.gms b/modules/24_trade/standard/sets.gms index 6fbab3775..ae2f80550 100644 --- a/modules/24_trade/standard/sets.gms +++ b/modules/24_trade/standard/sets.gms @@ -36,7 +36,7 @@ tradeCap(all_enty) "Commodities traded via capacity mode." null / -tradeConst +tradeConst "set to distinguish import constraints" / import_cokecoal "constrained to require cokeing coal to be imported, important for India" From 1d6260260b933609e571aa69d219b0858b00cd13 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 30 Aug 2024 13:39:01 +0000 Subject: [PATCH 413/875] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- modules/24_trade/standard/input/p24_trade_constraints.cs4r | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/24_trade/standard/input/p24_trade_constraints.cs4r b/modules/24_trade/standard/input/p24_trade_constraints.cs4r index 008563603..cebcaa973 100644 --- a/modules/24_trade/standard/input/p24_trade_constraints.cs4r +++ b/modules/24_trade/standard/input/p24_trade_constraints.cs4r @@ -1,2 +1,2 @@ -*NB* by hand, no mrremind or similar +*NB* by hand, no mrremind or similar IND,pecoal,import_cokecoal,1 From e0dba7c879d3da195bb347e723fd31c1c7d29014 Mon Sep 17 00:00:00 2001 From: johannah-pik <89136160+johannah-pik@users.noreply.github.com> Date: Fri, 30 Aug 2024 16:59:48 +0200 Subject: [PATCH 414/875] bugfix file.path --- scripts/output/single/reporting.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/output/single/reporting.R b/scripts/output/single/reporting.R index feea308a0..916b993d8 100644 --- a/scripts/output/single/reporting.R +++ b/scripts/output/single/reporting.R @@ -90,7 +90,7 @@ if(file.exists(edgetOutputDir)) { gdxPath = file.path(outputdir, "fulldata.gdx"), isStored = FALSE) - REMINDoutput <- as.data.table(read.quitte(paste0("REMIND_generic_", scenario,"_withoutPlus.mif"))) + REMINDoutput <- as.data.table(read.quitte(file.path(outputdir, paste0("REMIND_generic_", scenario,"_withoutPlus.mif")))) sharedVariables <- EDGET_output[variable %in% REMINDoutput$variable & grepl(".*edge", variable)] EDGET_output <- EDGET_output[!variable %in% REMINDoutput$variable] message("The following variables will be dropped from the EDGE-Transport reporting because From 132dae6aee420c781b0f9564ac98306352f769fb Mon Sep 17 00:00:00 2001 From: johannah-pik <89136160+johannah-pik@users.noreply.github.com> Date: Fri, 30 Aug 2024 17:09:17 +0200 Subject: [PATCH 415/875] bugfix filter --- scripts/output/single/reporting.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/output/single/reporting.R b/scripts/output/single/reporting.R index 916b993d8..9dd02796b 100644 --- a/scripts/output/single/reporting.R +++ b/scripts/output/single/reporting.R @@ -91,7 +91,7 @@ if(file.exists(edgetOutputDir)) { isStored = FALSE) REMINDoutput <- as.data.table(read.quitte(file.path(outputdir, paste0("REMIND_generic_", scenario,"_withoutPlus.mif")))) - sharedVariables <- EDGET_output[variable %in% REMINDoutput$variable & grepl(".*edge", variable)] + sharedVariables <- EDGET_output[variable %in% REMINDoutput$variable | grepl(".*edge", variable)] EDGET_output <- EDGET_output[!variable %in% REMINDoutput$variable] message("The following variables will be dropped from the EDGE-Transport reporting because they are in the REMIND reporting: ", paste(unique(sharedVariables$variable), collapse = ", ")) From 2cfb3e73e951f770ff51210f8705d964ae0aac64 Mon Sep 17 00:00:00 2001 From: johannah-pik <89136160+johannah-pik@users.noreply.github.com> Date: Mon, 2 Sep 2024 09:08:23 +0200 Subject: [PATCH 416/875] bugfix --- DESCRIPTION | 2 +- scripts/output/single/reporting.R | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 99ec97322..521bd2f52 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -17,7 +17,7 @@ Imports: data.table, devtools, dplyr, - edgeTransport (>= 2.0), + edgeTransport (>= 2.3.0), reporttransport (>= 0.0.11), flexdashboard, GDPuc, diff --git a/scripts/output/single/reporting.R b/scripts/output/single/reporting.R index 9dd02796b..20e331a02 100644 --- a/scripts/output/single/reporting.R +++ b/scripts/output/single/reporting.R @@ -92,7 +92,7 @@ if(file.exists(edgetOutputDir)) { REMINDoutput <- as.data.table(read.quitte(file.path(outputdir, paste0("REMIND_generic_", scenario,"_withoutPlus.mif")))) sharedVariables <- EDGET_output[variable %in% REMINDoutput$variable | grepl(".*edge", variable)] - EDGET_output <- EDGET_output[!variable %in% REMINDoutput$variable] + EDGET_output <- EDGET_output[!(variable %in% REMINDoutput$variable | grepl(".*edge", variable))] message("The following variables will be dropped from the EDGE-Transport reporting because they are in the REMIND reporting: ", paste(unique(sharedVariables$variable), collapse = ", ")) From 95a0f94cf3b5da099d7ea908f76d3efec4e1f6b1 Mon Sep 17 00:00:00 2001 From: orichters Date: Mon, 2 Sep 2024 10:48:22 +0200 Subject: [PATCH 417/875] avoid ARIADNE compilation error --- main.gms | 15 ++++++--------- modules/47_regipol/regiCarbonPrice/sets.gms | 2 ++ 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/main.gms b/main.gms index f660ba354..f10dab332 100755 --- a/main.gms +++ b/main.gms @@ -1207,14 +1207,9 @@ $setglobal cm_MAgPIE_coupling off !! def = "off" !! regexp = off|on *' * (rcp85): RCP8.5 $setglobal cm_rcp_scen none !! def = "none" !! regexp = none|rcp20|rcp26|rcp37|rcp45|rcp60|rcp85 *' cm_NDC_version "choose version year of NDC targets as well as conditional vs. unconditional targets" -*' * (2023_cond): all NDCs conditional to international financial support published until February 24, 2023 -*' * (2023_uncond): all NDCs independent of international financial support published until February 24, 2023 -*' * (2022_cond): all NDCs conditional to international financial support published until December 31, 2022 -*' * (2022_uncond): all NDCs independent of international financial support published until December 31, 2022 -*' * (2021_cond): all NDCs conditional to international financial support published until December 31, 2021 -*' * (2021_uncond): all NDCs independent of international financial support published until December 31, 2021 -*' * (2018_cond): all NDCs conditional to international financial support published until December 31, 2018 -*' * (2018_uncond): all NDCs independent of international financial support published until December 31, 2018 +*' * (2023_cond): all NDCs conditional to international financial support published until December 31, 2023 +*' * (2023_uncond): all NDCs independent of international financial support published until December 31, 2023 +*' * Other supported years are 2022, 2021 and 2018, always containing NDCs published until December 31 of that year $setglobal cm_NDC_version 2023_cond !! def = "2023_cond" !! regexp = 20(18|2[1-3])_(un)?cond *' cm_netZeroScen "choose scenario of net zero targets of netZero realization of module 46_carbonpriceRegi" *' @@ -1527,7 +1522,9 @@ $setGlobal cm_indstExogScen off !! def off *** (off) default, no fixing *** (ariadne_bal) steel and cement production trajectories for Germany used in the Ariadne "Balanced" scenario *** (ariadne_ensec) steel and cement production trajectories for Germany used in the Ariadne "EnSec" (energy security) scenario -$setGLobal cm_exogDem_scen off !! def off +*** (ariadne_highDem) +*** (ariadne_lowDem) +$setGLobal cm_exogDem_scen off !! def off !! regexp = off|ariadne_(bal|ensec|highDem|lowDem) *** cm_Ger_Pol "switch for selecting different policies for Germany used in the ARIADNE scenarios" *** switch for Germany-specific policies *** (off) default diff --git a/modules/47_regipol/regiCarbonPrice/sets.gms b/modules/47_regipol/regiCarbonPrice/sets.gms index 41cd7eff9..81a39832f 100644 --- a/modules/47_regipol/regiCarbonPrice/sets.gms +++ b/modules/47_regipol/regiCarbonPrice/sets.gms @@ -153,6 +153,8 @@ exogDemScen "exogenuous FE and ES demand scenarios that can be activated b / ariadne_bal ariadne_ensec + ariadne_highDem + ariadne_lowDem / $endif.exogDemScen From e2bd80354d0a24a3e83481b1e9e7941427b65ce7 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Mon, 2 Sep 2024 09:35:59 +0000 Subject: [PATCH 418/875] Release development version 3.3.2.dev486 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 0e80014a3..d3bd0e294 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,8 +266,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev479" -date-released: 2024-08-30 +version: "3.3.2.dev486" +date-released: 2024-09-02 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 1400f876d..69b809d55 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev479" +cfg$model_version <- "3.3.2.dev486" #### settings #### cfg$gms <- list() From 7b9808e745fcc34fcc535219adf948a30ba7bf7f Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Mon, 2 Sep 2024 09:59:20 +0000 Subject: [PATCH 419/875] Release development version 3.3.2.dev489 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index d3bd0e294..265c2fce2 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,7 +266,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev486" +version: "3.3.2.dev489" date-released: 2024-09-02 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 69b809d55..86ed28510 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev486" +cfg$model_version <- "3.3.2.dev489" #### settings #### cfg$gms <- list() From f66db57b7061ce29d0cee864978a79163550a2af Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Mon, 2 Sep 2024 12:22:22 +0200 Subject: [PATCH 420/875] remove outdated SSP2EU GDP scenarios from ariadne config to avoid compilation errors --- config/scenario_config_21_EU11_ARIADNE.csv | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/scenario_config_21_EU11_ARIADNE.csv b/config/scenario_config_21_EU11_ARIADNE.csv index c76604dc0..5bd4bdc5f 100755 --- a/config/scenario_config_21_EU11_ARIADNE.csv +++ b/config/scenario_config_21_EU11_ARIADNE.csv @@ -2,7 +2,7 @@ title;start;copyConfigFrom;.description;CES_parameters;c_keep_iteration_gdxes;cm # _____Reference Runs_____;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Calib_EU_NPi;0;;Calibration Run with National Policies Implemented (NPI);calibrate;;;;;;;;;se_trade;;;;;;;;;DEU 1.1, EU27_regi 7.5;;EU27_regi.pebiolc.worldPricemarkup 10;1;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;NPi;1;;;NPi2018;regiCarbonPrice;;;;on;on;Mix1;9;3;;;;2005;; NPi;0;Calib_EU_NPi;National Policies implemented;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Calib_EU_Npi_lowDem;0;Calib_EU_NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;NAV_all;;;;gdp_SSP2EU;gdp_SSP2EU_NAV_all;;; +Calib_EU_Npi_lowDem;0;Calib_EU_NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;NAV_all;;;;;gdp_SSP2EU_NAV_all;;; Npi_lowDem;0;Calib_EU_Npi_lowDem;;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; # ____ Standard Scenarios______;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; CurrentPolicies;0;NPi;Current Policies Scenario for Germany including latest credible developments from Fit for 55 and Ampel government;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.045, 2035.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;;;;2;;high;0;DEU 1.1, EU27_regi 7.5;;EU27_regi.pebiolc.worldPricemarkup 10;1;;EUR_regi, NEU_regi;;off;;;fehob 1.75, enhb 0.5;;;ariadne_bal;;;manual; 2050 . GLO . (ue_cement, ue_steel_primary, ue_steel_secondary) 0.75, 2100 . GLO . (ue_chemicals, ue_otherInd) 0.90, 2100 . DEU . (ue_otherInd, ue_cement, ue_chemicals) 0.01;;;;;;;;;;;;;;;;;EU27_regi.(2025 65,2030 94,2035 124,2040 141,2045 162,2050 175,2055 175,2060 175,2070 175,2080 175,2090 175,2100 175,2110 175,2130 175,2150 175);;;;;Mix3;;;;;;2025;;NPi @@ -12,7 +12,7 @@ KN2045_H2_v4;0;KN2045_Bal_v4;Scenario with high H2 and synfuel use, high H2 and # ____ Energy Security Scenarios___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; KN2045_EnSov;0;KN2045_Bal_v4;Energy security scenario with limits/taxes on PE gas consumption in Germany and reduced steel demand;;;;;;;;;;;;on;2;ensec;;;;;;;;;;EUR_regi, NEU_regi;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5;;feelhth_otherInd 1.1, fega_steel 0.4;ariadne_lowDem;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; # ____ low-demand/high-demand scenarios ____;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -KN2045plus_EasyRide;0;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5, feheb 0.01;;feelhth_otherInd 0.9, feh2_chemicals 0.43;ariadne_lowDem;;;;2050 . GLO . (ue_cement, ue_steel_primary, ue_steel_secondary) 0.75, 2100 . GLO . (ue_chemicals, ue_otherInd) 0.90;;;tdh2s 0.5, tdh2t 0.5;spv 0.5, storspv 0.5, wind 0.5, storwind 0.5, elh2 0.5;spv 2, storspv 2, wind 2, storwind 2, elh2 2;;;;;;;;;;;;;off;;;;NAV_all;;;;gdp_SSP2EU;gdp_SSP2EU_NAV_all;;;Npi_lowDem -KN2045plus_LowDemand;0;KN2045_Bal_v4;;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.045, 2035.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5, feheb 0.01;;feelhth_otherInd 0.9, feh2_chemicals 0.43;ariadne_bal;;;;2050 . GLO . (ue_cement, ue_steel_primary, ue_steel_secondary) 0.75, 2100 . GLO . (ue_chemicals, ue_otherInd) 0.90;;;tdh2s 3, tdh2t 3;spv 2, storspv 2, wind 2, storwind 2, elh2 2;spv 0.5, storspv 0.5, wind 0.5, storwind 0.5, elh2 0.5;;;;;;;;;;;;;off;;;;NAV_all;;;;gdp_SSP2EU;gdp_SSP2EU_NAV_all;;;Npi_lowDem +KN2045plus_EasyRide;0;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5, feheb 0.01;;feelhth_otherInd 0.9, feh2_chemicals 0.43;ariadne_lowDem;;;;2050 . GLO . (ue_cement, ue_steel_primary, ue_steel_secondary) 0.75, 2100 . GLO . (ue_chemicals, ue_otherInd) 0.90;;;tdh2s 0.5, tdh2t 0.5;spv 0.5, storspv 0.5, wind 0.5, storwind 0.5, elh2 0.5;spv 2, storspv 2, wind 2, storwind 2, elh2 2;;;;;;;;;;;;;off;;;;NAV_all;;;;;gdp_SSP2EU_NAV_all;;;Npi_lowDem +KN2045plus_LowDemand;0;KN2045_Bal_v4;;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.045, 2035.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5, feheb 0.01;;feelhth_otherInd 0.9, feh2_chemicals 0.43;ariadne_bal;;;;2050 . GLO . (ue_cement, ue_steel_primary, ue_steel_secondary) 0.75, 2100 . GLO . (ue_chemicals, ue_otherInd) 0.90;;;tdh2s 3, tdh2t 3;spv 2, storspv 2, wind 2, storwind 2, elh2 2;spv 0.5, storspv 0.5, wind 0.5, storwind 0.5, elh2 0.5;;;;;;;;;;;;;off;;;;NAV_all;;;;;gdp_SSP2EU_NAV_all;;;Npi_lowDem KN2045minus_WorstCase;0;KN2045_Bal_v4;;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.045, 2035.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;;;;;;;;;;;;;;;;;;feelhpb 2.3, feelrhb 0.87, fehob 1.75, enhb 0.5;;;ariadne_highDem;;;;;;;tdh2s 3, tdh2t 3;spv 2, storspv 2, wind 2, storwind 2, elh2 2;spv 0.5, storspv 0.5, wind 0.5, storwind 0.5, elh2 0.5;;;;;;;;;;;;;;;;;;;;;;;;; KN2045minus_SupplyFocus;0;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ariadne_highDem;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; From 6aceebbdb1afa406c8e2a62f065f087e38285ca3 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Mon, 2 Sep 2024 11:26:54 +0000 Subject: [PATCH 421/875] Release development version 3.3.2.dev492 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 265c2fce2..a86a6e8af 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,7 +266,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev489" +version: "3.3.2.dev492" date-released: 2024-09-02 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 86ed28510..9337a624b 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev489" +cfg$model_version <- "3.3.2.dev492" #### settings #### cfg$gms <- list() From f9b202b4249916bdcf6c6880f6f1a364f581eca2 Mon Sep 17 00:00:00 2001 From: Nico Bauer Date: Mon, 2 Sep 2024 16:48:18 +0200 Subject: [PATCH 422/875] *NB* Adjustment to align with Falk's correction of the Expert Guess. --- modules/24_trade/standard/input/files | 1 + modules/24_trade/standard/input/p24_trade_constraints.cs4r | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) delete mode 100644 modules/24_trade/standard/input/p24_trade_constraints.cs4r diff --git a/modules/24_trade/standard/input/files b/modules/24_trade/standard/input/files index a13305f84..93658b15a 100644 --- a/modules/24_trade/standard/input/files +++ b/modules/24_trade/standard/input/files @@ -1,2 +1,3 @@ pm_costsPEtradeMp.cs4r pm_costsTradePeFinancial.cs3r +p24_trade_constraints.cs4r diff --git a/modules/24_trade/standard/input/p24_trade_constraints.cs4r b/modules/24_trade/standard/input/p24_trade_constraints.cs4r deleted file mode 100644 index 008563603..000000000 --- a/modules/24_trade/standard/input/p24_trade_constraints.cs4r +++ /dev/null @@ -1,2 +0,0 @@ -*NB* by hand, no mrremind or similar -IND,pecoal,import_cokecoal,1 From 6881c2a1baf42f73316b9d2c6854cf1d2904dbcc Mon Sep 17 00:00:00 2001 From: orichters Date: Tue, 3 Sep 2024 10:14:18 +0200 Subject: [PATCH 423/875] round Sys.time to avoid mikrosecond precision --- .../create_input_for_45_carbonprice_exogenous.R | 2 +- scripts/output/single/reporting.R | 12 ++++++------ scripts/output/single/reportingREMIND2MAgPIE.R | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/scripts/input/create_input_for_45_carbonprice_exogenous.R b/scripts/input/create_input_for_45_carbonprice_exogenous.R index aaaa69309..30a97ce83 100644 --- a/scripts/input/create_input_for_45_carbonprice_exogenous.R +++ b/scripts/input/create_input_for_45_carbonprice_exogenous.R @@ -42,7 +42,7 @@ create_input_for_45_carbonprice_exogenous<-function(gdx){ cat("*= Exogenous CO2 tax level =*\n", file = p_fpath, append = TRUE) cat("*=============================================================*\n", file = p_fpath, append = TRUE) cat("*= author: dklein@pik-potsdam.de =*\n", file = p_fpath, append = TRUE) - cat(paste("*= date : ", Sys.time(), " =*\n", sep=""), file = p_fpath, append = TRUE) + cat(paste("*= date : ", round(Sys.time()), " =*\n", sep=""), file = p_fpath, append = TRUE) cat("*= generated with: =*\n", file = p_fpath, append = TRUE) cat("*= scripts/input/create_input_for_45_carbonprice_exogenous.R =*\n", file = p_fpath, append = TRUE) cat(paste0("*= from file: ", normalizePath(gdx), " =*\n"), file = p_fpath, append = TRUE) diff --git a/scripts/output/single/reporting.R b/scripts/output/single/reporting.R index 20e331a02..36e5f1ede 100644 --- a/scripts/output/single/reporting.R +++ b/scripts/output/single/reporting.R @@ -47,7 +47,7 @@ if (length(remind_policy_reporting_file) > 0) { } # produce REMIND reporting *.mif based on gdx information -message("\n### start generation of mif files at ", Sys.time()) +message("\n### start generation of mif files at ", round(Sys.time())) convGDX2MIF(gdx, gdx_refpolicycost = gdx_refpolicycost, file = remind_reporting_file, scenario = scenario, gdx_ref = gdx_ref) # MAGICC code not working with REMIND-EU @@ -134,20 +134,20 @@ if (! is.null(magpie_reporting_file) && file.exists(magpie_reporting_file)) { # warn if duplicates in mif reportDuplicates(read.quitte(sub("\\.mif$", "_withoutPlus.mif", remind_reporting_file), check.duplicates = FALSE)) -message("### end generation of mif files at ", Sys.time()) +message("### end generation of mif files at ", round(Sys.time())) ## produce REMIND LCOE reporting *.csv based on gdx information -message("### start generation of LCOE reporting at ", Sys.time()) +message("### start generation of LCOE reporting at ", round(Sys.time())) tmp <- try(convGDX2CSV_LCOE(gdx, file = LCOE_reporting_file, scen = scenario)) # execute convGDX2MIF_LCOE -message("### end generation of LCOE reporting at ", Sys.time()) +message("### end generation of LCOE reporting at ", round(Sys.time())) ## generate DIETER reporting if it is needed ## the reporting is appended to REMIND_generic_.MIF in "DIETER" Sub Directory DIETERGDX <- "report_DIETER.gdx" if(file.exists(file.path(outputdir, DIETERGDX))){ - message("### start generation of DIETER reporting at ", Sys.time()) + message("### start generation of DIETER reporting at ", round(Sys.time())) remind2::reportDIETER(DIETERGDX,outputdir) - message("### end generation of DIETER reporting at ", Sys.time()) + message("### end generation of DIETER reporting at ", round(Sys.time())) } message("### reporting finished.") diff --git a/scripts/output/single/reportingREMIND2MAgPIE.R b/scripts/output/single/reportingREMIND2MAgPIE.R index 80674678b..f267eb8ed 100644 --- a/scripts/output/single/reportingREMIND2MAgPIE.R +++ b/scripts/output/single/reportingREMIND2MAgPIE.R @@ -32,7 +32,7 @@ load(configfile, envir = envir) remind_reporting_file <- file.path(outputdir,paste0("REMIND_generic_",scenario,".mif")) # produce REMIND reporting *.mif based on gdx information -message("\n### start generation of mif files at ", Sys.time()) +message("\n### start generation of mif files at ", round(Sys.time())) convGDX2MIF_REMIND2MAgPIE(gdx, file = remind_reporting_file, scenario = scenario) magpie_reporting_file <- envir$cfg$pathToMagpieReport @@ -53,5 +53,5 @@ if (! is.null(magpie_reporting_file) && file.exists(magpie_reporting_file)) { piamutils::deletePlus(remind_reporting_file, writemif = TRUE) } -message("### end generation of mif files at ", Sys.time()) +message("### end generation of mif files at ", round(Sys.time())) message("### reporting finished.") From 202e0ed7f30f50c295c2d9cc9f326f10cbda7c6d Mon Sep 17 00:00:00 2001 From: orichters Date: Tue, 3 Sep 2024 10:16:32 +0200 Subject: [PATCH 424/875] copy config files to coupled output folder; fix deletion of testthat files" --- start_bundle_coupled.R | 1 + tests/testthat/test_01-manipulateConfig.R | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/start_bundle_coupled.R b/start_bundle_coupled.R index e6e49f21f..a864b4d15 100755 --- a/start_bundle_coupled.R +++ b/start_bundle_coupled.R @@ -368,6 +368,7 @@ for(scen in common){ cfg_rem <- cfg rm(cfg) cfg_rem$title <- scen + cfg_rem$files2export$start <- c(cfg_rem$files2export$start, path_settings_coupled, path_settings_remind) rem_filesstart <- cfg_rem$files2export$start # save to reset it to that later source(file.path(path_magpie, "config", "default.cfg")) # retrieve MAgPIE settings diff --git a/tests/testthat/test_01-manipulateConfig.R b/tests/testthat/test_01-manipulateConfig.R index 566c5a722..7e3793a43 100644 --- a/tests/testthat/test_01-manipulateConfig.R +++ b/tests/testthat/test_01-manipulateConfig.R @@ -57,6 +57,6 @@ test_that("manipulate config with default configuration does not change main.gms # cleanup if no error found if (length(addedgms) + length(removedgms) + length(contentdiff) + length(diffresult) == 0) { - file.remove(list.files(pattern = "main-TESTTHAT.*gms")) + file.remove(list.files(path = "../..", pattern = "main-TESTTHAT.*gms", full.names = TRUE)) } }) From 9128f54410ad3b0ceee48f340b5689847b0d3bde Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 3 Sep 2024 09:09:58 +0000 Subject: [PATCH 425/875] Release development version 3.3.2.dev496 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index a86a6e8af..8e6506dc8 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,8 +266,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev492" -date-released: 2024-09-02 +version: "3.3.2.dev496" +date-released: 2024-09-03 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 9337a624b..73f56ea94 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev492" +cfg$model_version <- "3.3.2.dev496" #### settings #### cfg$gms <- list() From 54d398f0db1fdbcd0adf05c9f99a45a48d1e0606 Mon Sep 17 00:00:00 2001 From: orichters Date: Tue, 3 Sep 2024 14:47:53 +0200 Subject: [PATCH 426/875] don't automatically remove path_gdx_bau when 'not needed' --- scripts/start/checkFixCfg.R | 5 ++--- scripts/start/needBau.R | 2 +- scripts/start/readCheckScenarioConfig.R | 15 +++++---------- tutorials/03_RunningBundleOfRuns.md | 2 +- 4 files changed, 9 insertions(+), 15 deletions(-) diff --git a/scripts/start/checkFixCfg.R b/scripts/start/checkFixCfg.R index bbe0b4206..5abf0eea9 100644 --- a/scripts/start/checkFixCfg.R +++ b/scripts/start/checkFixCfg.R @@ -107,9 +107,8 @@ checkFixCfg <- function(cfg, remindPath = ".", testmode = FALSE) { } } else { if (! is.na(cfg$files2export$start["input_bau.gdx"])) { - message("You have specified no realization that requires 'path_gdx_bau' but you have specified it. ", - "To avoid an unnecessary dependency to another run, setting 'path_gdx_bau' to NA.") - cfg$files2export$start["input_bau.gdx"] <- NA + message("According to 'scripts/start/needBau.R, you use no realization that requires 'path_gdx_bau' but you have specified it. ", + "To avoid an unnecessary dependency to another run, you can set 'path_gdx_bau' to NA.") } } diff --git a/scripts/start/needBau.R b/scripts/start/needBau.R index 7c3003b9a..25af30586 100644 --- a/scripts/start/needBau.R +++ b/scripts/start/needBau.R @@ -8,6 +8,6 @@ # and the realizations that require a 'path_gdx_bau' as elements # This allows readCheckScenarioConfig and checkFixConfig to set it to NA # if not needed, and complain if it is missing. -needBau <- list(carbonprice = c("NDC"), +needBau <- list(carbonprice = "NDC", carbonpriceRegi = "NDC", emicapregi = "AbilityToPay") diff --git a/scripts/start/readCheckScenarioConfig.R b/scripts/start/readCheckScenarioConfig.R index aa8f9f6df..e7ff2586f 100644 --- a/scripts/start/readCheckScenarioConfig.R +++ b/scripts/start/readCheckScenarioConfig.R @@ -106,11 +106,9 @@ readCheckScenarioConfig <- function(filename, remindPath = ".", testmode = FALSE } BAUbutNotNeeded <- ! is.na(scenConf$path_gdx_bau) & ! (scenNeedsBau) if (sum(BAUbutNotNeeded) > 0 && ! grepl("scenario_config_coupled", filename)) { - msg <- paste0("In ", sum(BAUbutNotNeeded), " scenarios, 'path_gdx_bau' is not empty although no realization is selected that needs it.\n", - "To avoid unnecessary dependencies to other runs, automatically setting 'path_gdx_bau' to NA for:\n", - paste(rownames(scenConf)[BAUbutNotNeeded], collapse = ", ")) - message(msg) - scenConf$path_gdx_bau[BAUbutNotNeeded] <- NA + message("In ", sum(BAUbutNotNeeded), " scenarios, 'path_gdx_bau' is not empty although no realization is selected that needs it.\n", + "Either adjust 'scripts/start/needBau.R' or set 'path_gdx_bau' to NA to avoid unnecessary dependencies to other runs for:\n", + paste(rownames(scenConf)[BAUbutNotNeeded], collapse = ", ")) } # fail if bau not given but needed noBAUbutNeeded <- is.na(scenConf$path_gdx_bau) & (scenNeedsBau) @@ -168,11 +166,8 @@ readCheckScenarioConfig <- function(filename, remindPath = ".", testmode = FALSE "cm_solwindenergyscen"= "Deleted, not used, see https://github.com/remindmodel/remind/pull/1532", NULL) for (i in intersect(names(forbiddenColumnNames), unknownColumnNames)) { - if (testmode) { - warning("Column name ", i, " in remind settings is outdated. ", forbiddenColumnNames[i]) - } else { - message("Column name ", i, " in remind settings is outdated. ", forbiddenColumnNames[i]) - } + msg <- paste0("Column name ", i, " in remind settings is outdated. ", forbiddenColumnNames[i]) + if (testmode) warning(msg) else message(msg) } if (any(names(forbiddenColumnNames) %in% unknownColumnNames)) { warning("Outdated column names found that must not be used.") diff --git a/tutorials/03_RunningBundleOfRuns.md b/tutorials/03_RunningBundleOfRuns.md index 8d38a610a..1f5292edc 100644 --- a/tutorials/03_RunningBundleOfRuns.md +++ b/tutorials/03_RunningBundleOfRuns.md @@ -47,7 +47,7 @@ Example with comments and different ways to specify subsequent runs. The columns to implement subsequent runs are usually found at the end, starting with `path_gdx`: * `path_gdx` allows to specify initial conditions for the run, overwriting the usual initial conditions taken from the calibration files found in [`./config/gdx-files/`](../config/gdx-files/files). If it points to an unconverged run, this can be used to restart runs, similar to `Rscript start.R --restart`. -* `path_gdx_bau` points to the run used as business as usual (BAU) scenario, for example for runs using [`45_carbonprice/NDC`](../modules/45_carbonprice/NDC), where some countries specify emission as percentage reduction compared to BAU. All realizations needing it have to be summarized in [`scripts/start/needBau.R`](../scripts/start/needBau.R). +* `path_gdx_bau` points to the run used as business as usual (BAU) scenario, for example for runs using [`45_carbonprice/NDC`](../modules/45_carbonprice/NDC), where some countries specify emission as percentage reduction compared to BAU. All realizations needing it should be summarized in [`scripts/start/needBau.R`](../scripts/start/needBau.R). * `path_gdx_carbonprice` can be used to use a carbon tax path from an earlier run with realization [`45_carbonprice/exogenous`](../modules/45_carbonprice/exogenous). * `path_gdx_ref` points to the run used for all `t < cm_startyear`, which can be used for example for delayed transition scenarios. * `path_gdx_refpolicycost` points to the run that is used as a comparison for the policy cost calculation. If no such column exists, `path_gdx_ref` is used instead. From 99f33c7067a3d4c3074c0e9ca0f71a470feaea8a Mon Sep 17 00:00:00 2001 From: orichters Date: Tue, 3 Sep 2024 14:48:09 +0200 Subject: [PATCH 427/875] cleanup path_gdx_bau in config files where not needed --- config/scenario_config_DeepEl.csv | 8 ++++---- config/scenario_config_IKEA.csv | 4 ++-- config/tests/scenario_config_shortCascade.csv | 8 ++++---- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/config/scenario_config_DeepEl.csv b/config/scenario_config_DeepEl.csv index f72f817fe..22fa0f660 100644 --- a/config/scenario_config_DeepEl.csv +++ b/config/scenario_config_DeepEl.csv @@ -3,7 +3,7 @@ testOneRegi-Base-DeepEl;0;;testOneRegi;8;;;;0;;;;;;;;;;;;;;;;;;;;;;;;testOneRegi # H12 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP2-NPi-calibrate-DeepEl;1;calibrate;;14;rcp45;;;0;;0;NPi;1;2100;;9;;;;NPi2018;regiCarbonPrice;on;on;3;;heat;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. SSP2-Base-DeepEl;1;;;1;;;;0;;0;;;2100;;;off;;;;;;;;;heat;Mix1;2005;;;;;SSP2-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-NPi-DeepEl;1;;;1;rcp45;3;;0;;0;NPi;1;2100;;9;;;;NPi2018;regiCarbonPrice;on;on;3;;heat;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (Npi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi is identical to the NDC scenario until 2020 but assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-NDC-DeepEl;1;;;1;rcp45;3;globallyOptimal;0;;0;NDC;1;2100;;9;;;;NDC;regiCarbonPrice;on;on;3;;heat;Mix2;2025;;SSP2-NPi-DeepEl;SSP2-NPi-DeepEl;;SSP2-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. -SSP2-PkBudg500-DeepEl;1;;;1;rcp20;9;globallyOptimal;1;2050.GLO 0.9;500;diffCurvPhaseIn2Lin;100;2080;;9;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, IND_regi.pc 0.13;100;5;NDC;regiCarbonPrice;on;on;2;1;heat;Mix4;2025;;SSP2-NPi-DeepEl;SSP2-NPi-DeepEl;;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2-PkBudg1150-DeepEl;1;;;1;rcp26;9;globallyOptimal;1;2050.GLO 0.5;1150;diffCurvPhaseIn2Lin;60;2100;;9;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, IND_regi.pc 0.13;100;5;NDC;regiCarbonPrice;on;on;2;1;heat;Mix4;2025;;SSP2-NPi-DeepEl;SSP2-NPi-DeepEl;;SSP2-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a weel below 2??C scenario, peak warming is allowed to be at or slightly above 2??C, at median climate sensitivity but returns to values below 2??C in at least 67?% of scenarios by the end of the century. +SSP2-NPi-DeepEl;1;;;1;rcp45;3;;0;;0;NPi;1;2100;;9;;;;NPi2018;regiCarbonPrice;on;on;3;;heat;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi is identical to the NDC scenario until 2020 but assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-NDC-DeepEl;1;;;1;rcp45;3;globallyOptimal;0;;0;NDC;1;2100;;9;;;;NDC;regiCarbonPrice;on;on;3;;heat;Mix2;2025;;SSP2-NPi-DeepEl;SSP2-NPi-DeepEl;;SSP2-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. +SSP2-PkBudg500-DeepEl;1;;;1;rcp20;9;globallyOptimal;1;2050.GLO 0.9;500;diffCurvPhaseIn2Lin;100;2080;;9;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, IND_regi.pc 0.13;100;5;NDC;regiCarbonPrice;on;on;2;1;heat;Mix4;2025;;SSP2-NPi-DeepEl;;;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5 C scenario, peak warming is allowed to be at or slightly above 1.5 C, at median climate sensitivity but returns to values below 1.5 C in at least 67 % of scenarios by the end of the century. +SSP2-PkBudg1150-DeepEl;1;;;1;rcp26;9;globallyOptimal;1;2050.GLO 0.5;1150;diffCurvPhaseIn2Lin;60;2100;;9;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, IND_regi.pc 0.13;100;5;NDC;regiCarbonPrice;on;on;2;1;heat;Mix4;2025;;SSP2-NPi-DeepEl;;;SSP2-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2 C scenario, peak warming is allowed to be at or slightly above 2 C, at median climate sensitivity but returns to values below 2 C in at least 67 % of scenarios by the end of the century. diff --git a/config/scenario_config_IKEA.csv b/config/scenario_config_IKEA.csv index 10d99c8ec..284a2e11f 100644 --- a/config/scenario_config_IKEA.csv +++ b/config/scenario_config_IKEA.csv @@ -11,8 +11,8 @@ SSP2-NPi;0;;floor cost default;;;;;default;;1;5;;;rcp45;default;3;;0;0;;0;NPi;1; SSP2-NDC;0;;floor cost default;;;;;default;;1;5;;;rcp45;default;3;;0;0;globallyOptimal;0;NDC;1;2100;9;2;GLO 0.05, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;3;;heat;Mix2;2030;;SSP2-NPi;SSP2-NPi;;SSP2-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. SSP2-PkBudg1150;0;;floor cost default;;;;;default;;1;5;;;rcp26;default;9;2100;1;1;globallyOptimal;1150;diffCurvPhaseIn2Lin;60;2100;9;2;GLO 0.06, 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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;SSP2-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a weel below 2??C scenario, peak warming is allowed to be at or slightly above 2??C, at median climate sensitivity but returns to values below 2??C in at least 67?% of scenarios by the end of the century. SSP2-PkBudg650;0;;floor cost default;;;2;;default;;1;5;;;rcp20;default;9;2100;1;1;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2-PkBudg620;0;;floor cost default;;;2;;default;;1;5;;;rcp20;default;9;2100;1;1;globallyOptimal;620;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2NPi;;SSP2PkBudg620: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2PkBudg590;0;;floor cost default;;;2;;default;;1;5;;;rcp20;default;9;2100;1;1;globallyOptimal;590;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;SSP2-PkBudg590: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg620;0;;floor cost default;;;2;;default;;1;5;;;rcp20;default;9;2100;1;1;globallyOptimal;620;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;SSP2-PkBudg620: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg590;0;;floor cost default;;;2;;default;;1;5;;;rcp20;default;9;2100;1;1;globallyOptimal;590;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;SSP2-PkBudg590: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. SSP2-PkBudg560;0;;floor cost default;;;2;;default;;1;5;;;rcp20;default;9;2100;1;1;globallyOptimal;560;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;SSP2-PkBudg550: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. SSP2-PkBudg530;0;;floor cost default;;;2;;default;;1;5;;;rcp20;default;9;2100;1;1;globallyOptimal;530;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. SSP2-NPi_floor2;0;;floor cost preserves price structure;;;;;pricestruc;;1;5;;;rcp45;pricestruc;3;;0;0;;0;NPi;1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;3;;heat;Mix1;2030;;;;;SSP2-NPi: This National Policies Implemented (Npi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi is identical to the NDC scenario until 2020 but assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. diff --git a/config/tests/scenario_config_shortCascade.csv b/config/tests/scenario_config_shortCascade.csv index cc8b6b5e1..31901ef3b 100644 --- a/config/tests/scenario_config_shortCascade.csv +++ b/config/tests/scenario_config_shortCascade.csv @@ -1,4 +1,4 @@ -title;start;c_empty_model;path_gdx_ref;path_gdx_bau;output -TESTTHAT-SSP2-Base;1;on;;;reportingREMIND2MAgPIE -TESTTHAT-SSP2-NDC;1;on;TESTTHAT-SSP2-Base;TESTTHAT-SSP2-Base;reportingREMIND2MAgPIE -TESTTHAT-SSP2-Policy;2;on;TESTTHAT-SSP2-Base;TESTTHAT-SSP2-Base;reportingREMIND2MAgPIE +title;start;c_empty_model;path_gdx_ref;output +TESTTHAT-SSP2-Base;1;on;;reportingREMIND2MAgPIE +TESTTHAT-SSP2-NDC;1;on;TESTTHAT-SSP2-Base;reportingREMIND2MAgPIE +TESTTHAT-SSP2-Policy;2;on;TESTTHAT-SSP2-Base;reportingREMIND2MAgPIE From 86255cb945472ad7660b820ab00f05b6182f31da Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Tue, 3 Sep 2024 15:23:49 +0200 Subject: [PATCH 428/875] update changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 968060cdb..11fb1159f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -36,6 +36,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). [[#1767](https://github.com/remindmodel/remind/pull/1767)] - **33_CDR** added ocean alkalinity enhancement to the CDR portfolio (OAE is turned off by default) [[#1777](https://github.com/remindmodel/remind/pull/1777)] +- **32_power** increase minimum required dispatchable back-up capacity for VRE integration + [[#1789](https://github.com/remindmodel/remind/pull/1789)] ### fixed - included CCS from plastic waste incineration in CCS mass flows so it is From a06707ded188e926a920edad151c0894ccca9f7d Mon Sep 17 00:00:00 2001 From: orichters Date: Tue, 3 Sep 2024 15:13:59 +0200 Subject: [PATCH 429/875] do only check existence of bau when running checkCfg --- CHANGELOG.md | 2 + scripts/start/checkFixCfg.R | 2 +- scripts/start/readCheckScenarioConfig.R | 38 ++++++++----------- .../test_01-readCheckScenarioConfig.R | 1 - 4 files changed, 19 insertions(+), 24 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 769e79a74..7e1169a81 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - plastic waste by default does not lag plastics production by ten years anymore; can be re-activated using `cm_wastelag` - moved to edgeTransport 2.0 version [[#1749](https://github.com/remindmodel/remind/pull/1749)] +- **scripts** in readCheckScenarioConfig(), do not automatically remove path_gdx_bau if allegedly 'not needed' + [[#1809](https://github.com/remindmodel/remind/pull/1809)] ### added - **50_damages**, **51_internalizeDamages** add KotzWenz realization based on Kotz & Wenz (2024) diff --git a/scripts/start/checkFixCfg.R b/scripts/start/checkFixCfg.R index 5abf0eea9..f81f7aa37 100644 --- a/scripts/start/checkFixCfg.R +++ b/scripts/start/checkFixCfg.R @@ -107,7 +107,7 @@ checkFixCfg <- function(cfg, remindPath = ".", testmode = FALSE) { } } else { if (! is.na(cfg$files2export$start["input_bau.gdx"])) { - message("According to 'scripts/start/needBau.R, you use no realization that requires 'path_gdx_bau' but you have specified it. ", + message("According to 'scripts/start/needBau.R', you use no realization that requires 'path_gdx_bau' but you have specified it. ", "To avoid an unnecessary dependency to another run, you can set 'path_gdx_bau' to NA.") } } diff --git a/scripts/start/readCheckScenarioConfig.R b/scripts/start/readCheckScenarioConfig.R index e7ff2586f..f738180a0 100644 --- a/scripts/start/readCheckScenarioConfig.R +++ b/scripts/start/readCheckScenarioConfig.R @@ -97,31 +97,25 @@ readCheckScenarioConfig <- function(filename, remindPath = ".", testmode = FALSE ", no column path_gdx_refpolicycost for policy cost comparison found, using path_gdx_ref instead.") message(msg) } - if ("path_gdx_bau" %in% names(scenConf)) { - # fix if bau given despite not needed. needBau is defined in needBau.R - # initialize vector with FALSE everywhere and turn elements to TRUE if a scenario config row setting matches a needBau element - scenNeedsBau <- rep(FALSE, nrow(scenConf)) - for (n in intersect(names(needBau), names(scenConf))) { - scenNeedsBau <- scenNeedsBau | scenConf[[n]] %in% needBau[[n]] - } - BAUbutNotNeeded <- ! is.na(scenConf$path_gdx_bau) & ! (scenNeedsBau) - if (sum(BAUbutNotNeeded) > 0 && ! grepl("scenario_config_coupled", filename)) { - message("In ", sum(BAUbutNotNeeded), " scenarios, 'path_gdx_bau' is not empty although no realization is selected that needs it.\n", - "Either adjust 'scripts/start/needBau.R' or set 'path_gdx_bau' to NA to avoid unnecessary dependencies to other runs for:\n", - paste(rownames(scenConf)[BAUbutNotNeeded], collapse = ", ")) - } - # fail if bau not given but needed - noBAUbutNeeded <- is.na(scenConf$path_gdx_bau) & (scenNeedsBau) - if (sum(noBAUbutNeeded) > 0) { - pathgdxerrors <- pathgdxerrors + sum(noBAUbutNeeded) - warning("In ", sum(noBAUbutNeeded), " scenarios, a reference gdx in 'path_gdx_bau' is needed, but it is empty. ", - "These realizations need it: ", - paste0(names(needBau), ": ", sapply(needBau, paste, collapse = ", "), ".", collapse = " ")) - } - } + # make sure every path gdx column exists scenConf[, names(path_gdx_list)[! names(path_gdx_list) %in% names(scenConf)]] <- NA + # check if path_gdx_bau is needed, based on needBau.R + # initialize vector with FALSE everywhere and turn elements to TRUE if a scenario config row setting matches a needBau element + scenNeedsBau <- rep(FALSE, nrow(scenConf)) + for (n in intersect(names(needBau), names(scenConf))) { + scenNeedsBau <- scenNeedsBau | scenConf[[n]] %in% needBau[[n]] + } + # fail if bau not given but needed + noBAUbutNeeded <- is.na(scenConf$path_gdx_bau) & (scenNeedsBau) + if (sum(noBAUbutNeeded) > 0) { + pathgdxerrors <- pathgdxerrors + sum(noBAUbutNeeded) + warning("In ", sum(noBAUbutNeeded), " scenarios, a reference gdx in 'path_gdx_bau' is needed, but it is empty. ", + "These realizations need it: ", + paste0(names(needBau), ": ", sapply(needBau, paste, collapse = ", "), ".", collapse = " ")) + } + # collect errors errorsfound <- length(colduplicates) + sum(toolong) + sum(regionname) + sum(nameisNA) + sum(illegalchars) + whitespaceErrors + copyConfigFromErrors + pathgdxerrors + missingRealizations diff --git a/tests/testthat/test_01-readCheckScenarioConfig.R b/tests/testthat/test_01-readCheckScenarioConfig.R index 5234ad302..e347f0e43 100644 --- a/tests/testthat/test_01-readCheckScenarioConfig.R +++ b/tests/testthat/test_01-readCheckScenarioConfig.R @@ -38,7 +38,6 @@ test_that("readCheckScenarioConfig fails on error-loaden config", { expect_match(w, "Do not use 'NA' as scenario name", all = FALSE, fixed = TRUE) expect_match(w, "For module carbonprice.*notNDC_but_has_path_gdx_bau", all = FALSE, fixed = FALSE) expect_match(m, "no column path_gdx_refpolicycost for policy cost comparison found, using path_gdx_ref instead", all = FALSE, fixed = TRUE) - expect_match(m, "is not empty although no realization is selected that needs it", all = FALSE, fixed = TRUE) copiedFromPBS <- c("c_budgetCO2", "path_gdx", "path_gdx_ref") expect_identical(unlist(scenConf["PBS", copiedFromPBS]), unlist(scenConf["PBScopy", copiedFromPBS])) From bfeff9b8368403e4cc4118db45b38eeda6e1b2b5 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 3 Sep 2024 14:29:50 +0000 Subject: [PATCH 430/875] Release development version 3.3.2.dev501 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 8e6506dc8..3f1f24a44 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,7 +266,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev496" +version: "3.3.2.dev501" date-released: 2024-09-03 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 73f56ea94..29eda7838 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev496" +cfg$model_version <- "3.3.2.dev501" #### settings #### cfg$gms <- list() From 69fa7a3d2fb467d472a71e3b57a830d2cdc9f129 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tonn=20R=C3=BCter?= Date: Tue, 3 Sep 2024 17:46:31 +0200 Subject: [PATCH 431/875] Removed scp related env vars --- .Rprofile | 33 +++------------------------------ 1 file changed, 3 insertions(+), 30 deletions(-) diff --git a/.Rprofile b/.Rprofile index 1c67265ee..fb52089a0 100644 --- a/.Rprofile +++ b/.Rprofile @@ -76,48 +76,21 @@ if (!dir.exists(".venv/") # REMIND_repos_dirs="C:\my\first\path;D:\my\second\path" remindReposDirs <- Sys.getenv("REMIND_repos_dirs") -# for scp targets, you need to set three environment variables -# on linux e.g. (separate multiple paths by semicolons) -# REMIND_repos_scp="scp://cluster.pik-potsdam.de/p/projects/rd3mod/inputdata/output;scp://cluster.pik-potsdam.de/p/projects/remind/inputdata/CESparametersAndGDX" -# REMIND_repos_scp_user="myusername" # use your user name on the scp target, e.g. the cluster -# REMIND_repos_scp_key="/home/myusername/.ssh/id_ed25519" # path to your your ssh private key on your laptop -# on windows e.g. -# REMIND_repos_scp="scp://cluster.pik-potsdam.de/p/projects/rd3mod/inputdata/output;scp://cluster.pik-potsdam.de/p/projects/remind/inputdata/CESparametersAndGDX" -# REMIND_repos_scp_user="myusername" # use your user name on the scp target, e.g. the cluster -# REMIND_repos_scp_key="C:\Users\myusername\.ssh\id_ed25519" # path to your your ssh private key on your laptop -remindReposSCP <- Sys.getenv("REMIND_repos_scp") # scp URL -remindReposSCPUser <- Sys.getenv("REMIND_repos_scp_user") # ssh user name -remindReposSCPKey <- Sys.getenv("REMIND_repos_scp_key") # ssh key path - # unless specified otherwise, use cluster defaults use_cluster_defaults <- TRUE # add local directories, if any if ("" != remindReposDirs) { - directories <- unlist(strsplit(remindReposDirs, .Platform$path.sep, - fixed = TRUE)) + directories <- unlist(strsplit(remindReposDirs, .Platform$path.sep, fixed = TRUE)) directoriesList <- rep(list(NULL), length(directories)) names(directoriesList) <- directories - options(remind_repos = c(options("remind_repos")[[1]], directoriesList)) use_cluster_defaults <- FALSE } -# add remote directories, if any remote directory and username and SSH key are set -if ("" != remindReposSCP && "" != remindReposSCPUser && "" != remindReposSCPKey) { - SCPUrls <- unlist(strsplit(remindReposSCP, ";", fixed = TRUE)) - config <- list(list(username = remindReposSCPUser, ssh_private_keyfile = remindReposSCPKey)) - for (SCPUrl in SCPUrls) { - names(config) <- SCPUrl - options(remind_repos = c(options("remind_repos")[[1]], config)) - } - use_cluster_defaults <- FALSE -} - # default to cluster directories -if (use_cluster_defaults && - all(file.exists(c("/p/projects/rd3mod/inputdata/output", - "/p/projects/remind/inputdata/CESparametersAndGDX")))) { +if (use_cluster_defaults && all(file.exists(c("/p/projects/rd3mod/inputdata/output", + "/p/projects/remind/inputdata/CESparametersAndGDX")))) { options(remind_repos = list( "/p/projects/rd3mod/inputdata/output" = NULL, "/p/projects/remind/inputdata/CESparametersAndGDX" = NULL)) From 30b0ba637661ea04d93bad804831c063851cd579 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Wed, 4 Sep 2024 07:42:18 +0000 Subject: [PATCH 432/875] Release development version 3.3.2.dev509 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 3f1f24a44..19392eccc 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,8 +266,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev501" -date-released: 2024-09-03 +version: "3.3.2.dev509" +date-released: 2024-09-04 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 29eda7838..04e7d0eea 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev501" +cfg$model_version <- "3.3.2.dev509" #### settings #### cfg$gms <- list() From f048a79d6f6fadc9bb87cef0016f41350f3552f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tonn=20R=C3=BCter?= Date: Wed, 4 Sep 2024 14:50:42 +0200 Subject: [PATCH 433/875] Point to output folder of current piam version --- .Rprofile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.Rprofile b/.Rprofile index fb52089a0..664fc30ee 100644 --- a/.Rprofile +++ b/.Rprofile @@ -89,10 +89,10 @@ if ("" != remindReposDirs) { } # default to cluster directories -if (use_cluster_defaults && all(file.exists(c("/p/projects/rd3mod/inputdata/output", +if (use_cluster_defaults && all(file.exists(c("/p/projects/rd3mod/inputdata/output_1.27", "/p/projects/remind/inputdata/CESparametersAndGDX")))) { options(remind_repos = list( - "/p/projects/rd3mod/inputdata/output" = NULL, + "/p/projects/rd3mod/inputdata/output_1.27" = NULL, "/p/projects/remind/inputdata/CESparametersAndGDX" = NULL)) } From ce825df0c5c2170f7ccf47ff0e1765ec467fb50e Mon Sep 17 00:00:00 2001 From: orichters Date: Wed, 4 Sep 2024 14:51:19 +0200 Subject: [PATCH 434/875] set cm_abortOnConsecFail to 2 --- main.gms | 2 +- tutorials/10_DebuggingREMIND.md | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/main.gms b/main.gms index f10dab332..51a49a7ce 100755 --- a/main.gms +++ b/main.gms @@ -459,7 +459,7 @@ parameter parameter cm_abortOnConsecFail "number of iterations of consecutive infeasibilities/failures to solve for one region, after which the run automatically switches to serial debug mode" ; - cm_abortOnConsecFail = 5; !! def = 5 + cm_abortOnConsecFail = 2; !! def = 2 !! regexp = [0-9]+ *' parameter cm_solver_try_max "maximum number of inner iterations within one Negishi iteration (<10)" diff --git a/tutorials/10_DebuggingREMIND.md b/tutorials/10_DebuggingREMIND.md index 9c9dca9ee..691022b07 100644 --- a/tutorials/10_DebuggingREMIND.md +++ b/tutorials/10_DebuggingREMIND.md @@ -95,7 +95,8 @@ Also make sure that the R packages installed in your renv are up-to-date. The ED The file `abort.gdx` contains the latest data at the point GAMS aborted execution, which can be analysed using GAMS Studio. -After a certain number of consecutive infeasibilities (default: `cm_abortOnConsecFail` = 5) REMIND will stop automatically, to avoid loosing too much time on an already doomed run. While REMIND sometimes is able to recover from a region being infes for 1 or 2 iterations, more will likely mean that the run will fail. In this case an `execution error` will be raised and the message `Run was aborted because the maximum number of consecutive failures was reached in at least one region!` can be found in the `full.log` and `full.lst` files. Continue with "Case 3" to solve the infeasibility. +After a certain number of consecutive infeasibilities (default: `cm_abortOnConsecFail` = 2) REMIND will switch to the debug mode in which infeasibility are listed (and can be shown with `listinfes`). +In case this does not help, it stops automatically, to avoid loosing too much time on an already doomed run. While REMIND sometimes is able to recover from a region being infes for 1 or 2 iterations, more will likely mean that the run will fail. In this case an `execution error` will be raised and the message `Run was aborted because the maximum number of consecutive failures was reached in at least one region!` can be found in the `full.log` and `full.lst` files. Continue with "Case 3" to solve the infeasibility. ### Case 2c: GDX or R file missing From c4dc7fe5f2f464450a466759d79d8af24e5b863d Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Thu, 5 Sep 2024 08:32:07 +0000 Subject: [PATCH 435/875] Release development version 3.3.2.dev512 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 19392eccc..193fba4d7 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,8 +266,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev509" -date-released: 2024-09-04 +version: "3.3.2.dev512" +date-released: 2024-09-05 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 04e7d0eea..86ea33208 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev509" +cfg$model_version <- "3.3.2.dev512" #### settings #### cfg$gms <- list() From 1559a8bd4b037869cb32b834784e431fb640c2dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tonn=20R=C3=BCter?= Date: Thu, 5 Sep 2024 10:48:53 +0200 Subject: [PATCH 436/875] Cluster defaults are already set by load module/.Rprofile_1.27 --- .Rprofile | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.Rprofile b/.Rprofile index 664fc30ee..839dcab92 100644 --- a/.Rprofile +++ b/.Rprofile @@ -88,14 +88,6 @@ if ("" != remindReposDirs) { use_cluster_defaults <- FALSE } -# default to cluster directories -if (use_cluster_defaults && all(file.exists(c("/p/projects/rd3mod/inputdata/output_1.27", - "/p/projects/remind/inputdata/CESparametersAndGDX")))) { - options(remind_repos = list( - "/p/projects/rd3mod/inputdata/output_1.27" = NULL, - "/p/projects/remind/inputdata/CESparametersAndGDX" = NULL)) -} - # Include local calibration results, if they exist, from either the main # directory or output directories. path <- file.path( From 47abd88988f3f34e5bf48681485eb7dfc63d21c7 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Thu, 5 Sep 2024 09:04:48 +0000 Subject: [PATCH 437/875] Release development version 3.3.2.dev519 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 193fba4d7..3f285bc18 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,7 +266,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev512" +version: "3.3.2.dev519" date-released: 2024-09-05 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 86ea33208..c08238d48 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev512" +cfg$model_version <- "3.3.2.dev519" #### settings #### cfg$gms <- list() From 26dab53acfa489415943b6b13e033b151741e651 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Thu, 5 Sep 2024 12:05:23 +0000 Subject: [PATCH 438/875] Release development version 3.3.2.dev524 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 3f285bc18..3ab5a6ffd 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,7 +266,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev519" +version: "3.3.2.dev524" date-released: 2024-09-05 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index c08238d48..f1b6c13d8 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev519" +cfg$model_version <- "3.3.2.dev524" #### settings #### cfg$gms <- list() From 4c72673600d29f452f55a2c258ba4e6f0f3eca56 Mon Sep 17 00:00:00 2001 From: Nico Bauer <53221049+nicobauer@users.noreply.github.com> Date: Thu, 5 Sep 2024 16:11:43 +0200 Subject: [PATCH 439/875] Update default.cfg to version 6.86 --- config/default.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/default.cfg b/config/default.cfg index 89c15f933..a38d08e25 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -27,7 +27,7 @@ cfg$regionmapping <- "config/regionmappingH12.csv" ### Additional (optional) region mapping, so that those validation data can be loaded that contain the corresponding additional regions. cfg$extramappings_historic <- "" #### Current input data revision (.) #### -cfg$inputRevision <- "6.85" +cfg$inputRevision <- "6.86" #### Current CES parameter and GDX revision (commit hash) #### cfg$CESandGDXversion <- "d4c62a8f11e8a6827310519df09c98eb425a4070" From e0466b5fb31b1775c692717d2697d2d0124abfec Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Thu, 5 Sep 2024 14:57:24 +0000 Subject: [PATCH 440/875] Release development version 3.3.2.dev536 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 3ab5a6ffd..880ac73d2 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,7 +266,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev524" +version: "3.3.2.dev536" date-released: 2024-09-05 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index ba505a79a..d0f19892d 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev524" +cfg$model_version <- "3.3.2.dev536" #### settings #### cfg$gms <- list() From de2ae347715177fe2dc7c95453db1b1843c48c9e Mon Sep 17 00:00:00 2001 From: Jakob Duerrwaechter <44020564+JakobBD@users.noreply.github.com> Date: Fri, 6 Sep 2024 10:36:34 +0200 Subject: [PATCH 441/875] add documentation on scaleDemand switch (#1813) --- main.gms | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/main.gms b/main.gms index 51a49a7ce..a9169f405 100755 --- a/main.gms +++ b/main.gms @@ -317,7 +317,7 @@ $setglobal biomass magpie_40 !! def = magpie_40 *' * (MOFEX) : contains the standalone version of MOFEX (Model Of Fossil EXtraction), which minimizes the discounted extraction and trade costs of fossils while balancing trade for each time step. Not to be run within a REMIND run but instead through the standalone architecture or soft-linked with REMIND (not yet implemented) $setglobal fossil grades2poly !! def = grades2poly *'--------------------- 32_power ---------------------------------------- -*' +*' *' * (IntC) : Power sector formulation with Integration Cost (IntC) markups and curtailment for VRE integration - linearly increasing with VRE share -, and fixed capacity factors for dispatchable power plants $setglobal power IntC !! def = IntC *'--------------------- 33_CDR ---------------------------------------- @@ -413,7 +413,7 @@ $setGlobal damages off !! def = off *' * (off): *' * (DiceLikeItr): Internalize DICE-like damages (calculate the SCC) adjust cm_damages_SccHorizon. Requires cm_emiscen set to 9 for now. *' * (BurkeLikeItr): Internalize Burke-like damages (calculate the SCC) adjust cm_damages_SccHorizo. Requires cm_emiscen set to 9 for now. -*' * (KotzWenzItr): Internalize KotzWenz damages (calculate the SCC). Requires cm_emiscen set to 9. +*' * (KotzWenzItr): Internalize KotzWenz damages (calculate the SCC). Requires cm_emiscen set to 9. *' * (KWlikeItr): Internalize damage function based on Kalkuhl & Wenz (2020). Requires cm_emiscen set to 9 for now. *' * (KWlikeItrCPnash): Internalize damage function based on Kalkuhl & Wenz (2020), but with Nash SCC, i.e. each region only internalizes its own damages. Requires cm_emiscen set to 9 for now. *' * (KWlikeItrCPreg): Internalize damage function based on Kalkuhl & Wenz (2020), but with regional SCC instead of a global uniform price. Requires cm_emiscen set to 9 for now. @@ -511,7 +511,7 @@ parameter cm_co2_tax_startyear "level of co2 tax in start year in $ per t CO2eq" ; cm_co2_tax_startyear = -1; !! def = -1 !! regexp = -1|is.nonnegative -*' * (-1): default setting equivalent to no carbon tax +*' * (-1): default setting equivalent to no carbon tax *' * (any number >= 0): co2 tax in start year [if cm_iterative_target_adj eq 0]; *' * initialization of co2 tax in start year [if cm_iterative_target_adj ne 0] *' @@ -1017,7 +1017,7 @@ parameter parameter cm_CO2priceRegConvEndYr "Year at which regional CO2 taxes converge in module 45 for realizations with differentiated carbon prices" ; - cm_CO2priceRegConvEndYr = 2050; !! def = 2050 + cm_CO2priceRegConvEndYr = 2050; !! def = 2050 *' parameter cm_co2_tax_spread "spread of carbon prices in 2025 given as a factor" @@ -1309,8 +1309,8 @@ $setGlobal cm_regiExoPrice off !! def = off *** cm_emiMktTarget = '2020.2050.EU27_regi.all.budget.netGHG_noBunkers 72, 2020.2050.DEU.all.year.netGHG_noBunkers 0.1' *** sets a 72 GtCO2eq budget target for European 27 countries (EU27_regi), for all GHG emissions excluding bunkers between 2020 and 2050; and a 100 MtCO2 CO2eq emission target for the year 2050, for Germany" *** cm_emiMktTarget = 'nzero' -*** loads hard-coded options for regional target scenarios defined in the module '47_regipol/regiCarbonPrice' declarations file. -*** The 'nzero' scenario applies declared net-zero targets for countries explicitly handled by the model (DEU, CHA, USA, IND, JPN, UKI, FRA and EU27_regi) +*** loads hard-coded options for regional target scenarios defined in the module '47_regipol/regiCarbonPrice' declarations file. +*** The 'nzero' scenario applies declared net-zero targets for countries explicitly handled by the model (DEU, CHA, USA, IND, JPN, UKI, FRA and EU27_regi) *** Requires regiCarbonPrice realization in regipol module $setGlobal cm_emiMktTarget off !! def = off *** Tolerance for regipol emission target deviations convergence. @@ -1318,8 +1318,9 @@ $setGlobal cm_emiMktTarget off !! def = off *** def = GLO 0.01, i.e. regipol emission targets must be met within 1% of target deviation *** Example on how to use: *** cm_emiMktTarget_tolerance = 'GLO 0.004, DEU 0.01'. All regional emission targets will be considered converged if they have at most 0.4% of the target deviation, except for Germany that requires 1%. -$setGlobal cm_emiMktTarget_tolerance GLO 0.01 !! def = GLO 0.01 +$setGlobal cm_emiMktTarget_tolerance GLO 0.01 !! def = GLO 0.01 *** cm_scaleDemand - Rescaling factor on final energy and usable energy demand, for selected regions and over a phase-in window. +*** Requires re-calibration in order to work. *** Example on how to use: *** cm_scaleDemand = '2020.2040.(EUR,NEU,USA,JPN,CAZ) 0.75' applies a 25% demand reduction on those regions progressively between 2020 (100% demand) and 2040 (75% demand). $setGlobal cm_scaleDemand off !! def = off @@ -1351,7 +1352,7 @@ $setGlobal cm_vehiclesSubsidies off !! def = off *** cm_implicitQttyTarget - Define quantity target for primary, secondary, final energy or CCS (PE, SE and FE in TWa, or CCS and OAE in Mt CO2) per target group (total, biomass, fossil, VRE, renewables, synthetic, ...). *** The target is achieved by an endogenous calculated markup in the form or a tax or subsidy in between iterations. *** If cm_implicitQttyTargetType is set to "config", the quantity targets will be defined directly in this switch. Check below for examples on how to do this. -*** If cm_implicitQttyTargetType is set to "scenario", you should define the list of pre-defined scenarios hard-coded in module '47_regipol' that should be active for the current run (this avoids reaching the 255 characters limit in more complex definitions). +*** If cm_implicitQttyTargetType is set to "scenario", you should define the list of pre-defined scenarios hard-coded in module '47_regipol' that should be active for the current run (this avoids reaching the 255 characters limit in more complex definitions). *** Example on how to use the switch with cm_implicitQttyTargetType = config: *** cm_implicitQttyTarget "2030.EU27_regi.tax.t.FE.all 1.03263" *** Enforce a tax (tax) that guarantees that the total (t=total) Final Energy (FE.all) in 2030 (2030) is at most the Final energy target in the Fit For 55 regulation in the European Union (EU27_regi) (1.03263 Twa). @@ -1490,9 +1491,9 @@ $setGlobal cm_trade_SE_exog off !! def off *** This essentially makes an assumption about to what extend the power demand of electrolysis will be taxed and how much tax exemptions there will be at low shares of green hydrogen production. *** The parameter a defines how fast the tax increases with increasing share, with 4/a being the percentage point range over which the tax value increases from 12% to 88% *** The parameter b defines at which share the tax is halfway between the value at 0 share and the maximum value (defined by a region's electricity tax and the electricity grid cost) that it converges to for high shares. -*** Example use: -*** cm_SEtaxRampUpParam = "GLO.elh2.a 0.2, GLO.elh2.b 20" sets the logistic function parameter values a=0.2 and b=20 for electrolysis (elh2) to all model regions (GLO). -*** cm_SEtaxRampUpParam = "off" disables v21_tau_SE_tax +*** Example use: +*** cm_SEtaxRampUpParam = "GLO.elh2.a 0.2, GLO.elh2.b 20" sets the logistic function parameter values a=0.2 and b=20 for electrolysis (elh2) to all model regions (GLO). +*** cm_SEtaxRampUpParam = "off" disables v21_tau_SE_tax *** For details, please see ./modules/21_tax/on/equations.gms. $setGlobal cm_SEtaxRampUpParam GLO.elh2.a 0.2, GLO.elh2.b 20 !! def = GLO.elh2.a 0.2, GLO.elh2.b 20 *** cm_EnSecScen "switch for running an ARIADNE energy security scenario, introducing a tax on PE fossil energy in Germany" @@ -1675,7 +1676,7 @@ $setglobal cm_year_co2_tax_hist last !! def = "last" !! regexp = last|is.no *** efficiency improvements. See ./modules/37_subsectors/datainput.gms for *** implementation. *** "default" applies the following limits: -*** +*** *** ext_regi | subsector | period | maximum "efficiency gain" [0-1] *** ---------+--------------------+--------+-------------------------------- *** GLO | ue_cement | 2050 | 0.75 From d2869ec355aa7f1515cc045b359816278f92f6b0 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Fri, 6 Sep 2024 08:37:23 +0000 Subject: [PATCH 442/875] Release development version 3.3.2.dev538 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 880ac73d2..afae1aa39 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,8 +266,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev536" -date-released: 2024-09-05 +version: "3.3.2.dev538" +date-released: 2024-09-06 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index d0f19892d..06c0740ec 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev536" +cfg$model_version <- "3.3.2.dev538" #### settings #### cfg$gms <- list() From 53b52a2625230505a72e0999e67563d67cc37605 Mon Sep 17 00:00:00 2001 From: orichters Date: Thu, 5 Sep 2024 16:03:58 +0200 Subject: [PATCH 443/875] add selectPlots output script --- CHANGELOG.md | 2 + DESCRIPTION | 4 +- output.R | 4 +- scripts/output/comparison/compareScenarios2.R | 2 +- scripts/output/comparison/selectPlots.R | 52 +++++++++++++++++++ 5 files changed, 59 insertions(+), 5 deletions(-) create mode 100644 scripts/output/comparison/selectPlots.R diff --git a/CHANGELOG.md b/CHANGELOG.md index 15149fefd..1d18a73ea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -44,6 +44,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). [[#1789](https://github.com/remindmodel/remind/pull/1789)] - **scripts** integrate automated scenario validation via piamValidation as output script [[#1790](https://github.com/remindmodel/remind/pull/1790)] +- **scripts** add interactive plotting script 'selectPlots' + [[#1815](https://github.com/remindmodel/remind/pull/1815)] ### fixed - included CCS from plastic waste incineration in CCS mass flows so it is diff --git a/DESCRIPTION b/DESCRIPTION index 521bd2f52..d1aa4b451 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -43,7 +43,7 @@ Imports: magclass, magpie4 (>= 2.3.10), magpiesets, - mip (>= 0.148.12), + mip (>= 0.149.3), modelstats, mrremind, mrvalidation, @@ -51,7 +51,7 @@ Imports: nleqslv, optparse, piamenv (>= 0.4.0), - piamInterfaces (>= 0.22.0), + piamInterfaces (>= 0.27.0), piamPlotComparison (>= 0.0.10), piamutils, plotly, diff --git a/output.R b/output.R index 87de81adb..d10c63afb 100755 --- a/output.R +++ b/output.R @@ -148,7 +148,7 @@ if (! exists("output")) { if (! exists("outputdir")) { modulesNeedingMif <- c("compareScenarios2", "xlsx_IIASA", "policyCosts", "Ariadne_output", "plot_compare_iterations", "varListHtml", "fixOnRef", "MAGICC7_AR6", - "validateScenarios", "checkClimatePercentiles") + "validateScenarios", "checkClimatePercentiles", "selectPlots") needingMif <- any(modulesNeedingMif %in% output) && ! "reporting" %in% output[[1]] if (exists("remind_dir")) { dir_folder <- c(file.path(remind_dir, "output"), remind_dir) @@ -183,7 +183,7 @@ if (! exists("outputdir")) { if (comp %in% c("comparison", "export")) { # ask for filename_prefix, if one of the modules that use it is selected - modules_using_filename_prefix <- c("compareScenarios2", "xlsx_IIASA", "varListHtml") + modules_using_filename_prefix <- c("compareScenarios2", "xlsx_IIASA", "varListHtml", "selectPlots") if (!exists("filename_prefix")) { if (any(modules_using_filename_prefix %in% output)) { filename_prefix <- choose_filename_prefix(modules = intersect(modules_using_filename_prefix, output)) diff --git a/scripts/output/comparison/compareScenarios2.R b/scripts/output/comparison/compareScenarios2.R index 65aedd71a..5f0fce3e0 100644 --- a/scripts/output/comparison/compareScenarios2.R +++ b/scripts/output/comparison/compareScenarios2.R @@ -18,7 +18,7 @@ source("./scripts/start/isSlurmAvailable.R") if (!exists("outputdirs")) { stop( "Variable outputdirs does not exist. ", - "Please call comapreScenarios.R via output.R, which defines outputdirs.") + "Please call compareScenarios.R via output.R, which defines outputdirs.") } # Find a suitable default cs2 profile depending on config.RData. diff --git a/scripts/output/comparison/selectPlots.R b/scripts/output/comparison/selectPlots.R new file mode 100644 index 000000000..1a89f951e --- /dev/null +++ b/scripts/output/comparison/selectPlots.R @@ -0,0 +1,52 @@ +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) +# | authors, and contributors see CITATION.cff file. This file is part +# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +# | AGPL-3.0, you are granted additional permissions described in the +# | REMIND License Exception, version 1.0 (see LICENSE file). +# | Contact: remind@pik-potsdam.de + +# The selectPlots script is called via output.R -> comparison -> selectPlots. +# This script expects a variable `outputdirs` to be defined. +# The variable `filename_prefix` is used if defined. +# It allows the user to select line and area plots to be collected in a pdf file. +# The user can select regions, periods and bar plot years to be used. +# Another option is whether the difference to one of the scenarios should be plotted. +# For more details, see piamInterfaces::plotIntercomparison description. + +suppressPackageStartupMessages(library(tidyverse)) +library(quitte) +library(piamInterfaces) + +if (! exists("outputdirs")) { + stop( + "Variable outputdirs does not exist. ", + "Please call selectPlots.R via output.R, which defines outputdirs.") +} + +timeStamp <- format(Sys.time(), "_%Y-%m-%d_%H.%M.%S") +if (! exists("filename_prefix")) filename_prefix <- "" +postfix <- paste0(ifelse(filename_prefix == "", "", "-"), filename_prefix, timeStamp) + +histPath <- remind2::getMifHistPath(outputdirs[1], mustWork = TRUE) + +scenario <- lucode2::getScenNames(outputdirs) +mifs <- file.path(outputdirs, paste0("REMIND_generic_", scenario, ".mif")) +newnames <- make.unique(basename(outputdirs), sep = "_") +message("Do you want to remove the timestamp from scenario names and shorten coupled runs? y/N") +if (tolower(gms::getLine()) %in% c("y", "yes")) { + newnames <- make.unique(gsub("^C_", "", gsub("-rem-([0-9]+)$", "-\\1", scenario)), sep = "_") + duplicates <- duplicated(scenario) | duplicated(scenario, fromLast = TRUE) + if (any(duplicates)) { + message("\nAvoiding duplicates:\n", + paste(paste(basename(outputdirs), "->", newnames)[duplicates], collapse = "\n")) + } +} + +message("\nLoading data...") +mifs <- lapply(seq_along(mifs), function(x) mutate(as.quitte(mifs[x]), scenario = factor(newnames[x]))) + +plotIntercomparison(list(mifs, histPath), summationsFile = "extractVariableGroups", + outputDirectory = "output/plots", + plotby = "onefile", postfix = postfix, + interactive = c("region", "period", "variable", "diffto", "yearsBarPlot")) + From f74764675b6b96e87ca8628d70b416eef1f6ddc9 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Mon, 9 Sep 2024 08:54:35 +0000 Subject: [PATCH 444/875] Release development version 3.3.2.dev541 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index afae1aa39..008b1218d 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,8 +266,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev538" -date-released: 2024-09-06 +version: "3.3.2.dev541" +date-released: 2024-09-09 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 06c0740ec..c15a3fbea 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev538" +cfg$model_version <- "3.3.2.dev541" #### settings #### cfg$gms <- list() From a38b2516383f3715a449758440fbf9332f676ce1 Mon Sep 17 00:00:00 2001 From: orichters Date: Mon, 9 Sep 2024 15:58:30 +0200 Subject: [PATCH 445/875] NDC update 2024-08-31 --- CHANGELOG.md | 2 ++ core/sets.gms | 9 ++++++++- main.gms | 4 +++- modules/45_carbonprice/NDC/realization.gms | 8 ++++---- 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1d18a73ea..f090c6bd1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - CES parameter and gdx files calibrated with new default diffLin2Lin for NPi [[#1747](https://github.com/remindmodel/remind/pull/1747)] and [[#1757](https://github.com/remindmodel/remind/pull/1757)] +- Update of NDC goals with cutoff data August 31, 2024 + [[#1816](https://github.com/remindmodel/remind/pull/1816)] ### changed - plastic waste by default does not lag plastics production by ten years diff --git a/core/sets.gms b/core/sets.gms index a101a50c1..b2c0c447c 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -1038,7 +1038,14 @@ RCP_regions_world(RCP_regions_world_bunkers) "five RCP regions plus total (world ***----------------------------------------------------------------------------- Sets counter "helper set to facilitate looping in defined order" / 1 * 20 / - NDC_version "NDC data version for NDC realizations of 40_techpol and 45_carbonprice" /2018_cond, 2018_uncond, 2021_cond, 2021_uncond, 2022_cond, 2022_uncond, 2023_cond, 2023_uncond/ + NDC_version "NDC data version for NDC realizations of 40_techpol and 45_carbonprice" + / + 2018_cond, 2018_uncond, + 2021_cond, 2021_uncond, + 2022_cond, 2022_uncond, + 2023_cond, 2023_uncond, + 2024_cond, 2024_uncond + / bounds "helper set to define upper and lower bounds read in from input data" /low, up/ ; diff --git a/main.gms b/main.gms index a9169f405..a1331486a 100755 --- a/main.gms +++ b/main.gms @@ -1207,10 +1207,12 @@ $setglobal cm_MAgPIE_coupling off !! def = "off" !! regexp = off|on *' * (rcp85): RCP8.5 $setglobal cm_rcp_scen none !! def = "none" !! regexp = none|rcp20|rcp26|rcp37|rcp45|rcp60|rcp85 *' cm_NDC_version "choose version year of NDC targets as well as conditional vs. unconditional targets" +*' * (2024_cond): all NDCs conditional to international financial support published until August 31, 2024 +*' * (2024_uncond): all NDCs independent of international financial support published until August 31, 2024 *' * (2023_cond): all NDCs conditional to international financial support published until December 31, 2023 *' * (2023_uncond): all NDCs independent of international financial support published until December 31, 2023 *' * Other supported years are 2022, 2021 and 2018, always containing NDCs published until December 31 of that year -$setglobal cm_NDC_version 2023_cond !! def = "2023_cond" !! regexp = 20(18|2[1-3])_(un)?cond +$setglobal cm_NDC_version 2023_cond !! def = "2023_cond" !! regexp = 20(18|2[1-4])_(un)?cond *' cm_netZeroScen "choose scenario of net zero targets of netZero realization of module 46_carbonpriceRegi" *' *' (NGFS_v4): settings used for NGFS v4, 2023 diff --git a/modules/45_carbonprice/NDC/realization.gms b/modules/45_carbonprice/NDC/realization.gms index 4997752d1..86029bce2 100644 --- a/modules/45_carbonprice/NDC/realization.gms +++ b/modules/45_carbonprice/NDC/realization.gms @@ -12,11 +12,11 @@ *' @limitations The NDC emission target refers to GHG emissions w/o land-use change and international bunkers. However, the submitted NDC targets of *' several countries include land-use emissions (e.g. Australia and US). See https://www4.unfccc.int/sites/NDCStaging/Pages/All.aspx. To be checked! -*** Next update (2023): -*** - Add NDC_2024.xlsx in /p/projects/rd3mod/inputdata/sources/UNFCCC_NDC/ on cluster, see README.txt in this folder +*** Next update (2025): +*** - Add NDC_2025-12-31.xlsx in /p/projects/rd3mod/inputdata/sources/UNFCCC_NDC/ on cluster, see README.txt in this folder *** - Set switch cm_NDC_version in ./main.gms to new year -*** - add 2024_cond, 2024_uncond to set NDC_version in ./core/sets.gms -*** - Add new 2024 option in mrremind: calcEmiTarget, calcCapTarget, readUNFCCC_NDC +*** - add 2025_cond, 2025_uncond to set NDC_version in ./core/sets.gms +*** - Add new 2026 option in mrremind: calcEmiTarget, calcCapTarget, readUNFCCC_NDC *####################### R SECTION START (PHASES) ############################## From 650c615b2d235dd285cf64e54fdfb34189fd0012 Mon Sep 17 00:00:00 2001 From: Felicitas Date: Mon, 9 Sep 2024 16:13:49 +0200 Subject: [PATCH 446/875] bugfix scenario naming in path_gdx column of EL2p0 project config --- config/scenario_config_EL2p0DeepDive.csv | 32 ++++++++++++------------ 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/config/scenario_config_EL2p0DeepDive.csv b/config/scenario_config_EL2p0DeepDive.csv index 2ab69fbd6..9939bdaa2 100644 --- a/config/scenario_config_EL2p0DeepDive.csv +++ b/config/scenario_config_EL2p0DeepDive.csv @@ -5,35 +5,35 @@ SSP2EU-NDC;1,AMT;;1.5;;;;;;rcp45;3;globallyOptimal;0;NDC;;;;9;;;;;;;;;;;;NDC;reg SSP2EU-NPi;1,AMT,compileInTests;;1.5;;;;;;rcp45;3;;0;NPi;;;;9;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2EU-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. SSP2EU-noDSPkB500-noDS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 500 SSP2EU-DSPkB500-DS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 500 -SSP2EU-noDSPkB500-DS_betax_DeepDive;1,AMT;SSP2EU-noDSPkB500-noDS_betax;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 without diet change, but includes diet change in magpie -SSP2EU-DSPkB500-noDS_betax_DeepDive;1,AMT;SSP2EU-DSPkB500-DS_betax;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 with diet change, but does not include diet change in magpie +SSP2EU-noDSPkB500-DS_betax_DeepDive;1,AMT;SSP2EU-noDSPkB500-noDS_betax_DeepDive;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 without diet change, but includes diet change in magpie +SSP2EU-DSPkB500-noDS_betax_DeepDive;1,AMT;SSP2EU-DSPkB500-DS_betax_DeepDive;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 with diet change, but does not include diet change in magpie SSP2EU-noDSPkB650-noDS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 650 SSP2EU-DSPkB650-DS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 650 -SSP2EU-noDSPkB650-DS_betax_DeepDive;1,AMT;SSP2EU-noDSPkB650-noDS_betax;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 without diet change, but includes diet change in magpie -SSP2EU-DSPkB650-noDS_betax_DeepDive;1,AMT;SSP2EU-DSPkB650-DS_betax;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 with diet change, but does not include diet change in magpie +SSP2EU-noDSPkB650-DS_betax_DeepDive;1,AMT;SSP2EU-noDSPkB650-noDS_betax_DeepDive;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 without diet change, but includes diet change in magpie +SSP2EU-DSPkB650-noDS_betax_DeepDive;1,AMT;SSP2EU-DSPkB650-DS_betax_DeepDive;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 with diet change, but does not include diet change in magpie SSP2EU-noDSPkB1050-noDS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;diffCurvPhaseIn2Lin;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 1050 SSP2EU-DSPkB1050-DS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;diffCurvPhaseIn2Lin;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 1050 -SSP2EU-noDSPkB1050-DS_betax_DeepDive;1,AMT;SSP2EU-noDSPkB1050-noDS_betax;1.5;;;;;;rcp26;9;globallyOptimal;1050;exogenous;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 1050 without diet change, but includes diet change in magpie -SSP2EU-DSPkB1050-noDS_betax_DeepDive;1,AMT;SSP2EU-DSPkB1050-DS_betax;1.5;;;;;;rcp26;9;globallyOptimal;1050;exogenous;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 1050 with diet change, but does not include diet change in magpie +SSP2EU-noDSPkB1050-DS_betax_DeepDive;1,AMT;SSP2EU-noDSPkB1050-noDS_betax_DeepDive;1.5;;;;;;rcp26;9;globallyOptimal;1050;exogenous;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 1050 without diet change, but includes diet change in magpie +SSP2EU-DSPkB1050-noDS_betax_DeepDive;1,AMT;SSP2EU-DSPkB1050-DS_betax_DeepDive;1.5;;;;;;rcp26;9;globallyOptimal;1050;exogenous;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 1050 with diet change, but does not include diet change in magpie SSP2EU-noDSPkB500-noDS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 500 SSP2EU-DSPkB500-DS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 500 -SSP2EU-noDSPkB500-DS_betax_AgMIP;1,AMT;SSP2EU-noDSPkB500-noDS_betax;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 without diet change, but includes diet change in magpie -SSP2EU-DSPkB500-noDS_betax_AgMIP;1,AMT;SSP2EU-DSPkB500-DS_betax;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 with diet change, but does not include diet change in magpie +SSP2EU-noDSPkB500-DS_betax_AgMIP;1,AMT;SSP2EU-noDSPkB500-noDS_betax_AgMIP;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 without diet change, but includes diet change in magpie +SSP2EU-DSPkB500-noDS_betax_AgMIP;1,AMT;SSP2EU-DSPkB500-DS_betax_AgMIP;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 with diet change, but does not include diet change in magpie SSP2EU-noDSPkB650-noDS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 650 SSP2EU-DSPkB650-DS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 650 -SSP2EU-noDSPkB650-DS_betax_AgMIP;1,AMT;SSP2EU-noDSPkB650-noDS_betax;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 without diet change, but includes diet change in magpie -SSP2EU-DSPkB650-noDS_betax_AgMIP;1,AMT;SSP2EU-DSPkB650-DS_betax;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 with diet change, but does not include diet change in magpie +SSP2EU-noDSPkB650-DS_betax_AgMIP;1,AMT;SSP2EU-noDSPkB650-noDS_betax_AgMIP;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 without diet change, but includes diet change in magpie +SSP2EU-DSPkB650-noDS_betax_AgMIP;1,AMT;SSP2EU-DSPkB650-DS_betax_AgMIP;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 with diet change, but does not include diet change in magpie SSP2EU-noDSPkB1050-noDS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;diffCurvPhaseIn2Lin;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 1050 SSP2EU-DSPkB1050-DS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;diffCurvPhaseIn2Lin;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 1050 -SSP2EU-noDSPkB1050-DS_betax_AgMIP;1,AMT;SSP2EU-noDSPkB1050-noDS_betax;1.5;;;;;;rcp26;9;globallyOptimal;1050;exogenous;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 1050 without diet change, but includes diet change in magpie -SSP2EU-DSPkB1050-noDS_betax_AgMIP;1,AMT;SSP2EU-DSPkB1050-DS_betax;1.5;;;;;;rcp26;9;globallyOptimal;1050;exogenous;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 1050 with diet change, but does not include diet change in magpie +SSP2EU-noDSPkB1050-DS_betax_AgMIP;1,AMT;SSP2EU-noDSPkB1050-noDS_betax_AgMIP;1.5;;;;;;rcp26;9;globallyOptimal;1050;exogenous;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 1050 without diet change, but includes diet change in magpie +SSP2EU-DSPkB1050-noDS_betax_AgMIP;1,AMT;SSP2EU-DSPkB1050-DS_betax_AgMIP;1.5;;;;;;rcp26;9;globallyOptimal;1050;exogenous;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 1050 with diet change, but does not include diet change in magpie SSP2EU-noDSPkB500-noDS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 500 SSP2EU-DSPkB500-DS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 500 -SSP2EU-noDSPkB500-DS_betax_DeepDive_noNDC;1,AMT;SSP2EU-noDSPkB500-noDS_betax;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 without diet change, but includes diet change in magpie -SSP2EU-DSPkB500-noDS_betax_DeepDive_noNDC;1,AMT;SSP2EU-DSPkB500-DS_betax;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 with diet change, but does not include diet change in magpie +SSP2EU-noDSPkB500-DS_betax_DeepDive_noNDC;1,AMT;SSP2EU-noDSPkB500-noDS_betax_DeepDive_noNDC;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 without diet change, but includes diet change in magpie +SSP2EU-DSPkB500-noDS_betax_DeepDive_noNDC;1,AMT;SSP2EU-DSPkB500-DS_betax_DeepDive_noNDC;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 with diet change, but does not include diet change in magpie SSP2EU-noDSPkB650-noDS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 650 SSP2EU-DSPkB650-DS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 650 -SSP2EU-noDSPkB650-DS_betax_DeepDive_noNDC;1,AMT;SSP2EU-noDSPkB650-noDS_betax;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 without diet change, but includes diet change in magpie -SSP2EU-DSPkB650-noDS_betax_DeepDive_noNDC;1,AMT;SSP2EU-DSPkB650-DS_betax;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 with diet change, but does not include diet change in magpie +SSP2EU-noDSPkB650-DS_betax_DeepDive_noNDC;1,AMT;SSP2EU-noDSPkB650-noDS_betax_DeepDive_noNDC;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 without diet change, but includes diet change in magpie +SSP2EU-DSPkB650-noDS_betax_DeepDive_noNDC;1,AMT;SSP2EU-DSPkB650-DS_betax_DeepDive_noNDC;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 with diet change, but does not include diet change in magpie SSP2EU-noDSPkB1050-noDS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;diffCurvPhaseIn2Lin;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 1050 SSP2EU-DSPkB1050-DS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;diffCurvPhaseIn2Lin;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 1050 From 14b7f53026b41e4d116ec1c6560a13a08212de9f Mon Sep 17 00:00:00 2001 From: Jakob Duerrwaechter Date: Mon, 9 Sep 2024 16:21:22 +0200 Subject: [PATCH 447/875] introduce shares which materials contribute to a ue --- modules/37_industry/subsectors/datainput.gms | 13 +++++++++++++ modules/37_industry/subsectors/declarations.gms | 3 ++- modules/37_industry/subsectors/equations.gms | 9 +++++---- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/modules/37_industry/subsectors/datainput.gms b/modules/37_industry/subsectors/datainput.gms index 9ed2e8afc..cfc15b599 100644 --- a/modules/37_industry/subsectors/datainput.gms +++ b/modules/37_industry/subsectors/datainput.gms @@ -647,6 +647,19 @@ $endif.cm_subsec_model_steel *** -------------------------------- +p37_ue_share(all_enty,all_in) = 0.; +$ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" +p37_ue_share("sesteel","ue_steel_secondary") = 1.; +p37_ue_share("prsteel","ue_steel_primary") = 1.; +$endif.cm_subsec_model_steel +loop(ppfUePrc(in), + if(abs(sum(mat,p37_ue_share(mat,in))-1.) gt sm_eps, + abort "p37_ue_share must add to one for each ue"; + ); +); + +*** -------------------------------- + p37_captureRate(all_te) = 0.; p37_selfCaptureRate(all_te) = 0.; $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" diff --git a/modules/37_industry/subsectors/declarations.gms b/modules/37_industry/subsectors/declarations.gms index 54221db44..43d7606f6 100644 --- a/modules/37_industry/subsectors/declarations.gms +++ b/modules/37_industry/subsectors/declarations.gms @@ -29,6 +29,7 @@ Parameters p37_specFeDemTarget(all_enty,all_te,opmoPrc) "Best available technology (will be reached in convergence year) [TWa/Gt_output]" pm_outflowPrcIni(all_regi,all_te,opmoPrc) "Exogenously prescribed production volume of processes in start year (from IEA data)" p37_mat2ue(all_enty,all_in) "Contribution of process output to ue in CES tree; Trivial if just one material per UE, as in steel [Gt/Gt]" + p37_ue_share(all_enty,all_in) "Fixed share of material in ue" p37_captureRate(all_te) "Capture rate of CCS technology" p37_selfCaptureRate(all_te) "Share of emissions from fossil fuels used for a CCS process which are captured by the CCS process itself" p37_priceMat(all_enty) "Prices of external material input [2005$/kg = trn2005$/Gt]" @@ -121,7 +122,7 @@ $endif.no_calibration !! process-based implementation q37_demMatPrc(tall,all_regi,mat) "Material demand of processes" q37_prodMat(tall,all_regi,mat) "Production volume of processes equals material flow of output material" - q37_mat2ue(tall,all_regi,all_in) "Connect materials production to ue ces tree nodes" + q37_mat2ue(tall,all_regi,mat,all_in) "Connect materials production to ue ces tree nodes" q37_limitCapMat(tall,all_regi,all_te) "Material-flow conversion is limited by capacities" q37_emiPrc(ttot,all_regi,all_enty,all_te,opmoPrc) "Local industry emissions pre-capture; Only used as baseline for CCS [GtC/a]" q37_emiCCPrc(tall,all_regi,emiInd37) "Captured emissions from CCS" diff --git a/modules/37_industry/subsectors/equations.gms b/modules/37_industry/subsectors/equations.gms index e1875867d..45fe5b944 100644 --- a/modules/37_industry/subsectors/equations.gms +++ b/modules/37_industry/subsectors/equations.gms @@ -81,7 +81,7 @@ $endif.exogDem_scen *' energy mix, as that is what can be captured); vm_emiIndBase itself is not used for emission *' accounting, just as a CCS baseline. ***------------------------------------------------------ -q37_emiIndBase(t,regi,enty,secInd37)$( entyFeCC37(enty) +q37_emiIndBase(t,regi,enty,secInd37)$( entyFeCC37(enty) OR sameas(enty,"co2cement_process") ) .. vm_emiIndBase(t,regi,enty,secInd37) =e= @@ -403,9 +403,10 @@ q37_prodMat(t,regi,mat)$( matOut(mat) ) .. ***------------------------------------------------------ *' Hand-over to CES ***------------------------------------------------------ -q37_mat2ue(t,regi,in)$( ppfUePrc(in) ) .. - vm_cesIO(t,regi,in) - + pm_cesdata(t,regi,in,"offset_quantity") +q37_mat2ue(t,regi,mat,in)$( ppfUePrc(in) ) .. + (vm_cesIO(t,regi,in) + + pm_cesdata(t,regi,in,"offset_quantity")) + * p37_ue_share(mat,in) =e= sum(mat2ue(mat,in), p37_mat2ue(mat,in) From c3f5461abfcf2366f7bf48b3689954f189c26b07 Mon Sep 17 00:00:00 2001 From: David Klein Date: Mon, 9 Sep 2024 17:55:47 +0200 Subject: [PATCH 448/875] During start up don't stop REMIND if the validation.tgz could not be found. This file cannot be published to external users. However, since is not required for the execution of REMIND (only for compareScenarios), external users should still be able to run the model even without the file. --- scripts/start/updateInputData.R | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/scripts/start/updateInputData.R b/scripts/start/updateInputData.R index 123efb62f..6f83d4635 100644 --- a/scripts/start/updateInputData.R +++ b/scripts/start/updateInputData.R @@ -10,8 +10,8 @@ #' @param gamsCompile if set to TRUE, missing files don't trigger reload and most messages are suppressed updateInputData <- function(cfg, remindPath = ".", gamsCompile = FALSE) { - # write name of corresponding CES file to datainput.gms + # write name of corresponding CES file to datainput.gms cfg$gms$cm_CES_configuration <- calculate_CES_configuration(cfg, path = remindPath) if(file.exists("input/source_files.log")) { @@ -22,8 +22,12 @@ updateInputData <- function(cfg, remindPath = ".", gamsCompile = FALSE) { regicode <- madrat::regionscode(file.path(remindPath, cfg$regionmapping)) input_new <- c(paste0("rev",cfg$inputRevision,"_",regicode,"_", tolower(cfg$model_name),".tgz"), paste0("rev",cfg$inputRevision,"_",regicode,ifelse(cfg$extramappings_historic == "","",paste0("-", madrat::regionscode(cfg$extramappings_historic))),"_", tolower(cfg$validationmodel_name),".tgz"), - paste0("CESparametersAndGDX_",cfg$CESandGDXversion,".tgz")) - # check if all input files are there + paste0("CESparametersAndGDX_",cfg$CESandGDXversion,".tgz")) + + # Specify for each element of input_new whether to stop if the respective file could not be downloaded + stopOnMissing <- c(TRUE, FALSE, TRUE) + + # check if all input files are already there missinginput <- if (isTRUE(gamsCompile)) NULL else missingInputData() # download and distribute needed data @@ -37,7 +41,7 @@ updateInputData <- function(cfg, remindPath = ".", gamsCompile = FALSE) { repositories = cfg$repositories, # defined in your environment variables modelfolder = remindPath, debug = FALSE, - stopOnMissing = ! isTRUE(gamsCompile)) + stopOnMissing = if (isTRUE(gamsCompile)) FALSE else stopOnMissing) ) } else if (! isTRUE(gamsCompile)) { message("No input data downloaded and distributed. To enable that, delete input/source_files.log or set cfg$force_download to TRUE.") From 4a9f7afb6c72c0a82edb855f435c78af02b3977d Mon Sep 17 00:00:00 2001 From: Jakob Duerrwaechter Date: Mon, 9 Sep 2024 18:14:30 +0200 Subject: [PATCH 449/875] procss-based industry general historic production formulation --- modules/05_initialCap/on/preloop.gms | 10 +-- modules/37_industry/subsectors/bounds.gms | 18 +---- modules/37_industry/subsectors/datainput.gms | 68 ++++++++++++------- .../37_industry/subsectors/declarations.gms | 5 +- 4 files changed, 56 insertions(+), 45 deletions(-) diff --git a/modules/05_initialCap/on/preloop.gms b/modules/05_initialCap/on/preloop.gms index 3e7c9be6c..d30e59d9d 100644 --- a/modules/05_initialCap/on/preloop.gms +++ b/modules/05_initialCap/on/preloop.gms @@ -48,7 +48,7 @@ q05_eedemini(regi,enty).. + sum(tePrc2opmoPrc(tePrc,opmoPrc)$(pm_specFeDem("2005",regi,enty,tePrc,opmoPrc) gt 0.), pm_specFeDem("2005",regi,enty,tePrc,opmoPrc) * - pm_outflowPrcIni(regi,tePrc,opmoPrc) + pm_outflowPrcHist("2005",regi,tePrc,opmoPrc) )$(entyFeStat(enty)) ) * s05_inic_switch !! Transformation pathways that consume this enty: @@ -122,9 +122,9 @@ display v05_INIdemEn0.l, v05_INIcap0.l; p05_cap0(regi,te) = v05_INIcap0.l(regi,te); $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" -p05_cap0(regi,'bof') = pm_outflowPrcIni(regi,'bof','unheated') / pm_cf("2005",regi,'bof'); -p05_cap0(regi,'bf') = pm_outflowPrcIni(regi,'bf','standard') / pm_cf("2005",regi,'bf'); -p05_cap0(regi,'eaf') = pm_outflowPrcIni(regi,'eaf','sec') / pm_cf("2005",regi,'eaf'); +p05_cap0(regi,'bof') = pm_outflowPrcHist("2005",regi,'bof','unheated') / pm_cf("2005",regi,'bof'); +p05_cap0(regi,'bf') = pm_outflowPrcHist("2005",regi,'bf','standard') / pm_cf("2005",regi,'bf'); +p05_cap0(regi,'eaf') = pm_outflowPrcHist("2005",regi,'eaf','sec') / pm_cf("2005",regi,'eaf'); p05_cap0(regi,'idr') = 0.; p05_cap0(regi,"bfcc") =0.; p05_cap0(regi,"idrcc") =0.; @@ -543,7 +543,7 @@ if (cm_startyear gt 2005, *** Only the eta values of chp technologies have been adapted by initialCap script above. *** This is to avoid overwriting all of pm_data and make sure that scenario switches which adapt pm_data before this module work as intended. Execute_Loadpoint 'input_ref' p05_pmdata_ref = pm_data; - pm_data(regi,char,te)$( (sameas(te,"coalchp") + pm_data(regi,char,te)$( (sameas(te,"coalchp") OR sameas(te,"gaschp") OR sameas(te,"biochp") ) AND sameas(char,"eta") ) = p05_pmdata_ref(regi,char,te); diff --git a/modules/37_industry/subsectors/bounds.gms b/modules/37_industry/subsectors/bounds.gms index 623ff6419..b7dd65909 100755 --- a/modules/37_industry/subsectors/bounds.gms +++ b/modules/37_industry/subsectors/bounds.gms @@ -137,21 +137,9 @@ $drop cm_indstExogScen_set $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" !! fix processes procudction in historic years if (cm_startyear eq 2005, - loop(regi, - loop(tePrc2opmoPrc(tePrc,opmoPrc), - vm_outflowPrc.fx("2005",regi,tePrc,opmoPrc) = pm_outflowPrcIni(regi,tePrc,opmoPrc); + loop((ttot,regi,tePrc2opmoPrc(tePrc,opmoPrc))$(ttot.val ge 2005 AND ttot.val le 2020), + vm_outflowPrc.fx(ttot,regi,tePrc,opmoPrc) = pm_outflowPrcHist(ttot,regi,tePrc,opmoPrc); ); - ); - - loop(regi, - loop(ttot$(ttot.val ge 2005 AND ttot.val le 2020), - vm_outflowPrc.fx(ttot,regi,"eaf","pri") = 0.; - vm_outflowPrc.fx(ttot,regi,"idr","ng") = 0.; - vm_outflowPrc.fx(ttot,regi,"idr","h2") = 0.; - vm_outflowPrc.fx(ttot,regi,"bfcc","standard") = 0.; - vm_outflowPrc.fx(ttot,regi,"idrcc","ng") = 0.; - ); - ); ); !! Switch to turn off steel CCS @@ -173,7 +161,7 @@ $endif.fixedUE_scenario *** fix plastic waste to zero until 2010, and possible to reference scenario *** values between 2015 and cm_startyear -v37_plasticWaste.fx(t,regi,entySe,entyFe,emiMkt)$( +v37_plasticWaste.fx(t,regi,entySe,entyFe,emiMkt)$( t.val lt max(2015, cm_startyear) AND sefe(entySe,entyFe) AND entyFE2sector2emiMkt_NonEn(entyFe,"indst",emiMkt) ) diff --git a/modules/37_industry/subsectors/datainput.gms b/modules/37_industry/subsectors/datainput.gms index cfc15b599..7677e82ff 100644 --- a/modules/37_industry/subsectors/datainput.gms +++ b/modules/37_industry/subsectors/datainput.gms @@ -654,10 +654,27 @@ p37_ue_share("prsteel","ue_steel_primary") = 1.; $endif.cm_subsec_model_steel loop(ppfUePrc(in), if(abs(sum(mat,p37_ue_share(mat,in))-1.) gt sm_eps, + display p37_ue_share; abort "p37_ue_share must add to one for each ue"; ); ); +*** -------------------------------- +p37_teMatShareHist(tePrc,opmoPrc,mat) = 0.; +$ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" +p37_teMatShareHist("bof","unheated","prsteel") = 1.; +p37_teMatShareHist("eaf","sec","sesteel") = 1.; +$endif.cm_subsec_model_steel +loop(matFin(mat), + if(abs(sum((tePrc,opmoPrc),p37_teMatShareHist(tePrc,opmoPrc,mat))-1.) gt sm_eps, + display p37_teMatShareHist; + abort "p37_teMatShareHist must add to one for each matFin"; + ); +); +if(sum((tePrc,opmoPrc,mat)$(not matFin(mat)), p37_teMatShareHist(tePrc,opmoPrc,mat)) gt sm_eps, + display p37_teMatShareHist; + abort "p37_teMatShareHist must only be non-zero for matFin"; +); *** -------------------------------- p37_captureRate(all_te) = 0.; @@ -686,19 +703,27 @@ $endif.cm_subsec_model_steel *** -------------------------------- pm_specFeDem(tall,all_regi,all_enty,all_te,opmoPrc) = 0.; -pm_outflowPrcIni(all_regi,all_te,opmoPrc) = 0.; +pm_outflowPrcHist(ttot,all_regi,all_te,opmoPrc) = 0.; $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" if (cm_startyear eq 2005, - pm_outflowPrcIni(regi,"bof","unheated") = pm_fedemand("2005",regi,"ue_steel_primary"); - pm_outflowPrcIni(regi,"bf","standard") = p37_specMatDem("pigiron","bof","unheated") * pm_outflowPrcIni(regi,"bof","unheated"); - pm_outflowPrcIni(regi,"eaf","sec") = pm_fedemand("2005",regi,"ue_steel_secondary"); - pm_outflowPrcIni(regi,"eaf","pri") = 0.; - pm_outflowPrcIni(regi,"idr","ng") = 0.; - pm_outflowPrcIni(regi,"idr","h2") = 0.; - pm_outflowPrcIni(regi,"bfcc","standard") = 0.; - pm_outflowPrcIni(regi,"idrcc","ng") = 0.; - loop(ttot$(ttot.val ge 2005 AND ttot.val le 2020), + + + !! 2nd stage tech + loop((tePrc2matOut(tePrc,opmoPrc,mat), mat2ue(mat,in)), + pm_outflowPrcHist(ttot,regi,tePrc,opmoPrc) = pm_fedemand(ttot,regi,in) / p37_mat2ue(mat,in) * p37_teMatShareHist(tePrc,opmoPrc,mat); + ); + + !! 1st stage tech + loop((tePrc1,opmoPrc1,mat)$( + sum((tePrc2,opmoPrc2), tePrc2matIn(tePrc2,opmoPrc2,mat)) + AND tePrc2matOut(tePrc1,opmoPrc1,mat)), + pm_outflowPrcHist(ttot,regi,tePrc1,opmoPrc1) + = sum((tePrc2matOut(tePrc1,opmoPrc1,mat), + tePrc2matIn(tePrc2,opmoPrc2,mat)), + p37_specMatDem(mat,tePrc2,opmoPrc2) * pm_outflowPrcHist(ttot,regi,tePrc2,opmoPrc2) ); + ); + !! CC tech implicitly set to zero, since not part of the above sets pm_specFeDem(ttot,regi,"feh2s","idr","h2") = p37_specFeDemTarget("feh2s","idr","h2"); pm_specFeDem(ttot,regi,"feels","idr","h2") = p37_specFeDemTarget("feels","idr","h2"); @@ -721,22 +746,19 @@ if (cm_startyear eq 2005, ); !! loop over other years and blend - loop(entyFeStat(all_enty), - loop(tePrc(all_te), - loop(opmoPrc, - if( (p37_specFeDemTarget(all_enty,all_te,opmoPrc) gt 0.), - loop(ttot$(ttot.val > 2020), - !! fedemand in excess of BAT halves until 2055 - !! gams cannot handle float exponents, so pre-compute 0.5^(1/(2055-2020)) = 0.9804 - pm_specFeDem(ttot,regi,all_enty,all_te,opmoPrc) - = p37_specFeDemTarget(all_enty,all_te,opmoPrc) - + (pm_specFeDem("2020",regi,all_enty,all_te,opmoPrc) - p37_specFeDemTarget(all_enty,all_te,opmoPrc)) - * power(0.9804, ttot.val - 2020) ; - ); - ); + loop((entyFeStat(all_enty), tePrc(all_te), opmoPrc), + if( (p37_specFeDemTarget(all_enty,all_te,opmoPrc) gt 0.), + loop(ttot$(ttot.val > 2020), + !! fedemand in excess of BAT halves until 2055 + !! gams cannot handle float exponents, so pre-compute 0.5^(1/(2055-2020)) = 0.9804 + pm_specFeDem(ttot,regi,all_enty,all_te,opmoPrc) + = p37_specFeDemTarget(all_enty,all_te,opmoPrc) + + (pm_specFeDem("2020",regi,all_enty,all_te,opmoPrc) - p37_specFeDemTarget(all_enty,all_te,opmoPrc)) + * power(0.9804, ttot.val - 2020) ; ); ); ); + ); if (cm_startyear gt 2005, diff --git a/modules/37_industry/subsectors/declarations.gms b/modules/37_industry/subsectors/declarations.gms index 43d7606f6..c66aee959 100644 --- a/modules/37_industry/subsectors/declarations.gms +++ b/modules/37_industry/subsectors/declarations.gms @@ -26,10 +26,11 @@ Parameters !! process-based implementation p37_specMatDem(mat,all_te,opmoPrc) "Specific materials demand of a production technology and operation mode [t_input/t_output]" pm_specFeDem(tall,all_regi,all_enty,all_te,opmoPrc) "Actual specific final-energy demand of a tech; blends between IEA data and Target [TWa/Gt_output]" - p37_specFeDemTarget(all_enty,all_te,opmoPrc) "Best available technology (will be reached in convergence year) [TWa/Gt_output]" - pm_outflowPrcIni(all_regi,all_te,opmoPrc) "Exogenously prescribed production volume of processes in start year (from IEA data)" + p37_specFeDemTarget(all_enty,all_te,opmoPrc) "Best available technology (will be reached in convergence year) [TWa/Gt_output]" + pm_outflowPrcHist(tall,all_regi,all_te,opmoPrc) "Exogenously prescribed production volume of processes in start year (from IEA data)" p37_mat2ue(all_enty,all_in) "Contribution of process output to ue in CES tree; Trivial if just one material per UE, as in steel [Gt/Gt]" p37_ue_share(all_enty,all_in) "Fixed share of material in ue" + p37_teMatShareHist(all_te,opmoPrc,mat) "Share that a tePrc/opmoPrc historically contibrutes to production of a matFin" p37_captureRate(all_te) "Capture rate of CCS technology" p37_selfCaptureRate(all_te) "Share of emissions from fossil fuels used for a CCS process which are captured by the CCS process itself" p37_priceMat(all_enty) "Prices of external material input [2005$/kg = trn2005$/Gt]" From e4029a833c6f1fe8fa9efe02d608ec6e38804a2e Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 10 Sep 2024 06:23:16 +0000 Subject: [PATCH 450/875] Release development version 3.3.2.dev544 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 008b1218d..788f3f6fc 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,8 +266,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev541" -date-released: 2024-09-09 +version: "3.3.2.dev544" +date-released: 2024-09-10 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index c15a3fbea..52aef3921 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev541" +cfg$model_version <- "3.3.2.dev544" #### settings #### cfg$gms <- list() From 8965060b6434172ea684e9a4d2015d9a62fb8b06 Mon Sep 17 00:00:00 2001 From: orichters Date: Mon, 9 Sep 2024 18:00:14 +0200 Subject: [PATCH 451/875] check configs for undefined scenarios --- CHANGELOG.md | 2 ++ config/scenario_config_coupled_GCS.csv | 14 +++++++------- scripts/start/readCheckScenarioConfig.R | 11 +++++++++++ tests/testthat/test_01-readCheckScenarioConfig.R | 6 +++++- 4 files changed, 25 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1d18a73ea..f0eb6c6c8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -46,6 +46,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). [[#1790](https://github.com/remindmodel/remind/pull/1790)] - **scripts** add interactive plotting script 'selectPlots' [[#1815](https://github.com/remindmodel/remind/pull/1815)] +- **scripts** in readCheckScenarioConfig() while running tests, check if all scenarios stated in path_gdx* columns exist + [[#1818](https://github.com/remindmodel/remind/pull/1818)] ### fixed - included CCS from plastic waste incineration in CCS mass flows so it is diff --git a/config/scenario_config_coupled_GCS.csv b/config/scenario_config_coupled_GCS.csv index a169c9019..f2ed4d400 100644 --- a/config/scenario_config_coupled_GCS.csv +++ b/config/scenario_config_coupled_GCS.csv @@ -1,5 +1,5 @@ title;start;qos;oldrun;path_report;config/scenario_config.csv;config/projects/scenario_config_gcs.csv;no_ghgprices_land_until;path_gdx;path_gdx_ref;path_gdx_bau;path_mif_ghgprice_land -SSP2-Base;0;priority;;;SSP2|NPI|nocc;;y2150;/p/projects/piam/abrahao/runs_gcsf/phase2_dec/remind/output/C_SSP2-Base-rem-1/fulldata.gdx;;; +SSP2-Base;0;priority;;;SSP2|NPI|nocc;;y2150;;;; SSP2-Tall-PkBudg750;0;priority;;;SSP2|NDC|cc|rcp1p9;Tland|GCSF;y2020;SSP2-NDC;SSP2-NPi;SSP2-Base; SSP2-NDC;0;short;;;SSP2|NDC|cc|rcp4p5;GCSF;y2150;SSP2-Base;SSP2-Base;SSP2-Base; SSP2-NPi;0;priority;;;SSP2|NPI|cc|rcp4p5;GCSF;y2150;SSP2-NDC;SSP2-Base;SSP2-Base; @@ -8,7 +8,7 @@ SSP2-ENEcp;0;short;;;SSP2|NPI|cc|rcp2p6;GCSF;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; SSP2-ENEelec;0;short;;;SSP2|NPI|cc|rcp2p6;GCSF;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; SSP2-ENEcp-ENEcc;0;short;;;SSP2|NPI|cc|rcp2p6;GCSF;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; SSP2-Tene;0;priority;;;SSP2|NPI|cc|rcp2p6;GCSF;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; -SSP2-Tpc;0;priority;;;SSP2|NPI|cc|rcp2p6;GCSF;y2150;/p/projects/piam/abrahao/runs_gcsf/phase2_biofix/remind/output/bkp_tpcfix/C_SSP2-Tpc-rem-5/fulldata.gdx;SSP2-NPi;SSP2-Base; +SSP2-Tpc;0;priority;;;SSP2|NPI|cc|rcp2p6;GCSF;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; SSP2-LNDcp;0;short;;;SSP2|NPI|cc|rcp2p6;GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 SSP2-LNDndc;0;short;;;SSP2|NDC|cc|rcp2p6;GCSF;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; SSP2-LNDlbs;0;short;;;SSP2|NPI|cc|rcp2p6;LNDlbs|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 @@ -26,7 +26,7 @@ SDP-Tall-PkBudg750;0;short;;;SDP|NDC|cc|rcp1p9;Tland|GCSF;y2020;SSP2-NDC;SSP2-NP SDP-Tall-exoCP;0;short;;;SDP|NDC|cc|rcp1p9;Tland|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 SSP1-Tall-exoCP;0;short;;;SSP1|NDC|cc|rcp1p9;Tland|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 SSP2-Tene-rcp45;0;short;;;SSP2|NPI|cc|rcp4p5;GCSF;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; -SSP2-Tpc-rcp45;0;priority;;;SSP2|NPI|cc|rcp4p5;GCSF;y2150;/p/projects/piam/abrahao/runs_gcsf/phase2_biofix/remind/output/bkp_tpcfix/C_SSP2-Tpc-rem-5/fulldata.gdx;SSP2-NPi;SSP2-Base; +SSP2-Tpc-rcp45;0;priority;;;SSP2|NPI|cc|rcp4p5;GCSF;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; SSP2-Tland-rcp45;0;short;;;SSP2|NDC|cc|rcp4p5;Tland|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 SSP2-LNDndc-rcp45;0;short;;;SSP2|NDC|cc|rcp4p5;GCSF;y2150;SSP2-NDC;SSP2-NPi;SSP2-Base; SSP2-LNDlbs-rcp45;0;short;;;SSP2|NPI|cc|rcp4p5;LNDlbs|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 @@ -42,7 +42,7 @@ SSP2-notrans-PkBudg750;0;short;;;SSP2|NDC|cc|rcp2p6;GCSF;y2020;SSP2-Tall-PkBudg7 SSP2-notrans-PkBudg500;0;short;;;SSP2|NDC|cc|rcp2p6;GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base; SSP2-CPonly;0;short;;;SSP2|NPI|cc|rcp2p6;GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-NPi;SSP2-Base;SSP2-Tall-PkBudg750 SSP2-lowEnBase;0;short;;;SSP2|NPI|nocc;GCSF;y2150;;;; -SSP2-sens-Tall-PkBudg750;0;short;;;SSP2|NDC|cc|rcp1p9;Tland|GCSF;y2020;/p/projects/piam/abrahao/runs_gcsf/phase2_dec/remind/output/C_SSP2-Tall-PkBudg820-rem-5/fulldata.gdx;SSP2-Base;SSP2-Base; -SSP2-sens-Tall-PkBudg700;0;short;;;SSP2|NDC|cc|rcp1p9;Tland|GCSF;y2020;/p/projects/piam/abrahao/runs_gcsf/phase2_dec/remind/output/C_SSP2-Tall-PkBudg820-rem-5/fulldata.gdx;SSP2-Base;SSP2-Base; -SSP2-sens-Tall-PkBudg650;0;short;;;SSP2|NDC|cc|rcp1p9;Tland|GCSF;y2020;/p/projects/piam/abrahao/runs_gcsf/phase2_dec/remind/output/C_SSP2-Tall-PkBudg820-rem-5/fulldata.gdx;SSP2-Base;SSP2-Base; -SSP2-sens-Tall-PkBudg600;0;short;;;SSP2|NDC|cc|rcp1p9;Tland|GCSF;y2020;/p/projects/piam/abrahao/runs_gcsf/phase2_dec/remind/output/C_SSP2-Tall-PkBudg820-rem-5/fulldata.gdx;SSP2-Base;SSP2-Base; +SSP2-sens-Tall-PkBudg750;0;short;;;SSP2|NDC|cc|rcp1p9;Tland|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-Base;SSP2-Base; +SSP2-sens-Tall-PkBudg700;0;short;;;SSP2|NDC|cc|rcp1p9;Tland|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-Base;SSP2-Base; +SSP2-sens-Tall-PkBudg650;0;short;;;SSP2|NDC|cc|rcp1p9;Tland|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-Base;SSP2-Base; +SSP2-sens-Tall-PkBudg600;0;short;;;SSP2|NDC|cc|rcp1p9;Tland|GCSF;y2020;SSP2-Tall-PkBudg750;SSP2-Base;SSP2-Base; diff --git a/scripts/start/readCheckScenarioConfig.R b/scripts/start/readCheckScenarioConfig.R index f738180a0..a3d132dad 100644 --- a/scripts/start/readCheckScenarioConfig.R +++ b/scripts/start/readCheckScenarioConfig.R @@ -116,6 +116,17 @@ readCheckScenarioConfig <- function(filename, remindPath = ".", testmode = FALSE paste0(names(needBau), ": ", sapply(needBau, paste, collapse = ", "), ".", collapse = " ")) } + if (isTRUE(testmode)) { + for (n in intersect(names(path_gdx_list), names(scenConf))) { + missingPath <- ! (is.na(scenConf[, n]) | scenConf[, n] %in% rownames(scenConf)) + if (any(missingPath)) { + warning("Those scenarios link to a non-existing ", n, ": ", + paste0(rownames(scenConf)[missingPath], collapse = ", ")) + pathgdxerrors <- pathgdxerrors + sum(missingPath) + } + } + } + # collect errors errorsfound <- length(colduplicates) + sum(toolong) + sum(regionname) + sum(nameisNA) + sum(illegalchars) + whitespaceErrors + copyConfigFromErrors + pathgdxerrors + missingRealizations diff --git a/tests/testthat/test_01-readCheckScenarioConfig.R b/tests/testthat/test_01-readCheckScenarioConfig.R index e347f0e43..8a98dc4d3 100644 --- a/tests/testthat/test_01-readCheckScenarioConfig.R +++ b/tests/testthat/test_01-readCheckScenarioConfig.R @@ -25,7 +25,7 @@ test_that("readCheckScenarioConfig fails on error-loaden config", { "NDC_but_bau_missing;1;;;;;NDC;;"), con = csvfile, sep = "\n") w <- capture_warnings(m <- capture_messages(scenConf <- readCheckScenarioConfig(csvfile, remindPath = "../../", testmode = TRUE))) - expect_match(w, "12 errors found", all = FALSE, fixed = TRUE) + expect_match(w, "21 errors found", all = FALSE, fixed = TRUE) expect_match(w, "These titles are too long", all = FALSE, fixed = TRUE) expect_match(w, "These titles may be confused with regions", all = FALSE, fixed = TRUE) expect_match(w, "These titles contain illegal characters", all = FALSE, fixed = TRUE) @@ -37,6 +37,10 @@ test_that("readCheckScenarioConfig fails on error-loaden config", { expect_match(w, "a reference gdx in 'path_gdx_bau'", all = FALSE, fixed = TRUE) expect_match(w, "Do not use 'NA' as scenario name", all = FALSE, fixed = TRUE) expect_match(w, "For module carbonprice.*notNDC_but_has_path_gdx_bau", all = FALSE, fixed = FALSE) + expect_match(w, "Those scenarios link to a non-existing path_gdx: PBS, PBScopy", all = FALSE, fixed = TRUE) + expect_match(w, "Those scenarios link to a non-existing path_gdx_ref: PBS, PBScopy", all = FALSE, fixed = TRUE) + expect_match(w, "Those scenarios link to a non-existing path_gdx_refpolicycost: PBS, PBScopy", all = FALSE, fixed = TRUE) + expect_match(w, "Those scenarios link to a non-existing path_gdx_carbonprice: PBS, glob, PBScopy", all = FALSE, fixed = TRUE) expect_match(m, "no column path_gdx_refpolicycost for policy cost comparison found, using path_gdx_ref instead", all = FALSE, fixed = TRUE) copiedFromPBS <- c("c_budgetCO2", "path_gdx", "path_gdx_ref") expect_identical(unlist(scenConf["PBS", copiedFromPBS]), From 49f573a8be58ef3e128357762de3afbf46421629 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Tue, 10 Sep 2024 08:55:40 +0200 Subject: [PATCH 452/875] use input data including unit shift --- config/default.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/default.cfg b/config/default.cfg index 52aef3921..e0faadda6 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -27,7 +27,7 @@ cfg$regionmapping <- "config/regionmappingH12.csv" ### Additional (optional) region mapping, so that those validation data can be loaded that contain the corresponding additional regions. cfg$extramappings_historic <- "" #### Current input data revision (.) #### -cfg$inputRevision <- "6.86" +cfg$inputRevision <- "6.84gdp-shift" #### Current CES parameter and GDX revision (commit hash) #### cfg$CESandGDXversion <- "d4c62a8f11e8a6827310519df09c98eb425a4070" From 125fddb91881c64d39a975b09bca82f4682ba989 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 10 Sep 2024 07:26:09 +0000 Subject: [PATCH 453/875] Release development version 3.3.2.dev547 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 788f3f6fc..c3f3a760a 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,7 +266,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev544" +version: "3.3.2.dev547" date-released: 2024-09-10 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 52aef3921..ec8ccc05f 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev544" +cfg$model_version <- "3.3.2.dev547" #### settings #### cfg$gms <- list() From 342097563134eed4b59599102aef63df7e73cd14 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 10 Sep 2024 08:25:58 +0000 Subject: [PATCH 454/875] Release development version 3.3.2.dev550 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index c3f3a760a..51211fccf 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,7 +266,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev547" +version: "3.3.2.dev550" date-released: 2024-09-10 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index ec8ccc05f..23889951d 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev547" +cfg$model_version <- "3.3.2.dev550" #### settings #### cfg$gms <- list() From 9fd3bf81188cc22d89869c4876f0eb92bed277e7 Mon Sep 17 00:00:00 2001 From: Michaja Pehl Date: Tue, 10 Sep 2024 10:45:19 +0200 Subject: [PATCH 455/875] harmonise options format for output.R script MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - lucode2 0.47.11 (echt Köllnisch Wasser) accepts both option=value and --option=value formats, so does output.R - this enables bash completion for all these options - bumped help up to start without loading pointless packages --- DESCRIPTION | 2 +- output.R | 60 +++++++++++++++++++++++++++++++++-------------------- 2 files changed, 38 insertions(+), 24 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index d1aa4b451..be3ed69f4 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -36,7 +36,7 @@ Imports: knitr, lazyeval, lpjclass, - lucode2 (>= 0.47.9), + lucode2 (>= 0.47.11), luplot, luscale, lusweave, diff --git a/output.R b/output.R index d10c63afb..e746cf5eb 100755 --- a/output.R +++ b/output.R @@ -26,32 +26,51 @@ helpText <- " #' #' [options] can be the following flags: #' -#' --help, -h: show this help text and exit -#' --test, -t: tests output.R without actually starting any run -#' --renv= load the renv located at , incompatible with --update -#' --update update packages in renv first, incompatible with --renv= +#' --help, -h show this help text and exit +#' --test, -t tests output.R without actually starting any run +#' --update update packages in renv first, incompatible with --renv= #' #' [options] can also specify the following variables. If they are not specified #' but needed, the scripts will ask the user. #' -#' comp= comp=single means output for single runs (reporting, …) -#' comp=comparison means scripts to compare runs (compareScenarios2, …) -#' comp=export means scripts to export runs (xlsx_IIASA, …) -#' filename_prefix= string to be added to filenames by some output scripts -#' (compareScenarios, xlsx_IIASA) -#' output= output=compareScenarios2 directly selects the specific script -#' outputdir= Can be used to specify the output directories to be used. -#' Example: outputdir=./output/SSP2-Base-rem-1,./output/NDC-rem-1 -#' remind_dir= path to remind or output folder(s) where runs can be found. -#' Defaults to ./output but can also be used to specify multiple -#' folders, comma-separated, such as remind_dir=.,../otherremind -#' slurmConfig= use slurmConfig=priority, short or standby to specify slurm -#' selection. You may also pass complicated arguments such as -#' slurmConfig='--qos=priority --mem=8000' +#' --comp= comp=single means output for single runs +#' (e.g. reporting, ...) +#' comp=comparison means scripts to compare runs +#' (e.g. compareScenarios2, ...) +#' comp=export means scripts to export runs +#' (e..g xlsx_IIASA, ...) +#' +#' --filename_prefix= string to be added to filenames by some output scripts +#' (compareScenarios, xlsx_IIASA) +#' +#' --output= output=compareScenarios2 directly selects the specific +#' script +#' +#' --outputdir= Can be used to specify the output directories to be +#' used directly, bypassing run selection, as a +#' comma-separated list +#' (e.g. outputdir=./output/SSP2-Base-rem-1,./output/NDC-rem-1) +#' +#' --remind_dir= path to remind or output directories where runs can be +#' found. Defaults to ./output but can also be used to +#' specify multiple folders, comma-separated, such as +#' remind_dir=.,../otherremind +#' +#' --renv= load the renv located at , incompatible with +#' --update +#' +#' --slurmConfig= use slurmConfig=priority, short or standby to specify +#' slurm selection. You may also pass complicated +#' arguments such as slurmConfig='--qos=priority --mem=8000' " argv <- get0("argv", ifnotfound = commandArgs(trailingOnly = TRUE)) +if (any(c("-h", "--help") %in% argv)) { + message(gsub("#' ?", '', helpText)) + q() +} + # run updates before loading any packages if ("--update" %in% argv) { stopifnot(`--update must not be used together with --renv=...` = !any(startsWith(argv, "--renv="))) @@ -79,11 +98,6 @@ if (!exists("source_include")) { .flags = c(t = "--test", h = "--help")) } -if ("--help" %in% flags) { - message(gsub("#' ?", '', helpText)) - q() -} - choose_slurmConfig_output <- function(output) { slurm_options <- c("--qos=priority", "--qos=short", "--qos=standby", "--qos=priority --mem=8000", "--qos=short --mem=8000", From f2a38c234e9ef0a5b2889e9569593b4909688b35 Mon Sep 17 00:00:00 2001 From: David Klein Date: Tue, 10 Sep 2024 11:04:45 +0200 Subject: [PATCH 456/875] Increase version of gms package required --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index d1aa4b451..8f7c63387 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -25,7 +25,7 @@ Imports: gdxdt, gdxrrw, ggplot2, - gms (>= 0.32.1), + gms (>= 0.33.0), goxygen (>= 1.4.4), gridExtra, gtools, From c095a587077cf1b3a73d12949dddee39123c5c9e Mon Sep 17 00:00:00 2001 From: Jakob Duerrwaechter Date: Tue, 10 Sep 2024 10:56:01 +0200 Subject: [PATCH 457/875] general formulation of historic specific energy demands in process-based industry --- modules/37_industry/subsectors/datainput.gms | 57 ++++++++++++------- .../37_industry/subsectors/declarations.gms | 5 ++ modules/37_industry/subsectors/sets.gms | 10 ++++ 3 files changed, 50 insertions(+), 22 deletions(-) diff --git a/modules/37_industry/subsectors/datainput.gms b/modules/37_industry/subsectors/datainput.gms index 7677e82ff..630352134 100644 --- a/modules/37_industry/subsectors/datainput.gms +++ b/modules/37_industry/subsectors/datainput.gms @@ -676,6 +676,8 @@ if(sum((tePrc,opmoPrc,mat)$(not matFin(mat)), p37_teMatShareHist(tePrc,opmoPrc,m abort "p37_teMatShareHist must only be non-zero for matFin"; ); *** -------------------------------- +s37_shareHistFeDemPenalty = 0.6; +*** -------------------------------- p37_captureRate(all_te) = 0.; p37_selfCaptureRate(all_te) = 0.; @@ -703,46 +705,57 @@ $endif.cm_subsec_model_steel *** -------------------------------- pm_specFeDem(tall,all_regi,all_enty,all_te,opmoPrc) = 0.; -pm_outflowPrcHist(ttot,all_regi,all_te,opmoPrc) = 0.; +pm_outflowPrcHist(tall,all_regi,all_te,opmoPrc) = 0.; +p37_matFlowHist(tall,all_regi,mat) = 0.; $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" if (cm_startyear eq 2005, loop(ttot$(ttot.val ge 2005 AND ttot.val le 2020), - !! 2nd stage tech - loop((tePrc2matOut(tePrc,opmoPrc,mat), mat2ue(mat,in)), - pm_outflowPrcHist(ttot,regi,tePrc,opmoPrc) = pm_fedemand(ttot,regi,in) / p37_mat2ue(mat,in) * p37_teMatShareHist(tePrc,opmoPrc,mat); + loop(mat2ue(mat,in), + p37_matFlowHist(ttot,regi,mat) = pm_fedemand(ttot,regi,in) / p37_mat2ue(mat,in) * p37_ue_share(mat,in); + loop(tePrc2matOut(tePrc,opmoPrc,mat), + pm_outflowPrcHist(ttot,regi,tePrc,opmoPrc) = p37_matFlowHist(ttot,regi,mat) * p37_teMatShareHist(tePrc,opmoPrc,mat); + ); ); !! 1st stage tech + !! TODO: simply do this loop several times to fill more than two stages? loop((tePrc1,opmoPrc1,mat)$( sum((tePrc2,opmoPrc2), tePrc2matIn(tePrc2,opmoPrc2,mat)) AND tePrc2matOut(tePrc1,opmoPrc1,mat)), - pm_outflowPrcHist(ttot,regi,tePrc1,opmoPrc1) + p37_matFlowHist(ttot,regi,mat) = sum((tePrc2matOut(tePrc1,opmoPrc1,mat), tePrc2matIn(tePrc2,opmoPrc2,mat)), + !!TODO: enable p37_teMatShareHist here, too (has to be defined, though) p37_specMatDem(mat,tePrc2,opmoPrc2) * pm_outflowPrcHist(ttot,regi,tePrc2,opmoPrc2) ); + pm_outflowPrcHist(ttot,regi,tePrc1,opmoPrc1) = p37_matFlowHist(ttot,regi,mat); ); - !! CC tech implicitly set to zero, since not part of the above sets - pm_specFeDem(ttot,regi,"feh2s","idr","h2") = p37_specFeDemTarget("feh2s","idr","h2"); - pm_specFeDem(ttot,regi,"feels","idr","h2") = p37_specFeDemTarget("feels","idr","h2"); - - pm_specFeDem(ttot,regi,"fegas","idr","ng") = p37_specFeDemTarget("fegas","idr","ng"); - pm_specFeDem(ttot,regi,"feels","idr","ng") = p37_specFeDemTarget("feels","idr","ng"); - pm_specFeDem(ttot,regi,"fegas","bfcc","standard") = p37_specFeDemTarget("fegas","bfcc","standard"); - pm_specFeDem(ttot,regi,"feels","bfcc","standard") = p37_specFeDemTarget("feels","bfcc","standard"); - - pm_specFeDem(ttot,regi,"fegas","idrcc","ng") = p37_specFeDemTarget("fegas","idrcc","ng"); - pm_specFeDem(ttot,regi,"feels","idrcc","ng") = p37_specFeDemTarget("feels","idrcc","ng"); + loop((entyFe,ppfUePrc), + p37_demFeTarget(ttot,regi,entyFe,ppfUePrc) = sum(tePrc2ue(tePrc,opmoPrc,ppfUePrc), pm_outflowPrcHist(ttot,regi,tePrc,opmoPrc) * p37_specFeDemTarget(entyFe,tePrc,opmoPrc)); + p37_demFeActual(ttot,regi,entyFe,ppfUePrc) = sum((fe2ppfen_no_ces_use(entyFe,all_in),ue2ppfenPrc(ppfUePrc,all_in)), pm_fedemand(ttot,regi,all_in) * sm_EJ_2_TWa); + ); - pm_specFeDem(ttot,regi,"fesos","bf","standard") = pm_fedemand(ttot,regi,"feso_steel") * sm_EJ_2_TWa / ( p37_specMatDem("pigiron","bof","unheated") * pm_fedemand(ttot,regi,"ue_steel_primary") ); - pm_specFeDem(ttot,regi,"fehos","bf","standard") = pm_fedemand(ttot,regi,"feli_steel") * sm_EJ_2_TWa / ( p37_specMatDem("pigiron","bof","unheated") * pm_fedemand(ttot,regi,"ue_steel_primary") ); - pm_specFeDem(ttot,regi,"fegas","bf","standard") = pm_fedemand(ttot,regi,"fega_steel") * sm_EJ_2_TWa / ( p37_specMatDem("pigiron","bof","unheated") * pm_fedemand(ttot,regi,"ue_steel_primary") ); - pm_specFeDem(ttot,regi,"feels","bf","standard") = pm_fedemand(ttot,regi,"feel_steel_primary") * sm_EJ_2_TWa / ( p37_specMatDem("pigiron","bof","unheated") * pm_fedemand(ttot,regi,"ue_steel_primary") ); + p37_demFeRatio(ttot,regi,ppfUePrc) = sum(entyFe,p37_demFeActual(ttot,regi,entyFe,ppfUePrc)) / sum(entyFe,p37_demFeTarget(ttot,regi,entyFe,ppfUePrc)); + + loop((tePrc2opmoPrc(tePrc,opmoPrc),regi,entyFe)$(p37_specFeDemTarget(entyFe,tePrc,opmoPrc) gt 0.01*sm_eps), + if((pm_outflowPrcHist(ttot,regi,tePrc,opmoPrc) gt sm_eps), + pm_specFeDem(ttot,regi,entyFe,tePrc,opmoPrc) + = p37_specFeDemTarget(entyFe,tePrc,opmoPrc) + * sum(tePrc2ue(tePrc,opmoPrc,in), + p37_demFeActual(ttot,regi,entyFe,in) + / p37_demFeTarget(ttot,regi,entyFe,in)); + else + pm_specFeDem(ttot,regi,entyFe,tePrc,opmoPrc) + = p37_specFeDemTarget(entyFe,tePrc,opmoPrc) + * (1. + + s37_shareHistFeDemPenalty + * (sum(tePrc2ue(tePrc,opmoPrc,ppfUePrc), p37_demFeRatio(ttot,regi,ppfUePrc)) + -1.)); + ); + ); - pm_specFeDem(ttot,regi,"feels","eaf","sec") = pm_fedemand(ttot,regi,"feel_steel_secondary") * sm_EJ_2_TWa / pm_fedemand(ttot,regi,"ue_steel_secondary"); - pm_specFeDem(ttot,regi,"feels","eaf","pri") = pm_specFeDem(ttot,regi,"feels","eaf","sec"); ); !! loop over other years and blend diff --git a/modules/37_industry/subsectors/declarations.gms b/modules/37_industry/subsectors/declarations.gms index c66aee959..ac9aa7b98 100644 --- a/modules/37_industry/subsectors/declarations.gms +++ b/modules/37_industry/subsectors/declarations.gms @@ -9,6 +9,7 @@ Scalar s37_clinker_process_CO2 "CO2 emissions per unit of clinker production" s37_plasticsShare "share of carbon cointained in feedstocks for the chemicals subsector that goes to plastics" + s37_shareHistFeDemPenalty "Share of the addiotional historic specific FE demand compared with BAT which is applied to non-historic tech" ; Parameters @@ -26,10 +27,14 @@ Parameters !! process-based implementation p37_specMatDem(mat,all_te,opmoPrc) "Specific materials demand of a production technology and operation mode [t_input/t_output]" pm_specFeDem(tall,all_regi,all_enty,all_te,opmoPrc) "Actual specific final-energy demand of a tech; blends between IEA data and Target [TWa/Gt_output]" + p37_demFeTarget(tall,all_regi,all_enty,all_in) "Total Fe demand that would be have been consumed historically for production of a UE if all tech had BAT efficiency" + p37_demFeActual(tall,all_regi,all_enty,all_in) "Total historic Fe demand consumed for production of a UE" p37_specFeDemTarget(all_enty,all_te,opmoPrc) "Best available technology (will be reached in convergence year) [TWa/Gt_output]" pm_outflowPrcHist(tall,all_regi,all_te,opmoPrc) "Exogenously prescribed production volume of processes in start year (from IEA data)" + p37_matFlowHist(tall,all_regi,all_enty) "Historic material flows" p37_mat2ue(all_enty,all_in) "Contribution of process output to ue in CES tree; Trivial if just one material per UE, as in steel [Gt/Gt]" p37_ue_share(all_enty,all_in) "Fixed share of material in ue" + p37_demFeRatio(tall,all_regi,all_in) "Ratio of historic Fe demand and Fe demand calculated from historic production and BAT specific demand" p37_teMatShareHist(all_te,opmoPrc,mat) "Share that a tePrc/opmoPrc historically contibrutes to production of a matFin" p37_captureRate(all_te) "Capture rate of CCS technology" p37_selfCaptureRate(all_te) "Share of emissions from fossil fuels used for a CCS process which are captured by the CCS process itself" diff --git a/modules/37_industry/subsectors/sets.gms b/modules/37_industry/subsectors/sets.gms index 7b3543a52..f0abe2819 100644 --- a/modules/37_industry/subsectors/sets.gms +++ b/modules/37_industry/subsectors/sets.gms @@ -589,6 +589,16 @@ $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" $endif.cm_subsec_model_steel / +ue2ppfenPrc(all_in,all_in) "correspondant to ces_eff_target_dyn37, but for use in process-based context, i.e. contained subsectors are complements" + / +$ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" + ue_steel_primary . (feso_steel, feli_steel, fega_steel, feh2_steel, + feel_steel_primary) + + ue_steel_secondary . feel_steel_secondary +$endif.cm_subsec_model_steel + / + regi_fxDem37(ext_regi) "regions under which we fix UE demand to baseline demand" / $ifthen.fixedUE_scenario "%cm_fxIndUe%" == "on" From b028c43d3d39a3ff410924c55b3b259413980f30 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 10 Sep 2024 11:26:11 +0000 Subject: [PATCH 458/875] Release development version 3.3.2.dev553 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 51211fccf..91fa81a3d 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,7 +266,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev550" +version: "3.3.2.dev553" date-released: 2024-09-10 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 23889951d..5c384dd1b 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev550" +cfg$model_version <- "3.3.2.dev553" #### settings #### cfg$gms <- list() From acec941d2d72d12dc278c25b47d6a6bf16507b19 Mon Sep 17 00:00:00 2001 From: David Klein Date: Tue, 10 Sep 2024 15:03:17 +0200 Subject: [PATCH 459/875] Add public repository to REMIND's list of input data repositories --- config/default.cfg | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/config/default.cfg b/config/default.cfg index 23889951d..51bb3d95a 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -40,7 +40,8 @@ cfg$force_replace <- FALSE #### list of repositories containing input data # defined in your local .Rprofile or on the cluster /p/projects/rd3mod/R/.Rprofile -cfg$repositories <- getOption("remind_repos") +cfg$repositories <- append(list("https://rse.pik-potsdam.de/data/remind/public" = NULL), + getOption("remind_repos")) #### Folder run statistics should be submitted to cfg$runstatistics <- "/p/projects/rd3mod/models/statistics/remind" From 6288093d05599522b832d68d6662dc7123e397f0 Mon Sep 17 00:00:00 2001 From: orichters Date: Tue, 10 Sep 2024 15:13:49 +0200 Subject: [PATCH 460/875] let selectPlots properly work with coupled runs --- DESCRIPTION | 4 ++-- scripts/output/comparison/selectPlots.R | 15 +++++++++------ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index be3ed69f4..bf9455e60 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -43,7 +43,7 @@ Imports: magclass, magpie4 (>= 2.3.10), magpiesets, - mip (>= 0.149.3), + mip (>= 0.150.0), modelstats, mrremind, mrvalidation, @@ -51,7 +51,7 @@ Imports: nleqslv, optparse, piamenv (>= 0.4.0), - piamInterfaces (>= 0.27.0), + piamInterfaces (>= 0.27.2), piamPlotComparison (>= 0.0.10), piamutils, plotly, diff --git a/scripts/output/comparison/selectPlots.R b/scripts/output/comparison/selectPlots.R index 1a89f951e..10497c3d9 100644 --- a/scripts/output/comparison/selectPlots.R +++ b/scripts/output/comparison/selectPlots.R @@ -29,13 +29,13 @@ postfix <- paste0(ifelse(filename_prefix == "", "", "-"), filename_prefix, timeS histPath <- remind2::getMifHistPath(outputdirs[1], mustWork = TRUE) -scenario <- lucode2::getScenNames(outputdirs) -mifs <- file.path(outputdirs, paste0("REMIND_generic_", scenario, ".mif")) -newnames <- make.unique(basename(outputdirs), sep = "_") +scenarios <- lucode2::getScenNames(outputdirs) +mifs <- file.path(outputdirs, paste0("REMIND_generic_", scenarios, ".mif")) +newnames <- make.unique(basename(outputdirs), sep = "_") message("Do you want to remove the timestamp from scenario names and shorten coupled runs? y/N") if (tolower(gms::getLine()) %in% c("y", "yes")) { - newnames <- make.unique(gsub("^C_", "", gsub("-rem-([0-9]+)$", "-\\1", scenario)), sep = "_") - duplicates <- duplicated(scenario) | duplicated(scenario, fromLast = TRUE) + newnames <- make.unique(gsub("^C_", "", gsub("-rem-([0-9]+)$", "-\\1", scenarios)), sep = "_") + duplicates <- duplicated(scenarios) | duplicated(scenarios, fromLast = TRUE) if (any(duplicates)) { message("\nAvoiding duplicates:\n", paste(paste(basename(outputdirs), "->", newnames)[duplicates], collapse = "\n")) @@ -43,7 +43,10 @@ if (tolower(gms::getLine()) %in% c("y", "yes")) { } message("\nLoading data...") -mifs <- lapply(seq_along(mifs), function(x) mutate(as.quitte(mifs[x]), scenario = factor(newnames[x]))) +loadAdjust <- function(x) { + mutate(as.quitte(mifs[x]), model = factor("REMIND"), scenario = factor(newnames[x])) +} +mifs <- lapply(seq_along(mifs), loadAdjust) plotIntercomparison(list(mifs, histPath), summationsFile = "extractVariableGroups", outputDirectory = "output/plots", From f49f145fb83072a7cb9ca7e80179eea1a591cf92 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Wed, 11 Sep 2024 10:29:49 +0200 Subject: [PATCH 461/875] update NDC version cm_NDC_version to 2024_cond --- main.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.gms b/main.gms index a1331486a..bed38f1a7 100755 --- a/main.gms +++ b/main.gms @@ -1212,7 +1212,7 @@ $setglobal cm_rcp_scen none !! def = "none" !! regexp = none|rcp20|rcp *' * (2023_cond): all NDCs conditional to international financial support published until December 31, 2023 *' * (2023_uncond): all NDCs independent of international financial support published until December 31, 2023 *' * Other supported years are 2022, 2021 and 2018, always containing NDCs published until December 31 of that year -$setglobal cm_NDC_version 2023_cond !! def = "2023_cond" !! regexp = 20(18|2[1-4])_(un)?cond +$setglobal cm_NDC_version 2024_cond !! def = "2024_cond" !! regexp = 20(18|2[1-4])_(un)?cond *' cm_netZeroScen "choose scenario of net zero targets of netZero realization of module 46_carbonpriceRegi" *' *' (NGFS_v4): settings used for NGFS v4, 2023 From 120e645dd83934c02a7378ed8f781f164989f875 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Wed, 11 Sep 2024 09:14:46 +0000 Subject: [PATCH 462/875] Release development version 3.3.2.dev556 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 91fa81a3d..bc62d4452 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -266,8 +266,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev553" -date-released: 2024-09-10 +version: "3.3.2.dev556" +date-released: 2024-09-11 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 5c384dd1b..c785eb767 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev553" +cfg$model_version <- "3.3.2.dev556" #### settings #### cfg$gms <- list() From 5e86468d0b14a8cc3aa462bc96ad178c5a4675c4 Mon Sep 17 00:00:00 2001 From: Michaja Pehl Date: Wed, 11 Sep 2024 11:15:21 +0200 Subject: [PATCH 463/875] add ORCID for Pehl in CITATION.cff (#1821) * add ORCID for Pehl in CITATION.cff * doing by hand what should be done by the computer --- .zenodo.json | 3 ++- CITATION.cff | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.zenodo.json b/.zenodo.json index 649c3ed46..8556ddcdd 100644 --- a/.zenodo.json +++ b/.zenodo.json @@ -180,7 +180,8 @@ }, { "name": "Pehl, Michaja", - "affiliation": "Potsdam Institute for Climate Impact Research" + "affiliation": "Potsdam Institute for Climate Impact Research", + "orcid": "0000-0003-2349-6515" }, { "name": "Pflüger, Mika", diff --git a/CITATION.cff b/CITATION.cff index bc62d4452..5401820ab 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -186,6 +186,7 @@ authors: - family-names: "Pehl" given-names: "Michaja" + orcid: https://orcid.org/0000-0003-2349-6515 affiliation: "Potsdam Institute for Climate Impact Research" - family-names: "Pflüger" From 8cf26c5304b3b017df0371d02295fe2a5ff0e3b6 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Wed, 11 Sep 2024 09:16:02 +0000 Subject: [PATCH 464/875] Release development version 3.3.2.dev558 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 5401820ab..c58872fb9 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -267,7 +267,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev556" +version: "3.3.2.dev558" date-released: 2024-09-11 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index c785eb767..2379d798c 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev556" +cfg$model_version <- "3.3.2.dev558" #### settings #### cfg$gms <- list() From 7829638c47479c6c38c1aec7892e0c2ab4e5a102 Mon Sep 17 00:00:00 2001 From: orichters Date: Wed, 11 Sep 2024 16:14:13 +0200 Subject: [PATCH 465/875] accept urls in xlsx_IIASA --- scripts/output/export/xlsx_IIASA.R | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/output/export/xlsx_IIASA.R b/scripts/output/export/xlsx_IIASA.R index c4c3d4e9b..743ca297d 100644 --- a/scripts/output/export/xlsx_IIASA.R +++ b/scripts/output/export/xlsx_IIASA.R @@ -73,7 +73,8 @@ if (is.null(mapping)) { if (length(mapping) == 0 || ! all(file.exists(mapping) | mapping %in% names(mappingNames()))) { stop("mapping='", paste(mapping, collapse = ", "), "' not found.") } -if (exists("iiasatemplate") && ! is.null(iiasatemplate) && ! file.exists(iiasatemplate)) { +if (exists("iiasatemplate") && ! is.null(iiasatemplate) && ! file.exists(iiasatemplate) && + ! grepl("^https:\\/\\/files\\.ece\\.iiasa\\.ac\\.at\\/.*\\.xlsx$", iiasatemplate)) { stop("iiasatemplate=", iiasatemplate, " not found.") } From bcb2b5d7dbc88ba6074340eb8e40d14cbdb569a6 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Wed, 11 Sep 2024 14:24:15 +0000 Subject: [PATCH 466/875] Release development version 3.3.2.dev561 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index c58872fb9..2f47a29db 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -267,7 +267,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev558" +version: "3.3.2.dev561" date-released: 2024-09-11 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 2379d798c..b164bc05d 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev558" +cfg$model_version <- "3.3.2.dev561" #### settings #### cfg$gms <- list() From 6284e2f59cd2f5842f7f993fc203e5e3f4a31450 Mon Sep 17 00:00:00 2001 From: orichters Date: Wed, 11 Sep 2024 19:07:17 +0200 Subject: [PATCH 467/875] add Tonn to author list --- .zenodo.json | 4 ++++ CITATION.cff | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/.zenodo.json b/.zenodo.json index 8556ddcdd..a21059f96 100644 --- a/.zenodo.json +++ b/.zenodo.json @@ -216,6 +216,10 @@ "name": "Rottoli, Marianna", "affiliation": "Potsdam Institute for Climate Impact Research" }, + { + "name": "Rüter, Tonn", + "affiliation": "Potsdam Institute for Climate Impact Research" + }, { "name": "Schmidt, Eva" }, diff --git a/CITATION.cff b/CITATION.cff index 2f47a29db..a61b4e9d3 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -222,6 +222,10 @@ authors: given-names: "Marianna" affiliation: "Potsdam Institute for Climate Impact Research" +- family-names: "Rüter" + given-names: "Tonn" + affiliation: "Potsdam Institute for Climate Impact Research" + - family-names: "Schmidt" given-names: "Eva" From 85ba016136606679e4287af9989148183bc18c2e Mon Sep 17 00:00:00 2001 From: Jakob Duerrwaechter Date: Thu, 12 Sep 2024 08:47:12 +0200 Subject: [PATCH 468/875] make the exogenous waste incineration rate an upper bound instead of a fix --- modules/37_industry/subsectors/bounds.gms | 4 +++- modules/37_industry/subsectors/datainput.gms | 6 +++--- modules/37_industry/subsectors/declarations.gms | 5 +++-- modules/37_industry/subsectors/equations.gms | 6 +++--- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/modules/37_industry/subsectors/bounds.gms b/modules/37_industry/subsectors/bounds.gms index 623ff6419..437bdaf6d 100755 --- a/modules/37_industry/subsectors/bounds.gms +++ b/modules/37_industry/subsectors/bounds.gms @@ -133,6 +133,8 @@ $ifthen.policy_scenario "%cm_indstExogScen_set%" == "YES" $endif.policy_scenario $drop cm_indstExogScen_set +v37_regionalWasteIncinerationCCSshare.lo(t,regi) = 0.; +v37_regionalWasteIncinerationCCSshare.up(t,regi) = p37_regionalWasteIncinerationCCSMaxShare(t,regi); $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" !! fix processes procudction in historic years @@ -173,7 +175,7 @@ $endif.fixedUE_scenario *** fix plastic waste to zero until 2010, and possible to reference scenario *** values between 2015 and cm_startyear -v37_plasticWaste.fx(t,regi,entySe,entyFe,emiMkt)$( +v37_plasticWaste.fx(t,regi,entySe,entyFe,emiMkt)$( t.val lt max(2015, cm_startyear) AND sefe(entySe,entyFe) AND entyFE2sector2emiMkt_NonEn(entyFe,"indst",emiMkt) ) diff --git a/modules/37_industry/subsectors/datainput.gms b/modules/37_industry/subsectors/datainput.gms index 9ed2e8afc..e324447b7 100644 --- a/modules/37_industry/subsectors/datainput.gms +++ b/modules/37_industry/subsectors/datainput.gms @@ -566,11 +566,11 @@ execute_load "input_ref.gdx", vm_demFeSector_afterTax; * Define carbon capture and storage share in waste incineration emissions * capture rate increases linearly from zero in 2025 to value the set in the switch for the defined year, and it is kept constant for years afterwards -p37_regionalWasteIncinerationCCSshare(ttot,all_regi) = 0; +p37_regionalWasteIncinerationCCSMaxShare(ttot,all_regi) = 0; $ifthen.cm_wasteIncinerationCCSshare not "%cm_wasteIncinerationCCSshare%" == "off" -loop((ttot,ext_regi)$p37_wasteIncinerationCCSshare(ttot,ext_regi), +loop((ttot,ext_regi)$p37_wasteIncinerationCCSMaxShare(ttot,ext_regi), loop(regi$regi_groupExt(ext_regi,regi), - p37_regionalWasteIncinerationCCSshare(t,regi)$((t.val gt 2025)) = min(p37_wasteIncinerationCCSshare(ttot,ext_regi), (p37_wasteIncinerationCCSshare(ttot,ext_regi)/(ttot.val - 2025))*(t.val-2025)); + p37_regionalWasteIncinerationCCSMaxShare(t,regi)$((t.val gt 2025)) = min(p37_wasteIncinerationCCSMaxShare(ttot,ext_regi), (p37_wasteIncinerationCCSMaxShare(ttot,ext_regi)/(ttot.val - 2025))*(t.val-2025)); ); ); $endIf.cm_wasteIncinerationCCSshare diff --git a/modules/37_industry/subsectors/declarations.gms b/modules/37_industry/subsectors/declarations.gms index 54221db44..e3aad1783 100644 --- a/modules/37_industry/subsectors/declarations.gms +++ b/modules/37_industry/subsectors/declarations.gms @@ -68,9 +68,9 @@ $ifthen.sec_steel_scen NOT "%cm_steel_secondary_max_share_scenario%" == "off" / %cm_steel_secondary_max_share_scenario% / $endif.sec_steel_scen - p37_regionalWasteIncinerationCCSshare(ttot,all_regi) "regional proportion of waste incineration that is captured [%]" + p37_regionalWasteIncinerationCCSMaxShare(ttot,all_regi) "upper bound on regional proportion of waste incineration that is captured [%]" $ifthen.cm_wasteIncinerationCCSshare not "%cm_wasteIncinerationCCSshare%" == "off" - p37_wasteIncinerationCCSshare(ttot,ext_regi) "switch values for proportion of waste incineration that is captured [%]" + p37_wasteIncinerationCCSMaxShare(ttot,ext_regi) "switch values for proportion of waste incineration that is captured [%]" / %cm_wasteIncinerationCCSshare% / $endIf.cm_wasteIncinerationCCSshare ; @@ -83,6 +83,7 @@ Positive Variables v37_FeedstocksCarbon(ttot,all_regi,all_enty,all_enty,all_emiMkt) "Carbon flow: carbon contained in chemical feedstocks [GtC]" v37_plasticsCarbon(ttot,all_regi,all_enty,all_enty,all_emiMkt) "Carbon flow: carbon contained in plastics [GtC]" v37_plasticWaste(ttot,all_regi,all_enty,all_enty,all_emiMkt) "Carbon flow: carbon contained in plastic waste [GtC]" + v37_regionalWasteIncinerationCCSshare(tall,all_regi) "share of waste incineration that is captured [%]" !! process-based implementation vm_outflowPrc(tall,all_regi,all_te,opmoPrc) "Production volume of processes in process-based model [Gt/a]" diff --git a/modules/37_industry/subsectors/equations.gms b/modules/37_industry/subsectors/equations.gms index e1875867d..35df4078c 100644 --- a/modules/37_industry/subsectors/equations.gms +++ b/modules/37_industry/subsectors/equations.gms @@ -81,7 +81,7 @@ $endif.exogDem_scen *' energy mix, as that is what can be captured); vm_emiIndBase itself is not used for emission *' accounting, just as a CCS baseline. ***------------------------------------------------------ -q37_emiIndBase(t,regi,enty,secInd37)$( entyFeCC37(enty) +q37_emiIndBase(t,regi,enty,secInd37)$( entyFeCC37(enty) OR sameas(enty,"co2cement_process") ) .. vm_emiIndBase(t,regi,enty,secInd37) =e= @@ -309,7 +309,7 @@ q37_incinerationEmi(t,regi,sefe(entySe,entyFe),emiMkt)$( =e= v37_plasticWaste(t,regi,entySe,entyFe,emiMkt) * pm_incinerationRate(t,regi) - * (1 - p37_regionalWasteIncinerationCCSshare(t,regi)) + * (1 - v37_regionalWasteIncinerationCCSshare(t,regi)) ; q37_incinerationCCS(t,regi,sefe(entySe,entyFe),emiMkt)$( @@ -318,7 +318,7 @@ q37_incinerationCCS(t,regi,sefe(entySe,entyFe),emiMkt)$( =e= v37_plasticWaste(t,regi,entySe,entyFe,emiMkt) * pm_incinerationRate(t,regi) - * p37_regionalWasteIncinerationCCSshare(t,regi) + * v37_regionalWasteIncinerationCCSshare(t,regi) ; *' calculate carbon contained in non-incinerated plastics From bebfa885e78792bc05f2133691034fa8dd7d955d Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Thu, 12 Sep 2024 07:14:33 +0000 Subject: [PATCH 469/875] Release development version 3.3.2.dev564 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 2f47a29db..f64625fd7 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -267,8 +267,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev561" -date-released: 2024-09-11 +version: "3.3.2.dev564" +date-released: 2024-09-12 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index b164bc05d..45ae184c4 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev561" +cfg$model_version <- "3.3.2.dev564" #### settings #### cfg$gms <- list() From 223f443fd335de2b5697852e8655de2c853a7b94 Mon Sep 17 00:00:00 2001 From: Jakob Duerrwaechter Date: Wed, 11 Sep 2024 19:20:32 +0200 Subject: [PATCH 470/875] adapt some code to process-based energy demand generalization --- modules/05_initialCap/on/preloop.gms | 11 +++-------- modules/37_industry/fixed_shares/not_used.txt | 2 +- modules/37_industry/subsectors/datainput.gms | 2 -- 3 files changed, 4 insertions(+), 11 deletions(-) diff --git a/modules/05_initialCap/on/preloop.gms b/modules/05_initialCap/on/preloop.gms index d30e59d9d..7a4852b23 100644 --- a/modules/05_initialCap/on/preloop.gms +++ b/modules/05_initialCap/on/preloop.gms @@ -121,14 +121,9 @@ display v05_INIdemEn0.l, v05_INIcap0.l; p05_cap0(regi,te) = v05_INIcap0.l(regi,te); -$ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" -p05_cap0(regi,'bof') = pm_outflowPrcHist("2005",regi,'bof','unheated') / pm_cf("2005",regi,'bof'); -p05_cap0(regi,'bf') = pm_outflowPrcHist("2005",regi,'bf','standard') / pm_cf("2005",regi,'bf'); -p05_cap0(regi,'eaf') = pm_outflowPrcHist("2005",regi,'eaf','sec') / pm_cf("2005",regi,'eaf'); -p05_cap0(regi,'idr') = 0.; -p05_cap0(regi,"bfcc") =0.; -p05_cap0(regi,"idrcc") =0.; -$endif.cm_subsec_model_steel +loop(tePrc, + p05_cap0(regi,tePrc) = sum(tePrc2opmoPrc(tePrc,opmoPrc), pm_outflowPrcHist("2005",regi,tePrc,opmoPrc)) / pm_cf("2005",regi,tePrc); +); *RP keep energy demand for the Kyoto target calibration pm_EN_demand_from_initialcap2(regi,enty) = v05_INIdemEn0.l(regi,enty); diff --git a/modules/37_industry/fixed_shares/not_used.txt b/modules/37_industry/fixed_shares/not_used.txt index e97b7962b..a73aa7d40 100644 --- a/modules/37_industry/fixed_shares/not_used.txt +++ b/modules/37_industry/fixed_shares/not_used.txt @@ -12,7 +12,7 @@ pm_emifacNonEnergy, parameter, not needed pm_exogDemScen, input, added by codeCheck pm_fedemand, parameter, not needed pm_incinerationRate, parameter, not needed -pm_outflowPrcIni, parameter, not needed +pm_outflowPrcHist, parameter, not needed pm_secBioShare, parameter, not needed pm_specFeDem, parameter, not needed pm_tau_ces_tax, input, questionnaire diff --git a/modules/37_industry/subsectors/datainput.gms b/modules/37_industry/subsectors/datainput.gms index 630352134..b40f845c8 100644 --- a/modules/37_industry/subsectors/datainput.gms +++ b/modules/37_industry/subsectors/datainput.gms @@ -707,7 +707,6 @@ $endif.cm_subsec_model_steel pm_specFeDem(tall,all_regi,all_enty,all_te,opmoPrc) = 0.; pm_outflowPrcHist(tall,all_regi,all_te,opmoPrc) = 0.; p37_matFlowHist(tall,all_regi,mat) = 0.; -$ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" if (cm_startyear eq 2005, loop(ttot$(ttot.val ge 2005 AND ttot.val le 2020), @@ -777,7 +776,6 @@ if (cm_startyear eq 2005, if (cm_startyear gt 2005, Execute_Loadpoint "input_ref" pm_specFeDem = pm_specFeDem; ); -$endif.cm_subsec_model_steel if (cm_startyear gt 2005, execute_load "input_ref.gdx" v37_plasticWaste.l = v37_plasticWaste.l; From ef7be4f72f527f0c5fc8d245cfea11a62ab9f4e4 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Thu, 12 Sep 2024 08:04:18 +0000 Subject: [PATCH 471/875] Release development version 3.3.2.dev570 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index f64625fd7..aa1dc0499 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -267,7 +267,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev564" +version: "3.3.2.dev570" date-released: 2024-09-12 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 45ae184c4..7e9ef3eef 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev564" +cfg$model_version <- "3.3.2.dev570" #### settings #### cfg$gms <- list() From d21725937b431d99133a6a846b1ee70bafe33cb5 Mon Sep 17 00:00:00 2001 From: orichters Date: Thu, 12 Sep 2024 10:03:50 +0200 Subject: [PATCH 472/875] Jan -> Jan Philipp as agreed with him --- .zenodo.json | 2 +- CITATION.cff | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.zenodo.json b/.zenodo.json index a21059f96..10f45cbb5 100644 --- a/.zenodo.json +++ b/.zenodo.json @@ -57,7 +57,7 @@ "affiliation": "Potsdam Institute for Climate Impact Research" }, { - "name": "Dietrich, Jan", + "name": "Dietrich, Jan Philipp", "affiliation": "Potsdam Institute for Climate Impact Research", "orcid": "0000-0002-4309-6431" }, diff --git a/CITATION.cff b/CITATION.cff index a61b4e9d3..d483c4703 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -58,7 +58,7 @@ authors: affiliation: "Potsdam Institute for Climate Impact Research" - family-names: "Dietrich" - given-names: "Jan" + given-names: "Jan Philipp" orcid: https://orcid.org/0000-0002-4309-6431 affiliation: "Potsdam Institute for Climate Impact Research" From 32112a8dcceb5f0d3299188c6a89a7e2e008dd04 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Thu, 12 Sep 2024 09:21:07 +0000 Subject: [PATCH 473/875] Release development version 3.3.2.dev574 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index c671d9cbf..b94a9919a 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev570" +version: "3.3.2.dev574" date-released: 2024-09-12 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 7e9ef3eef..ea8fa4756 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev570" +cfg$model_version <- "3.3.2.dev574" #### settings #### cfg$gms <- list() From 7e40e9c7326bd090dd4999c6c46c1a8e58553e35 Mon Sep 17 00:00:00 2001 From: jmuessel Date: Thu, 12 Sep 2024 11:54:02 +0200 Subject: [PATCH 474/875] introduce IKEA demScen gdp_SSP2EU_demDiffer_IKEA --- core/sets.gms | 1 + 1 file changed, 1 insertion(+) diff --git a/core/sets.gms b/core/sets.gms index b2c0c447c..f77e1ff16 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -76,6 +76,7 @@ gdp_SSP2EU_NAV_lce "NAVIGATE demand scenarios: Low consumption energy (act + tec gdp_SSP2EU_NAV_all "NAVIGATE demand scenarios: All measures (ele + act + tec)" gdp_SSP2EU_CAMP_weak "CAMPAIGNers scenario with low ambition lifestyle change" gdp_SSP2EU_CAMP_strong "CAMPAIGNers scenario with high ambition lifestyle change" +gdp_SSP2EU_demDiffer_IKEA "Demand reduction in Global North (CAZ,EUR,JPN,NEU,USA) and demand increase in Emerging regions (IND,LAM,OAS,SSA). Reduction follows the factor f of demRedStrong scenario, while increase uses factor 2-f." gdp_SSP2EU_demRedStrong "edget internal demScen, might be removed soon" / From 7e1fda23ed4696a393d01ab32c20d2db5ec7f778 Mon Sep 17 00:00:00 2001 From: jmuessel Date: Thu, 12 Sep 2024 11:55:10 +0200 Subject: [PATCH 475/875] Update sets.gms --- core/sets.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/sets.gms b/core/sets.gms index f77e1ff16..a332a9dfd 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -76,7 +76,7 @@ gdp_SSP2EU_NAV_lce "NAVIGATE demand scenarios: Low consumption energy (act + tec gdp_SSP2EU_NAV_all "NAVIGATE demand scenarios: All measures (ele + act + tec)" gdp_SSP2EU_CAMP_weak "CAMPAIGNers scenario with low ambition lifestyle change" gdp_SSP2EU_CAMP_strong "CAMPAIGNers scenario with high ambition lifestyle change" -gdp_SSP2EU_demDiffer_IKEA "Demand reduction in Global North (CAZ,EUR,JPN,NEU,USA) and demand increase in Emerging regions (IND,LAM,OAS,SSA). Reduction follows the factor f of demRedStrong scenario, while increase uses factor 2-f." +gdp_SSP2_demDiffer_IKEA "Demand reduction in Global North (CAZ,EUR,JPN,NEU,USA) and demand increase in Emerging regions (IND,LAM,OAS,SSA). Reduction follows the factor f of demRedStrong scenario, while increase uses factor 2-f." gdp_SSP2EU_demRedStrong "edget internal demScen, might be removed soon" / From 04c3500e818c2bd56189647f2263020096bedb40 Mon Sep 17 00:00:00 2001 From: David Klein Date: Thu, 12 Sep 2024 14:20:23 +0200 Subject: [PATCH 476/875] Remove setting that is not used anymore --- .Rprofile | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.Rprofile b/.Rprofile index 839dcab92..8811ff237 100644 --- a/.Rprofile +++ b/.Rprofile @@ -76,16 +76,12 @@ if (!dir.exists(".venv/") # REMIND_repos_dirs="C:\my\first\path;D:\my\second\path" remindReposDirs <- Sys.getenv("REMIND_repos_dirs") -# unless specified otherwise, use cluster defaults -use_cluster_defaults <- TRUE - # add local directories, if any if ("" != remindReposDirs) { directories <- unlist(strsplit(remindReposDirs, .Platform$path.sep, fixed = TRUE)) directoriesList <- rep(list(NULL), length(directories)) names(directoriesList) <- directories options(remind_repos = c(options("remind_repos")[[1]], directoriesList)) - use_cluster_defaults <- FALSE } # Include local calibration results, if they exist, from either the main From 27c6658d8679ee9daf2f7d94d114861c5944c2dd Mon Sep 17 00:00:00 2001 From: David Klein Date: Thu, 12 Sep 2024 14:32:00 +0200 Subject: [PATCH 477/875] Update CHANGELOG.md --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 072a04e3a..a16d322bb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). [[#1757](https://github.com/remindmodel/remind/pull/1757)] - Update of NDC goals with cutoff data August 31, 2024 [[#1816](https://github.com/remindmodel/remind/pull/1816)] +- Prepare to make input data available for externals. Do not stop on missing validation data. + [[1828]][(https://github.com/remindmodel/remind/pull/1828)] ### changed - plastic waste by default does not lag plastics production by ten years From c286d93c1e5af1d7e40772950879b003842979f0 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Thu, 12 Sep 2024 13:39:43 +0000 Subject: [PATCH 478/875] Release development version 3.3.2.dev578 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index b94a9919a..0363d7f36 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev574" +version: "3.3.2.dev578" date-released: 2024-09-12 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index ea8fa4756..509a0699e 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev574" +cfg$model_version <- "3.3.2.dev578" #### settings #### cfg$gms <- list() From 29f81c8267219a1c363d32b328a494bd57df6003 Mon Sep 17 00:00:00 2001 From: Michaja Pehl Date: Fri, 13 Sep 2024 11:15:32 +0200 Subject: [PATCH 479/875] fix units of water module; add explanation of unit documentation to main.gms (#1830) --- main.gms | 4 +++- modules/70_water/heat/declarations.gms | 32 ++++++++++++-------------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/main.gms b/main.gms index a1331486a..edf94ca81 100755 --- a/main.gms +++ b/main.gms @@ -113,7 +113,9 @@ *' Sets are treated differently: instead of a prefix, sets exclusively used within a module get that module's *' number added as a suffix. If the set is used in more than one module no suffix is given. *' -*' The units (e.g., TWa, EJ, GtC, GtCO2, ...) of variables and parameters are documented in the declaration files. +*' The units (e.g., TWa, EJ, GtC, GtCO2, ...) of variables and parameters are +*' documented in the declaration files using square brackets at the end of the +*' explanatory text (e.g. `v_var(set1,set2) "variable [unit]"`). *' *' For the labels of parameters, scalars and set, use double quotes only. *' diff --git a/modules/70_water/heat/declarations.gms b/modules/70_water/heat/declarations.gms index b244a45cf..87c90d361 100644 --- a/modules/70_water/heat/declarations.gms +++ b/modules/70_water/heat/declarations.gms @@ -8,26 +8,24 @@ *** *IM*2015-05-14* Declaration of parameters ***------------------------------------------------------------------------------- -PARAMETERS -i70_water_con(all_te, coolte70) "water consumption coefficients. Unit: m3/MWh" -i70_water_wtd(all_te, coolte70) "water withdrawal coefficients. Unit: m3/MWh" -i70_cool_share_time(ttot2, all_regi, all_te, coolte70) "time dependent cooling technology shares. Unit: %" -i70_efficiency(ttot, all_regi, all_te, coolte70) "efficiency factor for cooling systems. Unit: 0-1" -i70_losses(all_te) "smoke stack fuel input losses. Unit: %" +Parameters + i70_water_con(all_te,coolte70) "water consumption coefficients [m3/MWh]" + i70_water_wtd(all_te,coolte70) "water withdrawal coefficients [m3/MWh]" + i70_cool_share_time(ttot2,all_regi,all_te,coolte70) "time dependent cooling technology shares [%]" + i70_efficiency(ttot,all_regi,all_te,coolte70) "efficiency factor for cooling systems [0-1]" + i70_losses(all_te) "smoke stack fuel input losses [%]" -p70_cap_vintages(ttot, all_regi, all_te, ttot2) "capacity build in ttot2 still standing in ttot. Unit: GW" -p70_cap_vintages_share(ttot, all_regi, all_te, ttot2) "fraction of capacity build in ttot2 still standing in ttot out of total capacity in ttot. Unit: 0-1" -p70_heat(ttot,all_regi,all_enty,all_enty,all_te) "excess heat. Unit: TWa" -p70_water_con(all_regi, all_te, coolte70) "water consumption coefficients per excess heat. Unit: m3/MWh" -p70_water_wtd(all_regi, all_te, coolte70) "water withdrawal coefficients per excess heat. Unit: m3/MWh" - -p70_water_output(ttot,all_regi,descr_water_ext) "output" - -o70_se_production(ttot,all_regi,all_te) "secondary energy production. Unit: EJ/yr" -o70_water_consumption(ttot, all_regi, all_te) "water consumption per technology. Unit: km3/yr" -o70_water_withdrawal(ttot, all_regi, all_te) "water withdrawal per technology. Unit: km3/yr" + p70_cap_vintages(ttot,all_regi,all_te,ttot2) "capacity build in ttot2 still standing in ttot [GW]" + p70_cap_vintages_share(ttot,all_regi,all_te,ttot2) "fraction of capacity build in ttot2 still standing in ttot out of total capacity in ttot [0-1]" + p70_heat(ttot,all_regi,all_enty,all_enty,all_te) "excess heat [TWa]" + p70_water_con(all_regi,all_te,coolte70) "water consumption coefficients per excess heat [m3/MWh]" + p70_water_wtd(all_regi,all_te,coolte70) "water withdrawal coefficients per excess heat [m3/MWh]" + p70_water_output(ttot,all_regi,descr_water_ext) "output" + o70_se_production(ttot,all_regi,all_te) "secondary energy production [EJ/yr]" + o70_water_consumption(ttot,all_regi,all_te) "water consumption per technology [km3/yr]" + o70_water_withdrawal(ttot,all_regi,all_te) "water withdrawal per technology [km3/yr]" ; *** EOF ./modules/70_water/heat/declarations.gms From 4a965e34b851edea714b8d0a6cea210b12e53e5a Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Fri, 13 Sep 2024 09:16:17 +0000 Subject: [PATCH 480/875] Release development version 3.3.2.dev580 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 0363d7f36..6417c57f9 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev578" -date-released: 2024-09-12 +version: "3.3.2.dev580" +date-released: 2024-09-13 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 509a0699e..28ff44ccd 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -71,7 +71,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.3.2.dev578" +cfg$model_version <- "3.3.2.dev580" #### settings #### cfg$gms <- list() From d11b5977621aad32c8004b399cb7bfa9285d93eb Mon Sep 17 00:00:00 2001 From: Pascal Weigmann Date: Fri, 13 Sep 2024 11:47:08 +0200 Subject: [PATCH 481/875] update CCS bounds --- config/default.cfg | 2 +- core/bounds.gms | 16 ++++++++++------ core/datainput.gms | 2 +- core/sets.gms | 7 ++++++- 4 files changed, 18 insertions(+), 9 deletions(-) diff --git a/config/default.cfg b/config/default.cfg index 80c16dec2..2eea3b65a 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -27,7 +27,7 @@ cfg$regionmapping <- "config/regionmappingH12.csv" ### Additional (optional) region mapping, so that those validation data can be loaded that contain the corresponding additional regions. cfg$extramappings_historic <- "" #### Current input data revision (.) #### -cfg$inputRevision <- "6.85" +cfg$inputRevision <- "6.91" #### Current CES parameter and GDX revision (commit hash) #### cfg$CESandGDXversion <- "d4c62a8f11e8a6827310519df09c98eb425a4070" diff --git a/core/bounds.gms b/core/bounds.gms index f55d8de6a..778373de7 100755 --- a/core/bounds.gms +++ b/core/bounds.gms @@ -404,22 +404,26 @@ $endif *** ------------------------------------------------------------------------------------------------------------- -*AM* Lower limit for 2020-2030 is capacities of all projects that are operational (2020-2030) and under construction (2025-2030) from project data base -*AM* Upper limit for 2025 and 2030 additionally includes 40% (default, or changed by c_fracRealfromAnnouncedCCScap2030) announced/planned projects from project data base -*AM* In nash-mode regions cannot easily share ressources, therefore CCS potentials are redistributed in Europe: +*AM* Lower limit for 2020-2030 is capacities of all projects that are operational (2020-2030) from project data base +*AM* Upper limit for 2025 and 2030 additionally includes all projects under construction and 30% +*AM* (default, or changed by c_fracRealfromAnnouncedCCScap2030) of announced/planned projects from project data base +*AM* See also corresponding code in input validation data preparation in mrremind/R/calcProjectPipeline.R. +*AM* In nash-mode regions cannot easily share ressources, therefore CCS potentials are redistributed in Europe in data preprocessing in mrremind: *AM* Potential of EU27 regions is pooled and redistributed according to GDP (Only upper limit for 2030) *AM* Norway and UK announced to store CO2 for EU27 countries. So 50% of Norway and UK potential in 2030 is attributed to EU27-Pool *LP* if c_ccsinjecratescen=0 --> no CCS at all and vm_co2CCS is fixed to 0 before, therefore the upper bound is only set if there should be CCS! *** ------------------------------------------------------------------------------------------------------------- if ( (c_ccsinjecratescen gt 0) AND (NOT cm_emiscen eq 1), - vm_co2CCS.lo(t,regi,"cco2","ico2","ccsinje","1")$(t.val le 2030) = p_boundCapCCS(t,regi,"low")$(t.val le 2030) * s_MtCO2_2_GtC; - vm_co2CCS.up(t,regi,"cco2","ico2","ccsinje","1")$(t.val le 2030) = (p_boundCapCCS(t,regi,"low")$(t.val le 2030) + (p_boundCapCCS(t,regi,"up")$(t.val le 2030) - p_boundCapCCS(t,regi,"low")$(t.val le 2030)) * c_fracRealfromAnnouncedCCScap2030) * s_MtCO2_2_GtC; + vm_co2CCS.lo(t,regi,"cco2","ico2","ccsinje","1")$(t.val le 2030) = p_boundCapCCS(t,regi,"operational")$(t.val le 2030) * s_MtCO2_2_GtC; + vm_co2CCS.up(t,regi,"cco2","ico2","ccsinje","1")$(t.val le 2030) = (p_boundCapCCS(t,regi,"operational")$(t.val le 2030) + p_boundCapCCS(t,regi,"construction")$(t.val le 2030) + p_boundCapCCS(t,regi,"planned")$(t.val le 2030) * c_fracRealfromAnnouncedCCScap2030) * s_MtCO2_2_GtC; ); +*AM* Fix capacities of technologies with carbon capture to zero if there are no CCS projects in the pipeline in that region +*AM* This is only reasonable, as long as we also don't expect any CCU projects in the early years. loop(regi, loop(t$(t.val le 2030), - if( ( p_boundCapCCS(t,regi,"up") eq 0), + if( ((p_boundCapCCS(t,regi,"operational") + p_boundCapCCS(t,regi,"construction") + p_boundCapCCS(t,regi,"planned")) eq 0), vm_cap.fx(t,regi,teCCS,rlf) = 0; ); ); diff --git a/core/datainput.gms b/core/datainput.gms index 87fdad2f6..469ed5597 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -892,7 +892,7 @@ if(pm_NuclearConstraint("2020",regi,"tnrs")<0, ); *** read in data on CCS capacities and announced projects used as upper and lower bound on vm_co2CCS in 2025 and 2030 -parameter p_boundCapCCS(ttot,all_regi,bounds) "installed and planned capacity of CCS" +parameter p_boundCapCCS(ttot,all_regi,project_status) "installed and planned capacity of CCS" / $ondelim $include "./core/input/p_boundCapCCS.cs4r" diff --git a/core/sets.gms b/core/sets.gms index a101a50c1..193b242f6 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -1039,7 +1039,12 @@ RCP_regions_world(RCP_regions_world_bunkers) "five RCP regions plus total (world Sets counter "helper set to facilitate looping in defined order" / 1 * 20 / NDC_version "NDC data version for NDC realizations of 40_techpol and 45_carbonprice" /2018_cond, 2018_uncond, 2021_cond, 2021_uncond, 2022_cond, 2022_uncond, 2023_cond, 2023_uncond/ - bounds "helper set to define upper and lower bounds read in from input data" /low, up/ + project_status "project status read in from input data to define upper and lower near-term capacitiy bounds for CCS" + / + "operational", + "construction", + "planned" + / ; ***----------------------------------------------------------------------------- From baf6d42f52b0a812dcb5618db88735e06ca69670 Mon Sep 17 00:00:00 2001 From: Pascal Weigmann Date: Fri, 13 Sep 2024 16:17:38 +0200 Subject: [PATCH 482/875] increase input data revision and change default ccs bounds --- config/default.cfg | 2 +- main.gms | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/config/default.cfg b/config/default.cfg index b72dbbee4..8c8a7ad7c 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -28,7 +28,7 @@ cfg$regionmapping <- "config/regionmappingH12.csv" cfg$extramappings_historic <- "" #### Current input data revision (.) #### -cfg$inputRevision <- "6.91" +cfg$inputRevision <- "6.92" #### Current CES parameter and GDX revision (commit hash) #### cfg$CESandGDXversion <- "d4c62a8f11e8a6827310519df09c98eb425a4070" diff --git a/main.gms b/main.gms index edf94ca81..ec69744f2 100755 --- a/main.gms +++ b/main.gms @@ -1142,9 +1142,9 @@ parameter parameter c_fracRealfromAnnouncedCCScap2030 "switch to adjust the share of realised CCS capacities from total announced/planned projects from database in 2030" ; - c_fracRealfromAnnouncedCCScap2030 = 0.4; !! def = 0.4 + c_fracRealfromAnnouncedCCScap2030 = 0.3; !! def = 0.3 *' This switch changes the assumption about the share of timely realised capacities from sum of announced/planned in 2030 from the IEA CCS data base -*' Default assumption is that only 40% of announced or planned capacities will be realised, either due to discontinuation or delay +*' Default assumption is that only 30% of announced or planned capacities will be realised, either due to discontinuation or delay parameter cm_startIter_EDGET "starting iteration of EDGE-T" From a24ea7beb7ec93856a207f80093a8c5fef634e2f Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Fri, 13 Sep 2024 14:43:23 +0000 Subject: [PATCH 483/875] Release development version 3.3.2.dev585 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 6417c57f9..200a39905 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev580" +version: "3.3.2.dev585" date-released: 2024-09-13 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 8c8a7ad7c..e7e442366 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -72,7 +72,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.3.2.dev580" +cfg$model_version <- "3.3.2.dev585" #### settings #### cfg$gms <- list() From c60f4f7ef0589c20fc174c2d912bec4ca744b9e7 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Mon, 12 Aug 2024 12:35:20 +0200 Subject: [PATCH 484/875] add c_tech_CO2capturerate flag to manually adjust the CO2 capture rate of technologies via the config --- core/datainput.gms | 24 ++++++++++++++++++++++++ core/declarations.gms | 5 +++++ main.gms | 8 ++++++++ 3 files changed, 37 insertions(+) diff --git a/core/datainput.gms b/core/datainput.gms index 469ed5597..040fffa11 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -559,6 +559,30 @@ pm_share_trans("2130",regi) = 0.865; pm_share_trans("2150",regi) = 0.872; +$ifthen.tech_CO2capturerate not "%c_tech_CO2capturerate%" == "off" +p_PECarriers_CarbonContent(peFos)=pm_cintraw(peFos); +*** From conversation: 25 GtC/ZJ is the assumed carbon content of PE biomass (makes default bioh2c capture rate 90%) +*** Convert to GtC/TWa +p_PECarriers_CarbonContent("pebiolc")=25 / s_zj_2_twa; +loop(pe2se(entyPe,entySe,te)$(p_tech_co2capturerate(te)), + if(p_tech_CO2capturerate(te) gt 0, + if(p_tech_CO2capturerate(te) ge 1, + abort "Error: Inconsistent switch usage. A CO2 capture rate is greater than 1. Check c_tech_CO2capturerate."; + ); +*** Alter CO2 capture rate in fm_dataemiglob +*** fm_dataemiglob is given in GtC/ZJ + fm_dataemiglob(entyPe,entySe,te,"cco2") = p_tech_CO2capturerate(te) * p_PECarriers_CarbonContent(entyPe) * s_zj_2_twa; + if(sameAs(entyPe,"pebiolc"), + fm_dataemiglob(entyPe,entySe,te,"co2") = -fm_dataemiglob(entyPe,entySe,te,"cco2") ; + else + fm_dataemiglob(entyPe,entySe,te,"co2") = p_PECarriers_CarbonContent(entyPe) - fm_dataemiglob(entyPe,entySe,te,"cco2") ; + ); + ); +); +display fm_dataemiglob; +$endif.tech_CO2capturerate + + *JH* CO2 capture rate of CCS technologies (new SSP5 assumptions) if (c_ccscapratescen eq 2, fm_dataemiglob("pecoal","seel","igccc","co2") = 0.2; diff --git a/core/declarations.gms b/core/declarations.gms index 1e98f91bd..f1ed0dd21 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -119,6 +119,11 @@ p_gdppcap2050_PPP(all_regi) "regional GDP PPP per capita in p_maxPPP2050 "maximum income GDP PPP among regions in 2050" p_maxSpvCost "maximum spv investment cost among regions" +$ifthen.tech_CO2capturerate not "%c_tech_CO2capturerate%" == "off" +p_tech_CO2capturerate(all_te) "Technology specific CO2 capture rate" / %c_tech_CO2capturerate% / +p_PECarriers_CarbonContent(all_enty) "Carbon content of PE carriers [GtC/TWa]" +$endif.tech_CO2capturerate + pm_EN_demand_from_initialcap2(all_regi,all_enty) "PE demand resulting from the initialcap routine. [EJ, Uranium: MT U3O8]" pm_budgetCO2eq(all_regi) "budget for regional energy-emissions in period 1" p_actualbudgetco2(tall) "actual level of cumulated emissions starting from 2020 [GtCO2]" diff --git a/main.gms b/main.gms index ec69744f2..368cebc0c 100755 --- a/main.gms +++ b/main.gms @@ -1398,6 +1398,14 @@ $setGlobal cm_VREminShare off !! def = off *** amount of Carbon Capture and Storage (including DACCS and BECCS) is limited to a maximum of 2GtCO2 per yr globally, and 250 Mt CO2 per yr in EU28. *** This switch only works for model native regions. If you want to apply it to a group region use cm_implicitQttyTarget instead. $setGlobal cm_CCSmaxBound off !! def = off +*** c_tech_CO2capturerate "changes CO2 capture rate of carbon capture technologies" +*** Example on how to use: +*** c_tech_CO2capturerate bioh2c 0.8, bioftcrec 0.4 +*** This sets the CO2 capture rate of the bioh2c technology to 80% and the capture of bioftcrec (Bio-based Fischer-Tropsch with carbon capture) +*** to 40%. The capture rate here is measured as carbon captured relative to the total carbon content of the input fuel (including carbon that is converted into the output fuel). +*** Note: The change in capture rate via this switch follows directly after reading in the generisdata_emi.prn file. Hence, the subsequent corrections of the capture rate +*** related to CO2 pipeline leakage still come on top of this. +$setGlobal c_tech_CO2capturerate "bioh2c 0.8" !! def = off *** c_CES_calibration_new_structure <- 0 switch to 1 if you want to calibrate a CES structure different from input gdx $setglobal c_CES_calibration_new_structure 0 !! def = 0 !! regexp = 0|1 *** c_CES_calibration_write_prices <- 0 switch to 1 if you want to generate price file, you can use this as new p29_cesdata_price.cs4r price input file From b50e0b095109db09a760c1454d2d505a2620afe9 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Mon, 12 Aug 2024 12:37:42 +0200 Subject: [PATCH 485/875] stop overwriting emissions factors by reference GDX at the end of initialCap module to allow changing them in policy runs --- modules/05_initialCap/on/preloop.gms | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/modules/05_initialCap/on/preloop.gms b/modules/05_initialCap/on/preloop.gms index 7a4852b23..2e97a5184 100644 --- a/modules/05_initialCap/on/preloop.gms +++ b/modules/05_initialCap/on/preloop.gms @@ -506,24 +506,14 @@ loop(regi, ); display pm_EN_demand_from_initialcap2, p05_emi2005_from_initialcap2; -*** To be moved to new emiAccounting module -* Discounting se2fe emissions from pe2se emission factors -loop(entySe$(sameas(entySe,"segafos") OR sameas(entySe,"seliqfos") OR sameas(entySe,"sesofos")), - pm_emifac(ttot,regi,entyPe,entySe,te,"co2")$pm_emifac(ttot,regi,entyPe,entySe,te,"co2") = - pm_emifac(ttot,regi,entyPe,entySe,te,"co2") - - pm_eta_conv(ttot,regi,te) - *( sum(se2fe(entySe,entyFe2,te2)$pm_emifac(ttot,regi,entySe,entyFe2,te2,"co2"), pm_emifac(ttot,regi,entySe,entyFe2,te2,"co2")*pm_eta_conv(ttot,regi,te2))/sum(se2fe(entySe,entyFe2,te2)$pm_emifac(ttot,regi,entySe,entyFe2,te2,"co2"),1) ); ); -display pm_emifac; -); *** if cm_startyear > 2005, load outputs of InitialCap from input_ref.gdx if (cm_startyear gt 2005, Execute_Loadpoint 'input_ref' pm_eta_conv = pm_eta_conv; Execute_Loadpoint 'input_ref' o_INI_DirProdSeTe = o_INI_DirProdSeTe; - Execute_Loadpoint 'input_ref' pm_emifac = pm_emifac; Execute_Loadpoint 'input_ref' pm_EN_demand_from_initialcap2 = pm_EN_demand_from_initialcap2; Execute_Loadpoint 'input_ref' pm_pedem_res = pm_pedem_res; Execute_Loadpoint 'input_ref' pm_dataeta = pm_dataeta; @@ -557,4 +547,16 @@ $ifThen %cm_techcosts% == "GLO" $endIf ); +*** To be moved to new emiAccounting module +* Discounting se2fe emissions from pe2se emission factors +loop(entySe$(sameas(entySe,"segafos") OR sameas(entySe,"seliqfos") OR sameas(entySe,"sesofos")), + pm_emifac(ttot,regi,entyPe,entySe,te,"co2")$pm_emifac(ttot,regi,entyPe,entySe,te,"co2") = + pm_emifac(ttot,regi,entyPe,entySe,te,"co2") + - pm_eta_conv(ttot,regi,te) + *( sum(se2fe(entySe,entyFe2,te2)$pm_emifac(ttot,regi,entySe,entyFe2,te2,"co2"), pm_emifac(ttot,regi,entySe,entyFe2,te2,"co2")*pm_eta_conv(ttot,regi,te2))/sum(se2fe(entySe,entyFe2,te2)$pm_emifac(ttot,regi,entySe,entyFe2,te2,"co2"),1) ); +); + +display pm_emifac; +execute_unload 'after_emifacAdj_IniCap.gdx', pm_emifac, pm_eta_conv ; + *** EOF ./modules/05_initialCap/on/preloop.gms From f251eaf445f71d90c737a8f9ff5998c258e1e097 Mon Sep 17 00:00:00 2001 From: orichters Date: Fri, 13 Sep 2024 15:52:43 +0200 Subject: [PATCH 486/875] adjust xlsx_IIASA for scenarioMip --- scripts/output/export/xlsx_IIASA.R | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/scripts/output/export/xlsx_IIASA.R b/scripts/output/export/xlsx_IIASA.R index 743ca297d..fcffea91e 100644 --- a/scripts/output/export/xlsx_IIASA.R +++ b/scripts/output/export/xlsx_IIASA.R @@ -21,11 +21,13 @@ model <- paste("REMIND", paste0(strsplit(gms::readDefaultConfig(".")$model_versi removeFromScen <- "" # you can use regex such as: "_diff|_expoLinear" +renameScen <- NULL # c(newname1 = "oldname1", …), without the `C_` and `-rem-[0-9]` stuff addToScen <- NULL # is added at the beginning # filenames relative to REMIND main directory (or use absolute path) mapping <- NULL # file obtained from piamInterfaces, or AR6/SHAPE/NAVIGATE or NULL to get asked iiasatemplate <- NULL # provided for each project, can be yaml or xlsx with a column 'Variable' +checkSummation <- TRUE # if TRUE, tries to use the one from mapping. Or specify here # note: you can also pass all these options to output.R, so 'Rscript output.R logFile=mylogfile.txt' works. lucode2::readArgs("project") @@ -41,6 +43,11 @@ projects <- list( mapping = c("AR6", "AR6_NGFS"), iiasatemplate = "https://files.ece.iiasa.ac.at/ngfs-phase-5/ngfs-phase-5-template.xlsx", removeFromScen = "C_|_bIT|_bit|_bIt|_KLW"), + ScenarioMIP = list(model = "REMIND-MAgPIE 3.4-4.8", + mapping = "ScenarioMIP", + iiasatemplate = "https://files.ece.iiasa.ac.at/ssp-submission/ssp-submission-template.xlsx", + renameScen = c(laurin = "SMIPv03-M-SSP2-NPi-def"), + checkSummation = "NAVIGATE"), SHAPE = list(mapping = c("NAVIGATE", "SHAPE")), TESTTHAT = list(mapping = "AR6") ) @@ -58,14 +65,15 @@ if (! exists("project")) { } projectdata <- projects[[project]] message("# Overwrite settings with project settings for '", project, "'.") -varnames <- c("mapping", "iiasatemplate", "addToScen", "removeFromScen", "model", "outputFilename", "logFile") +varnames <- c("mapping", "iiasatemplate", "addToScen", "removeFromScen", "renameScen", + "model", "outputFilename", "logFile", "checkSummation") for (p in intersect(varnames, names(projectdata))) { assign(p, projectdata[[p]]) } # overwrite settings with those specified as command-line arguments -lucode2::readArgs("outputdirs", "filename_prefix", "outputFilename", "model", - "mapping", "logFile", "removeFromScen", "addToScen", "iiasatemplate") +lucode2::readArgs("outputdirs", "filename_prefix", "outputFilename", "model", "mapping", + "summationFile", "logFile", "removeFromScen", "addToScen", "iiasatemplate") if (is.null(mapping)) { mapping <- gms::chooseFromList(names(piamInterfaces::mappingNames()), type = "mapping") @@ -130,6 +138,12 @@ withCallingHandlers({ # piping messages to logFile mifdata <- rbind(mifdata, thismifdata) } + levels(mifdata$scenario) <- gsub("^C_|-rem-[0-9]+", "", levels(mifdata$scenario)) + for (i in names(renameScen)) { + message("Rename scenario: ", i, " -> ", renameScen[[i]]) + levels(mifdata$scenario)[i == levels(mifdata$scenario)] == renameScen[[i]] + } + message("# ", length(temporarydelete), " variables are in the list to be temporarily deleted, ", length(unique(mifdata$variable[mifdata$variable %in% temporarydelete])), " were deleted.") write(paste0(" - ", paste(unique(mifdata$variable[mifdata$variable %in% temporarydelete]), collapse = "\n - "), "\n\n"), @@ -141,7 +155,7 @@ withCallingHandlers({ # piping messages to logFile generateIIASASubmission(mifdata, mapping = mapping, model = model, removeFromScen = removeFromScen, addToScen = addToScen, - outputDirectory = outputFolder, + outputDirectory = outputFolder, checkSummation = checkSummation, logFile = logFile, outputFilename = basename(OUTPUT_xlsx), iiasatemplate = iiasatemplate, generatePlots = TRUE) From 62a05763615a94ba5deb66657e7c6653c91cc23b Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Tue, 17 Sep 2024 15:40:04 +0200 Subject: [PATCH 487/875] fix codeCheck issues --- core/datainput.gms | 6 +++--- core/declarations.gms | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/core/datainput.gms b/core/datainput.gms index 040fffa11..5d267d62c 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -565,13 +565,13 @@ p_PECarriers_CarbonContent(peFos)=pm_cintraw(peFos); *** Convert to GtC/TWa p_PECarriers_CarbonContent("pebiolc")=25 / s_zj_2_twa; loop(pe2se(entyPe,entySe,te)$(p_tech_co2capturerate(te)), - if(p_tech_CO2capturerate(te) gt 0, - if(p_tech_CO2capturerate(te) ge 1, + if(p_tech_co2capturerate(te) gt 0, + if(p_tech_co2capturerate(te) ge 1, abort "Error: Inconsistent switch usage. A CO2 capture rate is greater than 1. Check c_tech_CO2capturerate."; ); *** Alter CO2 capture rate in fm_dataemiglob *** fm_dataemiglob is given in GtC/ZJ - fm_dataemiglob(entyPe,entySe,te,"cco2") = p_tech_CO2capturerate(te) * p_PECarriers_CarbonContent(entyPe) * s_zj_2_twa; + fm_dataemiglob(entyPe,entySe,te,"cco2") = p_tech_co2capturerate(te) * p_PECarriers_CarbonContent(entyPe) * s_zj_2_twa; if(sameAs(entyPe,"pebiolc"), fm_dataemiglob(entyPe,entySe,te,"co2") = -fm_dataemiglob(entyPe,entySe,te,"cco2") ; else diff --git a/core/declarations.gms b/core/declarations.gms index f1ed0dd21..f614b679d 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -120,7 +120,7 @@ p_maxPPP2050 "maximum income GDP PPP among regions in 2050" p_maxSpvCost "maximum spv investment cost among regions" $ifthen.tech_CO2capturerate not "%c_tech_CO2capturerate%" == "off" -p_tech_CO2capturerate(all_te) "Technology specific CO2 capture rate" / %c_tech_CO2capturerate% / +p_tech_co2capturerate(all_te) "Technology specific CO2 capture rate" / %c_tech_CO2capturerate% / p_PECarriers_CarbonContent(all_enty) "Carbon content of PE carriers [GtC/TWa]" $endif.tech_CO2capturerate From 49c22cf0b36e3ff197657a48c245e4dbaa536f63 Mon Sep 17 00:00:00 2001 From: orichters Date: Wed, 11 Sep 2024 16:14:13 +0200 Subject: [PATCH 488/875] accept urls in xlsx_IIASA From 3e417ae9d85ce9631ff81c0151485e93b15ef6db Mon Sep 17 00:00:00 2001 From: orichters Date: Fri, 13 Sep 2024 16:06:13 +0200 Subject: [PATCH 489/875] some adjustments to scenario renaming --- scripts/output/export/xlsx_IIASA.R | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/scripts/output/export/xlsx_IIASA.R b/scripts/output/export/xlsx_IIASA.R index fcffea91e..81d86a1d7 100644 --- a/scripts/output/export/xlsx_IIASA.R +++ b/scripts/output/export/xlsx_IIASA.R @@ -21,7 +21,7 @@ model <- paste("REMIND", paste0(strsplit(gms::readDefaultConfig(".")$model_versi removeFromScen <- "" # you can use regex such as: "_diff|_expoLinear" -renameScen <- NULL # c(newname1 = "oldname1", …), without the `C_` and `-rem-[0-9]` stuff +renameScen <- NULL # c(oldname1 = "newname1", …), without the `C_` and `-rem-[0-9]` stuff addToScen <- NULL # is added at the beginning # filenames relative to REMIND main directory (or use absolute path) @@ -46,7 +46,7 @@ projects <- list( ScenarioMIP = list(model = "REMIND-MAgPIE 3.4-4.8", mapping = "ScenarioMIP", iiasatemplate = "https://files.ece.iiasa.ac.at/ssp-submission/ssp-submission-template.xlsx", - renameScen = c(laurin = "SMIPv03-M-SSP2-NPi-def"), + renameScen = c("SMIPv03-M-SSP2-NPi-def" = "laurin", "SMIPv03-LOS-SSP2-EcBudg400-def" = "newname"), checkSummation = "NAVIGATE"), SHAPE = list(mapping = c("NAVIGATE", "SHAPE")), TESTTHAT = list(mapping = "AR6") @@ -138,11 +138,13 @@ withCallingHandlers({ # piping messages to logFile mifdata <- rbind(mifdata, thismifdata) } - levels(mifdata$scenario) <- gsub("^C_|-rem-[0-9]+", "", levels(mifdata$scenario)) + mifdata$scenario <- gsub("^C_", "", mifdata$scenario) + message("Old names: ", sort(unique(mifdata$scenario))) for (i in names(renameScen)) { message("Rename scenario: ", i, " -> ", renameScen[[i]]) - levels(mifdata$scenario)[i == levels(mifdata$scenario)] == renameScen[[i]] + mifdata$scenario[i == mifdata$scenario] <- renameScen[[i]] } + message("New names: ", sort(unique(mifdata$scenario))) message("# ", length(temporarydelete), " variables are in the list to be temporarily deleted, ", length(unique(mifdata$variable[mifdata$variable %in% temporarydelete])), " were deleted.") From 4c3643390d975e137a1eb4784a88f41e89753595 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Fri, 13 Sep 2024 16:47:12 +0200 Subject: [PATCH 490/875] Added ScenarioMIP to list of projects for export. --- scripts/output/export/xlsx_IIASA.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/output/export/xlsx_IIASA.R b/scripts/output/export/xlsx_IIASA.R index 81d86a1d7..a0a1ab1ed 100644 --- a/scripts/output/export/xlsx_IIASA.R +++ b/scripts/output/export/xlsx_IIASA.R @@ -46,7 +46,7 @@ projects <- list( ScenarioMIP = list(model = "REMIND-MAgPIE 3.4-4.8", mapping = "ScenarioMIP", iiasatemplate = "https://files.ece.iiasa.ac.at/ssp-submission/ssp-submission-template.xlsx", - renameScen = c("SMIPv03-M-SSP2-NPi-def" = "laurin", "SMIPv03-LOS-SSP2-EcBudg400-def" = "newname"), + renameScen = c("SMIPv03-M-SSP2-NPi-def" = "SSP2 - Medium Emissions", "SMIPv03-LOS-SSP2-EcBudg400-def" = "SSP2 - Low Overshoot", "SMIPv03-ML-SSP2-PkPrice200-fromL" = "SSP2 - Medium-Low Emissions","SMIPv03-L-SSP2-PkPrice265-inc6-def" = "SSP2 - Low Emissions", "SMIPv03-VL-SSP2_SDP_MC-PkPrice300-def" = "SSP2 - Very Low Emissions"), checkSummation = "NAVIGATE"), SHAPE = list(mapping = c("NAVIGATE", "SHAPE")), TESTTHAT = list(mapping = "AR6") From 7059c3d0534519ede36362d9d613483f22b77bc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= <163062134+laurinks@users.noreply.github.com> Date: Tue, 17 Sep 2024 15:51:21 +0200 Subject: [PATCH 491/875] Update scripts/output/export/xlsx_IIASA.R Co-authored-by: orichters <90761609+orichters@users.noreply.github.com> --- scripts/output/export/xlsx_IIASA.R | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/output/export/xlsx_IIASA.R b/scripts/output/export/xlsx_IIASA.R index a0a1ab1ed..772c4d17f 100644 --- a/scripts/output/export/xlsx_IIASA.R +++ b/scripts/output/export/xlsx_IIASA.R @@ -139,12 +139,12 @@ withCallingHandlers({ # piping messages to logFile } mifdata$scenario <- gsub("^C_", "", mifdata$scenario) - message("Old names: ", sort(unique(mifdata$scenario))) + message("Old names: ", paste(sort(unique(mifdata$scenario)), collapse = ", ")) for (i in names(renameScen)) { message("Rename scenario: ", i, " -> ", renameScen[[i]]) mifdata$scenario[i == mifdata$scenario] <- renameScen[[i]] } - message("New names: ", sort(unique(mifdata$scenario))) + message("New names: ", paste(sort(unique(mifdata$scenario)), collapse = ", ")) message("# ", length(temporarydelete), " variables are in the list to be temporarily deleted, ", length(unique(mifdata$variable[mifdata$variable %in% temporarydelete])), " were deleted.") From fd38c5b9f97e30e88b08e0c2a0aa38c95ca0c567 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 17 Sep 2024 14:03:27 +0000 Subject: [PATCH 492/875] Release development version 3.3.2.dev592 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 200a39905..9b359564e 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev585" -date-released: 2024-09-13 +version: "3.3.2.dev592" +date-released: 2024-09-17 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index e7e442366..40d3103dd 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -72,7 +72,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.3.2.dev585" +cfg$model_version <- "3.3.2.dev592" #### settings #### cfg$gms <- list() From d7bb4dfe9011480e1a13a1f07c15ee13286c121f Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Tue, 17 Sep 2024 16:39:43 +0200 Subject: [PATCH 493/875] set input data version --- config/default.cfg | 1 + 1 file changed, 1 insertion(+) diff --git a/config/default.cfg b/config/default.cfg index 472bfcd0b..1c9176163 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -28,6 +28,7 @@ cfg$regionmapping <- "config/regionmappingH12.csv" cfg$extramappings_historic <- "" #### Current input data revision (.) #### +cfg$inputRevision <- "6.84gdp-shift-clean" #### Current CES parameter and GDX revision (commit hash) #### cfg$CESandGDXversion <- "d4c62a8f11e8a6827310519df09c98eb425a4070" From 740bdafcd1a71e82702d0578c522d57dcdafec3e Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Tue, 17 Sep 2024 18:09:20 +0200 Subject: [PATCH 494/875] fix bug by adding lines which where deleted by accident --- core/datainput.gms | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/datainput.gms b/core/datainput.gms index 9fcbb5b0c..3d4bdbbc2 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -248,6 +248,10 @@ $if not "%cm_inco0RegiFactor%" == "off" p_inco0(ttot,regi,te)$(p_inco0 *** inco0 (and incolearn) are given in $/kW (or $/(tC/a) for ccs-related tech or $/(t/a) for process-based industry) *** convert to REMIND units, i.e., T$/TW (or T$/(GtC/a) for ccs-related tech or T$/(Gt/a) for process-based industry) *** note that factor for $/kW -> T$/TW is the same as for $/(tC/a) -> T$/(GtC/a) +fm_dataglob("inco0",te) = s_DpKW_2_TDpTW * fm_dataglob("inco0",te); +fm_dataglob("incolearn",te) = s_DpKW_2_TDpTW * fm_dataglob("incolearn",te); +fm_dataglob("omv",te) = s_DpKWa_2_TDpTWa * fm_dataglob("omv",te); +p_inco0(ttot,regi,te) = s_DpKW_2_TDpTW * p_inco0(ttot,regi,te); *RP* rescale the global CSP investment costs in REMIND: Originally we assume a SM3/12h setup, while the cost data from IEA for the short term seems rather based on a SM2/6h setup (with 40% average CF) *** Accordingly, also decrease long-term costs in REMIND to 0.7 of the current values From 50372848859444d446b5b5b2b181dc4daf72a898 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Thu, 19 Sep 2024 13:28:51 +0200 Subject: [PATCH 495/875] redname demScen gdp_SSP2EU_demRedStrong in gdp_SSP2_demRedStrong --- core/sets.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/sets.gms b/core/sets.gms index 88995d976..3e4fb9ac0 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -77,7 +77,7 @@ gdp_SSP2EU_NAV_all "NAVIGATE demand scenarios: All measures (ele + act + tec)" gdp_SSP2EU_CAMP_weak "CAMPAIGNers scenario with low ambition lifestyle change" gdp_SSP2EU_CAMP_strong "CAMPAIGNers scenario with high ambition lifestyle change" gdp_SSP2_demDiffer_IKEA "Demand reduction in Global North (CAZ,EUR,JPN,NEU,USA) and demand increase in Emerging regions (IND,LAM,OAS,SSA). Reduction follows the factor f of demRedStrong scenario, while increase uses factor 2-f." -gdp_SSP2EU_demRedStrong "edget internal demScen, might be removed soon" +gdp_SSP2_demRedStrong "edget internal demScen, might be removed soon" / all_GDPpcScen "all possible GDP per capita scenarios (GDP and Population from the same SSP-scenario" From 2e15a375c5b6cf08f119a70976399339f6796143 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Thu, 19 Sep 2024 13:53:36 +0200 Subject: [PATCH 496/875] add gdp_SSP2_demRedWeak as demand scenario --- core/sets.gms | 1 + 1 file changed, 1 insertion(+) diff --git a/core/sets.gms b/core/sets.gms index 3e4fb9ac0..ce1f71336 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -78,6 +78,7 @@ gdp_SSP2EU_CAMP_weak "CAMPAIGNers scenario with low ambition lifestyle change" gdp_SSP2EU_CAMP_strong "CAMPAIGNers scenario with high ambition lifestyle change" gdp_SSP2_demDiffer_IKEA "Demand reduction in Global North (CAZ,EUR,JPN,NEU,USA) and demand increase in Emerging regions (IND,LAM,OAS,SSA). Reduction follows the factor f of demRedStrong scenario, while increase uses factor 2-f." gdp_SSP2_demRedStrong "edget internal demScen, might be removed soon" +gdp_SSP2_demRedWeak / all_GDPpcScen "all possible GDP per capita scenarios (GDP and Population from the same SSP-scenario" From 5043f4993c5662d43165097b1193777350640291 Mon Sep 17 00:00:00 2001 From: Michaja Pehl Date: Thu, 19 Sep 2024 16:41:44 +0200 Subject: [PATCH 497/875] fix REMIND for cm_CCS_cement = 0 --- core/presolve.gms | 1 + modules/37_industry/subsectors/equations.gms | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/core/presolve.gms b/core/presolve.gms index 6412b1acf..8493b6eb9 100644 --- a/core/presolve.gms +++ b/core/presolve.gms @@ -170,6 +170,7 @@ vm_macBase.fx(ttot,regi,"ch4wstl")$(ttot.val ge 2005) = p_emineg_econometric(reg vm_macBase.fx(ttot,regi,"n2owaste")$(ttot.val ge 2005) = p_emineg_econometric(regi,"n2owaste","p1") * pm_pop(ttot,regi) * (1000*pm_gdp(ttot,regi) / (pm_pop(ttot,regi)*pm_shPPPMER(regi)))**p_emineg_econometric(regi,"n2owaste","p2"); +vm_macBase.lo(ttot,regi,"co2cement_process")$( ttot.val ge 2005 ) = 0; $ifthen.fixed_shares "%industry%" == "fixed_shares" vm_macBase.fx(ttot,regi,"co2cement_process")$( ttot.val ge 2005 ) = ( pm_pop(ttot,regi) diff --git a/modules/37_industry/subsectors/equations.gms b/modules/37_industry/subsectors/equations.gms index ae83992fc..1176f927f 100644 --- a/modules/37_industry/subsectors/equations.gms +++ b/modules/37_industry/subsectors/equations.gms @@ -81,8 +81,10 @@ $endif.exogDem_scen *' energy mix, as that is what can be captured); vm_emiIndBase itself is not used for emission *' accounting, just as a CCS baseline. ***------------------------------------------------------ -q37_emiIndBase(t,regi,enty,secInd37)$( entyFeCC37(enty) - OR sameas(enty,"co2cement_process") ) .. +q37_emiIndBase(t,regi,enty,secInd37)$( + entyFeCC37(enty) + OR ( sameas(enty,"co2cement_process") + AND cm_CCS_cement eq 1 ) ) .. vm_emiIndBase(t,regi,enty,secInd37) =e= sum((secInd37_2_pf(secInd37,ppfen_industry_dyn37(in)),fe2ppfEn(entyFeCC37(enty),in)), From bdc6ba4b7d6d6b9eaf1634d71d251e34ad4a7a38 Mon Sep 17 00:00:00 2001 From: Michaja Pehl Date: Thu, 19 Sep 2024 16:42:41 +0200 Subject: [PATCH 498/875] set up teCCPrc with CC technologies only to fix REMIND for cm_CCS_steel --- modules/37_industry/subsectors/sets.gms | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/modules/37_industry/subsectors/sets.gms b/modules/37_industry/subsectors/sets.gms index f0abe2819..26f615ca1 100644 --- a/modules/37_industry/subsectors/sets.gms +++ b/modules/37_industry/subsectors/sets.gms @@ -381,6 +381,15 @@ $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" $endif.cm_subsec_model_steel / + teCCPrc(tePrc) "Technologies used in process-based model (only CCS)" + / + $$ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" + bfcc + idrcc + $$endif.cm_subsec_model_steel + / + + mat(all_enty) "Materials considered in process-based model; Can be input and/or output of a process" / $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" @@ -634,7 +643,7 @@ pf_quan_target_dyn29(pf_quan_target_dyn37) = YES; $endif.calibrate teMat2rlf(tePrc,"1") = YES; -alias(tePrc,teCCPrc,tePrc1,tePrc2); +alias(tePrc,tePrc1,tePrc2); alias(opmoPrc,opmoCCPrc,opmoPrc1,opmoPrc2); alias(route,route2); alias(entyFeCC37,entyFeCC37_2); From e7200fa19fbd8d0d50d9aca919f2fc73ca77f567 Mon Sep 17 00:00:00 2001 From: lecfab Date: Fri, 20 Sep 2024 11:46:30 +0200 Subject: [PATCH 499/875] remove default slurmConfig; typo in sets description --- config/scenario_config.csv | 24 ++++++++++++------------ core/sets.gms | 4 ++-- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/config/scenario_config.csv b/config/scenario_config.csv index dc58869c7..18b730bfb 100644 --- a/config/scenario_config.csv +++ b/config/scenario_config.csv @@ -1,20 +1,20 @@ title;start;CES_parameters;optimization;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_startyear;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_subsec_model_steel;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description # H12 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP2-NPi-calibrate;calibrate,AMT,compileInTests;calibrate;;14;;;rcp45;;;0;NPi;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-Base;1,AMT,2;;;5;;;;;;0;;;;;;;off;;;;;;;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix1;2005;;;;;SSP2-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-NDC;1,AMT,2;;;5;;;rcp45;3;globallyOptimal;0;NDC;;;;9;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2025;;SSP2-NPi;SSP2-NPi;SSP2-NPi;SSP2-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. -SSP2-NPi;1,AMT,compileInTests,2;;;5;;;rcp45;3;;0;NPi;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-PkBudg500;1,AMT,2;;;5;;;rcp20;9;globallyOptimal;500;diffLin2Lin;200;2045;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2025;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be well below 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-PkBudg650;1,AMT,2;;;5;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2025;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-PkBudg1050;1,AMT,2;;;5;;;rcp26;9;globallyOptimal;1050;diffLin2Lin;40;2100;;9;;;;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2025;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP2-Base;1,AMT,2;;;;;;;;;0;;;;;;;off;;;;;;;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix1;2005;;;;;SSP2-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-NDC;1,AMT,2;;;;;;rcp45;3;globallyOptimal;0;NDC;;;;9;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2025;;SSP2-NPi;SSP2-NPi;SSP2-NPi;SSP2-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. +SSP2-NPi;1,AMT,compileInTests,2;;;;;;rcp45;3;;0;NPi;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-PkBudg500;1,AMT,2;;;;;;rcp20;9;globallyOptimal;500;diffLin2Lin;200;2045;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2025;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be well below 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-PkBudg650;1,AMT,2;;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2025;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-PkBudg1050;1,AMT,2;;;;;;rcp26;9;globallyOptimal;1050;diffLin2Lin;40;2100;;9;;;;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2025;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. # EU21 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP2-EU21-NPi-calibrate;calibrate;calibrate;;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;0;NPi;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-EU21-Base;1,AMT,compileInTests,2;;;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;;;;0;;;;;;;off;;;;;;;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix1;2005;;;;;SSP2-EU21-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-EU21-NDC;1,AMT,2;;;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;globallyOptimal;0;NDC;;;;9;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2025;;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-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. -SSP2-EU21-NPi;1,AMT,2;;;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-EU21-PkBudg500;1,AMT,2;;;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;500;diffLin2Lin;200;2045;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2025;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg500: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-EU21-PkBudg650;1,AMT,2;;;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2025;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg650: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-EU21-PkBudg1050;1,AMT,2;;;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;9;globallyOptimal;1050;diffLin2Lin;40;2100;;9;;;;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2025;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg1050: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP2-EU21-Base;1,AMT,compileInTests,2;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;;;;0;;;;;;;off;;;;;;;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix1;2005;;;;;SSP2-EU21-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-EU21-NDC;1,AMT,2;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;globallyOptimal;0;NDC;;;;9;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2025;;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-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. +SSP2-EU21-NPi;1,AMT,2;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-EU21-PkBudg500;1,AMT,2;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;500;diffLin2Lin;200;2045;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2025;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg500: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-EU21-PkBudg650;1,AMT,2;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2025;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg650: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-EU21-PkBudg1050;1,AMT,2;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;9;globallyOptimal;1050;diffLin2Lin;40;2100;;9;;;;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2025;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg1050: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. # H12 SSP1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP1-NPi-calibrate;calibrate;calibrate;;14;;;rcp45;;;0;NPi;;;;9;;;2;1.025;1.75;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;SSP1;Mix1;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. SSP1-NDC;1,AMT,compileInTests;;;;;;rcp45;3;globallyOptimal;0;NDC;;;;9;;;2;1.025;1.75;;2;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SSP1;0.5;1;forcing_SSP1;SSP1;Mix2;2025;;SSP2-NPi;SSP1-NPi;SSP1-NPi;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. diff --git a/core/sets.gms b/core/sets.gms index b4c9bab31..17d2eff28 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -1203,8 +1203,8 @@ te(all_te) "energy technologies" tdbiogas "transmission and distribution for gas from biomass origin to stationary users" tdfosgas "transmission and distribution for gas from fossil origin to stationary users" tdsyngas "transmission and distribution for gas from synthetic origin to stationary users" - tdbiogat "transmission and distribution for gas from synthetic origin to transportation" - tdfosgat "transmission and distribution for gas from biomass origin to transportation" + tdbiogat "transmission and distribution for gas from biomass origin to transportation" + tdfosgat "transmission and distribution for gas from fossil origin to transportation" tdsyngat "transmission and distribution for gas from synthetic origin to transportation" tdbiohos "transmission and distribution for heating oil from biomass origin to stationary users" tdfoshos "transmission and distribution for heating oil from fossil origin to stationary users" From 5f37e23d862cf36898963a35238894b582befeb7 Mon Sep 17 00:00:00 2001 From: David Klein Date: Fri, 20 Sep 2024 12:14:35 +0200 Subject: [PATCH 500/875] Dont modify slurmConfig if REMIND is run in "direct" mode --- start.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/start.R b/start.R index bd1601d03..06fdefafd 100755 --- a/start.R +++ b/start.R @@ -251,7 +251,7 @@ if (any(c("--reprepare", "--restart") %in% flags)) { if (! exists("slurmConfig") & (any(c("--debug", "--quick", "--testOneRegi") %in% flags) | ! "slurmConfig" %in% names(scenarios) || any(is.na(scenarios$slurmConfig)))) { slurmConfig <- choose_slurmConfig(flags = flags) - if ("--quick" %in% flags) slurmConfig <- combine_slurmConfig(slurmConfig, "--time=60") + if ("--quick" %in% flags && ! slurmConfig == "direct") slurmConfig <- combine_slurmConfig(slurmConfig, "--time=60") if (any(c("--debug", "--quick", "--testOneRegi") %in% flags) && ! length(config.file) == 0) { message("\nYour slurmConfig selection will overwrite the settings in your scenario_config file.") } From 7d34a645e511392b65f98581dd3caca40b06fff8 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Fri, 20 Sep 2024 10:22:06 +0000 Subject: [PATCH 501/875] Release development version 3.3.2.dev596 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 9b359564e..8c1147a09 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev592" -date-released: 2024-09-17 +version: "3.3.2.dev596" +date-released: 2024-09-20 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 40d3103dd..e98cb2444 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -72,7 +72,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.3.2.dev592" +cfg$model_version <- "3.3.2.dev596" #### settings #### cfg$gms <- list() From e95602eda31d1c982697f49334aa2bbbc59151b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabrice=20L=C3=A9cuyer?= Date: Fri, 20 Sep 2024 15:01:29 +0200 Subject: [PATCH 502/875] revert to H12 regions in sets.gms --- core/sets.gms | 172 ++++++++++++++++++++++++-------------------------- 1 file changed, 82 insertions(+), 90 deletions(-) diff --git a/core/sets.gms b/core/sets.gms index 17d2eff28..a347f00e2 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -765,20 +765,20 @@ sets ext_regi "extended regions list (includes subsets of H12 regions)" / GLO, - LAM_regi,OAS_regi,SSA_regi,EUR_regi,NEU_regi,MEA_regi,REF_regi,CAZ_regi,CHA_regi,IND_regi,JPN_regi,USA_regi,EU27_regi,NEU_UKI_regi, - OAS,ENC,NES,MEA,SSA,LAM,REF,CAZ,EWN,ECS,CHA,ESC,ECE,FRA,DEU,UKI,NEN,IND,JPN,ESW,USA + LAM_regi,OAS_regi,SSA_regi,EUR_regi,NEU_regi,MEA_regi,REF_regi,CAZ_regi,CHA_regi,IND_regi,JPN_regi,USA_regi, + LAM,OAS,SSA,EUR,NEU,MEA,REF,CAZ,CHA,IND,JPN,USA / - all_regi "all regions" /OAS,ENC,NES,MEA,SSA,LAM,REF,CAZ,EWN,ECS,CHA,ESC,ECE,FRA,DEU,UKI,NEN,IND,JPN,ESW,USA/ + all_regi "all regions" /LAM,OAS,SSA,EUR,NEU,MEA,REF,CAZ,CHA,IND,JPN,USA/ regi_group(ext_regi,all_regi) "region groups (regions that together corresponds to a H12 region)" / - GLO.( OAS,ENC,NES,MEA,SSA,LAM,REF,CAZ,EWN,ECS,CHA,ESC,ECE,FRA,DEU,UKI,NEN,IND,JPN,ESW,USA ) + GLO.( LAM,OAS,SSA,EUR,NEU,MEA,REF,CAZ,CHA,IND,JPN,USA ) LAM_regi .(LAM) OAS_regi .(OAS) SSA_regi .(SSA) - EUR_regi .(ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW) - NEU_regi .(NES,NEN) + EUR_regi .(EUR) + NEU_regi .(NEU) MEA_regi .(MEA) REF_regi .(REF) CAZ_regi .(CAZ) @@ -786,110 +786,102 @@ sets IND_regi .(IND) JPN_regi .(JPN) USA_regi .(USA) - EU27_regi .(ENC,EWN,ECS,ESC,ECE,FRA,DEU,ESW) - NEU_UKI_regi .(NES,NEN,UKI) / iso "list of iso countries" / - AFG,ALA,ALB,DZA,ASM,AND,AGO,AIA,ATA,ATG, - ARG,ARM,ABW,AUS,AUT,AZE,BHS,BHR,BGD,BRB, - BLR,BEL,BLZ,BEN,BMU,BTN,BOL,BES,BIH,BWA, - BVT,BRA,IOT,BRN,BGR,BFA,BDI,KHM,CMR,CAN, - CPV,CYM,CAF,TCD,CHL,CHN,CXR,CCK,COL,COM, - COG,COD,COK,CRI,CIV,HRV,CUB,CUW,CYP,CZE, - DNK,DJI,DMA,DOM,ECU,EGY,SLV,GNQ,ERI,EST, - ETH,FLK,FRO,FJI,FIN,FRA,GUF,PYF,ATF,GAB, - GMB,GEO,DEU,GHA,GIB,GRC,GRL,GRD,GLP,GUM, - GTM,GGY,GIN,GNB,GUY,HTI,HMD,VAT,HND,HKG, - HUN,ISL,IND,IDN,IRN,IRQ,IRL,IMN,ISR,ITA, - JAM,JPN,JEY,JOR,KAZ,KEN,KIR,PRK,KOR,KWT, - KGZ,LAO,LVA,LBN,LSO,LBR,LBY,LIE,LTU,LUX, - MAC,MKD,MDG,MWI,MYS,MDV,MLI,MLT,MHL,MTQ, - MRT,MUS,MYT,MEX,FSM,MDA,MCO,MNG,MNE,MSR, - MAR,MOZ,MMR,NAM,NRU,NPL,NLD,NCL,NZL,NIC, - NER,NGA,NIU,NFK,MNP,NOR,OMN,PAK,PLW,PSE, - PAN,PNG,PRY,PER,PHL,PCN,POL,PRT,PRI,QAT, - REU,ROU,RUS,RWA,BLM,SHN,KNA,LCA,MAF,SPM, - VCT,WSM,SMR,STP,SAU,SEN,SRB,SYC,SLE,SGP, - SXM,SVK,SVN,SLB,SOM,ZAF,SGS,SSD,ESP,LKA, - SDN,SUR,SJM,SWZ,SWE,CHE,SYR,TWN,TJK,TZA, - THA,TLS,TGO,TKL,TON,TTO,TUN,TUR,TKM,TCA, - TUV,UGA,UKR,ARE,GBR,USA,UMI,URY,UZB,VUT, - VEN,VNM,VGB,VIR,WLF,ESH,YEM,ZMB,ZWE / + ABW,AFG,AGO,AIA,ALA,ALB,AND,ARE,ARG,ARM, + ASM,ATA,ATF,ATG,AUS,AUT,AZE,BDI,BEL,BEN, + BES,BFA,BGD,BGR,BHR,BHS,BIH,BLM,BLR,BLZ, + BMU,BOL,BRA,BRB,BRN,BTN,BVT,BWA,CAF,CAN, + CCK,CHN,CHE,CHL,CIV,CMR,COD,COG,COK,COL, + COM,CPV,CRI,CUB,CUW,CXR,CYM,CYP,CZE,DEU, + DJI,DMA,DNK,DOM,DZA,ECU,EGY,ERI,ESH,ESP, + EST,ETH,FIN,FJI,FLK,FRA,FRO,FSM,GAB,GBR, + GEO,GGY,GHA,GIB,GIN,GLP,GMB,GNB,GNQ,GRC, + GRD,GRL,GTM,GUF,GUM,GUY,HKG,HMD,HND,HRV, + HTI,HUN,IDN,IMN,IND,IOT,IRL,IRN,IRQ,ISL, + ISR,ITA,JAM,JEY,JOR,JPN,KAZ,KEN,KGZ,KHM, + KIR,KNA,KOR,KWT,LAO,LBN,LBR,LBY,LCA,LIE, + LKA,LSO,LTU,LUX,LVA,MAC,MAF,MAR,MCO,MDA, + MDG,MDV,MEX,MHL,MKD,MLI,MLT,MMR,MNE,MNG, + MNP,MOZ,MRT,MSR,MTQ,MUS,MWI,MYS,MYT,NAM, + NCL,NER,NFK,NGA,NIC,NIU,NLD,NOR,NPL,NRU, + NZL,OMN,PAK,PAN,PCN,PER,PHL,PLW,PNG,POL, + PRI,PRK,PRT,PRY,PSE,PYF,QAT,REU,ROU,RUS, + RWA,SAU,SDN,SEN,SGP,SGS,SHN,SJM,SLB,SLE, + SLV,SMR,SOM,SPM,SRB,SSD,STP,SUR,SVK,SVN, + SWE,SWZ,SXM,SYC,SYR,TCA,TCD,TGO,THA,TJK, + TKL,TKM,TLS,TON,TTO,TUN,TUR,TUV,TWN,TZA, + UGA,UKR,UMI,URY,USA,UZB,VAT,VCT,VEN,VGB, + VIR,VNM,VUT,WLF,WSM,YEM,ZAF,ZMB,ZWE / regi2iso(all_regi,iso) "mapping regions to iso countries" / - OAS . (AFG,ASM,BGD,BTN,IOT,BRN,KHM,CXR,CCK,COK) - OAS . (FJI,PYF,ATF,GUM,IDN,KIR,PRK,KOR,LAO,MYS) - OAS . (MDV,MHL,FSM,MNG,MMR,NRU,NPL,NCL,NIU,NFK) - OAS . (MNP,PAK,PLW,PNG,PHL,PCN,WSM,SGP,SLB,LKA) - OAS . (THA,TLS,TKL,TON,TUV,UMI,VUT,VNM,WLF) - ENC . (ALA,DNK,FRO,FIN,SWE) - NES . (ALB,AND,BIH,VAT,MKD,MCO,MNE,SMR,SRB,TUR) - MEA . (DZA,BHR,EGY,IRN,IRQ,ISR,JOR,KWT,LBN,LBY) - MEA . (MAR,OMN,PSE,QAT,SAU,SDN,SYR,TUN,ARE,ESH) - MEA . (YEM) - SSA . (AGO,BEN,BWA,BFA,BDI,CMR,CPV,CAF,TCD,COM) - SSA . (COG,COD,CIV,DJI,GNQ,ERI,ETH,GAB,GMB,GHA) - SSA . (GIN,GNB,KEN,LSO,LBR,MDG,MWI,MLI,MRT,MUS) - SSA . (MYT,MOZ,NAM,NER,NGA,REU,RWA,SHN,STP,SEN) - SSA . (SYC,SLE,SOM,ZAF,SSD,SWZ,TZA,TGO,UGA,ZMB) + LAM . (ABW,AIA,ARG,ATA,ATG,BES,BHS,BLM,BLZ,BMU) + LAM . (BOL,BRA,BRB,BVT,CHL,COL,CRI,CUB,CUW,CYM) + LAM . (DMA,DOM,ECU,FLK,GLP,GRD,GTM,GUF,GUY,HND) + LAM . (HTI,JAM,KNA,LCA,MAF,MEX,MSR,MTQ,NIC,PAN) + LAM . (PER,PRI,PRY,SGS,SLV,SUR,SXM,TCA,TTO,URY) + LAM . (VCT,VEN,VGB,VIR) + OAS . (AFG,ASM,ATF,BGD,BRN,BTN,CCK,COK,CXR,FJI) + OAS . (FSM,GUM,IDN,IOT,KHM,KIR,KOR,LAO,LKA,MDV) + OAS . (MHL,MMR,MNG,MNP,MYS,NCL,NFK,NIU,NPL,NRU) + OAS . (PAK,PCN,PHL,PLW,PNG,PRK,PYF,SGP,SLB,THA) + OAS . (TKL,TLS,TON,TUV,UMI,VNM,VUT,WLF,WSM) + SSA . (AGO,BDI,BEN,BFA,BWA,CAF,CIV,CMR,COD,COG) + SSA . (COM,CPV,DJI,ERI,ETH,GAB,GHA,GIN,GMB,GNB) + SSA . (GNQ,KEN,LBR,LSO,MDG,MLI,MOZ,MRT,MUS,MWI) + SSA . (MYT,NAM,NER,NGA,REU,RWA,SEN,SHN,SLE,SOM) + SSA . (SSD,STP,SWZ,SYC,TCD,TGO,TZA,UGA,ZAF,ZMB) SSA . (ZWE) - LAM . (AIA,ATA,ATG,ARG,ABW,BHS,BRB,BLZ,BMU,BOL) - LAM . (BES,BVT,BRA,CYM,CHL,COL,CRI,CUB,CUW,DMA) - LAM . (DOM,ECU,SLV,FLK,GUF,GRD,GLP,GTM,GUY,HTI) - LAM . (HND,JAM,MTQ,MEX,MSR,NIC,PAN,PRY,PER,PRI) - LAM . (BLM,KNA,LCA,MAF,VCT,SXM,SGS,SUR,TTO,TCA) - LAM . (URY,VEN,VGB,VIR) + EUR . (ALA,AUT,BEL,BGR,CYP,CZE,DEU,DNK,ESP,EST) + EUR . (FIN,FRA,FRO,GBR,GGY,GIB,GRC,HRV,HUN,IMN) + EUR . (IRL,ITA,JEY,LTU,LUX,LVA,MLT,NLD,POL,PRT) + EUR . (ROU,SVK,SVN,SWE) + NEU . (ALB,AND,BIH,CHE,GRL,ISL,LIE,MCO,MKD,MNE) + NEU . (NOR,SJM,SMR,SRB,TUR,VAT) + MEA . (ARE,BHR,DZA,EGY,ESH,IRN,IRQ,ISR,JOR,KWT) + MEA . (LBN,LBY,MAR,OMN,PSE,QAT,SAU,SDN,SYR,TUN) + MEA . (YEM) REF . (ARM,AZE,BLR,GEO,KAZ,KGZ,MDA,RUS,TJK,TKM) REF . (UKR,UZB) CAZ . (AUS,CAN,HMD,NZL,SPM) - EWN . (AUT,BEL,LUX,NLD) - ECS . (BGR,HRV,HUN,ROU,SVN) CHA . (CHN,HKG,MAC,TWN) - ESC . (CYP,GRC,ITA,MLT) - ECE . (CZE,EST,LVA,LTU,POL,SVK) - FRA . (FRA) - DEU . (DEU) - UKI . (GIB,GGY,IRL,IMN,JEY,GBR) - NEN . (GRL,ISL,LIE,NOR,SJM,CHE) IND . (IND) JPN . (JPN) - ESW . (PRT,ESP) USA . (USA) / iso_regi "all iso countries and EU and greater China region" / EUR,CHA, - AFG,ALA,ALB,DZA,ASM,AND,AGO,AIA,ATA,ATG, - ARG,ARM,ABW,AUS,AUT,AZE,BHS,BHR,BGD,BRB, - BLR,BEL,BLZ,BEN,BMU,BTN,BOL,BES,BIH,BWA, - BVT,BRA,IOT,BRN,BGR,BFA,BDI,KHM,CMR,CAN, - CPV,CYM,CAF,TCD,CHL,CHN,CXR,CCK,COL,COM, - COG,COD,COK,CRI,CIV,HRV,CUB,CUW,CYP,CZE, - DNK,DJI,DMA,DOM,ECU,EGY,SLV,GNQ,ERI,EST, - ETH,FLK,FRO,FJI,FIN,FRA,GUF,PYF,ATF,GAB, - GMB,GEO,DEU,GHA,GIB,GRC,GRL,GRD,GLP,GUM, - GTM,GGY,GIN,GNB,GUY,HTI,HMD,VAT,HND,HKG, - HUN,ISL,IND,IDN,IRN,IRQ,IRL,IMN,ISR,ITA, - JAM,JPN,JEY,JOR,KAZ,KEN,KIR,PRK,KOR,KWT, - KGZ,LAO,LVA,LBN,LSO,LBR,LBY,LIE,LTU,LUX, - MAC,MKD,MDG,MWI,MYS,MDV,MLI,MLT,MHL,MTQ, - MRT,MUS,MYT,MEX,FSM,MDA,MCO,MNG,MNE,MSR, - MAR,MOZ,MMR,NAM,NRU,NPL,NLD,NCL,NZL,NIC, - NER,NGA,NIU,NFK,MNP,NOR,OMN,PAK,PLW,PSE, - PAN,PNG,PRY,PER,PHL,PCN,POL,PRT,PRI,QAT, - REU,ROU,RUS,RWA,BLM,SHN,KNA,LCA,MAF,SPM, - VCT,WSM,SMR,STP,SAU,SEN,SRB,SYC,SLE,SGP, - SXM,SVK,SVN,SLB,SOM,ZAF,SGS,SSD,ESP,LKA, - SDN,SUR,SJM,SWZ,SWE,CHE,SYR,TWN,TJK,TZA, - THA,TLS,TGO,TKL,TON,TTO,TUN,TUR,TKM,TCA, - TUV,UGA,UKR,ARE,GBR,USA,UMI,URY,UZB,VUT, - VEN,VNM,VGB,VIR,WLF,ESH,YEM,ZMB,ZWE / + ABW,AFG,AGO,AIA,ALA,ALB,AND,ARE,ARG,ARM, + ASM,ATA,ATF,ATG,AUS,AUT,AZE,BDI,BEL,BEN, + BES,BFA,BGD,BGR,BHR,BHS,BIH,BLM,BLR,BLZ, + BMU,BOL,BRA,BRB,BRN,BTN,BVT,BWA,CAF,CAN, + CCK,CHN,CHE,CHL,CIV,CMR,COD,COG,COK,COL, + COM,CPV,CRI,CUB,CUW,CXR,CYM,CYP,CZE,DEU, + DJI,DMA,DNK,DOM,DZA,ECU,EGY,ERI,ESH,ESP, + EST,ETH,FIN,FJI,FLK,FRA,FRO,FSM,GAB,GBR, + GEO,GGY,GHA,GIB,GIN,GLP,GMB,GNB,GNQ,GRC, + GRD,GRL,GTM,GUF,GUM,GUY,HKG,HMD,HND,HRV, + HTI,HUN,IDN,IMN,IND,IOT,IRL,IRN,IRQ,ISL, + ISR,ITA,JAM,JEY,JOR,JPN,KAZ,KEN,KGZ,KHM, + KIR,KNA,KOR,KWT,LAO,LBN,LBR,LBY,LCA,LIE, + LKA,LSO,LTU,LUX,LVA,MAC,MAF,MAR,MCO,MDA, + MDG,MDV,MEX,MHL,MKD,MLI,MLT,MMR,MNE,MNG, + MNP,MOZ,MRT,MSR,MTQ,MUS,MWI,MYS,MYT,NAM, + NCL,NER,NFK,NGA,NIC,NIU,NLD,NOR,NPL,NRU, + NZL,OMN,PAK,PAN,PCN,PER,PHL,PLW,PNG,POL, + PRI,PRK,PRT,PRY,PSE,PYF,QAT,REU,ROU,RUS, + RWA,SAU,SDN,SEN,SGP,SGS,SHN,SJM,SLB,SLE, + SLV,SMR,SOM,SPM,SRB,SSD,STP,SUR,SVK,SVN, + SWE,SWZ,SXM,SYC,SYR,TCA,TCD,TGO,THA,TJK, + TKL,TKM,TLS,TON,TTO,TUN,TUR,TUV,TWN,TZA, + UGA,UKR,UMI,URY,USA,UZB,VAT,VCT,VEN,VGB, + VIR,VNM,VUT,WLF,WSM,YEM,ZAF,ZMB,ZWE / map_iso_regi(iso_regi,all_regi) "mapping from iso countries to regions that represent country" / + EUR . EUR CHA . CHA - FRA . FRA - DEU . DEU IND . IND JPN . JPN USA . USA From ec039a46bb57cbf1d5726e3d93659ecd5b226878 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Fri, 20 Sep 2024 15:33:13 +0200 Subject: [PATCH 503/875] update declaration text --- core/declarations.gms | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/core/declarations.gms b/core/declarations.gms index 8c775da9c..e4648ecfd 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -597,10 +597,10 @@ s_MtCO2_2_GtC "conversion factor from Mt s_MtCH4_2_TWa "Energy content of methane. MtCH4 --> TWa: 1 MtCH4 = 1.23 * 10^6 toe * 42 GJ/toe * 10^-9 EJ/GJ * 1 TWa/31.536 EJ = 0.001638 TWa (BP statistical review)" /0.001638/ -s_D2015_2_D2017 "Convert $2015 to $2017" /1.0292/ -sm_D2005_2_D2017 "Convert $2005 to $2017" /1.231/ -sm_D2020_2_D2017 "Convert $2020 to $2017" /0.9469/ -sm_EURO2023_2_D2017 "Convert EURO 2023 to $2017" /0.8915/ +s_D2015_2_D2017 "Convert US$2015 to US$2017" /1.0292/ +sm_D2005_2_D2017 "Convert US$2005 to US$2017" /1.231/ +sm_D2020_2_D2017 "Convert US$2020 to US$2017" /0.9469/ +sm_EURO2023_2_D2017 "Convert EURO 2023 to US$2017" /0.8915/ sm_h2kg_2_h2kWh "convert kilogramme of hydrogen to kwh energy value." /32.5/ sm_DptCO2_2_TDpGtC "Conversion multiplier to go from $/tCO2 to T$/GtC: 44/12/1000" /0.00366667/ From 771fafe55e282fe0a3f9a24091e1525b7a84eb34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabrice=20L=C3=A9cuyer?= Date: Fri, 20 Sep 2024 15:46:17 +0200 Subject: [PATCH 504/875] update cm_incolearn description --- main.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.gms b/main.gms index 9b4abc0f0..386599266 100755 --- a/main.gms +++ b/main.gms @@ -1548,7 +1548,7 @@ $setglobal cm_enb off !! def = off *** cm_incolearn "change floor investment cost value" *** Example on how to use: *** cm_incolearn "windon=1600,spv=5160,csp=9500" -*** floor investment costs from learning set to 17000 for EVs; and 1600, 5160 and 9500 for windon, solar pv and solar csp respectively. +*** floor investment costs from learning set to 1600 for wind onshore, 5160 for solar photovoltaic and 9500 for concentrated solar power. $setglobal cm_incolearn off !! def = off *** cm_storageFactor "scale curtailment and storage requirements. [factor]" *** def <- "off" = no change for curtailment and storage requirements; From 72ff3b94284974579fb0c732f6a6158a27640c48 Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Fri, 20 Sep 2024 15:58:18 +0200 Subject: [PATCH 505/875] adding comments suggested by reviewer --- core/declarations.gms | 4 ++-- core/equations.gms | 16 ++++++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/core/declarations.gms b/core/declarations.gms index be3c1ab0d..451afc097 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -426,8 +426,8 @@ v_shGreenH2(ttot,all_regi) "share of green hydrogen in all hydrogen by 2030 [0 v_shBioTrans(ttot,all_regi) "Share of biofuels in transport liquids from 2025 onwards. Value between 0 and 1." v_shfe(ttot,all_regi,all_enty,emi_sectors) "share of final energy in sector total final energy [0..1]" -v_shSeFe(ttot,all_regi,all_enty) "share of secondary energy on total secondary energy type (liquids, solids and gases) [0..1]" -v_shSeFeSector(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "share of secondary energy on secondary energy type (liquids, solids and gases) per final energy, sector and emission market [0..1]" +v_shSeFe(ttot,all_regi,all_enty) "share of energy carrier subtype in final energy demand of the aggregated carrier type (eg 'the share of bio-based FE liquids in all FE liquids') [0..1]" +v_shSeFeSector(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "share of energy carrier subtype in final energy demand of the aggregated carrier type per sector/emiMarket combination (eg 'the share of bio-based FE liquids in all FE liquids used in ETS-covered transport') [0..1]" v_shGasLiq_fe(ttot,all_regi,emi_sectors) "share of gases and liquids in sector final energy [0..1]" vm_emiCdrAll(ttot,all_regi) "all CDR emissions" diff --git a/core/equations.gms b/core/equations.gms index 8629ca22a..231d591ef 100644 --- a/core/equations.gms +++ b/core/equations.gms @@ -1068,11 +1068,11 @@ q_shfe(t,regi,entyFe,sector)$(pm_shfe_up(t,regi,entyFe,sector) OR pm_shfe_lo(t,r vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt))) ; -q_shSeFe(t,regi,entySe)$(entySeBio(entySe) OR entySeSyn(entySe) OR entySeFos(entySe)).. !!secondary energy carriers shares in final energy demand calculated only for entySeBio, entySeSyn and entySeFos +q_shSeFe(t,regi,entySe)$(entySeBio(entySe) OR entySeSyn(entySe) OR entySeFos(entySe)).. !! share of energy carrier subtype in final energy demand of the aggregated carrier type (eg 'the share of bio-based FE liquids in all FE liquids') v_shSeFe(t,regi,entySe) - * sum(seAgg$seAgg2se(seAgg,entySe), !!controlling the list of secondary energy carriers to sum up - sum((sector,emiMkt)$sector2emiMkt(sector,emiMkt), - sum(entySe2$seAgg2se(seAgg,entySe2), + * sum((sector,emiMkt)$sector2emiMkt(sector,emiMkt), + sum(seAgg$seAgg2se(seAgg,entySe), !! determining the aggregate SE carrier type (liquids, gases, ...) + sum(entySe2$seAgg2se(seAgg,entySe2), !! summing over the bio/fos/syn variants of the chosen SE carrier" sum(entyFe$(sefe(entySe2,entyFe) AND entyFe2Sector(entyFe,sector)), vm_demFeSector_afterTax(t,regi,entySe2,entyFe,sector,emiMkt))))) =e= @@ -1160,7 +1160,7 @@ q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$( ( (NOT(sameas(sector,"build") AND (t.val le 2020))) OR (NOT(sameas(sector,"indst") AND (t.val le 2020))) OR (NOT(sameas(sector,"cdr") AND (t.val le 2020))) - ) AND !!disable historical year share incentives to buildings, industry and CDR + ) AND !!disable share incentives for historical years in buildings, industry and CDR as this should be handled by historical bounds ( NOT(sameas(sector,"build") AND (sameas(entyFE,"fesos"))) ) !!disable buildings solids share incentives ).. v_penSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) @@ -1175,7 +1175,7 @@ q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$( ( (NOT(sameas(sector,"build") AND (t.val le 2020))) OR (NOT(sameas(sector,"indst") AND (t.val le 2020))) OR (NOT(sameas(sector,"cdr") AND (t.val le 2020))) - ) AND !!disable historical year share incentives to buildings, industry and CDR + ) AND !!disable share incentives for historical years in buildings, industry and CDR as this should be handled by historical bounds ( NOT(sameas(sector,"build") AND (sameas(entyFE,"fesos"))) ) !!disable buildings solids share incentives ).. v_penSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) @@ -1190,7 +1190,7 @@ q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$( ( (NOT(sameas(sector,"build") AND (t.val le 2020))) OR (NOT(sameas(sector,"indst") AND (t.val le 2020))) OR (NOT(sameas(sector,"cdr") AND (t.val le 2020))) - ) AND !!disable historical year share incentives to buildings, industry and CDR + ) AND !!disable share incentives for historical years in buildings, industry and CDR as this should be handled by historical bounds ( NOT(sameas(sector,"build") AND (sameas(entyFE,"fesos"))) ) !!disable buildings solids share incentives ).. v_penSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) @@ -1205,7 +1205,7 @@ q_minMaxPenSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$( ( (NOT(sameas(sector,"build") AND (t.val le 2020))) OR (NOT(sameas(sector,"indst") AND (t.val le 2020))) OR (NOT(sameas(sector,"cdr") AND (t.val le 2020))) - ) AND !!disable historical year share incentives to buildings, industry and CDR + ) AND !!disable share incentives for historical years in buildings, industry and CDR as this should be handled by historical bounds ( NOT(sameas(sector,"build") AND (sameas(entyFE,"fesos"))) ) !!disable buildings solids share incentives ).. ( From b3fc1260dc2bc8fa704be483c45122676fb0b716 Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Fri, 20 Sep 2024 15:59:56 +0200 Subject: [PATCH 506/875] reverting merge overwritte --- scripts/output/single/reporting.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/output/single/reporting.R b/scripts/output/single/reporting.R index d2f19ff4b..36e5f1ede 100644 --- a/scripts/output/single/reporting.R +++ b/scripts/output/single/reporting.R @@ -76,7 +76,7 @@ edgetOutputDir <- file.path(outputdir, "EDGE-T") if(file.exists(edgetOutputDir)) { if (! file.exists(file.path(edgetOutputDir, "4_Output", "vehSalesAndModeShares.RDS"))) { message("EDGE-T reporting files are missing, probably because the run was killed.") - message("Rerunning iterativeEdgeTransport().") + message("Rerunning toolIterativeEDGETransport().") savewd <- getwd() setwd(outputdir) edgeTransport::iterativeEdgeTransport() From a7a973b92a758827ba4e6e935036bc2c056f1869 Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Fri, 20 Sep 2024 16:08:25 +0200 Subject: [PATCH 507/875] adding comments suggested by reviewer - round 2 --- core/declarations.gms | 12 ++++++------ core/preloop.gms | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/core/declarations.gms b/core/declarations.gms index 451afc097..c3b9610ae 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -157,8 +157,8 @@ pm_shFeCes(ttot,all_regi,all_enty,all_in,all_teEs) "Final energy shares for CE pm_shfe_up(ttot,all_regi,all_enty,emi_sectors) "Final energy shares exogenous upper bounds per sector" pm_shfe_lo(ttot,all_regi,all_enty,emi_sectors) "Final energy shares exogenous lower bounds per sector" -p_shSeFe(ttot,all_regi,all_enty) "initial share of secondary energy on total secondary energy type (liquids, solids and gases) [0..1]" -p_shSeFeSector(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "initial share of secondary energy on secondary energy type (liquids, solids and gases) per final energy, sector and emission market [0..1]" +p_shSeFe(ttot,all_regi,all_enty) "Initial share of energy carrier subtype in final energy demand of the aggregated carrier type (eg 'the share of bio-based FE liquids in all FE liquids') [0..1]" +p_shSeFeSector(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "Initial share of energy carrier subtype in final energy demand of the aggregated carrier type for each sector/emiMarket combination (eg 'bio-based FE liquids share in all FE liquids within ETS transport') [0..1]" pm_shGasLiq_fe_up(ttot,all_regi,emi_sectors) "Final energy gases plus liquids shares exogenous upper bounds per sector" pm_shGasLiq_fe_lo(ttot,all_regi,emi_sectors) "Final energy gases plus liquids shares exogenous lower bounds per sector" @@ -447,8 +447,8 @@ vm_prodEs(ttot,all_regi,all_enty,all_esty,all_teEs) "Energy services (u vm_transpGDPscale(ttot,all_regi) "dampening factor to align edge-t non-energy transportation costs with historical GDP data" $ifthen.seFeSectorShareDev not "%cm_seFeSectorShareDevMethod%" == "off" - v_penSeFeSectorShare(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "penalty for secondary energy share deviation in sectors" - vm_penSeFeSectorShareDevCost(ttot,all_regi) "total penalty cost for secondary energy share deviation in sectors" + v_penSeFeSectorShare(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "penalty cost for secondary energy share deviation between sectors, for each sector/emiMarket combination" + vm_penSeFeSectorShareDevCost(ttot,all_regi) "total penalty cost for secondary energy share deviation between sectors" $endif.seFeSectorShareDev $ifthen.minMaxSeFeSectorShareDev "%cm_seFeSectorShareDevMethod%" == "minMaxAvrgShare" @@ -562,8 +562,8 @@ q_shGreenH2(ttot,all_regi) "share of green hydrogen in all hydrogen" q_shBioTrans(ttot,all_regi) "Define the share of biofuels in transport liquids from 2025 on." q_shfe(ttot,all_regi,all_enty,emi_sectors) "share of final energy carrier in the sector final energy" -q_shSeFe(ttot,all_regi,all_enty) "share of secondary energy on total secondary energy type (liquids, solids and gases)" -q_shSeFeSector(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "share of secondary energy on secondary energy type (liquids, solids and gases) per final energy, sector and emission market" +q_shSeFe(ttot,all_regi,all_enty) "share of energy carrier subtype in final energy demand of the aggregated carrier type (eg 'the share of bio-based FE liquids in all FE liquids')" +q_shSeFeSector(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "share of energy carrier subtype in final energy demand of the aggregated carrier type for each sector/emiMarket combination (eg 'the share of bio-based FE liquids in all FE liquids within ETS-covered transport" q_shGasLiq_fe(ttot,all_regi,emi_sectors) "share of gases and liquids in sector final energy" q_shbiofe_up(ttot,all_regi,all_enty,emi_sectors,all_emiMkt) "share of biomass per carrier in sector final energy (upper bound)" diff --git a/core/preloop.gms b/core/preloop.gms index 54d0a09bb..5ec634728 100644 --- a/core/preloop.gms +++ b/core/preloop.gms @@ -189,7 +189,7 @@ if (cm_startyear gt 2005, Execute_Loadpoint 'input_ref' vm_capEarlyReti.l = vm_capEarlyReti.l; ); -*** initialize secondary energy shares in sectors if deviations are penalized, i.e., if cm_seFeSectorShareDevMethod is enabled +*** initialize the carrier subtype shares in final energy demand such that the starting point for the model is "all sectors have the same bio/fos/syn shares for a given carrier type" when cm_seFeSectorShareDevMethod is enabled p_shSeFe(t,regi,entySe)$((entySeBio(entySe) OR entySeSyn(entySe) OR entySeFos(entySe)) AND sum(seAgg$seAgg2se(seAgg,entySe), sum((sector,emiMkt)$sector2emiMkt(sector,emiMkt), sum(entySe2$seAgg2se(seAgg,entySe2), sum(entyFe$(sefe(entySe2,entyFe) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt))))) ) = sum((sector,emiMkt)$sector2emiMkt(sector,emiMkt), sum(entyFe$(sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe,entyFe,sector,emiMkt))) / From a974342ceb1aa54059c552d8a13ffbe27c4e83a1 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Tue, 2 Apr 2024 15:17:18 +0200 Subject: [PATCH 508/875] increase adjustment cost for electrolysis and synthetic fuel (CCU) technologies, set p_adj_coeff to 24 for elh2 and 16 for MeOH and h22ch4 (8 is default) and p_adj_seed_te to 0.33 for elh2 and 0.5 for MeOH and h22ch4 (1 is default) --- core/datainput.gms | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/core/datainput.gms b/core/datainput.gms index 469ed5597..654e22b94 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -1219,6 +1219,10 @@ $ifthen.WindOff %cm_wind_offshore% == "1" p_adj_seed_te(ttot,regi,"windoff") = 0.5; $endif.WindOff + p_adj_seed_te(ttot,regi,"elh2") = 0.33; + p_adj_seed_te(ttot,regi,"MeOH") = 0.5; + p_adj_seed_te(ttot,regi,"h22ch4") = 0.5; + *RP: for comparison of different technologies: *** pm_conv_cap_2_MioLDV <- 650 # The world has slightly below 800million cars in 2005 (IEA TECO2), so with a global vm_cap of 1.2, this gives ~650 *** ==> 1TW power plant ~ 650 million LDV @@ -1260,6 +1264,12 @@ $endif.WindOff p_adj_coeff(ttot,regi,'oae_el') = 0.8; p_adj_coeff(ttot,regi,teGrid) = 0.3; p_adj_coeff(ttot,regi,teStor) = 0.05; + + p_adj_coeff(ttot,regi,"elh2") = 0.75; + p_adj_coeff(ttot,regi,"MeOH") = 0.5; + p_adj_coeff(ttot,regi,"h22ch4") = 0.5; + + ); ***Rescaling adj seed and coeff if adj cost multiplier switches are on From 87a8e5be68efc3b5f699ced16b2311362bc0cd2d Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Tue, 2 Apr 2024 15:07:58 +0200 Subject: [PATCH 509/875] add synfuel technologies, MeOH for synthetic liquids and h22ch4 for synthetic gas, to set of technologies to which adjustment cost are applied --- modules/39_CCU/on/sets.gms | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/39_CCU/on/sets.gms b/modules/39_CCU/on/sets.gms index 42b2a6816..73f11d67c 100644 --- a/modules/39_CCU/on/sets.gms +++ b/modules/39_CCU/on/sets.gms @@ -71,6 +71,7 @@ enty(enty_ccu39) = YES; te(te_ccu39) = YES; se2se(se2se_ccu39) = YES; teSe2rlf(teCCU2rlf) = YES; +teAdj(te_ccu39) = YES; *** EOF ./modules/39_CCU/on/sets.gms From 99725cac6b7e3a8be88f1593675eb75c5635d871 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Wed, 12 Jun 2024 21:50:19 +0200 Subject: [PATCH 510/875] set geohe adjustment cost parameters back to default value --- core/datainput.gms | 2 -- 1 file changed, 2 deletions(-) diff --git a/core/datainput.gms b/core/datainput.gms index 654e22b94..bbb1d3bed 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -1209,7 +1209,6 @@ loop(ttot$(ttot.val ge 2005), p_adj_seed_te(ttot,regi,'dac') = 0.25; p_adj_seed_te(ttot,regi,'oae_ng') = 0.25; p_adj_seed_te(ttot,regi,'oae_el') = 0.25; - p_adj_seed_te(ttot,regi,'geohe') = 0.33; $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" p_adj_seed_te(ttot,regi,"bfcc") = 0.05; p_adj_seed_te(ttot,regi,"idrcc") = 0.05; @@ -1248,7 +1247,6 @@ $endif.WindOff p_adj_coeff(ttot,regi,"ccsinje") = 1.0; p_adj_coeff(ttot,regi,"spv") = 0.15; p_adj_coeff(ttot,regi,"wind") = 0.25; - p_adj_coeff(ttot,regi,"geohe") = 0.6; $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" p_adj_coeff(ttot,regi,"bfcc") = 1.0; p_adj_coeff(ttot,regi,"idrcc") = 1.0; From 28b520d68ab77cee754c14ee7734e584ffeed3ad Mon Sep 17 00:00:00 2001 From: David Klein Date: Fri, 20 Sep 2024 16:42:12 +0200 Subject: [PATCH 511/875] Remove .zenodo.json since CITATION.cff contains all information and zenodo is able to evaluate it Add keyword active-development as required by SDMC Publication policy --- .zenodo.json | 265 --------------------------------------------------- CITATION.cff | 1 + 2 files changed, 1 insertion(+), 265 deletions(-) delete mode 100644 .zenodo.json diff --git a/.zenodo.json b/.zenodo.json deleted file mode 100644 index 10f45cbb5..000000000 --- a/.zenodo.json +++ /dev/null @@ -1,265 +0,0 @@ -{ - "title": "REMIND - REgional Model of INvestments and Development", - "version": "3.3.2", - "creators": [ - { - "name": "Luderer, Gunnar", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-9057-6155" - }, - { - "name": "Bauer, Nico", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-0211-4162" - }, - { - "name": "Baumstark, Lavinia", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-6979-6671" - }, - { - "name": "Bertram, Christoph", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-0933-4395" - }, - { - "name": "Leimbach, Marian", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Pietzcker, Robert", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-9403-6711" - }, - { - "name": "Strefler, Jessica", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-5279-4629" - }, - { - "name": "Aboumahboub, Tino" - }, - { - "name": "Abrahão, Gabriel", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0003-0336-6246" - }, - { - "name": "Auer, Cornelia", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Benke, Falk", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Bi, Stephen", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Dietrich, Jan Philipp", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-4309-6431" - }, - { - "name": "Dirnaichner, Alois", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-3240-2608" - }, - { - "name": "Fuchs, Sophie", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0009-0000-7258-1287" - }, - { - "name": "Führlich, Pascal", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-6856-8239" - }, - { - "name": "Giannousakis, Anastasis", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-4225-0011" - }, - { - "name": "Gong, Chen Chris", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-6406-6266" - }, - { - "name": "Haller, Markus" - }, - { - "name": "Hasse, Robin", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0003-1818-3186" - }, - { - "name": "Hilaire, Jerome", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-9879-6339" - }, - { - "name": "Hoppe, Johanna", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Klein, David", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0009-0001-7917-8041" - }, - { - "name": "Koch, Johannes", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0003-2920-8086" - }, - { - "name": "Köhler-Schindler, Laurin", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0003-4268-3084" - }, - { - "name": "Körner, Alexander" - }, - { - "name": "Kowalczyk, Katarzyna", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Kriegler, Elmar", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Levesque, Antoine", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Lorenz, Alexander" - }, - { - "name": "Ludig, Sylvie" - }, - { - "name": "Lüken, Michael" - }, - { - "name": "Malik, Aman", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-7310-8448" - }, - { - "name": "Mandaroux, Rahel", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0001-5596-2571" - }, - { - "name": "Manger, Susanne" - }, - { - "name": "Merfort, Anne", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-5929-7748" - }, - { - "name": "Merfort, Leon", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0003-1704-6892" - }, - { - "name": "Moreno-Leiva, Simón", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-9625-3955" - }, - { - "name": "Mouratiadou, Ioanna" - }, - { - "name": "Odenweller, Adrian", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-1123-8124" - }, - { - "name": "Pehl, Michaja", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0003-2349-6515" - }, - { - "name": "Pflüger, Mika", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-7814-8916" - }, - { - "name": "Piontek, Franziska", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Popin, Laura" - }, - { - "name": "Rauner, Sebastian", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Richters, Oliver", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0001-8253-4716" - }, - { - "name": "Rodrigues, Renato", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-5863-5514" - }, - { - "name": "Roming, Niklas" - }, - { - "name": "Rottoli, Marianna", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Rüter, Tonn", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Schmidt, Eva" - }, - { - "name": "Schötz, Christof", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0003-3528-4544" - }, - { - "name": "Schreyer, Felix", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0003-0376-2599" - }, - { - "name": "Schultes, Anselm", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Sörgel, Björn", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-2630-7081" - }, - { - "name": "Ueckerdt, Falko", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Verpoort, Philipp", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0003-1319-5006" - }, - { - "name": "Weigmann, Pascal", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0001-8801-173X" - } - ], - "keywords": ["energy", "economy", "modeling"], - "license": { - "id": "AGPL-3.0-or-later" - }, - "publication_date": "2024-07-04" -} diff --git a/CITATION.cff b/CITATION.cff index 8c1147a09..39c596050 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -279,5 +279,6 @@ keywords: - economy - modeling - model + - active-development license: AGPL-3.0-or-later url: https://www.pik-potsdam.de/research/transformation-pathways/models/remind From 39c264187f1cf120fd9c340c842de1843f20a8ab Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Fri, 20 Sep 2024 17:40:22 +0200 Subject: [PATCH 512/875] additional description to consider reviewers' comments --- main.gms | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/main.gms b/main.gms index 19b6295d5..fef813ccc 100755 --- a/main.gms +++ b/main.gms @@ -1751,9 +1751,9 @@ $setglobal cm_INCONV_PENALTY_FESwitch off !! def = on !! regexp = off|on *** cm_seFeSectorShareDevMethod "Switch to enable an optimization incentive for sectors to have similar shares of secondary energy fuels and determine the method used for the incentive." *** Possible values: off or the method name (sqSectorShare, sqSectorAvrgShare, or minMaxAvrgShare) *** off "The model can freely allocate bio/syn/fossil fuels between sectors. If not off, a penalization term is added so sectors are incentivized to apply similar shares of bio-fuels, synfuels, and fossils in each sector." -*** sqSectorShare "Square share penalty" -*** sqSectorAvrgShare "Square deviation from average share penalty" -*** minMaxAvrgShare "Min-max deviation from average share penalty" +*** sqSectorShare "Square share penalty. This method is not recommended as it also creates an unwanted incentive for the model to have equal total fos/syn/bio shares, as higher shares are penalized more than lower ones. Runs will be more sensible to the chosen c_seFeSectorShareDevScale values for this reason." +*** sqSectorAvrgShare "Square deviation from average share penalty. Recomended over sqSectorShare (see above)." +*** minMaxAvrgShare "Min-max deviation from average share penalty." *** The relative effect of the penalization term in the objective function is scaled to avoid affecting optimization results. This scaling factor can be defined using the switch c_seFeSectorShareDevScale. $setglobal cm_seFeSectorShareDevMethod sqSectorAvrgShare !! def = sqSectorAvrgShare !! regexp = off|sqSectorShare|sqSectorAvrgShare|minMaxAvrgShare *** c_seFeSectorShareDevUnit "Defines if the penalization term is applied over fuel shares or energy units." From 6601090b58033879ce747220838af5eac837d2c8 Mon Sep 17 00:00:00 2001 From: lecfab Date: Fri, 20 Sep 2024 17:55:27 +0200 Subject: [PATCH 513/875] add comments following Robert's and Chris' review --- core/datainput.gms | 7 ++++++- modules/04_PE_FE_parameters/iea2014/datainput.gms | 2 ++ modules/32_power/IntC/datainput.gms | 1 + modules/40_techpol/NDC/datainput.gms | 1 + modules/40_techpol/NDC/equations.gms | 2 +- modules/40_techpol/NDCplus/datainput.gms | 1 + modules/40_techpol/NDCplus/equations.gms | 2 +- modules/40_techpol/NPi2018/datainput.gms | 1 + modules/40_techpol/NPi2018/equations.gms | 2 +- 9 files changed, 15 insertions(+), 4 deletions(-) diff --git a/core/datainput.gms b/core/datainput.gms index 1a0a0751b..bdc28a872 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -173,7 +173,8 @@ $offdelim / ; -*** windoffshore-todo +*** windoffshore-todo +*** allow input data with either "wind" or "windon" until mrremind is updated p_inco0(ttot,all_regi,"windon") $ (p_inco0(ttot,all_regi,"windon") eq 0) = p_inco0(ttot,all_regi,"wind"); p_inco0(ttot,all_regi,"wind") = 0; @@ -672,6 +673,7 @@ $offdelim $Onlisting *** windoffshore-todo +*** allow input data with either "wind" or "windon" until mrremind is updated pm_histCap(tall,all_regi,"windon") $ (pm_histCap(tall,all_regi,"windon") eq 0) = pm_histCap(tall,all_regi,"wind"); pm_histCap(tall,all_regi,"wind") = 0; @@ -700,6 +702,7 @@ $Onlisting *CG* setting wind offshore capacity factor to be the same as onshore here (later adjusting it in vm_capFac) *** windoffshore-todo +*** allow input data with either "wind" or "windon" until mrremind is updated f_cf(ttot,regi,"windon") $ (f_cf(ttot,regi,"windon") eq 0) = f_cf(ttot,regi,"wind"); f_cf(ttot,regi,"storwindon") $ (f_cf(ttot,regi,"storwindon") eq 0) = f_cf(ttot,regi,"storwind"); f_cf(ttot,regi,"gridwindon") $ (f_cf(ttot,regi,"gridwindon") eq 0) = f_cf(ttot,regi,"gridwind"); @@ -1068,6 +1071,7 @@ $offdelim ; *** windoffshore-todo +*** allow input data with either "wind" or "windon" until mrremind is updated p_histCapFac(tall,all_regi,"windon") $ (p_histCapFac(tall,all_regi,"windon") eq 0) = p_histCapFac(tall,all_regi,"wind"); p_histCapFac(tall,all_regi,"wind") = 0; @@ -1150,6 +1154,7 @@ $offdelim p_adj_deltacapoffset("2015",regi,"tnrs")= 1; *** windoffshore-todo +*** allow input data with either "wind" or "windon" until mrremind is updated p_adj_deltacapoffset(t,regi,"windon") $ (p_adj_deltacapoffset(t,regi,"windon") eq 0) = p_adj_deltacapoffset(t,regi,"wind"); p_adj_deltacapoffset(t,regi,"windoff")= p_adj_deltacapoffset(t,regi,"windon"); p_adj_deltacapoffset(t,regi,"wind") = 0; diff --git a/modules/04_PE_FE_parameters/iea2014/datainput.gms b/modules/04_PE_FE_parameters/iea2014/datainput.gms index bd226fc59..ebc39fb6d 100644 --- a/modules/04_PE_FE_parameters/iea2014/datainput.gms +++ b/modules/04_PE_FE_parameters/iea2014/datainput.gms @@ -15,6 +15,7 @@ $offdelim ; *** windoffshore-todo +*** allow input data with either "wind" or "windon" until mrremind is updated f04_IO_input(tall,all_regi,"pewin","seel","windon") $ (f04_IO_input(tall,all_regi,"pewin","seel","windon") eq 0) = f04_IO_input(tall,all_regi,"pewin","seel","wind"); f04_IO_input(tall,all_regi,"pewin","seel","wind") = 0; *CG* setting historical production from wind offshore to 0 (due to the scarcity of offshore wind before 2015) @@ -44,6 +45,7 @@ $offdelim ; *** windoffshore-todo +*** allow input data with either "wind" or "windon" until mrremind is updated f04_IO_output(tall,all_regi,"pewin","seel","windon") $ (f04_IO_output(tall,all_regi,"pewin","seel","windon") eq 0) = f04_IO_output(tall,all_regi,"pewin","seel","wind"); f04_IO_output(tall,all_regi,"pewin","seel","wind") = 0; diff --git a/modules/32_power/IntC/datainput.gms b/modules/32_power/IntC/datainput.gms index 6b8b23e1d..eace954a8 100644 --- a/modules/32_power/IntC/datainput.gms +++ b/modules/32_power/IntC/datainput.gms @@ -38,6 +38,7 @@ $offdelim ; *** windoffshore-todo +*** allow input data with either "wind" or "windon" until mrremind is updated f32_factorStorage(all_regi,"windon") $ (f32_factorStorage(all_regi,"windon") eq 0) = f32_factorStorage(all_regi,"wind"); f32_factorStorage(all_regi,"windoff") = f32_factorStorage(all_regi,"windon"); f32_factorStorage(all_regi,"windon") = 1.35 * f32_factorStorage(all_regi,"windon"); diff --git a/modules/40_techpol/NDC/datainput.gms b/modules/40_techpol/NDC/datainput.gms index 479c096d9..d0956e8ac 100644 --- a/modules/40_techpol/NDC/datainput.gms +++ b/modules/40_techpol/NDC/datainput.gms @@ -16,6 +16,7 @@ $onlisting p40_TechBound(ttot,all_regi,te) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%",te); *** windoffshore-todo +*** allow input data with either "wind" or "windon" until mrremind is updated p40_TechBound(ttot,all_regi,"windon") $ (p40_TechBound(ttot,all_regi,"windon") eq 0) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%","wind"); p40_ElecBioBound("2030",regi) = p40_TechBound("2030",regi,"bioigcc"); diff --git a/modules/40_techpol/NDC/equations.gms b/modules/40_techpol/NDC/equations.gms index ee2c48f90..dae304854 100644 --- a/modules/40_techpol/NDC/equations.gms +++ b/modules/40_techpol/NDC/equations.gms @@ -17,7 +17,7 @@ q40_ElecBioBound(t,regi)$(t.val gt 2015).. *** windoffshore-todo: separate onshore and offshore NDC targets q40_windBound(t,regi)$(t.val gt 2025).. - sum(teWind(te)$(sameas(te,"windon") OR sameas(te,"windoff")), vm_cap(t,regi,te,"1")) + sum(teWind, vm_cap(t,regi,teWind,"1")) =g= p40_TechBound(t,regi,"windon") * 0.001 ; diff --git a/modules/40_techpol/NDCplus/datainput.gms b/modules/40_techpol/NDCplus/datainput.gms index 0a3274dec..0f64e51b1 100644 --- a/modules/40_techpol/NDCplus/datainput.gms +++ b/modules/40_techpol/NDCplus/datainput.gms @@ -16,6 +16,7 @@ $onlisting p40_TechBound(ttot,all_regi,te) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%",te); *** windoffshore-todo +*** allow input data with either "wind" or "windon" until mrremind is updated p40_TechBound(ttot,all_regi,"windon") $ (p40_TechBound(ttot,all_regi,"windon") eq 0) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%","wind"); p40_ElecBioBound("2030",regi) = p40_TechBound("2030",regi,"bioigcc"); diff --git a/modules/40_techpol/NDCplus/equations.gms b/modules/40_techpol/NDCplus/equations.gms index 99f4f4f83..00e2b1089 100644 --- a/modules/40_techpol/NDCplus/equations.gms +++ b/modules/40_techpol/NDCplus/equations.gms @@ -17,7 +17,7 @@ q40_ElecBioBound(t,regi)$(t.val gt 2015).. *** windoffshore-todo: separate onshore and offshore NDC targets q40_windBound(t,regi)$(t.val gt 2025).. - sum(teWind(te)$(sameas(te,"windon") OR sameas(te,"windoff")), vm_cap(t,regi,te,"1")) + sum(teWind, vm_cap(t,regi,teWind,"1")) =g= p40_TechBound(t,regi,"windon") * 0.001 ; diff --git a/modules/40_techpol/NPi2018/datainput.gms b/modules/40_techpol/NPi2018/datainput.gms index 4339dac3b..db5ec03fc 100644 --- a/modules/40_techpol/NPi2018/datainput.gms +++ b/modules/40_techpol/NPi2018/datainput.gms @@ -16,6 +16,7 @@ $onlisting p40_TechBound(ttot,all_regi,te) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%",te); *** windoffshore-todo +*** allow input data with either "wind" or "windon" until mrremind is updated p40_TechBound(ttot,all_regi,"windon") $ (p40_TechBound(ttot,all_regi,"windon") eq 0) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%","wind"); p40_ElecBioBound("2030",regi) = p40_TechBound("2030",regi,"bioigcc"); diff --git a/modules/40_techpol/NPi2018/equations.gms b/modules/40_techpol/NPi2018/equations.gms index 2c4f1a93b..94d72c5d6 100644 --- a/modules/40_techpol/NPi2018/equations.gms +++ b/modules/40_techpol/NPi2018/equations.gms @@ -17,7 +17,7 @@ q40_ElecBioBound(t,regi)$(t.val gt 2015).. *** windoffshore-todo: separate onshore and offshore NDC targets q40_windBound(t,regi)$(t.val gt 2025).. - sum(teWind(te)$(sameas(te,"windon") OR sameas(te,"windoff")), vm_cap(t,regi,te,"1")) + sum(teWind, vm_cap(t,regi,teWind,"1")) =g= p40_TechBound(t,regi,"windon") * 0.001 ; From 1b6a625ca9af3e96316c5a10ca44daf20068ad02 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Sat, 21 Sep 2024 10:56:47 +0200 Subject: [PATCH 514/875] * add info in CHANGELOG.md * add min. version of R-packages * update to input data version 6.95 --- CHANGELOG.md | 2 ++ DESCRIPTION | 9 ++++++--- config/default.cfg | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 072a04e3a..3afb9bcba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### input data/calibration - new input data rev6.84 [[#1757](https://github.com/remindmodel/remind/pull/1757)] +- new input data rev6.95 in US$2017[[#1812]] (https://github.com/remindmodel/remind/pull/1812) - CES parameter and gdx files calibrated with new default diffLin2Lin for NPi [[#1747](https://github.com/remindmodel/remind/pull/1747)] and [[#1757](https://github.com/remindmodel/remind/pull/1757)] @@ -15,6 +16,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). [[#1816](https://github.com/remindmodel/remind/pull/1816)] ### changed +- shift base unit from US$2005 to US$2017 [[#1812]] (https://github.com/remindmodel/remind/pull/1812) - plastic waste by default does not lag plastics production by ten years anymore; can be re-activated using `cm_wastelag` - moved to edgeTransport 2.0 version [[#1749](https://github.com/remindmodel/remind/pull/1749)] diff --git a/DESCRIPTION b/DESCRIPTION index bf9455e60..40c3f6c24 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -17,8 +17,8 @@ Imports: data.table, devtools, dplyr, - edgeTransport (>= 2.3.0), - reporttransport (>= 0.0.11), + edgeTransport (>= 2.7.0), + reporttransport (>= 0.5.0), flexdashboard, GDPuc, gdx (>= 1.53.0), @@ -45,7 +45,10 @@ Imports: magpiesets, mip (>= 0.150.0), modelstats, - mrremind, + mrremind (>= 0.191.2), + mrcommons (>= 1.43.6), + mrdrivers (>= 3.0.0), + mrtransport (>= 0.7.1), mrvalidation, ncdf4, nleqslv, diff --git a/config/default.cfg b/config/default.cfg index e76c67865..bdbbf7be8 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -28,7 +28,7 @@ cfg$regionmapping <- "config/regionmappingH12.csv" cfg$extramappings_historic <- "" #### Current input data revision (.) #### -cfg$inputRevision <- "6.84gdp-shift-clean" +cfg$inputRevision <- "6.95" #### Current CES parameter and GDX revision (commit hash) #### cfg$CESandGDXversion <- "d4c62a8f11e8a6827310519df09c98eb425a4070" From fc40eb36d30b863dccf87bc8dba3b12ad999462f Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Sat, 21 Sep 2024 09:24:58 +0000 Subject: [PATCH 515/875] Release development version 3.3.2.dev609 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 8c1147a09..d0da253db 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev596" -date-released: 2024-09-20 +version: "3.3.2.dev609" +date-released: 2024-09-21 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index ed476e8a8..935a9c6e6 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev596" +cfg$model_version <- "3.3.2.dev609" #### settings #### cfg$gms <- list() From df6a882609e3a886fd708c732b4e4a9bf60ef59b Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Sat, 21 Sep 2024 11:26:36 +0200 Subject: [PATCH 516/875] adjust comment --- core/datainput.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/datainput.gms b/core/datainput.gms index 3d4bdbbc2..f46f0478a 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -597,7 +597,7 @@ $offdelim *** Import and set regional data ***--------------------------------------------------------------------------- -*RP* 2012-07-24: CO2-technologies don't have own emissions, but the pipeline leakage rate (s_co2pipe_leakage) is multiplied on the individual pe2se +*** CO2-technologies don't have own emissions, but the pipeline leakage rate (s_co2pipe_leakage) is multiplied on the individual pe2se s_co2pipe_leakage = 0.01; loop(emi2te(enty,enty2,te,enty3)$teCCS(te), From a1c7866045cf2aa079315722d0b2dcd68d79a83a Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Mon, 23 Sep 2024 09:46:08 +0200 Subject: [PATCH 517/875] CES parameter and gdx files for input data 6.95 for SSP2, SSP2-EU21, SSP1, SDP_MC, SSP2_lowEn and SSP5 (calibration runs: /p/tmp/lavinia/REMIND/REMIND_calibration_unitShift_2024_09_21/remind) --- config/default.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/default.cfg b/config/default.cfg index 06b935fd4..cac360943 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -31,7 +31,7 @@ cfg$extramappings_historic <- "" cfg$inputRevision <- "6.95" #### Current CES parameter and GDX revision (commit hash) #### -cfg$CESandGDXversion <- "d4c62a8f11e8a6827310519df09c98eb425a4070" +cfg$CESandGDXversion <- "ffbff5da0c24de39586df082716e5af449f5f231" #### Force the model to download new input data #### cfg$force_download <- FALSE From 149a225f0b48b4ccaf0b20724d4fb64e9cd136a3 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Mon, 23 Sep 2024 11:57:29 +0200 Subject: [PATCH 518/875] set minimum version number for `remind2` --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 9c1e841d8..b0ad6ea6e 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -64,7 +64,7 @@ Imports: raster, readr, readxl, - remind2 (>= 1.147.2), + remind2 (>= 1.156.1), renv, reshape2, reticulate, From a3cccecec3d524bc64c7ea5e0f3a6a0a262baa04 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Mon, 23 Sep 2024 14:05:21 +0200 Subject: [PATCH 519/875] adjuat minimum version number for R-package piamInterfaces --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index b0ad6ea6e..d10f40021 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -54,7 +54,7 @@ Imports: nleqslv, optparse, piamenv (>= 0.4.0), - piamInterfaces (>= 0.27.2), + piamInterfaces (>= 0.31.0), piamPlotComparison (>= 0.0.10), piamutils, plotly, From ee324fcbfd1bed7dfb2f1babc836d03c05318105 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Mon, 23 Sep 2024 13:41:55 +0000 Subject: [PATCH 520/875] Release development version 3.3.2.dev658 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index d0da253db..eaea05ecd 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev609" -date-released: 2024-09-21 +version: "3.3.2.dev658" +date-released: 2024-09-23 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index cac360943..88756362c 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev609" +cfg$model_version <- "3.3.2.dev658" #### settings #### cfg$gms <- list() From c8ad7d27ba22865af6b077d9598a97bcfa185f40 Mon Sep 17 00:00:00 2001 From: Michaja Pehl Date: Tue, 24 Sep 2024 09:39:32 +0200 Subject: [PATCH 521/875] remove q37_FossilFeedstock_Base close remindmodel/development_issues#352 --- modules/37_industry/subsectors/declarations.gms | 1 - modules/37_industry/subsectors/equations.gms | 12 ------------ 2 files changed, 13 deletions(-) diff --git a/modules/37_industry/subsectors/declarations.gms b/modules/37_industry/subsectors/declarations.gms index c6713c0b9..340e79598 100644 --- a/modules/37_industry/subsectors/declarations.gms +++ b/modules/37_industry/subsectors/declarations.gms @@ -115,7 +115,6 @@ $endif.no_calibration q37_costCESmarkup(ttot,all_regi,all_in) "calculation of additional CES markup cost to represent demand-side technology cost of end-use transformation, for example, cost of heat pumps etc." q37_chemicals_feedstocks_limit(ttot,all_regi) "lower bound on feso/feli/fega in chemicals FE input for feedstocks" q37_demFeFeedstockChemIndst(ttot,all_regi,all_enty,all_emiMkt) "defines energy flow of non-energy feedstocks for the chemicals industry. It is used for emissions accounting" - q37_FossilFeedstock_Base(ttot,all_regi,all_enty,all_emiMkt) "in baseline runs feedstocks only come from fossil energy carriers" q37_FeedstocksCarbon(ttot,all_regi,all_enty,all_enty,all_emiMkt) "calculate carbon contained in feedstocks [GtC]" q37_plasticsCarbon(ttot,all_regi,all_enty,all_enty,all_emiMkt) "calculate carbon contained in plastics [GtC]" q37_plasticWaste(ttot,all_regi,all_enty,all_enty,all_emiMkt) "calculate carbon contained in plastic waste [GtC]" diff --git a/modules/37_industry/subsectors/equations.gms b/modules/37_industry/subsectors/equations.gms index 1176f927f..e6011ce34 100644 --- a/modules/37_industry/subsectors/equations.gms +++ b/modules/37_industry/subsectors/equations.gms @@ -350,18 +350,6 @@ $else.cm_feedstockEmiUnknownFate $endIf.cm_feedstockEmiUnknownFate ; -*' in baseline runs, all industrial feedstocks should come from fossil energy -*' carriers, no biofuels or synfuels -q37_FossilFeedstock_Base(t,regi,entyFe,emiMkt)$( - entyFE2sector2emiMkt_NonEn(entyFe,"indst",emiMkt) - AND cm_emiscen eq 1 ) .. - sum(entySe, vm_demFENonEnergySector(t,regi,entySe,entyFe,"indst",emiMkt)) - =e= - sum(entySeFos, - vm_demFENonEnergySector(t,regi,entySeFos,entyFe,"indst",emiMkt) - ) -; - *** --------------------------------------------------------------------------- *** 2. Process-Based *** --------------------------------------------------------------------------- From 49a80d4e623a8a09aaa1c4512b927c9fdca93b34 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Tue, 24 Sep 2024 09:50:12 +0200 Subject: [PATCH 522/875] fix mappingGAINSmixedtoREMIND17activities.csv to new unit US$2017 --- .../mappingGAINSmixedtoREMIND17activities.csv | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/modules/11_aerosols/exoGAINS/input/mappingGAINSmixedtoREMIND17activities.csv b/modules/11_aerosols/exoGAINS/input/mappingGAINSmixedtoREMIND17activities.csv index 10414de26..b10a4b9dc 100644 --- a/modules/11_aerosols/exoGAINS/input/mappingGAINSmixedtoREMIND17activities.csv +++ b/modules/11_aerosols/exoGAINS/input/mappingGAINSmixedtoREMIND17activities.csv @@ -1,11 +1,11 @@ GAINS,REMIND,noef,elasticity -CEMENT,GDP|MER (billion US$2005/yr),0,0.4 -CHEM,GDP|MER (billion US$2005/yr),1,0.4 -CHEMBULK,GDP|MER (billion US$2005/yr),1,0.4 -CUSM,GDP|MER (billion US$2005/yr),1,0.4 -NACID,GDP|MER (billion US$2005/yr),0,0.4 -PAPER,GDP|MER (billion US$2005/yr),0,0.4 -STEEL,GDP|MER (billion US$2005/yr),0,0.4 +CEMENT,GDP|MER (billion US$2017/yr),0,0.4 +CHEM,GDP|MER (billion US$2017/yr),1,0.4 +CHEMBULK,GDP|MER (billion US$2017/yr),1,0.4 +CUSM,GDP|MER (billion US$2017/yr),1,0.4 +NACID,GDP|MER (billion US$2017/yr),0,0.4 +PAPER,GDP|MER (billion US$2017/yr),0,0.4 +STEEL,GDP|MER (billion US$2017/yr),0,0.4 End_Use_Industry_Bio_Trad,FE|Industry|Solids|Biomass|Traditional (EJ/yr),0,1 End_Use_Industry_Coal,FE|Industry|Solids|Coal (EJ/yr),0,1 End_Use_Industry_HLF,FE|Industry|Liquids (EJ/yr),0,1 @@ -35,7 +35,7 @@ Transformations_HLF,PE|Oil (EJ/yr),1,1 Transformations_HLF_Refinery,PE|Oil (EJ/yr),0,1 Transformations_LLF,PE|Oil (EJ/yr),0,1 Transformations_NatGas,PE|Gas (EJ/yr),1,1 -Waste_Solid_Industrial,GDP|MER (billion US$2005/yr),1,0.4 -Waste_Solid_Municipal,GDP|MER (billion US$2005/yr),1,0.4 -Waste_Water_Industrial,GDP|MER (billion US$2005/yr),1,0.4 -Waste_Water_Municipal,GDP|MER (billion US$2005/yr),1,0.4 +Waste_Solid_Industrial,GDP|MER (billion US$2017/yr),1,0.4 +Waste_Solid_Municipal,GDP|MER (billion US$2017/yr),1,0.4 +Waste_Water_Industrial,GDP|MER (billion US$2017/yr),1,0.4 +Waste_Water_Municipal,GDP|MER (billion US$2017/yr),1,0.4 From 23a006abd1bdc5b976dfe7d8ef9febb3eb292b07 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 24 Sep 2024 08:07:29 +0000 Subject: [PATCH 523/875] Release development version 3.3.2.dev661 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index eaea05ecd..5fbe14704 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev658" -date-released: 2024-09-23 +version: "3.3.2.dev661" +date-released: 2024-09-24 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 88756362c..a671b21a1 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev658" +cfg$model_version <- "3.3.2.dev661" #### settings #### cfg$gms <- list() From 9195bfe84fb6a1ddcbaaafce49b926c2dff2b2e9 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 24 Sep 2024 08:23:02 +0000 Subject: [PATCH 524/875] Release development version 3.3.2.dev664 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 5fbe14704..476919174 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev661" +version: "3.3.2.dev664" date-released: 2024-09-24 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index a671b21a1..996568176 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev661" +cfg$model_version <- "3.3.2.dev664" #### settings #### cfg$gms <- list() From f9e74cdc86f506f9dd60632fa15c8610cfe37a59 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 24 Sep 2024 14:05:10 +0000 Subject: [PATCH 525/875] Release development version 3.3.2.dev667 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index f7947e8ba..98b478457 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev664" +version: "3.3.2.dev667" date-released: 2024-09-24 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 996568176..bbee8e1ce 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev664" +cfg$model_version <- "3.3.2.dev667" #### settings #### cfg$gms <- list() From ecd551610f2d9ff907f85078b91ad5b1fe1a9e9f Mon Sep 17 00:00:00 2001 From: lecfab Date: Wed, 25 Sep 2024 13:47:16 +0200 Subject: [PATCH 526/875] p40_TechBound uses 'pewin' to describe sum of windon and windoff --- modules/04_PE_FE_parameters/iea2014/datainput.gms | 9 ++++----- modules/40_techpol/NDC/datainput.gms | 4 ++-- modules/40_techpol/NDC/equations.gms | 4 ++-- modules/40_techpol/NDCplus/datainput.gms | 4 ++-- modules/40_techpol/NDCplus/equations.gms | 4 ++-- modules/40_techpol/NPi2018/datainput.gms | 4 ++-- modules/40_techpol/NPi2018/equations.gms | 4 ++-- 7 files changed, 16 insertions(+), 17 deletions(-) diff --git a/modules/04_PE_FE_parameters/iea2014/datainput.gms b/modules/04_PE_FE_parameters/iea2014/datainput.gms index ebc39fb6d..88ea098c6 100644 --- a/modules/04_PE_FE_parameters/iea2014/datainput.gms +++ b/modules/04_PE_FE_parameters/iea2014/datainput.gms @@ -6,7 +6,7 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/04_PE_FE_parameters/iea2014/datainput.gms -parameter f04_IO_input(tall,all_regi,all_enty,all_enty,all_te) "Energy input based on IEA data" +parameter f04_IO_input(tall,all_regi,all_enty,all_enty,all_te) "Energy input based on IEA data" / $ondelim $include "./modules/04_PE_FE_parameters/iea2014/input/f04_IO_input.cs4r" @@ -36,7 +36,9 @@ if (smin((t,regi,pe2se(entyPe,entySe,te)), f04_IO_input(t,regi,entyPe,entySe,te) f04_IO_input(tall,regi,entyPe,entySe,te)$(f04_IO_input(tall,regi,entyPe,entySe,te) lt 0) = 0; -parameter f04_IO_output(tall,all_regi,all_enty,all_enty,all_te) "Energy output based on IEA data" +*** RP 2019-02-19: From rev 8352 on, f04_IO_output contains gross generation for power plants. Power plant autoconsumption is contained in t&d losses. +*** This facilitates comparison with other sources which usually report gross electricity generation as well as gross capacity factors +parameter f04_IO_output(tall,all_regi,all_enty,all_enty,all_te) "Energy output based on IEA data" / $ondelim $include "./modules/04_PE_FE_parameters/iea2014/input/f04_IO_output.cs4r" @@ -252,9 +254,6 @@ loop(regi, ); ); -***------------------ allocate own power consumption to electricity technologies ----------------------------- -*RP 2019-02-19: This is now changed starting from rev 8352. Power plant output is from now on gross production instead of net, and power plant autoconsumption is shifted to t&d losses -*RP This was done to facilitate comparison with other sources which usually report gross electricity generation as well as gross capacity factors display pm_IO_input, p04_IO_output; diff --git a/modules/40_techpol/NDC/datainput.gms b/modules/40_techpol/NDC/datainput.gms index d0956e8ac..3a8d31622 100644 --- a/modules/40_techpol/NDC/datainput.gms +++ b/modules/40_techpol/NDC/datainput.gms @@ -16,8 +16,8 @@ $onlisting p40_TechBound(ttot,all_regi,te) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%",te); *** windoffshore-todo -*** allow input data with either "wind" or "windon" until mrremind is updated -p40_TechBound(ttot,all_regi,"windon") $ (p40_TechBound(ttot,all_regi,"windon") eq 0) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%","wind"); +*** allow input data with either "wind" or "pewin" until mrremind is updated +p40_TechBound(ttot,all_regi,"pewin") $ (p40_TechBound(ttot,all_regi,"pewin") eq 0) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%","wind"); p40_ElecBioBound("2030",regi) = p40_TechBound("2030",regi,"bioigcc"); diff --git a/modules/40_techpol/NDC/equations.gms b/modules/40_techpol/NDC/equations.gms index dae304854..06f642620 100644 --- a/modules/40_techpol/NDC/equations.gms +++ b/modules/40_techpol/NDC/equations.gms @@ -16,9 +16,9 @@ q40_ElecBioBound(t,regi)$(t.val gt 2015).. ; *** windoffshore-todo: separate onshore and offshore NDC targets -q40_windBound(t,regi)$(t.val gt 2025).. +q40_windBound(t,regi)$(t.val gt 2025 AND p40_TechBound(t,regi,"pewin") gt 0).. sum(teWind, vm_cap(t,regi,teWind,"1")) - =g= p40_TechBound(t,regi,"windon") * 0.001 + =g= p40_TechBound(t,regi,"pewin") * 0.001 ; q40_PEgasBound(t,regi)$(t.val gt 2015 AND (sameas(regi,"CHN") OR sameas(regi,"CHA"))).. diff --git a/modules/40_techpol/NDCplus/datainput.gms b/modules/40_techpol/NDCplus/datainput.gms index 0f64e51b1..5404bf636 100644 --- a/modules/40_techpol/NDCplus/datainput.gms +++ b/modules/40_techpol/NDCplus/datainput.gms @@ -16,8 +16,8 @@ $onlisting p40_TechBound(ttot,all_regi,te) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%",te); *** windoffshore-todo -*** allow input data with either "wind" or "windon" until mrremind is updated -p40_TechBound(ttot,all_regi,"windon") $ (p40_TechBound(ttot,all_regi,"windon") eq 0) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%","wind"); +*** allow input data with either "wind" or "pewin" until mrremind is updated +p40_TechBound(ttot,all_regi,"pewin") $ (p40_TechBound(ttot,all_regi,"pewin") eq 0) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%","wind"); p40_ElecBioBound("2030",regi) = p40_TechBound("2030",regi,"bioigcc"); diff --git a/modules/40_techpol/NDCplus/equations.gms b/modules/40_techpol/NDCplus/equations.gms index 00e2b1089..4a68b4530 100644 --- a/modules/40_techpol/NDCplus/equations.gms +++ b/modules/40_techpol/NDCplus/equations.gms @@ -16,9 +16,9 @@ q40_ElecBioBound(t,regi)$(t.val gt 2015).. ; *** windoffshore-todo: separate onshore and offshore NDC targets -q40_windBound(t,regi)$(t.val gt 2025).. +q40_windBound(t,regi)$(t.val gt 2025 AND p40_TechBound(t,regi,"pewin") gt 0).. sum(teWind, vm_cap(t,regi,teWind,"1")) - =g= p40_TechBound(t,regi,"windon") * 0.001 + =g= p40_TechBound(t,regi,"pewin") * 0.001 ; q40_PEgasBound(t,regi)$(t.val gt 2015 AND (sameas(regi,"CHN") OR sameas(regi,"CHA"))).. diff --git a/modules/40_techpol/NPi2018/datainput.gms b/modules/40_techpol/NPi2018/datainput.gms index db5ec03fc..f4a8f657d 100644 --- a/modules/40_techpol/NPi2018/datainput.gms +++ b/modules/40_techpol/NPi2018/datainput.gms @@ -16,8 +16,8 @@ $onlisting p40_TechBound(ttot,all_regi,te) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%",te); *** windoffshore-todo -*** allow input data with either "wind" or "windon" until mrremind is updated -p40_TechBound(ttot,all_regi,"windon") $ (p40_TechBound(ttot,all_regi,"windon") eq 0) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%","wind"); +*** allow input data with either "wind" or "pewin" until mrremind is updated +p40_TechBound(ttot,all_regi,"pewin") $ (p40_TechBound(ttot,all_regi,"pewin") eq 0) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%","wind"); p40_ElecBioBound("2030",regi) = p40_TechBound("2030",regi,"bioigcc"); diff --git a/modules/40_techpol/NPi2018/equations.gms b/modules/40_techpol/NPi2018/equations.gms index 94d72c5d6..b0b5445b1 100644 --- a/modules/40_techpol/NPi2018/equations.gms +++ b/modules/40_techpol/NPi2018/equations.gms @@ -16,9 +16,9 @@ q40_ElecBioBound(t,regi)$(t.val gt 2015).. ; *** windoffshore-todo: separate onshore and offshore NDC targets -q40_windBound(t,regi)$(t.val gt 2025).. +q40_windBound(t,regi)$(t.val gt 2025 AND p40_TechBound(t,regi,"pewin") gt 0).. sum(teWind, vm_cap(t,regi,teWind,"1")) - =g= p40_TechBound(t,regi,"windon") * 0.001 + =g= p40_TechBound(t,regi,"pewin") * 0.001 ; q40_PEgasBound(t,regi)$(t.val gt 2015 AND (sameas(regi,"CHN") OR sameas(regi,"CHA"))).. From c732ac4d6cb467b00c1362bed032b89d6cdad512 Mon Sep 17 00:00:00 2001 From: lecfab Date: Wed, 25 Sep 2024 14:47:02 +0200 Subject: [PATCH 527/875] fixing unused technologies to zero (wind-related and pcc/pco) --- core/bounds.gms | 36 ++++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/core/bounds.gms b/core/bounds.gms index f3481495c..7568d9f08 100755 --- a/core/bounds.gms +++ b/core/bounds.gms @@ -25,8 +25,14 @@ vm_costTeCapital.fx(t,regi,teNoLearn) = pm_inco0_t(t,regi,teNoLearn); *' #### Model Bounds in Core *' Lower limit on all P2SE technologies capacities to 100 kW of all technologies and all time steps -loop(pe2se(enty,enty2,te)$((not sameas(te,"biotr")) AND (not sameas(te,"biodiesel")) AND (not sameas(te,"bioeths")) AND (not sameas(te,"gasftcrec")) AND (not sameas(te,"gasftrec")) -AND (not sameas(te,"tnrs"))), +loop(pe2se(enty,enty2,te) $ ( + (not sameas(te,"biotr")) AND + (not sameas(te,"biodiesel")) AND + (not sameas(te,"bioeths")) AND + (not sameas(te,"gasftcrec")) AND + (not sameas(te,"gasftrec")) AND + (not sameas(te,"tnrs")) + ), vm_cap.lo(t,regi,te,"1")$(t.val gt 2026 AND t.val le 2070) = 1e-7; if( (NOT teCCS(te)), vm_deltaCap.lo(t,regi,te,"1")$(t.val gt 2026 AND t.val le 2070) = 1e-8; @@ -58,17 +64,23 @@ v_capDistr.fx(t,regi,te,rlf)$(rlf.val gt 9) = 0; vm_cap.up("2010",regi,teStor,"1") = 0; *' completely switching off technologies that are not used in the current version of REMIND, although their parameters are declared: -vm_cap.fx(t,regi,"solhe",rlf) = 0; -vm_deltaCap.fx(t,regi,"solhe",rlf) = 0; - -vm_cap.fx(t,regi,"fnrs",rlf) = 0; -vm_deltaCap.fx(t,regi,"fnrs",rlf) = 0; - -vm_cap.fx(t,regi,"pcc",rlf) = 0; -vm_deltaCap.fx(t,regi,"pcc",rlf) = 0; +loop(all_te $ ( + sameas(all_te, "solhe") OR + sameas(all_te, "fnrs") OR + sameas(all_te, "pcc") OR + sameas(all_te, "pco") OR + sameas(all_te, "wind") OR + sameas(all_te, "storwind") OR + sameas(all_te, "gridwind") + ), + vm_cap.fx(t,regi,all_te,rlf) = 0; + vm_deltaCap.fx(t,regi,all_te,rlf) = 0; +); -vm_cap.fx(t,regi,"pco",rlf) = 0; -vm_deltaCap.fx(t,regi,"pco",rlf) = 0; +vm_demPe.fx(t,regi,"pecoal","seel","pcc") = 0; +vm_demPe.fx(t,regi,"pecoal","seel","pco") = 0; +*** windoffshore-todo: to remove when removing wind from all_te +vm_demPe.fx(t,regi,"pewin","seel","wind") = 0; *' Switch off grey hydrogen investments in gash2 technology from 2025. Our current seh2 hydrogen represents only additional (clean) hydrogen use cases to current ones *' and there are no plans to expand grey hydrogen production for that. From f7f6bd399fc4adbd63d0f1217de438f1f1997100 Mon Sep 17 00:00:00 2001 From: lecfab Date: Mon, 23 Sep 2024 15:26:13 +0200 Subject: [PATCH 528/875] remove outdated input file generisdata_nur_ren.prn --- core/datainput.gms | 35 +++++++++++++---------------- core/input/generisdata_nur_ren.prn | 35 ----------------------------- modules/32_power/IntC/equations.gms | 27 +++++++++++----------- 3 files changed, 29 insertions(+), 68 deletions(-) delete mode 100644 core/input/generisdata_nur_ren.prn diff --git a/core/datainput.gms b/core/datainput.gms index f46f0478a..27c4be587 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -569,9 +569,6 @@ $endif fm_dataemiglob(enty,enty2,te,"co2")$pe2se(enty,enty2,te) = 1/s_zj_2_twa * fm_dataemiglob(enty,enty2,te,"co2"); fm_dataemiglob(enty,enty2,te,"cco2") = 1/s_zj_2_twa * fm_dataemiglob(enty,enty2,te,"cco2"); -table f_datarenglob(char,rlf,*) "global nur and ren data" -$include "./core/input/generisdata_nur_ren.prn" -; table f_dataetaglob(tall,all_te) "global eta data" $include "./core/input/generisdata_varying_eta.prn" ; @@ -961,8 +958,11 @@ $if %cm_MAgPIE_coupling% == "on" p_efFossilFuelExtr(regi,"pebiolc","n2obio") = 0 display p_efFossilFuelExtr; -pm_dataren(regi,"nur",rlf,te) = f_datarenglob("nur",rlf,te); -pm_dataren(regi,"maxprod",rlf,te) = sm_EJ_2_TWa * f_datarenglob("maxprod",rlf,te); +*** capacity factors (nur) are 1 by default +pm_dataren(regi,"nur",rlf,te) = 1; + +*** value copied from old file generisdata_nur_ren.prn (50EJ = 1.5855TWa) +pm_dataren(regi,"maxprod","1","geohe") = 1.5855; *RP* hydro, spv and csp get maxprod for all regions and grades from external file table f_maxProdGradeRegiHydro(all_regi,char,rlf) "input of regionalized maximum from hydro [EJ/a]" @@ -1014,12 +1014,18 @@ $ondelim $include "./core/input/f_dataRegiSolar.cs3r" $offdelim ; -pm_dataren(all_regi,"maxprod",rlf,"csp") = sm_EJ_2_TWa * f_dataRegiSolar(all_regi,"maxprod","csp",rlf); -pm_dataren(all_regi,"maxprod",rlf,"spv") = sm_EJ_2_TWa * f_dataRegiSolar(all_regi,"maxprod","spv",rlf); -pm_dataren(all_regi,"nur",rlf,"csp") = f_dataRegiSolar(all_regi,"nur","csp",rlf); -pm_dataren(all_regi,"nur",rlf,"spv") = f_dataRegiSolar(all_regi,"nur","spv",rlf); +pm_dataren(all_regi,"maxprod",rlf,"csp") = sm_EJ_2_TWa * f_dataRegiSolar(all_regi,"maxprod","csp",rlf); +pm_dataren(all_regi,"maxprod",rlf,"spv") = sm_EJ_2_TWa * f_dataRegiSolar(all_regi,"maxprod","spv",rlf); +pm_dataren(all_regi,"nur",rlf,"spv") = f_dataRegiSolar(all_regi,"nur","spv",rlf); p_datapot(all_regi,"limitGeopot",rlf,"pesol") = f_dataRegiSolar(all_regi,"limitGeopot","spv",rlf); -pm_data(all_regi,"luse","spv") = f_dataRegiSolar(all_regi,"luse","spv","1")/1000; +pm_data(all_regi,"luse","spv") = 0.001 * f_dataRegiSolar(all_regi,"luse","spv","1"); + +*** RP: rescale CSP capacity factors in REMIND +*** In the DLR resource data input files, the numbers are based on a SM3/12h setup, +*** while the cost data from IEA seems rather based on a SM2/6h setup (with 40% average CF). +*** Accordingly, decrease CF in REMIND to 2/3 of the DLR values (no need to correct maxprod, +*** as here no miscalculation of total energy yield takes place, in contrast to wind) +pm_dataren(all_regi,"nur",rlf,"csp") = 2/3 * f_dataRegiSolar(all_regi,"nur","csp",rlf); table f_maxProdGeothermal(all_regi,char) "input of regionalized maximum from geothermal [EJ/a]" @@ -1034,10 +1040,6 @@ pm_dataren(all_regi,"maxprod","1","geohdr")$f_maxProdGeothermal(all_regi,"maxpro *** FS: temporary fix: set minimum geothermal potential across all regions to 10 PJ (still negligible even in small regions) to get rid of infeasibilities pm_dataren(all_regi,"maxprod","1","geohdr")$(f_maxProdGeothermal(all_regi,"maxprod") <= 0.01) = sm_EJ_2_TWa * 0.01; - -*mh* set 'nur' for all non renewable technologies to '1': -pm_dataren(regi,"nur",rlf,teNoRe) = 1; - display p_datapot, pm_dataren; ***--------------------------------------------------------------------------- @@ -1127,11 +1129,6 @@ pm_cf("2015",regi,"spv") = pm_cf("2015",regi,"spv") * p_aux_capacityFactorHistOv pm_cf("2020",regi,"spv") = pm_cf("2020",regi,"spv") * (p_aux_capacityFactorHistOverREMIND(regi,"spv")+1)/2; pm_cf("2025",regi,"spv") = pm_cf("2025",regi,"spv") * (p_aux_capacityFactorHistOverREMIND(regi,"spv")+3)/4; -*** RP rescale CSP capacity factors in REMIND - in the DLR resource data input files, the numbers are based on a SM3/12h setup, while the cost data from IEA seems rather based on a SM2/6h setup (with 40% average CF) -*** Accordingly, decrease CF in REMIND to 2/3 of the DLR values (no need to correct maxprod, as here no miscalculation of total energy yield takes place, in contrast to wind) -loop(te$sameas(te,"csp"), - pm_dataren(regi,"nur",rlf,te) = pm_dataren(regi,"nur",rlf,te) * 2/3 ; -); display p_aux_capacityFactorHistOverREMIND, pm_dataren; diff --git a/core/input/generisdata_nur_ren.prn b/core/input/generisdata_nur_ren.prn deleted file mode 100644 index ed725b05c..000000000 --- a/core/input/generisdata_nur_ren.prn +++ /dev/null @@ -1,35 +0,0 @@ -*** SOF ./core/input/generisdata_nur_ren.prn -*TA: This file includes the capacity factors (nur) for different renewable energy sources and for different grades. -*TA: Max. annual global production (maxprod) is given in EJ/a for wind onshore, hydro, geohdr, geohe. -* The potential is categorized into different greades. - - - - wind spv hydro geohdr geohe csp storspv storwind storcsp gridspv gridwind gridcsp -nur.1 0.31 0.230 0.550 1.000 1.000 0.72 1 1 1 0.85 0.85 0.85 -nur.2 0.28 0.215 0.450 0.68 -nur.3 0.24 0.200 0.350 0.65 -nur.4 0.20 0.185 0.250 0.61 -nur.5 0.17 0.172 0.150 0.57 -nur.6 0.15 0.160 0.53 -nur.7 0.13 0.150 0.48 -nur.8 0.12 0.140 0.43 -nur.9 0.11 0.130 0.40 -nur.10 0.10 -nur.11 0.08 -nur.12 0.07 - - -maxprod.1 50 8 0.112 50.0 -maxprod.2 40 16 -maxprod.3 40 18 -maxprod.4 40 8 -maxprod.5 40 -maxprod.6 40 -maxprod.7 60 - - - - - -*** EOF ./core/input/generisdata_nur_ren.prn diff --git a/modules/32_power/IntC/equations.gms b/modules/32_power/IntC/equations.gms index be046fafc..956b5dacf 100644 --- a/modules/32_power/IntC/equations.gms +++ b/modules/32_power/IntC/equations.gms @@ -56,8 +56,9 @@ q32_usableSeTe(t,regi,entySe,te)$(sameas(entySe,"seel") AND teVRE(te)).. ***--------------------------------------------------------------------------- *' Definition of capacity constraints for storage: ***--------------------------------------------------------------------------- -*' This equation calculates the storage cpacity for each testor that needs to be installed based on the amount of v32_storloss that is calculated below in -*' q32_storloss. Multiplying v32_storloss with "eta/(1-eta)" yields the total output of a storage technology; this output has to be smaller than cap * capfac. +*' This equation calculates the storage cpacity for each teStor that needs to be installed based on the amount of +*' v32_storloss that is calculated below in q32_storloss. Multiplying v32_storloss with "eta/(1-eta)" yields +*' the total output of a storage technology; this output has to be smaller than cap * capfac. q32_limitCapTeStor(t,regi,teStor)$( t.val ge 2020 ) .. ( 0.5$( cm_VRE_supply_assumptions eq 1 ) !! reduce storage investment needs by half for VRE_supply_assumptions = 1 + 1$( cm_VRE_supply_assumptions ne 1 ) @@ -68,39 +69,37 @@ q32_limitCapTeStor(t,regi,teStor)$( t.val ge 2020 ) .. =l= sum(te2rlf(teStor,rlf), vm_capFac(t,regi,teStor) - * pm_dataren(regi,"nur",rlf,teStor) * vm_cap(t,regi,teStor,rlf) ) ; -*** H2 storage implementation: Storage technologies (storspv, storwind etc.) also -*** represent H2 storage. This is implemented by scaling up capacities of -*** H2 turbines (h2turbVRE, seh2 -> seel) with VRE capacities which require storage (according to q32_limitCapTeStor). +*** H2 storage implementation: +*** Storage technologies (storspv, storwind etc.) also represent H2 storage. +*** This is implemented by scaling up capacities of H2 turbines (h2turbVRE, seh2 -> seel) +*** with VRE capacities which require storage (according to q32_limitCapTeStor). *** These H2 turbines (h2turbVRE) do not have capital cost. Their cost are already considered in storage technologies. -*** H2 turbines do not need be built if sufficient gas turbines (ngt) are available to provide flexibility. -*' Require a certain capacity of either hydrogen or gas turbines as peaking backup capacity. The driver is the testor capacity, which in turn is determined by v32_storloss +*** H2 turbines are not needed if sufficient gas turbines (ngt) are available to provide flexibility. +*' Require a certain capacity of either hydrogen or gas turbines as peaking backup capacity. The driver is the teStor capacity, which in turn is determined by v32_storloss q32_h2turbVREcapfromTestor(t,regi).. vm_cap(t,regi,"h2turbVRE","1") + vm_cap(t,regi,"ngt","1") =g= - sum(teStor, - p32_storageCap(teStor,"h2turbVREcapratio") * vm_cap(t,regi,teStor,"1") ) + sum(teStor, p32_storageCap(teStor,"h2turbVREcapratio") * vm_cap(t,regi,teStor,"1") ) ; *** h2turbVRE hydrogen turbines should only be built in conjunction with storage capacities and not on its own q32_h2turbVREcapfromTestorUp(t,regi).. vm_cap(t,regi,"h2turbVRE","1") =l= - sum(te$teStor(te), - p32_storageCap(te,"h2turbVREcapratio") * vm_cap(t,regi,te,"1") ) + sum(teStor, p32_storageCap(teStor,"h2turbVREcapratio") * vm_cap(t,regi,teStor,"1") ) ; *** build additional electrolysis capacities with stored VRE electricity, phase-in from 2030 to 2040 q32_elh2VREcapfromTestor(t,regi).. vm_cap(t,regi,"elh2","1") =g= - sum(te$teStor(te), p32_storageCap(te,"elh2VREcapratio") * vm_cap(t,regi,te,"1") ) * p32_phaseInElh2VREcap(t) + sum(teStor, p32_storageCap(teStor,"elh2VREcapratio") * vm_cap(t,regi,teStor,"1") ) * p32_phaseInElh2VREcap(t) ; @@ -165,7 +164,7 @@ q32_shStor(t,regi,teVRE)$(t.val ge 2015).. *' as it drives storage investments and thus the additional costs seen by VRE. It depends linearly on the usableSE output from this VRE, and linearly on the *' SPECIFIC integration challenges, which in turn are mainly the adjusted share of the technology itself (v32_shSTor), but also increase when the total VRE share *' increases beyond a (time-dependent) threshold. -*' The term "(1-eta)/eta" is equal to the ratio "losses of a testor" to "output of a testor". +*' The term "(1-eta)/eta" is equal to the ratio "losses of a teStor" to "output of a teStor". *' An example: If the specific integration challenges (v32_shStor + p32_Fact * v32_shAddInt) of eg. PV would reach 100%, then ALL the usable output of PV *' would have to be "stabilized" by going through storsp, so the total storage losses & curtailment would exactly represent the (1-eta) values of storspv. When *' the specific integration challenge term () is below 100%, the required storage and resulting losses are scaled down accordingly. From 945a93292f40dd5f805e34e9569bb00ad4101491 Mon Sep 17 00:00:00 2001 From: lecfab Date: Wed, 25 Sep 2024 15:21:13 +0200 Subject: [PATCH 529/875] revert p40_TechBound to 'wind' as 'pewin' is not in all_te --- modules/40_techpol/NDC/bounds.gms | 2 ++ modules/40_techpol/NDC/datainput.gms | 5 ++--- modules/40_techpol/NDC/equations.gms | 6 +++--- modules/40_techpol/NDCplus/bounds.gms | 2 ++ modules/40_techpol/NDCplus/datainput.gms | 5 ++--- modules/40_techpol/NDCplus/equations.gms | 6 +++--- modules/40_techpol/NPi2018/bounds.gms | 2 ++ modules/40_techpol/NPi2018/datainput.gms | 5 ++--- modules/40_techpol/NPi2018/equations.gms | 6 +++--- 9 files changed, 21 insertions(+), 18 deletions(-) diff --git a/modules/40_techpol/NDC/bounds.gms b/modules/40_techpol/NDC/bounds.gms index 3a4a50594..4d62220e3 100755 --- a/modules/40_techpol/NDC/bounds.gms +++ b/modules/40_techpol/NDC/bounds.gms @@ -12,6 +12,8 @@ vm_cap.lo(t,regi,"spv","1")$(t.val ge 2025) = p40_TechBound(t,regi,"spv")*0.001; vm_cap.lo(t,regi,"tnrs","1")$(t.val ge 2025) = p40_TechBound(t,regi,"tnrs")*0.001; vm_cap.lo(t,regi_nucscen,"tnrs",rlf)$((t.val ge 2025) and (cm_nucscen eq 5)) = 0; !! we assume: Nucscen (limiting nuclear deployment) overrides NDC targets -> resetting lower bound to value defined at cm_nucscen switch vm_cap.lo(t,regi,"hydro","1")$(t.val ge 2025) = p40_TechBound(t,regi,"hydro")*0.001; +vm_cap.lo(t,regi,"windon","1")$(t.val gt 2025) = p40_TechBound(t,regi,"windon")*0.001; +vm_cap.lo(t,regi,"windoff","1")$(t.val gt 2025) = p40_TechBound(t,regi,"windoff")*0.001; *** FS: if cm_H2Targets on: include capacity targets for electrolysis following national Hydrogen Strategies diff --git a/modules/40_techpol/NDC/datainput.gms b/modules/40_techpol/NDC/datainput.gms index 3a8d31622..49d4541fc 100644 --- a/modules/40_techpol/NDC/datainput.gms +++ b/modules/40_techpol/NDC/datainput.gms @@ -15,9 +15,8 @@ $onlisting ; p40_TechBound(ttot,all_regi,te) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%",te); -*** windoffshore-todo -*** allow input data with either "wind" or "pewin" until mrremind is updated -p40_TechBound(ttot,all_regi,"pewin") $ (p40_TechBound(ttot,all_regi,"pewin") eq 0) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%","wind"); +*** windoffshore-todo: separate NDC targets for windon and windoff +p40_TechBound(ttot,all_regi,"wind") = f40_TechBound(ttot,all_regi,"%cm_NDC_version%","wind"); p40_ElecBioBound("2030",regi) = p40_TechBound("2030",regi,"bioigcc"); diff --git a/modules/40_techpol/NDC/equations.gms b/modules/40_techpol/NDC/equations.gms index 06f642620..4ff337c82 100644 --- a/modules/40_techpol/NDC/equations.gms +++ b/modules/40_techpol/NDC/equations.gms @@ -15,10 +15,10 @@ q40_ElecBioBound(t,regi)$(t.val gt 2015).. =g= p40_ElecBioBound(t,regi) * 0.001 ; -*** windoffshore-todo: separate onshore and offshore NDC targets -q40_windBound(t,regi)$(t.val gt 2025 AND p40_TechBound(t,regi,"pewin") gt 0).. +*** windoffshore-todo: as long as there is a "wind" target, it is for the sum windon+windoff +q40_windBound(t,regi)$(t.val gt 2025 AND p40_TechBound(t,regi,"wind") gt 0).. sum(teWind, vm_cap(t,regi,teWind,"1")) - =g= p40_TechBound(t,regi,"pewin") * 0.001 + =g= p40_TechBound(t,regi,"wind") * 0.001 ; q40_PEgasBound(t,regi)$(t.val gt 2015 AND (sameas(regi,"CHN") OR sameas(regi,"CHA"))).. diff --git a/modules/40_techpol/NDCplus/bounds.gms b/modules/40_techpol/NDCplus/bounds.gms index 9c88c7063..13a1fd983 100644 --- a/modules/40_techpol/NDCplus/bounds.gms +++ b/modules/40_techpol/NDCplus/bounds.gms @@ -11,6 +11,8 @@ vm_cap.lo(t,regi,"spv","1")$(t.val lt 2031 AND t.val gt 2024) = p40_TechBound(t, vm_cap.lo(t,regi,"tnrs","1")$(t.val ge 2025) = p40_TechBound(t,regi,"tnrs")*0.001; vm_cap.lo(t,regi_nucscen,"tnrs",rlf)$((t.val ge 2025) and (cm_nucscen eq 5)) = 0; !! we assume: Nucscen (limiting nuclear deployment) overrides NDC targets -> resetting lower bound to value defined at cm_nucscen switch vm_cap.lo(t,regi,"hydro","1")$(t.val lt 2031 AND t.val gt 2024) = p40_TechBound(t,regi,"hydro")*0.001; +vm_cap.lo(t,regi,"windon","1")$(t.val gt 2025) = p40_TechBound(t,regi,"windon")*0.001; +vm_cap.lo(t,regi,"windoff","1")$(t.val gt 2025) = p40_TechBound(t,regi,"windoff")*0.001; display vm_cap.lo; diff --git a/modules/40_techpol/NDCplus/datainput.gms b/modules/40_techpol/NDCplus/datainput.gms index 5404bf636..c6eab4771 100644 --- a/modules/40_techpol/NDCplus/datainput.gms +++ b/modules/40_techpol/NDCplus/datainput.gms @@ -15,9 +15,8 @@ $onlisting ; p40_TechBound(ttot,all_regi,te) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%",te); -*** windoffshore-todo -*** allow input data with either "wind" or "pewin" until mrremind is updated -p40_TechBound(ttot,all_regi,"pewin") $ (p40_TechBound(ttot,all_regi,"pewin") eq 0) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%","wind"); +*** windoffshore-todo: separate NDC targets for windon and windoff +p40_TechBound(ttot,all_regi,"wind") = f40_TechBound(ttot,all_regi,"%cm_NDC_version%","wind"); p40_ElecBioBound("2030",regi) = p40_TechBound("2030",regi,"bioigcc"); diff --git a/modules/40_techpol/NDCplus/equations.gms b/modules/40_techpol/NDCplus/equations.gms index 4a68b4530..a9bb2382a 100644 --- a/modules/40_techpol/NDCplus/equations.gms +++ b/modules/40_techpol/NDCplus/equations.gms @@ -15,10 +15,10 @@ q40_ElecBioBound(t,regi)$(t.val gt 2015).. =g= p40_ElecBioBound(t,regi) * 0.001 ; -*** windoffshore-todo: separate onshore and offshore NDC targets -q40_windBound(t,regi)$(t.val gt 2025 AND p40_TechBound(t,regi,"pewin") gt 0).. +*** windoffshore-todo: as long as there is a "wind" target, it is for the sum windon+windoff +q40_windBound(t,regi)$(t.val gt 2025 AND p40_TechBound(t,regi,"wind") gt 0).. sum(teWind, vm_cap(t,regi,teWind,"1")) - =g= p40_TechBound(t,regi,"pewin") * 0.001 + =g= p40_TechBound(t,regi,"wind") * 0.001 ; q40_PEgasBound(t,regi)$(t.val gt 2015 AND (sameas(regi,"CHN") OR sameas(regi,"CHA"))).. diff --git a/modules/40_techpol/NPi2018/bounds.gms b/modules/40_techpol/NPi2018/bounds.gms index 2188a52f0..e25911649 100644 --- a/modules/40_techpol/NPi2018/bounds.gms +++ b/modules/40_techpol/NPi2018/bounds.gms @@ -12,6 +12,8 @@ vm_cap.lo(t,regi,"spv","1")$(t.val gt 2020) = p40_TechBound(t,regi,"spv")*0.001; vm_cap.lo(t,regi,"tnrs","1")$(t.val ge 2025) = p40_TechBound(t,regi,"tnrs")*0.001; vm_cap.lo(t,regi_nucscen,"tnrs",rlf)$((t.val ge 2025) and (cm_nucscen eq 5)) = 0; !! we assume: Nucscen (limiting nuclear deployment) overrides NDC targets -> resetting lower bound to value defined at cm_nucscen switch vm_cap.lo(t,regi,"hydro","1")$(t.val gt 2020) = p40_TechBound(t,regi,"hydro")*0.001; +vm_cap.lo(t,regi,"windon","1")$(t.val gt 2025) = p40_TechBound(t,regi,"windon")*0.001; +vm_cap.lo(t,regi,"windoff","1")$(t.val gt 2025) = p40_TechBound(t,regi,"windoff")*0.001; display vm_cap.lo; diff --git a/modules/40_techpol/NPi2018/datainput.gms b/modules/40_techpol/NPi2018/datainput.gms index f4a8f657d..d3725bcb5 100644 --- a/modules/40_techpol/NPi2018/datainput.gms +++ b/modules/40_techpol/NPi2018/datainput.gms @@ -15,9 +15,8 @@ $onlisting ; p40_TechBound(ttot,all_regi,te) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%",te); -*** windoffshore-todo -*** allow input data with either "wind" or "pewin" until mrremind is updated -p40_TechBound(ttot,all_regi,"pewin") $ (p40_TechBound(ttot,all_regi,"pewin") eq 0) = f40_TechBound(ttot,all_regi,"%cm_NDC_version%","wind"); +*** windoffshore-todo: separate NDC targets for windon and windoff +p40_TechBound(ttot,all_regi,"wind") = f40_TechBound(ttot,all_regi,"%cm_NDC_version%","wind"); p40_ElecBioBound("2030",regi) = p40_TechBound("2030",regi,"bioigcc"); diff --git a/modules/40_techpol/NPi2018/equations.gms b/modules/40_techpol/NPi2018/equations.gms index b0b5445b1..35349b8bf 100644 --- a/modules/40_techpol/NPi2018/equations.gms +++ b/modules/40_techpol/NPi2018/equations.gms @@ -15,10 +15,10 @@ q40_ElecBioBound(t,regi)$(t.val gt 2015).. =g= p40_ElecBioBound(t,regi) * 0.001 ; -*** windoffshore-todo: separate onshore and offshore NDC targets -q40_windBound(t,regi)$(t.val gt 2025 AND p40_TechBound(t,regi,"pewin") gt 0).. +*** windoffshore-todo: as long as there is a "wind" target, it is for the sum windon+windoff +q40_windBound(t,regi)$(t.val gt 2025 AND p40_TechBound(t,regi,"wind") gt 0).. sum(teWind, vm_cap(t,regi,teWind,"1")) - =g= p40_TechBound(t,regi,"pewin") * 0.001 + =g= p40_TechBound(t,regi,"wind") * 0.001 ; q40_PEgasBound(t,regi)$(t.val gt 2015 AND (sameas(regi,"CHN") OR sameas(regi,"CHA"))).. From aa8fdb77ed10f647a01489ba48ad49ed6b1fd2d9 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Wed, 25 Sep 2024 16:26:12 +0200 Subject: [PATCH 530/875] update scenario_config.csv for new default scenarios: * move startyear for policy scenarios from 2025 to 2030 * adjust SSP1 for more sustainability * add first implementation of SSP3 - not working * delete SDP_MC, SDP_RC, SDP_EI * reorder scenarios according their priority * delete switches which are not changed any more: optimization, cm_CO2priceRegConvEndYr, cm_maxProdBiolc, cm_subsec_model_steel --- config/scenario_config.csv | 88 ++++++++++++++++++-------------------- 1 file changed, 41 insertions(+), 47 deletions(-) diff --git a/config/scenario_config.csv b/config/scenario_config.csv index dc58869c7..b4b31c6a9 100644 --- a/config/scenario_config.csv +++ b/config/scenario_config.csv @@ -1,47 +1,41 @@ -title;start;CES_parameters;optimization;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_startyear;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_subsec_model_steel;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description -# H12 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-NPi-calibrate;calibrate,AMT,compileInTests;calibrate;;14;;;rcp45;;;0;NPi;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-Base;1,AMT,2;;;5;;;;;;0;;;;;;;off;;;;;;;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix1;2005;;;;;SSP2-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-NDC;1,AMT,2;;;5;;;rcp45;3;globallyOptimal;0;NDC;;;;9;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2025;;SSP2-NPi;SSP2-NPi;SSP2-NPi;SSP2-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. -SSP2-NPi;1,AMT,compileInTests,2;;;5;;;rcp45;3;;0;NPi;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-PkBudg500;1,AMT,2;;;5;;;rcp20;9;globallyOptimal;500;diffLin2Lin;200;2045;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2025;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be well below 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-PkBudg650;1,AMT,2;;;5;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2025;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-PkBudg1050;1,AMT,2;;;5;;;rcp26;9;globallyOptimal;1050;diffLin2Lin;40;2100;;9;;;;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2025;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -# EU21 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-EU21-NPi-calibrate;calibrate;calibrate;;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;0;NPi;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-EU21-Base;1,AMT,compileInTests,2;;;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;;;;0;;;;;;;off;;;;;;;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix1;2005;;;;;SSP2-EU21-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-EU21-NDC;1,AMT,2;;;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;globallyOptimal;0;NDC;;;;9;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2025;;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-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. -SSP2-EU21-NPi;1,AMT,2;;;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-EU21-PkBudg500;1,AMT,2;;;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;500;diffLin2Lin;200;2045;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2025;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg500: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-EU21-PkBudg650;1,AMT,2;;;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2025;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg650: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-EU21-PkBudg1050;1,AMT,2;;;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;9;globallyOptimal;1050;diffLin2Lin;40;2100;;9;;;;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2025;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg1050: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -# H12 SSP1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP1-NPi-calibrate;calibrate;calibrate;;14;;;rcp45;;;0;NPi;;;;9;;;2;1.025;1.75;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;SSP1;Mix1;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. -SSP1-NDC;1,AMT,compileInTests;;;;;;rcp45;3;globallyOptimal;0;NDC;;;;9;;;2;1.025;1.75;;2;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SSP1;0.5;1;forcing_SSP1;SSP1;Mix2;2025;;SSP2-NPi;SSP1-NPi;SSP1-NPi;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. -SSP1-NPi;1,AMT;;;;;;rcp45;3;;0;NPi;;;;9;;;2;1.025;1.75;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;SSP1;Mix1;2005;;;;;SSP1-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP1-PkBudg650;1,AMT;;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;9;;;2;1.025;1.75;;2;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;SSP1;Mix4ICEban;2025;;SSP2-NPi;;;SSP1-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP1-PkBudg1050;1,AMT;;;;;;rcp26;9;globallyOptimal;1050;diffLin2Lin;40;2100;;9;;;2;1.025;1.75;;2;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;SSP1;Mix3ICEban;2025;;SSP2-NPi;;;SSP1-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -# H12 SSP5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP5-NPi-calibrate;calibrate;calibrate;;14;;;rcp45;;;0;NPi;;;;9;;;1;;1.75;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. -SSP5-NDC;1,AMT;;;;;;rcp45;3;globallyOptimal;0;NDC;;;;9;;;1;;1.75;;3;2;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2;2025;;SSP2-NPi;SSP5-NPi;SSP5-NPi;SSP5-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. 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. -SSP5-NPi;1,AMT;;;;;;rcp45;3;;0;NPi;;;;9;;;1;;1.75;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP5-PkBudg650;1,AMT;;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;9;;;1;;1.75;;3;2;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix4ICEban;2025;;SSP2-NPi;;;SSP5-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP5-PkBudg1050;1,AMT,compileInTests;;;;;;rcp26;9;globallyOptimal;1050;diffLin2Lin;40;2100;;9;;;1;;1.75;;3;2;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix3ICEban;2025;;SSP2-NPi;;;SSP5-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -# H12 SDP_MC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SDP_MC-NPi-calibrate;calibrate;calibrate;;14;;;rcp45;;;0;NPi;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;152;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SDP_MC;gdp_SDP_MC;gdp_SDP_MC;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix4ICEban;2005;;;;;"SDP_MC-calibration: This baseline calibration scenario follows the Sustainable Development Pathway scenario following the narrative of ""Managing the global commons"": strong global institutions - efficient technological solutions." -SDP_MC-NPi;1,AMT;;;;;;rcp45;3;;0;NPi;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;152;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SDP_MC;gdp_SDP_MC;gdp_SDP_MC;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix4ICEban;2005;;;;;"SDP_MC-NPi: This National Policies Implemented (NPi) scenario follows the Sustainable Development Pathway scenario following the narrative of ""Managing the global commons"": strong global institutions - efficient technological solutions. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies." -SDP_MC-PkBudg650;1,AMT,compileInTests;;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;200;2045;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;152;2;;;feelhpb 1.05, fehob 1.75, feheb 0.1;manual;feh2_otherInd 1.04, feelhth_otherInd 0.4, feh2_cement 2.0, feelhth_chemicals 1.3, feh2_chemicals 1.04;2050.GLO 0.9;NDCplus;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SDP_MC;gdp_SDP_MC;gdp_SDP_MC;lowOil;lowGas;lowCoal;2;;4;;SDP;0.5;1;forcing_SSP1;MFR;Mix4ICEban;2025;;SSP2-NPi;;;"SDP_MC-PkBudg650: This climate policy scenario follows the Sustainable Development Pathway scenario following the narrative of ""Managing the global commons"": strong global institutions - efficient technological solutions. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century." -# H12 SDP_EI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SDP_EI-NPi-calibrate;calibrate;calibrate;;14;;;rcp45;;;0;NPi;;;;9;GLO 0.14, EUR_regi 0.15;;2;1.025;1.75;300;;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SDP_EI;gdp_SDP_EI;gdp_SDP_EI;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;SSP1;Mix4ICEban;2005;;;;;"SDP_EI-calibration: This baseline calibration scenario follows the Sustainable Development Pathway scenario following the narrative of ""Economy-driven innovation"": tech & market driven - globalized word - high-growth." -SDP_EI-NPi;0;;;;;;rcp45;3;;0;NPi;;;;9;GLO 0.14, EUR_regi 0.15;;2;1.025;1.75;300;;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SDP_EI;gdp_SDP_EI;gdp_SDP_EI;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;SSP1;Mix4ICEban;2005;;;;;"SDP_EI-NPi: This National Policies Implemented (NPi) scenario following the narrative of ""Economy-driven innovation"": tech & market driven - globalized word - high-growth. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies." -SDP_EI-PkBudg650;0;;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;200;2045;;9;GLO 0.14, EUR_regi 0.15;;2;1.025;1.75;300;;2;;feelhpb 1.05, fehob 1.75, feheb 0.35;manual;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05;2050.GLO 0.9;NDCplus;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SDP_EI;gdp_SDP_EI;gdp_SDP_EI;lowOil;lowGas;lowCoal;2;;4;;SDP;0.5;1;forcing_SSP1;SSP1;Mix4ICEban;2025;;SSP2-NPi;;;"SDP_EI-PkBudg650: This climate policy scenario following the narrative of ""Economy-driven innovation"": tech & market driven - globalized word - high-growth. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century." -# H12 SDP_RC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SDP_RC-NPi-calibrate;calibrate;calibrate;;14;;;rcp45;;;0;NPi;;;;9;;;4;1.025;2;100;5;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SDP_RC;gdp_SDP_RC;gdp_SDP_RC;lowOil;lowGas;lowCoal;2;;4;3;SDP;;1;forcing_SSP1;SSP1;Mix3ICEban;2005;;;;;"SDP_RC-calibration: This baseline calibration scenario follows the Sustainable Development Pathway scenario following the narrative of ""Resilient communities"": human well-being - behavioural change - local & less tech-driven." -SDP_RC-NPi;0;;;;;;rcp45;3;;0;NPi;;;;9;;;4;1.025;2;100;5;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SDP_RC;gdp_SDP_RC;gdp_SDP_RC;lowOil;lowGas;lowCoal;2;;4;3;SDP;;1;forcing_SSP1;SSP1;Mix3ICEban;2005;;;;;"SDP_RC-NPi: This National Policies Implemented (NPi) scenario follows the Sustainable Development Pathway scenario following the narrative of ""Resilient communities"": human well-being - behavioural change - local & less tech-driven. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies." -SDP_RC-PkBudg650;0;;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;200;2045;2060;9;;;4;1.025;2;100;5;;;feelhpb 1.05, fehob 1.75, feheb 0.35;manual;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05;2050.GLO 0.9;NDCplus;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SDP_RC;gdp_SDP_RC;gdp_SDP_RC;lowOil;lowGas;lowCoal;2;;4;;SDP;;1;forcing_SSP1;SSP1;Mix3ICEban;2025;;SSP2-NPi;;;"SDP_RC-PkBudg650: This climate policy scenario follows the Sustainable Development Pathway scenario following the narrative of ""Resilient communities"": human well-being - behavioural change - local & less tech-driven. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century." -# H12 SSP2 lowEnergy;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2_lowEn-NPi-calibrate;calibrate;calibrate;;14;;;rcp45;;;0;NPi;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2_lowEn-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. -SSP2_lowEn-NDC;0;;;;;;rcp45;3;globallyOptimal;0;NDC;;;;9;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;;;;;;Mix2;2025;;SSP2-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. 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. -SSP2_lowEn-NPi;0;;;;;;rcp45;3;;0;NPi;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2_lowEn-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2_lowEn-PkBudg650;0;;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;;;;;;Mix4ICEban;2025;;SSP2-NPi;;;SSP2_lowEn-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2_lowEn-PkBudg1050;0;;;;;;rcp26;9;globallyOptimal;1050;diffLin2Lin;40;2100;;9;;;;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;;;;;;Mix3ICEban;2025;;SSP2-NPi;;;SSP2_lowEn-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +title;start;CES_parameters;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_startyear;cm_peakBudgYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_co2_tax_growth;cm_bioenergy_SustTax;c_ccsinjecratescen;c_ccscapratescen;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description +# H12 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2-NPi-calibrate;calibrate,AMT,compileInTests;calibrate;14;;;rcp45;;;0;NPi;;;9;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-Base;1,AMT,2;;5;;;;;;0;;;;;;off;;;;;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix1;2005;;;;;SSP2-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-NDC;1,AMT,2;;5;;;rcp45;3;globallyOptimal;0;NDC;;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2030;;SSP2-NPi;SSP2-NPi;SSP2-NPi;SSP2-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. +SSP2-NPi;1,AMT,compileInTests,2;;5;;;rcp45;3;;0;NPi;;;9;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-PkBudg500;1,AMT,2;;5;;;rcp20;9;globallyOptimal;500;diffLin2Lin;200;2045;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be well below 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-PkBudg650;1,AMT,2;;5;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-PkBudg1000;1,AMT,2;;5;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;9;;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +# EU21 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2-EU21-NPi-calibrate;calibrate;calibrate;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;0;NPi;;;9;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-EU21-Base;1,AMT,compileInTests,2;;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;;;;0;;;;;;off;;;;;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix1;2005;;;;;SSP2-EU21-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-EU21-NDC;1,AMT,2;;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;globallyOptimal;0;NDC;;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2030;;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-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. +SSP2-EU21-NPi;1,AMT,2;;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;9;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-EU21-PkBudg500;1,AMT,2;;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;500;diffLin2Lin;200;2045;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg500: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-EU21-PkBudg650;1,AMT,2;;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg650: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-EU21-PkBudg1000;1,AMT,2;;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;9;;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg1050: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +# H12 SSP3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP3-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;9;;;;;;;2;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;highOil;highGas;highCoal;3;6;4;3;SSP3;;;forcing_SSP3;SSP3;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. +SSP3-NDC;0;;;;;rcp45;3;globallyOptimal;0;NDC;;;9;;;;;;;2;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;highOil;highGas;highCoal;3;6;4;3;SSP3;;;forcing_SSP3;SSP3;Mix2;2030;;SSP2-NPi;SSP3-NPi;SSP3-NPi;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. 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. +SSP3-NPi;0;;;;;rcp45;3;;0;NPi;;;9;;;;;;;2;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;highOil;highGas;highCoal;3;6;4;3;SSP3;;;forcing_SSP3;SSP3;Mix1;2005;;;;;SSP3-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP3-PkBudg650;0;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;;;;;;;2;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;highOil;highGas;highCoal;3;6;4;;SSP3;;;forcing_SSP3;SSP3;Mix4ICEban;2030;;SSP2-NPi;;;SSP3-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP3-PkBudg1000;0;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;9;;;;;;;2;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;highOil;highGas;highCoal;3;6;4;;SSP3;;;forcing_SSP3;SSP3;Mix3ICEban;2030;;SSP2-NPi;;;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +# H12 SSP1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP1-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. +SSP1-NDC;1,AMT,compileInTests;;;;;rcp45;3;globallyOptimal;0;NDC;;;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;2;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix2;2030;;SSP2-NPi;SSP1-NPi;SSP1-NPi;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. +SSP1-NPi;1,AMT;;;;;rcp45;3;;0;NPi;;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP1-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;2;;feelhpb 1.05, fehob 1.75, feheb 0.1;manual;feh2_otherInd 1.04, feelhth_otherInd 0.4, feh2_cement 2.0, feelhth_chemicals 1.3, feh2_chemicals 1.04;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SDP;0.5;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SSP2-NPi;;;SSP1-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP1-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;2;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SDP;0.5;1;forcing_SSP1;MFR;Mix3ICEban;2030;;SSP2-NPi;;;SSP1-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +# H12 SSP2 lowEnergy;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2_lowEn-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;9;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2_lowEn-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. +SSP2_lowEn-NDC;1,AMT;;;;;rcp45;3;globallyOptimal;0;NDC;;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;;;;;;Mix2;2025;;SSP2-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. 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. +SSP2_lowEn-NPi;1,AMT;;;;;rcp45;3;;0;NPi;;;9;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2_lowEn-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2_lowEn-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi;;;SSP2_lowEn-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2_lowEn-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;9;;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-NPi;;;SSP2_lowEn-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +# H12 SSP5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP5-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;9;;;1;;1.75;3;2;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. +SSP5-NDC;1;;;;;rcp45;3;globallyOptimal;0;NDC;;;9;;;1;;1.75;3;2;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2;2030;;SSP2-NPi;SSP5-NPi;SSP5-NPi;SSP5-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. 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. +SSP5-NPi;1;;;;;rcp45;3;;0;NPi;;;9;;;1;;1.75;3;2;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP5-PkBudg650;1;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;;;1;;1.75;3;2;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix4ICEban;2030;;SSP2-NPi;;;SSP5-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP5-PkBudg1000;1,compileInTests;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;9;;;1;;1.75;3;2;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix3ICEban;2030;;SSP2-NPi;;;SSP5-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. From 98b9d14845f5b1e2d11829d84ab6b7404a6d3407 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Wed, 25 Sep 2024 16:37:00 +0000 Subject: [PATCH 531/875] Release development version 3.3.2.dev670 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 98b478457..ac96f3e10 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev667" -date-released: 2024-09-24 +version: "3.3.2.dev670" +date-released: 2024-09-25 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index bbee8e1ce..507ce0ea7 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev667" +cfg$model_version <- "3.3.2.dev670" #### settings #### cfg$gms <- list() From 3c14aee85f01c9c5b08393a1ded9c2d401d987f0 Mon Sep 17 00:00:00 2001 From: orichters Date: Wed, 25 Sep 2024 18:33:46 +0200 Subject: [PATCH 532/875] add information to IIASA tutorial regarding historical.mif in different regional resolution --- tutorials/13_Submit_to_IIASA_database.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tutorials/13_Submit_to_IIASA_database.md b/tutorials/13_Submit_to_IIASA_database.md index 1a2b851bc..c41e35e62 100644 --- a/tutorials/13_Submit_to_IIASA_database.md +++ b/tutorials/13_Submit_to_IIASA_database.md @@ -97,6 +97,16 @@ The following functions from `piamInterfaces` might be helpful for further analy - [`fixOnRef()`](https://github.com/pik-piam/piamInterfaces/blob/master/R/fixOnRef.R) checks whether the runs are correctly fixed on their reference run for delayed transition scenarios. - [`plotIntercomparison()`](https://github.com/pik-piam/piamInterfaces/blob/master/R/plotIntercomparison.R) plots area and line plots of selected variables. +If you like to generate a 'historical.mif' file for a different regional resolution than the REMIND one to pass it to plotIntercomparison, you can use the [regionmapping](https://github.com/pik-piam/piamInterfaces/tree/master/inst/regionmapping) ISO files from piamInterfaces or a similarly formatted file, for example like this: +``` +library(madrat) +library(mrremind) +setConfig(regionmapping = system.file("regionmapping/ISO_2_R10.csv", package = "piamInterfaces")) +d <- madrat::retrieveData("VALIDATIONREMIND") +system(paste("tar xvf", d)) +quitte::write.mif(piamInterfaces::convertHistoricalData("historical.mif", "ScenarioMIP"), "historical_R10.mif") +``` + ## Further Information Please refer to [this repository](https://gitlab.pik-potsdam.de/REMIND/miptemplate) for a showcase of all the tools and best practices when working with data from the IIASA database, including: From a95573d66695da5e491c0f94189f54a4f1387f56 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Wed, 25 Sep 2024 16:49:11 +0000 Subject: [PATCH 533/875] Release development version 3.3.2.dev673 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index ac96f3e10..cd68931ac 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev670" +version: "3.3.2.dev673" date-released: 2024-09-25 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 507ce0ea7..ef98a8fa8 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev670" +cfg$model_version <- "3.3.2.dev673" #### settings #### cfg$gms <- list() From 9f66d6319b4c62986fb9275ae87531b777ab7c50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabrice=20L=C3=A9cuyer?= Date: Thu, 26 Sep 2024 02:19:40 +0200 Subject: [PATCH 534/875] typo --- modules/32_power/IntC/equations.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/32_power/IntC/equations.gms b/modules/32_power/IntC/equations.gms index 956b5dacf..ed9762169 100644 --- a/modules/32_power/IntC/equations.gms +++ b/modules/32_power/IntC/equations.gms @@ -56,7 +56,7 @@ q32_usableSeTe(t,regi,entySe,te)$(sameas(entySe,"seel") AND teVRE(te)).. ***--------------------------------------------------------------------------- *' Definition of capacity constraints for storage: ***--------------------------------------------------------------------------- -*' This equation calculates the storage cpacity for each teStor that needs to be installed based on the amount of +*' This equation calculates the storage capacity for each teStor that needs to be installed based on the amount of *' v32_storloss that is calculated below in q32_storloss. Multiplying v32_storloss with "eta/(1-eta)" yields *' the total output of a storage technology; this output has to be smaller than cap * capfac. q32_limitCapTeStor(t,regi,teStor)$( t.val ge 2020 ) .. From cb2c990ab7fe08042e693dd8b1131549532b8406 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabrice=20L=C3=A9cuyer?= Date: Thu, 26 Sep 2024 09:37:55 +0200 Subject: [PATCH 535/875] changing linebreaks --- modules/32_power/IntC/equations.gms | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/modules/32_power/IntC/equations.gms b/modules/32_power/IntC/equations.gms index ed9762169..be8b0afba 100644 --- a/modules/32_power/IntC/equations.gms +++ b/modules/32_power/IntC/equations.gms @@ -85,21 +85,26 @@ q32_h2turbVREcapfromTestor(t,regi).. vm_cap(t,regi,"h2turbVRE","1") + vm_cap(t,regi,"ngt","1") =g= - sum(teStor, p32_storageCap(teStor,"h2turbVREcapratio") * vm_cap(t,regi,teStor,"1") ) + sum(teStor, + p32_storageCap(teStor,"h2turbVREcapratio") * vm_cap(t,regi,teStor,"1") ) ; *** h2turbVRE hydrogen turbines should only be built in conjunction with storage capacities and not on its own q32_h2turbVREcapfromTestorUp(t,regi).. vm_cap(t,regi,"h2turbVRE","1") =l= - sum(teStor, p32_storageCap(teStor,"h2turbVREcapratio") * vm_cap(t,regi,teStor,"1") ) + sum(teStor, + p32_storageCap(teStor,"h2turbVREcapratio") * vm_cap(t,regi,teStor,"1") ) ; *** build additional electrolysis capacities with stored VRE electricity, phase-in from 2030 to 2040 q32_elh2VREcapfromTestor(t,regi).. vm_cap(t,regi,"elh2","1") =g= - sum(teStor, p32_storageCap(teStor,"elh2VREcapratio") * vm_cap(t,regi,teStor,"1") ) * p32_phaseInElh2VREcap(t) + sum(teStor, + p32_storageCap(teStor,"elh2VREcapratio") * vm_cap(t,regi,teStor,"1") + ) + * p32_phaseInElh2VREcap(t) ; From 96fcf0523c3fb1210cbf7013272c5f3dbbb1a18c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabrice=20L=C3=A9cuyer?= Date: Thu, 26 Sep 2024 09:53:11 +0200 Subject: [PATCH 536/875] document geohe maxprod --- core/datainput.gms | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/core/datainput.gms b/core/datainput.gms index 27c4be587..0f303b3a5 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -961,8 +961,9 @@ display p_efFossilFuelExtr; *** capacity factors (nur) are 1 by default pm_dataren(regi,"nur",rlf,te) = 1; -*** value copied from old file generisdata_nur_ren.prn (50EJ = 1.5855TWa) -pm_dataren(regi,"maxprod","1","geohe") = 1.5855; +*** geothermal heatpumps (geohe) do not get maxprod and nur from f_maxProdGradeRegi files +*** we set regional maxprod to 200EJ = 6.342TWa to represent unlimited potential +pm_dataren(regi,"maxprod","1","geohe") = 6.342; *RP* hydro, spv and csp get maxprod for all regions and grades from external file table f_maxProdGradeRegiHydro(all_regi,char,rlf) "input of regionalized maximum from hydro [EJ/a]" From c8bf5c8488f2234c2408be715cddf76e9928d739 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Thu, 26 Sep 2024 08:09:32 +0000 Subject: [PATCH 537/875] Release development version 3.3.2.dev679 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index cd68931ac..864f308d2 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev673" -date-released: 2024-09-25 +version: "3.3.2.dev679" +date-released: 2024-09-26 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index ef98a8fa8..12abc85f2 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev673" +cfg$model_version <- "3.3.2.dev679" #### settings #### cfg$gms <- list() From 1c4b3658ddc1abd4a0bfb72e8b270b60050c8902 Mon Sep 17 00:00:00 2001 From: lecfab Date: Thu, 26 Sep 2024 10:50:25 +0200 Subject: [PATCH 538/875] fixing prodSe for unused tech --- core/bounds.gms | 3 +++ 1 file changed, 3 insertions(+) diff --git a/core/bounds.gms b/core/bounds.gms index 7568d9f08..165215412 100755 --- a/core/bounds.gms +++ b/core/bounds.gms @@ -79,8 +79,11 @@ loop(all_te $ ( vm_demPe.fx(t,regi,"pecoal","seel","pcc") = 0; vm_demPe.fx(t,regi,"pecoal","seel","pco") = 0; +vm_prodSe.fx(t,regi,"pecoal","seel","pcc") = 0; +vm_prodSe.fx(t,regi,"pecoal","seel","pco") = 0; *** windoffshore-todo: to remove when removing wind from all_te vm_demPe.fx(t,regi,"pewin","seel","wind") = 0; +vm_prodSe.fx(t,regi,"pewin","seel","wind") = 0; *' Switch off grey hydrogen investments in gash2 technology from 2025. Our current seh2 hydrogen represents only additional (clean) hydrogen use cases to current ones *' and there are no plans to expand grey hydrogen production for that. From efc9a6788ed4fc133b4691c470f360b37430032f Mon Sep 17 00:00:00 2001 From: orichters Date: Thu, 26 Sep 2024 11:34:10 +0200 Subject: [PATCH 539/875] adjust carbon prices from 2005 to 2017 --- modules/45_carbonprice/NDC/datainput.gms | 6 +++--- modules/45_carbonprice/NPi/datainput.gms | 2 +- .../45_carbonprice/diffCurvPhaseIn2Lin/not_used.txt | 1 + modules/45_carbonprice/diffExp2Lin/not_used.txt | 1 + modules/45_carbonprice/diffLin2Lin/not_used.txt | 1 + modules/45_carbonprice/exogenous/not_used.txt | 1 + modules/45_carbonprice/expoLinear/not_used.txt | 1 + modules/45_carbonprice/exponential/not_used.txt | 1 + modules/45_carbonprice/linear/not_used.txt | 1 + modules/45_carbonprice/none/not_used.txt | 1 + .../45_carbonprice/temperatureNotToExceed/not_used.txt | 1 + modules/47_regipol/regiCarbonPrice/datainput.gms | 10 +++++----- 12 files changed, 18 insertions(+), 9 deletions(-) diff --git a/modules/45_carbonprice/NDC/datainput.gms b/modules/45_carbonprice/NDC/datainput.gms index 4e1cb9347..eaaf27486 100644 --- a/modules/45_carbonprice/NDC/datainput.gms +++ b/modules/45_carbonprice/NDC/datainput.gms @@ -12,9 +12,9 @@ Execute_Loadpoint "input_ref" p45_taxCO2eq_bau = pm_taxCO2eq; pm_taxCO2eq(t,regi) = p45_taxCO2eq_bau(t,regi) *** parameters for exponential increase after NDC targets -Scalar p45_taxCO2eqGlobal2030 "startprice in 2030 (unit TDpGtC) of global CO2eq taxes towards which countries converge"; -p45_taxCO2eqGlobal2030 = 30 * sm_DptCO2_2_TDpGtC; -Scalar p45_taxCO2eqYearlyIncrease "yearly multiplicative increase of co2 tax, write 3% as 1.03" /1.0125/; +Scalar p45_taxCO2eqGlobal2030 "startprice in 2030 of global CO2eq taxes towards which countries converge [T$/GtC]"; +p45_taxCO2eqGlobal2030 = 30 * sm_D2005_2_D2017 * sm_DptCO2_2_TDpGtC; +Scalar p45_taxCO2eqYearlyIncrease "yearly multiplicative increase of co2 tax, write 3% as 1.03 [1]" /1.0125/; Scalar p45_taxCO2eqConvergenceYear "year until which CO2eq taxes have converged globally" /2100/; *** set Years for CO2eq taxes to converge after 2030 diff --git a/modules/45_carbonprice/NPi/datainput.gms b/modules/45_carbonprice/NPi/datainput.gms index e522bd2c4..c74a2fbfd 100644 --- a/modules/45_carbonprice/NPi/datainput.gms +++ b/modules/45_carbonprice/NPi/datainput.gms @@ -12,7 +12,7 @@ pm_taxCO2eq(ttot,regi)$( (ttot.val ge 2025) AND (ttot.val le 2100)) = pm_taxCO2eq("2020",regi) + ( - ( 25 * sm_DptCO2_2_TDpGtC - pm_taxCO2eq("2020",regi) ) + ( 25 * sm_D2005_2_D2017 * sm_DptCO2_2_TDpGtC - pm_taxCO2eq("2020",regi) ) * ( (ttot.val - 2020) / (2100 - 2020) ) ** 2 diff --git a/modules/45_carbonprice/diffCurvPhaseIn2Lin/not_used.txt b/modules/45_carbonprice/diffCurvPhaseIn2Lin/not_used.txt index ee46cce97..73edac052 100644 --- a/modules/45_carbonprice/diffCurvPhaseIn2Lin/not_used.txt +++ b/modules/45_carbonprice/diffCurvPhaseIn2Lin/not_used.txt @@ -28,3 +28,4 @@ cm_co2_tax_startyear,input,added by codeCheck cm_peakBudgYr,input,added by codeCheck cm_startyear,input,added by codeCheck cm_taxCO2inc_after_peakBudgYr,input,added by codeCheck +sm_D2005_2_D2017,input,not needed diff --git a/modules/45_carbonprice/diffExp2Lin/not_used.txt b/modules/45_carbonprice/diffExp2Lin/not_used.txt index 23121ad97..17aba2d68 100644 --- a/modules/45_carbonprice/diffExp2Lin/not_used.txt +++ b/modules/45_carbonprice/diffExp2Lin/not_used.txt @@ -22,3 +22,4 @@ pm_ttot_2_tall,input,questionnaire cm_NDC_divergentScenario,input,questionnaire vm_demFeSector,input,questionnaire pm_emifac,input,questionnaire +sm_D2005_2_D2017,input,not needed diff --git a/modules/45_carbonprice/diffLin2Lin/not_used.txt b/modules/45_carbonprice/diffLin2Lin/not_used.txt index 9e1d86d3f..8d668392d 100644 --- a/modules/45_carbonprice/diffLin2Lin/not_used.txt +++ b/modules/45_carbonprice/diffLin2Lin/not_used.txt @@ -23,3 +23,4 @@ pm_prtp,input,questionnaire vm_demFeSector,input,questionnaire pm_emifac,input,questionnaire cm_co2_tax_2020,input,replaced by cm_co2_tax_startyear in this realization +sm_D2005_2_D2017,input,not needed diff --git a/modules/45_carbonprice/exogenous/not_used.txt b/modules/45_carbonprice/exogenous/not_used.txt index 8575250b1..4eecba445 100644 --- a/modules/45_carbonprice/exogenous/not_used.txt +++ b/modules/45_carbonprice/exogenous/not_used.txt @@ -32,3 +32,4 @@ cm_co2_tax_spread,switch,no carbon price differentiation in this realization cm_co2_tax_startyear,input,added by codeCheck cm_peakBudgYr,input,added by codeCheck cm_taxCO2inc_after_peakBudgYr,input,added by codeCheck +sm_D2005_2_D2017,input,not needed diff --git a/modules/45_carbonprice/expoLinear/not_used.txt b/modules/45_carbonprice/expoLinear/not_used.txt index 7140d84f5..8e3448563 100644 --- a/modules/45_carbonprice/expoLinear/not_used.txt +++ b/modules/45_carbonprice/expoLinear/not_used.txt @@ -28,3 +28,4 @@ cm_co2_tax_spread,input,No carbon price differentiation in this realization cm_peakBudgYr,input,added by codeCheck cm_co2_tax_2020,input,added by codeCheck cm_taxCO2inc_after_peakBudgYr,input,added by codeCheck +sm_D2005_2_D2017,input,not needed diff --git a/modules/45_carbonprice/exponential/not_used.txt b/modules/45_carbonprice/exponential/not_used.txt index d5488de47..d007e2abc 100644 --- a/modules/45_carbonprice/exponential/not_used.txt +++ b/modules/45_carbonprice/exponential/not_used.txt @@ -31,3 +31,4 @@ cm_co2_tax_spread,input,No carbon price differentiation in this realization cm_co2_tax_startyear,input,added by codeCheck cm_peakBudgYr,input,added by codeCheck cm_taxCO2inc_after_peakBudgYr,input,added by codeCheck +sm_D2005_2_D2017,input,not needed diff --git a/modules/45_carbonprice/linear/not_used.txt b/modules/45_carbonprice/linear/not_used.txt index d8ed2f5f0..d37abf864 100644 --- a/modules/45_carbonprice/linear/not_used.txt +++ b/modules/45_carbonprice/linear/not_used.txt @@ -31,3 +31,4 @@ cm_co2_tax_spread,switch,no carbon price differentiation in this realization cm_co2_tax_startyear,input,added by codeCheck cm_peakBudgYr,input,added by codeCheck cm_taxCO2inc_after_peakBudgYr,input,added by codeCheck +sm_D2005_2_D2017,input,not needed diff --git a/modules/45_carbonprice/none/not_used.txt b/modules/45_carbonprice/none/not_used.txt index 62d6c911a..63ad62de7 100644 --- a/modules/45_carbonprice/none/not_used.txt +++ b/modules/45_carbonprice/none/not_used.txt @@ -34,3 +34,4 @@ cm_co2_tax_spread,input,no carbon price differentiation in this realization cm_co2_tax_startyear,input,added by codeCheck cm_peakBudgYr,input,added by codeCheck cm_taxCO2inc_after_peakBudgYr,input,added by codeCheck +sm_D2005_2_D2017,input,not needed diff --git a/modules/45_carbonprice/temperatureNotToExceed/not_used.txt b/modules/45_carbonprice/temperatureNotToExceed/not_used.txt index 3f2491e46..82b3b0a52 100644 --- a/modules/45_carbonprice/temperatureNotToExceed/not_used.txt +++ b/modules/45_carbonprice/temperatureNotToExceed/not_used.txt @@ -26,3 +26,4 @@ cm_co2_tax_spread,input,no carbon price differentiation in this realization cm_co2_tax_startyear,input,added by codeCheck cm_peakBudgYr,input,added by codeCheck cm_taxCO2inc_after_peakBudgYr,input,added by codeCheck +sm_D2005_2_D2017,input,not needed diff --git a/modules/47_regipol/regiCarbonPrice/datainput.gms b/modules/47_regipol/regiCarbonPrice/datainput.gms index c985d567f..d14c331bd 100644 --- a/modules/47_regipol/regiCarbonPrice/datainput.gms +++ b/modules/47_regipol/regiCarbonPrice/datainput.gms @@ -82,7 +82,7 @@ p47_taxemiMkt_init(ttot,regi,emiMkt)$(p47_taxCO2eq_ref(ttot,regi) and (NOT(p47_t loop((ttot,ttot2,ext_regi,emiMktExt,target_type_47,emi_type_47)$pm_emiMktTarget(ttot,ttot2,ext_regi,emiMktExt,target_type_47,emi_type_47), loop(regi$regi_groupExt(ext_regi,regi), loop(emiMkt$emiMktGroup(emiMktExt,emiMkt), - p47_taxemiMkt_init(t,regi,emiMkt)$(t.val gt 2020) = (20*sm_DptCO2_2_TDpGtC) + (1*sm_DptCO2_2_TDpGtC)*(t.val-2020); + p47_taxemiMkt_init(t,regi,emiMkt)$(t.val gt 2020) = (20*sm_D2005_2_D2017*sm_DptCO2_2_TDpGtC) + (1*sm_DptCO2_2_TDpGtC)*(t.val-2020); ); ); ); @@ -93,23 +93,23 @@ p47_taxemiMkt_init(ttot,regi,emiMkt)$(p47_taxCO2eq_ref(ttot,regi) and (NOT(p47_t loop(regi$(regi_groupExt(ext_regi,regi) and regi_groupExt("EUR_regi",regi)), !!second condition is necessary to support also country targets if((cm_startyear le 2010), p47_taxemiMkt_init("2010",regi,emiMkt) = 0; - p47_taxemiMkt_init("2010",regi,"ETS") = 15*sm_DptCO2_2_TDpGtC; + p47_taxemiMkt_init("2010",regi,"ETS") = 15*sm_D2005_2_D2017*sm_DptCO2_2_TDpGtC; ); if((cm_startyear le 2015), p47_taxemiMkt_init("2015",regi,emiMkt) = 0; - p47_taxemiMkt_init("2015",regi,"ETS") = 8*sm_DptCO2_2_TDpGtC; + p47_taxemiMkt_init("2015",regi,"ETS") = 8*sm_D2005_2_D2017*sm_DptCO2_2_TDpGtC; ); if((cm_startyear le 2020), p47_taxemiMkt_init("2020",regi,emiMkt) = 0; *** p47_taxemiMkt_init("2020",regi,"ETS") = 41.28*sm_DptCO2_2_TDpGtC; !! 2018 = 16.5€/tCO2, 2019 = 25€/tCO2, 2020 = 25€/tCO2, 2021 = 53.65€/tCO2, 2022 = 80€/tCO2 -> average 2020 = 40€/tCO2 -> 40*1.032 $/tCO2 = 41.28 $/t CO2 - p47_taxemiMkt_init("2020",regi,"ETS") = 30*sm_DptCO2_2_TDpGtC; + p47_taxemiMkt_init("2020",regi,"ETS") = 30*sm_D2005_2_D2017*sm_DptCO2_2_TDpGtC; *** p47_taxemiMkt_init("2020",regi,"ES") = 30*sm_DptCO2_2_TDpGtC; *** p47_taxemiMkt_init("2020",regi,"other")= 30*sm_DptCO2_2_TDpGtC; ); *** intialize EUR price trajectory after 2020 with an yearly increase of 1$/tCO2 from a base value of 30$/tCO2 when no price is available. *** p47_taxemiMkt_init(t,regi,emiMkt)$(not(p47_taxemiMkt_init(t,regi,emiMkt)) and (t.val gt 2020)) = (30*sm_DptCO2_2_TDpGtC) + (1*sm_DptCO2_2_TDpGtC)*(t.val-2020); *** intialize EUR price trajectory after 2020 with a yearly increase of 1$/tCO2 from a base value of 30$/tCO2 - p47_taxemiMkt_init(t,regi,emiMkt)$(t.val gt 2020) = (30*sm_DptCO2_2_TDpGtC) + (1*sm_DptCO2_2_TDpGtC)*(t.val-2020); + p47_taxemiMkt_init(t,regi,emiMkt)$(t.val gt 2020) = (30*sm_D2005_2_D2017*sm_DptCO2_2_TDpGtC) + (1*sm_D2005_2_D2017*sm_DptCO2_2_TDpGtC)*(t.val-2020); ); ); From 48870178695a5a3a3c1b278db00339ebf051ed61 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Thu, 26 Sep 2024 10:09:57 +0000 Subject: [PATCH 540/875] Release development version 3.3.2.dev706 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 864f308d2..524dccf41 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev679" +version: "3.3.2.dev706" date-released: 2024-09-26 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 12abc85f2..6bc78f9f7 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev679" +cfg$model_version <- "3.3.2.dev706" #### settings #### cfg$gms <- list() From e1173c27bd5b3cc2f6dadf890c46cb1036bf921a Mon Sep 17 00:00:00 2001 From: lecfab Date: Thu, 26 Sep 2024 12:10:13 +0200 Subject: [PATCH 541/875] remove duplicated code --- core/datainput.gms | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/core/datainput.gms b/core/datainput.gms index 113d3afa5..6e795610d 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -154,23 +154,6 @@ $include "./core/input/generisdata_tech_SSP5.prn" $include "./core/input/generisdata_trade.prn" ; - -***--------------------------------------------------------------------------- -*** Reading in and initializing regional cost data -***--------------------------------------------------------------------------- -parameter p_inco0(ttot,all_regi,all_te) "regionalized technology costs Unit: USD$/KW" -/ -$ondelim -$include "./core/input/p_inco0.cs4r" -$offdelim -/ -; - -*** windoffshore-todo -*** allow input data with either "wind" or "windon" until mrremind is updated -p_inco0(ttot,all_regi,"windon") $ (p_inco0(ttot,all_regi,"windon") eq 0) = p_inco0(ttot,all_regi,"wind"); -p_inco0(ttot,all_regi,"wind") = 0; - *** initializing energy service capital pm_esCapCost(tall,all_regi,all_teEs) = 0; @@ -244,6 +227,12 @@ $offdelim / ; +*** windoffshore-todo +*** allow input data with either "wind" or "windon" until mrremind is updated +p_inco0(ttot,all_regi,"windon") $ (p_inco0(ttot,all_regi,"windon") eq 0) = p_inco0(ttot,all_regi,"wind"); +p_inco0(ttot,all_regi,"wind") = 0; + + $if not "%cm_inco0RegiFactor%" == "off" parameter p_new_inco0RegiFactor(all_te) / %cm_inco0RegiFactor% /; $if not "%cm_inco0RegiFactor%" == "off" p_inco0(ttot,regi,te)$(p_inco0(ttot,regi,te) and p_new_inco0RegiFactor(te)) = p_new_inco0RegiFactor(te) * p_inco0(ttot,regi,te); From 12d57c72dd99adf98ed8510da4c293234bcd92ae Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Thu, 26 Sep 2024 10:22:14 +0000 Subject: [PATCH 542/875] Release development version 3.3.2.dev710 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 524dccf41..40cc82ebb 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev706" +version: "3.3.2.dev710" date-released: 2024-09-26 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 6bc78f9f7..2f2df1cd4 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev706" +cfg$model_version <- "3.3.2.dev710" #### settings #### cfg$gms <- list() From 01f7a9c7d5d18a324df22b034d8615b8884549bc Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Fri, 27 Sep 2024 06:31:46 +0000 Subject: [PATCH 543/875] Release development version 3.3.2.dev713 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 40cc82ebb..0156c2201 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev710" -date-released: 2024-09-26 +version: "3.3.2.dev713" +date-released: 2024-09-27 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 2f2df1cd4..cbad0e895 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev710" +cfg$model_version <- "3.3.2.dev713" #### settings #### cfg$gms <- list() From fb9f948c95f66057a7220d136e293e90a63413b0 Mon Sep 17 00:00:00 2001 From: orichters Date: Fri, 13 Sep 2024 10:40:31 +0200 Subject: [PATCH 544/875] add units to declarations in 46_carbonpriceRegi --- .zenodo.json | 270 ++++++++++++++++++ .../46_carbonpriceRegi/NDC/declarations.gms | 34 +-- .../netZero/declarations.gms | 26 +- 3 files changed, 300 insertions(+), 30 deletions(-) create mode 100644 .zenodo.json diff --git a/.zenodo.json b/.zenodo.json new file mode 100644 index 000000000..65de7942f --- /dev/null +++ b/.zenodo.json @@ -0,0 +1,270 @@ +{ + "title": "REMIND - REgional Model of INvestments and Development", + "version": "3.3.2", + "creators": [ + { + "name": "Luderer, Gunnar", + "affiliation": "Potsdam Institute for Climate Impact Research", + "orcid": "0000-0002-9057-6155" + }, + { + "name": "Bauer, Nico", + "affiliation": "Potsdam Institute for Climate Impact Research", + "orcid": "0000-0002-0211-4162" + }, + { + "name": "Baumstark, Lavinia", + "affiliation": "Potsdam Institute for Climate Impact Research", + "orcid": "0000-0002-6979-6671" + }, + { + "name": "Bertram, Christoph", + "affiliation": "Potsdam Institute for Climate Impact Research", + "orcid": "0000-0002-0933-4395" + }, + { + "name": "Leimbach, Marian", + "affiliation": "Potsdam Institute for Climate Impact Research" + }, + { + "name": "Pietzcker, Robert", + "affiliation": "Potsdam Institute for Climate Impact Research", + "orcid": "0000-0002-9403-6711" + }, + { + "name": "Strefler, Jessica", + "affiliation": "Potsdam Institute for Climate Impact Research", + "orcid": "0000-0002-5279-4629" + }, + { + "name": "Aboumahboub, Tino" + }, + { + "name": "Abrahão, Gabriel", + "affiliation": "Potsdam Institute for Climate Impact Research", + "orcid": "0000-0003-0336-6246" + }, + { + "name": "Auer, Cornelia", + "affiliation": "Potsdam Institute for Climate Impact Research" + }, + { + "name": "Benke, Falk", + "affiliation": "Potsdam Institute for Climate Impact Research" + }, + { + "name": "Bi, Stephen", + "affiliation": "Potsdam Institute for Climate Impact Research" + }, + { + "name": "Dietrich, Jan Philipp", + "affiliation": "Potsdam Institute for Climate Impact Research", + "orcid": "0000-0002-4309-6431" + }, + { + "name": "Dirnaichner, Alois", + "affiliation": "Potsdam Institute for Climate Impact Research", + "orcid": "0000-0002-3240-2608" + }, + { + "name": "Duerrwaechter, Jakob", + "affiliation": "Potsdam Institute for Climate Impact Research", + "orcid": "0000-0001-8961-5340" + }, + { + "name": "Fuchs, Sophie", + "affiliation": "Potsdam Institute for Climate Impact Research", + "orcid": "0009-0000-7258-1287" + }, + { + "name": "Führlich, Pascal", + "affiliation": "Potsdam Institute for Climate Impact Research", + "orcid": "0000-0002-6856-8239" + }, + { + "name": "Giannousakis, Anastasis", + "affiliation": "Potsdam Institute for Climate Impact Research", + "orcid": "0000-0002-4225-0011" + }, + { + "name": "Gong, Chen Chris", + "affiliation": "Potsdam Institute for Climate Impact Research", + "orcid": "0000-0002-6406-6266" + }, + { + "name": "Haller, Markus" + }, + { + "name": "Hasse, Robin", + "affiliation": "Potsdam Institute for Climate Impact Research", + "orcid": "0000-0003-1818-3186" + }, + { + "name": "Hilaire, Jerome", + "affiliation": "Potsdam Institute for Climate Impact Research", + "orcid": "0000-0002-9879-6339" + }, + { + "name": "Hoppe, Johanna", + "affiliation": "Potsdam Institute for Climate Impact Research" + }, + { + "name": "Klein, David", + "affiliation": "Potsdam Institute for Climate Impact Research", + "orcid": "0009-0001-7917-8041" + }, + { + "name": "Koch, Johannes", + "affiliation": "Potsdam Institute for Climate Impact Research", + "orcid": "0000-0003-2920-8086" + }, + { + "name": "Köhler-Schindler, Laurin", + "affiliation": "Potsdam Institute for Climate Impact Research", + "orcid": "0000-0003-4268-3084" + }, + { + "name": "Körner, Alexander" + }, + { + "name": "Kowalczyk, Katarzyna", + "affiliation": "Potsdam Institute for Climate Impact Research" + }, + { + "name": "Kriegler, Elmar", + "affiliation": "Potsdam Institute for Climate Impact Research" + }, + { + "name": "Levesque, Antoine", + "affiliation": "Potsdam Institute for Climate Impact Research" + }, + { + "name": "Lorenz, Alexander" + }, + { + "name": "Ludig, Sylvie" + }, + { + "name": "Lüken, Michael" + }, + { + "name": "Malik, Aman", + "affiliation": "Potsdam Institute for Climate Impact Research", + "orcid": "0000-0002-7310-8448" + }, + { + "name": "Mandaroux, Rahel", + "affiliation": "Potsdam Institute for Climate Impact Research", + "orcid": "0000-0001-5596-2571" + }, + { + "name": "Manger, Susanne" + }, + { + "name": "Merfort, Anne", + "affiliation": "Potsdam Institute for Climate Impact Research", + "orcid": "0000-0002-5929-7748" + }, + { + "name": "Merfort, Leon", + "affiliation": "Potsdam Institute for Climate Impact Research", + "orcid": "0000-0003-1704-6892" + }, + { + "name": "Moreno-Leiva, Simón", + "affiliation": "Potsdam Institute for Climate Impact Research", + "orcid": "0000-0002-9625-3955" + }, + { + "name": "Mouratiadou, Ioanna" + }, + { + "name": "Odenweller, Adrian", + "affiliation": "Potsdam Institute for Climate Impact Research", + "orcid": "0000-0002-1123-8124" + }, + { + "name": "Pehl, Michaja", + "affiliation": "Potsdam Institute for Climate Impact Research", + "orcid": "0000-0003-2349-6515" + }, + { + "name": "Pflüger, Mika", + "affiliation": "Potsdam Institute for Climate Impact Research", + "orcid": "0000-0002-7814-8916" + }, + { + "name": "Piontek, Franziska", + "affiliation": "Potsdam Institute for Climate Impact Research" + }, + { + "name": "Popin, Laura" + }, + { + "name": "Rauner, Sebastian", + "affiliation": "Potsdam Institute for Climate Impact Research" + }, + { + "name": "Richters, Oliver", + "affiliation": "Potsdam Institute for Climate Impact Research", + "orcid": "0000-0001-8253-4716" + }, + { + "name": "Rodrigues, Renato", + "affiliation": "Potsdam Institute for Climate Impact Research", + "orcid": "0000-0002-5863-5514" + }, + { + "name": "Roming, Niklas" + }, + { + "name": "Rottoli, Marianna", + "affiliation": "Potsdam Institute for Climate Impact Research" + }, + { + "name": "Rüter, Tonn", + "affiliation": "Potsdam Institute for Climate Impact Research" + }, + { + "name": "Schmidt, Eva" + }, + { + "name": "Schötz, Christof", + "affiliation": "Potsdam Institute for Climate Impact Research", + "orcid": "0000-0003-3528-4544" + }, + { + "name": "Schreyer, Felix", + "affiliation": "Potsdam Institute for Climate Impact Research", + "orcid": "0000-0003-0376-2599" + }, + { + "name": "Schultes, Anselm", + "affiliation": "Potsdam Institute for Climate Impact Research" + }, + { + "name": "Sörgel, Björn", + "affiliation": "Potsdam Institute for Climate Impact Research", + "orcid": "0000-0002-2630-7081" + }, + { + "name": "Ueckerdt, Falko", + "affiliation": "Potsdam Institute for Climate Impact Research" + }, + { + "name": "Verpoort, Philipp", + "affiliation": "Potsdam Institute for Climate Impact Research", + "orcid": "0000-0003-1319-5006" + }, + { + "name": "Weigmann, Pascal", + "affiliation": "Potsdam Institute for Climate Impact Research", + "orcid": "0000-0001-8801-173X" + } + ], + "keywords": ["energy", "economy", "modeling"], + "license": { + "id": "AGPL-3.0-or-later" + }, + "publication_date": "2024-07-04" +} diff --git a/modules/46_carbonpriceRegi/NDC/declarations.gms b/modules/46_carbonpriceRegi/NDC/declarations.gms index a7fdc378a..1740a83dc 100644 --- a/modules/46_carbonpriceRegi/NDC/declarations.gms +++ b/modules/46_carbonpriceRegi/NDC/declarations.gms @@ -7,24 +7,24 @@ *** SOF ./modules/46_carbonpriceRegi/NDC/declarations.gms Parameter -p46_CO2eqwoLU_actual(ttot,all_regi) "actual level of regional GHG emissions in previous iteration" -p46_CO2eqwoLU_goal(ttot,all_regi) "regional NDC target level of GHG" -p46_factorRescaleCO2Tax(ttot,all_regi) "multiplicative factor to rescale CO2 taxes to achieve the climate targets" -p46_factorRescaleCO2TaxLtd(ttot,all_regi) "multiplicative factor to rescale CO2 taxes to achieve the climate targets limited to not-so-fast adaption" -p46_factorRescaleCO2Tax_iter(iteration,ttot,all_regi) "Track the changes of p46_factorRescaleCO2Tax over the iterations" -p46_factorRescaleCO2TaxLtd_iter(iteration,ttot,all_regi) "Track the changes of p46_factorRescaleCO2TaxLimited over the iterations" -p46_vm_co2eq_iter(iteration,ttot,all_regi) "Track the changes of vm_co2eq over the iterations" -p46_taxCO2eqFirstNDCyear(all_regi) "CO2eq tax in p46_firstNDCyear" -p46_taxCO2eqLastNDCyear(all_regi) "CO2eq tax in p46_lastNDCyear" -p46_vm_CO2eq_2020(all_regi) "2020 reference emissions value for normalization of deviation from zero" -p46_taxCO2eq_iter(iteration,ttot,all_regi) "CO2eq tax non-regi tracked over iterations" -p46_taxCO2eqRegi_iter(iteration,ttot,all_regi) "CO2eq tax regi tracked over iterations" -p46_taxCO2eqLast(tall,all_regi) "general carbon price in last iteration" +p46_CO2eqwoLU_actual(ttot,all_regi) "actual level of regional GHG emissions in previous iteration [MtCO2eq/yr]" +p46_CO2eqwoLU_goal(ttot,all_regi) "regional NDC target level of GHG [MtCO2eq/yr]" +p46_factorRescaleCO2Tax(ttot,all_regi) "multiplicative factor to rescale CO2 taxes to achieve the climate targets [1]" +p46_factorRescaleCO2TaxLtd(ttot,all_regi) "multiplicative factor to rescale CO2 taxes to achieve the climate targets limited to not-so-fast adaption [1]" +p46_factorRescaleCO2Tax_iter(iteration,ttot,all_regi) "Track the changes of p46_factorRescaleCO2Tax over the iterations [1]" +p46_factorRescaleCO2TaxLtd_iter(iteration,ttot,all_regi) "Track the changes of p46_factorRescaleCO2TaxLimited over the iterations [1]" +p46_vm_co2eq_iter(iteration,ttot,all_regi) "Track the changes of vm_co2eq over the iterations [GtC/yr]" +p46_taxCO2eqFirstNDCyear(all_regi) "CO2eq tax in p46_firstNDCyear [T$/GtC]" +p46_taxCO2eqLastNDCyear(all_regi) "CO2eq tax in p46_lastNDCyear [T$/GtC]" +p46_vm_CO2eq_2020(all_regi) "2020 reference emissions value for normalization of deviation from zero [MtCO2eq/yr]" +p46_taxCO2eq_iter(iteration,ttot,all_regi) "CO2eq tax non-regi tracked over iterations [T$/GtC]" +p46_taxCO2eqRegi_iter(iteration,ttot,all_regi) "CO2eq tax regi tracked over iterations [T$/GtC]" +p46_taxCO2eqLast(tall,all_regi) "general carbon price in last iteration [T$/GtC]" ; -Scalar p46_adjustExponent "exponent in tax adjustment process"; -Scalar p46_startInIteration "first iteration to start adapting pm_taxCO2eqRegi" / 5 /; -Scalar p46_previousYearInLoop "previous year in loop, required for linear interpolation in postsolve"; -Scalar p46_taxPreviousYearInLoop "tax of previous year in loop, required for linear interpolation in postsolve"; +Scalar p46_adjustExponent "exponent in tax adjustment process [1]"; +Scalar p46_startInIteration "first iteration to start adapting pm_taxCO2eqRegi [1]" / 5 /; +Scalar p46_previousYearInLoop "previous year in loop, required for linear interpolation in postsolve [year]"; +Scalar p46_taxPreviousYearInLoop "tax of previous year in loop, required for linear interpolation in postsolve [year]"; *** EOF ./modules/46_carbonpriceRegi/NDC/declarations.gms diff --git a/modules/46_carbonpriceRegi/netZero/declarations.gms b/modules/46_carbonpriceRegi/netZero/declarations.gms index 1b4680a0e..407c1def2 100644 --- a/modules/46_carbonpriceRegi/netZero/declarations.gms +++ b/modules/46_carbonpriceRegi/netZero/declarations.gms @@ -7,21 +7,21 @@ *** SOF ./modules/46_carbonpriceRegi/netZero/declarations.gms Parameter -p46_emi_actual(all_regi) "greenhouse gas or CO2 emissions in target year" -p46_emi_2020(all_regi) "2020 reference emissions value for normalization of deviation from zero" -p46_factorRescaleCO2TaxRegi(all_regi) "factor of change for additional carbon price" -p46_taxCO2eqRegiLast(tall,all_regi) "additional carbon price to reach net-zero target in last iteration" -p46_taxCO2eqLast(tall,all_regi) "general carbon price in last iteration" -p46_factorRescaleCO2Tax(all_regi) "required change of overall tax rate to assure net-zero emission" -p46_taxCO2eq_iter(iteration,ttot,all_regi) "CO2eq tax non-regi tracked over iterations" -p46_taxCO2eqRegi_iter(iteration,ttot,all_regi) "CO2eq tax regi tracked over iterations" -p46_factorRescaleCO2TaxLtd_iter(iteration,all_regi) "Track the changes of p46_factorRescaleCO2TaxLimited over the iterations" -p46_emi_actual_iter(iteration,ttot,all_regi) "Track the changes of p46_emi_actual over the iterations" -p46_offset(all_regi) "allowed emissions in netZero year" +p46_emi_actual(all_regi) "greenhouse gas or CO2 emissions in target year [MtCO2eq/yr]" +p46_emi_2020(all_regi) "2020 reference emissions value for normalization of deviation from zero [MtCO2eq/yr]" +p46_factorRescaleCO2TaxRegi(all_regi) "factor of change for additional carbon price [1]" +p46_taxCO2eqRegiLast(tall,all_regi) "additional carbon price to reach net-zero target in last iteration [T$/GtC]" +p46_taxCO2eqLast(tall,all_regi) "general carbon price in last iteration [T$/GtC]" +p46_factorRescaleCO2Tax(all_regi) "required change of overall tax rate to assure net-zero emission [1]" +p46_taxCO2eq_iter(iteration,ttot,all_regi) "CO2eq tax non-regi tracked over iterations [T$/GtC]" +p46_taxCO2eqRegi_iter(iteration,ttot,all_regi) "CO2eq tax regi tracked over iterations [T$/GtC]" +p46_factorRescaleCO2TaxLtd_iter(iteration,all_regi) "Track the changes of p46_factorRescaleCO2TaxLimited over the iterations [1]" +p46_emi_actual_iter(iteration,ttot,all_regi) "Track the changes of p46_emi_actual over the iterations [MtCO2eq/yr]" +p46_offset(all_regi) "allowed emissions in netZero year [MtCO2eq/yr]" ; -Scalar p46_zeroYear "between the netZero goal and this scalar, pm_taxCO2eqRegi linearly drops to zero" -Scalar p46_startInIteration "first iteration to start adapting pm_taxCO2eqRegi" / 10 /; +Scalar p46_zeroYear "between the netZero goal and this scalar, pm_taxCO2eqRegi linearly drops to zero [year]" +Scalar p46_startInIteration "first iteration to start adapting pm_taxCO2eqRegi [1]" / 10 /; *** EOF ./modules/46_carbonpriceRegi/netZero/declarations.gms From c21e15332fc13a7a695fe42606ff81b8dadb5552 Mon Sep 17 00:00:00 2001 From: orichters Date: Fri, 13 Sep 2024 10:48:10 +0200 Subject: [PATCH 545/875] units in 45_carbonprice/NDC, exogenous, expoLinear --- modules/45_carbonprice/NDC/declarations.gms | 24 +++++++++---------- .../45_carbonprice/exogenous/declarations.gms | 2 +- .../expoLinear/declarations.gms | 4 ++-- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/modules/45_carbonprice/NDC/declarations.gms b/modules/45_carbonprice/NDC/declarations.gms index bace597ad..047578e39 100644 --- a/modules/45_carbonprice/NDC/declarations.gms +++ b/modules/45_carbonprice/NDC/declarations.gms @@ -7,20 +7,20 @@ *** SOF ./modules/45_carbonprice/NDC/declarations.gms Parameter -p45_CO2eqwoLU_actual(ttot,all_regi) "actual level of regional GHG emissions after previous iteration" -p45_CO2eqwoLU_goal(ttot,all_regi) "regional NDC target level of GHG emissions" -p45_factorRescaleCO2Tax(ttot,all_regi) "multiplicative factor to rescale CO2 taxes to achieve the climate targets" -p45_factorRescaleCO2TaxLtd(ttot,all_regi) "multiplicative factor to rescale CO2 taxes to achieve the climate targets limited to not-so-fast adaption" -p45_factorRescaleCO2Tax_iter(iteration,ttot,all_regi) "Track the changes of p45_factorRescaleCO2Tax over the iterations" -p45_factorRescaleCO2TaxLtd_iter(iteration,ttot,all_regi) "Track the changes of p45_factorRescaleCO2TaxLimited over the iterations" -p45_taxCO2eqFirstNDCyear(all_regi) "CO2eq tax in p45_firstNDCyear" -p45_taxCO2eqLastNDCyear(all_regi) "CO2eq tax in p45_lastNDCyear" -p45_CO2eqwoLU_actual_iter(iteration,ttot,all_regi) "actual level of regional GHG emissions p45_CO2eqwoLU_actual tracked over iterations" -p45_taxCO2eq_iter(iteration,ttot,all_regi) "CO2eq tax non-regi tracked over iterations" -p45_taxCO2eq_bau(ttot,all_regi) "level of CO2 taxes in business as usual run" +p45_CO2eqwoLU_actual(ttot,all_regi) "actual level of regional GHG emissions after previous iteration [MtCO2eq/yr]" +p45_CO2eqwoLU_goal(ttot,all_regi) "regional NDC target level of GHG emissions [MtCO2eq/yr]" +p45_CO2eqwoLU_actual_iter(iteration,ttot,all_regi) "actual level of regional GHG emissions p45_CO2eqwoLU_actual tracked over iterations [MtCO2eq/yr]" +p45_factorRescaleCO2Tax(ttot,all_regi) "multiplicative factor to rescale CO2 taxes to achieve the climate targets [1]" +p45_factorRescaleCO2TaxLtd(ttot,all_regi) "multiplicative factor to rescale CO2 taxes to achieve the climate targets limited to not-so-fast adaption [1]" +p45_factorRescaleCO2Tax_iter(iteration,ttot,all_regi) "Track the changes of p45_factorRescaleCO2Tax over the iterations [1]" +p45_factorRescaleCO2TaxLtd_iter(iteration,ttot,all_regi) "Track the changes of p45_factorRescaleCO2TaxLimited over the iterations [1]" +p45_taxCO2eqFirstNDCyear(all_regi) "CO2eq tax in p45_firstNDCyear [T$/GtC]" +p45_taxCO2eqLastNDCyear(all_regi) "CO2eq tax in p45_lastNDCyear [T$/GtC]" +p45_taxCO2eq_iter(iteration,ttot,all_regi) "CO2eq tax non-regi tracked over iterations [T$/GtC]" +p45_taxCO2eq_bau(ttot,all_regi) "level of CO2 taxes in business as usual run [T$/GtC]" ; -Scalar p45_adjustExponent "exponent in tax adjustment process"; +Scalar p45_adjustExponent "exponent in tax adjustment process [1]"; *** EOF ./modules/45_carbonprice/NDC/declarations.gms diff --git a/modules/45_carbonprice/exogenous/declarations.gms b/modules/45_carbonprice/exogenous/declarations.gms index f5a90e6f4..216448fbf 100644 --- a/modules/45_carbonprice/exogenous/declarations.gms +++ b/modules/45_carbonprice/exogenous/declarations.gms @@ -6,7 +6,7 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/45_carbonprice/exogenous/declarations.gms parameters - p45_tau_co2_tax(ttot,all_regi) "Exogenous CO2 tax level" + p45_tau_co2_tax(ttot,all_regi) "Exogenous CO2 tax level [T$/GtC]" ; *** EOF ./modules/45_carbonprice/exogenous/declarations.gms diff --git a/modules/45_carbonprice/expoLinear/declarations.gms b/modules/45_carbonprice/expoLinear/declarations.gms index 4e3552dd1..6f149acf7 100644 --- a/modules/45_carbonprice/expoLinear/declarations.gms +++ b/modules/45_carbonprice/expoLinear/declarations.gms @@ -7,10 +7,10 @@ *** SOF ./modules/45_carbonprice/expoLinear/declarations.gms scalar -s45_co2_tax_startyear "level of CO2 tax in start year in T$/GtC" +s45_co2_tax_startyear "level of CO2 tax in start year [T$/GtC]" ; parameter -p45_tau_co2_tax_inc(all_regi) "Linear annual increase in carbon price T$/GtC/yr" +p45_tau_co2_tax_inc(all_regi) "Linear annual increase in carbon price [T$/GtC/yr]" ; *** EOF ./modules/45_carbonprice/expoLinear/declarations.gms From 489f0ba2068ac6b290f5552a6f1fe241f4d9eb7b Mon Sep 17 00:00:00 2001 From: orichters Date: Fri, 13 Sep 2024 18:50:10 +0200 Subject: [PATCH 546/875] some more units, typos --- .zenodo.json | 5 --- core/declarations.gms | 6 ++-- modules/30_biomass/magpie_40/declarations.gms | 2 +- modules/39_CCU/off/declarations.gms | 2 +- modules/39_CCU/on/declarations.gms | 8 ++--- modules/45_carbonprice/NDC/datainput.gms | 34 +++++++++---------- modules/46_carbonpriceRegi/NDC/datainput.gms | 32 ++++++++--------- .../regiCarbonPrice/declarations.gms | 2 +- modules/50_damages/BurkeLike/declarations.gms | 4 +-- modules/50_damages/KWLike/declarations.gms | 8 ++--- modules/50_damages/KWTCint/declarations.gms | 8 ++--- modules/50_damages/KW_SE/declarations.gms | 8 ++--- .../80_optimization/negishi/declarations.gms | 2 +- 13 files changed, 58 insertions(+), 63 deletions(-) diff --git a/.zenodo.json b/.zenodo.json index 65de7942f..10f45cbb5 100644 --- a/.zenodo.json +++ b/.zenodo.json @@ -66,11 +66,6 @@ "affiliation": "Potsdam Institute for Climate Impact Research", "orcid": "0000-0002-3240-2608" }, - { - "name": "Duerrwaechter, Jakob", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0001-8961-5340" - }, { "name": "Fuchs, Sophie", "affiliation": "Potsdam Institute for Climate Impact Research", diff --git a/core/declarations.gms b/core/declarations.gms index 5eebbc564..fc25022f1 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -83,9 +83,9 @@ pm_macCost(tall,all_regi,all_enty) "abatement costs for all em pm_macStep(tall,all_regi,all_enty) "step number of abatement level [integer]" pm_macSwitch(all_enty) "switch to include mac option in the code" pm_macCostSwitch(all_enty) "switch to include mac costs in the code (e.g. in coupled scenarios, we want to include the costs in REMIND, but MAC effects on emissions are calculated in MAgPIE)" -p_priceCO2(tall,all_regi) "carbon price [$/tC]" -pm_priceCO2forMAC(tall,all_regi,all_enty) "carbon price defined for MAC gases [$/tC]" -p_priceGas(tall,all_regi) "gas price in [$/tCeq] for ch4gas MAC" +p_priceCO2(tall,all_regi) "carbon price [$/tC]" +pm_priceCO2forMAC(tall,all_regi,all_enty) "carbon price defined for MAC gases [$/tC]" +p_priceGas(tall,all_regi) "gas price for ch4gas MAC [$/tCeq]" pm_ResidualCementDemand(tall,all_regi) "reduction in cemend demand (and thus process emissions) due to climate policy [0...1]" pm_CementAbatementPrice(ttot,all_regi) "CO2 price used during calculation of cement demand reduction [$/tCO2]" pm_CementDemandReductionCost(tall,all_regi) "cost of reducing cement demand [tn$2005]" diff --git a/modules/30_biomass/magpie_40/declarations.gms b/modules/30_biomass/magpie_40/declarations.gms index f5626d471..a4ea74d10 100644 --- a/modules/30_biomass/magpie_40/declarations.gms +++ b/modules/30_biomass/magpie_40/declarations.gms @@ -55,7 +55,7 @@ Positive variable v30_priceshift(ttot,all_regi) "Regional translation factor that shifts emulator prices to better fit actual MAgPIE prices [-]" v30_pricemult(ttot,all_regi) "Regional multiplication factor that scales emulator prices to better fit actual MAgPIE prices [-]" v30_multcost(ttot,all_regi) "Cost markup factor for deviations from demand of last coupling iteration [-]" -v30_BioPEProdTotal(ttot,all_regi) "total domestic PE biomass production [unit: TWyr]" +v30_BioPEProdTotal(ttot,all_regi) "total domestic PE biomass production [TWyr]" ***v30_pedem_BAU(tall,all_regi,all_enty,all_enty,all_te) "Primary energy demand imported from refernce gdx [TWa]" ***v30_seprod_BAU(tall,all_regi,all_enty,all_enty,all_te) "Secondary energy production imported from reference gdx [TWa]" diff --git a/modules/39_CCU/off/declarations.gms b/modules/39_CCU/off/declarations.gms index b606ec5c9..210be4784 100644 --- a/modules/39_CCU/off/declarations.gms +++ b/modules/39_CCU/off/declarations.gms @@ -13,7 +13,7 @@ *-----------------------------------------------ESM module------------------------ positive variables -vm_co2CCUshort(ttot,all_regi,all_enty,all_enty,all_te,rlf) "CO2 captured in CCU te that have a persistence for co2 storage shorter than 5 years. Unit GtC/a" +vm_co2CCUshort(ttot,all_regi,all_enty,all_enty,all_te,rlf) "CO2 captured in CCU te that have a persistence for co2 storage shorter than 5 years [GtC/a]" ; *** EOF ./modules/39_CCU/off/declarations.gms diff --git a/modules/39_CCU/on/declarations.gms b/modules/39_CCU/on/declarations.gms index 46a6e8bf6..743489c12 100644 --- a/modules/39_CCU/on/declarations.gms +++ b/modules/39_CCU/on/declarations.gms @@ -7,13 +7,13 @@ *** SOF ./modules/39_CCU/on/declarations.gms parameters -p39_co2_dem(ttot,all_regi,all_enty,all_enty,all_te) "CO2 demand of CCU technologies, unit: tC/TWa(output)" +p39_co2_dem(ttot,all_regi,all_enty,all_enty,all_te) "CO2 demand of CCU technologies [tC/TWa (output)]" ; positive variables -vm_co2CCUshort(ttot,all_regi,all_enty,all_enty,all_te,rlf) "CO2 captured in CCU te that have a persistence for co2 storage shorter than 5 years. Unit GtC/a" -v39_shSynLiq(ttot,all_regi) "Share of synthetic liquids in all SE liquids. Value between 0 and 1." -v39_shSynGas(ttot,all_regi) "Share of synthetic gas in all SE gases. Value between 0 and 1." +vm_co2CCUshort(ttot,all_regi,all_enty,all_enty,all_te,rlf) "CO2 captured in CCU te that have a persistence for co2 storage shorter than 5 years [GtC/a]" +v39_shSynLiq(ttot,all_regi) "Share of synthetic liquids in all SE liquids [0..1]" +v39_shSynGas(ttot,all_regi) "Share of synthetic gas in all SE gases [0..1]" ; equations diff --git a/modules/45_carbonprice/NDC/datainput.gms b/modules/45_carbonprice/NDC/datainput.gms index eaaf27486..2f97731b1 100644 --- a/modules/45_carbonprice/NDC/datainput.gms +++ b/modules/45_carbonprice/NDC/datainput.gms @@ -16,7 +16,7 @@ Scalar p45_taxCO2eqGlobal2030 "startprice in 2030 of global CO2eq taxes towards p45_taxCO2eqGlobal2030 = 30 * sm_D2005_2_D2017 * sm_DptCO2_2_TDpGtC; Scalar p45_taxCO2eqYearlyIncrease "yearly multiplicative increase of co2 tax, write 3% as 1.03 [1]" /1.0125/; -Scalar p45_taxCO2eqConvergenceYear "year until which CO2eq taxes have converged globally" /2100/; +Scalar p45_taxCO2eqConvergenceYear "year until which CO2eq taxes have converged globally [year]" /2100/; *** set Years for CO2eq taxes to converge after 2030 if(cm_NDC_divergentScenario = 0, p45_taxCO2eqConvergenceYear = 2100; @@ -27,7 +27,7 @@ elseif cm_NDC_divergentScenario = 2, ); *** load NDC data -Table f45_factorTargetyear(tall,all_regi,NDC_version,all_GDPscen) "Table for all NDC versions with multiplier for target year emissions vs 2005 emissions, as weighted average for all countries with quantifyable emissions under NDC in particular region" +Table f45_factorTargetyear(tall,all_regi,NDC_version,all_GDPscen) "Table for all NDC versions with multiplier for target year emissions vs 2005 emissions, as weighted average for all countries with quantifyable emissions under NDC in particular region [1]" $offlisting $ondelim $include "./modules/45_carbonprice/NDC/input/fm_factorTargetyear.cs3r" @@ -35,12 +35,12 @@ $offdelim $onlisting ; -Parameter p45_factorTargetyear(ttot,all_regi) "Multiplier for target year emissions vs 2005 emissions, as weighted average for all countries with quantifyable emissions under NDC in particular region"; +Parameter p45_factorTargetyear(ttot,all_regi) "Multiplier for target year emissions vs 2005 emissions, as weighted average for all countries with quantifyable emissions under NDC in particular region [1]"; p45_factorTargetyear(t,all_regi) = f45_factorTargetyear(t,all_regi,"%cm_NDC_version%","%cm_GDPscen%"); display p45_factorTargetyear; -Table f45_2005shareTarget(tall,all_regi,NDC_version,all_GDPscen) "Table for all NDC versions with 2005 GHG emission share of countries with quantifyable emissions under NDC in particular region, time dimension specifies alternative future target years" +Table f45_2005shareTarget(tall,all_regi,NDC_version,all_GDPscen) "Table for all NDC versions with 2005 GHG emission share of countries with quantifyable emissions under NDC in particular region, time dimension specifies alternative future target years [0..1]" $offlisting $ondelim $include "./modules/45_carbonprice/NDC/input/fm_2005shareTarget.cs3r" @@ -48,12 +48,12 @@ $offdelim $onlisting ; -Parameter p45_2005shareTarget(ttot,all_regi) "2005 GHG emission share of countries with quantifyable emissions under NDC in particular region, time dimension specifies alternative future target years"; +Parameter p45_2005shareTarget(ttot,all_regi) "2005 GHG emission share of countries with quantifyable emissions under NDC in particular region, time dimension specifies alternative future target years [0..1]"; p45_2005shareTarget(t,all_regi) = f45_2005shareTarget(t,all_regi,"%cm_NDC_version%","%cm_GDPscen%"); display p45_2005shareTarget; -Table f45_histShare(tall,all_regi,NDC_version) "Table for all NDC versions with GHG emissions share of countries with quantifyable 2030 target, time dimension specifies historic record" +Table f45_histShare(tall,all_regi,NDC_version) "Table for all NDC versions with GHG emissions share of countries with quantifyable 2030 target, time dimension specifies historic record [0..1]" $offlisting $ondelim $include "./modules/45_carbonprice/NDC/input/fm_histShare.cs3r" @@ -61,12 +61,12 @@ $offdelim $onlisting ; -Parameter p45_histShare(tall,all_regi) "GHG emissions share of countries with quantifyable 2030 target, time dimension specifies historic record"; +Parameter p45_histShare(tall,all_regi) "GHG emissions share of countries with quantifyable 2030 target, time dimension specifies historic record [0..1]"; p45_histShare(tall,all_regi) = f45_histShare(tall,all_regi,"%cm_NDC_version%"); display p45_histShare; -Parameter p45_BAU_reg_emi_wo_LU_bunkers(ttot,all_regi) "regional GHG emissions (without LU and bunkers) in BAU scenario" +Parameter p45_BAU_reg_emi_wo_LU_bunkers(ttot,all_regi) "regional GHG emissions (without LU and bunkers) in BAU scenario [MtCO2eq/yr]" / $ondelim $ifthen exist "./modules/45_carbonprice/NDC/input/pm_BAU_reg_emi_wo_LU_bunkers.cs4r" @@ -76,16 +76,16 @@ $offdelim / ; *** parameters for selecting NDC years -Scalar p45_ignoreNDCbefore "NDC targets before this years are ignored, for example to exclude 2030 targets" /2024/; +Scalar p45_ignoreNDCbefore "NDC targets before this years are ignored, for example to exclude 2030 targets [year]" /2024/; p45_ignoreNDCbefore = max(p45_ignoreNDCbefore, cm_startyear) -Scalar p45_ignoreNDCafter "NDC targets after this years are ignored, for example to exclude 2050 net zero targets" /2030/; -Scalar p45_minRatioOfCoverageToMax "only targets whose coverage is this times p45_bestNDCcoverage are considered. Use 1 for only best." /1.0/; -Scalar p45_useSingleYearCloseTo "if 0: use all. If > 0: use only one single NDC target per country closest to this year (use 2030.4 to prefer 2030 over 2035 over 2025)" /2030.4/; +Scalar p45_ignoreNDCafter "NDC targets after this years are ignored, for example to exclude 2050 net zero targets [year]" /2030/; +Scalar p45_minRatioOfCoverageToMax "only targets whose coverage is this times p45_bestNDCcoverage are considered. Use 1 for only best [0..1]" /1.0/; +Scalar p45_useSingleYearCloseTo "if 0: use all. If > 0: use only one single NDC target per country closest to this year (use 2030.4 to prefer 2030 over 2035 over 2025) [year]" /2030.4/; Set p45_NDCyearSet(ttot,all_regi) "YES for years whose NDC targets is used"; -Parameter p45_bestNDCcoverage(all_regi) "highest coverage of NDC targets within region"; -Parameter p45_distanceToOptyear(ttot,all_regi) "distance to p45_useSingleYearCloseTo to favor years in case of multiple equally good targets"; -Parameter p45_minDistanceToOptyear(all_regi) "minimal distance to p45_useSingleYearCloseTo per region"; +Parameter p45_bestNDCcoverage(all_regi) "highest coverage of NDC targets within region [0..1]"; +Parameter p45_distanceToOptyear(ttot,all_regi) "distance to p45_useSingleYearCloseTo to favor years in case of multiple equally good targets [year]"; +Parameter p45_minDistanceToOptyear(all_regi) "minimal distance to p45_useSingleYearCloseTo per region [year]"; p45_bestNDCcoverage(regi) = smax(t$(t.val <= p45_ignoreNDCafter AND t.val >= p45_ignoreNDCbefore), p45_2005shareTarget(t,regi)); display p45_bestNDCcoverage; @@ -99,9 +99,9 @@ if(p45_useSingleYearCloseTo > 0, ); *** first and last NDC year as a number -Parameter p45_firstNDCyear(all_regi) "last year with NDC coverage within region"; +Parameter p45_firstNDCyear(all_regi) "last year with NDC coverage within region [year]"; p45_firstNDCyear(regi) = smin( p45_NDCyearSet(t, regi), t.val ); -Parameter p45_lastNDCyear(all_regi) "last year with NDC coverage within region"; +Parameter p45_lastNDCyear(all_regi) "last year with NDC coverage within region [year]"; p45_lastNDCyear(regi) = smax( p45_NDCyearSet(t, regi), t.val ); display p45_NDCyearSet,p45_firstNDCyear,p45_lastNDCyear; diff --git a/modules/46_carbonpriceRegi/NDC/datainput.gms b/modules/46_carbonpriceRegi/NDC/datainput.gms index 23c82526b..009e81200 100644 --- a/modules/46_carbonpriceRegi/NDC/datainput.gms +++ b/modules/46_carbonpriceRegi/NDC/datainput.gms @@ -13,7 +13,7 @@ p46_taxCO2eqGlobal2030 = 0 * sm_DptCO2_2_TDpGtC; Scalar p46_taxCO2eqYearlyIncrease "yearly multiplicative increase of co2 tax, write 3% as 1.03" /1/; *** load NDC data -Table f46_factorTargetyear(tall,all_regi,NDC_version,all_GDPscen) "Table for all NDC versions with multiplier for target year emissions vs 2005 emissions, as weighted average for all countries with quantifyable emissions under NDC in particular region" +Table f46_factorTargetyear(tall,all_regi,NDC_version,all_GDPscen) "Table for all NDC versions with multiplier for target year emissions vs 2005 emissions, as weighted average for all countries with quantifyable emissions under NDC in particular region [1]" $offlisting $ondelim $include "./modules/46_carbonpriceRegi/NDC/input/fm_factorTargetyear.cs3r" @@ -21,12 +21,12 @@ $offdelim $onlisting ; -Parameter p46_factorTargetyear(ttot,all_regi) "Multiplier for target year emissions vs 2005 emissions, as weighted average for all countries with quantifyable emissions under NDC in particular region"; +Parameter p46_factorTargetyear(ttot,all_regi) "Multiplier for target year emissions vs 2005 emissions, as weighted average for all countries with quantifyable emissions under NDC in particular region [1]"; p46_factorTargetyear(t,all_regi) = f46_factorTargetyear(t,all_regi,"%cm_NDC_version%","%cm_GDPscen%"); display p46_factorTargetyear; -Table f46_2005shareTarget(tall,all_regi,NDC_version,all_GDPscen) "Table for all NDC versions with 2005 GHG emission share of countries with quantifyable emissions under NDC in particular region, time dimension specifies alternative future target years" +Table f46_2005shareTarget(tall,all_regi,NDC_version,all_GDPscen) "Table for all NDC versions with 2005 GHG emission share of countries with quantifyable emissions under NDC in particular region, time dimension specifies alternative future target years [1]" $offlisting $ondelim $include "./modules/46_carbonpriceRegi/NDC/input/fm_2005shareTarget.cs3r" @@ -34,12 +34,12 @@ $offdelim $onlisting ; -Parameter p46_2005shareTarget(ttot,all_regi) "2005 GHG emission share of countries with quantifyable emissions under NDC in particular region, time dimension specifies alternative future target years"; +Parameter p46_2005shareTarget(ttot,all_regi) "2005 GHG emission share of countries with quantifyable emissions under NDC in particular region, time dimension specifies alternative future target years [1]"; p46_2005shareTarget(t,all_regi) = f46_2005shareTarget(t,all_regi,"%cm_NDC_version%","%cm_GDPscen%"); display p46_2005shareTarget; -Table f46_histShare(tall,all_regi,NDC_version) "Table for all NDC versions with GHG emissions share of countries with quantifyable 2030 target, time dimension specifies historic record" +Table f46_histShare(tall,all_regi,NDC_version) "Table for all NDC versions with GHG emissions share of countries with quantifyable 2030 target, time dimension specifies historic record [0..1]" $offlisting $ondelim $include "./modules/46_carbonpriceRegi/NDC/input/fm_histShare.cs3r" @@ -47,12 +47,12 @@ $offdelim $onlisting ; -Parameter p46_histShare(tall,all_regi) "GHG emissions share of countries with quantifyable 2030 target, time dimension specifies historic record"; +Parameter p46_histShare(tall,all_regi) "GHG emissions share of countries with quantifyable 2030 target, time dimension specifies historic record [0..1]"; p46_histShare(tall,all_regi) = f46_histShare(tall,all_regi,"%cm_NDC_version%"); display p46_histShare; -Parameter p46_BAU_reg_emi_wo_LU_bunkers(ttot,all_regi) "regional GHG emissions (without LU and bunkers) in BAU scenario" +Parameter p46_BAU_reg_emi_wo_LU_bunkers(ttot,all_regi) "regional GHG emissions (without LU and bunkers) in BAU scenario [MtCO2eq/yr]" / $ondelim $ifthen exist "./modules/46_carbonpriceRegi/NDC/input/pm_BAU_reg_emi_wo_LU_bunkers.cs4r" @@ -99,16 +99,16 @@ $endif.p46_netZero *** parameters for selecting NDC years -Scalar p46_ignoreNDCbefore "NDC targets before this years are ignored, for example to exclude 2030 targets" /2028/; +Scalar p46_ignoreNDCbefore "NDC targets before this years are ignored, for example to exclude 2030 targets [year]" /2028/; p46_ignoreNDCbefore = max(p46_ignoreNDCbefore, cm_startyear) -Scalar p46_ignoreNDCafter "NDC targets after this years are ignored, for example to exclude 2050 net zero targets" /2100/; -Scalar p46_minRatioOfCoverageToMax "only targets whose coverage is this times p46_bestNDCcoverage are considered. Use 1 for only best." /0.7/; -Scalar p46_useSingleYearCloseTo "if 0: use all. If > 0: use only one single NDC target per country closest to this year (use 2030.4 to prefer 2030 over 2035 over 2025)" /0/; +Scalar p46_ignoreNDCafter "NDC targets after this years are ignored, for example to exclude 2050 net zero targets [year]" /2100/; +Scalar p46_minRatioOfCoverageToMax "only targets whose coverage is this times p46_bestNDCcoverage are considered. Use 1 for only best. [0..1]" /0.7/; +Scalar p46_useSingleYearCloseTo "if 0: use all. If > 0: use only one single NDC target per country closest to this year (use 2030.4 to prefer 2030 over 2035 over 2025) [year]" /0/; Set p46_NDCyearSet(ttot,all_regi) "YES for years whose NDC targets is used"; -Parameter p46_bestNDCcoverage(all_regi) "highest coverage of NDC targets within region"; -Parameter p46_distanceToOptyear(ttot,all_regi) "distance to p46_useSingleYearCloseTo to favor years in case of multiple equally good targets"; -Parameter p46_minDistanceToOptyear(all_regi) "minimal distance to p46_useSingleYearCloseTo per region"; +Parameter p46_bestNDCcoverage(all_regi) "highest coverage of NDC targets within region [0..1]"; +Parameter p46_distanceToOptyear(ttot,all_regi) "distance to p46_useSingleYearCloseTo to favor years in case of multiple equally good targets [year]"; +Parameter p46_minDistanceToOptyear(all_regi) "minimal distance to p46_useSingleYearCloseTo per region [year]"; p46_bestNDCcoverage(regi) = smax(t$(t.val <= p46_ignoreNDCafter AND t.val >= p46_ignoreNDCbefore), p46_2005shareTarget(t,regi)); display p46_bestNDCcoverage; @@ -122,9 +122,9 @@ if(p46_useSingleYearCloseTo > 0, ); *** first and last NDC year as a number -Parameter p46_firstNDCyear(all_regi) "last year with NDC coverage within region"; +Parameter p46_firstNDCyear(all_regi) "last year with NDC coverage within region [year]"; p46_firstNDCyear(regi) = smin( p46_NDCyearSet(t, regi), t.val ); -Parameter p46_lastNDCyear(all_regi) "last year with NDC coverage within region"; +Parameter p46_lastNDCyear(all_regi) "last year with NDC coverage within region [year]"; p46_lastNDCyear(regi) = smax( p46_NDCyearSet(t, regi), t.val ); display p46_NDCyearSet,p46_firstNDCyear,p46_lastNDCyear; diff --git a/modules/47_regipol/regiCarbonPrice/declarations.gms b/modules/47_regipol/regiCarbonPrice/declarations.gms index 133e131d8..730c19f73 100644 --- a/modules/47_regipol/regiCarbonPrice/declarations.gms +++ b/modules/47_regipol/regiCarbonPrice/declarations.gms @@ -62,7 +62,7 @@ $endif.emiMktTargetType pm_factorRescaleemiMktCO2Tax(ttot,ttot2,ext_regi,emiMktExt) "multiplicative tax rescale factor that rescales emiMkt carbon price from iteration to iteration to reach regipol targets [%]" p47_factorRescaleemiMktCO2Tax_iter(iteration,ttot,ttot2,ext_regi,emiMktExt) "parameter to save rescale factor across iterations for debugging purposes [%]" p47_clampedRescaleSlope_iter(iteration,ttot,ttot2,ext_regi,emiMktExt) "auxiliary parameter to save the slope value before clamping. Useful for debugging purposes [#]" - p47_dampedFactorRescaleemiMktCO2Tax_iter(iteration,ttot,ttot2,ext_regi,emiMktExt) "auxiliary parameter to save the rescale factor value before dampening. Useful for debugging purposes [#]" + p47_dampedFactorRescaleemiMktCO2Tax_iter(iteration,ttot,ttot2,ext_regi,emiMktExt) "auxiliary parameter to save the rescale factor value before dampening. Useful for debugging purposes [#]" *** Parameters necessary to define the CO2 tax curve shape p47_targetConverged(ttot,ext_regi) "boolean to store if emission target has converged [0 or 1]" diff --git a/modules/50_damages/BurkeLike/declarations.gms b/modules/50_damages/BurkeLike/declarations.gms index 2bfd91c3d..a58dd53cc 100644 --- a/modules/50_damages/BurkeLike/declarations.gms +++ b/modules/50_damages/BurkeLike/declarations.gms @@ -9,8 +9,8 @@ parameters pm_damage(tall,all_regi) "damage factor (reduces GDP)" pm_damageGrowthRate(tall,all_regi) "damage function for growth rate of GDP" pm_damageMarginal(tall,all_regi) "damage function derivative" -p50_damageFuncCoef1 "coef1 of damamge function", -p50_damageFuncCoef2 "coef2 of damamge function" +p50_damageFuncCoef1 "coef1 of damage function", +p50_damageFuncCoef2 "coef2 of damage function" ; positive variable diff --git a/modules/50_damages/KWLike/declarations.gms b/modules/50_damages/KWLike/declarations.gms index c917c5c15..956fcfdfc 100644 --- a/modules/50_damages/KWLike/declarations.gms +++ b/modules/50_damages/KWLike/declarations.gms @@ -12,10 +12,10 @@ pm_damageGrowthRate(tall,all_regi) "damage function for growth pm_damageMarginalT(tall,all_regi) "damage function derivative for KW" pm_damageMarginalTm1(tall,all_regi) "damage function derivative for KW" pm_damageMarginalTm2(tall,all_regi) "damage function derivative for KW" -p50_damageFuncCoefa1 "coef1 of damamge function", -p50_damageFuncCoefa2 "coef2 of damamge function" -p50_damageFuncCoefb1 "coef1 of damamge function", -p50_damageFuncCoefb2 "coef2 of damamge function" +p50_damageFuncCoefa1 "coef1 of damage function", +p50_damageFuncCoefa2 "coef2 of damage function" +p50_damageFuncCoefb1 "coef1 of damage function", +p50_damageFuncCoefb2 "coef2 of damage function" ; positive variable diff --git a/modules/50_damages/KWTCint/declarations.gms b/modules/50_damages/KWTCint/declarations.gms index ee2d2cd91..0b606f00c 100755 --- a/modules/50_damages/KWTCint/declarations.gms +++ b/modules/50_damages/KWTCint/declarations.gms @@ -12,10 +12,10 @@ pm_damageGrowthRate(tall,all_regi) "damage function for growth pm_damageMarginalT(tall,all_regi) "damage function derivative for KW" pm_damageMarginalTm1(tall,all_regi) "damage function derivative for KW" pm_damageMarginalTm2(tall,all_regi) "damage function derivative for KW" -p50_damageFuncCoefa1 "coef1 of damamge function", -p50_damageFuncCoefa2 "coef2 of damamge function" -p50_damageFuncCoefb1 "coef1 of damamge function", -p50_damageFuncCoefb2 "coef2 of damamge function" +p50_damageFuncCoefa1 "coef1 of damage function", +p50_damageFuncCoefa2 "coef2 of damage function" +p50_damageFuncCoefb1 "coef1 of damage function", +p50_damageFuncCoefb2 "coef2 of damage function" p50_damageFuncCoefTC0(iso) "coef0 for tropical cyclone damage function" p50_damageFuncCoefTC1(iso) "coef1 for tropical cyclone damage function" pm_damageProd(tall,all_regi) "damage from aggregate damage function" diff --git a/modules/50_damages/KW_SE/declarations.gms b/modules/50_damages/KW_SE/declarations.gms index ad04b70d7..92183ff68 100755 --- a/modules/50_damages/KW_SE/declarations.gms +++ b/modules/50_damages/KW_SE/declarations.gms @@ -16,10 +16,10 @@ pm_damageGrowthRate(tall,all_regi) "damage function for growth pm_damageMarginalT(tall,all_regi) "damage function derivative for KW" pm_damageMarginalTm1(tall,all_regi) "damage function derivative for KW" pm_damageMarginalTm2(tall,all_regi) "damage function derivative for KW" -p50_damageFuncCoefa1 "coef1 of damamge function", -p50_damageFuncCoefa2 "coef2 of damamge function" -p50_damageFuncCoefb1 "coef1 of damamge function", -p50_damageFuncCoefb2 "coef2 of damamge function" +p50_damageFuncCoefa1 "coef1 of damage function", +p50_damageFuncCoefa2 "coef2 of damage function" +p50_damageFuncCoefb1 "coef1 of damage function", +p50_damageFuncCoefb2 "coef2 of damage function" p50_se(tall,all_regi) "standard error for damages" p50_var_a1 "variance of coef1" p50_var_a2 "variance of coef2" diff --git a/modules/80_optimization/negishi/declarations.gms b/modules/80_optimization/negishi/declarations.gms index 28b510b9e..fa2171061 100644 --- a/modules/80_optimization/negishi/declarations.gms +++ b/modules/80_optimization/negishi/declarations.gms @@ -25,7 +25,7 @@ pm_fuExtrForeign(ttot,all_regi,all_enty,rlf) "foreign fuel extraction" positive variable *AJS* Adjustment costs for Nash trade algorithm. Only non-zero in the Nash_test realization of 80_optimization module. -vm_costAdjNash(ttot,all_regi) "Adjustment costs for deviation from the trade structure of the last iteration." +vm_costAdjNash(ttot,all_regi) "Adjustment costs for deviation from the trade structure of the last iteration." ; equations From e175a8704f53bcee80e3121bcdc6d5bf332634b5 Mon Sep 17 00:00:00 2001 From: orichters Date: Tue, 24 Sep 2024 16:37:14 +0200 Subject: [PATCH 547/875] adjust cff-version --- CITATION.cff | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CITATION.cff b/CITATION.cff index 0156c2201..bd73d7ffe 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -1,4 +1,4 @@ -cff-version: 1.0.3 +cff-version: 1.2.0 message: If you use this model, please cite it as below. type: software authors: From 6f6f0cc4b062415acea0ba3a0bc01c686b6e4623 Mon Sep 17 00:00:00 2001 From: orichters Date: Tue, 24 Sep 2024 18:48:41 +0200 Subject: [PATCH 548/875] move gamscompile test after quick to make sure outdated input data was updated --- .zenodo.json | 265 ------------------ ...-compile.R => test_04-test-gams-compile.R} | 0 2 files changed, 265 deletions(-) delete mode 100644 .zenodo.json rename tests/testthat/{test_01-test-gams-compile.R => test_04-test-gams-compile.R} (100%) diff --git a/.zenodo.json b/.zenodo.json deleted file mode 100644 index 10f45cbb5..000000000 --- a/.zenodo.json +++ /dev/null @@ -1,265 +0,0 @@ -{ - "title": "REMIND - REgional Model of INvestments and Development", - "version": "3.3.2", - "creators": [ - { - "name": "Luderer, Gunnar", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-9057-6155" - }, - { - "name": "Bauer, Nico", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-0211-4162" - }, - { - "name": "Baumstark, Lavinia", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-6979-6671" - }, - { - "name": "Bertram, Christoph", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-0933-4395" - }, - { - "name": "Leimbach, Marian", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Pietzcker, Robert", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-9403-6711" - }, - { - "name": "Strefler, Jessica", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-5279-4629" - }, - { - "name": "Aboumahboub, Tino" - }, - { - "name": "Abrahão, Gabriel", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0003-0336-6246" - }, - { - "name": "Auer, Cornelia", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Benke, Falk", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Bi, Stephen", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Dietrich, Jan Philipp", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-4309-6431" - }, - { - "name": "Dirnaichner, Alois", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-3240-2608" - }, - { - "name": "Fuchs, Sophie", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0009-0000-7258-1287" - }, - { - "name": "Führlich, Pascal", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-6856-8239" - }, - { - "name": "Giannousakis, Anastasis", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-4225-0011" - }, - { - "name": "Gong, Chen Chris", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-6406-6266" - }, - { - "name": "Haller, Markus" - }, - { - "name": "Hasse, Robin", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0003-1818-3186" - }, - { - "name": "Hilaire, Jerome", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-9879-6339" - }, - { - "name": "Hoppe, Johanna", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Klein, David", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0009-0001-7917-8041" - }, - { - "name": "Koch, Johannes", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0003-2920-8086" - }, - { - "name": "Köhler-Schindler, Laurin", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0003-4268-3084" - }, - { - "name": "Körner, Alexander" - }, - { - "name": "Kowalczyk, Katarzyna", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Kriegler, Elmar", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Levesque, Antoine", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Lorenz, Alexander" - }, - { - "name": "Ludig, Sylvie" - }, - { - "name": "Lüken, Michael" - }, - { - "name": "Malik, Aman", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-7310-8448" - }, - { - "name": "Mandaroux, Rahel", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0001-5596-2571" - }, - { - "name": "Manger, Susanne" - }, - { - "name": "Merfort, Anne", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-5929-7748" - }, - { - "name": "Merfort, Leon", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0003-1704-6892" - }, - { - "name": "Moreno-Leiva, Simón", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-9625-3955" - }, - { - "name": "Mouratiadou, Ioanna" - }, - { - "name": "Odenweller, Adrian", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-1123-8124" - }, - { - "name": "Pehl, Michaja", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0003-2349-6515" - }, - { - "name": "Pflüger, Mika", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-7814-8916" - }, - { - "name": "Piontek, Franziska", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Popin, Laura" - }, - { - "name": "Rauner, Sebastian", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Richters, Oliver", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0001-8253-4716" - }, - { - "name": "Rodrigues, Renato", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-5863-5514" - }, - { - "name": "Roming, Niklas" - }, - { - "name": "Rottoli, Marianna", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Rüter, Tonn", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Schmidt, Eva" - }, - { - "name": "Schötz, Christof", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0003-3528-4544" - }, - { - "name": "Schreyer, Felix", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0003-0376-2599" - }, - { - "name": "Schultes, Anselm", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Sörgel, Björn", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0002-2630-7081" - }, - { - "name": "Ueckerdt, Falko", - "affiliation": "Potsdam Institute for Climate Impact Research" - }, - { - "name": "Verpoort, Philipp", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0003-1319-5006" - }, - { - "name": "Weigmann, Pascal", - "affiliation": "Potsdam Institute for Climate Impact Research", - "orcid": "0000-0001-8801-173X" - } - ], - "keywords": ["energy", "economy", "modeling"], - "license": { - "id": "AGPL-3.0-or-later" - }, - "publication_date": "2024-07-04" -} diff --git a/tests/testthat/test_01-test-gams-compile.R b/tests/testthat/test_04-test-gams-compile.R similarity index 100% rename from tests/testthat/test_01-test-gams-compile.R rename to tests/testthat/test_04-test-gams-compile.R From df678dbe42524d823c678f7e9ffdb19de43cd7bb Mon Sep 17 00:00:00 2001 From: orichters Date: Thu, 26 Sep 2024 11:32:22 +0200 Subject: [PATCH 549/875] print rename messages in xlsxIIASA only if something is renamed --- scripts/output/export/xlsx_IIASA.R | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/scripts/output/export/xlsx_IIASA.R b/scripts/output/export/xlsx_IIASA.R index 772c4d17f..291f800a8 100644 --- a/scripts/output/export/xlsx_IIASA.R +++ b/scripts/output/export/xlsx_IIASA.R @@ -134,17 +134,19 @@ withCallingHandlers({ # piping messages to logFile for (mif in mif_path) { thismifdata <- read.quitte(mif, factors = FALSE) # remove -rem-xx and mag-xx from scenario names - thismifdata$scenario <- gsub("-(rem|mag)-[0-9]{1,2}", "", thismifdata$scenario) + thismifdata$scenario <- gsub("^C_|-(rem|mag)-[0-9]{1,2}$", "", thismifdata$scenario) mifdata <- rbind(mifdata, thismifdata) } - mifdata$scenario <- gsub("^C_", "", mifdata$scenario) - message("Old names: ", paste(sort(unique(mifdata$scenario)), collapse = ", ")) - for (i in names(renameScen)) { - message("Rename scenario: ", i, " -> ", renameScen[[i]]) - mifdata$scenario[i == mifdata$scenario] <- renameScen[[i]] + # rename scenarios + if (! is.null(renameScen)) { + message("Old names: ", paste(sort(unique(mifdata$scenario)), collapse = ", ")) + for (i in names(renameScen)) { + message("Rename scenario: ", i, " -> ", renameScen[[i]]) + mifdata$scenario[i == mifdata$scenario] <- renameScen[[i]] + } + message("New names: ", paste(sort(unique(mifdata$scenario)), collapse = ", ")) } - message("New names: ", paste(sort(unique(mifdata$scenario)), collapse = ", ")) message("# ", length(temporarydelete), " variables are in the list to be temporarily deleted, ", length(unique(mifdata$variable[mifdata$variable %in% temporarydelete])), " were deleted.") From b187a8e2a29bbcb4f6a73f966c7d02b6b177f3ff Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Fri, 27 Sep 2024 08:44:13 +0200 Subject: [PATCH 550/875] switch c_tech_CO2capturerate off by default --- main.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.gms b/main.gms index 368cebc0c..6b91f3833 100755 --- a/main.gms +++ b/main.gms @@ -1405,7 +1405,7 @@ $setGlobal cm_CCSmaxBound off !! def = off *** to 40%. The capture rate here is measured as carbon captured relative to the total carbon content of the input fuel (including carbon that is converted into the output fuel). *** Note: The change in capture rate via this switch follows directly after reading in the generisdata_emi.prn file. Hence, the subsequent corrections of the capture rate *** related to CO2 pipeline leakage still come on top of this. -$setGlobal c_tech_CO2capturerate "bioh2c 0.8" !! def = off +$setGlobal c_tech_CO2capturerate off !! def = off *** c_CES_calibration_new_structure <- 0 switch to 1 if you want to calibrate a CES structure different from input gdx $setglobal c_CES_calibration_new_structure 0 !! def = 0 !! regexp = 0|1 *** c_CES_calibration_write_prices <- 0 switch to 1 if you want to generate price file, you can use this as new p29_cesdata_price.cs4r price input file From 030009fc87d7bec32c356709a87ceba5e4d78bb8 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Fri, 27 Sep 2024 08:46:18 +0200 Subject: [PATCH 551/875] clean up initialCap debugging --- modules/05_initialCap/on/preloop.gms | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/05_initialCap/on/preloop.gms b/modules/05_initialCap/on/preloop.gms index 2e97a5184..ff782479a 100644 --- a/modules/05_initialCap/on/preloop.gms +++ b/modules/05_initialCap/on/preloop.gms @@ -557,6 +557,5 @@ loop(entySe$(sameas(entySe,"segafos") OR sameas(entySe,"seliqfos") OR sameas(ent ); display pm_emifac; -execute_unload 'after_emifacAdj_IniCap.gdx', pm_emifac, pm_eta_conv ; *** EOF ./modules/05_initialCap/on/preloop.gms From 3b6f6b136bd31432cf2706484ac8bf8fcf95b8a4 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Fri, 27 Sep 2024 07:38:14 +0000 Subject: [PATCH 552/875] Release development version 3.3.2.dev721 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index bd73d7ffe..cd24c7671 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev713" +version: "3.3.2.dev721" date-released: 2024-09-27 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index cbad0e895..feb540796 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev713" +cfg$model_version <- "3.3.2.dev721" #### settings #### cfg$gms <- list() From 739af24cf07174c810340db1578f6dff250795e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabrice=20L=C3=A9cuyer?= Date: Fri, 27 Sep 2024 11:15:05 +0200 Subject: [PATCH 553/875] document time sets After Renato's explanations in https://github.com/remindmodel/development_issues/issues/244 --- core/sets.gms | 77 ++++++++++++++++++++++++++++++--------------------- 1 file changed, 45 insertions(+), 32 deletions(-) diff --git a/core/sets.gms b/core/sets.gms index 9ef53b96c..aa59de8f7 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -1061,52 +1061,65 @@ Sets ***----------------------------------------------------------------------------- ***----------------------------------------------------------------------------- +*** There are several temporal dimensions in REMIND, see the set descriptions below. +*** Choice of set: +*** For declaration a parameter, variable, or equation, you can only use declared sets: tall (avoid) or ttot (preferable). +*** Elsewhere, prefer using t over ttot, and avoid using tall unless absolutely necessary. +*** Memory optimisation: +*** Only assign values to parameters and variables for years actively used by the model. +*** Define equations only for the relevant years to minimize memory usage and reduce the overhead from GAMS and solver pre-processing. +*** More information in https://github.com/remindmodel/development_issues/issues/244 + + SETS -tall "time index" - / + +tall "time index, each year from 1900 to 3000" +*** This set includes all potential years that could be considered in the model, spanning from 1900 to 3000 (e.g., 1900, 1901, 1902, ..., 2998, 2999, 3000). +*** Usage warning: +*** Avoid using tall directly in parameter, equation, or variable definitions unless there is a specific requirement to compute something that depends on historical years rather than the periods used in REMIND. +*** Using tall can lead to excessive memory allocation due to the large number of years it covers. When necessary, ensure that you only define values for a relevant subset of years. +*** It is preferable to aggregate any year-dependent data to the REMIND periods defined in ttot (see below) during data preparation, rather than loading tall-based data directly into the model. +/ 1900*3000 - / +/ -*AJS* Defining ttot as sum of t and tsu will give errors from compiler, so do -*** it manually instead: -ttot(tall) "time index with spin up" -/ - 1900, 1905, 1910, 1915, 1920, 1925, - 1930, 1935, 1940, 1945, 1950, 1955, - 1960, 1965, 1970, 1975, 1980, 1985, - 1990, 1995, - 2000, 2005, 2010, - 2015, - 2020, - 2025, - 2030, - 2035, - 2040, - 2045, - 2050, - 2055, - 2060, - 2070, - 2080, - 2090, - 2100, +ttot(tall) "time index with spin-up, years between 1900 and 2150 with 5 to 20 years time steps" +*** This set represents the periods that can be used in REMIND model equations. ttot is a subset of tall and contains only elements defined in tall. +*** It includes both historical (1990-2000) and modeled years (2005-2150). Time steps are: +*** 5-year intervals from 1990 to 2060, +*** 10-year intervals from 2060 to 2110, +*** 20-year intervals from 2110 to 2150. +/ + 1900, 1905, 1910, 1915, 1920, 1925, 1930, 1935, 1940, 1945, 1950, 1955, 1960, 1965, 1970, 1975, 1980, 1985, 1990, 1995, 2000, + 2005, 2010, 2015, 2020, 2025, 2030, 2035, 2040, 2045, 2050, 2055, + 2060, 2070, 2080, 2090, 2100, 2110, 2130, 2150 / -*cb the content of those subsets is defined 16 lines further down -t(ttot) "modeling time, usually starting in 2005, but later for fixed delay runs", + +t0(tall) "start of modelling time, not optimization" +/ + 2005 +/ + +t(ttot) "modeling time, years between cm_startyear and 2150 with 5 to 20 years time steps", +*** This set includes only the active modeled years, which are the years from ttot greater than or equal to the model run year defined in cm_startyear. +*** t is a subset of ttot and contains only elements defined in ttot. +*** It is a dynamic set: +*** Values are calculated dynamically in GAMS, see a few lines below. +*** t may not be used in certain operations like declarations or lag terms. + tsu(ttot) "spin up-time before 2005", +*** This set includes only the historical years of ttot: 1900, 1905, ..., 1995, 2000 -opTimeYr "actual life time of ??? in years" +opTimeYr "actual life time of ??? in years" / 1*100 / -opTime5(opTimeYr) "actual life time of ??? in years - 5 years time steps for the past to calculate vintages (???)" - +opTime5(opTimeYr) "actual life time of ??? in years - 5 years time steps for the past to calculate vintages (???)" / 1,6,11,16,21,26,31,36,41,46,51,56,61,66,71,76,81,86,91,96 / -t0(tall) "start of modelling time, not optimization" /2005/ ; From eeaddeaf6e4db886d6ba73c4381bebc6ec5a8c0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabrice=20L=C3=A9cuyer?= Date: Fri, 27 Sep 2024 11:19:57 +0200 Subject: [PATCH 554/875] Update sets.gms documentation --- core/sets.gms | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/sets.gms b/core/sets.gms index aa59de8f7..0553e2f76 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -1065,7 +1065,7 @@ Sets *** Choice of set: *** For declaration a parameter, variable, or equation, you can only use declared sets: tall (avoid) or ttot (preferable). *** Elsewhere, prefer using t over ttot, and avoid using tall unless absolutely necessary. -*** Memory optimisation: +*** Memory efficiency: *** Only assign values to parameters and variables for years actively used by the model. *** Define equations only for the relevant years to minimize memory usage and reduce the overhead from GAMS and solver pre-processing. *** More information in https://github.com/remindmodel/development_issues/issues/244 @@ -1102,7 +1102,7 @@ t0(tall) "start of modelling time, not optimization" 2005 / -t(ttot) "modeling time, years between cm_startyear and 2150 with 5 to 20 years time steps", +t(ttot) "optimisation time, years between cm_startyear and 2150 with 5 to 20 years time steps", *** This set includes only the active modeled years, which are the years from ttot greater than or equal to the model run year defined in cm_startyear. *** t is a subset of ttot and contains only elements defined in ttot. *** It is a dynamic set: From ab3b49a47c370f55e3696f2e9898ca884141a63f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabrice=20L=C3=A9cuyer?= Date: Fri, 27 Sep 2024 14:50:24 +0200 Subject: [PATCH 555/875] documentation update by Oliver Co-authored-by: orichters <90761609+orichters@users.noreply.github.com> --- core/sets.gms | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/core/sets.gms b/core/sets.gms index 0553e2f76..7e7f7fc62 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -1061,14 +1061,10 @@ Sets ***----------------------------------------------------------------------------- ***----------------------------------------------------------------------------- -*** There are several temporal dimensions in REMIND, see the set descriptions below. -*** Choice of set: -*** For declaration a parameter, variable, or equation, you can only use declared sets: tall (avoid) or ttot (preferable). -*** Elsewhere, prefer using t over ttot, and avoid using tall unless absolutely necessary. -*** Memory efficiency: -*** Only assign values to parameters and variables for years actively used by the model. -*** Define equations only for the relevant years to minimize memory usage and reduce the overhead from GAMS and solver pre-processing. -*** More information in https://github.com/remindmodel/development_issues/issues/244 +*** There are several temporal dimensions in REMIND, see the set descriptions below. Be careful to select the smallest set possible to improve memory efficiency and reduce the overhead from GAMS and solver pre-processing. +*** Rules for the choice of set: +*** For declaring a parameter, variable, or equation, you can only use declared sets: tall (avoid) or ttot (preferable). +*** For assigning values, it is preferred to use t, which is a subset of ttot starting at cm_startyear. This avoids overwriting values from path_gdx_ref for < cm_startyear. Use ttot together with $(ttot.val ge 2005) if you want to define parameters etc. over all model years. Avoid using tall unless absolutely necessary. SETS From 3c54f2927aa7d2f41bda218df4a250ae6553c062 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabrice=20L=C3=A9cuyer?= Date: Fri, 27 Sep 2024 14:50:32 +0200 Subject: [PATCH 556/875] documentation update by Oliver Co-authored-by: orichters <90761609+orichters@users.noreply.github.com> --- core/sets.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/sets.gms b/core/sets.gms index 7e7f7fc62..24ed8dde6 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -1081,7 +1081,7 @@ tall "time index, each year from 1900 to 3000" ttot(tall) "time index with spin-up, years between 1900 and 2150 with 5 to 20 years time steps" *** This set represents the periods that can be used in REMIND model equations. ttot is a subset of tall and contains only elements defined in tall. -*** It includes both historical (1990-2000) and modeled years (2005-2150). Time steps are: +*** It includes both historical (1900-2000) and modeled years (2005-2150). Time steps are: *** 5-year intervals from 1990 to 2060, *** 10-year intervals from 2060 to 2110, *** 20-year intervals from 2110 to 2150. From ba45c130fd81075e7a4803efc73dff9393ad11ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabrice=20L=C3=A9cuyer?= Date: Fri, 27 Sep 2024 14:52:03 +0200 Subject: [PATCH 557/875] documentation update by Jiarui --- core/sets.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/sets.gms b/core/sets.gms index 24ed8dde6..7178f4aff 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -1103,7 +1103,7 @@ t(ttot) "optimisation time, years between cm_startyear and 2150 with 5 to 20 *** t is a subset of ttot and contains only elements defined in ttot. *** It is a dynamic set: *** Values are calculated dynamically in GAMS, see a few lines below. -*** t may not be used in certain operations like declarations or lag terms. +*** t may not be used in certain operations like declarations or equations including lag terms. tsu(ttot) "spin up-time before 2005", *** This set includes only the historical years of ttot: 1900, 1905, ..., 1995, 2000 From b2d6138bf876f83fe5485d8469a2ae5fd3b69544 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabrice=20L=C3=A9cuyer?= Date: Fri, 27 Sep 2024 15:32:11 +0200 Subject: [PATCH 558/875] documentation --- core/sets.gms | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/core/sets.gms b/core/sets.gms index 7178f4aff..22f210087 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -1061,18 +1061,21 @@ Sets ***----------------------------------------------------------------------------- ***----------------------------------------------------------------------------- -*** There are several temporal dimensions in REMIND, see the set descriptions below. Be careful to select the smallest set possible to improve memory efficiency and reduce the overhead from GAMS and solver pre-processing. -*** Rules for the choice of set: -*** For declaring a parameter, variable, or equation, you can only use declared sets: tall (avoid) or ttot (preferable). -*** For assigning values, it is preferred to use t, which is a subset of ttot starting at cm_startyear. This avoids overwriting values from path_gdx_ref for < cm_startyear. Use ttot together with $(ttot.val ge 2005) if you want to define parameters etc. over all model years. Avoid using tall unless absolutely necessary. - +*** There are several temporal dimensions in REMIND, see the set descriptions below. +*** Be careful to select the smallest set possible to improve memory efficiency and reduce the overhead from GAMS and solver pre-processing. +*** Rules for the choice of set for parameters, variables, or equations: +*** For declaration, you can only use declared sets: tall (avoid) or ttot (preferable). +*** For assignment: +*** prefer using t to avoid overwriting values from path_gdx_ref for years before cm_startyear. +*** if it needs a vlue for all model years, use ttot together with $(ttot.val ge 2005). +*** avoid using tall unless absolutely necessary. SETS tall "time index, each year from 1900 to 3000" *** This set includes all potential years that could be considered in the model, spanning from 1900 to 3000 (e.g., 1900, 1901, 1902, ..., 2998, 2999, 3000). *** Usage warning: -*** Avoid using tall directly in parameter, equation, or variable definitions unless there is a specific requirement to compute something that depends on historical years rather than the periods used in REMIND. +*** Avoid using tall directly in parameter, equation, or variable declaration unless there is a specific requirement to compute something that depends on historical years rather than the periods used in REMIND. *** Using tall can lead to excessive memory allocation due to the large number of years it covers. When necessary, ensure that you only define values for a relevant subset of years. *** It is preferable to aggregate any year-dependent data to the REMIND periods defined in ttot (see below) during data preparation, rather than loading tall-based data directly into the model. / @@ -1119,8 +1122,8 @@ opTime5(opTimeYr) "actual life time of ??? in years - 5 years time steps for the ; -t(ttot)$(ttot.val ge cm_startyear)=Yes; -tsu(ttot)$(ttot.val lt 2005)=Yes; +t(ttot) $ (ttot.val ge cm_startyear) = Yes; +tsu(ttot) $ (ttot.val lt 2005) = Yes; display ttot; *** time sets used for MAGICC From 78bc928ea3ec573117916d006127b96c251d13a0 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Fri, 27 Sep 2024 13:33:36 +0000 Subject: [PATCH 559/875] Release development version 3.3.2.dev729 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index cd24c7671..9d2e783ad 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev721" +version: "3.3.2.dev729" date-released: 2024-09-27 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index feb540796..e98d0ddc0 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev721" +cfg$model_version <- "3.3.2.dev729" #### settings #### cfg$gms <- list() From 125e9a0dbdf1839348477780a5007431db2ce0a3 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Fri, 27 Sep 2024 15:22:31 +0000 Subject: [PATCH 560/875] Release development version 3.3.2.dev737 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 9d2e783ad..01869546e 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev729" +version: "3.3.2.dev737" date-released: 2024-09-27 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index e98d0ddc0..0b9856998 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev729" +cfg$model_version <- "3.3.2.dev737" #### settings #### cfg$gms <- list() From df6dc706c11cd324b78b9d6607ea98228f708b6c Mon Sep 17 00:00:00 2001 From: orichters Date: Fri, 27 Sep 2024 17:49:36 +0200 Subject: [PATCH 561/875] improve checkProjectSummations for ELEVATE + ScenarioMIP --- DESCRIPTION | 2 +- .../output/single/checkProjectSummations.R | 68 ++++++++++--------- 2 files changed, 36 insertions(+), 34 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index d10f40021..66212dc6d 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -54,7 +54,7 @@ Imports: nleqslv, optparse, piamenv (>= 0.4.0), - piamInterfaces (>= 0.31.0), + piamInterfaces (>= 0.34.1), piamPlotComparison (>= 0.0.10), piamutils, plotly, diff --git a/scripts/output/single/checkProjectSummations.R b/scripts/output/single/checkProjectSummations.R index d2ff53bd1..bf4ca5d50 100644 --- a/scripts/output/single/checkProjectSummations.R +++ b/scripts/output/single/checkProjectSummations.R @@ -28,56 +28,58 @@ options(width = 160) absDiff <- 0.00001 relDiff <- 0.01 -# emi variables where bunkers are added only to the World level -gases <- c("BC", "CO", "CO2", "Kyoto Gases", "NOx", "OC", "Sulfur", "VOC") -vars <- c("", "|Energy", "|Energy Demand|Transportation", "|Energy and Industrial Processes", - "|Energy|Demand", "|Energy|Demand|Transportation") -gasvars <- expand.grid(gases, vars, stringsAsFactors = FALSE) -bunkervars <- unique(sort(c("Gross Emissions|CO2", paste0("Emissions|", gasvars$Var1, gasvars$Var2)))) +sources <- paste0("RT", if (any(grepl("^MAgPIE", levels(mifdata$model)))) "M") +message("\n### Check existence of variables in mappings.") +missingVariables <- checkMissingVars(mifdata, TRUE, sources) +if (length(missingVariables) > 0) message("Check piamInterfaces::variableInfo('variablename') etc.") -for (mapping in c("AR6", "NAVIGATE")) { - message("\n### Check project summations for ", mapping) - mappingVariables <- mapping %>% - getMappingVariables(paste0("RT", if (any(grepl("^MAgPIE", levels(mifdata$model)))) "M")) %>% - unique() %>% - deletePlus() - computedVariables <- unique(paste0(deletePlus(mifdata$variable), " (", gsub("^$", "unitless", mifdata$unit), ")")) - missingVariables <- sort(setdiff(mappingVariables, computedVariables)) - if (length(missingVariables) > 0) { - message("# The following ", length(missingVariables), " variables are expected in the piamInterfaces package ", - "for mapping ", mapping, ", but cannot be found in the reporting:\n- ", - paste(missingVariables, collapse = ",\n- "), "\n") +checkMappings <- list( # list(mappings, summationsFile, skipBunkers) + list(c("AR6", "AR6_NGFS"), "AR6", TRUE), + list(c("NAVIGATE", "ELEVATE"), "NAVIGATE", FALSE), + list("ScenarioMIP", NULL, FALSE) +) + +for (i in seq_along(checkMappings)) { + mapping <- checkMappings[[i]][[1]] + message("\n### Check project summations for ", paste(mapping, collapse = ", ")) + # checkMissingVars + checkMissingVars(mifdata, mapping, sources) + + # generate IIASASubmission + d <- generateIIASASubmission(mifdata, outputDirectory = NULL, outputFilename = NULL, logFile = NULL, + mapping = mapping, checkSummation = FALSE, generatePlots = FALSE) + # Check variable summation, but using only the first mapping + failvars <- data.frame() + if (length(checkMappings[[i]][[2]]) > 0) { + failvars <- d %>% + checkSummations(template = mapping[[1]], summationsFile = checkMappings[[i]][[2]], logFile = NULL, + dataDumpFile = NULL, absDiff = absDiff, relDiff = relDiff) %>% + filter(abs(diff) >= absDiff, abs(reldiff) >= relDiff) %>% + df_variation() %>% + droplevels() } - d <- generateIIASASubmission(mifdata, outputDirectory = NULL, logFile = NULL, - mapping = mapping, checkSummation = FALSE) - failvars <- d %>% - checkSummations(template = mapping, summationsFile = mapping, logFile = NULL, dataDumpFile = NULL, - absDiff = absDiff, relDiff = relDiff) %>% - filter(abs(diff) >= absDiff, abs(reldiff) >= relDiff) %>% - df_variation() %>% - droplevels() - csregi <- d %>% filter(.data$region %in% unique(c("GLO", "World", read.csv2(envi$cfg$regionmapping)$RegionCode))) %>% - checkSummationsRegional(intensiveUnits = TRUE) %>% + checkSummationsRegional(intensiveUnits = TRUE, skipBunkers = isTRUE(checkMappings[[i]][[3]])) %>% rename(World = "total") %>% droplevels() checkyear <- 2050 failregi <- csregi %>% filter(abs(.data$reldiff) > 0.5, abs(.data$diff) > 0.00015, period == checkyear) %>% - filter(! .data$variable %in% bunkervars) %>% select(-"model", -"scenario") if (nrow(failregi) > 0) { - message("For those ", mapping, " variables, the sum of regional values does not match the World value in 2050:") + message("For those variables from ", paste(mapping, collapse = ", "), + ", the sum of regional values does not match the World value in 2050:") failregi %>% piamInterfaces::niceround() %>% print(n = 1000) } else { message("Regional summation checks are fine.") } - if (nrow(failvars) > 0 || nrow(failregi) > 0 || length(missingVariables) > 0) stopmessage <- c(stopmessage, mapping) + if (nrow(failvars) > 0 || nrow(failregi) > 0 || length(missingVariables) > 0) stopmessage <- c(stopmessage, paste(mapping, collapse = "+")) } -if (length(stopmessage) > 0) { - stop("Failing summation checks for ", paste(stopmessage, collapse = ", "), ", see above.") +if (length(stopmessage) > 0 || length(missingVariables) > 0) { + stop("Project-related issues found checks for ", paste(stopmessage, collapse = ", "), " and ", + length(missingVariables), " missing variables found, see above.") } From 67f9b0aca1ead55d582e5c57c8b8d525bb5c92c6 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Mon, 30 Sep 2024 10:14:25 +0200 Subject: [PATCH 562/875] * new input data rev6.96 fixing bug in unit shift for transport sector; * related CES parameter and gdx files for input data rev6.96 for SSP2, SSP2-EU21, SSP1, SSP2_lowEn and SSP5, calibration runs: /p/tmp/lavinia/REMIND/REMIND_calibration_2024_09_27/remind --- config/default.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/default.cfg b/config/default.cfg index 0b9856998..af26a8635 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -28,10 +28,10 @@ cfg$regionmapping <- "config/regionmappingH12.csv" cfg$extramappings_historic <- "" #### Current input data revision (.) #### -cfg$inputRevision <- "6.95" +cfg$inputRevision <- "6.96" #### Current CES parameter and GDX revision (commit hash) #### -cfg$CESandGDXversion <- "ffbff5da0c24de39586df082716e5af449f5f231" +cfg$CESandGDXversion <- "bbf47b596d6f54c364086cbcde12d5ffee5fb167" #### Force the model to download new input data #### cfg$force_download <- FALSE From ce0328bfeca049ed470b713845dd9fc4c74b6cab Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Mon, 30 Sep 2024 09:01:08 +0000 Subject: [PATCH 563/875] Release development version 3.3.2.dev740 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 01869546e..c48ce6649 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev737" -date-released: 2024-09-27 +version: "3.3.2.dev740" +date-released: 2024-09-30 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index af26a8635..37828a8ca 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev737" +cfg$model_version <- "3.3.2.dev740" #### settings #### cfg$gms <- list() From 691a329659a4488853aaee77e83004e600fbf25a Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Mon, 30 Sep 2024 13:26:07 +0000 Subject: [PATCH 564/875] Release development version 3.3.2.dev743 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index c48ce6649..341a4efe2 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev740" +version: "3.3.2.dev743" date-released: 2024-09-30 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 37828a8ca..02ac9715f 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev740" +cfg$model_version <- "3.3.2.dev743" #### settings #### cfg$gms <- list() From c7dbcfce6e2f355669019040ad11747f837baf8d Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Mon, 30 Sep 2024 21:04:13 +0200 Subject: [PATCH 565/875] adjust elh2 adjustment cost coefficient to double of default value (similarly seed is half of default) such that it is not higher than BtL, FT-synthesis technologies etc. --- core/datainput.gms | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/datainput.gms b/core/datainput.gms index 182f0c773..f64883bcb 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -1168,7 +1168,7 @@ $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" p_adj_seed_te(ttot,regi,"bfcc") = 0.05; p_adj_seed_te(ttot,regi,"idrcc") = 0.05; $endif.cm_subsec_model_steel - p_adj_seed_te(ttot,regi,"elh2") = 0.33; + p_adj_seed_te(ttot,regi,"elh2") = 0.5; p_adj_seed_te(ttot,regi,"MeOH") = 0.5; p_adj_seed_te(ttot,regi,"h22ch4") = 0.5; @@ -1209,7 +1209,7 @@ $endif.cm_subsec_model_steel p_adj_coeff(ttot,regi,teGrid) = 0.3; p_adj_coeff(ttot,regi,teStor) = 0.05; - p_adj_coeff(ttot,regi,"elh2") = 0.75; + p_adj_coeff(ttot,regi,"elh2") = 0.5; p_adj_coeff(ttot,regi,"MeOH") = 0.5; p_adj_coeff(ttot,regi,"h22ch4") = 0.5; From f349cf1b89a616c20cb6291aa2141bc5f4c1c174 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Tue, 1 Oct 2024 09:55:24 +0200 Subject: [PATCH 566/875] update changelog --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f64e4d5ac..c89cf0ba6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - moved to edgeTransport 2.0 version [[#1749](https://github.com/remindmodel/remind/pull/1749)] - **scripts** in readCheckScenarioConfig(), do not automatically remove path_gdx_bau if allegedly 'not needed' [[#1809](https://github.com/remindmodel/remind/pull/1809)] +- **core** changed adjustment cost of geohe (central heat pumps), elh2 (electrolysis), MeOH (FT-Synthesis: H2-to-Liquids) + and h22ch4 (methanation: H2-to-Gas) to better reflect upscaling dynamics + [[#1823](https://github.com/remindmodel/remind/pull/1823)] ### added - **50_damages**, **51_internalizeDamages** add KotzWenz realization based on Kotz & Wenz (2024) From 494f222c6c1faa18f9ce1ca71cea84aa5bcd2d07 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Tue, 1 Oct 2024 11:35:05 +0200 Subject: [PATCH 567/875] adjust settings for SSP3 --- config/scenario_config.csv | 10 +++--- core/bounds.gms | 69 +++++++++++++++----------------------- core/datainput.gms | 10 +++--- main.gms | 4 +-- 4 files changed, 39 insertions(+), 54 deletions(-) diff --git a/config/scenario_config.csv b/config/scenario_config.csv index 30de5795b..6d2efbf88 100644 --- a/config/scenario_config.csv +++ b/config/scenario_config.csv @@ -16,11 +16,11 @@ SSP2-EU21-PkBudg500;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extram SSP2-EU21-PkBudg650;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg650: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. SSP2-EU21-PkBudg1000;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;9;;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg1050: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. # H12 SSP3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP3-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;9;;;;;;;2;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;highOil;highGas;highCoal;3;6;4;3;SSP3;;;forcing_SSP3;SSP3;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. -SSP3-NDC;0;;;;;rcp45;3;globallyOptimal;0;NDC;;;9;;;;;;;2;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;highOil;highGas;highCoal;3;6;4;3;SSP3;;;forcing_SSP3;SSP3;Mix2;2030;;SSP2-NPi;SSP3-NPi;SSP3-NPi;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. 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. -SSP3-NPi;0;;;;;rcp45;3;;0;NPi;;;9;;;;;;;2;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;highOil;highGas;highCoal;3;6;4;3;SSP3;;;forcing_SSP3;SSP3;Mix1;2005;;;;;SSP3-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP3-PkBudg650;0;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;;;;;;;2;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;highOil;highGas;highCoal;3;6;4;;SSP3;;;forcing_SSP3;SSP3;Mix4ICEban;2030;;SSP2-NPi;;;SSP3-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP3-PkBudg1000;0;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;9;;;;;;;2;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;highOil;highGas;highCoal;3;6;4;;SSP3;;;forcing_SSP3;SSP3;Mix3ICEban;2030;;SSP2-NPi;;;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP3-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;9;;;;;;;2;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;3;6;4;3;SSP3;;;forcing_SSP3;SSP3;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. +SSP3-NDC;0;;;;;rcp45;3;globallyOptimal;0;NDC;;;9;;;;;;;2;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;3;6;4;3;SSP3;;;forcing_SSP3;SSP3;Mix2;2030;;SSP2-NPi;SSP3-NPi;SSP3-NPi;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. 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. +SSP3-NPi;0;;;;;rcp45;3;;0;NPi;;;9;;;;;;;2;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;3;6;4;3;SSP3;;;forcing_SSP3;SSP3;Mix1;2005;;;;;SSP3-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP3-PkBudg650;0;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;;;;;;;2;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;3;6;4;;SSP3;;;forcing_SSP3;SSP3;Mix4ICEban;2030;;SSP2-NPi;;;SSP3-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP3-PkBudg1000;0;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;9;;;;;;;2;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;3;6;4;;SSP3;;;forcing_SSP3;SSP3;Mix3ICEban;2030;;SSP2-NPi;;;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. # H12 SSP1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP1-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. SSP1-NDC;1,AMT,compileInTests;;;;;rcp45;3;globallyOptimal;0;NDC;;;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;2;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix2;2030;;SSP2-NPi;SSP1-NPi;SSP1-NPi;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. diff --git a/core/bounds.gms b/core/bounds.gms index 165215412..6394c539c 100755 --- a/core/bounds.gms +++ b/core/bounds.gms @@ -350,10 +350,10 @@ loop((ext_regi,te)$p_techEarlyRetiRate(ext_regi,te), ); $endif.tech_earlyreti -***restrict early retirement to the modeling time frame (to reduce runtime, the early retirement equations are phased out after 2110) +*** restrict early retirement to the modeling time frame (to reduce runtime, the early retirement equations are phased out after 2110) vm_capEarlyReti.up(ttot,regi,te)$(ttot.val lt 2009 or ttot.val gt 2111) = 0; -* lower bound of 0.01% to help the model to be aware of the early retirement option +*** lower bound of 0.01% to help the model to be aware of the early retirement option vm_capEarlyReti.lo(t,regi,te)$((vm_capEarlyReti.up(t,regi,te) ge 1) and (t.val gt 2010) and (t.val le 2100)) = 1e-4; *cb 20120301 no early retirement for dot, they are used despite their economic non-competitiveness for various reasons. @@ -368,16 +368,13 @@ vm_deltaCap.up(t,regi,"dot","1")$( (t.val gt 2005) AND regi_group("EUR_regi",reg *' DK 20100929: default value (pm_ccsinjecrate= 0.5%) is consistent with Interview Gerling (BGR) *' (http://www.iz-klima.de/aktuelles/archiv/news-2010/mai/news-05052010-2/): *' 12 Gt storage potential in Germany, 50-75 Mt/a injection => 60 Mt/a => 60/12000=0.005 -*LP* if c_ccsinjecratescen=0 --> no CCS at all and vm_co2CCS is fixed to 0 before, therefore the upper bound is only set if there should be CCS! +*** if c_ccsinjecratescen=0 --> no CCS at all and vm_co2CCS is fixed to 0 before, therefore the upper bound is only set if there should be CCS! *** ----------------------------------------------------------------------------- if ( c_ccsinjecratescen gt 0, - - loop(regi, -***vm_co2CCS.up(t,regi,"tco2","ico2","ccsinje","1") = pm_dataccs(regi,"quan","1")*pm_ccsinjecrate(regi) - vm_co2CCS.up(t,regi,"cco2","ico2","ccsinje","1") = pm_dataccs(regi,"quan","1") * pm_ccsinjecrate(regi); - ); - + loop(regi, + vm_co2CCS.up(t,regi,"cco2","ico2","ccsinje","1") = pm_dataccs(regi,"quan","1") * pm_ccsinjecrate(regi); + ); ); *' @stop @@ -392,16 +389,15 @@ if(cm_emiscen gt 1, ); $endif - *** ------------------------------------------------------------------------------------------------------------- -*AM* Lower limit for 2020-2030 is capacities of all projects that are operational (2020-2030) from project data base -*AM* Upper limit for 2025 and 2030 additionally includes all projects under construction and 30% -*AM* (default, or changed by c_fracRealfromAnnouncedCCScap2030) of announced/planned projects from project data base -*AM* See also corresponding code in input validation data preparation in mrremind/R/calcProjectPipeline.R. -*AM* In nash-mode regions cannot easily share ressources, therefore CCS potentials are redistributed in Europe in data preprocessing in mrremind: -*AM* Potential of EU27 regions is pooled and redistributed according to GDP (Only upper limit for 2030) -*AM* Norway and UK announced to store CO2 for EU27 countries. So 50% of Norway and UK potential in 2030 is attributed to EU27-Pool -*LP* if c_ccsinjecratescen=0 --> no CCS at all and vm_co2CCS is fixed to 0 before, therefore the upper bound is only set if there should be CCS! +*** Lower limit for 2020-2030 is capacities of all projects that are operational (2020-2030) from project data base +*** Upper limit for 2025 and 2030 additionally includes all projects under construction and 30% +*** (default, or changed by c_fracRealfromAnnouncedCCScap2030) of announced/planned projects from project data base +*** See also corresponding code in input validation data preparation in mrremind/R/calcProjectPipeline.R. +*** In nash-mode regions cannot easily share ressources, therefore CCS potentials are redistributed in Europe in data preprocessing in mrremind: +*** Potential of EU27 regions is pooled and redistributed according to GDP (Only upper limit for 2030) +*** Norway and UK announced to store CO2 for EU27 countries. So 50% of Norway and UK potential in 2030 is attributed to EU27-Pool +*** if c_ccsinjecratescen=0 --> no CCS at all and vm_co2CCS is fixed to 0 before, therefore the upper bound is only set if there should be CCS! *** ------------------------------------------------------------------------------------------------------------- if ( (c_ccsinjecratescen gt 0) AND (NOT cm_emiscen eq 1), @@ -409,8 +405,8 @@ if ( (c_ccsinjecratescen gt 0) AND (NOT cm_emiscen eq 1), vm_co2CCS.up(t,regi,"cco2","ico2","ccsinje","1")$(t.val le 2030) = (p_boundCapCCS(t,regi,"operational")$(t.val le 2030) + p_boundCapCCS(t,regi,"construction")$(t.val le 2030) + p_boundCapCCS(t,regi,"planned")$(t.val le 2030) * c_fracRealfromAnnouncedCCScap2030) * s_MtCO2_2_GtC; ); -*AM* Fix capacities of technologies with carbon capture to zero if there are no CCS projects in the pipeline in that region -*AM* This is only reasonable, as long as we also don't expect any CCU projects in the early years. +*** Fix capacities of technologies with carbon capture to zero if there are no CCS projects in the pipeline in that region +*** This is only reasonable, as long as we also don't expect any CCU projects in the early years. loop(regi, loop(t$(t.val le 2030), if( ((p_boundCapCCS(t,regi,"operational") + p_boundCapCCS(t,regi,"construction") + p_boundCapCCS(t,regi,"planned")) eq 0), @@ -422,31 +418,20 @@ loop(regi, loop(regi, if( (p_boundCapCCSindicator(regi) eq 0), vm_cap.fx("2025",regi,teCCS,rlf) = 0; - vm_cap.fx("2030",regi,teCCS,rlf) = 0; + vm_cap.fx("2030",regi,teCCS,rlf) = 0; ); ); *** ------------------------------------------------------------------------------------------------------------- -*AM* Limit REMINDs ability to vent captured CO2 to 1 MtCO2 per yr per region. This happens otherwise to a great extend in stringent climate -*AM* policy scenarios if CCS and CCU capacities are limited in early years, to lower overall adjustment costs of capture technologies. -*AM* In reality, people don't have perfect foresight and without storage or usage capacities, no capture facilities will be built. +*** Limit REMINDs ability to vent captured CO2 to 1 MtCO2 per yr per region. This happens otherwise to a great extend in stringent climate +*** policy scenarios if CCS and CCU capacities are limited in early years, to lower overall adjustment costs of capture technologies. +*** In reality, people don't have perfect foresight and without storage or usage capacities, no capture facilities will be built. v_co2capturevalve.up(t,regi) = 1 * s_MtCO2_2_GtC; -*AL* fixing prodFE in 2005 to the value contained in pm_cesdata("2005",regi,in,"quantity"). This is done to ensure that the energy system will reproduce the 2005 calibration values. +*** fixing prodFE in 2005 to the value contained in pm_cesdata("2005",regi,in,"quantity"). This is done to ensure that the energy system will reproduce the 2005 calibration values. *** Fixing will produce clearly attributable errors (good for debugging) when using inconsistent data, as the GAMS accuracy when comparing fixed results is very high (< 1e-8). -***vm_prodFe.fx("2005",regi,se2fe(enty,enty2,te)) = sum(fe2ppfEn(enty2,in), pm_cesdata("2005",regi,in,"quantity") ); - -$ontext -*** ------------------------------------------------------------- -*** *RP* Chinese depoyment of coal power plants and coal use in industry was probably not only demand-driven, but also policy-driven (faster than demand). Therefore, we implement lower bounds on coal power plants and solid coal use: -*** ------------------------------------------------------------- -if (cm_startyear le 2015, -vm_cap.lo("2015","CHN","pc","1") = 0.75; !! WEO says 826GW in 2013, 980 in 2020 -vm_cap.lo("2010","CHN","coaltr","1") = 0.79; !! IEA says ~27EJ in 2010. In REMIND, a coaltr cap of 0.647 is equivalent to an FE solids coal level of 20.5 EJ, thus 25*0.647/20.5 = 0.79 -vm_cap.lo("2015","CHN","coaltr","1") = 0.88; !! IEA says ~29.7EJ in 2012. In REMIND, a coaltr cap of 0.647 is equivalent to an FE solids coal level of 20.5 EJ, thus 28*0.647/20.5 = 0.88 -); -$offtext +*** vm_prodFe.fx("2005",regi,se2fe(enty,enty2,te)) = sum(fe2ppfEn(enty2,in), pm_cesdata("2005",regi,in,"quantity") ); $if %c_SSP_forcing_adjust% == "forcing_SSP1" vm_deltaCap.up(t,regi,"coalgas",rlf)$(t.val gt 2010) = 0.00001; @@ -454,8 +439,8 @@ $if %c_SSP_forcing_adjust% == "forcing_SSP1" vm_deltaCap.up(t,regi,"coalgas" *** H2 Curtailment *** ------------------------------------------------------------- *** RLDC removal -***Fixing h2curt value to zero to avoid the model to generate SE out of nothing. -***Models that have additional se production channels should release this variable (eg. RLDC power module). +*** Fixing h2curt value to zero to avoid the model to generate SE out of nothing. +*** Models that have additional se production channels should release this variable (eg. RLDC power module). loop(prodSeOth2te(enty,te), v_prodSeOth.fx(t,regi,"seh2","h2curt") = 0; ); @@ -488,9 +473,9 @@ vm_emiFgas.fx(ttot,all_regi,all_enty) = f_emiFgas(ttot,all_regi,"%c_SSP_forcing_ display vm_emiFgas.L; -*AL* Bugfix. For some reason the model cannot reduce the production of district heating to 0 -*AL* where it should be 0. Not fixings can account for this -*AL* Fixing vm_prodSe to 0 avoids the problem +*** Bugfix. For some reason the model cannot reduce the production of district heating to 0 +*** where it should be 0. Not fixings can account for this +*** Fixing vm_prodSe to 0 avoids the problem loop ((in,in2) $ (sameAs(in,"feheb") and sameAs(in2,"fehei")), loop ((t, regi) $ ( (sameAs(t,"2010") OR sameAs(t,"2015")) AND diff --git a/core/datainput.gms b/core/datainput.gms index e46239725..6882530eb 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -959,9 +959,9 @@ $offdelim $if %cm_LU_emi_scen% == "SSP1" p_efFossilFuelExtr(regi,"pebiolc","n2obio") = 0.0047/sm_EJ_2_TWa; $if %cm_LU_emi_scen% == "SSP2" p_efFossilFuelExtr(regi,"pebiolc","n2obio") = 0.0079/sm_EJ_2_TWa; +$if %cm_LU_emi_scen% == "SSP3" p_efFossilFuelExtr(regi,"pebiolc","n2obio") = 0.0079/sm_EJ_2_TWa; $if %cm_LU_emi_scen% == "SSP5" p_efFossilFuelExtr(regi,"pebiolc","n2obio") = 0.0066/sm_EJ_2_TWa; -*BS* added SDP, copied SSP1 number -$if %cm_LU_emi_scen% == "SDP" p_efFossilFuelExtr(regi,"pebiolc","n2obio") = 0.0047/sm_EJ_2_TWa; +$if %cm_LU_emi_scen% == "SDP" p_efFossilFuelExtr(regi,"pebiolc","n2obio") = 0.0047/sm_EJ_2_TWa; *DK* In case REMIND is coupled to MAgPIE emissions are obtained from the MAgPIE reporting. Thus, emission factors are set to zero $if %cm_MAgPIE_coupling% == "on" p_efFossilFuelExtr(regi,"pebiolc","n2obio") = 0.0; @@ -1058,7 +1058,7 @@ loop(regi, p_aux_capToDistr(regi,te) = pm_histCap("2015",regi,te)$(pm_histCap("2015",regi,te) gt 1e-10); s_aux_cap_remaining = p_aux_capToDistr(regi,te); *RP* fill up the renewable grades to calculate the total capacity needed to produce the amount calculated in initialcap2, -* assuming the best grades are filled first (with 20% of each grade not yet used) +*** assuming the best grades are filled first (with 20% of each grade not yet used) loop(teRe2rlfDetail(te,rlf)$(pm_dataren(regi,"nur",rlf,te) > 0), if(s_aux_cap_remaining > 0, @@ -1131,7 +1131,7 @@ $endif.VREPot_Factor pm_dataeta(tall,regi,te) = f_dataetaglob(tall,te); -*RP* 20100620 adjust which technologies have time-varying etas +*** adjust which technologies have time-varying etas display f_dataetaglob; display teEtaIncr; loop(te, @@ -1151,7 +1151,7 @@ $offdelim ***----------------------------------------------------------------------------- *** adjustment cost parameter ***----------------------------------------------------------------------------- -***RP 20100531 import regional offset for adjustment cost calculations +*** import regional offset for adjustment cost calculations parameter p_adj_deltacapoffset(tall,all_regi,all_te) "adjustment cost offset to prevent delay of capacity addition" / $ondelim diff --git a/main.gms b/main.gms index 3f26b96f9..c61c09375 100755 --- a/main.gms +++ b/main.gms @@ -1232,7 +1232,7 @@ $setglobal c_tech_earlyreti_rate GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.( *** (SSP2): emissions (from SSP2 scenario in MAgPIE) *** (SSP5): emissions (from SSP5 scenario in MAgPIE) *** (SDP): -$setglobal cm_LU_emi_scen SSP2 !! def = SSP2 !! regexp = SSP(1|2|5)|SDP +$setglobal cm_LU_emi_scen SSP2 !! def = SSP2 !! regexp = SSP(1|2|3|5)|SDP *** cm_regi_bioenergy_EFTax "region(s) in which bioenergy is charged with an emission-factor-based tax" *** This switch has only an effect if 21_tax is on and cm_bioenergy_EF_for_tax *** is not zero. It reads in the regions that are affected by the emission- @@ -1305,7 +1305,7 @@ $setglobal c_ccsinjecrateRegi off !! def = "off" *** ("forcing_SSP1") settings consistent with SSP 1 *** ("forcing_SSP2") settings consistent with SSP 2 *** ("forcing_SSP5") settings consistent with SSP 5 -$setglobal c_SSP_forcing_adjust forcing_SSP2 !! def = forcing_SSP2 !! regexp = forcing_SSP(1|2|5) +$setglobal c_SSP_forcing_adjust forcing_SSP2 !! def = forcing_SSP2 !! regexp = forcing_SSP(1|2|3|5) *** cm_regiExoPrice "set exogenous co2 tax path for specific regions using a switch, require regipol module to be set to regiCarbonPrice (e.g. GLO.(2025 38,2030 49,2035 63,2040 80,2045 102,2050 130,2055 166,2060 212,2070 346,2080 563,2090 917,2100 1494,2110 1494,2130 1494,2150 1494) )" $setGlobal cm_regiExoPrice off !! def = off *** cm_emiMktTarget "set a budget or year emission target, for all (all) or specific emission markets (ETS, ESD or other), and specific regions (e.g. DEU) or region groups (e.g. EU27)" From b2c730d0cab687298c150952719117ddce4c2157 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 1 Oct 2024 10:00:40 +0000 Subject: [PATCH 568/875] Release development version 3.3.2.dev746 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 341a4efe2..e2e777814 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev743" -date-released: 2024-09-30 +version: "3.3.2.dev746" +date-released: 2024-10-01 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 02ac9715f..ad488e1b5 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev743" +cfg$model_version <- "3.3.2.dev746" #### settings #### cfg$gms <- list() From a32739477b780b05128507545d6216537b9dc765 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 1 Oct 2024 11:58:12 +0000 Subject: [PATCH 569/875] Release development version 3.3.2.dev754 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index e2e777814..c8ad20254 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev746" +version: "3.3.2.dev754" date-released: 2024-10-01 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index ad488e1b5..07fc2170c 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev746" +cfg$model_version <- "3.3.2.dev754" #### settings #### cfg$gms <- list() From 7688587c4674f4c907fb134d1e861d18bf771ab1 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Wed, 2 Oct 2024 16:09:27 +0200 Subject: [PATCH 570/875] * input data rev6.97 * CES parameter and gdx files for input data rev6.97 for SSP2, SSP2-EU21, SSP1 and SSP2_lowEn, calibration runs: /p/tmp/lavinia/REMIND/REMIND_calibration_2024_10_01/remind/output * add c_changeProdCost --- config/default.cfg | 4 +- config/scenario_config.csv | 82 +++++++++++++++++++------------------- 2 files changed, 43 insertions(+), 43 deletions(-) diff --git a/config/default.cfg b/config/default.cfg index 07fc2170c..2b1b7b0d6 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -28,10 +28,10 @@ cfg$regionmapping <- "config/regionmappingH12.csv" cfg$extramappings_historic <- "" #### Current input data revision (.) #### -cfg$inputRevision <- "6.96" +cfg$inputRevision <- "6.97" #### Current CES parameter and GDX revision (commit hash) #### -cfg$CESandGDXversion <- "bbf47b596d6f54c364086cbcde12d5ffee5fb167" +cfg$CESandGDXversion <- "3fc661ae0aa13124b82e59c25e06a4ea35bb2286" #### Force the model to download new input data #### cfg$force_download <- FALSE diff --git a/config/scenario_config.csv b/config/scenario_config.csv index 6d2efbf88..2cb001e4c 100644 --- a/config/scenario_config.csv +++ b/config/scenario_config.csv @@ -1,41 +1,41 @@ -title;start;CES_parameters;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_startyear;cm_peakBudgYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_co2_tax_growth;cm_bioenergy_SustTax;c_ccsinjecratescen;c_ccscapratescen;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description -# H12 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-NPi-calibrate;calibrate,AMT,compileInTests;calibrate;14;;;rcp45;;;0;NPi;;;9;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-Base;1,AMT,2;;;;;;;;0;;;;;;off;;;;;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix1;2005;;;;;SSP2-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-NDC;1,AMT,2;;;;;rcp45;3;globallyOptimal;0;NDC;;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2030;;SSP2-NPi;SSP2-NPi;SSP2-NPi;SSP2-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. -SSP2-NPi;1,AMT,compileInTests,2;;;;;rcp45;3;;0;NPi;;;9;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-PkBudg500;1,AMT,2;;;;;rcp20;9;globallyOptimal;500;diffLin2Lin;200;2045;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be well below 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-PkBudg650;1,AMT,2;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-PkBudg1000;1,AMT,2;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;9;;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -# EU21 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-EU21-NPi-calibrate;calibrate;calibrate;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;0;NPi;;;9;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-EU21-Base;1,AMT,compileInTests,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;;;;0;;;;;;off;;;;;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix1;2005;;;;;SSP2-EU21-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-EU21-NDC;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;globallyOptimal;0;NDC;;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2030;;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-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. -SSP2-EU21-NPi;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;9;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-EU21-PkBudg500;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;500;diffLin2Lin;200;2045;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg500: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-EU21-PkBudg650;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg650: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-EU21-PkBudg1000;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;9;;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg1050: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -# H12 SSP3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP3-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;9;;;;;;;2;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;3;6;4;3;SSP3;;;forcing_SSP3;SSP3;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. -SSP3-NDC;0;;;;;rcp45;3;globallyOptimal;0;NDC;;;9;;;;;;;2;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;3;6;4;3;SSP3;;;forcing_SSP3;SSP3;Mix2;2030;;SSP2-NPi;SSP3-NPi;SSP3-NPi;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. 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. -SSP3-NPi;0;;;;;rcp45;3;;0;NPi;;;9;;;;;;;2;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;3;6;4;3;SSP3;;;forcing_SSP3;SSP3;Mix1;2005;;;;;SSP3-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP3-PkBudg650;0;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;;;;;;;2;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;3;6;4;;SSP3;;;forcing_SSP3;SSP3;Mix4ICEban;2030;;SSP2-NPi;;;SSP3-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP3-PkBudg1000;0;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;9;;;;;;;2;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;3;6;4;;SSP3;;;forcing_SSP3;SSP3;Mix3ICEban;2030;;SSP2-NPi;;;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -# H12 SSP1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP1-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. -SSP1-NDC;1,AMT,compileInTests;;;;;rcp45;3;globallyOptimal;0;NDC;;;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;2;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix2;2030;;SSP2-NPi;SSP1-NPi;SSP1-NPi;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. -SSP1-NPi;1,AMT;;;;;rcp45;3;;0;NPi;;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP1-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;2;;feelhpb 1.05, fehob 1.75, feheb 0.1;manual;feh2_otherInd 1.04, feelhth_otherInd 0.4, feh2_cement 2.0, feelhth_chemicals 1.3, feh2_chemicals 1.04;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SDP;0.5;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SSP2-NPi;;;SSP1-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP1-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;2;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SDP;0.5;1;forcing_SSP1;MFR;Mix3ICEban;2030;;SSP2-NPi;;;SSP1-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -# H12 SSP2 lowEnergy;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2_lowEn-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;9;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2_lowEn-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. -SSP2_lowEn-NDC;1,AMT;;;;;rcp45;3;globallyOptimal;0;NDC;;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;;;;;;Mix2;2025;;SSP2-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. 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. -SSP2_lowEn-NPi;1,AMT;;;;;rcp45;3;;0;NPi;;;9;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2_lowEn-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2_lowEn-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi;;;SSP2_lowEn-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2_lowEn-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;9;;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-NPi;;;SSP2_lowEn-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -# H12 SSP5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP5-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;9;;;1;;1.75;3;2;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. -SSP5-NDC;1;;;;;rcp45;3;globallyOptimal;0;NDC;;;9;;;1;;1.75;3;2;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2;2030;;SSP2-NPi;SSP5-NPi;SSP5-NPi;SSP5-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. 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. -SSP5-NPi;1;;;;;rcp45;3;;0;NPi;;;9;;;1;;1.75;3;2;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP5-PkBudg650;1;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;;;1;;1.75;3;2;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix4ICEban;2030;;SSP2-NPi;;;SSP5-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP5-PkBudg1000;1,compileInTests;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;9;;;1;;1.75;3;2;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix3ICEban;2030;;SSP2-NPi;;;SSP5-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +title;start;CES_parameters;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_startyear;cm_peakBudgYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_co2_tax_growth;cm_bioenergy_SustTax;c_ccsinjecratescen;c_ccscapratescen;c_changeProdCost;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description +# H12 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2-NPi-calibrate;calibrate,AMT,compileInTests;calibrate;14;;;rcp45;;;0;NPi;;;9;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-Base;1,AMT,2;;;;;;;;0;;;;;;off;;;;;;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix1;2005;;;;;SSP2-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-NDC;1,AMT,2;;;;;rcp45;3;globallyOptimal;0;NDC;;;9;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2030;;SSP2-NPi;SSP2-NPi;SSP2-NPi;SSP2-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. +SSP2-NPi;1,AMT,compileInTests,2;;;;;rcp45;3;;0;NPi;;;9;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-PkBudg500;1,AMT,2;;;;;rcp20;9;globallyOptimal;500;diffLin2Lin;200;2045;9;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be well below 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-PkBudg650;1,AMT,2;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-PkBudg1000;1,AMT,2;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;9;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +# EU21 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2-EU21-NPi-calibrate;calibrate;calibrate;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;0;NPi;;;9;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-EU21-Base;1,AMT,compileInTests,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;;;;0;;;;;;off;;;;;;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix1;2005;;;;;SSP2-EU21-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-EU21-NDC;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;globallyOptimal;0;NDC;;;9;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2030;;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-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. +SSP2-EU21-NPi;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;9;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-EU21-PkBudg500;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;500;diffLin2Lin;200;2045;9;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg500: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-EU21-PkBudg650;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg650: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-EU21-PkBudg1000;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;9;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg1050: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +# H12 SSP3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP3-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;9;;;;;;;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;3;6;4;3;SSP3;;;forcing_SSP3;SSP3;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. +SSP3-NDC;0;;;;;rcp45;3;globallyOptimal;0;NDC;;;9;;;;;;;2;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;3;6;4;3;SSP3;;;forcing_SSP3;SSP3;Mix2;2030;;SSP2-NPi;SSP3-NPi;SSP3-NPi;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. 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. +SSP3-NPi;0;;;;;rcp45;3;;0;NPi;;;9;;;;;;;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;3;6;4;3;SSP3;;;forcing_SSP3;SSP3;Mix1;2005;;;;;SSP3-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP3-PkBudg650;0;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;;;;;;;2;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;3;6;4;;SSP3;;;forcing_SSP3;SSP3;Mix4ICEban;2030;;SSP2-NPi;;;SSP3-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP3-PkBudg1000;0;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;9;;;;;;;2;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;3;6;4;;SSP3;;;forcing_SSP3;SSP3;Mix3ICEban;2030;;SSP2-NPi;;;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +# H12 SSP1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP1-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. +SSP1-NDC;1,AMT,compileInTests;;;;;rcp45;3;globallyOptimal;0;NDC;;;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;2;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix2;2030;;SSP2-NPi;SSP1-NPi;SSP1-NPi;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. +SSP1-NPi;1,AMT;;;;;rcp45;3;;0;NPi;;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP1-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;2;;1;feelhpb 1.05, fehob 1.75, feheb 0.1;manual;feh2_otherInd 1.04, feelhth_otherInd 0.4, feh2_cement 2.0, feelhth_chemicals 1.3, feh2_chemicals 1.04;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SDP;0.5;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SSP2-NPi;;;SSP1-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP1-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;2;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SDP;0.5;1;forcing_SSP1;MFR;Mix3ICEban;2030;;SSP2-NPi;;;SSP1-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +# H12 SSP2 lowEnergy;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2_lowEn-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;9;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2_lowEn-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. +SSP2_lowEn-NDC;1,AMT;;;;;rcp45;3;globallyOptimal;0;NDC;;;9;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;;;;;;Mix2;2025;;SSP2-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. 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. +SSP2_lowEn-NPi;1,AMT;;;;;rcp45;3;;0;NPi;;;9;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2_lowEn-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2_lowEn-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi;;;SSP2_lowEn-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2_lowEn-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;9;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-NPi;;;SSP2_lowEn-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +# H12 SSP5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP5-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;9;;;1;;1.75;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. +SSP5-NDC;1;;;;;rcp45;3;globallyOptimal;0;NDC;;;9;;;1;;1.75;3;2;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2;2030;;SSP2-NPi;SSP5-NPi;SSP5-NPi;SSP5-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. 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. +SSP5-NPi;1;;;;;rcp45;3;;0;NPi;;;9;;;1;;1.75;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP5-PkBudg650;1;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;;;1;;1.75;3;2;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix4ICEban;2030;;SSP2-NPi;;;SSP5-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP5-PkBudg1000;1,compileInTests;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;9;;;1;;1.75;3;2;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix3ICEban;2030;;SSP2-NPi;;;SSP5-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. From f8462a7bcf2c46cd5ffd7849e0e660b9c56725c4 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Wed, 2 Oct 2024 15:03:39 +0000 Subject: [PATCH 571/875] Release development version 3.3.2.dev757 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index c8ad20254..922594ce9 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev754" -date-released: 2024-10-01 +version: "3.3.2.dev757" +date-released: 2024-10-02 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 2b1b7b0d6..9f592b41d 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev754" +cfg$model_version <- "3.3.2.dev757" #### settings #### cfg$gms <- list() From 16cfb1214473c0d17d72ae100a0a86fa9dfb7347 Mon Sep 17 00:00:00 2001 From: lecfab Date: Mon, 30 Sep 2024 17:16:50 +0200 Subject: [PATCH 572/875] bugfix: defaulting p_aux_capacityFactorHistOverREMIND to 1 because windoff had otherwise very low capacity factors --- core/datainput.gms | 46 ++++++++++++++++++++++++++----------------- core/declarations.gms | 17 ++++++++-------- 2 files changed, 37 insertions(+), 26 deletions(-) diff --git a/core/datainput.gms b/core/datainput.gms index 4bdc5c43c..57dc9ac85 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -1003,8 +1003,10 @@ $offdelim pm_dataren(all_regi,"maxprod",rlf,"windoff") = sm_EJ_2_TWa * f_maxProdGradeRegiWindOff(all_regi,"maxprod",rlf); pm_dataren(all_regi,"nur",rlf,"windoff") = 1.25 * f_maxProdGradeRegiWindOff(all_regi,"nur",rlf); !! increase wind offshore capacity factors by 25% as the NREL values seem to underestimate offshore capacity factors compared to historic values -pm_shareWindPotentialOff2On(all_regi) = sum(rlf,f_maxProdGradeRegiWindOff(all_regi,"maxprod",rlf)$(rlf.val le 8)) / - sum(rlf,f_maxProdGradeRegiWindOn(all_regi,"maxprod",rlf)$(rlf.val le 8)); +pm_shareWindPotentialOff2On(all_regi) = + sum(rlf $ (rlf.val le 8), f_maxProdGradeRegiWindOff(all_regi,"maxprod",rlf)) + / + sum(rlf $ (rlf.val le 8), f_maxProdGradeRegiWindOn( all_regi,"maxprod",rlf)); pm_shareWindOff("2010",regi) = 0.05; pm_shareWindOff("2015",regi) = 0.1; @@ -1055,20 +1057,28 @@ display p_datapot, pm_dataren; *** -------------------------------------------------------------------------- loop(regi, loop(teReNoBio(te), - p_aux_capToDistr(regi,te) = pm_histCap("2015",regi,te)$(pm_histCap("2015",regi,te) gt 1e-10); - s_aux_cap_remaining = p_aux_capToDistr(regi,te); -*RP* fill up the renewable grades to calculate the total capacity needed to produce the amount calculated in initialcap2, -*** assuming the best grades are filled first (with 20% of each grade not yet used) + p_aux_capToDistr(regi,te) = pm_histCap("2015",regi,te) $ (pm_histCap("2015",regi,te) gt 1e-10); - loop(teRe2rlfDetail(te,rlf)$(pm_dataren(regi,"nur",rlf,te) > 0), +*** Knowing the historical capacity (pm_histCap) in 2015, let us estimate on which grades this capacity was distributed. +*** We assume that the best grades were filled first, but only up to 80% of their potential. + s_aux_cap_remaining = p_aux_capToDistr(regi,te); + loop(teRe2rlfDetail(te,rlf) $ (pm_dataren(regi,"nur",rlf,te) > 0), if(s_aux_cap_remaining > 0, - p_aux_capThisGrade(regi,te,rlf) = min(s_aux_cap_remaining, ( (pm_dataren(regi,"maxprod",rlf,te) * 0.8) / pm_dataren(regi,"nur",rlf,te) ) ); - s_aux_cap_remaining = s_aux_cap_remaining - p_aux_capThisGrade(regi,te,rlf); + p_aux_capThisGrade(regi,te,rlf) = min( + s_aux_cap_remaining, + 0.8 * pm_dataren(regi,"maxprod",rlf,te) / pm_dataren(regi,"nur",rlf,te)); !! installedCapacity = maxprod / capacityFactor + s_aux_cap_remaining = s_aux_cap_remaining - p_aux_capThisGrade(regi,te,rlf); ); ); !! teRe2rlfDetail - p_avCapFac2015(regi,te) = sum(teRe2rlfDetail(te,rlf), p_aux_capThisGrade(regi,te,rlf) * pm_dataren(regi,"nur",rlf,te) ) - / ( sum(teRe2rlfDetail(te,rlf), p_aux_capThisGrade(regi,te,rlf) ) + 1e-10) +*** With this estimated distribution of capacity across grades (p_aux_capThisGrade), +*** let us compute the average capacity factor of each technology in 2015 (p_avCapFac2015). + p_avCapFac2015(regi,te) = + sum(teRe2rlfDetail(te,rlf), + p_aux_capThisGrade(regi,te,rlf) * pm_dataren(regi,"nur",rlf,te)) + / + (sum(teRe2rlfDetail(te,rlf), p_aux_capThisGrade(regi,te,rlf)) + + 1e-10) ); !! teReNoBio ); !! regi @@ -1093,11 +1103,15 @@ p_histCapFac(tall,all_regi,"wind") = 0; *** (potentially partially due to assumed low-wind turbine set-ups in the NREL data) *** Because of the lag effect (turbines in the 2000s were much smaller and thus yielded lower CFs), *** only implement half of the calculated ratio of historic to REMIND capFac as rescaling for the new CFs - realised as (x+1)/2 +*** Analogously for wind and spv: calibrate 2015, and assume gradual phase-in of grade-based CF (until 2035 for wind, until 2030 for spv) +p_aux_capacityFactorHistOverREMIND(regi,"spv") $ p_avCapFac2015(regi,"spv") = p_histCapFac("2015",regi,"spv") / p_avCapFac2015(regi,"spv"); +pm_cf("2015",regi,"spv") = pm_cf("2015",regi,"spv") * p_aux_capacityFactorHistOverREMIND(regi,"spv"); +pm_cf("2020",regi,"spv") = pm_cf("2020",regi,"spv") * (p_aux_capacityFactorHistOverREMIND(regi,"spv")+1)/2; +pm_cf("2025",regi,"spv") = pm_cf("2025",regi,"spv") * (p_aux_capacityFactorHistOverREMIND(regi,"spv")+3)/4; -*cb* CF calibration analogously for wind and spv: calibrate 2015, and assume gradual phase-in of grade-based CF (until 2045 for wind, until 2030 for spv) -p_aux_capacityFactorHistOverREMIND(regi,"windon") $ p_avCapFac2015(regi,"windon") = p_histCapFac("2015",regi,"windon") / p_avCapFac2015(regi,"windon"); -p_aux_capacityFactorHistOverREMIND(regi,"windoff") $ p_avCapFac2015(regi,"windoff") = p_histCapFac("2015",regi,"windoff") / p_avCapFac2015(regi,"windoff"); +p_aux_capacityFactorHistOverREMIND(regi,teWind) = 1; +p_aux_capacityFactorHistOverREMIND(regi,teWind) $ p_avCapFac2015(regi,teWind) = p_histCapFac("2015",regi,teWind) / p_avCapFac2015(regi,teWind); *** linear phase-in of Remind capacity factors instead of historical ones loop(t$(t.val ge 2015 AND t.val le 2035), pm_cf(t,regi,teWind) = @@ -1110,10 +1124,6 @@ loop(t$(t.val ge 2015 AND t.val le 2035), pm_cf(t,regi,"storwindoff") = pm_cf(t,regi,"storwindon"); pm_cf(t,regi,"gridwindoff") = pm_cf(t,regi,"gridwindon"); -p_aux_capacityFactorHistOverREMIND(regi,"spv")$p_avCapFac2015(regi,"spv") = p_histCapFac("2015",regi,"spv") / p_avCapFac2015(regi,"spv"); -pm_cf("2015",regi,"spv") = pm_cf("2015",regi,"spv") * p_aux_capacityFactorHistOverREMIND(regi,"spv"); -pm_cf("2020",regi,"spv") = pm_cf("2020",regi,"spv") * (p_aux_capacityFactorHistOverREMIND(regi,"spv")+1)/2; -pm_cf("2025",regi,"spv") = pm_cf("2025",regi,"spv") * (p_aux_capacityFactorHistOverREMIND(regi,"spv")+3)/4; display p_aux_capacityFactorHistOverREMIND, pm_dataren; diff --git a/core/declarations.gms b/core/declarations.gms index c38ccb4d2..11c33599d 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -144,16 +144,17 @@ p_ef_dem(all_regi,all_enty) "Demand side emissio pm_secBioShare(ttot,all_regi,all_enty,emi_sectors) "share of biomass per carrier for each sector" p_avCapFac2015(all_regi,all_te) "average capacity factor of non-bio renewables in 2015 in REMIND" -p_aux_capToDistr(all_regi,all_te) "aux. param. to calculate p_avCapFac2015; The historic capacity in 2015" -s_aux_cap_remaining "aux. param. to calculate p_avCapFac2015; countdown parameter" -p_aux_capThisGrade(all_regi,all_te,rlf) "aux. param. to calculate p_avCapFac2015; How the historic 2015 capacity is distributed among grades" -p_aux_capacityFactorHistOverREMIND(all_regi,all_te) "aux. param. to calculate capacity factors correction (wind and spv): the ratio of historic over REMIND CapFac in 2015" -p_aux_scaleEmiHistorical_n2o(all_regi) "aux. param. to rescale MAgPIE n2o emissions to historical values" -p_aux_scaleEmiHistorical_ch4(all_regi) "aux. param. to rescale MAgPIE ch4 emissions to historical values" +p_aux_capToDistr(all_regi,all_te) "auxiliary parameter to calculate p_avCapFac2015; The historic capacity in 2015" +s_aux_cap_remaining "auxiliary parameter to calculate p_avCapFac2015; countdown parameter" +p_aux_capThisGrade(all_regi,all_te,rlf) "auxiliary parameter to calculate p_avCapFac2015; How the historic 2015 capacity is distributed among grades" +p_aux_capacityFactorHistOverREMIND(all_regi,all_te) "auxiliary parameter to calculate capacity factors correction (wind and spv): the ratio of historic over REMIND CapFac in 2015" + +p_aux_scaleEmiHistorical_n2o(all_regi) "auxiliary parameter to rescale MAgPIE n2o emissions to historical values" +p_aux_scaleEmiHistorical_ch4(all_regi) "auxiliary parameter to rescale MAgPIE ch4 emissions to historical values" *** windoffshore-todo -pm_shareWindPotentialOff2On(all_regi) "ratio of technical potential of windoff to windon" -pm_shareWindOff(ttot,all_regi) "windoff rollout as a fraction of technical potential" +pm_shareWindPotentialOff2On(all_regi) "ratio of technical potential of windoff to windon" +pm_shareWindOff(ttot,all_regi) "windoff rollout as a fraction of technical potential" pm_fe2es(tall,all_regi,all_teEs) "Conversion factor from final energies to energy services. Default is 1." From 36c80013c609e40a6d2513d4ef6123983f0fc7c3 Mon Sep 17 00:00:00 2001 From: lecfab Date: Fri, 4 Oct 2024 12:54:13 +0200 Subject: [PATCH 573/875] prevent cm_cf to be zero for VRE in some regions --- core/datainput.gms | 41 ++++++++++++++++++++--------------------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/core/datainput.gms b/core/datainput.gms index 57dc9ac85..5f7e95245 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -1001,7 +1001,9 @@ $include "./core/input/f_maxProdGradeRegiWindOff.cs3r" $offdelim ; pm_dataren(all_regi,"maxprod",rlf,"windoff") = sm_EJ_2_TWa * f_maxProdGradeRegiWindOff(all_regi,"maxprod",rlf); -pm_dataren(all_regi,"nur",rlf,"windoff") = 1.25 * f_maxProdGradeRegiWindOff(all_regi,"nur",rlf); !! increase wind offshore capacity factors by 25% as the NREL values seem to underestimate offshore capacity factors compared to historic values +*** increase wind offshore capacity factors by 25% to account for very different real-world values +*** NREL values seem underestimated, potentially partially due to assuming low turbines +pm_dataren(all_regi,"nur",rlf,"windoff") = 1.25 * f_maxProdGradeRegiWindOff(all_regi,"nur",rlf); pm_shareWindPotentialOff2On(all_regi) = sum(rlf $ (rlf.val le 8), f_maxProdGradeRegiWindOff(all_regi,"maxprod",rlf)) @@ -1099,25 +1101,22 @@ $offdelim p_histCapFac(tall,all_regi,"windon") $ (p_histCapFac(tall,all_regi,"windon") eq 0) = p_histCapFac(tall,all_regi,"wind"); p_histCapFac(tall,all_regi,"wind") = 0; -*** RP rescale wind capacity factors in REMIND to account for very different real-world CF -*** (potentially partially due to assumed low-wind turbine set-ups in the NREL data) -*** Because of the lag effect (turbines in the 2000s were much smaller and thus yielded lower CFs), -*** only implement half of the calculated ratio of historic to REMIND capFac as rescaling for the new CFs - realised as (x+1)/2 -*** Analogously for wind and spv: calibrate 2015, and assume gradual phase-in of grade-based CF (until 2035 for wind, until 2030 for spv) -p_aux_capacityFactorHistOverREMIND(regi,"spv") $ p_avCapFac2015(regi,"spv") = p_histCapFac("2015",regi,"spv") / p_avCapFac2015(regi,"spv"); -pm_cf("2015",regi,"spv") = pm_cf("2015",regi,"spv") * p_aux_capacityFactorHistOverREMIND(regi,"spv"); -pm_cf("2020",regi,"spv") = pm_cf("2020",regi,"spv") * (p_aux_capacityFactorHistOverREMIND(regi,"spv")+1)/2; -pm_cf("2025",regi,"spv") = pm_cf("2025",regi,"spv") * (p_aux_capacityFactorHistOverREMIND(regi,"spv")+3)/4; - - -p_aux_capacityFactorHistOverREMIND(regi,teWind) = 1; -p_aux_capacityFactorHistOverREMIND(regi,teWind) $ p_avCapFac2015(regi,teWind) = p_histCapFac("2015",regi,teWind) / p_avCapFac2015(regi,teWind); -*** linear phase-in of Remind capacity factors instead of historical ones -loop(t$(t.val ge 2015 AND t.val le 2035), - pm_cf(t,regi,teWind) = - (2035 - pm_ttot_val(t)) / (2035-2015) * pm_cf(t,regi,teWind) * p_aux_capacityFactorHistOverREMIND(regi,teWind) - + - (pm_ttot_val(t) - 2015) / (2035-2015) * pm_cf(t,regi,teWind) + +*** Capacity factor for wind and solar +*** Effective capacity factor pm_dataren("nur") * pm_cf scales from historical values in 2015 to grade-based values in 2030 +*** pm_dataren("nur",rlf) is the capacity factor of a given rlf grade +*** pm_cf is a multiplier that scales linearly from p_aux_capacityFactorHistOverREMIND in 2015 to 1 in 2030 +*** This scaling accounts for lag effects, for instance turbines in the 2000s were much smaller hence yielding lower capacity factors +p_aux_capacityFactorHistOverREMIND(regi,teVRE) = 1; +p_aux_capacityFactorHistOverREMIND(regi,teVRE) $ (p_histCapFac("2015",regi,teVRE) and p_avCapFac2015(regi,teVRE)) = + p_histCapFac("2015",regi,teVRE) / p_avCapFac2015(regi,teVRE); + +loop(t $ (t.val ge 2015 AND t.val lt 2030), + pm_cf(t,regi,teVRE) = + pm_cf(t,regi,teVRE) !! always 1 for VRE in f_cf, but could be modified by modules + * ( (2030 - pm_ttot_val(t)) * p_aux_capacityFactorHistOverREMIND(regi,teVRE) + + (pm_ttot_val(t) - 2015) + ) / (2030 - 2015) ); *CG* set storage and grid of windoff to be the same as windon @@ -1126,7 +1125,7 @@ pm_cf(t,regi,"gridwindoff") = pm_cf(t,regi,"gridwindon"); -display p_aux_capacityFactorHistOverREMIND, pm_dataren; +display p_aux_capacityFactorHistOverREMIND, pm_dataren, pm_cf; *** FS: sensitivity scenarios for renewable potentials From 95ea6c9f68eaccbdd94494fbd787c43ff6a343ea Mon Sep 17 00:00:00 2001 From: orichters Date: Tue, 1 Oct 2024 13:18:40 +0200 Subject: [PATCH 574/875] add 45_carbonprice NPi2025_EUR55 + NPiexpo --- .../NPi2025_EUR55/datainput.gms | 23 +++++++++++++ .../45_carbonprice/NPi2025_EUR55/not_used.txt | 31 +++++++++++++++++ .../NPi2025_EUR55/realization.gms | 14 ++++++++ modules/45_carbonprice/NPiexpo/datainput.gms | 23 +++++++++++++ modules/45_carbonprice/NPiexpo/not_used.txt | 33 +++++++++++++++++++ .../45_carbonprice/NPiexpo/realization.gms | 14 ++++++++ modules/45_carbonprice/module.gms | 4 +++ 7 files changed, 142 insertions(+) create mode 100755 modules/45_carbonprice/NPi2025_EUR55/datainput.gms create mode 100755 modules/45_carbonprice/NPi2025_EUR55/not_used.txt create mode 100755 modules/45_carbonprice/NPi2025_EUR55/realization.gms create mode 100644 modules/45_carbonprice/NPiexpo/datainput.gms create mode 100644 modules/45_carbonprice/NPiexpo/not_used.txt create mode 100644 modules/45_carbonprice/NPiexpo/realization.gms diff --git a/modules/45_carbonprice/NPi2025_EUR55/datainput.gms b/modules/45_carbonprice/NPi2025_EUR55/datainput.gms new file mode 100755 index 000000000..c709b0e72 --- /dev/null +++ b/modules/45_carbonprice/NPi2025_EUR55/datainput.gms @@ -0,0 +1,23 @@ +*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | authors, and contributors see CITATION.cff file. This file is part +*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +*** | AGPL-3.0, you are granted additional permissions described in the +*** | REMIND License Exception, version 1.0 (see LICENSE file). +*** | Contact: remind@pik-potsdam.de +*** SOF ./modules/45_carbonprice/NPi2025/datainput.gms + +***---------------------------- +*** CO2 Tax level growing exponentially from 2025 value taken from input data +***---------------------------- + +pm_taxCO2eq(ttot,regi)$(ttot.val le 2025) = fm_taxCO2eqHist(ttot,regi) * sm_DptCO2_2_TDpGtC; + +pm_taxCO2eq(t,regi)$(t.val gt 2025) = sum(ttot, pm_taxCO2eq(ttot,regi)$(ttot.val eq 2025)) * cm_co2_tax_growth**(t.val - 2025); + +loop(ext_regi$sameas(ext_regi, "EUR_regi"), + pm_taxCO2eq(t,regi)$(t.val ge 2030) = fm_taxCO2eqHist("2030",regi) * cm_co2_tax_growth**(t.val - 2030); +); + +pm_taxCO2eq(t,regi)$(t.val gt 2110) = pm_taxCO2eq("2110",regi); !! to prevent huge taxes after 2110 and the resulting convergence problems, set taxes after 2110 equal to 2110 value + +*** EOF ./modules/45_carbonprice/NPi2025/datainput.gms diff --git a/modules/45_carbonprice/NPi2025_EUR55/not_used.txt b/modules/45_carbonprice/NPi2025_EUR55/not_used.txt new file mode 100755 index 000000000..0c70426d6 --- /dev/null +++ b/modules/45_carbonprice/NPi2025_EUR55/not_used.txt @@ -0,0 +1,31 @@ +# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | authors, and contributors see CITATION.cff file. This file is part +# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +# | AGPL-3.0, you are granted additional permissions described in the +# | REMIND License Exception, version 1.0 (see LICENSE file). +# | Contact: remind@pik-potsdam.de +name,type,reason +cm_emiscen, switch, ??? +sm_c_2_co2,switch, ??? +pm_ttot_val,parameter,??? +cm_startyear,switch,??? +cm_iterative_target_adj,switch,??? +cm_expoLinear_yearStart,switch,??? +vm_co2eq,variable,??? +vm_emiFgas,input,questionnaire +pm_globalMeanTemperature,input,questionnaire +pm_temperatureImpulseResponseCO2,input,questionnaire +pm_consPC,input,questionnaire +pm_GDPGross,input,questionnaire +pm_prtp,input,questionnaire +cm_carbonprice_temperatureLimit,input,questionnaire +pm_ttot_2_tall,input,questionnaire +pm_shPPPMER,input,questionnaire +pm_pop,input,questionnaire +pm_gdp,input,questionnaire +cm_CO2priceRegConvEndYr,input,questionnaire +cm_NDC_divergentScenario,input,questionnaire +vm_demFeSector,input,questionnaire +pm_emifac,input,questionnaire +cm_co2_tax_2020,input,not needed +cm_co2_tax_spread,input,not needed \ No newline at end of file diff --git a/modules/45_carbonprice/NPi2025_EUR55/realization.gms b/modules/45_carbonprice/NPi2025_EUR55/realization.gms new file mode 100755 index 000000000..d30102495 --- /dev/null +++ b/modules/45_carbonprice/NPi2025_EUR55/realization.gms @@ -0,0 +1,14 @@ +*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | authors, and contributors see CITATION.cff file. This file is part +*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +*** | AGPL-3.0, you are granted additional permissions described in the +*** | REMIND License Exception, version 1.0 (see LICENSE file). +*** | Contact: remind@pik-potsdam.de +*** SOF ./modules/45_carbonprice/NPi2025/realization.gms + +*#' @description: This realization implements an exponential increase in carbon price from the predefined 2025 level. + +*####################### R SECTION START (PHASES) ############################## +$Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/NPi2025_EUR55/datainput.gms" +*######################## R SECTION END (PHASES) ############################### +*** EOF ./modules/45_carbonprice/NPi2025/realization.gms diff --git a/modules/45_carbonprice/NPiexpo/datainput.gms b/modules/45_carbonprice/NPiexpo/datainput.gms new file mode 100644 index 000000000..74d2ff563 --- /dev/null +++ b/modules/45_carbonprice/NPiexpo/datainput.gms @@ -0,0 +1,23 @@ +*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | authors, and contributors see CITATION.cff file. This file is part +*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +*** | AGPL-3.0, you are granted additional permissions described in the +*** | REMIND License Exception, version 1.0 (see LICENSE file). +*** | Contact: remind@pik-potsdam.de +*** SOF ./modules/45_carbonprice/exponential/datainput.gms +***---------------------------- +*** CO2 Tax level +***---------------------------- + +*** CO2 tax level is calculated at a 5% exponential increase from the 2020 tax level exogenously defined + +*GL: tax path in 10^12$/GtC = 1000 $/tC +*** according to Asian Modeling Excercise tax case setup, 30$/t CO2eq in 2020 = 0.110 k$/tC + +Execute_Loadpoint "input_ref" pm_taxCO2eq = pm_taxCO2eq; + +pm_taxCO2eq(t,regi) = sum(ttot, pm_taxCO2eq(ttot,regi)$(ttot.val eq cm_startyear - 5)) * cm_co2_tax_growth**(t.val-cm_startyear+5); +pm_taxCO2eq(t,regi)$(t.val gt 2110) = pm_taxCO2eq("2110",regi); !! to prevent huge taxes after 2110 and the resulting convergence problems, set taxes after 2110 equal to 2110 value + + +*** EOF ./modules/45_carbonprice/exponential/datainput.gms diff --git a/modules/45_carbonprice/NPiexpo/not_used.txt b/modules/45_carbonprice/NPiexpo/not_used.txt new file mode 100644 index 000000000..e4b163001 --- /dev/null +++ b/modules/45_carbonprice/NPiexpo/not_used.txt @@ -0,0 +1,33 @@ +# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | authors, and contributors see CITATION.cff file. This file is part +# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +# | AGPL-3.0, you are granted additional permissions described in the +# | REMIND License Exception, version 1.0 (see LICENSE file). +# | Contact: remind@pik-potsdam.de +name,type,reason +cm_emiscen, switch, ??? +sm_c_2_co2,switch, ??? +pm_ttot_val,parameter,??? +cm_iterative_target_adj,switch,??? +cm_expoLinear_yearStart,switch,??? +vm_co2eq,variable,??? +vm_emiFgas,input,questionnaire +pm_globalMeanTemperature,input,questionnaire +pm_temperatureImpulseResponseCO2,input,questionnaire +pm_consPC,input,questionnaire +pm_GDPGross,input,questionnaire +pm_prtp,input,questionnaire +cm_carbonprice_temperatureLimit,input,questionnaire +pm_ttot_2_tall,input,questionnaire +pm_shPPPMER,input,questionnaire +pm_pop,input,questionnaire +pm_gdp,input,questionnaire +cm_CO2priceRegConvEndYr,input,questionnaire +cm_NDC_divergentScenario,input,questionnaire +vm_demFeSector,input,questionnaire +pm_emifac,input,questionnaire +sm_DptCO2_2_TDpGtC,input,added by codeCheck +cm_peakBudgYr,input,added by codeCheck +cm_co2_tax_2020,input,added by codeCheck +cm_co2_tax_startyear,input,added by codeCheck +fm_taxCO2eqHist,input,not needed diff --git a/modules/45_carbonprice/NPiexpo/realization.gms b/modules/45_carbonprice/NPiexpo/realization.gms new file mode 100644 index 000000000..90742d4af --- /dev/null +++ b/modules/45_carbonprice/NPiexpo/realization.gms @@ -0,0 +1,14 @@ +*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | authors, and contributors see CITATION.cff file. This file is part +*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +*** | AGPL-3.0, you are granted additional permissions described in the +*** | REMIND License Exception, version 1.0 (see LICENSE file). +*** | Contact: remind@pik-potsdam.de +*** SOF ./modules/45_carbonprice/exponential/realization.gms + +*#' @description: This realization imeplents an exponential increase in carbon price from the predefined 2020 level. + +*####################### R SECTION START (PHASES) ############################## +$Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/NPiexpo/datainput.gms" +*######################## R SECTION END (PHASES) ############################### +*** EOF ./modules/45_carbonprice/exponential/realization.gms diff --git a/modules/45_carbonprice/module.gms b/modules/45_carbonprice/module.gms index 1c948d611..7c0730e5d 100644 --- a/modules/45_carbonprice/module.gms +++ b/modules/45_carbonprice/module.gms @@ -23,6 +23,10 @@ *###################### R SECTION START (MODULETYPES) ########################## $Ifi "%carbonprice%" == "NDC" $include "./modules/45_carbonprice/NDC/realization.gms" $Ifi "%carbonprice%" == "NPi" $include "./modules/45_carbonprice/NPi/realization.gms" +$Ifi "%carbonprice%" == "NPi2025" $include "./modules/45_carbonprice/NPi2025/realization.gms" +$Ifi "%carbonprice%" == "NPi2025_EUR55" $include "./modules/45_carbonprice/NPi2025_EUR55/realization.gms" +$Ifi "%carbonprice%" == "NPiexpo" $include "./modules/45_carbonprice/NPiexpo/realization.gms" +$Ifi "%carbonprice%" == "NPiexpo_EUR55" $include "./modules/45_carbonprice/NPiexpo_EUR55/realization.gms" $Ifi "%carbonprice%" == "diffCurvPhaseIn2Lin" $include "./modules/45_carbonprice/diffCurvPhaseIn2Lin/realization.gms" $Ifi "%carbonprice%" == "diffExp2Lin" $include "./modules/45_carbonprice/diffExp2Lin/realization.gms" $Ifi "%carbonprice%" == "diffLin2Lin" $include "./modules/45_carbonprice/diffLin2Lin/realization.gms" From f7e1570943cdd431e79c8ed91eaa4e6563630327 Mon Sep 17 00:00:00 2001 From: orichters Date: Tue, 1 Oct 2024 13:19:09 +0200 Subject: [PATCH 575/875] bugfix 45/NDC: also have 2030 value not below BAU --- modules/45_carbonprice/NDC/postsolve.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/45_carbonprice/NDC/postsolve.gms b/modules/45_carbonprice/NDC/postsolve.gms index 632746316..356c5def0 100644 --- a/modules/45_carbonprice/NDC/postsolve.gms +++ b/modules/45_carbonprice/NDC/postsolve.gms @@ -76,7 +76,7 @@ pm_taxCO2eq(t,regi)$(t.val gt p45_lastNDCyear(regi)) )/(p45_taxCO2eqConvergenceYear - p45_lastNDCyear(regi)); ***as a minimum, use BAU and have linear price increase starting from 1$ in 2030 -pm_taxCO2eq(t,regi)$(t.val gt 2030) = max( +pm_taxCO2eq(t,regi)$(t.val ge 2030) = max( pm_taxCO2eq(t,regi), p45_taxCO2eq_bau(t,regi), 1 * sm_DptCO2_2_TDpGtC * (1+(t.val-2030)*9/7), p45_taxCO2eq_bau(t,regi) From f91b80ade7abd943b43724d042c5dc61d2327e11 Mon Sep 17 00:00:00 2001 From: orichters Date: Tue, 1 Oct 2024 13:23:12 +0200 Subject: [PATCH 576/875] some adjustments for ELEVATE and new 45 modules --- DESCRIPTION | 4 ++-- core/datainput.gms | 4 ++-- main.gms | 4 ++-- modules/46_carbonpriceRegi/netZero/datainput.gms | 2 +- modules/46_carbonpriceRegi/netZero/declarations.gms | 1 + modules/46_carbonpriceRegi/netZero/postsolve.gms | 13 ++++++++++++- modules/46_carbonpriceRegi/netZero/sets.gms | 10 +++++----- scripts/output/export/xlsx_IIASA.R | 3 ++- scripts/start/needBau.R | 2 +- 9 files changed, 28 insertions(+), 15 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 66212dc6d..a0114927a 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -53,13 +53,13 @@ Imports: ncdf4, nleqslv, optparse, - piamenv (>= 0.4.0), + piamenv (>= 0.5.4), piamInterfaces (>= 0.34.1), piamPlotComparison (>= 0.0.10), piamutils, plotly, purrr, - quitte (>= 0.3137.1), + quitte (>= 0.3137.2), R.utils, raster, readr, diff --git a/core/datainput.gms b/core/datainput.gms index 4bdc5c43c..b41499fa5 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -1355,14 +1355,14 @@ $if %carbonprice% == "NPi" pm_macSwitch(emiMacMagpie) = 0; *** Load historical carbon prices defined in $/t CO2, need to be rescaled to right unit pm_taxCO2eq(ttot,regi)$(ttot.val le 2020) = 0; -parameter f_taxCO2eqHist(ttot,all_regi) "historic CO2 prices ($/tCO2)" +parameter fm_taxCO2eqHist(ttot,all_regi) "historic CO2 prices [$/tCO2]" / $ondelim $include "./core/input/pm_taxCO2eqHist.cs4r" $offdelim / ; -pm_taxCO2eq(ttot,regi)$(ttot.val le 2020) = f_taxCO2eqHist(ttot,regi) * sm_DptCO2_2_TDpGtC; +pm_taxCO2eq(ttot,regi)$(ttot.val le 2020) = fm_taxCO2eqHist(ttot,regi) * sm_DptCO2_2_TDpGtC; *DK* LU emissions are abated in MAgPIE in coupling mode *** An alternative to the approach below could be to introduce a new value for c_macswitch that only deactivates the LU MACs diff --git a/main.gms b/main.gms index c61c09375..c1f9a5ded 100755 --- a/main.gms +++ b/main.gms @@ -1219,8 +1219,8 @@ $setglobal cm_NDC_version 2024_cond !! def = "2024_cond" !! regexp = 20(18| *' *' (NGFS_v4): settings used for NGFS v4, 2023 *' (NGFS_v4_20pc): settings used for NGFS v4, 2023, with still 20% of 2020 emissions in netZero year -*' (ENGAGE4p5_GlP): settings used for ENGAGE 4.5 Glasgow+ scenario -$setglobal cm_netZeroScen NGFS_v4 !! def = "NGFS_v4" !! regexp = NGFS_v4|NGFS_v4_20pc|ENGAGE4p5_GlP +*' (ELEVATE2p3): settings used for ELEVATE2p3 LTS and NDC-LTS scenario +$setglobal cm_netZeroScen NGFS_v4 !! def = "NGFS_v4" !! regexp = NGFS_v4|NGFS_v4_20pc|ELEVATE2p3 *' * c_regi_earlyreti_rate "maximum percentage of capital stock that can be retired early (before reaching their expected lifetimes) in one year in specified regions, if they are not economically viable. It is applied to all techs unless otherwise specified in c_tech_earlyreti_rate." *' * GLO 0.09, EUR_regi 0.15: default value. (0.09 means full retirement after 11 years, 10% standing after 10 years) $setglobal c_regi_earlyreti_rate GLO 0.09, EUR_regi 0.15 !! def = GLO 0.09, EUR_regi 0.15 diff --git a/modules/46_carbonpriceRegi/netZero/datainput.gms b/modules/46_carbonpriceRegi/netZero/datainput.gms index 3118a5e2a..20192257e 100644 --- a/modules/46_carbonpriceRegi/netZero/datainput.gms +++ b/modules/46_carbonpriceRegi/netZero/datainput.gms @@ -7,7 +7,7 @@ *** SOF ./modules/46_carbonpriceRegi/netZero/datainput.gms p46_zeroYear = 2100; -$ifthen.p46_zeroYear "%cm_netZeroScen%" == "ENGAGE4p5_GlP" +$ifthen.p46_zeroYear "%cm_netZeroScen%" == "ELEVATE2p3" p46_zeroYear = 2200; $endif.p46_zeroYear diff --git a/modules/46_carbonpriceRegi/netZero/declarations.gms b/modules/46_carbonpriceRegi/netZero/declarations.gms index 407c1def2..a6db94057 100644 --- a/modules/46_carbonpriceRegi/netZero/declarations.gms +++ b/modules/46_carbonpriceRegi/netZero/declarations.gms @@ -18,6 +18,7 @@ p46_taxCO2eqRegi_iter(iteration,ttot,all_regi) "CO2eq tax regi tracked over p46_factorRescaleCO2TaxLtd_iter(iteration,all_regi) "Track the changes of p46_factorRescaleCO2TaxLimited over the iterations [1]" p46_emi_actual_iter(iteration,ttot,all_regi) "Track the changes of p46_emi_actual over the iterations [MtCO2eq/yr]" p46_offset(all_regi) "allowed emissions in netZero year [MtCO2eq/yr]" +p46_ref_co2eq (ttot,all_regi) "emissions in reference run" ; Scalar p46_zeroYear "between the netZero goal and this scalar, pm_taxCO2eqRegi linearly drops to zero [year]" diff --git a/modules/46_carbonpriceRegi/netZero/postsolve.gms b/modules/46_carbonpriceRegi/netZero/postsolve.gms index 800301daa..794dd356f 100644 --- a/modules/46_carbonpriceRegi/netZero/postsolve.gms +++ b/modules/46_carbonpriceRegi/netZero/postsolve.gms @@ -14,8 +14,19 @@ p46_emi_2020(regi) = vm_co2eq.l("2020",regi) * sm_c_2_co2 * 1000; ***define offsets p46_offset(all_regi) = 0; -$ifthen.offsets "%cm_netZeroScen%" == "ENGAGE4p5_GlP" +$ifthen.offsets "%cm_netZeroScen%" == "ELEVATE2p3" p46_offset(nz_reg)$(sameas(nz_reg, "EUR")) = 100; + + + Execute_Loadpoint 'input_bau' p46_ref_co2eq = vm_co2eq.l; +*** shares calculated by Rahel based on excel file + p46_offset(nz_reg)$(sameas(nz_reg, "LAM")) = (1 - 0.68) * p46_ref_co2eq("2050", nz_reg) * sm_c_2_co2 * 1000; + p46_offset(nz_reg)$(sameas(nz_reg, "MEA")) = (1 - 0.40) * p46_ref_co2eq("2055", nz_reg) * sm_c_2_co2 * 1000; + p46_offset(nz_reg)$(sameas(nz_reg, "NEU")) = (1 - 0.83) * p46_ref_co2eq("2055", nz_reg) * sm_c_2_co2 * 1000; + p46_offset(nz_reg)$(sameas(nz_reg, "OAS")) = (1 - 0.88) * p46_ref_co2eq("2055", nz_reg) * sm_c_2_co2 * 1000; + p46_offset(nz_reg)$(sameas(nz_reg, "SSA")) = (1 - 0.66) * p46_ref_co2eq("2055", nz_reg) * sm_c_2_co2 * 1000; + p46_offset(nz_reg)$(sameas(nz_reg, "REF")) = (1 - 0.83) * p46_ref_co2eq("2060", nz_reg) * sm_c_2_co2 * 1000; + $elseif.offsets "%cm_netZeroScen%" == "NGFS_v4_20pc" p46_offset(nz_reg) = 0.2 * vm_co2eq.l("2020", nz_reg) * sm_c_2_co2 * 1000; p46_offset(nz_reg)$(sameas(nz_reg, "LAM")) = 0.6 * vm_co2eq.l("2020", nz_reg) * sm_c_2_co2 * 1000; diff --git a/modules/46_carbonpriceRegi/netZero/sets.gms b/modules/46_carbonpriceRegi/netZero/sets.gms index 3ac39df09..f200f099b 100644 --- a/modules/46_carbonpriceRegi/netZero/sets.gms +++ b/modules/46_carbonpriceRegi/netZero/sets.gms @@ -15,14 +15,14 @@ SETS nz_reg2080(all_regi) "regions with net-zero 2080 target" / / nz_reg_CO2(all_regi) "regions with CO2, not GHG target" / "CHA","IND" / ; -$elseif.scen "%cm_netZeroScen%" == "ENGAGE4p5_GlP" +$elseif.scen "%cm_netZeroScen%" == "ELEVATE2p3" SETS - nz_reg2050(all_regi) "regions with net-zero 2050 target" / "CAZ","EUR","JPN","USA" / - nz_reg2055(all_regi) "regions with net-zero 2055 target" / "LAM","MEA","NEU","OAS" / + nz_reg2050(all_regi) "regions with net-zero 2050 target" / "CAZ","EUR","JPN","USA","LAM" / + nz_reg2055(all_regi) "regions with net-zero 2055 target" / "MEA","NEU","OAS", "SSA" / nz_reg2060(all_regi) "regions with net-zero 2060 target" / "CHA","REF" / nz_reg2070(all_regi) "regions with net-zero 2070 target" / "IND" / - nz_reg2080(all_regi) "regions with net-zero 2080 target" / "SSA" / - nz_reg_CO2(all_regi) "regions with CO2, not GHG target" / "IND","OAS","NEU","SSA" / + nz_reg2080(all_regi) "regions with net-zero 2080 target" / / + nz_reg_CO2(all_regi) "regions with CO2, not GHG target" / "OAS","NEU","SSA", "LAM","MEA", "REF", "CHA", "IND" / ; $else.scen $error 'In 46_carbonpriceRegi/netZero/sets.gms, no settings for the specified cm_netZeroScen found' diff --git a/scripts/output/export/xlsx_IIASA.R b/scripts/output/export/xlsx_IIASA.R index 291f800a8..a0e07c8e6 100644 --- a/scripts/output/export/xlsx_IIASA.R +++ b/scripts/output/export/xlsx_IIASA.R @@ -34,7 +34,8 @@ lucode2::readArgs("project") projects <- list( ELEVATE = list(mapping = c("NAVIGATE", "ELEVATE"), - iiasatemplate = "https://files.ece.iiasa.ac.at/elevate/elevate-template.xlsx"), + iiasatemplate = "https://files.ece.iiasa.ac.at/elevate/elevate-template.xlsx", + removeFromScen = "C_|eoc"), ENGAGE_4p5 = list(mapping = c("AR6", "AR6_NGFS"), iiasatemplate = "ENGAGE_CD-LINKS_template_2019-08-22.xlsx", removeFromScen = "_diff|_expoLinear|-all_regi"), diff --git a/scripts/start/needBau.R b/scripts/start/needBau.R index 25af30586..c8b66dfc8 100644 --- a/scripts/start/needBau.R +++ b/scripts/start/needBau.R @@ -9,5 +9,5 @@ # This allows readCheckScenarioConfig and checkFixConfig to set it to NA # if not needed, and complain if it is missing. needBau <- list(carbonprice = "NDC", - carbonpriceRegi = "NDC", + carbonpriceRegi = c("NDC", "netZero"), emicapregi = "AbilityToPay") From c2fbb13339852684b86a4f223dd5b857d625242c Mon Sep 17 00:00:00 2001 From: orichters Date: Tue, 1 Oct 2024 14:16:48 +0200 Subject: [PATCH 577/875] codeCheck --- modules/45_carbonprice/NDC/not_used.txt | 1 + modules/45_carbonprice/NPi/not_used.txt | 1 + modules/45_carbonprice/NPi2025_EUR55/not_used.txt | 6 +++++- modules/45_carbonprice/NPiexpo/not_used.txt | 3 +++ modules/45_carbonprice/diffCurvPhaseIn2Lin/not_used.txt | 1 + modules/45_carbonprice/diffExp2Lin/not_used.txt | 1 + modules/45_carbonprice/diffLin2Lin/not_used.txt | 1 + modules/45_carbonprice/exogenous/not_used.txt | 1 + modules/45_carbonprice/expoLinear/not_used.txt | 1 + modules/45_carbonprice/exponential/not_used.txt | 1 + modules/45_carbonprice/linear/not_used.txt | 1 + modules/45_carbonprice/module.gms | 2 -- modules/45_carbonprice/none/not_used.txt | 1 + modules/45_carbonprice/temperatureNotToExceed/not_used.txt | 1 + scripts/start/needBau.R | 2 +- 15 files changed, 20 insertions(+), 4 deletions(-) diff --git a/modules/45_carbonprice/NDC/not_used.txt b/modules/45_carbonprice/NDC/not_used.txt index 65d442e6a..f082f97be 100644 --- a/modules/45_carbonprice/NDC/not_used.txt +++ b/modules/45_carbonprice/NDC/not_used.txt @@ -25,3 +25,4 @@ cm_co2_tax_spread,switch,no carbon price differentiation in this realization cm_co2_tax_startyear,input,added by codeCheck cm_peakBudgYr,input,added by codeCheck cm_taxCO2inc_after_peakBudgYr,input,added by codeCheck +fm_taxCO2eqHist,input,not needed diff --git a/modules/45_carbonprice/NPi/not_used.txt b/modules/45_carbonprice/NPi/not_used.txt index 0b50895fc..2d6955c04 100644 --- a/modules/45_carbonprice/NPi/not_used.txt +++ b/modules/45_carbonprice/NPi/not_used.txt @@ -33,3 +33,4 @@ cm_co2_tax_spread,input,no carbon price differentiation in this realization cm_co2_tax_startyear,input,added by codeCheck cm_peakBudgYr,input,added by codeCheck cm_taxCO2inc_after_peakBudgYr,input,added by codeCheck +fm_taxCO2eqHist,input,not needed diff --git a/modules/45_carbonprice/NPi2025_EUR55/not_used.txt b/modules/45_carbonprice/NPi2025_EUR55/not_used.txt index 0c70426d6..ca481532d 100755 --- a/modules/45_carbonprice/NPi2025_EUR55/not_used.txt +++ b/modules/45_carbonprice/NPi2025_EUR55/not_used.txt @@ -28,4 +28,8 @@ cm_NDC_divergentScenario,input,questionnaire vm_demFeSector,input,questionnaire pm_emifac,input,questionnaire cm_co2_tax_2020,input,not needed -cm_co2_tax_spread,input,not needed \ No newline at end of file +cm_co2_tax_spread,input,not needed +cm_peakBudgYr,input,not needed +cm_co2_tax_startyear,input,not needed +cm_taxCO2inc_after_peakBudgYr,input,not needed +sm_D2005_2_D2017,input,not needed diff --git a/modules/45_carbonprice/NPiexpo/not_used.txt b/modules/45_carbonprice/NPiexpo/not_used.txt index e4b163001..eb9c29cae 100644 --- a/modules/45_carbonprice/NPiexpo/not_used.txt +++ b/modules/45_carbonprice/NPiexpo/not_used.txt @@ -31,3 +31,6 @@ cm_peakBudgYr,input,added by codeCheck cm_co2_tax_2020,input,added by codeCheck cm_co2_tax_startyear,input,added by codeCheck fm_taxCO2eqHist,input,not needed +sm_D2005_2_D2017,input,not needed +cm_taxCO2inc_after_peakBudgYr,input,not needed +cm_co2_tax_spread,input,not needed diff --git a/modules/45_carbonprice/diffCurvPhaseIn2Lin/not_used.txt b/modules/45_carbonprice/diffCurvPhaseIn2Lin/not_used.txt index 73edac052..1f2eb1239 100644 --- a/modules/45_carbonprice/diffCurvPhaseIn2Lin/not_used.txt +++ b/modules/45_carbonprice/diffCurvPhaseIn2Lin/not_used.txt @@ -29,3 +29,4 @@ cm_peakBudgYr,input,added by codeCheck cm_startyear,input,added by codeCheck cm_taxCO2inc_after_peakBudgYr,input,added by codeCheck sm_D2005_2_D2017,input,not needed +fm_taxCO2eqHist,input,not needed diff --git a/modules/45_carbonprice/diffExp2Lin/not_used.txt b/modules/45_carbonprice/diffExp2Lin/not_used.txt index 17aba2d68..f6a287d81 100644 --- a/modules/45_carbonprice/diffExp2Lin/not_used.txt +++ b/modules/45_carbonprice/diffExp2Lin/not_used.txt @@ -23,3 +23,4 @@ cm_NDC_divergentScenario,input,questionnaire vm_demFeSector,input,questionnaire pm_emifac,input,questionnaire sm_D2005_2_D2017,input,not needed +fm_taxCO2eqHist,input,not needed diff --git a/modules/45_carbonprice/diffLin2Lin/not_used.txt b/modules/45_carbonprice/diffLin2Lin/not_used.txt index 8d668392d..91086f7f6 100644 --- a/modules/45_carbonprice/diffLin2Lin/not_used.txt +++ b/modules/45_carbonprice/diffLin2Lin/not_used.txt @@ -24,3 +24,4 @@ vm_demFeSector,input,questionnaire pm_emifac,input,questionnaire cm_co2_tax_2020,input,replaced by cm_co2_tax_startyear in this realization sm_D2005_2_D2017,input,not needed +fm_taxCO2eqHist,input,not needed diff --git a/modules/45_carbonprice/exogenous/not_used.txt b/modules/45_carbonprice/exogenous/not_used.txt index 4eecba445..dc9ca5ef6 100644 --- a/modules/45_carbonprice/exogenous/not_used.txt +++ b/modules/45_carbonprice/exogenous/not_used.txt @@ -33,3 +33,4 @@ cm_co2_tax_startyear,input,added by codeCheck cm_peakBudgYr,input,added by codeCheck cm_taxCO2inc_after_peakBudgYr,input,added by codeCheck sm_D2005_2_D2017,input,not needed +fm_taxCO2eqHist,input,not needed diff --git a/modules/45_carbonprice/expoLinear/not_used.txt b/modules/45_carbonprice/expoLinear/not_used.txt index 8e3448563..2af583b78 100644 --- a/modules/45_carbonprice/expoLinear/not_used.txt +++ b/modules/45_carbonprice/expoLinear/not_used.txt @@ -29,3 +29,4 @@ cm_peakBudgYr,input,added by codeCheck cm_co2_tax_2020,input,added by codeCheck cm_taxCO2inc_after_peakBudgYr,input,added by codeCheck sm_D2005_2_D2017,input,not needed +fm_taxCO2eqHist,input,not needed diff --git a/modules/45_carbonprice/exponential/not_used.txt b/modules/45_carbonprice/exponential/not_used.txt index d007e2abc..1b95c0897 100644 --- a/modules/45_carbonprice/exponential/not_used.txt +++ b/modules/45_carbonprice/exponential/not_used.txt @@ -32,3 +32,4 @@ cm_co2_tax_startyear,input,added by codeCheck cm_peakBudgYr,input,added by codeCheck cm_taxCO2inc_after_peakBudgYr,input,added by codeCheck sm_D2005_2_D2017,input,not needed +fm_taxCO2eqHist,input,not needed diff --git a/modules/45_carbonprice/linear/not_used.txt b/modules/45_carbonprice/linear/not_used.txt index d37abf864..c49e6c18b 100644 --- a/modules/45_carbonprice/linear/not_used.txt +++ b/modules/45_carbonprice/linear/not_used.txt @@ -32,3 +32,4 @@ cm_co2_tax_startyear,input,added by codeCheck cm_peakBudgYr,input,added by codeCheck cm_taxCO2inc_after_peakBudgYr,input,added by codeCheck sm_D2005_2_D2017,input,not needed +fm_taxCO2eqHist,input,not needed diff --git a/modules/45_carbonprice/module.gms b/modules/45_carbonprice/module.gms index 7c0730e5d..2dab1e793 100644 --- a/modules/45_carbonprice/module.gms +++ b/modules/45_carbonprice/module.gms @@ -23,10 +23,8 @@ *###################### R SECTION START (MODULETYPES) ########################## $Ifi "%carbonprice%" == "NDC" $include "./modules/45_carbonprice/NDC/realization.gms" $Ifi "%carbonprice%" == "NPi" $include "./modules/45_carbonprice/NPi/realization.gms" -$Ifi "%carbonprice%" == "NPi2025" $include "./modules/45_carbonprice/NPi2025/realization.gms" $Ifi "%carbonprice%" == "NPi2025_EUR55" $include "./modules/45_carbonprice/NPi2025_EUR55/realization.gms" $Ifi "%carbonprice%" == "NPiexpo" $include "./modules/45_carbonprice/NPiexpo/realization.gms" -$Ifi "%carbonprice%" == "NPiexpo_EUR55" $include "./modules/45_carbonprice/NPiexpo_EUR55/realization.gms" $Ifi "%carbonprice%" == "diffCurvPhaseIn2Lin" $include "./modules/45_carbonprice/diffCurvPhaseIn2Lin/realization.gms" $Ifi "%carbonprice%" == "diffExp2Lin" $include "./modules/45_carbonprice/diffExp2Lin/realization.gms" $Ifi "%carbonprice%" == "diffLin2Lin" $include "./modules/45_carbonprice/diffLin2Lin/realization.gms" diff --git a/modules/45_carbonprice/none/not_used.txt b/modules/45_carbonprice/none/not_used.txt index 63ad62de7..984e97a97 100644 --- a/modules/45_carbonprice/none/not_used.txt +++ b/modules/45_carbonprice/none/not_used.txt @@ -35,3 +35,4 @@ cm_co2_tax_startyear,input,added by codeCheck cm_peakBudgYr,input,added by codeCheck cm_taxCO2inc_after_peakBudgYr,input,added by codeCheck sm_D2005_2_D2017,input,not needed +fm_taxCO2eqHist,input,not needed diff --git a/modules/45_carbonprice/temperatureNotToExceed/not_used.txt b/modules/45_carbonprice/temperatureNotToExceed/not_used.txt index 82b3b0a52..4172cfdea 100644 --- a/modules/45_carbonprice/temperatureNotToExceed/not_used.txt +++ b/modules/45_carbonprice/temperatureNotToExceed/not_used.txt @@ -27,3 +27,4 @@ cm_co2_tax_startyear,input,added by codeCheck cm_peakBudgYr,input,added by codeCheck cm_taxCO2inc_after_peakBudgYr,input,added by codeCheck sm_D2005_2_D2017,input,not needed +fm_taxCO2eqHist,input,not needed diff --git a/scripts/start/needBau.R b/scripts/start/needBau.R index c8b66dfc8..25af30586 100644 --- a/scripts/start/needBau.R +++ b/scripts/start/needBau.R @@ -9,5 +9,5 @@ # This allows readCheckScenarioConfig and checkFixConfig to set it to NA # if not needed, and complain if it is missing. needBau <- list(carbonprice = "NDC", - carbonpriceRegi = c("NDC", "netZero"), + carbonpriceRegi = "NDC", emicapregi = "AbilityToPay") From 37d014467cd4d7285cd0c9a7fa4a32c2b2b8ba66 Mon Sep 17 00:00:00 2001 From: orichters Date: Tue, 1 Oct 2024 16:54:44 +0200 Subject: [PATCH 578/875] make sure remind fails transparently if using path_gdx_ref with a higher cm_startyear --- scripts/start/prepare.R | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/scripts/start/prepare.R b/scripts/start/prepare.R index c35c79030..99b66865e 100644 --- a/scripts/start/prepare.R +++ b/scripts/start/prepare.R @@ -613,6 +613,11 @@ prepare <- function() { create_fixing_files(cfg = cfg, input_ref_file = "input_ref.gdx") } + if (cfg$gms$cm_startyear > 2005) { + cm_startyear_ref <- as.integer(readGDX("input_ref.gdx", name = "cm_startyear", format = "simplest")) + if (cfg$gms$cm_startyear < cm_startyear_ref) stop("cm_startyear must be larger than its counterpart in input_ref.gdx") + } + timePrepareEnd <- Sys.time() # Save run statistics to local file cat("Saving timePrepareStart and timePrepareEnd to runstatistics.rda\n") From ba741c00b4da23172e9e41ae190437c90b248ae7 Mon Sep 17 00:00:00 2001 From: orichters Date: Wed, 2 Oct 2024 08:56:58 +0200 Subject: [PATCH 579/875] remove rev at beginning of cfg --- scripts/start/checkFixCfg.R | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/scripts/start/checkFixCfg.R b/scripts/start/checkFixCfg.R index f81f7aa37..40317167a 100644 --- a/scripts/start/checkFixCfg.R +++ b/scripts/start/checkFixCfg.R @@ -97,8 +97,14 @@ checkFixCfg <- function(cfg, remindPath = ".", testmode = FALSE) { if (! isTRUE(cfg$gms$CES_parameters == "calibrate")) { cfg$output <- setdiff(cfg$output, "reportCEScalib") } - - # Make sure that an input_bau.gdx has been specified if and only if needed. + + # remove rev at the beginning of inputRevision + if (grepl("^rev", cfg$inputRevision)) { + cfg$inputRevision <- sub("^rev", "", cfg$inputRevision) + warning("cfg$inputRevision started with 'rev', but this will be added automatically. Removed it.") + } + + # Make sure that an input_bau.gdx has been specified if needed. isBauneeded <- isTRUE(length(unlist(lapply(names(needBau), function(x) intersect(cfg$gms[[x]], needBau[[x]])))) > 0) if (isBauneeded) { if (is.na(cfg$files2export$start["input_bau.gdx"])) { From eefc8a4f21813bc61474f570e08c6a0f5bf5189d Mon Sep 17 00:00:00 2001 From: orichters Date: Wed, 2 Oct 2024 11:43:12 +0200 Subject: [PATCH 580/875] fix SOF and EOF statements, add tests --- Makefile | 1 + modules/15_climate/magicc7_ar6/datainput.gms | 4 ++-- modules/15_climate/magicc7_ar6/postsolve.gms | 4 ++-- modules/15_climate/magicc7_ar6/realization.gms | 4 ++-- modules/15_climate/magicc7_ar6/sets.gms | 4 ++-- modules/45_carbonprice/NPi2025_EUR55/datainput.gms | 4 ++-- .../45_carbonprice/NPi2025_EUR55/realization.gms | 4 ++-- modules/45_carbonprice/NPiexpo/datainput.gms | 4 ++-- modules/45_carbonprice/NPiexpo/realization.gms | 4 ++-- .../45_carbonprice/diffExp2Lin/declarations.gms | 2 +- modules/50_damages/KotzWenz/datainput.gms | 3 ++- modules/50_damages/KotzWenz/declarations.gms | 2 ++ modules/50_damages/KotzWenz/postsolve.gms | 4 ++-- modules/50_damages/KotzWenz/sets.gms | 2 ++ .../KotzWenzCPreg/datainput.gms | 4 ++-- .../KotzWenzCPreg/postsolve.gms | 4 ++-- .../KotzWenzCPreg/realization.gms | 3 +++ scripts/utils/SOFEOF | 8 ++++++++ tests/testthat/test_00-SOF-EOF.R | 14 ++++++++++++++ 19 files changed, 55 insertions(+), 24 deletions(-) create mode 100755 scripts/utils/SOFEOF create mode 100644 tests/testthat/test_00-SOF-EOF.R diff --git a/Makefile b/Makefile index f81c560b6..78dc17ccb 100644 --- a/Makefile +++ b/Makefile @@ -79,6 +79,7 @@ test: ## Test if the model compiles and runs without running a full test-fix: ## First run codeCheck interactively, then test if the model compiles and runs without ## running a full scenario. Tests take about 15 minutes to run. $(info Tests take about 18 minutes to run, please be patient) + @./scripts/utils/SOFEOF @Rscript -e 'rlang::with_options(warn = 1, invisible(gms::codeCheck(strict = TRUE, interactive = TRUE))); testthat::test_dir("tests/testthat");' @echo "Do not forget to commit possible changes done by codeCheck to not_used.txt files" @git add -p modules/*/*/not_used.txt diff --git a/modules/15_climate/magicc7_ar6/datainput.gms b/modules/15_climate/magicc7_ar6/datainput.gms index 47ed2ad6d..8499141e6 100644 --- a/modules/15_climate/magicc7_ar6/datainput.gms +++ b/modules/15_climate/magicc7_ar6/datainput.gms @@ -4,7 +4,7 @@ *** | AGPL-3.0, you are granted additional permissions described in the *** | REMIND License Exception, version 1.0 (see LICENSE file). *** | Contact: remind@pik-potsdam.de -*** SOF ./modules/15_climate/magicc/datainput.gms +*** SOF ./modules/15_climate/magicc7_ar6/datainput.gms *** cluster rcp_scen into overshoot and not-to-exceed targets $if %cm_rcp_scen% == "none" s15_rcpCluster = 1; $if %cm_rcp_scen% == "rcp20" s15_rcpCluster = 1; @@ -81,4 +81,4 @@ display pm_emicapglob; pm_gmt_conv=1; p15_gmt0(tall)=1; -*** EOF ./modules/15_climate/magicc/datainput.gms +*** EOF ./modules/15_climate/magicc7_ar6/datainput.gms diff --git a/modules/15_climate/magicc7_ar6/postsolve.gms b/modules/15_climate/magicc7_ar6/postsolve.gms index 62906e8b6..2236f2130 100644 --- a/modules/15_climate/magicc7_ar6/postsolve.gms +++ b/modules/15_climate/magicc7_ar6/postsolve.gms @@ -4,7 +4,7 @@ *** | AGPL-3.0, you are granted additional permissions described in the *** | REMIND License Exception, version 1.0 (see LICENSE file). *** | Contact: remind@pik-potsdam.de -*** SOF ./modules/15_climate/magicc/postsolve.gms +*** SOF ./modules/15_climate/magicc7_ar6/postsolve.gms ***--------------------------------------------------------------------------- *' The MAGICC scenario generation is set in `./core/magicc.gms`, but runs here. @@ -106,4 +106,4 @@ if (cm_iterative_target_adj eq 2, !! otherwise adjustment happens in core/postso ); ); *' @stop -*** EOF ./modules/15_climate/magicc/postsolve.gms +*** EOF ./modules/15_climate/magicc7_ar6/postsolve.gms diff --git a/modules/15_climate/magicc7_ar6/realization.gms b/modules/15_climate/magicc7_ar6/realization.gms index 3e663d856..2331d2298 100644 --- a/modules/15_climate/magicc7_ar6/realization.gms +++ b/modules/15_climate/magicc7_ar6/realization.gms @@ -4,7 +4,7 @@ *** | AGPL-3.0, you are granted additional permissions described in the *** | REMIND License Exception, version 1.0 (see LICENSE file). *** | Contact: remind@pik-potsdam.de -*** SOF ./modules/15_climate/magicc/realization.gms +*** SOF ./modules/15_climate/magicc7_ar6/realization.gms *' @description *' In this realization, concentration, forcing, and temperature values are calculated using a version of the @@ -35,4 +35,4 @@ $Ifi "%phase%" == "declarations" $include "./modules/15_climate/magicc7_ar6/decl $Ifi "%phase%" == "datainput" $include "./modules/15_climate/magicc7_ar6/datainput.gms" $Ifi "%phase%" == "postsolve" $include "./modules/15_climate/magicc7_ar6/postsolve.gms" *######################## R SECTION END (PHASES) ############################### -*** EOF ./modules/15_climate/magicc/realization.gms +*** EOF ./modules/15_climate/magicc7_ar6/realization.gms diff --git a/modules/15_climate/magicc7_ar6/sets.gms b/modules/15_climate/magicc7_ar6/sets.gms index a5f4201c2..66bf911d6 100644 --- a/modules/15_climate/magicc7_ar6/sets.gms +++ b/modules/15_climate/magicc7_ar6/sets.gms @@ -4,7 +4,7 @@ *** | AGPL-3.0, you are granted additional permissions described in the *** | REMIND License Exception, version 1.0 (see LICENSE file). *** | Contact: remind@pik-potsdam.de -*** SOF ./modules/15_climate/magicc/sets.gms +*** SOF ./modules/15_climate/magicc7_ar6/sets.gms $ontext TODO: Rename t_magiccttot MAGICC_ttot @@ -19,4 +19,4 @@ TODO: Rename $offtext -*** EOF ./modules/15_climate/magicc/sets.gms +*** EOF ./modules/15_climate/magicc7_ar6/sets.gms diff --git a/modules/45_carbonprice/NPi2025_EUR55/datainput.gms b/modules/45_carbonprice/NPi2025_EUR55/datainput.gms index c709b0e72..d3debe018 100755 --- a/modules/45_carbonprice/NPi2025_EUR55/datainput.gms +++ b/modules/45_carbonprice/NPi2025_EUR55/datainput.gms @@ -4,7 +4,7 @@ *** | AGPL-3.0, you are granted additional permissions described in the *** | REMIND License Exception, version 1.0 (see LICENSE file). *** | Contact: remind@pik-potsdam.de -*** SOF ./modules/45_carbonprice/NPi2025/datainput.gms +*** SOF ./modules/45_carbonprice/NPi2025_EUR55/datainput.gms ***---------------------------- *** CO2 Tax level growing exponentially from 2025 value taken from input data @@ -20,4 +20,4 @@ loop(ext_regi$sameas(ext_regi, "EUR_regi"), pm_taxCO2eq(t,regi)$(t.val gt 2110) = pm_taxCO2eq("2110",regi); !! to prevent huge taxes after 2110 and the resulting convergence problems, set taxes after 2110 equal to 2110 value -*** EOF ./modules/45_carbonprice/NPi2025/datainput.gms +*** EOF ./modules/45_carbonprice/NPi2025_EUR55/datainput.gms diff --git a/modules/45_carbonprice/NPi2025_EUR55/realization.gms b/modules/45_carbonprice/NPi2025_EUR55/realization.gms index d30102495..de9c63b83 100755 --- a/modules/45_carbonprice/NPi2025_EUR55/realization.gms +++ b/modules/45_carbonprice/NPi2025_EUR55/realization.gms @@ -4,11 +4,11 @@ *** | AGPL-3.0, you are granted additional permissions described in the *** | REMIND License Exception, version 1.0 (see LICENSE file). *** | Contact: remind@pik-potsdam.de -*** SOF ./modules/45_carbonprice/NPi2025/realization.gms +*** SOF ./modules/45_carbonprice/NPi2025_EUR55/realization.gms *#' @description: This realization implements an exponential increase in carbon price from the predefined 2025 level. *####################### R SECTION START (PHASES) ############################## $Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/NPi2025_EUR55/datainput.gms" *######################## R SECTION END (PHASES) ############################### -*** EOF ./modules/45_carbonprice/NPi2025/realization.gms +*** EOF ./modules/45_carbonprice/NPi2025_EUR55/realization.gms diff --git a/modules/45_carbonprice/NPiexpo/datainput.gms b/modules/45_carbonprice/NPiexpo/datainput.gms index 74d2ff563..8433bbd35 100644 --- a/modules/45_carbonprice/NPiexpo/datainput.gms +++ b/modules/45_carbonprice/NPiexpo/datainput.gms @@ -4,7 +4,7 @@ *** | AGPL-3.0, you are granted additional permissions described in the *** | REMIND License Exception, version 1.0 (see LICENSE file). *** | Contact: remind@pik-potsdam.de -*** SOF ./modules/45_carbonprice/exponential/datainput.gms +*** SOF ./modules/45_carbonprice/NPiexpo/datainput.gms ***---------------------------- *** CO2 Tax level ***---------------------------- @@ -20,4 +20,4 @@ pm_taxCO2eq(t,regi) = sum(ttot, pm_taxCO2eq(ttot,regi)$(ttot.val eq cm_startyear pm_taxCO2eq(t,regi)$(t.val gt 2110) = pm_taxCO2eq("2110",regi); !! to prevent huge taxes after 2110 and the resulting convergence problems, set taxes after 2110 equal to 2110 value -*** EOF ./modules/45_carbonprice/exponential/datainput.gms +*** EOF ./modules/45_carbonprice/NPiexpo/datainput.gms diff --git a/modules/45_carbonprice/NPiexpo/realization.gms b/modules/45_carbonprice/NPiexpo/realization.gms index 90742d4af..30d355e58 100644 --- a/modules/45_carbonprice/NPiexpo/realization.gms +++ b/modules/45_carbonprice/NPiexpo/realization.gms @@ -4,11 +4,11 @@ *** | AGPL-3.0, you are granted additional permissions described in the *** | REMIND License Exception, version 1.0 (see LICENSE file). *** | Contact: remind@pik-potsdam.de -*** SOF ./modules/45_carbonprice/exponential/realization.gms +*** SOF ./modules/45_carbonprice/NPiexpo/realization.gms *#' @description: This realization imeplents an exponential increase in carbon price from the predefined 2020 level. *####################### R SECTION START (PHASES) ############################## $Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/NPiexpo/datainput.gms" *######################## R SECTION END (PHASES) ############################### -*** EOF ./modules/45_carbonprice/exponential/realization.gms +*** EOF ./modules/45_carbonprice/NPiexpo/realization.gms diff --git a/modules/45_carbonprice/diffExp2Lin/declarations.gms b/modules/45_carbonprice/diffExp2Lin/declarations.gms index b3e187559..14caa13ea 100644 --- a/modules/45_carbonprice/diffExp2Lin/declarations.gms +++ b/modules/45_carbonprice/diffExp2Lin/declarations.gms @@ -4,7 +4,7 @@ *** | AGPL-3.0, you are granted additional permissions described in the *** | REMIND License Exception, version 1.0 (see LICENSE file). *** | Contact: remind@pik-potsdam.de -*** SOF ./modules/45_carbonprice/diffExp2Lin/datainput.gms +*** SOF ./modules/45_carbonprice/diffExp2Lin/declarations.gms ***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- *** diff: regional prices are initially differentiated by GDP/capita and converge using quadratic phase-in until cm_CO2priceRegConvEndYr (default = 2050), globally uniform price thereafter, *** level of regional carbon price differentiation (uniform, medium, strong) can be chosen via cm_co2_tax_spread diff --git a/modules/50_damages/KotzWenz/datainput.gms b/modules/50_damages/KotzWenz/datainput.gms index 8db5c68d5..368a741d2 100644 --- a/modules/50_damages/KotzWenz/datainput.gms +++ b/modules/50_damages/KotzWenz/datainput.gms @@ -1,4 +1,4 @@ - +*** SOF ./modules/50_damages/KotzWenz/datainput.gms table f50_countryGDP(tall,iso,all_GDPscen) "country level GDP from SSPs" $ondelim $include "./modules/50_damages/KotzWenz/input/f50_gdp.cs3r" @@ -21,3 +21,4 @@ display pm_GDPfrac; pm_GDPfrac(tall,iso)$(tall.val ge 2150) = pm_GDPfrac("2150",iso); +*** EOF ./modules/50_damages/KotzWenz/datainput.gms diff --git a/modules/50_damages/KotzWenz/declarations.gms b/modules/50_damages/KotzWenz/declarations.gms index f0d75e172..5dd033582 100644 --- a/modules/50_damages/KotzWenz/declarations.gms +++ b/modules/50_damages/KotzWenz/declarations.gms @@ -1,3 +1,4 @@ +*** SOF ./modules/50_damages/KotzWenz/declarations.gms Parameters pm_GDPfrac(tall,iso) "GDP fraction of a country in its region" p50_damageIsoPerc(tall,iso,percentile) "damage factor for country and bootstrapping" @@ -10,3 +11,4 @@ positive variable vm_damageFactor(ttot,all_regi) "damage factor reducing GDP" vm_damageProdFactor(ttot,all_regi,all_in) "damage factor reducing production factors" ; +*** EOF ./modules/50_damages/KotzWenz/declarations.gms diff --git a/modules/50_damages/KotzWenz/postsolve.gms b/modules/50_damages/KotzWenz/postsolve.gms index c371c96f7..21c8dd90d 100644 --- a/modules/50_damages/KotzWenz/postsolve.gms +++ b/modules/50_damages/KotzWenz/postsolve.gms @@ -1,4 +1,4 @@ - +*** SOF ./modules/50_damages/KotzWenz/postsolve.gms execute "Rscript run_KotzWenz_damages.R" execute_loadpoint 'pm_KotzWenz_damageIso' p50_damageIsoPerc=pm_damageIso; execute_loadpoint 'pm_KotzWenz_damageMarginalIso' p50_damageMarginalIsoPerc=pm_damageMarginalIso; @@ -13,4 +13,4 @@ pm_damage(tall,regi)$(tall.val gt 2020 and tall.val le 2300) = ; display pm_damage,pm_damageMarginal; - +*** EOF ./modules/50_damages/KotzWenz/postsolve.gms diff --git a/modules/50_damages/KotzWenz/sets.gms b/modules/50_damages/KotzWenz/sets.gms index daa7834a1..12b45ef39 100644 --- a/modules/50_damages/KotzWenz/sets.gms +++ b/modules/50_damages/KotzWenz/sets.gms @@ -1,3 +1,4 @@ +*** SOF ./modules/50_damages/KotzWenz/sets.gms SETS nboot "boot strapping realisations of damage function parameters" / @@ -9,3 +10,4 @@ percentile "possible percentiles of damage function as coded in the R script" / ; +*** EOF ./modules/50_damages/KotzWenz/sets.gms diff --git a/modules/51_internalizeDamages/KotzWenzCPreg/datainput.gms b/modules/51_internalizeDamages/KotzWenzCPreg/datainput.gms index 89a7ccaf7..5f967cc47 100644 --- a/modules/51_internalizeDamages/KotzWenzCPreg/datainput.gms +++ b/modules/51_internalizeDamages/KotzWenzCPreg/datainput.gms @@ -4,7 +4,7 @@ *** | AGPL-3.0, you are granted additional permissions described in the *** | REMIND License Exception, version 1.0 (see LICENSE file). *** | Contact: remind@pik-potsdam.de -*** SOF ./modules/51_internalizeDamages/KotzWenzItr/datainput.gms +*** SOF ./modules/51_internalizeDamages/KotzWenzCPreg/datainput.gms * satisfy dependencies $ifi not %damages% == 'KotzWenz' abort "module internalizeDamages=KotzWenzItr requires module damages=KotzWenz"; @@ -17,4 +17,4 @@ p51_scc(tall,regi)$(tall.val ge 2025 and tall.val le 2150) = p51_scc("2025",regi pm_taxCO2eqSCC(ttot,regi)$(ttot.val ge 2010) = p51_scc(ttot,regi) * sm_c_2_co2/1000; -*** EOF ./modules/51_internalizeDamages/KotzWenzItr/datainput.gms +*** EOF ./modules/51_internalizeDamages/KotzWenzCPreg/datainput.gms diff --git a/modules/51_internalizeDamages/KotzWenzCPreg/postsolve.gms b/modules/51_internalizeDamages/KotzWenzCPreg/postsolve.gms index 05778c596..cd453f902 100644 --- a/modules/51_internalizeDamages/KotzWenzCPreg/postsolve.gms +++ b/modules/51_internalizeDamages/KotzWenzCPreg/postsolve.gms @@ -5,7 +5,7 @@ *** | REMIND License Exception, version 1.0 (see LICENSE file). *** | Contact: remind@pik-potsdam.de -*** SOF ./modules/51_internalizeDamages/KotzWenzItr/postsolve.gms +*** SOF ./modules/51_internalizeDamages/KotzWenzCPreg/postsolve.gms p51_sccLastItr(tall,regi) = p51_scc(tall,regi); @@ -44,6 +44,6 @@ pm_sccConvergenceMaxDeviation=0; pm_sccConvergenceMaxDeviation = 100 * smax(regi,smax(tall$(tall.val ge cm_startyear and tall.val lt 2150),abs(p51_scc(tall,regi)/max(p51_sccLastItr(tall,regi),1e-8) - 1) )); display pm_sccConvergenceMaxDeviation; -*** EOF ./modules/51_internalizeDamages/KotzWenzItr/postsolve.gms +*** EOF ./modules/51_internalizeDamages/KotzWenzCPreg/postsolve.gms diff --git a/modules/51_internalizeDamages/KotzWenzCPreg/realization.gms b/modules/51_internalizeDamages/KotzWenzCPreg/realization.gms index 40a633bd4..9af9ede41 100644 --- a/modules/51_internalizeDamages/KotzWenzCPreg/realization.gms +++ b/modules/51_internalizeDamages/KotzWenzCPreg/realization.gms @@ -1,6 +1,9 @@ +*** SOF ./modules/51_internalizeDamages/KotzWenzCPreg/realization.gms *####################### R SECTION START (PHASES) ############################## $Ifi "%phase%" == "declarations" $include "./modules/51_internalizeDamages/KotzWenzCPreg/declarations.gms" $Ifi "%phase%" == "datainput" $include "./modules/51_internalizeDamages/KotzWenzCPreg/datainput.gms" $Ifi "%phase%" == "postsolve" $include "./modules/51_internalizeDamages/KotzWenzCPreg/postsolve.gms" *######################## R SECTION END (PHASES) ############################### + +*** EOF ./modules/51_internalizeDamages/KotzWenzCPreg/realization.gms diff --git a/scripts/utils/SOFEOF b/scripts/utils/SOFEOF new file mode 100755 index 000000000..ec086a100 --- /dev/null +++ b/scripts/utils/SOFEOF @@ -0,0 +1,8 @@ +#!/bin/bash +if [ -f SOFEOF ]; then + cd ../.. +fi +for i in core/*.gms modules/*.gms modules/*/*.gms modules/*/*/*.gms +do + sed -i "s>\*\*\* *SOF.*$>\*\*\* SOF ./${i}>g;s>\*\*\* *EOF.*$>\*\*\* EOF ./${i}>g" $i +done diff --git a/tests/testthat/test_00-SOF-EOF.R b/tests/testthat/test_00-SOF-EOF.R new file mode 100644 index 000000000..934ce7f63 --- /dev/null +++ b/tests/testthat/test_00-SOF-EOF.R @@ -0,0 +1,14 @@ +test_that("all gms files have SOF and EOF statements", { + grepnotavailable <- Sys.which("grep") == "" + if (! grepnotavailable) { + files <- paste0("../../", c("core/", "modules/", paste0("modules/", c("*/", "*/*/"))), "*.gms") + SOF <- try(system(paste("grep -L '\\*\\*\\* *SOF.*$'", paste(files, collapse = " ")), intern = TRUE), silent = TRUE) + EOF <- try(system(paste("grep -L '\\*\\*\\* *EOF.*$'", paste(files, collapse = " ")), intern = TRUE), silent = TRUE) + missingSOFEOF <- sub("../../", "", sort(unique(c(SOF, EOF))), fixed = TRUE) + expect_equal(length(missingSOFEOF), 0) + if (length(missingSOFEOF) > 0) { + warning("These gms files lack SOF or EOF statements:\n", paste(missingSOFEOF, collapse = "\n"), + "\nAdd '*** SOF' at the beginning and '*** EOF' at the end of the files and then run './scripts/utils/SOFEOF'") + } + } +}) From bd3b82b800c0dadd8b957cbe106eb38793d48cdf Mon Sep 17 00:00:00 2001 From: orichters Date: Wed, 2 Oct 2024 11:53:24 +0200 Subject: [PATCH 581/875] improve 45_carbonprice descriptions --- modules/45_carbonprice/NPi/realization.gms | 4 ++++ modules/45_carbonprice/NPi2025_EUR55/realization.gms | 3 ++- modules/45_carbonprice/exponential/realization.gms | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/modules/45_carbonprice/NPi/realization.gms b/modules/45_carbonprice/NPi/realization.gms index 399090376..dafbadcb2 100644 --- a/modules/45_carbonprice/NPi/realization.gms +++ b/modules/45_carbonprice/NPi/realization.gms @@ -6,6 +6,10 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/45_carbonprice/NPi/realization.gms +@description This realization takes the carbon prices until 2020 from the input data +and implements as convergence scheme post 2020: parabolic convergence up to 25 US$2005/t CO2 +in the convergence year (here chosen as 2100) and then constant + *####################### R SECTION START (PHASES) ############################## $Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/NPi/datainput.gms" *######################## R SECTION END (PHASES) ############################### diff --git a/modules/45_carbonprice/NPi2025_EUR55/realization.gms b/modules/45_carbonprice/NPi2025_EUR55/realization.gms index de9c63b83..5a9744faf 100755 --- a/modules/45_carbonprice/NPi2025_EUR55/realization.gms +++ b/modules/45_carbonprice/NPi2025_EUR55/realization.gms @@ -6,9 +6,10 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/45_carbonprice/NPi2025_EUR55/realization.gms -*#' @description: This realization implements an exponential increase in carbon price from the predefined 2025 level. +*#' @description: This realization takes the carbon prices until 2025 from the input data (for EUR until 2030) and implements an exponentially growing path afterwards *####################### R SECTION START (PHASES) ############################## $Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/NPi2025_EUR55/datainput.gms" *######################## R SECTION END (PHASES) ############################### + *** EOF ./modules/45_carbonprice/NPi2025_EUR55/realization.gms diff --git a/modules/45_carbonprice/exponential/realization.gms b/modules/45_carbonprice/exponential/realization.gms index 7f953ad96..7e0d49170 100644 --- a/modules/45_carbonprice/exponential/realization.gms +++ b/modules/45_carbonprice/exponential/realization.gms @@ -6,7 +6,7 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/45_carbonprice/exponential/realization.gms -*#' @description: This realization imeplents an exponential increase in carbon price from the predefined 2020 level. +*#' @description: This realization implements an exponential increase in carbon price from the predefined 2020 level. *####################### R SECTION START (PHASES) ############################## $Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/exponential/datainput.gms" From f5421fee0018fce6b5e880b1fbb1deb8cc10204d Mon Sep 17 00:00:00 2001 From: orichters Date: Wed, 2 Oct 2024 11:54:20 +0200 Subject: [PATCH 582/875] move test_00 to test_01 --- tests/testthat/{test_00-SOF-EOF.R => test_01-SOF-EOF.R} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename tests/testthat/{test_00-SOF-EOF.R => test_01-SOF-EOF.R} (100%) diff --git a/tests/testthat/test_00-SOF-EOF.R b/tests/testthat/test_01-SOF-EOF.R similarity index 100% rename from tests/testthat/test_00-SOF-EOF.R rename to tests/testthat/test_01-SOF-EOF.R From ca5f129efdad23ed40ce524d7a1421244e3a8013 Mon Sep 17 00:00:00 2001 From: orichters Date: Wed, 2 Oct 2024 13:30:43 +0200 Subject: [PATCH 583/875] add ELEVATE config files --- config/scenario_config_ELEVATE2p3.csv | 14 ++++++++++++++ config/scenario_config_coupled_ELEVATE2p3.csv | 14 ++++++++++++++ 2 files changed, 28 insertions(+) create mode 100755 config/scenario_config_ELEVATE2p3.csv create mode 100755 config/scenario_config_coupled_ELEVATE2p3.csv diff --git a/config/scenario_config_ELEVATE2p3.csv b/config/scenario_config_ELEVATE2p3.csv new file mode 100755 index 000000000..7f137428c --- /dev/null +++ b/config/scenario_config_ELEVATE2p3.csv @@ -0,0 +1,14 @@ +title;start;slurmConfig;cm_wasteIncinerationCCSshare;cm_EDGEtr_scen;cm_reducCostB;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;carbonpriceRegi;cm_netZeroScen;cm_co2_tax_startyear;cm_peakBudgYr;cm_taxCO2inc_after_peakBudgYr;cm_emiscen;cm_co2_tax_growth;cm_maxProdBiolc;techpol;cm_multigasscen;cm_startyear;path_gdx_carbonprice;path_gdx;path_gdx_refpolicycost;path_gdx_bau;description +SSP2-Base;0;9;;Mix1;none;none;0;off;0;none;none;;-1;2100;3;1;1.05;off;none;2;2005;;;;;SSP2-Base: 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. +ELV_CurPol_T44;0;9;;Mix3;none;rcp45;3;off;0;NPi;none;;1;2100;3;9;1.05;100;NPi2018;3;2005;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030. In the default setting carbon prices converges after 2030 over all regions to $25 eoc. +ELV_NDC2030_T44;1;9;;Mix3;none;rcp45;3;globallyOptimal;0;NDC;none;;1;2100;3;9;1.05;100;NDC;3;2025;;;ELV-SSP2-CP-D1;ELV-SSP2-CP-D1;ELV_NDC2030_T44: 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. +ELV-SSP2-NDC-D0;1;9;;Mix3;none;rcp45;3;globallyOptimal;0;NPiexpo;none;;1;2100;3;9;1;100;NDC;3;2035;;ELV_NDC2030_T44;ELV_NDC2030_T44;;ELV-SSP2-NDC-D0: 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 constant throughout the rest of the century. +ELV-SSP2-NDC-D1;1;9;;Mix3;none;rcp45;3;globallyOptimal;0;NPiexpo;none;;1;2100;3;9;1.01;100;NDC;3;2035;;ELV_NDC2030_T44;ELV_NDC2030_T44;;ELV-SSP2-NDC-D1: 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 increases by 1%. +ELV-SSP2-NDC-D3;1;9;;Mix3;none;rcp45;3;globallyOptimal;0;NPiexpo;none;;1;2100;3;9;1.03;100;NDC;3;2035;;ELV_NDC2030_T44;ELV_NDC2030_T44;;ELV-SSP2-NDC-D3: 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 increases by 3%. +ELV-SSP2-LTS;1;9;2050.GLO 0.5;Mix3;none;rcp26;3;globallyOptimal;0;NDC;netZero;ELEVATE2p3;1;2100;3;9;1.05;100;NDC;3;2025;;ELV-SSP2-CP-D1;ELV-SSP2-CP-D1;ELV-SSP2-CP-D1;ELV_LTS_T44: High uncoordinated ambition (named as Glasgow in the ENGAGE 4.5 runs. The Glasgow scenario considers the NDC pledges and the mid-century strategy pledges (net-zero) announced at COP26 in Glasgow.) +ELV-SSP2-NDC-LTS;1;9;2050.GLO 0.5;Mix3;none;rcp26;3;globallyOptimal;0;exogenous;netZero;ELEVATE2p3;1;2100;3;9;1.05;100;NDC;3;2035;ELV_NDC2030_T44;ELV_NDC2030_T44;ELV_NDC2030_T44;ELV-SSP2-CP-D1;ELV-SSP2-NDC-LTS: The scenario reaches NDC pleages in 2030 and converges to the Glasgow mid-century pledges. +ELV-SSP2-1150;1;9;2050.GLO 0.5;Mix3;heatpumps;rcp26;7;globallyOptimal;1150;expoLinear;none;;163;2080;3;9;1.05;100;NDC;2;2030;;;ELV_NDC2030_T44;;ELV-SSP2-1150: net-zero budget Szenarien for 2 degree C global scenario without overshoot +ELV-SSP2-400Feoc;1;9;2050.GLO 0.9;Mix3;heatpumps;rcp20;5;globallyOptimal;400;expoLinear;none;;163;2080;3;9;1.05;100;NDC;2;2030;;ELV_NDC2030_T44;ELV_NDC2030_T44;;ELV-SSP2-400F: full century 1.5 degree C global scenario allowing for overshoot. +ELV-SSP2-CP-D0;1;9;;Mix3;none;rcp45;3;off;0;NPi2025_EUR55;none;;1;2100;3;9;1;100;NPi2018;3;2005;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030 with new expert guess for 2025 and 2030 (EUR only). After 2030 each region keeps the carbon price constant. +ELV-SSP2-CP-D1;1;9;;Mix3;none;rcp45;3;off;0;NPi2025_EUR55;none;;1;2100;3;9;1.01;100;NPi2018;3;2005;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030 with new expert guess for 2025 and 2030 (EUR only). After 2030 each region increases their carbon price by 1%. +ELV-SSP2-CP-D3;1;9;;Mix3;none;rcp45;3;off;0;NPi2025_EUR55;none;;1;2100;3;9;1.03;100;NPi2018;3;2005;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030 with new expert guess for 2025 and 2030 (EUR only). After 2030 each region increases their carbon price by 3%. diff --git a/config/scenario_config_coupled_ELEVATE2p3.csv b/config/scenario_config_coupled_ELEVATE2p3.csv new file mode 100755 index 000000000..620040a38 --- /dev/null +++ b/config/scenario_config_coupled_ELEVATE2p3.csv @@ -0,0 +1,14 @@ +title;start;oldrun;path_report;qos;magpie_scen;no_ghgprices_land_until;.cm_nash_autoconverge_lastrun;path_gdx_carbonprice;path_gdx;path_gdx_ref;path_gdx_bau +SSP2-Base;0;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;2;;;; +ELV_CurPol_T44;0;;;priority;SSP2|NPI|nocc_hist|rcp4p5;y2150;2;;;; +ELV_NDC2030_T44;1;;;priority;SSP2|NDC|nocc_hist|rcp4p5;y2150;2;;;; +ELV-SSP2-NDC-D0;1;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;2;;;; +ELV-SSP2-NDC-D1;1;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;2;;;; +ELV-SSP2-NDC-D3;1;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;2;;;; +ELV-SSP2-LTS;1;;;;SSP2|NDC|nocc_hist|rcp2p6;y2150;2;;;; +ELV-SSP2-NDC-LTS;1;;;;SSP2|NDC|nocc_hist|rcp2p6;y2150;2;;;; +ELV-SSP2-1150;1;;;;SSP2|NDC|nocc_hist|rcp2p6;y2150;2;;;; +ELV-SSP2-400Feoc;1;;;;SSP2|NDC|nocc_hist|rcp1p9;y2150;2;;;; +ELV-SSP2-CP-D0;1;;;priority;SSP2|NPI|nocc_hist|rcp4p5;y2150;2;;;; +ELV-SSP2-CP-D1;1;;;priority;SSP2|NPI|nocc_hist|rcp4p5;y2150;2;;;; +ELV-SSP2-CP-D3;1;;;priority;SSP2|NPI|nocc_hist|rcp4p5;y2150;2;;;; From b8d5617c820624ca29bafaa4370831c628d2cb98 Mon Sep 17 00:00:00 2001 From: orichters Date: Fri, 4 Oct 2024 15:46:52 +0200 Subject: [PATCH 584/875] don't load new inputdata if just calib files are missing --- scripts/start/updateInputData.R | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/start/updateInputData.R b/scripts/start/updateInputData.R index 6f83d4635..8f1dd6d39 100644 --- a/scripts/start/updateInputData.R +++ b/scripts/start/updateInputData.R @@ -29,9 +29,10 @@ updateInputData <- function(cfg, remindPath = ".", gamsCompile = FALSE) { # check if all input files are already there missinginput <- if (isTRUE(gamsCompile)) NULL else missingInputData() + requiredinput <- grep("config\\/gdx-files|modules\\/29_CES_parameters\\/load\\/input", missinginput, value = TRUE, invert = TRUE) # download and distribute needed data - if (! setequal(input_new, input_old) || isTRUE(cfg$force_download) || length(missinginput) > 0) { + if (! setequal(input_new, input_old) || isTRUE(cfg$force_download) || length(requiredinput) > 0) { message(if (isTRUE(gamsCompile)) paste0(" ", cfg$title, ": "), if (isTRUE(cfg$force_download)) "You set 'cfg$force_download = TRUE'" else "Your input data are outdated, incomplete or in a different regional resolution", From 2e8e921572a52fd104fe5a935f0718df03ef615d Mon Sep 17 00:00:00 2001 From: orichters Date: Fri, 4 Oct 2024 16:04:09 +0200 Subject: [PATCH 585/875] adjust NDC input generation for US005 -> 2017 --- scripts/input/create_input_for_45_carbonprice_exogenous.R | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/input/create_input_for_45_carbonprice_exogenous.R b/scripts/input/create_input_for_45_carbonprice_exogenous.R index 30a97ce83..21b97acde 100644 --- a/scripts/input/create_input_for_45_carbonprice_exogenous.R +++ b/scripts/input/create_input_for_45_carbonprice_exogenous.R @@ -26,7 +26,7 @@ create_input_for_45_carbonprice_exogenous<-function(gdx){ # ---- Convert data ---- #select right temporal/variable scope - pr <- pr[,,c( "Price|Carbon (US$2005/t CO2)")] + pr <- pr[,,c( "Price|Carbon (US$2017/t CO2)")] # convert from $/tCO2 to $/kgC (or T$/GtC) pr <- pr / 1000 * 44/12 # remove GLO region if it exists @@ -46,7 +46,7 @@ create_input_for_45_carbonprice_exogenous<-function(gdx){ cat("*= generated with: =*\n", file = p_fpath, append = TRUE) cat("*= scripts/input/create_input_for_45_carbonprice_exogenous.R =*\n", file = p_fpath, append = TRUE) cat(paste0("*= from file: ", normalizePath(gdx), " =*\n"), file = p_fpath, append = TRUE) - cat("*= unit: 10^12 US$(2005)/GtC =*\n", file = p_fpath, append = TRUE) + cat("*= unit: 10^12 US$(2017)/GtC =*\n", file = p_fpath, append = TRUE) cat("*=============================================================*\n", file = p_fpath, append = TRUE) cat("\n", file = p_fpath, append = TRUE) From d556cb693161b666894197d3d9117804655a2edf Mon Sep 17 00:00:00 2001 From: orichters Date: Fri, 4 Oct 2024 16:07:57 +0200 Subject: [PATCH 586/875] adjust units 2005 -> 2017 --- modules/80_optimization/nash/declarations.gms | 58 +++++++++---------- scripts/start/getReportData.R | 8 +-- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/modules/80_optimization/nash/declarations.gms b/modules/80_optimization/nash/declarations.gms index af3f809e0..5562dba7f 100644 --- a/modules/80_optimization/nash/declarations.gms +++ b/modules/80_optimization/nash/declarations.gms @@ -12,27 +12,27 @@ p80_etaXp(all_enty) "Parameter governing price anticipat *LB* parameters for ajustments between different iterations -p80_etaLT(all_enty) "long term price ajustment elasticity " -p80_etaST(all_enty) "short term price ajustment elasticity" +p80_etaLT(all_enty) "long term price ajustment elasticity " +p80_etaST(all_enty) "short term price ajustment elasticity" *AJS* adjustment costs between iterations p80_etaAdj(all_enty) "Adjustment costs for changes of trade pattern between iterations" ***prices -p80_pvp_itr(ttot,all_enty,iteration) "Price on commodity markets per iteration", +p80_pvp_itr(ttot,all_enty,iteration) "Price on commodity markets per iteration", p80_pvpFallback(ttot,all_enty) "Helper parameter. Price path from input/prices_NASH.inc. Only used if reading prices from gdx fails.", -p80_normalizeLT(all_enty) "Aggregated intertemporal market volume", +p80_normalizeLT(all_enty) "Aggregated intertemporal market volume", p80_normalize0(ttot,all_regi,all_enty) "Normalization parameter for market volume" ***parameter containing the respective level values from last iteration (the first set of values taken from gdx in the first iteration, respectively) p80_Mport0(tall,all_regi,all_enty) "Imports in last iteration" -p80_surplus(tall,all_enty,iteration) "Surplus on commodity market", -p80_defic_trade(all_enty) "Surplus in monetary terms over all times on commodity markets [trillion US$2005]", -p80_defic_sum(iteration) "Surplus in monetary terms over all times on all commodity markets combined [trillion US$2005] (NOTE: to compare this number with the Negishi defic_sum, divide by around 100)", +p80_surplus(tall,all_enty,iteration) "Surplus on commodity market", +p80_defic_trade(all_enty) "Surplus in monetary terms over all times on commodity markets [trillion US$2017]", +p80_defic_sum(iteration) "Surplus in monetary terms over all times on all commodity markets combined [trillion US$2017] (NOTE: to compare this number with the Negishi defic_sum, divide by around 100)", p80_defic_sum_rel(iteration) "Surplus monetary value over all times on all commodity markets combined, normalized to consumption [%]", -*LB* diagnostic parameters +*LB* diagnostic parameters p80_etaLT_correct(all_enty,iteration) "long term price correction factor in percent" p80_etaST_correct(tall,all_enty,iteration) "short term price correction factor in percent" @@ -42,12 +42,12 @@ o80_trackSurplusSign(ttot,all_enty,iteration) "auxiliary parameter t o80_SurplusOverTolerance(ttot,all_enty,iteration) "auxiliary parameter to track in which iterations which item surpassed the tolerance (positive/negative)" -p80_surplusMax_iter(all_enty,iteration,tall) "Diagnostics for Nash: Worst residual market surplus until given year, absolute value. [Units: TWa, trillion Dollar, GtC]" -p80_surplusMax2100(all_enty) "Worst residual market surplus until 2100, absolute value. [Units: TWa, trillion Dollar, GtC]" +p80_surplusMax_iter(all_enty,iteration,tall) "Diagnostics for Nash: Worst residual market surplus until given year, absolute value. [TWa, trillion Dollar, GtC]" +p80_surplusMax2100(all_enty) "Worst residual market surplus until 2100, absolute value. [TWa, trillion Dollar, GtC]" p80_surplusMaxRel(all_enty,iteration,tall) "Diagnostics for Nash: Worst residual market surplus until given year, in per cent." p80_surplusMaxTolerance(all_enty) "maximum tolerable residual value of absolute market surplus in 2100." -p80_taxrev0(tall,all_regi) "vm_taxrev from last iteration" +p80_taxrev0(tall,all_regi) "vm_taxrev from last iteration" p80_taxrev_agg(tall,iteration) "vm_taxrev globally from last iteration" @@ -65,23 +65,23 @@ p80_curracc(ttot,all_regi) "current account" pm_cumEff(tall,all_regi,all_in) "parameter for spillover externality (aggregated productivity level)" -p80_PriceChangePriceAnticipReg(ttot,all_enty,all_regi) "Price change of a trade good due to the price anticipation effect. [Unit: Percent]" -o80_PriceChangePriceAnticipReg(ttot,all_enty,all_regi) "only for display: Price change of a trade good due to price anticipation. If nothing is displayed, all values are <0.1%. [Unit: Percent, rounded to 0.1%]" -o80_PriceChangePriceAnticipRegMaxIter(ttot,iteration) "only for display: Largest absolute value of o80_PriceChangePriceAnticipReg until 2100/2150, tracked over iteration. [Unit: Percent, rounded to 0.1%]" -p80_DevPriceAnticipReg(ttot,all_enty,all_regi) "Deviation of the yearly monetary export/import expenditure due to price change anticipation effect. [Unit: trillion Dollar]" -p80_DevPriceAnticipGlob(ttot,all_enty) "Global sum of p80_DevPriceAnticipReg. [Unit: trillion Dollar]" -p80_DevPriceAnticipGlobIter(ttot,all_enty,iteration) "Track p80_DevPriceAnticipGlob over iterations. [Unit: trillion Dollar]" -p80_DevPriceAnticipGlobAll(ttot) "p80_DevPriceAnticipGlob summed over all trade goods. [Units: trillion Dollar]" -p80_DevPriceAnticipGlobMax(ttot,all_enty) "Max of p80_DevPriceAnticipGlob until the given year. [Unit: trillion Dollar]" -p80_DevPriceAnticipGlobAllMax(ttot) "Max of p80_DevPriceAnticipGlobAll until the given year. [Unit: trillion Dollar]" -p80_DevPriceAnticipGlobMax2100Iter(all_enty,iteration) "Track the 2100 value of p80_DevPriceAnticipGlobMax over iterations. [Unit: trillion Dollar]" -p80_DevPriceAnticipGlobAllMax2100Iter(iteration) "Track the 2100 value of p80_DevPriceAnticipGlobAllMax over iterations. [Unit: trillion Dollar]" +p80_PriceChangePriceAnticipReg(ttot,all_enty,all_regi) "Price change of a trade good due to the price anticipation effect. [Percent]" +o80_PriceChangePriceAnticipReg(ttot,all_enty,all_regi) "only for display: Price change of a trade good due to price anticipation. If nothing is displayed, all values are <0.1%. [Percent, rounded to 0.1%]" +o80_PriceChangePriceAnticipRegMaxIter(ttot,iteration) "only for display: Largest absolute value of o80_PriceChangePriceAnticipReg until 2100/2150, tracked over iteration. [Percent, rounded to 0.1%]" +p80_DevPriceAnticipReg(ttot,all_enty,all_regi) "Deviation of the yearly monetary export/import expenditure due to price change anticipation effect. [trillion Dollar]" +p80_DevPriceAnticipGlob(ttot,all_enty) "Global sum of p80_DevPriceAnticipReg. [trillion Dollar]" +p80_DevPriceAnticipGlobIter(ttot,all_enty,iteration) "Track p80_DevPriceAnticipGlob over iterations. [trillion Dollar]" +p80_DevPriceAnticipGlobAll(ttot) "p80_DevPriceAnticipGlob summed over all trade goods. [trillion Dollar]" +p80_DevPriceAnticipGlobMax(ttot,all_enty) "Max of p80_DevPriceAnticipGlob until the given year. [trillion Dollar]" +p80_DevPriceAnticipGlobAllMax(ttot) "Max of p80_DevPriceAnticipGlobAll until the given year. [trillion Dollar]" +p80_DevPriceAnticipGlobMax2100Iter(all_enty,iteration) "Track the 2100 value of p80_DevPriceAnticipGlobMax over iterations. [trillion Dollar]" +p80_DevPriceAnticipGlobAllMax2100Iter(iteration) "Track the 2100 value of p80_DevPriceAnticipGlobAllMax over iterations. [trillion Dollar]" *EMIOPT relevant p80_eoMargPermBudg(all_regi) "marginal of permit budget restriction" -p80_eoMargEmiCum(all_regi) "marginal of cumulative emissions" +p80_eoMargEmiCum(all_regi) "marginal of cumulative emissions" -p80_eoMargAverage "global average of marginals from nash budget equation" +p80_eoMargAverage "global average of marginals from nash budget equation" p80_eoMargDiff(all_regi) "scaled deviation of regional marginals from global average" p80_eoDeltaEmibudget "total change in permit budget" p80_eoEmiMarg(all_regi) "weighted marginal utility of emissions" @@ -97,20 +97,20 @@ p80_SolNonOpt(all_regi) "solve status" pm_fuExtrForeign(ttot,all_regi,all_enty,rlf) "foreign fuel extraction" -p80_convNashTaxrev_iter(iteration,ttot,all_regi) "deviation of tax revenue relative to GDP per iteration, thus 0.01 means 1 percent" +p80_convNashTaxrev_iter(iteration,ttot,all_regi) "deviation of tax revenue relative to GDP per iteration, thus 0.01 means 1 percent [1]" p80_convNashObjVal_iter(iteration,all_regi) "deviation of objective value to objective value from last iteration per iteration" p80_fadeoutPriceAnticip_iter(iteration) "Helper parameter, describes fadeout of price anticipation during iterations per iteration" $ifthen.cm_implicitQttyTarget not "%cm_implicitQttyTarget%" == "off" p80_implicitQttyTarget_dev_iter(iteration,ttot,ext_regi,qttyTarget,qttyTargetGroup) "deviation of current iteration quantity target from target per iteration - relative for total targets, absolute (= share points) for share targets" $endif.cm_implicitQttyTarget p80_globalBudget_dev_iter(iteration) "actual level of global cumulated emissions budget divided by target budget per iteration" -p80_sccConvergenceMaxDeviation_iter(iteration) "max deviation of SCC from last iteration [percent] per iteration" +p80_sccConvergenceMaxDeviation_iter(iteration) "max deviation of SCC from last iteration per iteration [percent]" p80_gmt_conv_iter(iteration) "global mean temperature convergence per iteration" -; +; positive variable *AJS* Adjustment costs for Nash trade algorithm. Only non-zero in the Nash_test realization of 80_optimization module. -vm_costAdjNash(ttot,all_regi) "Adjustment costs for deviation from the trade structure of the last iteration." +vm_costAdjNash(ttot,all_regi) "Adjustment costs for deviation from the trade structure of the last iteration." ; equations @@ -119,7 +119,7 @@ q80_costAdjNash(ttot,all_regi) "calculate Nash adjustment costs (of q80_budgetPermRestr(all_regi) "constraints regional permit budget to given regional emission budget"; scalars -***convergence criteria. if met, the optimization is stopped. Feel free to adjust these to your needs. Denote maximum tolerable deviation from market clearance.(the one for goods is given in million US$2005/yr, the resources in EJ/yr) +***convergence criteria. if met, the optimization is stopped. Feel free to adjust these to your needs. Denote maximum tolerable deviation from market clearance.(the one for goods is given in million US$2017/yr, the resources in EJ/yr) sm_fadeoutPriceAnticip "Helper parameter, describes fadeout of price anticipation during iterations" s80_fadeoutPriceAnticipStartingPeriod "Helper parameter, denotes iteration in which price anticipation fadeout starts" s80_dummy "dummy scalar" diff --git a/scripts/start/getReportData.R b/scripts/start/getReportData.R index d244c3d3c..dc8bab506 100644 --- a/scripts/start/getReportData.R +++ b/scripts/start/getReportData.R @@ -13,10 +13,10 @@ getReportData <- function(path_to_report,inputpath_mag="magpie_40",inputpath_acc notGLO <- getRegions(mag)[!(getRegions(mag)=="GLO")] if("Demand|Bioenergy|++|2nd generation (EJ/yr)" %in% getNames(mag)) { # MAgPIE 4 - out <- mag[,,"Prices|Bioenergy (US$05/GJ)"]*0.0315576 # with transformation factor from US$2005/GJ to US$2005/Wa + out <- mag[,,"Prices|Bioenergy (US$2017/GJ)"]*0.0315576 # with transformation factor from US$2017/GJ to US$2017/Wa } else { # MAgPIE 3 - out <- mag[,,"Price|Primary Energy|Biomass (US$2005/GJ)"]*0.0315576 # with transformation factor from US$2005/GJ to US$2005/Wa + out <- mag[,,"Price|Primary Energy|Biomass (US$2017/GJ)"]*0.0315576 # with transformation factor from US$2017/GJ to US$2017/Wa } out["JPN",is.na(out["JPN",,]),] <- 0 tmp <- out @@ -129,7 +129,7 @@ getReportData <- function(path_to_report,inputpath_mag="magpie_40",inputpath_acc .agriculture_costs <- function(mag){ notGLO <- getRegions(mag)[!(getRegions(mag)=="GLO")] if ("Costs Without Incentives (million US$05/yr)" %in% getNames(mag)) { - out <- mag[,,"Costs Without Incentives (million US$05/yr)"]/1000/1000 # with transformation factor from 10E6 US$2005 to 10E12 US$2005 + out <- mag[,,"Costs Without Incentives (million US$05/yr)"]/1000/1000 # with transformation factor from 10E6 US$2017 to 10E12 US$2017 } else { out <- mag[,,"Costs|MainSolve w/o GHG Emissions (million US$05/yr)"]/1000/1000 # old reporting } @@ -142,7 +142,7 @@ getReportData <- function(path_to_report,inputpath_mag="magpie_40",inputpath_acc .agriculture_tradebal <- function(mag){ notGLO <- getRegions(mag)[!(getRegions(mag)=="GLO")] - out <- mag[,,"Trade|Agriculture|Trade Balance (billion US$2005/yr)"]/1000 # with transformation factor from 10E9 US$2005 to 10E12 US$2005 + out <- mag[,,"Trade|Agriculture|Trade Balance (billion US$2017/yr)"]/1000 # with transformation factor from 10E9 US$2017 to 10E12 US$2017 out["JPN",is.na(out["JPN",,]),] <- 0 dimnames(out)[[3]] <- NULL write.magpie(out[notGLO,,],paste0("./modules/26_agCosts/",inputpath_acc,"/input/trade_bal_reg.rem.csv"),file_type="csvr") From 0a94c5e4aa45512c6a1db49191fc50e986576ea6 Mon Sep 17 00:00:00 2001 From: orichters Date: Fri, 4 Oct 2024 16:10:35 +0200 Subject: [PATCH 587/875] adjust units 2005 -> 2017 --- .../37_industry/fixed_shares/declarations.gms | 2 +- .../37_industry/subsectors/declarations.gms | 4 ++-- scripts/output/comparison/bioenergy_SSP.R | 6 ++--- .../comparison/plot_compare_iterations.R | 8 +++---- scripts/output/comparison/policyCosts.R | 12 +++++----- scripts/output/single/emulator.R | 24 +++++++++---------- scripts/output/single/integratedDamageCosts.R | 6 ++--- .../validation/test_03-negative_electrictiy.R | 4 ++-- .../testthat/validation/test_04-invest_esm.R | 2 +- .../08a_Advanced_CreatingSimpleDashboard.Rmd | 2 +- 10 files changed, 35 insertions(+), 35 deletions(-) diff --git a/modules/37_industry/fixed_shares/declarations.gms b/modules/37_industry/fixed_shares/declarations.gms index ab2f7981e..32cb03b2b 100644 --- a/modules/37_industry/fixed_shares/declarations.gms +++ b/modules/37_industry/fixed_shares/declarations.gms @@ -14,7 +14,7 @@ scalars ; Parameters - pm_abatparam_Ind(ttot,all_regi,all_enty,steps) "industry CCS MAC curves [ratio @ US$2005]" + pm_abatparam_Ind(ttot,all_regi,all_enty,steps) "industry CCS MAC curves [ratio @ US$2017]" pm_ue_eff_target(all_in) "energy efficiency target trajectories [% p.a.]" diff --git a/modules/37_industry/subsectors/declarations.gms b/modules/37_industry/subsectors/declarations.gms index 340e79598..5e462bd73 100644 --- a/modules/37_industry/subsectors/declarations.gms +++ b/modules/37_industry/subsectors/declarations.gms @@ -13,7 +13,7 @@ Scalar ; Parameters - pm_abatparam_Ind(ttot,all_regi,all_enty,steps) "industry CCS MAC curves [ratio @ US$2005]" + pm_abatparam_Ind(ttot,all_regi,all_enty,steps) "industry CCS MAC curves [ratio @ US$2017]" pm_energy_limit(all_in) "thermodynamic/technical limits of subsector energy use [GJ/t product]" p37_energy_limit_slope(tall,all_regi,all_in) "limit for subsector specific energy demand that converges towards the thermodynamic/technical limit [GJ/t product]" p37_clinker_cement_ratio(ttot,all_regi) "clinker content per unit cement used" @@ -97,7 +97,7 @@ Positive Variables v37_matFlow(tall,all_regi,all_enty) "Production of materials [Gt/a]" v37_emiPrc(tall,all_regi,all_enty,all_te,opmoPrc) "Emissions per process and operation mode [GtC/a]" v37_shareWithCC(tall,all_regi,all_te,opmoPrc) "Share of process and operation mode equipped with carbon capture technology" - vm_costMatPrc(tall,all_regi) "Cost of external material inputs such as iron ore in process-based industry [trn $2005/a]" + vm_costMatPrc(tall,all_regi) "Cost of external material inputs such as iron ore in process-based industry [trn $2017/a]" ; Equations diff --git a/scripts/output/comparison/bioenergy_SSP.R b/scripts/output/comparison/bioenergy_SSP.R index 0f92ad969..f4dd0c10d 100644 --- a/scripts/output/comparison/bioenergy_SSP.R +++ b/scripts/output/comparison/bioenergy_SSP.R @@ -363,7 +363,7 @@ if(length(fulldim(dyntax)[[2]][[3]])>1) dyntax <- collapseNames(dyntax) # only i title=paste0("Demand-dependent bioenergy tax")) ############### READ DATA: PEBIOLC MARGINAL ################################ - marginal <- read_all(outputdirs,read.reportEntry,entry="Price|Biomass|Primary Level (US$2005/GJ)",as.list=FALSE) + marginal <- read_all(outputdirs,read.reportEntry,entry="Price|Biomass|Primary Level (US$2017/GJ)",as.list=FALSE) marginal <- collapseNames(marginal,collapsedim=2) if(length(fulldim(marginal)[[2]][[3]])>1) marginal <- collapseNames(marginal) # only if there is more than one scenario, otherwise keep single scenarioname @@ -396,7 +396,7 @@ if(length(fulldim(dyntax)[[2]][[3]])>1) dyntax <- collapseNames(dyntax) # only i text=element_text(size=txtsiz),axis.text.x=element_text(size=txtsiz)) ############### READ DATA: STATIC BIOENERGY TAX ################################ -ptax <- read_all(outputdirs,read.reportEntry,entry="Price|Biomass|Bioenergy tax (US$2005/GJ)",as.list=FALSE) +ptax <- read_all(outputdirs,read.reportEntry,entry="Price|Biomass|Bioenergy tax (US$2017/GJ)",as.list=FALSE) ptax <- collapseNames(ptax,collapsedim=2) if(length(fulldim(ptax)[[2]][[3]])>1) ptax <- collapseNames(ptax) # only if there is more than one scenario, otherwise keep single scenarioname @@ -405,7 +405,7 @@ if(length(fulldim(ptax)[[2]][[3]])>1) ptax <- collapseNames(ptax) # only if ther y_limreg <- c(0,max(ptax[,y,]["GLO",,,invert=TRUE])) p4t <- magpie2ggplot2(ptax_all[r,y,],geom='line',group=NULL, - ylab='US$2005/GJ',color='Data2',linetype="Data1", + ylab='US$2017/GJ',color='Data2',linetype="Data1", scales='fixed',show_grid=TRUE,ncol=4,text_size=txtsiz,ylim=y_limreg, title=paste0("Purpose grown bioenergy price: tax only")) # Price|Biomass|Primary Level diff --git a/scripts/output/comparison/plot_compare_iterations.R b/scripts/output/comparison/plot_compare_iterations.R index 151dcd953..c4220f1f2 100644 --- a/scripts/output/comparison/plot_compare_iterations.R +++ b/scripts/output/comparison/plot_compare_iterations.R @@ -68,7 +68,7 @@ plot_iterations <- function(runname) { message("Reading ", length(report_path), " REMIND reports.") reports <- NULL for (rep in report_path) { - reports <- mbind(reports, read.report(rep, as.list=FALSE)) #[,,"Price|Carbon (US$2005/t CO2)"]) + reports <- mbind(reports, read.report(rep, as.list=FALSE)) #[,,"Price|Carbon (US$2017/t CO2)"]) } # ---- Settings ---- @@ -83,7 +83,7 @@ plot_iterations <- function(runname) { # ---- Plot: MAgPIE prices for purpose grown bioenergy ---- - var <- "Internal|Price|Biomass|MAgPIE (US$2005/GJ)" + var <- "Internal|Price|Biomass|MAgPIE (US$2017/GJ)" p_price_mag <- myplot(reports[r, years, var], ylab = "$/GJ", title = paste(runname, var, sep = "\n")) @@ -91,7 +91,7 @@ plot_iterations <- function(runname) { # ---- Plot: MAgPIE co2luc ---- # core/datainput.gms - # $if %cm_MAgPIE_coupling% == "on" pm_macBaseMagpie(ttot,regi,emiMacMagpie(enty))$(ttot.val ge 2005) = f_macBaseMagpie_coupling(ttot,regi,emiMacMagpie); + # $if %cm_MAgPIE_coupling% == "on" pm_macBaseMagpie(ttot,regi,emiMacMagpie(enty))$(ttot.val ge 2017) = f_macBaseMagpie_coupling(ttot,regi,emiMacMagpie); # core/presolve.gms # vm_macBase.fx(ttot,regi,"co2luc") = pm_macBaseMagpie(ttot,regi,"co2luc")-p_macPolCO2luc(ttot,regi); # core/equations.gms @@ -153,7 +153,7 @@ plot_iterations <- function(runname) { # ---- Plot: REMIND co2 price ---- - var <- "Price|Carbon (US$2005/t CO2)" + var <- "Price|Carbon (US$2017/t CO2)" title <- paste(runname, var, sep = "\n") p_price_carbon <- myplot(reports[r, years, var], ylab = "$/tCO2", title = title) diff --git a/scripts/output/comparison/policyCosts.R b/scripts/output/comparison/policyCosts.R index ec5f39fdc..f82861b77 100644 --- a/scripts/output/comparison/policyCosts.R +++ b/scripts/output/comparison/policyCosts.R @@ -140,28 +140,28 @@ report_transfers <- function(pol_mif, ref_mif) { message("Adding ", crayon::green("transfers"), " to mif file") # Get gdploss - gdploss <- pol_run[[1]][["REMIND"]][, , "Policy Cost|GDP Loss (billion US$2005/yr)"] + gdploss <- pol_run[[1]][["REMIND"]][, , "Policy Cost|GDP Loss (billion US$2017/yr)"] # Add rel gdploss (not in percent) gdploss_rel <- magclass::setNames(pol_run[[1]][["REMIND"]][, , "Policy Cost|GDP Loss|Relative to Reference GDP (%)"] / 100, "Policy Cost|GDP Loss|Relative to Reference GDP") # Get gdp - gdp_ref <- ref_run[[1]][["REMIND"]][ , , "GDP|MER (billion US$2005/yr)"] - gdp_policy <- pol_run[[1]][["REMIND"]][, , "GDP|MER (billion US$2005/yr)"] + gdp_ref <- ref_run[[1]][["REMIND"]][ , , "GDP|MER (billion US$2017/yr)"] + gdp_policy <- pol_run[[1]][["REMIND"]][, , "GDP|MER (billion US$2017/yr)"] # Calculate difference to global rel gdploss delta_gdploss <- gdploss_rel[, , ] - gdploss_rel["GLO", , ] # Calculate transfer required to equalize rel gdploss across regions delta_transfer <- magclass::setNames(delta_gdploss * gdp_ref, - "Policy Cost|Transfers equal effort (billion US$2005/yr)") + "Policy Cost|Transfers equal effort (billion US$2017/yr)") delta_transfer_rel <- 100 * magclass::setNames(delta_transfer / gdp_ref, "Policy Cost|Transfers equal effort|Relative to Reference GDP (%)") # Calculate new gdp variables gdp_withtransfers <- magclass::setNames(gdp_policy + delta_transfer, - "GDP|MER|w/ transfers equal effort (billion US$2005/yr)") + "GDP|MER|w/ transfers equal effort (billion US$2017/yr)") gdploss_withtransfers <- magclass::setNames(gdp_ref - gdp_withtransfers, - "Policy Cost|GDP Loss|w/ transfers equal effort (billion US$2005/yr)") + "Policy Cost|GDP Loss|w/ transfers equal effort (billion US$2017/yr)") gdploss_withtransfers_rel <- 100 * magclass::setNames(gdploss_withtransfers/gdp_ref, "Policy Cost|GDP Loss|w/ transfers equal effort|Relative to Reference GDP (%)") diff --git a/scripts/output/single/emulator.R b/scripts/output/single/emulator.R index 189489a41..af5032130 100644 --- a/scripts/output/single/emulator.R +++ b/scripts/output/single/emulator.R @@ -121,10 +121,10 @@ for (y in years) { swlatex(pdf,"\\section{Bioenergy demand and prices}") var_price_shapes = c( - "Internal|Price|Biomass|MAgPIE (US$2005/GJ)" = 0, - "Internal|Price|Biomass|Emulator presolve (US$2005/GJ)" = 1, - "Internal|Price|Biomass|Emulator presolve shifted (US$2005/GJ)" = 2, - "Internal|Price|Biomass|Emulator shifted (US$2005/GJ)" = 4 + "Internal|Price|Biomass|MAgPIE (US$2017/GJ)" = 0, + "Internal|Price|Biomass|Emulator presolve (US$2017/GJ)" = 1, + "Internal|Price|Biomass|Emulator presolve shifted (US$2017/GJ)" = 2, + "Internal|Price|Biomass|Emulator shifted (US$2017/GJ)" = 4 ) # bring GLO to front @@ -149,10 +149,10 @@ for (r in regions){ plot.title<-paste0("\\subsection{Bioenergy prices (",r,")}") swlatex(pdf,plot.title) var_price = c( - "Internal|Price|Biomass|MAgPIE (US$2005/GJ)", - "Internal|Price|Biomass|Emulator presolve (US$2005/GJ)", - "Internal|Price|Biomass|Emulator presolve shifted (US$2005/GJ)", - "Internal|Price|Biomass|Emulator shifted (US$2005/GJ)" + "Internal|Price|Biomass|MAgPIE (US$2017/GJ)", + "Internal|Price|Biomass|Emulator presolve (US$2017/GJ)", + "Internal|Price|Biomass|Emulator presolve shifted (US$2017/GJ)", + "Internal|Price|Biomass|Emulator shifted (US$2017/GJ)" ) dat<-as.ggplot(csv[r,years,var_price]) @@ -178,9 +178,9 @@ for (r in regions){ swlatex(pdf,"\\section{Bioenergy costs}") -var_pe = c("Costs|Biomass|MAgPIE (billion US$2005/yr)", - "Costs|Biomass|Price integral presolve (billion US$2005/yr)", - "Costs|Biomass|Price integral (billion US$2005/yr)") +var_pe = c("Costs|Biomass|MAgPIE (billion US$2017/yr)", + "Costs|Biomass|Price integral presolve (billion US$2017/yr)", + "Costs|Biomass|Price integral (billion US$2017/yr)") var_pe <- intersect(getNames(csv,dim="variable"),var_pe) # take only existing variables if (!identical(var_pe, character(0))) { @@ -188,7 +188,7 @@ if (!identical(var_pe, character(0))) { swlatex(pdf,plot.title) dat<-as.ggplot(csv[,years,var_pe]["GLO",,invert=TRUE]) - p <- ggplot(data=dat, aes(x=Year, y=Value)) + geom_line(aes(colour=Data3),size=1) + labs(y="billion US$2005") + + p <- ggplot(data=dat, aes(x=Year, y=Value)) + geom_line(aes(colour=Data3),size=1) + labs(y="billion US$2017") + geom_point(aes(colour=Data3),size=1) + guides(color = guide_legend(nrow = length(var_pe))) + theme(legend.position="top", legend.title=element_blank()) + diff --git a/scripts/output/single/integratedDamageCosts.R b/scripts/output/single/integratedDamageCosts.R index 25aedb6fc..1aec0b4cb 100644 --- a/scripts/output/single/integratedDamageCosts.R +++ b/scripts/output/single/integratedDamageCosts.R @@ -31,7 +31,7 @@ computeCostsScen <- function(i_data, scenBaseNoDamage, scenNoDamage, scenDamage, mutate(`GDP|PPP|w/ Macro-Economic Climate Damage` = `GDP|PPP` * `Damage factor`) %>% mutate(`GDP|PPP|including chronic physical risk damage estimate` = `GDP|PPP|w/ Macro-Economic Climate Damage`) %>% mutate(`GDP|MER|including chronic physical risk damage estimate` = `GDP|MER|w/ Macro-Economic Climate Damage`) %>% - mutate(unit = "billion US$2005/yr") %>% + mutate(unit = "billion US$2017/yr") %>% select(-`GDP|MER`, -`GDP|PPP`, -`Damage factor`) %>% pivot_longer(names_to="variable", values_to="value", cols=c(-"model", -"scenario", -"region", -"unit", -"period")) %>% select(model, scenario, region, variable, unit, period, value) @@ -45,7 +45,7 @@ computeCostsScen <- function(i_data, scenBaseNoDamage, scenNoDamage, scenDamage, pivot_wider(names_from="variable", values_from="value") %>% mutate(value = `GDP|MER` * `Damage factor`) %>% mutate(variable = "GDP|MER") %>% - mutate(unit = "billion US$2005/yr") %>% + mutate(unit = "billion US$2017/yr") %>% select(-`GDP|MER`, -`Damage factor`) %>% select(model, scenario, region, variable, unit, period, value) %>% left_join( @@ -56,7 +56,7 @@ computeCostsScen <- function(i_data, scenBaseNoDamage, scenNoDamage, scenDamage, pivot_wider(names_from = "variable", values_from = "value") %>% mutate(value = `GDP|MER` * `Damage factor`) %>% mutate(variable = "GDP|MER") %>% - mutate(unit = "billion US$2005/yr") %>% + mutate(unit = "billion US$2017/yr") %>% select(-scenario, -`GDP|MER`, -`Damage factor`) %>% select(model, region, variable, unit, period, value) %>% rename(value_ref = value), diff --git a/tests/testthat/validation/test_03-negative_electrictiy.R b/tests/testthat/validation/test_03-negative_electrictiy.R index a41d9e0a2..3ca16aaf5 100644 --- a/tests/testthat/validation/test_03-negative_electrictiy.R +++ b/tests/testthat/validation/test_03-negative_electrictiy.R @@ -17,8 +17,8 @@ test_that("there are no negative electricity prices in historic years in EU regi read.report(mifs[1], as.list = FALSE)[ , , c( - "Price|Secondary Energy|Electricity (US$2005/GJ)", - "Price|Final Energy|Industry|Electricity (US$2005/GJ)" + "Price|Secondary Energy|Electricity (US$2017/GJ)", + "Price|Final Energy|Industry|Electricity (US$2017/GJ)" ) ] ) diff --git a/tests/testthat/validation/test_04-invest_esm.R b/tests/testthat/validation/test_04-invest_esm.R index e29227210..c7fd0b86e 100644 --- a/tests/testthat/validation/test_04-invest_esm.R +++ b/tests/testthat/validation/test_04-invest_esm.R @@ -19,7 +19,7 @@ test_that("Non-ESM Investments never drop more than 50% in comparison to previou if (length(mifs) == 1) { m <- suppressWarnings( read.report(mifs[1], as.list = FALSE) - )[reg, , "Investments|Non-ESM (billion US$2005/yr)"] + )[reg, , "Investments|Non-ESM (billion US$2017/yr)"] data <- mbind(data, m) } } diff --git a/tutorials/08a_Advanced_CreatingSimpleDashboard.Rmd b/tutorials/08a_Advanced_CreatingSimpleDashboard.Rmd index 714ff5e30..5fd0af46f 100644 --- a/tutorials/08a_Advanced_CreatingSimpleDashboard.Rmd +++ b/tutorials/08a_Advanced_CreatingSimpleDashboard.Rmd @@ -65,7 +65,7 @@ download.file("http://rse.pik-potsdam.de/data/example/REMIND_generic_BAU.mif", " ylab("Mt CO2/yr") # CO2 price - plot$CO2price <- mipLineHistorical(data["EUR",,"Price|Carbon (US$2005/t CO2)"],x_hist=NULL,ylab='US$2005/t CO2') + + plot$CO2price <- mipLineHistorical(data["EUR",,"Price|Carbon (US$2017/t CO2)"],x_hist=NULL,ylab='US$2017/t CO2') + theme_minimal() # Electricity mix From dfc988611a21d4c92b03c0b525ae9eb24b650cd7 Mon Sep 17 00:00:00 2001 From: orichters Date: Fri, 4 Oct 2024 16:10:56 +0200 Subject: [PATCH 588/875] typo in filename --- ...st_03-negative_electrictiy.R => test_03-negative_electricty.R} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename tests/testthat/validation/{test_03-negative_electrictiy.R => test_03-negative_electricty.R} (100%) diff --git a/tests/testthat/validation/test_03-negative_electrictiy.R b/tests/testthat/validation/test_03-negative_electricty.R similarity index 100% rename from tests/testthat/validation/test_03-negative_electrictiy.R rename to tests/testthat/validation/test_03-negative_electricty.R From abbd6dc7706ffbdeecf035b07fd26f33944697dd Mon Sep 17 00:00:00 2001 From: orichters Date: Fri, 4 Oct 2024 16:40:22 +0200 Subject: [PATCH 589/875] fix bug in NPi2025_EUR55, getting post-2030 prices only for EUR --- modules/45_carbonprice/NPi2025_EUR55/datainput.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/45_carbonprice/NPi2025_EUR55/datainput.gms b/modules/45_carbonprice/NPi2025_EUR55/datainput.gms index d3debe018..531c7ec75 100755 --- a/modules/45_carbonprice/NPi2025_EUR55/datainput.gms +++ b/modules/45_carbonprice/NPi2025_EUR55/datainput.gms @@ -15,7 +15,7 @@ pm_taxCO2eq(ttot,regi)$(ttot.val le 2025) = fm_taxCO2eqHist(ttot,regi) * sm_DptC pm_taxCO2eq(t,regi)$(t.val gt 2025) = sum(ttot, pm_taxCO2eq(ttot,regi)$(ttot.val eq 2025)) * cm_co2_tax_growth**(t.val - 2025); loop(ext_regi$sameas(ext_regi, "EUR_regi"), - pm_taxCO2eq(t,regi)$(t.val ge 2030) = fm_taxCO2eqHist("2030",regi) * cm_co2_tax_growth**(t.val - 2030); + pm_taxCO2eq(t,regi)$(t.val ge 2030 AND regi_group(ext_regi,regi)) = fm_taxCO2eqHist("2030",regi) * sm_DptCO2_2_TDpGtC * cm_co2_tax_growth**(t.val - 2030); ); pm_taxCO2eq(t,regi)$(t.val gt 2110) = pm_taxCO2eq("2110",regi); !! to prevent huge taxes after 2110 and the resulting convergence problems, set taxes after 2110 equal to 2110 value From a6f5ad764ea4c5c7d6daa009b9696ccc2398c35e Mon Sep 17 00:00:00 2001 From: orichters Date: Fri, 4 Oct 2024 17:25:34 +0200 Subject: [PATCH 590/875] fix test-coupled, add early check of cm_startyear --- config/tests/scenario_config_shortCascade.csv | 8 ++++---- scripts/start/readCheckScenarioConfig.R | 12 +++++++++++- .../testthat/test_01-readCheckScenarioConfig.R | 18 ++++++++++-------- 3 files changed, 25 insertions(+), 13 deletions(-) diff --git a/config/tests/scenario_config_shortCascade.csv b/config/tests/scenario_config_shortCascade.csv index 31901ef3b..0eecea0d5 100644 --- a/config/tests/scenario_config_shortCascade.csv +++ b/config/tests/scenario_config_shortCascade.csv @@ -1,4 +1,4 @@ -title;start;c_empty_model;path_gdx_ref;output -TESTTHAT-SSP2-Base;1;on;;reportingREMIND2MAgPIE -TESTTHAT-SSP2-NDC;1;on;TESTTHAT-SSP2-Base;reportingREMIND2MAgPIE -TESTTHAT-SSP2-Policy;2;on;TESTTHAT-SSP2-Base;reportingREMIND2MAgPIE +title;start;c_empty_model;path_gdx_ref;output;cm_startyear;regipol +TESTTHAT-SSP2-Base;1;on;;reportingREMIND2MAgPIE;2005;regiCarbonPrice +TESTTHAT-SSP2-NDC;1;on;TESTTHAT-SSP2-Base;reportingREMIND2MAgPIE;2020;regiCarbonPrice +TESTTHAT-SSP2-Policy;2;on;TESTTHAT-SSP2-NDC;reportingREMIND2MAgPIE;2025;regiCarbonPrice diff --git a/scripts/start/readCheckScenarioConfig.R b/scripts/start/readCheckScenarioConfig.R index d52ec41fd..cd7fc2f0f 100644 --- a/scripts/start/readCheckScenarioConfig.R +++ b/scripts/start/readCheckScenarioConfig.R @@ -116,6 +116,15 @@ readCheckScenarioConfig <- function(filename, remindPath = ".", testmode = FALSE paste0(names(needBau), ": ", sapply(needBau, paste, collapse = ", "), ".", collapse = " ")) } + startyearmismatch <- NULL + if ("cm_startyear" %in% names(scenConf)) { + startyearmismatch <- subset(rownames(scenConf), scenConf[,"cm_startyear"] < scenConf[scenConf[["path_gdx_ref"]], "cm_startyear"]) + if (length(startyearmismatch) > 0) { + warning("Those scenarios have cm_startyear earlier than their path_gdx_ref run, which is not supported: ", + paste(startyearmismatch, collapse = ", ")) + } + } + if (isTRUE(testmode)) { for (n in intersect(names(path_gdx_list), names(scenConf))) { missingPath <- ! (is.na(scenConf[, n]) | scenConf[, n] %in% rownames(scenConf)) @@ -128,7 +137,8 @@ readCheckScenarioConfig <- function(filename, remindPath = ".", testmode = FALSE } # collect errors - errorsfound <- length(colduplicates) + sum(toolong) + sum(regionname) + sum(nameisNA) + sum(illegalchars) + whitespaceErrors + copyConfigFromErrors + pathgdxerrors + missingRealizations + errorsfound <- length(colduplicates) + sum(toolong) + sum(regionname) + sum(nameisNA) + sum(illegalchars) + whitespaceErrors + + copyConfigFromErrors + pathgdxerrors + missingRealizations + length(startyearmismatch) # check column names knownColumnNames <- c(names(path_gdx_list), "start", "model", "copyConfigFrom") diff --git a/tests/testthat/test_01-readCheckScenarioConfig.R b/tests/testthat/test_01-readCheckScenarioConfig.R index 8a98dc4d3..33aed56ac 100644 --- a/tests/testthat/test_01-readCheckScenarioConfig.R +++ b/tests/testthat/test_01-readCheckScenarioConfig.R @@ -16,16 +16,17 @@ for (csvfile in csvfiles) { } test_that("readCheckScenarioConfig fails on error-loaden config", { csvfile <- tempfile(pattern = "scenario_config_a", fileext = ".csv") - writeLines(c(";start;copyConfigFrom;c_budgetCO2;path_gdx;path_gdx_carbonprice;carbonprice;path_gdx_bau;path_gdx_ref", - "abc.loremipsumloremipsum@lorem&ipsumloremipsumloremipsumloremipsumloremipsumloremipsum_;0;;33;;;;;", - "PBS;1;glob;29;whitespace inside;whitespaceafter ;;;whatever", - "glob;0;missing_copyConfigFrom;33; ;nobreakspace tab;;;", - "PBScopy;0;PBS;;;mustbedifferenttoPBS;;;", - "NA;1;;;;;notNDC_but_has_path_gdx_bau;PBS;", - "NDC_but_bau_missing;1;;;;;NDC;;"), + writeLines(c(";start;copyConfigFrom;c_budgetCO2;path_gdx;path_gdx_carbonprice;carbonprice;path_gdx_bau;path_gdx_ref;cm_startyear", + "abc.loremipsumloremipsum@lorem&ipsumloremipsumloremipsumloremipsumloremipsumloremipsum_;0;;33;;;;;;", + "PBS;1;glob;29;whitespace inside;whitespaceafter ;;;whatever;2020", + "glob;0;missing_copyConfigFrom;33; ;nobreakspace tab;;;;", + "PBScopy;0;PBS;;;mustbedifferenttoPBS;;;;", + "NA;1;;;;;notNDC_but_has_path_gdx_bau;PBS;;", + "NDC_but_bau_missing;1;;;;;NDC;;;", + "startyear_too_early;;;;;;;;PBS;2010"), con = csvfile, sep = "\n") w <- capture_warnings(m <- capture_messages(scenConf <- readCheckScenarioConfig(csvfile, remindPath = "../../", testmode = TRUE))) - expect_match(w, "21 errors found", all = FALSE, fixed = TRUE) + expect_match(w, "22 errors found", all = FALSE, fixed = TRUE) expect_match(w, "These titles are too long", all = FALSE, fixed = TRUE) expect_match(w, "These titles may be confused with regions", all = FALSE, fixed = TRUE) expect_match(w, "These titles contain illegal characters", all = FALSE, fixed = TRUE) @@ -41,6 +42,7 @@ test_that("readCheckScenarioConfig fails on error-loaden config", { expect_match(w, "Those scenarios link to a non-existing path_gdx_ref: PBS, PBScopy", all = FALSE, fixed = TRUE) expect_match(w, "Those scenarios link to a non-existing path_gdx_refpolicycost: PBS, PBScopy", all = FALSE, fixed = TRUE) expect_match(w, "Those scenarios link to a non-existing path_gdx_carbonprice: PBS, glob, PBScopy", all = FALSE, fixed = TRUE) + expect_match(w, "Those scenarios have cm_startyear earlier than their path_gdx_ref run, which is not supported: startyear_too_early", all = FALSE, fixed = TRUE) expect_match(m, "no column path_gdx_refpolicycost for policy cost comparison found, using path_gdx_ref instead", all = FALSE, fixed = TRUE) copiedFromPBS <- c("c_budgetCO2", "path_gdx", "path_gdx_ref") expect_identical(unlist(scenConf["PBS", copiedFromPBS]), From ecf2e34cb18def60ba28807c88334cb5ac141be3 Mon Sep 17 00:00:00 2001 From: orichters Date: Fri, 4 Oct 2024 17:37:18 +0200 Subject: [PATCH 591/875] fix documentation in 45_carbonprice realization.gms file --- modules/45_carbonprice/NPi/realization.gms | 6 +++--- .../45_carbonprice/NPi2025_EUR55/realization.gms | 2 +- modules/45_carbonprice/NPiexpo/realization.gms | 2 +- .../45_carbonprice/diffExp2Lin/realization.gms | 8 ++++---- .../45_carbonprice/diffLin2Lin/realization.gms | 8 ++++---- modules/45_carbonprice/exogenous/realization.gms | 6 +++--- .../45_carbonprice/expoLinear/realization.gms | 16 ++++++++-------- .../45_carbonprice/exponential/realization.gms | 2 +- modules/45_carbonprice/linear/realization.gms | 2 +- modules/45_carbonprice/none/realization.gms | 2 +- .../temperatureNotToExceed/realization.gms | 4 ++-- 11 files changed, 29 insertions(+), 29 deletions(-) diff --git a/modules/45_carbonprice/NPi/realization.gms b/modules/45_carbonprice/NPi/realization.gms index dafbadcb2..39b9d82a1 100644 --- a/modules/45_carbonprice/NPi/realization.gms +++ b/modules/45_carbonprice/NPi/realization.gms @@ -6,9 +6,9 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/45_carbonprice/NPi/realization.gms -@description This realization takes the carbon prices until 2020 from the input data -and implements as convergence scheme post 2020: parabolic convergence up to 25 US$2005/t CO2 -in the convergence year (here chosen as 2100) and then constant +*' @description This realization takes the carbon prices until 2020 from the input data +*' and implements as convergence scheme post 2020: parabolic convergence up to 25 US$2005/t CO2 +*' in the convergence year (here chosen as 2100) and then constant *####################### R SECTION START (PHASES) ############################## $Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/NPi/datainput.gms" diff --git a/modules/45_carbonprice/NPi2025_EUR55/realization.gms b/modules/45_carbonprice/NPi2025_EUR55/realization.gms index 5a9744faf..988f2b07a 100755 --- a/modules/45_carbonprice/NPi2025_EUR55/realization.gms +++ b/modules/45_carbonprice/NPi2025_EUR55/realization.gms @@ -6,7 +6,7 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/45_carbonprice/NPi2025_EUR55/realization.gms -*#' @description: This realization takes the carbon prices until 2025 from the input data (for EUR until 2030) and implements an exponentially growing path afterwards +*' @description: This realization takes the carbon prices until 2025 from the input data (for EUR until 2030) and implements an exponentially growing path afterwards *####################### R SECTION START (PHASES) ############################## $Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/NPi2025_EUR55/datainput.gms" diff --git a/modules/45_carbonprice/NPiexpo/realization.gms b/modules/45_carbonprice/NPiexpo/realization.gms index 30d355e58..75d83e0fb 100644 --- a/modules/45_carbonprice/NPiexpo/realization.gms +++ b/modules/45_carbonprice/NPiexpo/realization.gms @@ -6,7 +6,7 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/45_carbonprice/NPiexpo/realization.gms -*#' @description: This realization imeplents an exponential increase in carbon price from the predefined 2020 level. +*' @description: This realization imeplents an exponential increase in carbon price from the predefined 2020 level. *####################### R SECTION START (PHASES) ############################## $Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/NPiexpo/datainput.gms" diff --git a/modules/45_carbonprice/diffExp2Lin/realization.gms b/modules/45_carbonprice/diffExp2Lin/realization.gms index f9e99fa49..d06d06208 100644 --- a/modules/45_carbonprice/diffExp2Lin/realization.gms +++ b/modules/45_carbonprice/diffExp2Lin/realization.gms @@ -6,18 +6,18 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/45_carbonprice/diffExp2Lin/realization.gms -*#' @description: This realization implements exponentially 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. +*' @description: This realization implements exponentially 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. ***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- *** diff: regional prices are initially differentiated by GDP/capita and converge using quadratic phase-in until cm_CO2priceRegConvEndYr (default = 2050), globally uniform price thereafter, *** level of regional carbon price differentiation (uniform, medium, strong) can be chosen via cm_co2_tax_spread *** Exp: carbon price of developed regions increases exponentially with rate given by cm_co2_tax_growth (default = 4.5 percent), *** initial value in cm_startyear is given by cm_co2_tax_startyear (if iterative_target_adj != 0, this value will be adjusted to meet prescribed CO2 budget) -*** 2Lin: (with iterative_target_adj = 9): after the peak year (initial value given by cm_peakBudgYr, will be adjusted by algorithm in core/postsolve.gms), +*** 2Lin: (with iterative_target_adj = 9): after the peak year (initial value given by cm_peakBudgYr, will be adjusted by algorithm in core/postsolve.gms), *** carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant) -*** (with iterative_target_adj = 5): carbon price of developed countries keeps increasing exponentially until end of century, i.e. no change after peak year +*** (with iterative_target_adj = 5): carbon price of developed countries keeps increasing exponentially until end of century, i.e. no change after peak year *** (with iterative_target_adj = 0): after year given by cm_peakBudgYr (default = 2050), carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant), -*** for exponentially increasing carbon price until end of century, set cm_peakBudgYr = 2110 +*** for exponentially increasing carbon price until end of century, set cm_peakBudgYr = 2110 ***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- *####################### R SECTION START (PHASES) ############################## diff --git a/modules/45_carbonprice/diffLin2Lin/realization.gms b/modules/45_carbonprice/diffLin2Lin/realization.gms index fcd21cbaf..ad2cb7ed4 100644 --- a/modules/45_carbonprice/diffLin2Lin/realization.gms +++ b/modules/45_carbonprice/diffLin2Lin/realization.gms @@ -6,18 +6,18 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/45_carbonprice/diffLin2Lin/realization.gms -*#' @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. +*' @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. ***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- *** diff: regional prices are initially differentiated by GDP/capita and converge using quadratic phase-in until cm_CO2priceRegConvEndYr (default = 2050), globally uniform price thereafter, *** level of regional carbon price differentiation (uniform, medium, strong) can be chosen via cm_co2_tax_spread *** Lin: carbon price of developed regions increases linearly starting at historical level given by cm_co2_tax_hist in year cm_year_co2_tax_hist *** initial value in cm_startyear is given by cm_co2_tax_startyear (if iterative_target_adj != 0, this value will be adjusted to meet prescribed CO2 budget) -*** 2Lin: (with iterative_target_adj = 9): after the peak year (initial value given by cm_peakBudgYr, will be adjusted by algorithm in core/postsolve.gms), +*** 2Lin: (with iterative_target_adj = 9): after the peak year (initial value given by cm_peakBudgYr, will be adjusted by algorithm in core/postsolve.gms), *** carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant) -*** (with iterative_target_adj = 5): carbon price of developed countries keeps increasing linearly (with same slope) until end of century, i.e. no change after peak year +*** (with iterative_target_adj = 5): carbon price of developed countries keeps increasing linearly (with same slope) until end of century, i.e. no change after peak year *** (with iterative_target_adj = 0): after year given by cm_peakBudgYr (default = 2050), carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant), -*** for linearly increasing carbon price (with same slope) until end of century, set cm_peakBudgYr = 2110 +*** for linearly increasing carbon price (with same slope) until end of century, set cm_peakBudgYr = 2110 ***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- *####################### R SECTION START (PHASES) ############################## diff --git a/modules/45_carbonprice/exogenous/realization.gms b/modules/45_carbonprice/exogenous/realization.gms index 7065d37e5..c1fd09538 100644 --- a/modules/45_carbonprice/exogenous/realization.gms +++ b/modules/45_carbonprice/exogenous/realization.gms @@ -6,9 +6,9 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/45_carbonprice/exogenous/realization.gms -*#' @description This realization implements carbon price trajectories from an exogenous file (p45_tau_co2_tax.inc). -*#' Alternatively, specify in 'path_gdx_carbonprice' the run to be used -*#' Requires cm_emiscen = 9 and cm_iterative_target_adj = 0 +*' @description This realization implements carbon price trajectories from an exogenous file (p45_tau_co2_tax.inc). +*' Alternatively, specify in 'path_gdx_carbonprice' the run to be used +*' Requires cm_emiscen = 9 and cm_iterative_target_adj = 0 *####################### R SECTION START (PHASES) ############################## diff --git a/modules/45_carbonprice/expoLinear/realization.gms b/modules/45_carbonprice/expoLinear/realization.gms index 4e845a5b2..dd65eb081 100644 --- a/modules/45_carbonprice/expoLinear/realization.gms +++ b/modules/45_carbonprice/expoLinear/realization.gms @@ -6,14 +6,14 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/45_carbonprice/expoLinear/realization.gms -*' @description The exponential price path goes back to the “Hotelling rule”: -*' a price path that rises exponentially with the discount rate is economically optimal for extracting a finite resource, -*' in our case the finite remaining carbon budget. However, once CDR is introduced to the portfolio of mitigation options, -*' the remaining admissible amount of cumulative gross CO2 emissions is no longer finite, and the Hotelling rule no longer represents an economically optimal solution. -*' A carbon price path following the Hotelling rule leads to rather low emission prices and therefore low emission reductions early in the century, -*' and to very high emission prices and massive CDR deployment towards the end of the century. -*' A Hotelling price path can only be considered optimal until the time of net-zero emissions. -*' Afterwards, a moderate carbon price increase is sufficient to avoid a return of fossil fuels. +*' @description The exponential price path goes back to the “Hotelling rule”: +*' a price path that rises exponentially with the discount rate is economically optimal for extracting a finite resource, +*' in our case the finite remaining carbon budget. However, once CDR is introduced to the portfolio of mitigation options, +*' the remaining admissible amount of cumulative gross CO2 emissions is no longer finite, and the Hotelling rule no longer represents an economically optimal solution. +*' A carbon price path following the Hotelling rule leads to rather low emission prices and therefore low emission reductions early in the century, +*' and to very high emission prices and massive CDR deployment towards the end of the century. +*' A Hotelling price path can only be considered optimal until the time of net-zero emissions. +*' Afterwards, a moderate carbon price increase is sufficient to avoid a return of fossil fuels. *' Therefore, we choose an exponentially increasing carbon price until the expected time of net-zero emissions and a linear increase at the rate of 2050 or 2060 afterwards. *####################### R SECTION START (PHASES) ############################## diff --git a/modules/45_carbonprice/exponential/realization.gms b/modules/45_carbonprice/exponential/realization.gms index 7e0d49170..941b30ee8 100644 --- a/modules/45_carbonprice/exponential/realization.gms +++ b/modules/45_carbonprice/exponential/realization.gms @@ -6,7 +6,7 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/45_carbonprice/exponential/realization.gms -*#' @description: This realization implements an exponential increase in carbon price from the predefined 2020 level. +*' @description: This realization implements an exponential increase in carbon price from the predefined 2020 level. *####################### R SECTION START (PHASES) ############################## $Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/exponential/datainput.gms" diff --git a/modules/45_carbonprice/linear/realization.gms b/modules/45_carbonprice/linear/realization.gms index 6f066c23b..03f2f3f70 100644 --- a/modules/45_carbonprice/linear/realization.gms +++ b/modules/45_carbonprice/linear/realization.gms @@ -6,7 +6,7 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/45_carbonprice/linear/realization.gms -*#' @description: This realization imeplents an linear increase in carbon price from the predefined 2020 level. +*' @description: This realization imeplents an linear increase in carbon price from the predefined 2020 level. *####################### R SECTION START (PHASES) ############################## $Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/linear/datainput.gms" diff --git a/modules/45_carbonprice/none/realization.gms b/modules/45_carbonprice/none/realization.gms index 1f72cc0da..5ad8dd6bf 100644 --- a/modules/45_carbonprice/none/realization.gms +++ b/modules/45_carbonprice/none/realization.gms @@ -7,7 +7,7 @@ *** SOF ./modules/45_carbonprice/none/realization.gms -*#' @description: This realization is for runs without carbon prices (BAU). +*' @description: This realization is for runs without carbon prices. *####################### R SECTION START (PHASES) ############################## $Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/none/datainput.gms" diff --git a/modules/45_carbonprice/temperatureNotToExceed/realization.gms b/modules/45_carbonprice/temperatureNotToExceed/realization.gms index 30cd30eff..2ef11e50f 100644 --- a/modules/45_carbonprice/temperatureNotToExceed/realization.gms +++ b/modules/45_carbonprice/temperatureNotToExceed/realization.gms @@ -6,8 +6,8 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/45_carbonprice/temperatureNotToExceed/realization.gms -*#' @description This realization chooses a carbon price trajectory consistent with a (non-overshoot) temperature target -*#' by staying within a peak budget of cumulative CO2 emissions. +*' @description This realization chooses a carbon price trajectory consistent with a (non-overshoot) temperature target +*' by staying within a peak budget of cumulative CO2 emissions. *####################### R SECTION START (PHASES) ############################## $Ifi "%phase%" == "declarations" $include "./modules/45_carbonprice/temperatureNotToExceed/declarations.gms" From 2850b41e170498771c5adb3e71e7a8514798d7d7 Mon Sep 17 00:00:00 2001 From: orichters Date: Fri, 4 Oct 2024 17:56:13 +0200 Subject: [PATCH 592/875] another 05 to 2017 unit --- scripts/start/getReportData.R | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/scripts/start/getReportData.R b/scripts/start/getReportData.R index dc8bab506..70e7ced5a 100644 --- a/scripts/start/getReportData.R +++ b/scripts/start/getReportData.R @@ -128,11 +128,7 @@ getReportData <- function(path_to_report,inputpath_mag="magpie_40",inputpath_acc .agriculture_costs <- function(mag){ notGLO <- getRegions(mag)[!(getRegions(mag)=="GLO")] - if ("Costs Without Incentives (million US$05/yr)" %in% getNames(mag)) { - out <- mag[,,"Costs Without Incentives (million US$05/yr)"]/1000/1000 # with transformation factor from 10E6 US$2017 to 10E12 US$2017 - } else { - out <- mag[,,"Costs|MainSolve w/o GHG Emissions (million US$05/yr)"]/1000/1000 # old reporting - } + out <- mag[,,"Costs Without Incentives (million US$2017/yr)"]/1000/1000 # with transformation factor from 10E6 US$2017 to 10E12 US$2017 out["JPN",is.na(out["JPN",,]),] <- 0 tmp <- out dimnames(out)[[3]] <- NULL #Delete variable name to prevent it from being written into output file From 2f42388a1fb13c4a48f8eb4a241a25d7031ebf36 Mon Sep 17 00:00:00 2001 From: orichters Date: Fri, 4 Oct 2024 20:02:55 +0200 Subject: [PATCH 593/875] fix coupled tests --- config/tests/scenario_config_shortCascade.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/tests/scenario_config_shortCascade.csv b/config/tests/scenario_config_shortCascade.csv index 0eecea0d5..9e9c2fa8b 100644 --- a/config/tests/scenario_config_shortCascade.csv +++ b/config/tests/scenario_config_shortCascade.csv @@ -1,4 +1,4 @@ title;start;c_empty_model;path_gdx_ref;output;cm_startyear;regipol TESTTHAT-SSP2-Base;1;on;;reportingREMIND2MAgPIE;2005;regiCarbonPrice TESTTHAT-SSP2-NDC;1;on;TESTTHAT-SSP2-Base;reportingREMIND2MAgPIE;2020;regiCarbonPrice -TESTTHAT-SSP2-Policy;2;on;TESTTHAT-SSP2-NDC;reportingREMIND2MAgPIE;2025;regiCarbonPrice +TESTTHAT-SSP2-Policy;2;on;TESTTHAT-SSP2-Base;reportingREMIND2MAgPIE;2025;regiCarbonPrice From 6256bfeceba24c6dae95af509139e6c23392f4ad Mon Sep 17 00:00:00 2001 From: orichters Date: Mon, 7 Oct 2024 07:57:59 +0200 Subject: [PATCH 594/875] add SSP2-CP-D1_Mix1/2 and CurPol_T44_Mix1/2 to ELEVATE2p3 config --- config/scenario_config_ELEVATE2p3.csv | 4 ++++ config/scenario_config_coupled_ELEVATE2p3.csv | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/config/scenario_config_ELEVATE2p3.csv b/config/scenario_config_ELEVATE2p3.csv index 7f137428c..cd6225b43 100755 --- a/config/scenario_config_ELEVATE2p3.csv +++ b/config/scenario_config_ELEVATE2p3.csv @@ -12,3 +12,7 @@ ELV-SSP2-400Feoc;1;9;2050.GLO 0.9;Mix3;heatpumps;rcp20;5;globallyOptimal;400;exp ELV-SSP2-CP-D0;1;9;;Mix3;none;rcp45;3;off;0;NPi2025_EUR55;none;;1;2100;3;9;1;100;NPi2018;3;2005;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030 with new expert guess for 2025 and 2030 (EUR only). After 2030 each region keeps the carbon price constant. ELV-SSP2-CP-D1;1;9;;Mix3;none;rcp45;3;off;0;NPi2025_EUR55;none;;1;2100;3;9;1.01;100;NPi2018;3;2005;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030 with new expert guess for 2025 and 2030 (EUR only). After 2030 each region increases their carbon price by 1%. ELV-SSP2-CP-D3;1;9;;Mix3;none;rcp45;3;off;0;NPi2025_EUR55;none;;1;2100;3;9;1.03;100;NPi2018;3;2005;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030 with new expert guess for 2025 and 2030 (EUR only). After 2030 each region increases their carbon price by 3%. +ELV-SSP2-CP-D1_Mix1;1;9;;Mix1ICEban;none;rcp45;3;off;0;NPi2025_EUR55;none;;1;2100;3;9;1.01;100;NPi2018;3;2005;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030 with new expert guess for 2025 and 2030 (EUR only). After 2030 each region increases their carbon price by 1%. +ELV-SSP2-CP-D1_Mix2;1;9;;Mix2ICEban;none;rcp45;3;off;0;NPi2025_EUR55;none;;1;2100;3;9;1.01;100;NPi2018;3;2005;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030 with new expert guess for 2025 and 2030 (EUR only). After 2030 each region increases their carbon price by 1%. +ELV_CurPol_T44_Mix1;1;9;;Mix1ICEban;none;rcp45;3;off;0;NPi;none;;1;2100;3;9;1.05;100;NPi2018;3;2005;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030. In the default setting carbon prices converges after 2030 over all regions to $25 eoc. +ELV_CurPol_T44_Mix2;1;9;;Mix2ICEban;none;rcp45;3;off;0;NPi;none;;1;2100;3;9;1.05;100;NPi2018;3;2005;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030. In the default setting carbon prices converges after 2030 over all regions to $25 eoc. diff --git a/config/scenario_config_coupled_ELEVATE2p3.csv b/config/scenario_config_coupled_ELEVATE2p3.csv index 620040a38..b4ea7ab6e 100755 --- a/config/scenario_config_coupled_ELEVATE2p3.csv +++ b/config/scenario_config_coupled_ELEVATE2p3.csv @@ -12,3 +12,7 @@ ELV-SSP2-400Feoc;1;;;;SSP2|NDC|nocc_hist|rcp1p9;y2150;2;;;; ELV-SSP2-CP-D0;1;;;priority;SSP2|NPI|nocc_hist|rcp4p5;y2150;2;;;; ELV-SSP2-CP-D1;1;;;priority;SSP2|NPI|nocc_hist|rcp4p5;y2150;2;;;; ELV-SSP2-CP-D3;1;;;priority;SSP2|NPI|nocc_hist|rcp4p5;y2150;2;;;; +ELV-SSP2-CP-D1_Mix1;1;;;priority;SSP2|NPI|nocc_hist|rcp4p5;y2150;2;;;; +ELV-SSP2-CP-D1_Mix2;1;;;priority;SSP2|NPI|nocc_hist|rcp4p5;y2150;2;;;; +ELV_CurPol_T44_Mix1;1;;;priority;SSP2|NPI|nocc_hist|rcp4p5;y2150;2;;;; +ELV_CurPol_T44_Mix2;1;;;priority;SSP2|NPI|nocc_hist|rcp4p5;y2150;2;;;; From 0610b631dfd012f31355a3ee805ef94d6d86d6d4 Mon Sep 17 00:00:00 2001 From: orichters Date: Mon, 7 Oct 2024 08:40:02 +0200 Subject: [PATCH 595/875] fix descriptions --- modules/45_carbonprice/NPiexpo/datainput.gms | 2 +- modules/45_carbonprice/NPiexpo/realization.gms | 2 +- modules/45_carbonprice/linear/realization.gms | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/45_carbonprice/NPiexpo/datainput.gms b/modules/45_carbonprice/NPiexpo/datainput.gms index 8433bbd35..9c7f508ee 100644 --- a/modules/45_carbonprice/NPiexpo/datainput.gms +++ b/modules/45_carbonprice/NPiexpo/datainput.gms @@ -9,7 +9,7 @@ *** CO2 Tax level ***---------------------------- -*** CO2 tax level is calculated at a 5% exponential increase from the 2020 tax level exogenously defined +*** CO2 tax level is calculated at a 5% exponential increase from the tax level before cm_startyear *GL: tax path in 10^12$/GtC = 1000 $/tC *** according to Asian Modeling Excercise tax case setup, 30$/t CO2eq in 2020 = 0.110 k$/tC diff --git a/modules/45_carbonprice/NPiexpo/realization.gms b/modules/45_carbonprice/NPiexpo/realization.gms index 75d83e0fb..87acb1022 100644 --- a/modules/45_carbonprice/NPiexpo/realization.gms +++ b/modules/45_carbonprice/NPiexpo/realization.gms @@ -6,7 +6,7 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/45_carbonprice/NPiexpo/realization.gms -*' @description: This realization imeplents an exponential increase in carbon price from the predefined 2020 level. +*' @description: This realization implements an exponential increase in carbon price from the tax level before cm_startyear. *####################### R SECTION START (PHASES) ############################## $Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/NPiexpo/datainput.gms" diff --git a/modules/45_carbonprice/linear/realization.gms b/modules/45_carbonprice/linear/realization.gms index 03f2f3f70..1028a0e3b 100644 --- a/modules/45_carbonprice/linear/realization.gms +++ b/modules/45_carbonprice/linear/realization.gms @@ -6,7 +6,7 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/45_carbonprice/linear/realization.gms -*' @description: This realization imeplents an linear increase in carbon price from the predefined 2020 level. +*' @description: This realization implements an linear increase in carbon price from the predefined 2020 level. *####################### R SECTION START (PHASES) ############################## $Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/linear/datainput.gms" From d6e8e675eecd62d28cdbfb3426229da1c4ab2401 Mon Sep 17 00:00:00 2001 From: orichters Date: Mon, 7 Oct 2024 09:08:28 +0200 Subject: [PATCH 596/875] remove SDP input files from input/files files --- config/gdx-files/files | 3 --- modules/29_CES_parameters/load/input/files | 3 --- 2 files changed, 6 deletions(-) diff --git a/config/gdx-files/files b/config/gdx-files/files index 0e63251f8..62b85ca84 100644 --- a/config/gdx-files/files +++ b/config/gdx-files/files @@ -1,9 +1,6 @@ indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP2-GDP_gdp_SSP2-En_gdp_SSP2-Kap_debt_limit-Reg_62eff8f7.gdx indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP2-GDP_gdp_SSP2-En_gdp_SSP2-Kap_debt_limit-Reg_2b1450bc.gdx indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP1-GDP_gdp_SSP1-En_gdp_SSP1-Kap_debt_limit-Reg_62eff8f7.gdx -indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SDP_MC-GDP_gdp_SDP_MC-En_gdp_SDP_MC-Kap_debt_limit-Reg_62eff8f7.gdx -indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SDP_RC-GDP_gdp_SDP_RC-En_gdp_SDP_RC-Kap_debt_limit-Reg_62eff8f7.gdx -indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SDP_EI-GDP_gdp_SDP_EI-En_gdp_SDP_EI-Kap_debt_limit-Reg_62eff8f7.gdx indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP5-GDP_gdp_SSP5-En_gdp_SSP5-Kap_debt_limit-Reg_62eff8f7.gdx indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP2-GDP_gdp_SSP2-En_gdp_SSP2_lowEn-Kap_debt_limit-Reg_62eff8f7.gdx diff --git a/modules/29_CES_parameters/load/input/files b/modules/29_CES_parameters/load/input/files index 157075de9..1176951af 100644 --- a/modules/29_CES_parameters/load/input/files +++ b/modules/29_CES_parameters/load/input/files @@ -1,9 +1,6 @@ indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP2-GDP_gdp_SSP2-En_gdp_SSP2-Kap_debt_limit-Reg_62eff8f7.inc indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP2-GDP_gdp_SSP2-En_gdp_SSP2-Kap_debt_limit-Reg_2b1450bc.inc indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP1-GDP_gdp_SSP1-En_gdp_SSP1-Kap_debt_limit-Reg_62eff8f7.inc -indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SDP_MC-GDP_gdp_SDP_MC-En_gdp_SDP_MC-Kap_debt_limit-Reg_62eff8f7.inc -indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SDP_RC-GDP_gdp_SDP_RC-En_gdp_SDP_RC-Kap_debt_limit-Reg_62eff8f7.inc -indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SDP_EI-GDP_gdp_SDP_EI-En_gdp_SDP_EI-Kap_debt_limit-Reg_62eff8f7.inc indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP5-GDP_gdp_SSP5-En_gdp_SSP5-Kap_debt_limit-Reg_62eff8f7.inc indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP2-GDP_gdp_SSP2-En_gdp_SSP2_lowEn-Kap_debt_limit-Reg_62eff8f7.inc From 7101fdbfc8d46495b786e679a88bd7115367b7c3 Mon Sep 17 00:00:00 2001 From: orichters Date: Mon, 7 Oct 2024 09:20:07 +0200 Subject: [PATCH 597/875] typo on filename --- ...st_03-negative_electricty.R => test_03-negative_electricity.R} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename tests/testthat/validation/{test_03-negative_electricty.R => test_03-negative_electricity.R} (100%) diff --git a/tests/testthat/validation/test_03-negative_electricty.R b/tests/testthat/validation/test_03-negative_electricity.R similarity index 100% rename from tests/testthat/validation/test_03-negative_electricty.R rename to tests/testthat/validation/test_03-negative_electricity.R From 71b0c74fbdb1af57e568bedf74db654a051e3c32 Mon Sep 17 00:00:00 2001 From: orichters Date: Mon, 7 Oct 2024 09:45:34 +0200 Subject: [PATCH 598/875] add ELEVATE_coupled in IIASA export, improve comments --- modules/46_carbonpriceRegi/netZero/postsolve.gms | 4 +++- scripts/output/export/xlsx_IIASA.R | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/46_carbonpriceRegi/netZero/postsolve.gms b/modules/46_carbonpriceRegi/netZero/postsolve.gms index 794dd356f..0e17eb068 100644 --- a/modules/46_carbonpriceRegi/netZero/postsolve.gms +++ b/modules/46_carbonpriceRegi/netZero/postsolve.gms @@ -19,7 +19,9 @@ $ifthen.offsets "%cm_netZeroScen%" == "ELEVATE2p3" Execute_Loadpoint 'input_bau' p46_ref_co2eq = vm_co2eq.l; -*** shares calculated by Rahel based on excel file +*** Coverage shares are calculated using PBL's Net-Zero Calculator based on https://zerotracker.net/ +*** (methodology and more information at https://zerotracker.net/methodology) and further +*** adaptations based on Climate Action Tracker information, literature or expert opinion. p46_offset(nz_reg)$(sameas(nz_reg, "LAM")) = (1 - 0.68) * p46_ref_co2eq("2050", nz_reg) * sm_c_2_co2 * 1000; p46_offset(nz_reg)$(sameas(nz_reg, "MEA")) = (1 - 0.40) * p46_ref_co2eq("2055", nz_reg) * sm_c_2_co2 * 1000; p46_offset(nz_reg)$(sameas(nz_reg, "NEU")) = (1 - 0.83) * p46_ref_co2eq("2055", nz_reg) * sm_c_2_co2 * 1000; diff --git a/scripts/output/export/xlsx_IIASA.R b/scripts/output/export/xlsx_IIASA.R index a0e07c8e6..265b9f610 100644 --- a/scripts/output/export/xlsx_IIASA.R +++ b/scripts/output/export/xlsx_IIASA.R @@ -36,6 +36,9 @@ projects <- list( ELEVATE = list(mapping = c("NAVIGATE", "ELEVATE"), iiasatemplate = "https://files.ece.iiasa.ac.at/elevate/elevate-template.xlsx", removeFromScen = "C_|eoc"), + ELEVATE_coupled = list(mapping = c("NAVIGATE", "NAVIGATE_coupled", "ELEVATE"), + iiasatemplate = "https://files.ece.iiasa.ac.at/elevate/elevate-template.xlsx", + removeFromScen = "C_|eoc"), ENGAGE_4p5 = list(mapping = c("AR6", "AR6_NGFS"), iiasatemplate = "ENGAGE_CD-LINKS_template_2019-08-22.xlsx", removeFromScen = "_diff|_expoLinear|-all_regi"), From 836ed69219ab97194f788999acf443154ecbe74d Mon Sep 17 00:00:00 2001 From: orichters Date: Mon, 7 Oct 2024 10:17:28 +0200 Subject: [PATCH 599/875] implement Laurin's comment --- modules/45_carbonprice/NPiexpo/datainput.gms | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/modules/45_carbonprice/NPiexpo/datainput.gms b/modules/45_carbonprice/NPiexpo/datainput.gms index 9c7f508ee..108cac05b 100644 --- a/modules/45_carbonprice/NPiexpo/datainput.gms +++ b/modules/45_carbonprice/NPiexpo/datainput.gms @@ -9,14 +9,12 @@ *** CO2 Tax level ***---------------------------- -*** CO2 tax level is calculated at a 5% exponential increase from the tax level before cm_startyear - -*GL: tax path in 10^12$/GtC = 1000 $/tC -*** according to Asian Modeling Excercise tax case setup, 30$/t CO2eq in 2020 = 0.110 k$/tC +*** CO2 tax level is calculated at an exponential increase from the tax level before cm_startyear Execute_Loadpoint "input_ref" pm_taxCO2eq = pm_taxCO2eq; -pm_taxCO2eq(t,regi) = sum(ttot, pm_taxCO2eq(ttot,regi)$(ttot.val eq cm_startyear - 5)) * cm_co2_tax_growth**(t.val-cm_startyear+5); +*** calculate pm_taxCO2eq for year before startyear +pm_taxCO2eq(t,regi) = sum(ttot, pm_taxCO2eq(ttot,regi)$(ttot.val eq smax(ttot2$( ttot2.val lt cm_startyear ), ttot2.val))) * cm_co2_tax_growth**(t.val-smax(ttot2$( ttot2.val lt cm_startyear ), ttot2.val)); pm_taxCO2eq(t,regi)$(t.val gt 2110) = pm_taxCO2eq("2110",regi); !! to prevent huge taxes after 2110 and the resulting convergence problems, set taxes after 2110 equal to 2110 value From 2effbaebb22dc2bc5df5326ca63875872add459b Mon Sep 17 00:00:00 2001 From: orichters Date: Mon, 7 Oct 2024 11:13:20 +0200 Subject: [PATCH 600/875] adjust Changelog --- CHANGELOG.md | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c89cf0ba6..f1109f62f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,15 +24,25 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - moved to edgeTransport 2.0 version [[#1749](https://github.com/remindmodel/remind/pull/1749)] - **scripts** in readCheckScenarioConfig(), do not automatically remove path_gdx_bau if allegedly 'not needed' [[#1809](https://github.com/remindmodel/remind/pull/1809)] +- **scripts** adjust MAgPIE coupling to US$2005 -> 2017 shift + [[#1851](https://github.com/remindmodel/remind/pull/1851)] - **core** changed adjustment cost of geohe (central heat pumps), elh2 (electrolysis), MeOH (FT-Synthesis: H2-to-Liquids) and h22ch4 (methanation: H2-to-Gas) to better reflect upscaling dynamics [[#1823](https://github.com/remindmodel/remind/pull/1823)] ### added -- **50_damages**, **51_internalizeDamages** add KotzWenz realization based on Kotz & Wenz (2024) - [[#1601](https://github.com/remindmodel/remind/pull/1601)] +- **32_power** increase minimum required dispatchable back-up capacity for VRE integration + [[#1789](https://github.com/remindmodel/remind/pull/1789)] +- **33_CDR** added ocean alkalinity enhancement to the CDR portfolio (OAE is turned off by default) + [[#1777](https://github.com/remindmodel/remind/pull/1777)] - **45_carbonprice** added realizations diffExp2Lin and diffLin2Lin [[#1723](https://github.com/remindmodel/remind/pull/1723)] +-_**45_carbonprice** added realizations NPi2025_EUR55 and NPiexpo + [[#1851](https://github.com/remindmodel/remind/pull/1851)] +- **50_damages**, **51_internalizeDamages** add KotzWenz realization based on Kotz & Wenz (2024) + [[#1601](https://github.com/remindmodel/remind/pull/1601)] +- **config** add ELEVATE2p3 config + [[#1851](https://github.com/remindmodel/remind/pull/1851)] - **scripts** define defaults for script selections in output.R [[#1739](https://github.com/remindmodel/remind/pull/1739)] - **scripts** fail transparently on duplicated column names in `scenario_config*.csv` files @@ -47,16 +57,14 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - **testthat** fail if manipulating main.gms with default cfg drops/changes switches and comments [[#1764](https://github.com/remindmodel/remind/pull/1764)] and [[#1767](https://github.com/remindmodel/remind/pull/1767)] -- **33_CDR** added ocean alkalinity enhancement to the CDR portfolio (OAE is turned off by default) - [[#1777](https://github.com/remindmodel/remind/pull/1777)] -- **32_power** increase minimum required dispatchable back-up capacity for VRE integration - [[#1789](https://github.com/remindmodel/remind/pull/1789)] - **scripts** integrate automated scenario validation via piamValidation as output script [[#1790](https://github.com/remindmodel/remind/pull/1790)] - **scripts** add interactive plotting script 'selectPlots' [[#1815](https://github.com/remindmodel/remind/pull/1815)] - **scripts** in readCheckScenarioConfig() while running tests, check if all scenarios stated in path_gdx* columns exist [[#1818](https://github.com/remindmodel/remind/pull/1818)] +- **scripts** fail transparently if cm_startyear is earlier than that of path_gdx_ref + [[#1851](https://github.com/remindmodel/remind/pull/1851)] ### fixed - included CCS from plastic waste incineration in CCS mass flows so it is From 9bcdd58c6ca76bb2f2337d2422ef77a56ac92d0b Mon Sep 17 00:00:00 2001 From: orichters Date: Mon, 7 Oct 2024 11:22:04 +0200 Subject: [PATCH 601/875] adjust SSA net Zero coverage to 58% --- main.gms | 2 +- modules/46_carbonpriceRegi/netZero/postsolve.gms | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/main.gms b/main.gms index c1f9a5ded..f61eab257 100755 --- a/main.gms +++ b/main.gms @@ -132,7 +132,7 @@ *' *' #### Sets *' -*' * Don't use set element names with three capital letters (like `ETS` or `ESR`), otherwise the maglcass R +*' * Don't use set element names with three capital letters (like `ETS` or `ESR`), otherwise the magclass R *' library might interpret this as a region name when reading in GDX data *' *' diff --git a/modules/46_carbonpriceRegi/netZero/postsolve.gms b/modules/46_carbonpriceRegi/netZero/postsolve.gms index 0e17eb068..e909b760a 100644 --- a/modules/46_carbonpriceRegi/netZero/postsolve.gms +++ b/modules/46_carbonpriceRegi/netZero/postsolve.gms @@ -26,7 +26,7 @@ $ifthen.offsets "%cm_netZeroScen%" == "ELEVATE2p3" p46_offset(nz_reg)$(sameas(nz_reg, "MEA")) = (1 - 0.40) * p46_ref_co2eq("2055", nz_reg) * sm_c_2_co2 * 1000; p46_offset(nz_reg)$(sameas(nz_reg, "NEU")) = (1 - 0.83) * p46_ref_co2eq("2055", nz_reg) * sm_c_2_co2 * 1000; p46_offset(nz_reg)$(sameas(nz_reg, "OAS")) = (1 - 0.88) * p46_ref_co2eq("2055", nz_reg) * sm_c_2_co2 * 1000; - p46_offset(nz_reg)$(sameas(nz_reg, "SSA")) = (1 - 0.66) * p46_ref_co2eq("2055", nz_reg) * sm_c_2_co2 * 1000; + p46_offset(nz_reg)$(sameas(nz_reg, "SSA")) = (1 - 0.58) * p46_ref_co2eq("2055", nz_reg) * sm_c_2_co2 * 1000; p46_offset(nz_reg)$(sameas(nz_reg, "REF")) = (1 - 0.83) * p46_ref_co2eq("2060", nz_reg) * sm_c_2_co2 * 1000; $elseif.offsets "%cm_netZeroScen%" == "NGFS_v4_20pc" From 8ef5257cd3109f32140f12cf81c1b31a62084004 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Mon, 7 Oct 2024 14:31:10 +0000 Subject: [PATCH 602/875] Release development version 3.3.2.dev787 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 922594ce9..76ea99531 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev757" -date-released: 2024-10-02 +version: "3.3.2.dev787" +date-released: 2024-10-07 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 9f592b41d..51c1d35a1 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev757" +cfg$model_version <- "3.3.2.dev787" #### settings #### cfg$gms <- list() From 3cbcd1e1e64d3e67a91cbdf6470932fdb4b07425 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Mon, 7 Oct 2024 17:03:13 +0200 Subject: [PATCH 603/875] update SSP3 scenario settings in scenario_config.csv --- config/scenario_config.csv | 82 +++++++++++++++++++------------------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/config/scenario_config.csv b/config/scenario_config.csv index 2cb001e4c..ef2cd3ced 100644 --- a/config/scenario_config.csv +++ b/config/scenario_config.csv @@ -1,41 +1,41 @@ -title;start;CES_parameters;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_startyear;cm_peakBudgYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_co2_tax_growth;cm_bioenergy_SustTax;c_ccsinjecratescen;c_ccscapratescen;c_changeProdCost;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description -# H12 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-NPi-calibrate;calibrate,AMT,compileInTests;calibrate;14;;;rcp45;;;0;NPi;;;9;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-Base;1,AMT,2;;;;;;;;0;;;;;;off;;;;;;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix1;2005;;;;;SSP2-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-NDC;1,AMT,2;;;;;rcp45;3;globallyOptimal;0;NDC;;;9;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2030;;SSP2-NPi;SSP2-NPi;SSP2-NPi;SSP2-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. -SSP2-NPi;1,AMT,compileInTests,2;;;;;rcp45;3;;0;NPi;;;9;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-PkBudg500;1,AMT,2;;;;;rcp20;9;globallyOptimal;500;diffLin2Lin;200;2045;9;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be well below 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-PkBudg650;1,AMT,2;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-PkBudg1000;1,AMT,2;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;9;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -# EU21 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-EU21-NPi-calibrate;calibrate;calibrate;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;0;NPi;;;9;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-EU21-Base;1,AMT,compileInTests,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;;;;0;;;;;;off;;;;;;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix1;2005;;;;;SSP2-EU21-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-EU21-NDC;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;globallyOptimal;0;NDC;;;9;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2030;;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-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. -SSP2-EU21-NPi;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;9;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-EU21-PkBudg500;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;500;diffLin2Lin;200;2045;9;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg500: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-EU21-PkBudg650;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg650: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-EU21-PkBudg1000;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;9;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg1050: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -# H12 SSP3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP3-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;9;;;;;;;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;3;6;4;3;SSP3;;;forcing_SSP3;SSP3;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. -SSP3-NDC;0;;;;;rcp45;3;globallyOptimal;0;NDC;;;9;;;;;;;2;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;3;6;4;3;SSP3;;;forcing_SSP3;SSP3;Mix2;2030;;SSP2-NPi;SSP3-NPi;SSP3-NPi;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. 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. -SSP3-NPi;0;;;;;rcp45;3;;0;NPi;;;9;;;;;;;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;3;6;4;3;SSP3;;;forcing_SSP3;SSP3;Mix1;2005;;;;;SSP3-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP3-PkBudg650;0;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;;;;;;;2;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;3;6;4;;SSP3;;;forcing_SSP3;SSP3;Mix4ICEban;2030;;SSP2-NPi;;;SSP3-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP3-PkBudg1000;0;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;9;;;;;;;2;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;3;6;4;;SSP3;;;forcing_SSP3;SSP3;Mix3ICEban;2030;;SSP2-NPi;;;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -# H12 SSP1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP1-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. -SSP1-NDC;1,AMT,compileInTests;;;;;rcp45;3;globallyOptimal;0;NDC;;;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;2;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix2;2030;;SSP2-NPi;SSP1-NPi;SSP1-NPi;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. -SSP1-NPi;1,AMT;;;;;rcp45;3;;0;NPi;;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP1-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;2;;1;feelhpb 1.05, fehob 1.75, feheb 0.1;manual;feh2_otherInd 1.04, feelhth_otherInd 0.4, feh2_cement 2.0, feelhth_chemicals 1.3, feh2_chemicals 1.04;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SDP;0.5;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SSP2-NPi;;;SSP1-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP1-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;2;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SDP;0.5;1;forcing_SSP1;MFR;Mix3ICEban;2030;;SSP2-NPi;;;SSP1-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -# H12 SSP2 lowEnergy;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2_lowEn-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;9;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2_lowEn-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. -SSP2_lowEn-NDC;1,AMT;;;;;rcp45;3;globallyOptimal;0;NDC;;;9;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;;;;;;Mix2;2025;;SSP2-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. 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. -SSP2_lowEn-NPi;1,AMT;;;;;rcp45;3;;0;NPi;;;9;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2_lowEn-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2_lowEn-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi;;;SSP2_lowEn-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2_lowEn-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;9;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-NPi;;;SSP2_lowEn-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -# H12 SSP5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP5-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;9;;;1;;1.75;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. -SSP5-NDC;1;;;;;rcp45;3;globallyOptimal;0;NDC;;;9;;;1;;1.75;3;2;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2;2030;;SSP2-NPi;SSP5-NPi;SSP5-NPi;SSP5-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. 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. -SSP5-NPi;1;;;;;rcp45;3;;0;NPi;;;9;;;1;;1.75;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP5-PkBudg650;1;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;;;1;;1.75;3;2;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix4ICEban;2030;;SSP2-NPi;;;SSP5-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP5-PkBudg1000;1,compileInTests;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;9;;;1;;1.75;3;2;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix3ICEban;2030;;SSP2-NPi;;;SSP5-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +title;start;CES_parameters;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_startyear;cm_peakBudgYr;cm_CO2priceRegConvEndYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_co2_tax_growth;cm_bioenergy_SustTax;c_ccsinjecratescen;c_ccscapratescen;c_changeProdCost;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description +# H12 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2-NPi-calibrate;calibrate,AMT,compileInTests;calibrate;14;;;rcp45;;;0;NPi;;;;9;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-Base;1,AMT,2;;;;;;;;0;;;;;;;off;;;;;;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix1;2005;;;;;SSP2-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-NDC;1,AMT,2;;;;;rcp45;3;globallyOptimal;0;NDC;;;;9;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2030;;SSP2-NPi;SSP2-NPi;SSP2-NPi;SSP2-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. +SSP2-NPi;1,AMT,compileInTests,2;;;;;rcp45;3;;0;NPi;;;;9;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-PkBudg500;1,AMT,2;;;;;rcp20;9;globallyOptimal;500;diffLin2Lin;200;2045;;9;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be well below 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-PkBudg650;1,AMT,2;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;9;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-PkBudg1000;1,AMT,2;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;;9;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +# EU21 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2-EU21-NPi-calibrate;calibrate;calibrate;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;0;NPi;;;;9;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-EU21-Base;1,AMT,compileInTests,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;;;;0;;;;;;;off;;;;;;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix1;2005;;;;;SSP2-EU21-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-EU21-NDC;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;globallyOptimal;0;NDC;;;;9;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2030;;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-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. +SSP2-EU21-NPi;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;;9;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-EU21-PkBudg500;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;500;diffLin2Lin;200;2045;;9;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg500: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-EU21-PkBudg650;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;9;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg650: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-EU21-PkBudg1000;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;;9;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg1050: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +# H12 SSP3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP3-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;9;;;1;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. +SSP3-NDC;0;;;;;rcp45;3;;0;NDC;;;;9;;;1;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2;2030;;SSP2-NPi;SSP3-NPi;SSP3-NPi;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. 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. +SSP3-NPi;0;;;;;rcp45;3;;0;NPi;;;;9;;;1;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP3-PkBudg1000;0;;;;;rcp26;9;;1000;diffLin2Lin;45;2080;2100;9;;;1;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix3ICEban;2030;;SSP2-NPi;;;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP3-roleBack;0;;;;;rcp45;9;;;NPiexpo;;;;9;;;1;0.9;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix1;2030;;SSP2-NPi;;; +# H12 SSP1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP1-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. +SSP1-NDC;1,AMT,compileInTests;;;;;rcp45;3;globallyOptimal;0;NDC;;;;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;2;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix2;2030;;SSP2-NPi;SSP1-NPi;SSP1-NPi;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. +SSP1-NPi;1,AMT;;;;;rcp45;3;;0;NPi;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP1-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;2;;1;feelhpb 1.05, fehob 1.75, feheb 0.1;manual;feh2_otherInd 1.04, feelhth_otherInd 0.4, feh2_cement 2.0, feelhth_chemicals 1.3, feh2_chemicals 1.04;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SDP;0.5;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SSP2-NPi;;;SSP1-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP1-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;2;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SDP;0.5;1;forcing_SSP1;MFR;Mix3ICEban;2030;;SSP2-NPi;;;SSP1-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +# H12 SSP2 lowEnergy;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2_lowEn-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;9;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2_lowEn-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. +SSP2_lowEn-NDC;1,AMT;;;;;rcp45;3;globallyOptimal;0;NDC;;;;9;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;;;;;;Mix2;2025;;SSP2-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. 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. +SSP2_lowEn-NPi;1,AMT;;;;;rcp45;3;;0;NPi;;;;9;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2_lowEn-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2_lowEn-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;9;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi;;;SSP2_lowEn-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2_lowEn-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;;9;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-NPi;;;SSP2_lowEn-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +# H12 SSP5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP5-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;9;;;1;;1.75;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. +SSP5-NDC;1;;;;;rcp45;3;globallyOptimal;0;NDC;;;;9;;;1;;1.75;3;2;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2;2030;;SSP2-NPi;SSP5-NPi;SSP5-NPi;SSP5-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. 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. +SSP5-NPi;1;;;;;rcp45;3;;0;NPi;;;;9;;;1;;1.75;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP5-PkBudg650;1;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;9;;;1;;1.75;3;2;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix4ICEban;2030;;SSP2-NPi;;;SSP5-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP5-PkBudg1000;1,compileInTests;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;;9;;;1;;1.75;3;2;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix3ICEban;2030;;SSP2-NPi;;;SSP5-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. From b7115b3e2b7bc64a67545602ee2b3e744b567728 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 7 Oct 2024 21:56:06 +0000 Subject: [PATCH 604/875] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/pre-commit/pre-commit-hooks: v4.6.0 → v5.0.0](https://github.com/pre-commit/pre-commit-hooks/compare/v4.6.0...v5.0.0) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 86f878fd2..0f501109c 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.6.0 + rev: v5.0.0 hooks: - id: check-case-conflict - id: check-json From 77843f6228828e9d8c69f6c8efcb7b9c2b68bb57 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Tue, 8 Oct 2024 09:37:05 +0200 Subject: [PATCH 605/875] add first CES parameter and gdx files for inut data 6.97 for SSP3, calibration runs: /p/tmp/lavinia/MO/test_SSP3calibration_2024_10_07/remind/output/SSP3-NPi-calibrate_2024-10-07_17.57.23 --- config/default.cfg | 2 +- config/gdx-files/files | 1 + config/scenario_config.csv | 10 +++++----- modules/29_CES_parameters/load/input/files | 1 + 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/config/default.cfg b/config/default.cfg index 51c1d35a1..6683cbc0f 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -31,7 +31,7 @@ cfg$extramappings_historic <- "" cfg$inputRevision <- "6.97" #### Current CES parameter and GDX revision (commit hash) #### -cfg$CESandGDXversion <- "3fc661ae0aa13124b82e59c25e06a4ea35bb2286" +cfg$CESandGDXversion <- "7fda76f1f803b97c35b7de105956a135f77511ad" #### Force the model to download new input data #### cfg$force_download <- FALSE diff --git a/config/gdx-files/files b/config/gdx-files/files index 62b85ca84..8387b8679 100644 --- a/config/gdx-files/files +++ b/config/gdx-files/files @@ -1,6 +1,7 @@ indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP2-GDP_gdp_SSP2-En_gdp_SSP2-Kap_debt_limit-Reg_62eff8f7.gdx indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP2-GDP_gdp_SSP2-En_gdp_SSP2-Kap_debt_limit-Reg_2b1450bc.gdx indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP1-GDP_gdp_SSP1-En_gdp_SSP1-Kap_debt_limit-Reg_62eff8f7.gdx +indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP3-GDP_gdp_SSP3-En_gdp_SSP3-Kap_debt_limit-Reg_62eff8f7.gdx indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP5-GDP_gdp_SSP5-En_gdp_SSP5-Kap_debt_limit-Reg_62eff8f7.gdx indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP2-GDP_gdp_SSP2-En_gdp_SSP2_lowEn-Kap_debt_limit-Reg_62eff8f7.gdx diff --git a/config/scenario_config.csv b/config/scenario_config.csv index ef2cd3ced..63c12508b 100644 --- a/config/scenario_config.csv +++ b/config/scenario_config.csv @@ -16,11 +16,11 @@ SSP2-EU21-PkBudg500;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extram SSP2-EU21-PkBudg650;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;9;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg650: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. SSP2-EU21-PkBudg1000;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;;9;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg1050: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. # H12 SSP3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP3-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;9;;;1;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. -SSP3-NDC;0;;;;;rcp45;3;;0;NDC;;;;9;;;1;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2;2030;;SSP2-NPi;SSP3-NPi;SSP3-NPi;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. 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. -SSP3-NPi;0;;;;;rcp45;3;;0;NPi;;;;9;;;1;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP3-PkBudg1000;0;;;;;rcp26;9;;1000;diffLin2Lin;45;2080;2100;9;;;1;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix3ICEban;2030;;SSP2-NPi;;;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -SSP3-roleBack;0;;;;;rcp45;9;;;NPiexpo;;;;9;;;1;0.9;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix1;2030;;SSP2-NPi;;; +SSP3-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;9;;;1;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. +SSP3-NDC;0;;;;;rcp45;3;;0;NDC;;;;9;;;1;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;;1.5;;forcing_SSP3;;Mix2;2030;;SSP2-NPi;SSP3-NPi;SSP3-NPi;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. 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. +SSP3-NPi;0;;;;;rcp45;3;;0;NPi;;;;9;;;1;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP3-PkBudg1000;0;;;;;rcp26;9;;1000;diffLin2Lin;45;2080;2100;9;;;1;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;;1.5;;forcing_SSP3;;Mix3ICEban;2030;;SSP2-NPi;;;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP3-roleBack;0;;;;;rcp45;9;;;NPiexpo;;;;9;;;1;0.9;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;;1.5;;forcing_SSP3;;Mix1;2030;;SSP2-NPi;;; # H12 SSP1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP1-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. SSP1-NDC;1,AMT,compileInTests;;;;;rcp45;3;globallyOptimal;0;NDC;;;;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;2;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix2;2030;;SSP2-NPi;SSP1-NPi;SSP1-NPi;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. diff --git a/modules/29_CES_parameters/load/input/files b/modules/29_CES_parameters/load/input/files index 1176951af..94c3772ad 100644 --- a/modules/29_CES_parameters/load/input/files +++ b/modules/29_CES_parameters/load/input/files @@ -1,6 +1,7 @@ indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP2-GDP_gdp_SSP2-En_gdp_SSP2-Kap_debt_limit-Reg_62eff8f7.inc indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP2-GDP_gdp_SSP2-En_gdp_SSP2-Kap_debt_limit-Reg_2b1450bc.inc indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP1-GDP_gdp_SSP1-En_gdp_SSP1-Kap_debt_limit-Reg_62eff8f7.inc +indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP3-GDP_gdp_SSP3-En_gdp_SSP3-Kap_debt_limit-Reg_62eff8f7.inc indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP5-GDP_gdp_SSP5-En_gdp_SSP5-Kap_debt_limit-Reg_62eff8f7.inc indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP2-GDP_gdp_SSP2-En_gdp_SSP2_lowEn-Kap_debt_limit-Reg_62eff8f7.inc From 3c84ad3ac369bc78cb59bc30e7ec748727a34c41 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Tue, 8 Oct 2024 09:52:35 +0200 Subject: [PATCH 606/875] rename scenario --- config/scenario_config.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/scenario_config.csv b/config/scenario_config.csv index 63c12508b..1f4245a04 100644 --- a/config/scenario_config.csv +++ b/config/scenario_config.csv @@ -20,7 +20,7 @@ SSP3-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;9;;;1;;;;;;;;;;NPi2 SSP3-NDC;0;;;;;rcp45;3;;0;NDC;;;;9;;;1;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;;1.5;;forcing_SSP3;;Mix2;2030;;SSP2-NPi;SSP3-NPi;SSP3-NPi;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. 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. SSP3-NPi;0;;;;;rcp45;3;;0;NPi;;;;9;;;1;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. SSP3-PkBudg1000;0;;;;;rcp26;9;;1000;diffLin2Lin;45;2080;2100;9;;;1;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;;1.5;;forcing_SSP3;;Mix3ICEban;2030;;SSP2-NPi;;;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -SSP3-roleBack;0;;;;;rcp45;9;;;NPiexpo;;;;9;;;1;0.9;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;;1.5;;forcing_SSP3;;Mix1;2030;;SSP2-NPi;;; +SSP3-rollBack;0;;;;;rcp45;9;;;NPiexpo;;;;9;;;1;0.9;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;;1.5;;forcing_SSP3;;Mix1;2030;;SSP2-NPi;;; # H12 SSP1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP1-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. SSP1-NDC;1,AMT,compileInTests;;;;;rcp45;3;globallyOptimal;0;NDC;;;;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;2;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix2;2030;;SSP2-NPi;SSP1-NPi;SSP1-NPi;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. From 47ab40721c6551837ffdd4fc768bece1f1874d17 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 8 Oct 2024 08:01:48 +0000 Subject: [PATCH 607/875] Release development version 3.3.2.dev793 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 76ea99531..809914fef 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev787" -date-released: 2024-10-07 +version: "3.3.2.dev793" +date-released: 2024-10-08 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 6683cbc0f..a868e196b 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev787" +cfg$model_version <- "3.3.2.dev793" #### settings #### cfg$gms <- list() From a7503804307b6e586956623e7958328e849b0358 Mon Sep 17 00:00:00 2001 From: orichters Date: Tue, 8 Oct 2024 17:03:32 +0200 Subject: [PATCH 608/875] update generation of custom-region historical.mif in IIASA tutorial --- tutorials/13_Submit_to_IIASA_database.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tutorials/13_Submit_to_IIASA_database.md b/tutorials/13_Submit_to_IIASA_database.md index c41e35e62..ccb81cc49 100644 --- a/tutorials/13_Submit_to_IIASA_database.md +++ b/tutorials/13_Submit_to_IIASA_database.md @@ -101,10 +101,12 @@ If you like to generate a 'historical.mif' file for a different regional resolut ``` library(madrat) library(mrremind) -setConfig(regionmapping = system.file("regionmapping/ISO_2_R10.csv", package = "piamInterfaces")) +stopifnot(utils::packageVersion("piamInterfaces") >= "0.35.3") +setConfig(regionmapping = system.file("regionmapping/ISO_2_ISO.csv", package = "piamInterfaces")) d <- madrat::retrieveData("VALIDATIONREMIND") system(paste("tar xvf", d)) -quitte::write.mif(piamInterfaces::convertHistoricalData("historical.mif", "ScenarioMIP"), "historical_R10.mif") +quitte::write.mif(piamInterfaces::convertHistoricalData("historical.mif", "ScenarioMIP", "ISO_2_R10"), "historical_R10.mif") +quitte::write.mif(piamInterfaces::convertHistoricalData("historical.mif", "ScenarioMIP", "ISO_2_R5"), "historical_R5.mif") ``` ## Further Information From d5ed516b1c8ad4e7113d133919e34132d4471669 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Wed, 9 Oct 2024 09:25:11 +0000 Subject: [PATCH 609/875] Release development version 3.3.2.dev796 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 809914fef..c541787a9 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev793" -date-released: 2024-10-08 +version: "3.3.2.dev796" +date-released: 2024-10-09 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index a868e196b..d996a6746 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev793" +cfg$model_version <- "3.3.2.dev796" #### settings #### cfg$gms <- list() From d8f637a54d211efc786008dff35ee9adf4c743b2 Mon Sep 17 00:00:00 2001 From: orichters Date: Wed, 9 Oct 2024 15:02:16 +0200 Subject: [PATCH 610/875] speedup of historical.mif generation --- tutorials/13_Submit_to_IIASA_database.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tutorials/13_Submit_to_IIASA_database.md b/tutorials/13_Submit_to_IIASA_database.md index ccb81cc49..6de7ec186 100644 --- a/tutorials/13_Submit_to_IIASA_database.md +++ b/tutorials/13_Submit_to_IIASA_database.md @@ -99,14 +99,14 @@ The following functions from `piamInterfaces` might be helpful for further analy If you like to generate a 'historical.mif' file for a different regional resolution than the REMIND one to pass it to plotIntercomparison, you can use the [regionmapping](https://github.com/pik-piam/piamInterfaces/tree/master/inst/regionmapping) ISO files from piamInterfaces or a similarly formatted file, for example like this: ``` -library(madrat) -library(mrremind) +library(madrat); library(mrremind); library(quitte) stopifnot(utils::packageVersion("piamInterfaces") >= "0.35.3") setConfig(regionmapping = system.file("regionmapping/ISO_2_ISO.csv", package = "piamInterfaces")) d <- madrat::retrieveData("VALIDATIONREMIND") -system(paste("tar xvf", d)) -quitte::write.mif(piamInterfaces::convertHistoricalData("historical.mif", "ScenarioMIP", "ISO_2_R10"), "historical_R10.mif") -quitte::write.mif(piamInterfaces::convertHistoricalData("historical.mif", "ScenarioMIP", "ISO_2_R5"), "historical_R5.mif") +system(paste("tar -xvf", d, "./historical.mif")) +hist <- read.snapshot("historical.mif") +write.mif(piamInterfaces::convertHistoricalData(hist, "ScenarioMIP", "ISO_2_R10"), "historical_R10.mif") +write.mif(piamInterfaces::convertHistoricalData(hist, "ScenarioMIP", "ISO_2_R5"), "historical_R5.mif") ``` ## Further Information From 4e6d3acae0d426805647ca4bde3eb96a99cc780d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Thu, 10 Oct 2024 10:39:08 +0200 Subject: [PATCH 611/875] Consistent treatment of end of century runs in diffExp2Lin and diffLin2Lin by setting carbonprice constant after 2110 in both cases --- modules/45_carbonprice/diffExp2Lin/realization.gms | 2 +- modules/45_carbonprice/diffLin2Lin/datainput.gms | 8 ++++---- modules/45_carbonprice/diffLin2Lin/postsolve.gms | 8 ++++---- modules/45_carbonprice/diffLin2Lin/realization.gms | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/modules/45_carbonprice/diffExp2Lin/realization.gms b/modules/45_carbonprice/diffExp2Lin/realization.gms index d06d06208..877ddbc4c 100644 --- a/modules/45_carbonprice/diffExp2Lin/realization.gms +++ b/modules/45_carbonprice/diffExp2Lin/realization.gms @@ -6,7 +6,7 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/45_carbonprice/diffExp2Lin/realization.gms -*' @description: This realization implements exponentially 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. +*' @description: This realization implements exponentially increasing carbon price - either until end of century 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. ***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- *** diff: regional prices are initially differentiated by GDP/capita and converge using quadratic phase-in until cm_CO2priceRegConvEndYr (default = 2050), globally uniform price thereafter, diff --git a/modules/45_carbonprice/diffLin2Lin/datainput.gms b/modules/45_carbonprice/diffLin2Lin/datainput.gms index 5fe0056b4..c59514cc4 100644 --- a/modules/45_carbonprice/diffLin2Lin/datainput.gms +++ b/modules/45_carbonprice/diffLin2Lin/datainput.gms @@ -14,7 +14,7 @@ *** carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant) *** (with iterative_target_adj = 5): carbon price of developed countries keeps increasing linearly (with same slope) until end of century, i.e. no change after peak year *** (with iterative_target_adj = 0): after year given by cm_peakBudgYr (default = 2050), carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant), -*** for linearly increasing carbon price (with same slope) until end of century, set cm_peakBudgYr = 2100 +*** for linearly increasing carbon price (with same slope) until end of century, set cm_peakBudgYr = 2110 ***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- *** Step 1: Define regional multiplicative factors between regional CO2 price and CO2 price of the developed countries @@ -122,14 +122,14 @@ p45_CO2priceTrajDeveloped(t) = s45_co2_tax_hist + (s45_co2_tax_startyear - s45_co2_tax_hist) / (cm_startyear - s45_year_co2_tax_hist) !! Yearly increase of CO2 price * (t.val - s45_year_co2_tax_hist) ; *** for peak budget runs (if cm_iterative_target_adj = 6|7|9), the adjustment of the CO2 price trajectory after the peak year is made in core/postsolve.gms -*** for runs without iterative carbon price adjustment (if cm_iterative_target_adj = 0), price increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr after year given by cm_peakBudgYr (for linearly increasing carbon price (with same slope) until end of century, set cm_peakBudgYr = 2100) +*** for runs without iterative carbon price adjustment (if cm_iterative_target_adj = 0), price increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr after year given by cm_peakBudgYr (for linearly increasing carbon price (with same slope) until end of century, set cm_peakBudgYr = 2110) if((cm_iterative_target_adj eq 0), p45_CO2priceTrajDeveloped(t)$(t.val gt cm_peakBudgYr) = sum(t2$(t2.val eq cm_peakBudgYr), p45_CO2priceTrajDeveloped(t2)) + (t.val - cm_peakBudgYr) * cm_taxCO2inc_after_peakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by cm_taxCO2inc_after_peakBudgYr per year ); -*** set taxes after 2100 equal to 2100 value -p45_CO2priceTrajDeveloped(t)$(t.val gt 2100) = p45_CO2priceTrajDeveloped("2100"); +*** set taxes after 2110 equal to 2110 value +p45_CO2priceTrajDeveloped(t)$(t.val gt 2110) = p45_CO2priceTrajDeveloped("2110"); display p45_CO2priceTrajDeveloped; *** Step 3: Create regional CO2 price trajectories using 1) regional multiplicative CO2 price factors and 2) CO2 price trajectory for developed countries diff --git a/modules/45_carbonprice/diffLin2Lin/postsolve.gms b/modules/45_carbonprice/diffLin2Lin/postsolve.gms index 7aceefb6b..0e7835767 100644 --- a/modules/45_carbonprice/diffLin2Lin/postsolve.gms +++ b/modules/45_carbonprice/diffLin2Lin/postsolve.gms @@ -21,7 +21,7 @@ if((cm_iterative_target_adj ne 0), *** re-create the linear carbon price trajectory for developed countries to ensure that it *** starts at historical level given by cm_co2_tax_hist in year cm_year_co2_tax_hist, and -*** ends at the endogenously adjusted tax level in the peak year (with iterative_target_adj = 6|7|9) or in 2100 (otherwise) +*** ends at the endogenously adjusted tax level in the peak year (with iterative_target_adj = 6|7|9) or in 2110 (otherwise) if((cm_iterative_target_adj eq 6) or (cm_iterative_target_adj eq 7) or (cm_iterative_target_adj eq 9), loop(regi$(p45_gdppcap2015_PPP(regi) gt 20), !! This doesn't need to be a loop, but it will be correct for any cycle of the loop, so also for the last cycle. p45_CO2priceTrajDeveloped(t)$(t.val le cm_peakBudgYr) @@ -32,11 +32,11 @@ if((cm_iterative_target_adj eq 6) or (cm_iterative_target_adj eq 7) or (cm_itera ); else loop(regi$(p45_gdppcap2015_PPP(regi) gt 20), !! This doesn't need to be a loop, but it will be correct for any cycle of the loop, so also for the last cycle. - p45_CO2priceTrajDeveloped(t)$(t.val le 2100) + p45_CO2priceTrajDeveloped(t)$(t.val le 2110) = s45_co2_tax_hist - + (pm_taxCO2eq("2100",regi) - s45_co2_tax_hist) / (2100 - s45_year_co2_tax_hist) !! Yearly increase of CO2 price that interpolates between s45_co2_tax_hist in s45_year_co2_tax_hist and pm_taxCO2eq in 2100 + + (pm_taxCO2eq("2110",regi) - s45_co2_tax_hist) / (2110 - s45_year_co2_tax_hist) !! Yearly increase of CO2 price that interpolates between s45_co2_tax_hist in s45_year_co2_tax_hist and pm_taxCO2eq in 2110 * (t.val - s45_year_co2_tax_hist) ; - p45_CO2priceTrajDeveloped(t)$(t.val gt 2100) = pm_taxCO2eq(t,regi); + p45_CO2priceTrajDeveloped(t)$(t.val gt 2110) = pm_taxCO2eq(t,regi); ); ); diff --git a/modules/45_carbonprice/diffLin2Lin/realization.gms b/modules/45_carbonprice/diffLin2Lin/realization.gms index ad2cb7ed4..24a9ba102 100644 --- a/modules/45_carbonprice/diffLin2Lin/realization.gms +++ b/modules/45_carbonprice/diffLin2Lin/realization.gms @@ -6,7 +6,7 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/45_carbonprice/diffLin2Lin/realization.gms -*' @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. +*' @description: This realization implements linearly increasing carbon price - either until end of century 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. ***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- *** diff: regional prices are initially differentiated by GDP/capita and converge using quadratic phase-in until cm_CO2priceRegConvEndYr (default = 2050), globally uniform price thereafter, From ee30e4d92581f3744ff1c421443d30b44fc8252b Mon Sep 17 00:00:00 2001 From: David Klein Date: Thu, 10 Oct 2024 11:38:35 +0200 Subject: [PATCH 612/875] Ignore missing historical.mif in tests because it is an optional input file --- scripts/start/updateInputData.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/start/updateInputData.R b/scripts/start/updateInputData.R index 8f1dd6d39..31c54f227 100644 --- a/scripts/start/updateInputData.R +++ b/scripts/start/updateInputData.R @@ -21,7 +21,7 @@ updateInputData <- function(cfg, remindPath = ".", gamsCompile = FALSE) { } regicode <- madrat::regionscode(file.path(remindPath, cfg$regionmapping)) input_new <- c(paste0("rev",cfg$inputRevision,"_",regicode,"_", tolower(cfg$model_name),".tgz"), - paste0("rev",cfg$inputRevision,"_",regicode,ifelse(cfg$extramappings_historic == "","",paste0("-", madrat::regionscode(cfg$extramappings_historic))),"_", tolower(cfg$validationmodel_name),".tgz"), + paste0("rev",cfg$inputRevision,"_",regicode,ifelse(cfg$extramappings_historic == "","",paste0("-", madrat::regionscode(cfg$extramappings_historic))),"_", tolower(cfg$validationmodel_name),".tzz"), paste0("CESparametersAndGDX_",cfg$CESandGDXversion,".tgz")) # Specify for each element of input_new whether to stop if the respective file could not be downloaded From b1ae937aaba19091c9f6c7827c3b4c3b8d829d14 Mon Sep 17 00:00:00 2001 From: David Klein Date: Thu, 10 Oct 2024 11:43:48 +0200 Subject: [PATCH 613/875] Revert unintended changes from previous commit in updateInputData.R and commit what was actually intended in test_01-inputdata.R --- scripts/start/updateInputData.R | 2 +- tests/testthat/test_01-inputdata.R | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/scripts/start/updateInputData.R b/scripts/start/updateInputData.R index 31c54f227..8f1dd6d39 100644 --- a/scripts/start/updateInputData.R +++ b/scripts/start/updateInputData.R @@ -21,7 +21,7 @@ updateInputData <- function(cfg, remindPath = ".", gamsCompile = FALSE) { } regicode <- madrat::regionscode(file.path(remindPath, cfg$regionmapping)) input_new <- c(paste0("rev",cfg$inputRevision,"_",regicode,"_", tolower(cfg$model_name),".tgz"), - paste0("rev",cfg$inputRevision,"_",regicode,ifelse(cfg$extramappings_historic == "","",paste0("-", madrat::regionscode(cfg$extramappings_historic))),"_", tolower(cfg$validationmodel_name),".tzz"), + paste0("rev",cfg$inputRevision,"_",regicode,ifelse(cfg$extramappings_historic == "","",paste0("-", madrat::regionscode(cfg$extramappings_historic))),"_", tolower(cfg$validationmodel_name),".tgz"), paste0("CESparametersAndGDX_",cfg$CESandGDXversion,".tgz")) # Specify for each element of input_new whether to stop if the respective file could not be downloaded diff --git a/tests/testthat/test_01-inputdata.R b/tests/testthat/test_01-inputdata.R index f76448cd8..40911680d 100644 --- a/tests/testthat/test_01-inputdata.R +++ b/tests/testthat/test_01-inputdata.R @@ -8,9 +8,16 @@ test_that("Are all input data files present?", { missinginput <- missingInputData(path = "../..") if (length(missinginput) > 0) { lockID <- gms::model_lock(folder = "../..") - updateInputData(cfg = gms::readDefaultConfig("../.."), remindPath = "../..") + w <- capture_warning(updateInputData(cfg = gms::readDefaultConfig("../.."), remindPath = "../..")) + # ignore warning about missing historical.mif, raise warning if there were other wargnings + ignore <- "File historical.mif seems to be missing!" + if (!w$message %in% ignore) { + warning(paste0("'updateInputData' raised the following wargnings\n", paste(w, collapse = "\n"))) + } gms::model_unlock(lockID) missinginput <- missingInputData(path = "../..") + # remove historical.mif since it is optional + missinginput <- grep("historical.mif", missinginput, invert = TRUE, value = TRUE) if (length(missinginput) > 0) { warning("Missing input files: ", paste(missinginput, collapse = ", ")) } From b4c520d0afb2b7161cbf46558b93a21afb828d41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Thu, 10 Oct 2024 12:59:13 +0200 Subject: [PATCH 614/875] Update documentation of 45_carbonprice in main.gms --- main.gms | 34 ++++++++++++------- .../45_carbonprice/diffLin2Lin/datainput.gms | 2 +- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/main.gms b/main.gms index f61eab257..b9e0483ed 100755 --- a/main.gms +++ b/main.gms @@ -371,17 +371,27 @@ $setglobal emicapregi none !! def = none *' *' This module defines the carbon price pm_taxCO2eq, with behaviour across regions governed by similar principles (e.g. global targets, or all following NDC or NPi policies). *' -*' * (none): no tax policy (combined with all emiscens except emiscen = 9) -*' * (exponential): [please use new diffExp2Lin with cm_co2_tax_spread = 1 and iterative_target_adj = 5 for exponential carbon pricing until end of century (without regional differentiation)] 4.5% exponential increase over time of the tax level in 2020 set via cm_co2_tax_2020 (combined with emiscen = 9 and cm_co2_tax_2020>0) -*' * (expoLinear): 4.5% exponential increase until c_expoLinear_yearStart, transitioning into linear increase thereafter +*' * (diffExp2Lin) and (diffLin2Lin): standard carbonprice realizations for ambitious climate policy scenarios [REMIND default for peak budget runs: diffLin2Lin in combination with iterative_target_adj = 9], +*' * three main design choices: +*' * [diff]: level of regional carbonprice differentiation in 2030 determined by cm_co2_tax_spread (default = 10); quadratic phase-in to reach globally uniform carbonprices in cm_CO2priceRegConvEndYr +*' * [Exp or Lin]: functional form of carbonprice path for developed regions: +*' * [Exp]: exponential increase with rate given by cm_co2_tax_growth, (initial) value in cm_startyear is given by cm_co2_tax_startyear +*' * [Lin]: linear increase starting at historical level given by cm_co2_tax_hist in year cm_year_co2_tax_hist, (initial) value in cm_startyear set by cm_co2_tax_startyear +*' * [2Lin]: post-peak behaviour depending on cm_iterative_target_adj +*' * [9]: after the (endogenously adjusted) peak year, carbonprice path increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant) +*' * [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 +*' * (expoLinear): 4.5% exponential increase until cm_expoLinear_yearStart, transitioning into linear increase thereafter *' * (exogenous): carbon price is specified using an external input file or using the switch cm_regiExoPrice. Requires cm_emiscen = 9 and cm_iterative_target_adj = 0 -*' * (linear): [please use new diffLin2Lin with cm_co2_tax_spread = 1 and iterative_target_adj = 5 for linear carbon pricing until end of century (without regional differentiation)] linear increase over time of the tax level in 2020 set via cm_co2_tax_2020 (combined with emiscen = 9 and cm_co2_tax_2020>0) *' * (temperatureNotToExceed): [test and verify before using it!] Find the optimal carbon carbon tax (set cm_emiscen = 1, iterative_target_adj = 9] curved convergence of CO2 prices between regions until cm_CO2priceRegConvEndYr; developed countries have linear path from 0 in 2010 through cm_co2_tax_2020 in 2020; -*' * (diffCurvPhaseIn2Lin): [please use new diffLin2Lin] curved convergence of CO2 prices between regions until cm_CO2priceRegConvEndYr; developed countries have linear path from 0 in 2010 through cm_co2_tax_2020 in 2020; -*' * (diffExp2Lin): quadratic convergence of CO2 prices between regions until cm_CO2priceRegConvEndYr; starting level of differentiation in cm_startyear is given by cm_co2_tax_spread; developed countries have exponential path until peak year (with iterative_target_adj = 9) or until 2100 (with iterative_target_adj = 5); -*' * (diffLin2Lin): [default for peak budget runs, in combination with iterative_target_adj = 9, derived from diffCurvPhaseIn2Lin] quadratic convergence of CO2 prices between regions until cm_CO2priceRegConvEndYr; starting level of differentiation in cm_startyear is given by cm_co2_tax_spread; developed countries have linear path until peak year (with iterative_target_adj = 9) or until 2100 (with iterative_target_adj = 5); *' * (NDC): implements a carbon price trajectory consistent with the NDC targets (up to 2030) and a trajectory of comparable ambition post 2030 (1.25%/yr price increase and regional convergence of carbon price). Choose version using cm_NDC_version "2023_cond", "2023_uncond", or replace 2023 by 2022, 2021 or 2018 to get all NDC published until end of these years. *' * (NPi): National Policies Implemented, extrapolation of historical (until 2020) carbon prices +*' * (none): no tax policy (combined with all emiscens except emiscen = 9) + +*** (exponential) is superseded by (diffExp2Lin): For a globally uniform, exponentially increasing carbonprice path, set cm_co2_tax_spread = 1, set cm_peakBudgYr = 2110, and choose the initial carbonprice in cm_startyear via cm_co2_tax_startyear. +*** (linear) is superseded by (diffLin2Lin): For a globally uniform, linearly increasing carbonprice path, set cm_co2_tax_spread = 1, set cm_peakBudgYr = 2110, and choose the initial carbonprice in cm_startyear via cm_co2_tax_startyear. [Adjust historical reference point (cm_year_co2_tax_hist, cm_co2_tax_hist) if needed.] + $setglobal carbonprice none !! def = none *'--------------------- 46_carbonpriceRegi --------------------------------- *' @@ -1022,13 +1032,13 @@ parameter cm_CO2priceRegConvEndYr = 2050; !! def = 2050 *' parameter - cm_co2_tax_spread "spread of carbon prices in 2025 given as a factor" + cm_co2_tax_spread "spread of carbon prices in 2030 given as a factor" ; cm_co2_tax_spread = 10; !! def = 10 !! regexp = 1|10|20 -*' Initial spread of carbon prices (in 2025) between the regions with highest respectively lowest GDP per capita (PPP) -*' * (1) Uniform carbon pricing, i.e. no differentiation -*' * (10) Spread of carbon prices in 2025 is equal to 10 -*' * (20) Spread of carbon prices in 2025 is equal to 20 +*' Initial spread of carbon prices (in 2030) between the regions with highest respectively lowest GDP per capita (PPP) +*' * (1 - uniform) Uniform carbon pricing, i.e. no differentiation +*' * (10 - medium) Spread of carbon prices in 2025 is equal to 10 +*' * (20 - strong) Spread of carbon prices in 2025 is equal to 20 parameter c_teNoLearngConvEndYr "Year at which regional costs of non-learning technologies converge" diff --git a/modules/45_carbonprice/diffLin2Lin/datainput.gms b/modules/45_carbonprice/diffLin2Lin/datainput.gms index c59514cc4..a2d7cb26b 100644 --- a/modules/45_carbonprice/diffLin2Lin/datainput.gms +++ b/modules/45_carbonprice/diffLin2Lin/datainput.gms @@ -111,7 +111,7 @@ else abort "please initialize cm_co2_tax_startyear by setting it to a positive value" ); *** make sure that the initial CO2 price trajectory is increasing -if(s45_co2_tax_startyear le s45_co2_tax_hist, +if(s45_co2_tax_startyear lt s45_co2_tax_hist, abort "please choose a value for cm_co2_tax_startyear that is larger than the value provided by cm_co2_tax_hist" ); display s45_co2_tax_startyear; From b79db53b1e03a545939e5ee4a6f4168fe4e00e81 Mon Sep 17 00:00:00 2001 From: David Klein Date: Thu, 10 Oct 2024 14:36:13 +0200 Subject: [PATCH 615/875] Use capture_warnings instead of capture_warning, the latter of which wouldnt let updateInputData finish properly --- tests/testthat/test_01-inputdata.R | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/testthat/test_01-inputdata.R b/tests/testthat/test_01-inputdata.R index 40911680d..f3c174b18 100644 --- a/tests/testthat/test_01-inputdata.R +++ b/tests/testthat/test_01-inputdata.R @@ -8,10 +8,10 @@ test_that("Are all input data files present?", { missinginput <- missingInputData(path = "../..") if (length(missinginput) > 0) { lockID <- gms::model_lock(folder = "../..") - w <- capture_warning(updateInputData(cfg = gms::readDefaultConfig("../.."), remindPath = "../..")) + w <- capture_warnings(updateInputData(cfg = gms::readDefaultConfig("../.."), remindPath = "../..")) # ignore warning about missing historical.mif, raise warning if there were other wargnings ignore <- "File historical.mif seems to be missing!" - if (!w$message %in% ignore) { + if (!w %in% ignore) { warning(paste0("'updateInputData' raised the following wargnings\n", paste(w, collapse = "\n"))) } gms::model_unlock(lockID) From 7f46c0b419806665af06e69005c8f42f442d7c14 Mon Sep 17 00:00:00 2001 From: David Klein Date: Thu, 10 Oct 2024 14:56:25 +0200 Subject: [PATCH 616/875] Bugfix test --- tests/testthat/test_01-inputdata.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/testthat/test_01-inputdata.R b/tests/testthat/test_01-inputdata.R index f3c174b18..d64cc3970 100644 --- a/tests/testthat/test_01-inputdata.R +++ b/tests/testthat/test_01-inputdata.R @@ -11,7 +11,7 @@ test_that("Are all input data files present?", { w <- capture_warnings(updateInputData(cfg = gms::readDefaultConfig("../.."), remindPath = "../..")) # ignore warning about missing historical.mif, raise warning if there were other wargnings ignore <- "File historical.mif seems to be missing!" - if (!w %in% ignore) { + if (length(w) > 0 && !w %in% ignore) { warning(paste0("'updateInputData' raised the following wargnings\n", paste(w, collapse = "\n"))) } gms::model_unlock(lockID) From 17e7276290e0ed7218b5ab63e87944066a17aa88 Mon Sep 17 00:00:00 2001 From: David Klein Date: Thu, 10 Oct 2024 15:12:20 +0200 Subject: [PATCH 617/875] Update CHANGELOG --- CHANGELOG.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f1109f62f..81273ed49 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -65,7 +65,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). [[#1818](https://github.com/remindmodel/remind/pull/1818)] - **scripts** fail transparently if cm_startyear is earlier than that of path_gdx_ref [[#1851](https://github.com/remindmodel/remind/pull/1851)] - +- **testthat** ignore missing historical.mif in tests because it is an optional input file + [[#1857](https://github.com/remindmodel/remind/pull/1857)] + ### fixed - included CCS from plastic waste incineration in CCS mass flows so it is subject to injection constraints (but did not add CCS costs, see From 09a4bf03af68807cff286acfa4795204de0af698 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Thu, 10 Oct 2024 16:47:47 +0200 Subject: [PATCH 618/875] Clean-up of 45_carbonprice module: Removing superseded realizations --- config/scenario_config_21_EU11_ARIADNE.csv | 4 +- config/scenario_config_21_EU11_ECEMF.csv | 56 +++++++-------- config/scenario_config_DeepEl.csv | 6 +- config/scenario_config_EL2p0DeepDive.csv | 38 +++++------ config/scenario_config_ELEVATE4p4.csv | 2 +- config/scenario_config_IKEA.csv | 46 ++++++------- config/scenario_config_NGFS_v5.csv | 12 ++-- main.gms | 20 ++---- .../diffCurvPhaseIn2Lin/datainput.gms | 68 ------------------- .../diffCurvPhaseIn2Lin/declarations.gms | 22 ------ .../diffCurvPhaseIn2Lin/not_used.txt | 32 --------- .../diffCurvPhaseIn2Lin/postsolve.gms | 32 --------- .../diffCurvPhaseIn2Lin/realization.gms | 15 ---- .../45_carbonprice/exponential/datainput.gms | 28 -------- .../45_carbonprice/exponential/not_used.txt | 35 ---------- .../exponential/realization.gms | 14 ---- modules/45_carbonprice/linear/datainput.gms | 31 --------- modules/45_carbonprice/linear/not_used.txt | 35 ---------- modules/45_carbonprice/linear/realization.gms | 14 ---- modules/45_carbonprice/module.gms | 5 +- modules/81_codePerformance/module.gms | 2 +- modules/81_codePerformance/on/presolve.gms | 21 ++---- modules/81_codePerformance/on/realization.gms | 1 - standalone/MOFEX/MOFEX.gms | 6 +- .../MOFEX/config/scenario_config_MOFEX.csv | 2 +- standalone/template.gms | 4 +- standalone/trade/trade.gms | 6 +- tests/testthat/test_01-checkFixCfg.R | 2 +- tutorials/03_RunningBundleOfRuns.md | 2 +- 29 files changed, 106 insertions(+), 455 deletions(-) delete mode 100644 modules/45_carbonprice/diffCurvPhaseIn2Lin/datainput.gms delete mode 100644 modules/45_carbonprice/diffCurvPhaseIn2Lin/declarations.gms delete mode 100644 modules/45_carbonprice/diffCurvPhaseIn2Lin/not_used.txt delete mode 100644 modules/45_carbonprice/diffCurvPhaseIn2Lin/postsolve.gms delete mode 100644 modules/45_carbonprice/diffCurvPhaseIn2Lin/realization.gms delete mode 100644 modules/45_carbonprice/exponential/datainput.gms delete mode 100644 modules/45_carbonprice/exponential/not_used.txt delete mode 100644 modules/45_carbonprice/exponential/realization.gms delete mode 100644 modules/45_carbonprice/linear/datainput.gms delete mode 100644 modules/45_carbonprice/linear/not_used.txt delete mode 100644 modules/45_carbonprice/linear/realization.gms diff --git a/config/scenario_config_21_EU11_ARIADNE.csv b/config/scenario_config_21_EU11_ARIADNE.csv index 6d18b2659..0353339df 100755 --- a/config/scenario_config_21_EU11_ARIADNE.csv +++ b/config/scenario_config_21_EU11_ARIADNE.csv @@ -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;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 +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_startyear;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 # _____Reference Runs_____;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Calib_EU_NPi;0;;Calibration Run with National Policies Implemented (NPI);calibrate;;;;;;;;;se_trade;;;;;;;;;DEU 1.1, EU27_regi 7.5;;EU27_regi.pebiolc.worldPricemarkup 10;1;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;NPi;1;;;NPi2018;regiCarbonPrice;;;;on;on;Mix1;9;3;;;;2005;; NPi;0;Calib_EU_NPi;National Policies implemented;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -6,7 +6,7 @@ Calib_EU_Npi_lowDem;0;Calib_EU_NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Npi_lowDem;0;Calib_EU_Npi_lowDem;;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; # ____ Standard Scenarios______;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; CurrentPolicies;0;NPi;Current Policies Scenario for Germany including latest credible developments from Fit for 55 and Ampel government;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.045, 2035.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;;;;2;;high;0;DEU 1.1, EU27_regi 7.5;;EU27_regi.pebiolc.worldPricemarkup 10;1;;EUR_regi, NEU_regi;;off;;;fehob 1.75, enhb 0.5;;;ariadne_bal;;;manual; 2050 . GLO . (ue_cement, ue_steel_primary, ue_steel_secondary) 0.75, 2100 . GLO . (ue_chemicals, ue_otherInd) 0.90, 2100 . DEU . (ue_otherInd, ue_cement, ue_chemicals) 0.01;;;;;;;;;;;;;;;;;EU27_regi.(2025 65,2030 94,2035 124,2040 141,2045 162,2050 175,2055 175,2060 175,2070 175,2080 175,2090 175,2100 175,2110 175,2130 175,2150 175);;;;;Mix3;;;;;;2025;;NPi -KN2045_Bal_v4;0;;Standard Ariadne scenario with -55% GHG in 2030 and GHG neutrality goal in 2050 for EU (incl. EU LULUCF sink), -65% GHG in 2030 and GHG neutrality goal in 2045 for Germany;;;;;;;;;globallyOptimal;se_trade;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.366, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;2;;high;0;DEU 1.1, EU27_regi 7.5;;EU27_regi.pebiolc.worldPricemarkup 10;1;;EUR_regi, NEU_regi;;off;;;fehob 1.75, enhb 0.5;manual;feelhth_otherInd 1.3;ariadne_bal;;;manual; 2050 . GLO . (ue_cement, ue_steel_primary, ue_steel_secondary) 0.75, 2100 . GLO . (ue_chemicals, ue_otherInd) 0.90, 2100 . DEU . (ue_otherInd, ue_cement, ue_chemicals) 0.01;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;650;diffCurvPhaseIn2Lin;100;2080;3;;regiCarbonPrice;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;0.003;on;on;Mix4;9;;;;;2025;;NPi +KN2045_Bal_v4;0;;Standard Ariadne scenario with -55% GHG in 2030 and GHG neutrality goal in 2050 for EU (incl. EU LULUCF sink), -65% GHG in 2030 and GHG neutrality goal in 2045 for Germany;;;;;;;;;globallyOptimal;se_trade;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.366, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;2;;high;0;DEU 1.1, EU27_regi 7.5;;EU27_regi.pebiolc.worldPricemarkup 10;1;;EUR_regi, NEU_regi;;off;;;fehob 1.75, enhb 0.5;manual;feelhth_otherInd 1.3;ariadne_bal;;;manual; 2050 . GLO . (ue_cement, ue_steel_primary, ue_steel_secondary) 0.75, 2100 . GLO . (ue_chemicals, ue_otherInd) 0.90, 2100 . DEU . (ue_otherInd, ue_cement, ue_chemicals) 0.01;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;650;diffLin2Lin;100;2080;3;;regiCarbonPrice;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;0.003;on;on;Mix4;9;;;;;2025;;NPi KN2045_Elec_v4;0;KN2045_Bal_v4;Scenario with high electrification, low H2 and synfuel imports;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.183, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5;;feh2_otherInd 0.7, feelhth_otherInd 0.9, feh2_cement 2.2, feh2_chemicals 1.05;;;;;;;2040.build.feels 0.7, 2040.build.fegas 1.3, 2040.indst.feels 0.7, 2040.indst.fegas 1.3, 2040.indst.fehos 1.3, 2040.trans.feelt 0.7, 2040.trans.fepet 1.3, 2040.trans.fedie 1.3;tdh2s 3, tdh2t 3;;;;;;;;;;;;;;;;;;;;;;;;;;; KN2045_H2_v4;0;KN2045_Bal_v4;Scenario with high H2 and synfuel use, high H2 and synfuel imports;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.732, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;20;;0.1;;feelhpb 2.3, feelrhb 0.87, fehob 1.75, enhb 0.5;;feh2_otherInd 0.01, feelhth_otherInd 1.6, feh2_cement 0.43, feelhth_chemicals 1.6, feh2_chemicals 0.43;;;;;;;2040.build.feels 1.3, 2040.build.fegas 1.3, 2040.indst.feels 1.3, 2040.indst.fegas 1.3, 2040.indst.fehos 1.3, 2040.trans.feelt 1.3, 2040.trans.fepet 1.3, 2040.trans.fedie 1.3, 2040.trans.feh2t 0.7;tdh2s 0.5, tdh2t 0.5;;;;;;;;;;;;;;;;;;;HydrHype4;;;;;;;; # ____ Energy Security Scenarios___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/config/scenario_config_21_EU11_ECEMF.csv b/config/scenario_config_21_EU11_ECEMF.csv index 9f5fe1354..4c9636ffc 100644 --- a/config/scenario_config_21_EU11_ECEMF.csv +++ b/config/scenario_config_21_EU11_ECEMF.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;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;water;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description;cm_loadFromGDX_implicitQttyTargetTax;cm_implicitPriceTarget;cm_implicitPePriceTarget;cm_VREminShare;c_regi_nucscen;cm_incolearn;cm_learnRate;cm_regiExoPrice;c_testOneRegi_region;cm_nash_mode;c_keep_iteration_gdxes;cm_abortOnConsecFail;cm_emiMktTarget_tolerance +title;start;CES_parameters;optimization;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_startyear;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;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;water;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description;cm_loadFromGDX_implicitQttyTargetTax;cm_implicitPriceTarget;cm_implicitPePriceTarget;cm_VREminShare;c_regi_nucscen;cm_incolearn;cm_learnRate;cm_regiExoPrice;c_testOneRegi_region;cm_nash_mode;c_keep_iteration_gdxes;cm_abortOnConsecFail;cm_emiMktTarget_tolerance # _____default_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; xx_DIAG-NPI;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;;9;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;heat;Mix1;2005;;;;;SSP2-EU21-NPi: This National Policies Implemented (Npi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi is identical to the NDC scenario until 2020 but assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies.;;;;;;;;;;;1;; # _____pure_carbon_pricing_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -6,7 +6,7 @@ xx_DIAG-C80-gr5;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramappi xx_DIAG-C0to80-gr5;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-NPI;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;GLO.(2025 0.001,2030 0.001,2035 0.001,2040 71,2045 91,2050 116,2055 148,2060 190,2070 309,2080 503,2090 819,2100 1334,2110 1334,2130 1334,2150 1334);;;;; xx_DIAG-C400-lin;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-NPI;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; # _____NZero_DIAG_scenario_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_DIAG-NZero;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-NPI;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; +xx_DIAG-NZero;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-NPI;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; # _____C400-lin_tech_constraint_scenarios_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; xx_DIAG-C400-lin-LimBio;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).GLO.tax.t.PE.biomass 3.17, (2035,2040,2045,2050).EUR_regi.tax.t.PE.biomass 0.22;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; xx_DIAG-C400-lin-LimCCS;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, (2035,2040,2045,2050).GLO.tax.t.CCS.all 2000, (2035,2040,2045,2050).EUR_regi.tax.t.CCS.all 250;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; @@ -19,36 +19,36 @@ xx_DIAG-C400-lin-HighH2;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/ex xx_DIAG-C400-lin-ResidualFossil;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;highFossilPrice;;;;;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; xx_DIAG-C400-lin-HighEff;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; # _____NZero_scenario_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_WP1_Nzero;0,WP1;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-NPI;xx_DIAG-NPI;xx_DIAG-NPI;;same as xx_DIAG-Nzero;;;;;;;;;;;;; +xx_WP1_Nzero;0,WP1;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-NPI;xx_DIAG-NPI;xx_DIAG-NPI;;same as xx_DIAG-Nzero;;;;;;;;;;;;; # _____NZero_tech_constraint_scenarios_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_WP1_NZero-LimBio;0,WP1;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).GLO.tax.t.PE.biomass 3.17, (2035,2040,2045,2050).EUR_regi.tax.t.PE.biomass 0.22;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; -xx_WP1_NZero-LimCCS;0,WP1;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, (2035,2040,2045,2050).GLO.tax.t.CCS.all 2000, (2035,2040,2045,2050).EUR_regi.tax.t.CCS.all 250;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; -xx_WP1_NZero-LimNuclear;0,WP1;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;5;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW;;;;;;;; +xx_WP1_NZero-LimBio;0,WP1;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).GLO.tax.t.PE.biomass 3.17, (2035,2040,2045,2050).EUR_regi.tax.t.PE.biomass 0.22;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; +xx_WP1_NZero-LimCCS;0,WP1;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, (2035,2040,2045,2050).GLO.tax.t.CCS.all 2000, (2035,2040,2045,2050).EUR_regi.tax.t.CCS.all 250;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; +xx_WP1_NZero-LimNuclear;0,WP1;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;5;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW;;;;;;;; # _____WP5p3_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; xx_WP5_Base;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;;9;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;heat;Mix1;2005;;;;;same as xx_DIAG-NPI;;;;;;;;;;;1;; -xx_WP5_OPT-CP;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix3;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;;;;;; -xx_WP5_OPT-CP-LimBio;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).GLO.tax.t.PE.biomass 3.17, (2035,2040,2045,2050).EUR_regi.tax.t.PE.biomass 0.22;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix3;2025;xx_WP5_OPT-CP;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; -xx_WP5_OPT-CP-LimCCS;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, (2035,2040,2045,2050).GLO.tax.t.CCS.all 3000, (2035,2040,2045,2050).EUR_regi.tax.t.CCS.all 250;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix3;2025;xx_WP5_OPT-CP;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; -xx_WP5_OPT-CP-LimNuclear;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;5;;;;;;;;heat;Mix3;2025;xx_WP5_OPT-CP;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW;;;;;;;; +xx_WP5_OPT-CP;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix3;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;;;;;; +xx_WP5_OPT-CP-LimBio;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).GLO.tax.t.PE.biomass 3.17, (2035,2040,2045,2050).EUR_regi.tax.t.PE.biomass 0.22;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix3;2025;xx_WP5_OPT-CP;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; +xx_WP5_OPT-CP-LimCCS;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, (2035,2040,2045,2050).GLO.tax.t.CCS.all 3000, (2035,2040,2045,2050).EUR_regi.tax.t.CCS.all 250;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix3;2025;xx_WP5_OPT-CP;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; +xx_WP5_OPT-CP-LimNuclear;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;5;;;;;;;;heat;Mix3;2025;xx_WP5_OPT-CP;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW;;;;;;;; # xx_WP5_OPT-CP-LimRES;0;;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_WP5_OPT-REG;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;;;;;; -xx_WP5_OPT-REG-LimBio;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).GLO.tax.t.PE.biomass 3.17, (2035,2040,2045,2050).EUR_regi.tax.t.PE.biomass 0.22;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP5_OPT-REG;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; -xx_WP5_OPT-REG-LimCCS;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, (2035,2040,2045,2050).GLO.tax.t.CCS.all 3000, (2035,2040,2045,2050).EUR_regi.tax.t.CCS.all 250;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP5_OPT-REG;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; -xx_WP5_OPT-REG-LimNuclear;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;5;;;;;;;;heat;Mix4;2025;xx_WP5_OPT-REG;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW;;;;;;;; +xx_WP5_OPT-REG;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;;;;;; +xx_WP5_OPT-REG-LimBio;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).GLO.tax.t.PE.biomass 3.17, (2035,2040,2045,2050).EUR_regi.tax.t.PE.biomass 0.22;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP5_OPT-REG;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; +xx_WP5_OPT-REG-LimCCS;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, (2035,2040,2045,2050).GLO.tax.t.CCS.all 3000, (2035,2040,2045,2050).EUR_regi.tax.t.CCS.all 250;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP5_OPT-REG;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; +xx_WP5_OPT-REG-LimNuclear;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;5;;;;;;;;heat;Mix4;2025;xx_WP5_OPT-REG;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW;;;;;;;; # xx_WP5_OPT-REG-LimRES;0;;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_WP5_RAP-CP;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix3;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;;;;;; -xx_WP5_RAP-CP-LimBio;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).GLO.tax.t.PE.biomass 3.17, (2035,2040,2045,2050).EUR_regi.tax.t.PE.biomass 0.22;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix3;2025;xx_WP5_RAP-CP;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; -xx_WP5_RAP-CP-LimCCS;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, (2035,2040,2045,2050).GLO.tax.t.CCS.all 3000, (2035,2040,2045,2050).EUR_regi.tax.t.CCS.all 250;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix3;2025;xx_WP5_RAP-CP;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; -xx_WP5_RAP-CP-LimNuclear;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;5;;;;;;;;heat;Mix3;2025;xx_WP5_RAP-CP;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW;;;;;;;; +xx_WP5_RAP-CP;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix3;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;;;;;; +xx_WP5_RAP-CP-LimBio;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).GLO.tax.t.PE.biomass 3.17, (2035,2040,2045,2050).EUR_regi.tax.t.PE.biomass 0.22;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix3;2025;xx_WP5_RAP-CP;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; +xx_WP5_RAP-CP-LimCCS;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, (2035,2040,2045,2050).GLO.tax.t.CCS.all 3000, (2035,2040,2045,2050).EUR_regi.tax.t.CCS.all 250;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix3;2025;xx_WP5_RAP-CP;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; +xx_WP5_RAP-CP-LimNuclear;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;5;;;;;;;;heat;Mix3;2025;xx_WP5_RAP-CP;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW;;;;;;;; # xx_WP5_RAP-CP-LimRES;0;;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_WP5_RAP-REG;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;;;;;; -xx_WP5_RAP-REG-LimBio;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).GLO.tax.t.PE.biomass 3.17, (2035,2040,2045,2050).EUR_regi.tax.t.PE.biomass 0.22;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP5_RAP-REG;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; -xx_WP5_RAP-REG-LimCCS;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, (2035,2040,2045,2050).GLO.tax.t.CCS.all 3000, (2035,2040,2045,2050).EUR_regi.tax.t.CCS.all 250;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP5_RAP-REG;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; -xx_WP5_RAP-REG-LimNuclear;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;5;;;;;;;;heat;Mix4;2025;xx_WP5_RAP-REG;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW;;;;;;;; +xx_WP5_RAP-REG;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;;;;;; +xx_WP5_RAP-REG-LimBio;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).GLO.tax.t.PE.biomass 3.17, (2035,2040,2045,2050).EUR_regi.tax.t.PE.biomass 0.22;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP5_RAP-REG;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; +xx_WP5_RAP-REG-LimCCS;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, (2035,2040,2045,2050).GLO.tax.t.CCS.all 3000, (2035,2040,2045,2050).EUR_regi.tax.t.CCS.all 250;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP5_RAP-REG;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; +xx_WP5_RAP-REG-LimNuclear;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;5;;;;;;;;heat;Mix4;2025;xx_WP5_RAP-REG;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW;;;;;;;; # xx_WP5_RAP-REG-LimRES;0;;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -# _____tests_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;35.43046358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -test_WP1_Nzero_DEU;0,WP1;;testOneRegi;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-NPI;xx_DIAG-NPI;xx_DIAG-NPI;;same as xx_DIAG-Nzero;;;;;;;;;DEU;1;1;1; -xx_WP1_Nzero_highPrecision_10tCO2eq;0,test;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;same as xx_DIAG-Nzero;;;;;;;;;;;;;GLO 0.002 -xx_WP1_Nzero_highPrecision_5tCO2eq;0,test;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;same as xx_DIAG-Nzero;;;;;;;;;;;;;GLO 0.001 -xx_WP1_Nzero_highPrecision_1tCO2eq;0,test;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;same as xx_DIAG-Nzero;;;;;;;;;;;;;GLO 0.0002 -xx_WP1_Nzero_highPrecision_0p4tCO2eq;0,test;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;same as xx_DIAG-Nzero;;;;;;;;;;;;;GLO 0.00008 +# _____tests_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3.543.046.358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +test_WP1_Nzero_DEU;0,WP1;;testOneRegi;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-NPI;xx_DIAG-NPI;xx_DIAG-NPI;;same as xx_DIAG-Nzero;;;;;;;;;DEU;1;1;1; +xx_WP1_Nzero_highPrecision_10tCO2eq;0,test;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;same as xx_DIAG-Nzero;;;;;;;;;;;;;GLO 0.002 +xx_WP1_Nzero_highPrecision_5tCO2eq;0,test;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;same as xx_DIAG-Nzero;;;;;;;;;;;;;GLO 0.001 +xx_WP1_Nzero_highPrecision_1tCO2eq;0,test;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;same as xx_DIAG-Nzero;;;;;;;;;;;;;GLO 0.0002 +xx_WP1_Nzero_highPrecision_0p4tCO2eq;0,test;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;same as xx_DIAG-Nzero;;;;;;;;;;;;;GLO 0.00008 diff --git a/config/scenario_config_DeepEl.csv b/config/scenario_config_DeepEl.csv index 22fa0f660..290b9ba63 100644 --- a/config/scenario_config_DeepEl.csv +++ b/config/scenario_config_DeepEl.csv @@ -1,9 +1,9 @@ -title;start;CES_parameters;optimization;slurmConfig;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_VRE_supply_assumptions;cm_wasteIncinerationCCSshare;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;cm_wasteIncinerationCCSshare;c_budgetCO2from2020;carbonprice;cm_co2_tax_startyear;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 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 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP2-NPi-calibrate-DeepEl;1;calibrate;;14;rcp45;;;0;;0;NPi;1;2100;;9;;;;NPi2018;regiCarbonPrice;on;on;3;;heat;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. SSP2-Base-DeepEl;1;;;1;;;;0;;0;;;2100;;;off;;;;;;;;;heat;Mix1;2005;;;;;SSP2-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. SSP2-NPi-DeepEl;1;;;1;rcp45;3;;0;;0;NPi;1;2100;;9;;;;NPi2018;regiCarbonPrice;on;on;3;;heat;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi is identical to the NDC scenario until 2020 but assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. SSP2-NDC-DeepEl;1;;;1;rcp45;3;globallyOptimal;0;;0;NDC;1;2100;;9;;;;NDC;regiCarbonPrice;on;on;3;;heat;Mix2;2025;;SSP2-NPi-DeepEl;SSP2-NPi-DeepEl;;SSP2-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. -SSP2-PkBudg500-DeepEl;1;;;1;rcp20;9;globallyOptimal;1;2050.GLO 0.9;500;diffCurvPhaseIn2Lin;100;2080;;9;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, IND_regi.pc 0.13;100;5;NDC;regiCarbonPrice;on;on;2;1;heat;Mix4;2025;;SSP2-NPi-DeepEl;;;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5 C scenario, peak warming is allowed to be at or slightly above 1.5 C, at median climate sensitivity but returns to values below 1.5 C in at least 67 % of scenarios by the end of the century. -SSP2-PkBudg1150-DeepEl;1;;;1;rcp26;9;globallyOptimal;1;2050.GLO 0.5;1150;diffCurvPhaseIn2Lin;60;2100;;9;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, IND_regi.pc 0.13;100;5;NDC;regiCarbonPrice;on;on;2;1;heat;Mix4;2025;;SSP2-NPi-DeepEl;;;SSP2-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2 C scenario, peak warming is allowed to be at or slightly above 2 C, at median climate sensitivity but returns to values below 2 C in at least 67 % of scenarios by the end of the century. +SSP2-PkBudg500-DeepEl;1;;;1;rcp20;9;globallyOptimal;1;2050.GLO 0.9;500;diffLin2Lin;100;2080;;9;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, IND_regi.pc 0.13;100;5;NDC;regiCarbonPrice;on;on;2;1;heat;Mix4;2025;;SSP2-NPi-DeepEl;;;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5 C scenario, peak warming is allowed to be at or slightly above 1.5 C, at median climate sensitivity but returns to values below 1.5 C in at least 67 % of scenarios by the end of the century. +SSP2-PkBudg1150-DeepEl;1;;;1;rcp26;9;globallyOptimal;1;2050.GLO 0.5;1150;diffLin2Lin;60;2100;;9;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, IND_regi.pc 0.13;100;5;NDC;regiCarbonPrice;on;on;2;1;heat;Mix4;2025;;SSP2-NPi-DeepEl;;;SSP2-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2 C scenario, peak warming is allowed to be at or slightly above 2 C, at median climate sensitivity but returns to values below 2 C in at least 67 % of scenarios by the end of the century. diff --git a/config/scenario_config_EL2p0DeepDive.csv b/config/scenario_config_EL2p0DeepDive.csv index 9939bdaa2..9ba7f1c8d 100644 --- a/config/scenario_config_EL2p0DeepDive.csv +++ b/config/scenario_config_EL2p0DeepDive.csv @@ -1,39 +1,39 @@ -title;start;path_gdx_carbonprice;cm_bioenergy_SustTax;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_maxProdBiolc;c_ccsinjecratescen;c_ccscapratescen;cm_subsec_model_steel;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;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description +title;start;path_gdx_carbonprice;cm_bioenergy_SustTax;CES_parameters;optimization;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_startyear;cm_peakBudgYr;cm_CO2priceRegConvEndYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_co2_tax_growth;cm_maxProdBiolc;c_ccsinjecratescen;c_ccscapratescen;cm_subsec_model_steel;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;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description SSP2EU-NPi-calibrate;calibrate,AMT,compileInTests;;1.5;calibrate;;14;;;rcp45;;;0;NPi;;;;9;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2EU-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. SSP2EU-Base;1,AMT;;1.5;;;;;;;;;0;;;;;;;off;;;;;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix1;2005;;;;;SSP2EU-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. SSP2EU-NDC;1,AMT;;1.5;;;;;;rcp45;3;globallyOptimal;0;NDC;;;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2025;;SSP2EU-NPi;SSP2EU-NPi;;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. SSP2EU-NPi;1,AMT,compileInTests;;1.5;;;;;;rcp45;3;;0;NPi;;;;9;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2EU-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2EU-noDSPkB500-noDS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 500 -SSP2EU-DSPkB500-DS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 500 +SSP2EU-noDSPkB500-noDS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;diffLin2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 500 +SSP2EU-DSPkB500-DS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;diffLin2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 500 SSP2EU-noDSPkB500-DS_betax_DeepDive;1,AMT;SSP2EU-noDSPkB500-noDS_betax_DeepDive;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 without diet change, but includes diet change in magpie SSP2EU-DSPkB500-noDS_betax_DeepDive;1,AMT;SSP2EU-DSPkB500-DS_betax_DeepDive;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 with diet change, but does not include diet change in magpie -SSP2EU-noDSPkB650-noDS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 650 -SSP2EU-DSPkB650-DS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 650 +SSP2EU-noDSPkB650-noDS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 650 +SSP2EU-DSPkB650-DS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 650 SSP2EU-noDSPkB650-DS_betax_DeepDive;1,AMT;SSP2EU-noDSPkB650-noDS_betax_DeepDive;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 without diet change, but includes diet change in magpie SSP2EU-DSPkB650-noDS_betax_DeepDive;1,AMT;SSP2EU-DSPkB650-DS_betax_DeepDive;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 with diet change, but does not include diet change in magpie -SSP2EU-noDSPkB1050-noDS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;diffCurvPhaseIn2Lin;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 1050 -SSP2EU-DSPkB1050-DS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;diffCurvPhaseIn2Lin;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 1050 +SSP2EU-noDSPkB1050-noDS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;diffLin2Lin;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 1050 +SSP2EU-DSPkB1050-DS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;diffLin2Lin;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 1050 SSP2EU-noDSPkB1050-DS_betax_DeepDive;1,AMT;SSP2EU-noDSPkB1050-noDS_betax_DeepDive;1.5;;;;;;rcp26;9;globallyOptimal;1050;exogenous;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 1050 without diet change, but includes diet change in magpie SSP2EU-DSPkB1050-noDS_betax_DeepDive;1,AMT;SSP2EU-DSPkB1050-DS_betax_DeepDive;1.5;;;;;;rcp26;9;globallyOptimal;1050;exogenous;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 1050 with diet change, but does not include diet change in magpie -SSP2EU-noDSPkB500-noDS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 500 -SSP2EU-DSPkB500-DS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 500 +SSP2EU-noDSPkB500-noDS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;diffLin2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 500 +SSP2EU-DSPkB500-DS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;diffLin2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 500 SSP2EU-noDSPkB500-DS_betax_AgMIP;1,AMT;SSP2EU-noDSPkB500-noDS_betax_AgMIP;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 without diet change, but includes diet change in magpie SSP2EU-DSPkB500-noDS_betax_AgMIP;1,AMT;SSP2EU-DSPkB500-DS_betax_AgMIP;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 with diet change, but does not include diet change in magpie -SSP2EU-noDSPkB650-noDS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 650 -SSP2EU-DSPkB650-DS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 650 +SSP2EU-noDSPkB650-noDS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 650 +SSP2EU-DSPkB650-DS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 650 SSP2EU-noDSPkB650-DS_betax_AgMIP;1,AMT;SSP2EU-noDSPkB650-noDS_betax_AgMIP;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 without diet change, but includes diet change in magpie SSP2EU-DSPkB650-noDS_betax_AgMIP;1,AMT;SSP2EU-DSPkB650-DS_betax_AgMIP;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 with diet change, but does not include diet change in magpie -SSP2EU-noDSPkB1050-noDS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;diffCurvPhaseIn2Lin;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 1050 -SSP2EU-DSPkB1050-DS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;diffCurvPhaseIn2Lin;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 1050 +SSP2EU-noDSPkB1050-noDS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;diffLin2Lin;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 1050 +SSP2EU-DSPkB1050-DS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;diffLin2Lin;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 1050 SSP2EU-noDSPkB1050-DS_betax_AgMIP;1,AMT;SSP2EU-noDSPkB1050-noDS_betax_AgMIP;1.5;;;;;;rcp26;9;globallyOptimal;1050;exogenous;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 1050 without diet change, but includes diet change in magpie SSP2EU-DSPkB1050-noDS_betax_AgMIP;1,AMT;SSP2EU-DSPkB1050-DS_betax_AgMIP;1.5;;;;;;rcp26;9;globallyOptimal;1050;exogenous;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 1050 with diet change, but does not include diet change in magpie -SSP2EU-noDSPkB500-noDS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 500 -SSP2EU-DSPkB500-DS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 500 +SSP2EU-noDSPkB500-noDS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;diffLin2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 500 +SSP2EU-DSPkB500-DS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;diffLin2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 500 SSP2EU-noDSPkB500-DS_betax_DeepDive_noNDC;1,AMT;SSP2EU-noDSPkB500-noDS_betax_DeepDive_noNDC;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 without diet change, but includes diet change in magpie SSP2EU-DSPkB500-noDS_betax_DeepDive_noNDC;1,AMT;SSP2EU-DSPkB500-DS_betax_DeepDive_noNDC;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 with diet change, but does not include diet change in magpie -SSP2EU-noDSPkB650-noDS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 650 -SSP2EU-DSPkB650-DS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 650 +SSP2EU-noDSPkB650-noDS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 650 +SSP2EU-DSPkB650-DS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 650 SSP2EU-noDSPkB650-DS_betax_DeepDive_noNDC;1,AMT;SSP2EU-noDSPkB650-noDS_betax_DeepDive_noNDC;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 without diet change, but includes diet change in magpie SSP2EU-DSPkB650-noDS_betax_DeepDive_noNDC;1,AMT;SSP2EU-DSPkB650-DS_betax_DeepDive_noNDC;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 with diet change, but does not include diet change in magpie -SSP2EU-noDSPkB1050-noDS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;diffCurvPhaseIn2Lin;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 1050 -SSP2EU-DSPkB1050-DS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;diffCurvPhaseIn2Lin;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 1050 +SSP2EU-noDSPkB1050-noDS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;diffLin2Lin;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 1050 +SSP2EU-DSPkB1050-DS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;diffLin2Lin;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 1050 diff --git a/config/scenario_config_ELEVATE4p4.csv b/config/scenario_config_ELEVATE4p4.csv index 05b6a862b..474e56d4c 100755 --- a/config/scenario_config_ELEVATE4p4.csv +++ b/config/scenario_config_ELEVATE4p4.csv @@ -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;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 +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_startyear;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 SSP2-Base_bIT;0;5;off;;none;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;1;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. ELV_CurPol_nTecC_T44;1;5;off;;none;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;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;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030. ELV_CurPol_T44;1;5;off;;none;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;1;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;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030. diff --git a/config/scenario_config_IKEA.csv b/config/scenario_config_IKEA.csv index 284a2e11f..6a30031fd 100644 --- a/config/scenario_config_IKEA.csv +++ b/config/scenario_config_IKEA.csv @@ -1,38 +1,38 @@ -title;start;CES_parameters;.comment;optimization;cm_iteration_max;cm_nash_autoconverge;cm_nash_mode;cm_calibration_string;c_testOneRegi_region;c_keep_iteration_gdxes;slurmConfig;c_changeProdCost;c_SlackMultiplier;cm_rcp_scen;cm_floorCostScen;cm_iterative_target_adj;cm_CO2priceRegConvEndYr;cm_flex_tax;cm_VRE_supply_assumptions;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_2020;cm_peakBudgYr;cm_emiscen;cm_nucscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_tradecostBio;cm_bioenergy_SustTax;cm_maxProdBiolc;c_ccsinjecratescen;cm_CESMkup_build;cm_CESMkup_ind;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;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;.comment;optimization;cm_iteration_max;cm_nash_autoconverge;cm_nash_mode;cm_calibration_string;c_testOneRegi_region;c_keep_iteration_gdxes;slurmConfig;c_changeProdCost;c_SlackMultiplier;cm_rcp_scen;cm_floorCostScen;cm_iterative_target_adj;cm_CO2priceRegConvEndYr;cm_flex_tax;cm_VRE_supply_assumptions;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_startyear;cm_peakBudgYr;cm_emiscen;cm_nucscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_tradecostBio;cm_bioenergy_SustTax;cm_maxProdBiolc;c_ccsinjecratescen;cm_CESMkup_build;cm_CESMkup_ind;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;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_floor1;0;;default global floor cost;testOneRegi;;;;;CHA;0;8;;;;default;;;0;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;testOneRegi-Base: This is a test scenario which only runs a single region, not to be used in production. testOneRegi-Base_floor2;0;;floor cost preserves price structure;testOneRegi;;;;;CHA;0;8;;;;pricestruc;;;0;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;testOneRegi-Base: This is a test scenario which only runs a single region, not to be used in production. testOneRegi-Base_floor3;0;;floor cost simulates tech transfer;testOneRegi;;;;;CHA;0;8;;;;techtrans;;;0;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;testOneRegi-Base: This is a test scenario which only runs a single region, not to be used in production. -testOneRegi-Base_500_debug;0;;floor cost simulates tech transfer;testOneRegi;;;1;default;REF;0;8;;;rcp20;default;9;2100;0;0;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;2;GLO 0.04, 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.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 25,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 180,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;testOneRegi-Base: This is a test scenario which only runs a single region, not to be used in production. +testOneRegi-Base_500_debug;0;;floor cost simulates tech transfer;testOneRegi;;;1;default;REF;0;8;;;rcp20;default;9;2100;0;0;globallyOptimal;500;diffLin2Lin;100;2080;9;2;GLO 0.04, 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.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 25,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 180,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;testOneRegi-Base: This is a test scenario which only runs a single region, not to be used in production. # H12 SSP2EU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP2-NPi-calibrate;0;calibrate;;;;;;;;1;1;;;rcp45;default;;;0;0;;0;NPi;-1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;3;;heat;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. SSP2-NPi-calibrate_floor2;0;calibrate;;;;;;;;1;1;;;rcp45;pricestruc;;;0;0;;0;NPi;-1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;3;;heat;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. SSP2-NPi-calibrate_floor3;0;calibrate;;;;;;;;1;1;;;rcp45;techtrans;;;0;0;;0;NPi;-1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;3;;heat;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. SSP2-NPi;0;;floor cost default;;;;;default;;1;5;;;rcp45;default;3;;0;0;;0;NPi;1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;3;;heat;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (Npi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi is identical to the NDC scenario until 2020 but assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. SSP2-NDC;0;;floor cost default;;;;;default;;1;5;;;rcp45;default;3;;0;0;globallyOptimal;0;NDC;1;2100;9;2;GLO 0.05, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;3;;heat;Mix2;2030;;SSP2-NPi;SSP2-NPi;;SSP2-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. -SSP2-PkBudg1150;0;;floor cost default;;;;;default;;1;5;;;rcp26;default;9;2100;1;1;globallyOptimal;1150;diffCurvPhaseIn2Lin;60;2100;9;2;GLO 0.06, 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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;SSP2-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a weel below 2??C scenario, peak warming is allowed to be at or slightly above 2??C, at median climate sensitivity but returns to values below 2??C in at least 67?% of scenarios by the end of the century. -SSP2-PkBudg650;0;;floor cost default;;;2;;default;;1;5;;;rcp20;default;9;2100;1;1;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2-PkBudg620;0;;floor cost default;;;2;;default;;1;5;;;rcp20;default;9;2100;1;1;globallyOptimal;620;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;SSP2-PkBudg620: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2-PkBudg590;0;;floor cost default;;;2;;default;;1;5;;;rcp20;default;9;2100;1;1;globallyOptimal;590;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;SSP2-PkBudg590: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2-PkBudg560;0;;floor cost default;;;2;;default;;1;5;;;rcp20;default;9;2100;1;1;globallyOptimal;560;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;SSP2-PkBudg550: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2-PkBudg530;0;;floor cost default;;;2;;default;;1;5;;;rcp20;default;9;2100;1;1;globallyOptimal;530;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg1150;0;;floor cost default;;;;;default;;1;5;;;rcp26;default;9;2100;1;1;globallyOptimal;1150;diffLin2Lin;60;2100;9;2;GLO 0.06, 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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;SSP2-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a weel below 2??C scenario, peak warming is allowed to be at or slightly above 2??C, at median climate sensitivity but returns to values below 2??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg650;0;;floor cost default;;;2;;default;;1;5;;;rcp20;default;9;2100;1;1;globallyOptimal;650;diffLin2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg620;0;;floor cost default;;;2;;default;;1;5;;;rcp20;default;9;2100;1;1;globallyOptimal;620;diffLin2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;SSP2-PkBudg620: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg590;0;;floor cost default;;;2;;default;;1;5;;;rcp20;default;9;2100;1;1;globallyOptimal;590;diffLin2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;SSP2-PkBudg590: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg560;0;;floor cost default;;;2;;default;;1;5;;;rcp20;default;9;2100;1;1;globallyOptimal;560;diffLin2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;SSP2-PkBudg550: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg530;0;;floor cost default;;;2;;default;;1;5;;;rcp20;default;9;2100;1;1;globallyOptimal;530;diffLin2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. SSP2-NPi_floor2;0;;floor cost preserves price structure;;;;;pricestruc;;1;5;;;rcp45;pricestruc;3;;0;0;;0;NPi;1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;3;;heat;Mix1;2030;;;;;SSP2-NPi: This National Policies Implemented (Npi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi is identical to the NDC scenario until 2020 but assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. SSP2-NDC_floor2;0;;floor cost preserves price structure;;;;;pricestruc;;1;5;;;rcp45;pricestruc;3;;0;0;globallyOptimal;0;NDC;1;2100;9;2;GLO 0.05, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;3;;heat;Mix2;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;;SSP2-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. -SSP2-PkBudg500_floor2;0;;floor cost preserves price structure;;;;;pricestruc;;1;5;;;rcp20;pricestruc;9;2100;0;0;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2-PkBudg650_floor2;0;;floor cost preserves price structure;;;;;pricestruc;;1;5;;;rcp20;pricestruc;9;2100;0;0;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2-PkBudg1150_floor2;0;;floor cost preserves price structure;;;;;pricestruc;;1;5;;;rcp26;pricestruc;9;2100;0;0;globallyOptimal;1150;diffCurvPhaseIn2Lin;60;2100;9;2;GLO 0.06, 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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;;SSP2-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a weel below 2??C scenario, peak warming is allowed to be at or slightly above 2??C, at median climate sensitivity but returns to values below 2??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg500_floor2;0;;floor cost preserves price structure;;;;;pricestruc;;1;5;;;rcp20;pricestruc;9;2100;0;0;globallyOptimal;500;diffLin2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg650_floor2;0;;floor cost preserves price structure;;;;;pricestruc;;1;5;;;rcp20;pricestruc;9;2100;0;0;globallyOptimal;650;diffLin2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg1150_floor2;0;;floor cost preserves price structure;;;;;pricestruc;;1;5;;;rcp26;pricestruc;9;2100;0;0;globallyOptimal;1150;diffLin2Lin;60;2100;9;2;GLO 0.06, 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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;;SSP2-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a weel below 2??C scenario, peak warming is allowed to be at or slightly above 2??C, at median climate sensitivity but returns to values below 2??C in at least 67?% of scenarios by the end of the century. SSP2-NPi_floor3;0;;floor cost simulates tech transfer;;;;;techtrans;;1;5;;;rcp45;techtrans;3;;0;0;;0;NPi;1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;3;;heat;Mix1;2030;;;;;SSP2-NPi: This National Policies Implemented (Npi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi is identical to the NDC scenario until 2020 but assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. SSP2-NDC_floor3;0;;floor cost simulates tech transfer;;;;;techtrans;;1;5;;;rcp45;techtrans;3;;0;0;globallyOptimal;0;NDC;1;2100;9;2;GLO 0.05, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;3;;heat;Mix2;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;;SSP2-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. -SSP2-PkBudg500_floor3;0;;floor cost simulates tech transfer;;;;;techtrans;;1;5;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;500;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2-PkBudg650_floor3;0;;floor cost simulates tech transfer;;;;;techtrans;;1;5;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2-PkBudg1150_floor3;0;;floor cost simulates tech transfer;;;;;techtrans;;1;1;;;rcp26;techtrans;9;2100;0;0;globallyOptimal;1150;diffCurvPhaseIn2Lin;60;2100;9;2;GLO 0.06, 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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;;SSP2-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a weel below 2??C scenario, peak warming is allowed to be at or slightly above 2??C, at median climate sensitivity but returns to values below 2??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg500_floor3;0;;floor cost simulates tech transfer;;;;;techtrans;;1;5;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;500;diffLin2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg650_floor3;0;;floor cost simulates tech transfer;;;;;techtrans;;1;5;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;650;diffLin2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg1150_floor3;0;;floor cost simulates tech transfer;;;;;techtrans;;1;1;;;rcp26;techtrans;9;2100;0;0;globallyOptimal;1150;diffLin2Lin;60;2100;9;2;GLO 0.06, 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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;;SSP2-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a weel below 2??C scenario, peak warming is allowed to be at or slightly above 2??C, at median climate sensitivity but returns to values below 2??C in at least 67?% of scenarios by the end of the century. # H12 SSP2EU budget scenarios;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-PkBudg600_cost_budget1_2030bionu;0;;south abate less, north abate more;;;2;;pricestruc;;1;5;;;rcp20;pricestruc;9;2100;0;0;globallyOptimal;600;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;2020.2060.EUR.all.budget.netCO2 23,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 130,2020.2050.CHA.all.year.netGHG 0.1,2020.2070.JPN.all.budget.netCO2 8.5,2020.2070.CAZ.all.budget.netCO2 4.5,2020.2070.NEU.all.budget.netCO2 7.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;; -SSP2-PkBudg600_cost_budget2_2030bionu;0;;south abate less, north abate more;;;2;;pricestruc;;1;5;;;rcp20;pricestruc;9;2100;0;0;globallyOptimal;600;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;2020.2060.EUR.all.budget.netCO2 23,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 130,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;; -SSP2-PkBudg600_cost_budget5_2030bionu;0;;south abate less, north abate more;;;2;;techtrans;;1;5;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;600;diffCurvPhaseIn2Lin;100;2080;9;2;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.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 25,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 180,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;; -SSP2-PkBudg620_cost_budget5_2030bionu;0;;south abate less, north abate more;;;2;;techtrans;;1;5;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;620;diffCurvPhaseIn2Lin;100;2080;9;2;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.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 25,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 180,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;; -SSP2-PkBudg650_cost_budget5_2030bionu;0;;south abate less, north abate more;;;2;;techtrans;;1;5;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;9;2;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.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 25,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 180,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;; -SSP2-PkBudg600_cost_year_2030;0;;north abate less, south abate more;;;2;;techtrans;;1;5;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;600;diffCurvPhaseIn2Lin;100;2080;9;2;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.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.04, (IND_regi, SSA_regi, OAS_regi).coalchp 0.04;;;;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2050.CHA.all.budget.netCO2 180, 2020.2050.EUR.all.year.netGHG_LULUCFGrassi 0.1, 2020.2050.USA.all.year.netGHG_LULUCFGrassi 0.1;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;; -SSP2-PkBudg590_budget_year_2030;0;;north abate less, south abate more;;;2;;techtrans;;1;5;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;590;diffCurvPhaseIn2Lin;100;2080;9;2;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.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.04, (IND_regi, SSA_regi, OAS_regi).coalchp 0.04;;;;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 40,2020.2050.USA.all.budget.netCO2 57,2020.2050.CHA.all.budget.netCO2 180;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;; +SSP2-PkBudg600_cost_budget1_2030bionu;0;;south abate less, north abate more;;;2;;pricestruc;;1;5;;;rcp20;pricestruc;9;2100;0;0;globallyOptimal;600;diffLin2Lin;100;2080;9;2;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.04, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;2020.2060.EUR.all.budget.netCO2 23,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 130,2020.2050.CHA.all.year.netGHG 0.1,2020.2070.JPN.all.budget.netCO2 8.5,2020.2070.CAZ.all.budget.netCO2 4.5,2020.2070.NEU.all.budget.netCO2 7.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;; +SSP2-PkBudg600_cost_budget2_2030bionu;0;;south abate less, north abate more;;;2;;pricestruc;;1;5;;;rcp20;pricestruc;9;2100;0;0;globallyOptimal;600;diffLin2Lin;100;2080;9;2;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.04, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;2020.2060.EUR.all.budget.netCO2 23,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 130,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;; +SSP2-PkBudg600_cost_budget5_2030bionu;0;;south abate less, north abate more;;;2;;techtrans;;1;5;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;600;diffLin2Lin;100;2080;9;2;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.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 25,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 180,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;; +SSP2-PkBudg620_cost_budget5_2030bionu;0;;south abate less, north abate more;;;2;;techtrans;;1;5;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;620;diffLin2Lin;100;2080;9;2;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.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 25,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 180,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;; +SSP2-PkBudg650_cost_budget5_2030bionu;0;;south abate less, north abate more;;;2;;techtrans;;1;5;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;650;diffLin2Lin;100;2080;9;2;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.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 25,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 180,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;; +SSP2-PkBudg600_cost_year_2030;0;;north abate less, south abate more;;;2;;techtrans;;1;5;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;600;diffLin2Lin;100;2080;9;2;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.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.04, (IND_regi, SSA_regi, OAS_regi).coalchp 0.04;;;;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2050.CHA.all.budget.netCO2 180, 2020.2050.EUR.all.year.netGHG_LULUCFGrassi 0.1, 2020.2050.USA.all.year.netGHG_LULUCFGrassi 0.1;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;; +SSP2-PkBudg590_budget_year_2030;0;;north abate less, south abate more;;;2;;techtrans;;1;5;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;590;diffLin2Lin;100;2080;9;2;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.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.04, (IND_regi, SSA_regi, OAS_regi).coalchp 0.04;;;;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 40,2020.2050.USA.all.budget.netCO2 57,2020.2050.CHA.all.budget.netCO2 180;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;; # H12 SSP2 demand scenarios;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-PkBudg650_floor2_demInc;0;;floor cost preserves price structure;;;;;pricestruc;;1;5;;;rcp20;pricestruc;9;2100;0;0;globallyOptimal;650;diffCurvPhaseIn2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2-PkBudg1150_floor2_demInc;0;;floor cost preserves price structure;;;;;pricestruc;;1;5;;;rcp26;pricestruc;9;2100;0;0;globallyOptimal;1150;diffCurvPhaseIn2Lin;60;2100;9;2;GLO 0.06, 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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;;SSP2-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a weel below 2??C scenario, peak warming is allowed to be at or slightly above 2??C, at median climate sensitivity but returns to values below 2??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg650_floor2_demInc;0;;floor cost preserves price structure;;;;;pricestruc;;1;5;;;rcp20;pricestruc;9;2100;0;0;globallyOptimal;650;diffLin2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg1150_floor2_demInc;0;;floor cost preserves price structure;;;;;pricestruc;;1;5;;;rcp26;pricestruc;9;2100;0;0;globallyOptimal;1150;diffLin2Lin;60;2100;9;2;GLO 0.06, 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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;;SSP2-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a weel below 2??C scenario, peak warming is allowed to be at or slightly above 2??C, at median climate sensitivity but returns to values below 2??C in at least 67?% of scenarios by the end of the century. diff --git a/config/scenario_config_NGFS_v5.csv b/config/scenario_config_NGFS_v5.csv index 1bfc38c68..24b49edba 100644 --- a/config/scenario_config_NGFS_v5.csv +++ b/config/scenario_config_NGFS_v5.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;climate_assessment_magicc_prob_file_iteration;cm_magicc_config;cm_magicc_temperatureImpulseResponse;cm_KotzWenzPerc;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;cm_CO2TaxSectorMarkup;c_ccsinjecratescen;c_ccsinjecrateRegi;cm_33DAC;cm_33EW;cm_bioenergy_SustTax;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;carbonpriceRegi;regipol;cm_implicitQttyTarget;cm_implicitQttyTarget_tolerance;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;fixOnRefAuto;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;climate_assessment_magicc_prob_file_iteration;cm_magicc_config;cm_magicc_temperatureImpulseResponse;cm_KotzWenzPerc;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;cm_CO2TaxSectorMarkup;c_ccsinjecratescen;c_ccsinjecrateRegi;cm_33DAC;cm_33EW;cm_bioenergy_SustTax;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;carbonpriceRegi;regipol;cm_implicitQttyTarget;cm_implicitQttyTarget_tolerance;cm_NDC_version;cm_netZeroScen;cm_co2_tax_startyear;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;fixOnRefAuto;cm_startyear;path_gdx;path_gdx_ref;path_gdx_refpolicycost;path_gdx_bau;description # ___Calibration___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;initial value;initial value;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP2-Base_covidCalib;0;;;gdp_SSP2;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -8,12 +8,12 @@ SSP2-Base;0;;;gdp_SSP2;medOil;medGas;medCoal;load;5;off;off;uncalibrated;off;0;o h_cpol_noUkr;NGFS;SSP2-Base;;;;;;;;;;;;;;;;;;;30;;;;;;;;;;;Mix2;none;;;;;0;0;1.5;rcp45;3;off;0;NPi;none;;;;;;1;2100;;2050;9;;;3;1.05;100;;NPi2018;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;;2005;;;;;h_cpol: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. h_cpol;NGFS;h_cpol_noUkr;EUR.pegas.worldPricemarkup 0.5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;;h_cpol_noUkr;;; h_ndc;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Mix3;none;;;1;;;;1.5;rcp45;3;globallyOptimal;0;NDC;none;;;;;;1;2100;3;2050;;;;;;;;NDC;;;;3;;;;;;;;2025;;h_cpol_noUkr;h_cpol;h_cpol_noUkr;h_ndc: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. -o_1p5c;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;Mix4;heatpumps;;;1;;;;1.5;rcp20;9;globallyOptimal;560;diffCurvPhaseIn2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 4300, 2080.GLO.tax.t.CCS.biomass 4300;0.1;;;200;2045;6;2050;;;;;;;;NDC;;;;2;;;;;;;;2025;;h_cpol_noUkr;h_cpol;;o_1p5c: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. -o_lowdem;NGFS;o_1p5c;;gdp_SSP2_lowEn;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;;;;;;GLO 0.00125, CAZ_regi 0.0045, CHA_regi 0.004, EUR_regi 0.0045, IND_regi 0.004, JPN_regi 0.002, USA_regi 0.002;;;;;;;560;diffCurvPhaseIn2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 3800, 2080.GLO.tax.t.CCS.biomass 3800;0.1;;;;;1;;;;;;;;;;;;;;;;;;;;;2025;;h_cpol_noUkr;h_cpol;;o_lowdem: Low Demand scenario -o_2c;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.5;;;Mix4;heatpumps;;;1;;;;1.5;rcp26;9;globallyOptimal;1050;diffCurvPhaseIn2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 2300, 2080.GLO.tax.t.CCS.biomass 2300;;;NGFS_v4_20pc;100;2080;3;2050;;;;;;;;NDC;;;;2;;;;;;;;2025;;h_cpol_noUkr;h_cpol;;o_2c: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. -d_delfrag;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.5;;;Mix3;heatpumps;;;;GLO 0.00125, CAZ_regi 0.0045, CHA_regi 0.004, EUR_regi 0.0045, IND_regi 0.004, JPN_regi 0.002, USA_regi 0.002;;;1.5;rcp26;9;globallyOptimal;1010;diffCurvPhaseIn2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 2300, 2080.GLO.tax.t.CCS.biomass 2300;;;;100;2080;;2050;;;;;;;;NDC;;;;2;;;;;;;;2035;;h_cpol;h_cpol;;d_delfrag: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. +o_1p5c;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;Mix4;heatpumps;;;1;;;;1.5;rcp20;9;globallyOptimal;560;diffLin2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 4300, 2080.GLO.tax.t.CCS.biomass 4300;0.1;;;150;2045;6;2050;;;;;;;;NDC;;;;2;;;;;;;;2025;;h_cpol_noUkr;h_cpol;;o_1p5c: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. +o_lowdem;NGFS;o_1p5c;;gdp_SSP2_lowEn;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;;;;;;GLO 0.00125, CAZ_regi 0.0045, CHA_regi 0.004, EUR_regi 0.0045, IND_regi 0.004, JPN_regi 0.002, USA_regi 0.002;;;;;;;560;diffLin2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 3800, 2080.GLO.tax.t.CCS.biomass 3800;0.1;;;;;1;;;;;;;;;;;;;;;;;;;;;2025;;h_cpol_noUkr;h_cpol;;o_lowdem: Low Demand scenario +o_2c;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.5;;;Mix4;heatpumps;;;1;;;;1.5;rcp26;9;globallyOptimal;1050;diffLin2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 2300, 2080.GLO.tax.t.CCS.biomass 2300;;;NGFS_v4_20pc;100;2080;3;2050;;;;;;;;NDC;;;;2;;;;;;;;2025;;h_cpol_noUkr;h_cpol;;o_2c: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. +d_delfrag;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.5;;;Mix3;heatpumps;;;;GLO 0.00125, CAZ_regi 0.0045, CHA_regi 0.004, EUR_regi 0.0045, IND_regi 0.004, JPN_regi 0.002, USA_regi 0.002;;;1.5;rcp26;9;globallyOptimal;1010;diffLin2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 2300, 2080.GLO.tax.t.CCS.biomass 2300;;;;100;2080;;2050;;;;;;;;NDC;;;;2;;;;;;;;2035;;h_cpol;h_cpol;;d_delfrag: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. d_strain;NGFS;d_delfrag;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3;off;;NPi;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 2300, 2080.GLO.tax.t.CCS.biomass 2300;;;NGFS_v4_20pc;1;2100;;;;;;;;;;;;;;;;;;;;;;2035;;h_cpol;h_cpol;;d_strain: Fragmented world -d_rap;0;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;Mix4;heatpumps;;GLO.trans 2, GLO.build 2;2;;;;1.5;rcp20;9;globallyOptimal;560;diffCurvPhaseIn2Lin;none;;;;;;200;2045;3;2050;;;;;;;;NDC;;;;2;;;;;;;;2025;;h_cpol_noUkr;h_cpol;;d_rap: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. +d_rap;0;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;Mix4;heatpumps;;GLO.trans 2, GLO.build 2;2;;;;1.5;rcp20;9;globallyOptimal;560;diffLin2Lin;none;;;;;;150;2045;3;2050;;;;;;;;NDC;;;;2;;;;;;;;2025;;h_cpol_noUkr;h_cpol;;d_rap: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. # ___WITH_DAMAGES___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; h_cpol_KLW_d50;KLW;h_cpol;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;off;/p/projects/rd3mod/climate-assessment-files/parsets/RCP45_50.json;;off;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;;h_cpol;;;h_cpol_KLW_d50: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP4.5. h_ndc_KLW_d50;KLW;h_ndc;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;off;/p/projects/rd3mod/climate-assessment-files/parsets/RCP45_50.json;;off;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;;h_cpol;h_cpol_KLW_d50;;h_ndc_KLW_d50: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP4.5. diff --git a/main.gms b/main.gms index b9e0483ed..3583bd914 100755 --- a/main.gms +++ b/main.gms @@ -268,7 +268,7 @@ $setGlobal climate off !! def = off *'--------------------- 16_downscaleTemperature -------------------------- *' *' * (off) -*' * (CMIP5): downscale GMT to regional temperature based on CMIP5 data (between iterations, no runtime impact). [Requires climate = off, cm_rcp_scen = none, iterative_target_adj = 9] curved convergence of CO2 prices between regions until cm_CO2priceRegConvEndYr; developed countries have linear path from 0 in 2010 through cm_co2_tax_2020 in 2020; +*' * (CMIP5): downscale GMT to regional temperature based on CMIP5 data (between iterations, no runtime impact). [Requires climate = off, cm_rcp_scen = none, iterative_target_adj = 9] curved convergence of CO2 prices between regions until cm_CO2priceRegConvEndYr; developed countries have linear path through (cm_year_co2_tax_hist, cm_co2_tax_hist) and (cm_startyear, cm_co2_tax_startyear); $setGlobal downscaleTemperature off !! def = off *'--------------------- 20_growth ------------------------------------------ *' @@ -384,13 +384,13 @@ $setglobal emicapregi none !! def = none *' * choose cm_peakBudgYr = 2110 for no adaptation of carbonprice path until end of century *' * (expoLinear): 4.5% exponential increase until cm_expoLinear_yearStart, transitioning into linear increase thereafter *' * (exogenous): carbon price is specified using an external input file or using the switch cm_regiExoPrice. Requires cm_emiscen = 9 and cm_iterative_target_adj = 0 -*' * (temperatureNotToExceed): [test and verify before using it!] Find the optimal carbon carbon tax (set cm_emiscen = 1, iterative_target_adj = 9] curved convergence of CO2 prices between regions until cm_CO2priceRegConvEndYr; developed countries have linear path from 0 in 2010 through cm_co2_tax_2020 in 2020; +*' * (temperatureNotToExceed): [test and verify before using it!] Find the optimal carbon carbon tax (set cm_emiscen = 1, iterative_target_adj = 9] curved convergence of CO2 prices between regions until cm_CO2priceRegConvEndYr; developed countries have linear path through (cm_year_co2_tax_hist, cm_co2_tax_hist) and (cm_startyear, cm_co2_tax_startyear); *' * (NDC): implements a carbon price trajectory consistent with the NDC targets (up to 2030) and a trajectory of comparable ambition post 2030 (1.25%/yr price increase and regional convergence of carbon price). Choose version using cm_NDC_version "2023_cond", "2023_uncond", or replace 2023 by 2022, 2021 or 2018 to get all NDC published until end of these years. *' * (NPi): National Policies Implemented, extrapolation of historical (until 2020) carbon prices *' * (none): no tax policy (combined with all emiscens except emiscen = 9) -*** (exponential) is superseded by (diffExp2Lin): For a globally uniform, exponentially increasing carbonprice path, set cm_co2_tax_spread = 1, set cm_peakBudgYr = 2110, and choose the initial carbonprice in cm_startyear via cm_co2_tax_startyear. -*** (linear) is superseded by (diffLin2Lin): For a globally uniform, linearly increasing carbonprice path, set cm_co2_tax_spread = 1, set cm_peakBudgYr = 2110, and choose the initial carbonprice in cm_startyear via cm_co2_tax_startyear. [Adjust historical reference point (cm_year_co2_tax_hist, cm_co2_tax_hist) if needed.] +*** (exponential) is superseded by (diffExp2Lin): For a globally uniform, exponentially increasing carbonprice path until end of century [in combination with cm_iterative_target_adj = 0 or 5], set cm_co2_tax_spread = 1, set cm_peakBudgYr = 2110, and choose the initial carbonprice in cm_startyear via cm_co2_tax_startyear. +*** (linear) is superseded by (diffLin2Lin): For a globally uniform, linearly increasing carbonprice path until end of century [in combination with cm_iterative_target_adj = 0 or 5], set cm_co2_tax_spread = 1, set cm_peakBudgYr = 2110, and choose the initial carbonprice in cm_startyear via cm_co2_tax_startyear. [Adjust historical reference point (cm_year_co2_tax_hist, cm_co2_tax_hist) if needed.] $setglobal carbonprice none !! def = none *'--------------------- 46_carbonpriceRegi --------------------------------- @@ -449,8 +449,7 @@ $setGlobal optimization nash !! def = nash *'--------------------- 81_codePerformance ------------------------------- *' *' * (off): nothing happens -*' * (on): test code performance: noumerous (30) succesive runs performed in a triangle, tax0, tax30, tax150, all growing exponentially, -*' therefore use carbonprice|exponential, c_emiscen|9, and cm_co2_tax_2020|0. +*' * (on): test code performance: noumerous (30) succesive runs performed in a triangle, tax0, tax30, tax150, all growing exponentially. $setGlobal codePerformance off !! def = off ***----------------------------------------------------------------------------- @@ -508,17 +507,10 @@ parameter *' * (1): BAU *' * (4): emission time path *' * (6): budget -*' * (9): tax scenario (requires running module 21_tax "on"), tax level controlled by module 45_carbonprice and cm_co2_tax_2020, other GHG etc. controlled by cm_rcp_scen +*' * (9): tax scenario (requires running module 21_tax "on"), tax level controlled by module 45_carbonprice and cm_co2_tax_startyear, other GHG etc. controlled by cm_rcp_scen *' * (10): used for cost-benefit analysis *' *JeS* WARNING: data for cm_emiscen 4 only exists for multigas_scen 2 bau scenarios and for multigas_scen 1 *' -parameter - cm_co2_tax_2020 "level of co2 tax in year 2020 in $ per t CO2eq [emiscen = 9 and 45_carbonprice = exponential]" -; - cm_co2_tax_2020 = -1; !! def = -1 !! regexp = -1|is.nonnegative -*' * (-1): default setting equivalent to no carbon tax -*' * (any number >= 0): tax level in 2020, with 5% exponential increase over time -*' parameter cm_co2_tax_startyear "level of co2 tax in start year in $ per t CO2eq" ; diff --git a/modules/45_carbonprice/diffCurvPhaseIn2Lin/datainput.gms b/modules/45_carbonprice/diffCurvPhaseIn2Lin/datainput.gms deleted file mode 100644 index c241b0b8e..000000000 --- a/modules/45_carbonprice/diffCurvPhaseIn2Lin/datainput.gms +++ /dev/null @@ -1,68 +0,0 @@ -*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/45_carbonprice/diffCurvPhaseIn2Lin/datainput.gms -***------------------------------------------------------------------------------------------------------------------------ -*** linear convergence with starting points differentiated by GDP/capita, global price from 2050 -***----------------------------------------------------------------------------------------------------------------------- - - -*** convergence to global CO2 price depends on GDP per capita (in 1e3 $ PPP 2005). -p45_gdppcap2015_PPP(regi) = pm_gdp("2015",regi)/pm_shPPPMER(regi) / pm_pop("2015",regi); -display p45_gdppcap2015_PPP; - -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) le 3) = 0.1; -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 3 and p45_gdppcap2015_PPP(regi) le 5) = 0.2; -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 5 and p45_gdppcap2015_PPP(regi) le 8) = 0.3; -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 8 and p45_gdppcap2015_PPP(regi) le 11) = 0.5; -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 11 and p45_gdppcap2015_PPP(regi) le 14) = 0.65; -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 14 and p45_gdppcap2015_PPP(regi) le 19) = 0.8; -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 19 and p45_gdppcap2015_PPP(regi) le 24) = 0.9; -p45_phasein_2025ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 24) = 1; -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 -if(cm_co2_tax_2020 lt 0, - abort "please choose a valid cm_co2_tax_2020" -elseif cm_co2_tax_2020 ge 0, -*** convert tax value from $/t CO2eq to T$/GtC - p45_CO2priceTrajDeveloped("2040") = 3 * cm_co2_tax_2020 * sm_DptCO2_2_TDpGtC; -*** shifted to 2040 to make sure that even in delay scenarios the fixpoint of the linear price path is inside the "t" range, otherwise the CO2 prices from reference run may be overwritten -*** The factor 3 comes from shifting the 2020 value 20 years into the future at linear increase of 10% of 2020 value per year. -); - - - -p45_CO2priceTrajDeveloped(t)$(t.val gt 2005) = p45_CO2priceTrajDeveloped("2040")*( 1 + 0.1/3 * (t.val-2040)); !! no CO2 price in 2005 and only change CO2 prices afterwards -*** annual increase by (10/3)% of the 2040 value is the same as a 10% increase of the 2020 value is the same as a linear increase from 0 in 2010 to the 2020/2040 value - - -*** Then create regional phase-in: -loop(t$(t.val le cm_CO2priceRegConvEndYr), - p45_regCO2priceFactor(t,regi) = - min(1, - max(0, - p45_phasein_2025ratio(regi) + (1 - p45_phasein_2025ratio(regi)) - * Power( - ( (t.val - 2025) + (cm_CO2priceRegConvEndYr - 2025) * 0.1 ) - / ( (cm_CO2priceRegConvEndYr - 2025) * 1.1 ) - , 2 - ) !! use Power instead of ** to allow ttot be smaller than 2025, and thus the base to be negative - ) - ); -); -p45_regCO2priceFactor(t,regi)$(t.val ge cm_CO2priceRegConvEndYr) = 1; - - -*** transition to global price - starting point depends on GDP/cap -pm_taxCO2eq(t,regi) = p45_regCO2priceFactor(t,regi) * p45_CO2priceTrajDeveloped(t); - - -display p45_regCO2priceFactor, p45_CO2priceTrajDeveloped, pm_taxCO2eq; - -*** EOF ./modules/45_carbonprice/diffCurvPhaseIn2Lin/datainput.gms diff --git a/modules/45_carbonprice/diffCurvPhaseIn2Lin/declarations.gms b/modules/45_carbonprice/diffCurvPhaseIn2Lin/declarations.gms deleted file mode 100644 index 52d8ba31e..000000000 --- a/modules/45_carbonprice/diffCurvPhaseIn2Lin/declarations.gms +++ /dev/null @@ -1,22 +0,0 @@ -*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/45_carbonprice/diffCurvPhaseIn2Lin/declarations.gms -***------------------------------------------------------------------------------------------------------------------------ -*** *BS* 20190930 linear convergence with starting points differentiated by GDP/capita, global price from 2040 -***----------------------------------------------------------------------------------------------------------------------- - -parameters -p45_tauCO2_ref(ttot, all_regi) "CO2 tax path of reference policy (NDC)" -p45_gdppcap2015_PPP(all_regi) "2015 GDP per capita (k $ PPP 2005)" -p45_phasein_2025ratio(all_regi) "ratio of CO2 price to that of developed region in 2025" - -p45_regCO2priceFactor(ttot,all_regi) "regional multiplicative factor to the CO2 price of the developed countries" -p45_CO2priceTrajDeveloped(ttot) "CO2 price trajectory for developed/rich countries" -; - - -*** EOF ./modules/45_carbonprice/diffCurvPhaseIn2Lin/declarations.gms diff --git a/modules/45_carbonprice/diffCurvPhaseIn2Lin/not_used.txt b/modules/45_carbonprice/diffCurvPhaseIn2Lin/not_used.txt deleted file mode 100644 index 1f2eb1239..000000000 --- a/modules/45_carbonprice/diffCurvPhaseIn2Lin/not_used.txt +++ /dev/null @@ -1,32 +0,0 @@ -# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) -# | authors, and contributors see CITATION.cff file. This file is part -# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -# | AGPL-3.0, you are granted additional permissions described in the -# | REMIND License Exception, version 1.0 (see LICENSE file). -# | Contact: remind@pik-potsdam.de -name,type,reason -sm_c_2_co2,input,questionnaire -vm_co2eq,input,questionnaire -vm_emiFgas,input,questionnaire -pm_globalMeanTemperature,input,questionnaire -pm_temperatureImpulseResponseCO2,input,questionnaire -pm_GDPGross,input,questionnaire -pm_ttot_val,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_NDC_divergentScenario,input,questionnaire -pm_consPC,input,questionnaire -pm_prtp,input,questionnaire -vm_demFeSector,input,questionnaire -pm_emifac,input,questionnaire -cm_co2_tax_spread,input,added by codeCheck -cm_co2_tax_startyear,input,added by codeCheck -cm_peakBudgYr,input,added by codeCheck -cm_startyear,input,added by codeCheck -cm_taxCO2inc_after_peakBudgYr,input,added by codeCheck -sm_D2005_2_D2017,input,not needed -fm_taxCO2eqHist,input,not needed diff --git a/modules/45_carbonprice/diffCurvPhaseIn2Lin/postsolve.gms b/modules/45_carbonprice/diffCurvPhaseIn2Lin/postsolve.gms deleted file mode 100644 index e8227f3bb..000000000 --- a/modules/45_carbonprice/diffCurvPhaseIn2Lin/postsolve.gms +++ /dev/null @@ -1,32 +0,0 @@ -*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/45_carbonprice/diffCurvPhaseIn2Lin/postsolve.gms -***------------------------------------------------------------------------------------------------------------------------ -*** *BS* 20190930 linear convergence with starting points differentiated by GDP/capita, global price from 2040 -***----------------------------------------------------------------------------------------------------------------------- - -*** *** updated constant global price as scalar (regional prices are the same anyway) -*** s45_constantCO2price = sum((ttot,regi)$(ttot.val eq s45_stageend), pm_taxCO2eq(ttot,regi))/card(regi) ; -*** *** entire path has been shifted in update, so have to set these again -*** pm_taxCO2eq(ttot,regi)$(ttot.val le s45_stagestart) = p45_tauCO2_ref(ttot, regi); -*** pm_taxCO2eq(ttot,regi)$(ttot.val gt s45_stagestart and ttot.val lt s45_stageend) -*** = s45_constantCO2price * (ttot.val - p45_phasein_zeroyear(regi))/(s45_stageend - p45_phasein_zeroyear(regi)); -*** *** price trajectory should be constant anyway but let's be explicit here -*** pm_taxCO2eq(ttot,regi)$(ttot.val ge s45_stageend) = s45_constantCO2price; - - -*** re-create the regional differentation, use path from developed countries as the basis. -*** This doesn't need to be a loop, but it will be correct for any cycle of the loop, so also for the last cycle. -loop(regi$(p45_gdppcap2015_PPP(regi) gt 30), - p45_CO2priceTrajDeveloped(t) = pm_taxCO2eq(t,regi); -); - -*** linear transition to global price - starting point depends on GDP/cap -pm_taxCO2eq(t,regi) = p45_regCO2priceFactor(t,regi) * p45_CO2priceTrajDeveloped(t); - -display pm_taxCO2eq; -*** EOF ./modules/45_carbonprice/diffCurvPhaseIn2Lin/postsolve.gms diff --git a/modules/45_carbonprice/diffCurvPhaseIn2Lin/realization.gms b/modules/45_carbonprice/diffCurvPhaseIn2Lin/realization.gms deleted file mode 100644 index c646f22f8..000000000 --- a/modules/45_carbonprice/diffCurvPhaseIn2Lin/realization.gms +++ /dev/null @@ -1,15 +0,0 @@ -*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/45_carbonprice/diffCurvPhaseIn2Lin/realization.gms - -*####################### R SECTION START (PHASES) ############################## -$Ifi "%phase%" == "declarations" $include "./modules/45_carbonprice/diffCurvPhaseIn2Lin/declarations.gms" -$Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/diffCurvPhaseIn2Lin/datainput.gms" -$Ifi "%phase%" == "postsolve" $include "./modules/45_carbonprice/diffCurvPhaseIn2Lin/postsolve.gms" -*######################## R SECTION END (PHASES) ############################### - -*** EOF ./modules/45_carbonprice/diffCurvPhaseIn2Lin/realization.gms diff --git a/modules/45_carbonprice/exponential/datainput.gms b/modules/45_carbonprice/exponential/datainput.gms deleted file mode 100644 index 952c27e5c..000000000 --- a/modules/45_carbonprice/exponential/datainput.gms +++ /dev/null @@ -1,28 +0,0 @@ -*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/45_carbonprice/exponential/datainput.gms -***---------------------------- -*** CO2 Tax level -***---------------------------- - -*** CO2 tax level is calculated at a 5% exponential increase from the 2020 tax level exogenously defined - -*GL: tax path in 10^12$/GtC = 1000 $/tC -*** according to Asian Modeling Excercise tax case setup, 30$/t CO2eq in 2020 = 0.110 k$/tC - -if(cm_co2_tax_2020 lt 0, -abort "please choose a valid cm_co2_tax_2020" -elseif cm_co2_tax_2020 ge 0, -*** cocnvert tax value from $/t CO2eq to T$/GtC -pm_taxCO2eq("2020",regi)= cm_co2_tax_2020 * sm_DptCO2_2_TDpGtC; -); - -pm_taxCO2eq(ttot,regi)$(ttot.val ge 2005) = pm_taxCO2eq("2020",regi)*cm_co2_tax_growth**(ttot.val-2020); -pm_taxCO2eq(ttot,regi)$(ttot.val gt 2110) = pm_taxCO2eq("2110",regi); !! to prevent huge taxes after 2110 and the resulting convergence problems, set taxes after 2110 equal to 2110 value - - -*** EOF ./modules/45_carbonprice/exponential/datainput.gms diff --git a/modules/45_carbonprice/exponential/not_used.txt b/modules/45_carbonprice/exponential/not_used.txt deleted file mode 100644 index 1b95c0897..000000000 --- a/modules/45_carbonprice/exponential/not_used.txt +++ /dev/null @@ -1,35 +0,0 @@ -# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) -# | authors, and contributors see CITATION.cff file. This file is part -# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -# | AGPL-3.0, you are granted additional permissions described in the -# | REMIND License Exception, version 1.0 (see LICENSE file). -# | Contact: remind@pik-potsdam.de -name,type,reason -cm_emiscen, switch, ??? -sm_c_2_co2,switch, ??? -pm_ttot_val,parameter,??? -cm_startyear,switch,??? -cm_iterative_target_adj,switch,??? -cm_expoLinear_yearStart,switch,??? -vm_co2eq,variable,??? -vm_emiFgas,input,questionnaire -pm_globalMeanTemperature,input,questionnaire -pm_temperatureImpulseResponseCO2,input,questionnaire -pm_consPC,input,questionnaire -pm_GDPGross,input,questionnaire -pm_prtp,input,questionnaire -cm_carbonprice_temperatureLimit,input,questionnaire -pm_ttot_2_tall,input,questionnaire -pm_shPPPMER,input,questionnaire -pm_pop,input,questionnaire -pm_gdp,input,questionnaire -cm_CO2priceRegConvEndYr,input,questionnaire -cm_NDC_divergentScenario,input,questionnaire -vm_demFeSector,input,questionnaire -pm_emifac,input,questionnaire -cm_co2_tax_spread,input,No carbon price differentiation in this realization -cm_co2_tax_startyear,input,added by codeCheck -cm_peakBudgYr,input,added by codeCheck -cm_taxCO2inc_after_peakBudgYr,input,added by codeCheck -sm_D2005_2_D2017,input,not needed -fm_taxCO2eqHist,input,not needed diff --git a/modules/45_carbonprice/exponential/realization.gms b/modules/45_carbonprice/exponential/realization.gms deleted file mode 100644 index 941b30ee8..000000000 --- a/modules/45_carbonprice/exponential/realization.gms +++ /dev/null @@ -1,14 +0,0 @@ -*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/45_carbonprice/exponential/realization.gms - -*' @description: This realization implements an exponential increase in carbon price from the predefined 2020 level. - -*####################### R SECTION START (PHASES) ############################## -$Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/exponential/datainput.gms" -*######################## R SECTION END (PHASES) ############################### -*** EOF ./modules/45_carbonprice/exponential/realization.gms diff --git a/modules/45_carbonprice/linear/datainput.gms b/modules/45_carbonprice/linear/datainput.gms deleted file mode 100644 index 56b2da3aa..000000000 --- a/modules/45_carbonprice/linear/datainput.gms +++ /dev/null @@ -1,31 +0,0 @@ -*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/45_carbonprice/linear/datainput.gms -***---------------------------- -*** CO2 Tax level -***---------------------------- - -*** CO2 tax level is calculated at a linear increase from the 2020 tax level exogenously defined - -*GL: tax path in 10^12$/GtC = 1000 $/tC -*** according to Asian Modeling Excercise tax case setup, 30$/t CO2eq in 2020 = 0.110 k$/tC - -if(cm_co2_tax_2020 lt 0, - abort "please choose a valid cm_co2_tax_2020" -elseif cm_co2_tax_2020 ge 0, -*** convert tax value from $/t CO2eq to T$/GtC - pm_taxCO2eq("2040",regi)= 3 * cm_co2_tax_2020 * sm_DptCO2_2_TDpGtC; !! shifted to 2040 to make sure that even in delay scenarios the fixpoint of the linear price path is inside the "t" range, otherwise the CO2 prices from reference run may be overwritten -*** The factor 3 comes from shifting the 2020 value 20 years into the future at linear increase of 10% of 2020 value per year. -); - -pm_taxCO2eq(ttot,regi)$((ttot.val gt 2005) AND (ttot.val ge cm_startyear)) = pm_taxCO2eq("2040",regi)*( 1 + 0.1/3 * (ttot.val-2040)); !! no CO2 price in 2005 and only change CO2 prices after ; -*** annual increase by (10/3)% of the 2040 value is the same as a 10% increase of the 2020 value is the same as a linear increase from 0 in 2010 to the 2020/2040 value - -pm_taxCO2eq(ttot,regi)$(ttot.val gt 2110) = pm_taxCO2eq("2110",regi); !! to prevent huge taxes after 2110 and the resulting convergence problems, set taxes after 2110 equal to 2110 value -display pm_taxCO2eq; - -*** EOF ./modules/45_carbonprice/linear/datainput.gms diff --git a/modules/45_carbonprice/linear/not_used.txt b/modules/45_carbonprice/linear/not_used.txt deleted file mode 100644 index c49e6c18b..000000000 --- a/modules/45_carbonprice/linear/not_used.txt +++ /dev/null @@ -1,35 +0,0 @@ -# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) -# | authors, and contributors see CITATION.cff file. This file is part -# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -# | AGPL-3.0, you are granted additional permissions described in the -# | REMIND License Exception, version 1.0 (see LICENSE file). -# | Contact: remind@pik-potsdam.de -name,type,reason -cm_emiscen, switch, ??? -sm_c_2_co2,switch, ??? -pm_ttot_val,parameter,??? -cm_co2_tax_growth,switch,??? -cm_iterative_target_adj,switch,??? -cm_expoLinear_yearStart,switch,??? -vm_co2eq,variable,??? -vm_emiFgas,input,questionnaire -pm_globalMeanTemperature,input,questionnaire -pm_temperatureImpulseResponseCO2,input,questionnaire -pm_consPC,input,questionnaire -pm_GDPGross,input,questionnaire -pm_prtp,input,questionnaire -cm_carbonprice_temperatureLimit,input,questionnaire -pm_ttot_2_tall,input,questionnaire -pm_shPPPMER,input,questionnaire -pm_pop,input,questionnaire -pm_gdp,input,questionnaire -cm_CO2priceRegConvEndYr,input,questionnaire -cm_NDC_divergentScenario,input,questionnaire -vm_demFeSector,input,questionnaire -pm_emifac,input,questionnaire -cm_co2_tax_spread,switch,no carbon price differentiation in this realization -cm_co2_tax_startyear,input,added by codeCheck -cm_peakBudgYr,input,added by codeCheck -cm_taxCO2inc_after_peakBudgYr,input,added by codeCheck -sm_D2005_2_D2017,input,not needed -fm_taxCO2eqHist,input,not needed diff --git a/modules/45_carbonprice/linear/realization.gms b/modules/45_carbonprice/linear/realization.gms deleted file mode 100644 index 1028a0e3b..000000000 --- a/modules/45_carbonprice/linear/realization.gms +++ /dev/null @@ -1,14 +0,0 @@ -*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/45_carbonprice/linear/realization.gms - -*' @description: This realization implements an linear increase in carbon price from the predefined 2020 level. - -*####################### R SECTION START (PHASES) ############################## -$Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/linear/datainput.gms" -*######################## R SECTION END (PHASES) ############################### -*** EOF ./modules/45_carbonprice/linear/realization.gms diff --git a/modules/45_carbonprice/module.gms b/modules/45_carbonprice/module.gms index 2dab1e793..dd45e9903 100644 --- a/modules/45_carbonprice/module.gms +++ b/modules/45_carbonprice/module.gms @@ -9,7 +9,7 @@ *' @title Carbonprice *' *' @description -*' The carbonprice module sets (exogenously given price path or predefined 2020 level and linear/exponential increase afterwards) +*' The carbonprice module sets (exogenously given price path or predefined level in start year and linear/exponential increase afterwards) *' or adjusts carbon price trajectories between iterations s.t. the desired climate policy targets are met. The carbon price is the main indicator *' to reflect the increase in climate policy ambition over time. @@ -25,13 +25,10 @@ $Ifi "%carbonprice%" == "NDC" $include "./modules/45_carbonprice/NDC/realization $Ifi "%carbonprice%" == "NPi" $include "./modules/45_carbonprice/NPi/realization.gms" $Ifi "%carbonprice%" == "NPi2025_EUR55" $include "./modules/45_carbonprice/NPi2025_EUR55/realization.gms" $Ifi "%carbonprice%" == "NPiexpo" $include "./modules/45_carbonprice/NPiexpo/realization.gms" -$Ifi "%carbonprice%" == "diffCurvPhaseIn2Lin" $include "./modules/45_carbonprice/diffCurvPhaseIn2Lin/realization.gms" $Ifi "%carbonprice%" == "diffExp2Lin" $include "./modules/45_carbonprice/diffExp2Lin/realization.gms" $Ifi "%carbonprice%" == "diffLin2Lin" $include "./modules/45_carbonprice/diffLin2Lin/realization.gms" $Ifi "%carbonprice%" == "exogenous" $include "./modules/45_carbonprice/exogenous/realization.gms" $Ifi "%carbonprice%" == "expoLinear" $include "./modules/45_carbonprice/expoLinear/realization.gms" -$Ifi "%carbonprice%" == "exponential" $include "./modules/45_carbonprice/exponential/realization.gms" -$Ifi "%carbonprice%" == "linear" $include "./modules/45_carbonprice/linear/realization.gms" $Ifi "%carbonprice%" == "none" $include "./modules/45_carbonprice/none/realization.gms" $Ifi "%carbonprice%" == "temperatureNotToExceed" $include "./modules/45_carbonprice/temperatureNotToExceed/realization.gms" *###################### R SECTION END (MODULETYPES) ############################ diff --git a/modules/81_codePerformance/module.gms b/modules/81_codePerformance/module.gms index 101913730..c91c11f37 100644 --- a/modules/81_codePerformance/module.gms +++ b/modules/81_codePerformance/module.gms @@ -9,7 +9,7 @@ *' @title Codeperformance *' *' @description The realization codeperformance can be used to test the performance of the model. test code performance: noumerous (30) succesive runs -*' performed in a triangle, tax0, tax30, tax150, all growing exponentially, therefore use carbonprice|exponential, c_emiscen|9, and cm_co2_tax_2020|0. +*' performed in a triangle, tax0, tax30, tax150, all growing exponentially. *' *' @authors Anastasis Giannousakis, Robert Pietzcker diff --git a/modules/81_codePerformance/on/presolve.gms b/modules/81_codePerformance/on/presolve.gms index 932d348ce..1efeb9895 100644 --- a/modules/81_codePerformance/on/presolve.gms +++ b/modules/81_codePerformance/on/presolve.gms @@ -9,26 +9,15 @@ LOOP(run $(ord(run)<(c81_runs+1)), IF(MOD(ord(run)+2,3) EQ 0, -cm_co2_tax_2020 = 0; +cm_co2_tax_startyear = 0; ELSEIF MOD(ord(run)+2,3) EQ 1, -cm_co2_tax_2020 = 30; +cm_co2_tax_startyear = 30; ELSEIF MOD(ord(run)+2,3) EQ 2, -cm_co2_tax_2020 = 150; +cm_co2_tax_startyear = 150; ); -*** CO2 tax level is calculated at a 5% exponential increase from the 2020 tax level exogenously defined - -*GL: tax path in 10^12$/GtC = 1000 $/tC -*** according to Asian Modeling Excercise tax case setup, 30$/t CO2eq in 2020 = 0.110 k$/tC - -if(cm_co2_tax_2020 lt 0, -abort "please choose a valid cm_co2_tax_2020" -elseif cm_co2_tax_2020 ge 0, -*** cocnvert tax value from $/t CO2eq to T$/GtC -pm_taxCO2eq("2020",regi)= cm_co2_tax_2020 * sm_DptCO2_2_TDpGtC; -); - -pm_taxCO2eq(ttot,regi)$(ttot.val ge 2005) = pm_taxCO2eq("2020",regi)*cm_co2_tax_growth**(ttot.val-2020); +*** Globally uniform, exponentially increasing carbonprice starting from the tax level (exogenously defined above) in the start year +pm_taxCO2eq(t,regi) = cm_co2_tax_startyear * sm_DptCO2_2_TDpGtC * cm_co2_tax_growth**(t.val-cm_startyear); pm_taxCO2eq("2005",regi)=0; display pm_taxCO2eq; diff --git a/modules/81_codePerformance/on/realization.gms b/modules/81_codePerformance/on/realization.gms index af53d3263..ddc9aac29 100644 --- a/modules/81_codePerformance/on/realization.gms +++ b/modules/81_codePerformance/on/realization.gms @@ -8,7 +8,6 @@ *' @description BAU, tax30, and tax150 runs are set in a loop of 30 runs in total. -*' The realization needs the realization "exogenous" of the 45_carbonprice module *####################### R SECTION START (PHASES) ############################## $Ifi "%phase%" == "sets" $include "./modules/81_codePerformance/on/sets.gms" diff --git a/standalone/MOFEX/MOFEX.gms b/standalone/MOFEX/MOFEX.gms index 5c6c0e4d2..878d34368 100644 --- a/standalone/MOFEX/MOFEX.gms +++ b/standalone/MOFEX/MOFEX.gms @@ -124,7 +124,7 @@ c_solver_try_max "maximum number of inner iterations within one Negishi ite c_keep_iteration_gdxes "save intermediate iteration gdxes" cm_nash_autoconverge "choice of nash convergence mode" cm_emiscen "policy scenario choice" -cm_co2_tax_2020 "level of co2 tax in year 2020 in $ per t CO2eq, makes sense only for emiscen eq 9 and 45_carbonprice exponential" +cm_co2_tax_startyear "level of co2 tax in start year in $ per t CO2eq" cm_co2_tax_growth "growth rate of carbon tax" c_macscen "use of mac" cm_nucscen "nuclear option choice" @@ -190,7 +190,7 @@ cm_frac_NetNegEmi "tax on net negative emissions to reflect risk of overshoot cm_DiscRateScen "Scenario for the implicit discount rate applied to the energy efficiency capital" c_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" -cm_CO2priceRegConvEndYr "Year at which regional CO2 prices converge in module 45 realization diffCurvPhaseIn2Lin" +cm_CO2priceRegConvEndYr "Year at which regional CO2 taxes converge in module 45 for realizations with differentiated carbon prices" c_regi_nucscen "regions to apply nucscen to" c_regi_capturescen "region to apply ccapturescen to" c_regi_synfuelscen "region to apply synfuelscen to" @@ -242,7 +242,7 @@ $setglobal cm_MAgPIE_coupling off !! def = "off" cm_emiscen = 1; !! def = 1 $setglobal cm_rcp_scen none !! def = "none" -cm_co2_tax_2020 = -1; !! def = -1 +cm_co2_tax_startyear = -1; !! def = -1 cm_co2_tax_growth = 1.05; !! def = 1.05 c_macscen = 1; !! def = 1 diff --git a/standalone/MOFEX/config/scenario_config_MOFEX.csv b/standalone/MOFEX/config/scenario_config_MOFEX.csv index 4930de2c4..8fb77dfa4 100644 --- a/standalone/MOFEX/config/scenario_config_MOFEX.csv +++ b/standalone/MOFEX/config/scenario_config_MOFEX.csv @@ -1,4 +1,4 @@ -title;start;cm_iteration_max;cm_MOFEX;fossil;regionmapping;cm_coal_scen;cm_gas_scen;cm_oil_scen;cm_rcp_scen;cm_iterative_target_adj;c_budgetCO2;carbonprice;cm_co2_tax_2020;cm_co2_tax_growth;cm_emiscen;techpol;cm_multigasscen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;revision;model;output +title;start;cm_iteration_max;cm_MOFEX;fossil;regionmapping;cm_coal_scen;cm_gas_scen;cm_oil_scen;cm_rcp_scen;cm_iterative_target_adj;c_budgetCO2;carbonprice;cm_co2_tax_startyear;cm_co2_tax_growth;cm_emiscen;techpol;cm_multigasscen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;revision;model;output Base;0;1;off;timeDepGrades;./config/regionmappingH12.csv;;;;none;0;0;none;-1;1.05;1;none;2;2005;./config/input.gdx;;;;; NDC;0;1;;;./config/regionmappingH12.csv;;;;rcp45;3;0;NDC;1;1.05;9;NDC;3;2015;./config/input.gdx;Base;Base;;; NPi;0;1;;;./config/regionmappingH12.csv;;;;rcp45;3;0;NPi;1;1.05;9;NPi2018;3;2025;./config/input.gdx;NDC;Base;;; diff --git a/standalone/template.gms b/standalone/template.gms index 24754fba5..f74906452 100644 --- a/standalone/template.gms +++ b/standalone/template.gms @@ -124,7 +124,7 @@ cm_solver_try_max "maximum number of inner iterations within one Negishi it c_keep_iteration_gdxes "save intermediate iteration gdxes" cm_nash_autoconverge "choice of nash convergence mode" cm_emiscen "policy scenario choice" -cm_co2_tax_2020 "level of co2 tax in year 2020 in $ per t CO2eq, makes sense only for emiscen eq 9 and 45_carbonprice exponential" +cm_co2_tax_startyear "level of co2 tax in start year in $ per t CO2eq" cm_co2_tax_growth "growth rate of carbon tax" c_macscen "use of mac" cm_nucscen "nuclear option choice" @@ -197,7 +197,7 @@ $setglobal cm_MAgPIE_coupling off !! def = "off" cm_emiscen = 1; !! def = 1 $setglobal cm_rcp_scen none !! def = "none" -cm_co2_tax_2020 = -1; !! def = -1 +cm_co2_tax_startyear = -1; !! def = -1 cm_co2_tax_growth = 1.05; !! def = 1.05 c_macscen = 1; !! def = 1 diff --git a/standalone/trade/trade.gms b/standalone/trade/trade.gms index fab524d7d..0a12f2718 100644 --- a/standalone/trade/trade.gms +++ b/standalone/trade/trade.gms @@ -128,7 +128,7 @@ c_solver_try_max "maximum number of inner iterations within one Negishi ite c_keep_iteration_gdxes "save intermediate iteration gdxes" cm_nash_autoconverge "choice of nash convergence mode" cm_emiscen "policy scenario choice" -cm_co2_tax_2020 "level of co2 tax in year 2020 in $ per t CO2eq, makes sense only for emiscen eq 9 and 45_carbonprice exponential" +cm_co2_tax_startyear "level of co2 tax in start year in $ per t CO2eq" cm_co2_tax_growth "growth rate of carbon tax" c_macscen "use of mac" cm_nucscen "nuclear option choice" @@ -194,7 +194,7 @@ cm_frac_NetNegEmi "tax on net negative emissions to reflect risk of overshoot cm_DiscRateScen "Scenario for the implicit discount rate applied to the energy efficiency capital" c_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" -cm_CO2priceRegConvEndYr "Year at which regional CO2 prices converge in module 45 realization diffCurvPhaseIn2Lin" +cm_CO2priceRegConvEndYr "Year at which regional CO2 taxes converge in module 45 for realizations with differentiated carbon prices" c_regi_nucscen "regions to apply nucscen to" c_regi_capturescen "region to apply ccapturescen to" c_regi_synfuelscen "region to apply synfuelscen to" @@ -246,7 +246,7 @@ $setglobal cm_MAgPIE_coupling off !! def = "off" cm_emiscen = 1; !! def = 1 $setglobal cm_rcp_scen none !! def = "none" -cm_co2_tax_2020 = -1; !! def = -1 +cm_co2_tax_startyear = -1; !! def = -1 cm_co2_tax_growth = 1.05; !! def = 1.05 c_macscen = 1; !! def = 1 diff --git a/tests/testthat/test_01-checkFixCfg.R b/tests/testthat/test_01-checkFixCfg.R index 830237ed4..a19ff4910 100644 --- a/tests/testthat/test_01-checkFixCfg.R +++ b/tests/testthat/test_01-checkFixCfg.R @@ -22,7 +22,7 @@ test_that("checkFixCfg works", { "cm_rcp_scen" = "apocalypse", "c_testOneRegi_region" = "LOONG", "c_shGreenH2" = "1.5", - "cm_co2_tax_2020" = "-2", + "cm_co2_tax_startyear" = "-2", NULL) cfg <- savecfg diff --git a/tutorials/03_RunningBundleOfRuns.md b/tutorials/03_RunningBundleOfRuns.md index 1f5292edc..3daf75d93 100644 --- a/tutorials/03_RunningBundleOfRuns.md +++ b/tutorials/03_RunningBundleOfRuns.md @@ -31,7 +31,7 @@ readCheckScenarioConfig("config/scenario_config.csv")["SSP2-Base", ] ``` Further columns are the configurations that you can choose for the specific runs. -They may contain values for parameters such as `cm_rcp_scen` and module realizations such as `exponential` for [`./module/carbonprice/`](../modules/45_carbonprice). They overwrite the default defined and explained in [`./config/default.cfg`](../config/default.cfg) and [`./main.gms`](../main.gms) by the respective cell value for each run. If you leave a cell empty or if no column exists for a setting, the default value is used. +They may contain values for parameters such as `cm_rcp_scen` and module realizations such as `diffLin2Lin` for [`./module/carbonprice/`](../modules/45_carbonprice). They overwrite the default defined and explained in [`./config/default.cfg`](../config/default.cfg) and [`./main.gms`](../main.gms) by the respective cell value for each run. If you leave a cell empty or if no column exists for a setting, the default value is used. An important feature of scenario_config files is the possibility to execute runs which build on each other. Examples are (1) using the base run for all time steps until `cm_startyear`, or (2) use it to compare the impact of certain policies to a situation without them. From c34a15dc851b60783972788d7028afffaff69af3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Thu, 10 Oct 2024 16:51:37 +0200 Subject: [PATCH 619/875] cm_co2_tax_2020 removed as interface and deleted from all not_used.txt files of module carbonprice --- modules/45_carbonprice/NDC/not_used.txt | 1 - modules/45_carbonprice/NPi/not_used.txt | 1 - modules/45_carbonprice/NPi2025_EUR55/not_used.txt | 1 - modules/45_carbonprice/NPiexpo/not_used.txt | 1 - modules/45_carbonprice/diffExp2Lin/not_used.txt | 1 - modules/45_carbonprice/diffLin2Lin/not_used.txt | 1 - modules/45_carbonprice/exogenous/not_used.txt | 1 - modules/45_carbonprice/expoLinear/not_used.txt | 1 - modules/45_carbonprice/none/not_used.txt | 1 - modules/45_carbonprice/temperatureNotToExceed/not_used.txt | 1 - 10 files changed, 10 deletions(-) diff --git a/modules/45_carbonprice/NDC/not_used.txt b/modules/45_carbonprice/NDC/not_used.txt index f082f97be..fc180917b 100644 --- a/modules/45_carbonprice/NDC/not_used.txt +++ b/modules/45_carbonprice/NDC/not_used.txt @@ -6,7 +6,6 @@ # | Contact: remind@pik-potsdam.de name,type,reason cm_emiscen, switch, ??? -cm_co2_tax_2020, switch, ??? pm_ttot_val,parameter,??? cm_co2_tax_growth,switch,??? cm_expoLinear_yearStart,switch,??? diff --git a/modules/45_carbonprice/NPi/not_used.txt b/modules/45_carbonprice/NPi/not_used.txt index 2d6955c04..8a85cb636 100644 --- a/modules/45_carbonprice/NPi/not_used.txt +++ b/modules/45_carbonprice/NPi/not_used.txt @@ -6,7 +6,6 @@ # | Contact: remind@pik-potsdam.de name,type,reason cm_emiscen, switch, ??? -cm_co2_tax_2020, switch, ??? pm_ttot_val,parameter,??? cm_co2_tax_growth,switch,??? cm_expoLinear_yearStart,switch,??? diff --git a/modules/45_carbonprice/NPi2025_EUR55/not_used.txt b/modules/45_carbonprice/NPi2025_EUR55/not_used.txt index ca481532d..57c09d7f0 100755 --- a/modules/45_carbonprice/NPi2025_EUR55/not_used.txt +++ b/modules/45_carbonprice/NPi2025_EUR55/not_used.txt @@ -27,7 +27,6 @@ cm_CO2priceRegConvEndYr,input,questionnaire cm_NDC_divergentScenario,input,questionnaire vm_demFeSector,input,questionnaire pm_emifac,input,questionnaire -cm_co2_tax_2020,input,not needed cm_co2_tax_spread,input,not needed cm_peakBudgYr,input,not needed cm_co2_tax_startyear,input,not needed diff --git a/modules/45_carbonprice/NPiexpo/not_used.txt b/modules/45_carbonprice/NPiexpo/not_used.txt index eb9c29cae..a8a0fa0a3 100644 --- a/modules/45_carbonprice/NPiexpo/not_used.txt +++ b/modules/45_carbonprice/NPiexpo/not_used.txt @@ -28,7 +28,6 @@ vm_demFeSector,input,questionnaire pm_emifac,input,questionnaire sm_DptCO2_2_TDpGtC,input,added by codeCheck cm_peakBudgYr,input,added by codeCheck -cm_co2_tax_2020,input,added by codeCheck cm_co2_tax_startyear,input,added by codeCheck fm_taxCO2eqHist,input,not needed sm_D2005_2_D2017,input,not needed diff --git a/modules/45_carbonprice/diffExp2Lin/not_used.txt b/modules/45_carbonprice/diffExp2Lin/not_used.txt index f6a287d81..d347aa06e 100644 --- a/modules/45_carbonprice/diffExp2Lin/not_used.txt +++ b/modules/45_carbonprice/diffExp2Lin/not_used.txt @@ -8,7 +8,6 @@ name,type,reason cm_emiscen, switch, ??? sm_c_2_co2,switch, ??? pm_ttot_val,parameter,??? -cm_co2_tax_2020,input,replaced by cm_co2_tax_startyear in this realization cm_expoLinear_yearStart,switch,??? vm_co2eq,variable,??? vm_emiFgas,input,questionnaire diff --git a/modules/45_carbonprice/diffLin2Lin/not_used.txt b/modules/45_carbonprice/diffLin2Lin/not_used.txt index 91086f7f6..a9cf44fe2 100644 --- a/modules/45_carbonprice/diffLin2Lin/not_used.txt +++ b/modules/45_carbonprice/diffLin2Lin/not_used.txt @@ -22,6 +22,5 @@ pm_consPC,input,questionnaire pm_prtp,input,questionnaire vm_demFeSector,input,questionnaire pm_emifac,input,questionnaire -cm_co2_tax_2020,input,replaced by cm_co2_tax_startyear in this realization sm_D2005_2_D2017,input,not needed fm_taxCO2eqHist,input,not needed diff --git a/modules/45_carbonprice/exogenous/not_used.txt b/modules/45_carbonprice/exogenous/not_used.txt index dc9ca5ef6..b23d8b978 100644 --- a/modules/45_carbonprice/exogenous/not_used.txt +++ b/modules/45_carbonprice/exogenous/not_used.txt @@ -5,7 +5,6 @@ # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de name,type,reason -cm_co2_tax_2020, switch, ??? sm_c_2_co2,switch, ??? pm_ttot_val,parameter,??? cm_co2_tax_growth,switch,??? diff --git a/modules/45_carbonprice/expoLinear/not_used.txt b/modules/45_carbonprice/expoLinear/not_used.txt index 2af583b78..e399a95dd 100644 --- a/modules/45_carbonprice/expoLinear/not_used.txt +++ b/modules/45_carbonprice/expoLinear/not_used.txt @@ -26,7 +26,6 @@ vm_demFeSector,input,questionnaire pm_emifac,input,questionnaire cm_co2_tax_spread,input,No carbon price differentiation in this realization cm_peakBudgYr,input,added by codeCheck -cm_co2_tax_2020,input,added by codeCheck cm_taxCO2inc_after_peakBudgYr,input,added by codeCheck sm_D2005_2_D2017,input,not needed fm_taxCO2eqHist,input,not needed diff --git a/modules/45_carbonprice/none/not_used.txt b/modules/45_carbonprice/none/not_used.txt index 984e97a97..78701ac4b 100644 --- a/modules/45_carbonprice/none/not_used.txt +++ b/modules/45_carbonprice/none/not_used.txt @@ -6,7 +6,6 @@ # | Contact: remind@pik-potsdam.de name,type,reason cm_emiscen, switch, ??? -cm_co2_tax_2020, switch, ??? sm_c_2_co2,switch, ??? pm_ttot_val,parameter,??? cm_co2_tax_growth,switch,??? diff --git a/modules/45_carbonprice/temperatureNotToExceed/not_used.txt b/modules/45_carbonprice/temperatureNotToExceed/not_used.txt index 4172cfdea..5e5f48dba 100644 --- a/modules/45_carbonprice/temperatureNotToExceed/not_used.txt +++ b/modules/45_carbonprice/temperatureNotToExceed/not_used.txt @@ -10,7 +10,6 @@ sm_DptCO2_2_TDpGtC,input,questionnaire vm_co2eq,input,questionnaire vm_emiFgas,input,questionnaire pm_ttot_val,input,questionnaire -cm_co2_tax_2020,input,questionnaire cm_co2_tax_growth,input,questionnaire cm_startyear,input,questionnaire cm_iterative_target_adj,input,questionnaire From 5511f6b8fe3cde7d089d112421675dca15edf13f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Thu, 10 Oct 2024 17:12:55 +0200 Subject: [PATCH 620/875] forbidden column name added --- scripts/start/readCheckScenarioConfig.R | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/start/readCheckScenarioConfig.R b/scripts/start/readCheckScenarioConfig.R index cd7fc2f0f..075697525 100644 --- a/scripts/start/readCheckScenarioConfig.R +++ b/scripts/start/readCheckScenarioConfig.R @@ -180,6 +180,7 @@ readCheckScenarioConfig <- function(filename, remindPath = ".", testmode = FALSE "cm_regNetNegCO2" = "Deleted, not used, see https://github.com/remindmodel/remind/pull/1517", "cm_solwindenergyscen" = "Deleted, not used, see https://github.com/remindmodel/remind/pull/1532", "cm_wind_offshore" = "Deleted, not used, see https://github.com/remindmodel/development_issues/issues/272", + "cm_co2_tax_2020" = "Use cm_co2_tax_startyear instead, see https://github.com/remindmodel/remind/pull/1858", NULL) for (i in intersect(names(forbiddenColumnNames), unknownColumnNames)) { msg <- paste0("Column name ", i, " in remind settings is outdated. ", forbiddenColumnNames[i]) From 5ff49cca1b901b249c29f752fa24b6d81acdb102 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Fri, 11 Oct 2024 09:22:50 +0200 Subject: [PATCH 621/875] Updated changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f1109f62f..c5bf9da38 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -82,6 +82,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). [[1783](https://github.com/remindmodel/remind/pull/1783)] ### removed +- **45_carbonprice** removed superseded realizations linear, exponential and diffCurvPhaseIn2Lin + [[#1858](https://github.com/remindmodel/remind/pull/1858)] ## [3.3.2] - 2024-07-04 From d0874ba31d5e76871645c58d7b27313b7d6178e4 Mon Sep 17 00:00:00 2001 From: orichters Date: Fri, 11 Oct 2024 10:49:09 +0200 Subject: [PATCH 622/875] Improve some descriptions and units --- core/declarations.gms | 44 +++++++++++------------ modules/37_industry/fixed_shares/sets.gms | 10 +++--- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/core/declarations.gms b/core/declarations.gms index c38ccb4d2..c307c30b3 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -250,28 +250,28 @@ p_prodAllReference(ttot,all_regi,all_te) "Sum of the ab *** Energy carrier Prices -pm_FEPrice(ttot,all_regi,all_enty,sector,emiMkt) "parameter to capture all FE prices across sectors and markets (tr$2005/TWa)" -pm_FEPrice_iter(iteration,ttot,all_regi,all_enty,sector,emiMkt) "parameter to capture all FE prices across sectors and markets (tr$2005/TWa) across iterations" -pm_SEPrice(ttot,all_regi,all_enty) "parameter to capture all SE prices (tr$2005/TWa)" -pm_PEPrice(ttot,all_regi,all_enty) "parameter to capture all PE prices (tr$2005/TWa)" - -p_FEPrice_by_SE_Sector_EmiMkt(ttot,all_regi,entySe,all_enty,sector,emiMkt) "parameter to save FE price per SE, sector and emission market (tr$2005/TWa)" -p_FEPrice_by_Sector_EmiMkt(ttot,all_regi,all_enty,sector,emiMkt) "parameter to save FE marginal price per sector and emission market (tr$2005/TWa)" -pm_FEPrice_by_SE_Sector(ttot,all_regi,entySe,all_enty,sector) "parameter to save FE marginal price per SE and sector (tr$2005/TWa)" -p_FEPrice_by_SE_EmiMkt(ttot,all_regi,entySe,all_enty,emiMkt) "parameter to save FE marginal price per SE and emission market (tr$2005/TWa)" -p_FEPrice_by_SE(ttot,all_regi,entySe,all_enty) "parameter to save FE marginal price per SE (tr$2005/TWa)" -p_FEPrice_by_Sector(ttot,all_regi,all_enty,sector) "parameter to save FE marginal price per sector (tr$2005/TWa)" -p_FEPrice_by_EmiMkt(ttot,all_regi,all_enty,emiMkt) "parameter to save FE marginal price per emission market (tr$2005/TWa)" -p_FEPrice_by_FE(ttot,all_regi,all_enty) "parameter to save FE marginal price (tr$2005/TWa)" - -p_FEPrice_by_SE_Sector_EmiMkt_iter(iteration,ttot,all_regi,entySe,all_enty,sector,emiMkt) "parameter to save iteration FE marginal price per SE, sector and emission market (tr$2005/TWa)" -p_FEPrice_by_Sector_EmiMkt_iter(iteration,ttot,all_regi,all_enty,sector,emiMkt) "parameter to save iteration FE marginal price per sector and emission market (tr$2005/TWa)" -p_FEPrice_by_SE_Sector_iter(iteration,ttot,all_regi,entySe,all_enty,sector) "parameter to save iteration FE marginal price per SE and sector (tr$2005/TWa)" -p_FEPrice_by_SE_EmiMkt_iter(iteration,ttot,all_regi,entySe,all_enty,emiMkt) "parameter to save iteration FE marginal price per SE and emission market (tr$2005/TWa)" -p_FEPrice_by_SE_iter(iteration,ttot,all_regi,entySe,all_enty) "parameter to save iteration FE marginal price per SE (tr$2005/TWa)" -p_FEPrice_by_Sector_iter(iteration,ttot,all_regi,all_enty,sector) "parameter to save iteration FE marginal price per sector (tr$2005/TWa)" -p_FEPrice_by_EmiMkt_iter(iteration,ttot,all_regi,all_enty,emiMkt) "parameter to save iteration FE marginal price per emission market (tr$2005/TWa)" -p_FEPrice_by_FE_iter(iteration,ttot,all_regi,all_enty) "parameter to save iteration FE marginal price (tr$2005/TWa)" +pm_FEPrice(ttot,all_regi,all_enty,sector,emiMkt) "parameter to capture all FE prices across sectors and markets [tr$2005/TWa]" +pm_FEPrice_iter(iteration,ttot,all_regi,all_enty,sector,emiMkt) "parameter to capture all FE prices across sectors and markets [tr$2005/TWa] across iterations" +pm_SEPrice(ttot,all_regi,all_enty) "parameter to capture all SE prices [tr$2005/TWa]" +pm_PEPrice(ttot,all_regi,all_enty) "parameter to capture all PE prices [tr$2005/TWa]" + +p_FEPrice_by_SE_Sector_EmiMkt(ttot,all_regi,entySe,all_enty,sector,emiMkt) "parameter to save FE price per SE, sector and emission market [tr$2005/TWa]" +p_FEPrice_by_Sector_EmiMkt(ttot,all_regi,all_enty,sector,emiMkt) "parameter to save FE marginal price per sector and emission market [tr$2005/TWa]" +pm_FEPrice_by_SE_Sector(ttot,all_regi,entySe,all_enty,sector) "parameter to save FE marginal price per SE and sector [tr$2005/TWa]" +p_FEPrice_by_SE_EmiMkt(ttot,all_regi,entySe,all_enty,emiMkt) "parameter to save FE marginal price per SE and emission market [tr$2005/TWa]" +p_FEPrice_by_SE(ttot,all_regi,entySe,all_enty) "parameter to save FE marginal price per SE [tr$2005/TWa]" +p_FEPrice_by_Sector(ttot,all_regi,all_enty,sector) "parameter to save FE marginal price per sector [tr$2005/TWa]" +p_FEPrice_by_EmiMkt(ttot,all_regi,all_enty,emiMkt) "parameter to save FE marginal price per emission market [tr$2005/TWa]" +p_FEPrice_by_FE(ttot,all_regi,all_enty) "parameter to save FE marginal price [tr$2005/TWa]" + +p_FEPrice_by_SE_Sector_EmiMkt_iter(iteration,ttot,all_regi,entySe,all_enty,sector,emiMkt) "parameter to save iteration FE marginal price per SE, sector and emission market [tr$2005/TWa]" +p_FEPrice_by_Sector_EmiMkt_iter(iteration,ttot,all_regi,all_enty,sector,emiMkt) "parameter to save iteration FE marginal price per sector and emission market [tr$2005/TWa]" +p_FEPrice_by_SE_Sector_iter(iteration,ttot,all_regi,entySe,all_enty,sector) "parameter to save iteration FE marginal price per SE and sector [tr$2005/TWa]" +p_FEPrice_by_SE_EmiMkt_iter(iteration,ttot,all_regi,entySe,all_enty,emiMkt) "parameter to save iteration FE marginal price per SE and emission market [tr$2005/TWa]" +p_FEPrice_by_SE_iter(iteration,ttot,all_regi,entySe,all_enty) "parameter to save iteration FE marginal price per SE [tr$2005/TWa]" +p_FEPrice_by_Sector_iter(iteration,ttot,all_regi,all_enty,sector) "parameter to save iteration FE marginal price per sector [tr$2005/TWa]" +p_FEPrice_by_EmiMkt_iter(iteration,ttot,all_regi,all_enty,emiMkt) "parameter to save iteration FE marginal price per emission market [tr$2005/TWa]" +p_FEPrice_by_FE_iter(iteration,ttot,all_regi,all_enty) "parameter to save iteration FE marginal price [tr$2005/TWa]" *** climate related pm_globalMeanTemperature(tall) "global mean temperature anomaly" diff --git a/modules/37_industry/fixed_shares/sets.gms b/modules/37_industry/fixed_shares/sets.gms index 024c00074..f13fda08e 100644 --- a/modules/37_industry/fixed_shares/sets.gms +++ b/modules/37_industry/fixed_shares/sets.gms @@ -142,11 +142,11 @@ Sets / !! empty sets for subsectors compatibility - industry_ue_calibration_target_dyn37(all_in) "" / / - ppfKap_industry_dyn37(all_in) "" / / - ue_industry_dyn37(all_in) "" / / - ces_eff_target_dyn37(all_in,all_in) "" / / - pf_industry_relaxed_bounds_dyn37(all_in) "" / / + industry_ue_calibration_target_dyn37(all_in) "empty set" / / + ppfKap_industry_dyn37(all_in) "empty set" / / + ue_industry_dyn37(all_in) "empty set" / / + ces_eff_target_dyn37(all_in,all_in) "empty set" / / + pf_industry_relaxed_bounds_dyn37(all_in) "empty set" / / ; *** add module specific sets and mappings to the global sets and mappings From 6178dc2bf0b1719f73842583d5e58f449bc2c305 Mon Sep 17 00:00:00 2001 From: orichters Date: Fri, 11 Oct 2024 10:51:13 +0200 Subject: [PATCH 623/875] don't compile ARIADNE as calibration files are missing --- tests/testthat/test_04-gamscompile.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/testthat/test_04-gamscompile.R b/tests/testthat/test_04-gamscompile.R index 45f2795c3..e43c2e32b 100644 --- a/tests/testthat/test_04-gamscompile.R +++ b/tests/testthat/test_04-gamscompile.R @@ -33,7 +33,7 @@ test_that("start.R --gamscompile works on all configs and scenarios", { expect_true(length(csvfiles) > 0) testthat::with_mocked_bindings( for (csvfile in csvfiles) { - if (grepl("scenario_config_IKEA", csvfile)) next + if (grepl("scenario_config_IKEA|scenario_config_21_EU11_ARIADNE", csvfile)) next test_that(paste("perform start.R --gamscompile with", basename(csvfile)), { titletag <- paste0("titletag=TESTTHAT-", gsub(".csv$", "", basename(csvfile))) output <- localSystem2("Rscript", From 41fbfc4fe03e37fee17331cec5299b4e5f88fc3b Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Fri, 11 Oct 2024 11:55:00 +0000 Subject: [PATCH 624/875] Release development version 3.3.2.dev804 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index c541787a9..69c0a699e 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev796" -date-released: 2024-10-09 +version: "3.3.2.dev804" +date-released: 2024-10-11 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index d996a6746..36768cffb 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev796" +cfg$model_version <- "3.3.2.dev804" #### settings #### cfg$gms <- list() From 8bbc49ff7a89172d938b8fc8b484bd6b9dfbe02f Mon Sep 17 00:00:00 2001 From: orichters Date: Fri, 11 Oct 2024 11:12:23 +0200 Subject: [PATCH 625/875] last missing description --- modules/37_industry/fixed_shares/declarations.gms | 2 +- tutorials/13_Submit_to_IIASA_database.md | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/37_industry/fixed_shares/declarations.gms b/modules/37_industry/fixed_shares/declarations.gms index 32cb03b2b..af6204096 100644 --- a/modules/37_industry/fixed_shares/declarations.gms +++ b/modules/37_industry/fixed_shares/declarations.gms @@ -31,7 +31,7 @@ Parameters o37_demFeIndSub(ttot,all_regi,all_enty,all_enty,secInd37,all_emiMkt) "FE demand per industry subsector, FE carrier, SE carrier, emissions market" !! empty parameters from subsectors - pm_energy_limit(all_in) "" / / + pm_energy_limit(all_in) "empty parameter" / / p37_CESMkup_input(all_in) "markup cost parameter read in from config for CES levels in industry to influence demand-side cost and efficiencies in CES tree [trUSD/CES input]" / diff --git a/tutorials/13_Submit_to_IIASA_database.md b/tutorials/13_Submit_to_IIASA_database.md index 6de7ec186..21d518d34 100644 --- a/tutorials/13_Submit_to_IIASA_database.md +++ b/tutorials/13_Submit_to_IIASA_database.md @@ -97,16 +97,16 @@ The following functions from `piamInterfaces` might be helpful for further analy - [`fixOnRef()`](https://github.com/pik-piam/piamInterfaces/blob/master/R/fixOnRef.R) checks whether the runs are correctly fixed on their reference run for delayed transition scenarios. - [`plotIntercomparison()`](https://github.com/pik-piam/piamInterfaces/blob/master/R/plotIntercomparison.R) plots area and line plots of selected variables. -If you like to generate a 'historical.mif' file for a different regional resolution than the REMIND one to pass it to plotIntercomparison, you can use the [regionmapping](https://github.com/pik-piam/piamInterfaces/tree/master/inst/regionmapping) ISO files from piamInterfaces or a similarly formatted file, for example like this: +If you like to generate a 'historical.mif' file for a different regional resolution and variable naming scheme than the REMIND one to pass it to plotIntercomparison, you can use the [regionmapping](https://github.com/pik-piam/piamInterfaces/tree/master/inst/regionmapping) ISO files from piamInterfaces or a similarly formatted file, for example like this: ``` -library(madrat); library(mrremind); library(quitte) +library(madrat); library(mrremind); library(quitte); library(piamInterfaces) stopifnot(utils::packageVersion("piamInterfaces") >= "0.35.3") setConfig(regionmapping = system.file("regionmapping/ISO_2_ISO.csv", package = "piamInterfaces")) d <- madrat::retrieveData("VALIDATIONREMIND") system(paste("tar -xvf", d, "./historical.mif")) hist <- read.snapshot("historical.mif") -write.mif(piamInterfaces::convertHistoricalData(hist, "ScenarioMIP", "ISO_2_R10"), "historical_R10.mif") -write.mif(piamInterfaces::convertHistoricalData(hist, "ScenarioMIP", "ISO_2_R5"), "historical_R5.mif") +write.mif(convertHistoricalData(hist, "ScenarioMIP", "ISO_2_R10"), "historical_R10.mif") +write.mif(convertHistoricalData(hist, "ScenarioMIP", "ISO_2_R5"), "historical_R5.mif") ``` ## Further Information From e9f2eda192a125bd0994956c1c45a8adb8f0d6a3 Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Fri, 11 Oct 2024 14:34:15 +0200 Subject: [PATCH 626/875] avoiding infeasibilities for years defined at c_H2InBuildOnlyAfter --- core/bounds.gms | 4 ++-- .../29_CES_parameters/calibrate/datainput.gms | 21 +++++++++++-------- modules/36_buildings/simple/equations.gms | 2 +- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/core/bounds.gms b/core/bounds.gms index 165215412..6f37fc7d6 100755 --- a/core/bounds.gms +++ b/core/bounds.gms @@ -535,8 +535,8 @@ v_shfe.lo(t,regi,entyFe,sector)$pm_shfe_lo(t,regi,entyFe,sector) = pm_shfe_lo(t, v_shGasLiq_fe.up(t,regi,sector)$pm_shGasLiq_fe_up(t,regi,sector) = pm_shGasLiq_fe_up(t,regi,sector); v_shGasLiq_fe.lo(t,regi,sector)$pm_shGasLiq_fe_lo(t,regi,sector) = pm_shGasLiq_fe_lo(t,regi,sector); -*** RH: Fix H2 in buildings to zero until given year (always zero by default) -vm_demFeSector.up(t,regi,"seh2","feh2s","build",emiMkt)$(t.val le c_H2InBuildOnlyAfter) = 0; +*** Set H2 upper bound in buildings for years defined at c_H2InBuildOnlyAfter +vm_demFeSector.up(t,regi,"seh2","feh2s","build",emiMkt)$(t.val le c_H2InBuildOnlyAfter) = 1e-6; ***---------------------------------------------------------------------------- *** Controlling if active, dampening factor to align edge-t non-energy transportation costs with historical GDP data diff --git a/modules/29_CES_parameters/calibrate/datainput.gms b/modules/29_CES_parameters/calibrate/datainput.gms index cbb008ad7..2665d8bef 100644 --- a/modules/29_CES_parameters/calibrate/datainput.gms +++ b/modules/29_CES_parameters/calibrate/datainput.gms @@ -305,15 +305,18 @@ $ifthen.build_H2_offset "%buildings%" == "simple" *); *** RK: feh2b offset scaled from 1% in 2025 to 50% in 2050 of fegab quantity -loop ((t,regi), - pm_cesdata(t,regi,"feh2b","offset_quantity") - = - (0.05 + 0.45 * min(1, max(0, (t.val - 2025) / (2050 - 2025)))) - * pm_cesdata(t,regi,"fegab","quantity") - - pm_cesdata(t,regi,"feh2b","quantity"); - pm_cesdata(t,regi,"feh2b","quantity") - = (0.05 + 0.45 * min(1, max(0, (t.val - 2025) / (2050 - 2025)))) - * pm_cesdata(t,regi,"fegab","quantity"); -); +pm_cesdata(t,regi,"feh2b","offset_quantity")$(t.val gt c_H2InBuildOnlyAfter) = + - (0.05 + 0.45 * min(1, max(0, (t.val - 2025) / (2050 - 2025)))) + * pm_cesdata(t,regi,"fegab","quantity") + - pm_cesdata(t,regi,"feh2b","quantity"); +pm_cesdata(t,regi,"feh2b","quantity")$(t.val gt c_H2InBuildOnlyAfter) = + (0.05 + 0.45 * min(1, max(0, (t.val - 2025) / (2050 - 2025)))) + * pm_cesdata(t,regi,"fegab","quantity"); + +*** for the years that H2 buildings is fixed to zero, set offset to the exact value of the calibrated quantity to ignore it after calibration +pm_cesdata(t,regi,"feh2b","quantity") = 1e-6; +pm_cesdata(t,regi,"feh2b","offset_quantity")$(t.val le c_H2InBuildOnlyAfter) = - pm_cesdata(t,regi,"feh2b","quantity"); + $endif.build_H2_offset *** Add an epsilon to the values which are 0 so that they can fit in the CES diff --git a/modules/36_buildings/simple/equations.gms b/modules/36_buildings/simple/equations.gms index bea5febef..c2c640915 100644 --- a/modules/36_buildings/simple/equations.gms +++ b/modules/36_buildings/simple/equations.gms @@ -65,7 +65,7 @@ q36_auxCostAddTeInv(t,regi).. *' Hydrogen fe share in buildings gases use (natural gas + hydrogen) -q36_H2Share(t,regi).. +q36_H2Share(t,regi)$(t.val ge 2020).. v36_H2share(t,regi) * sum(se2fe(entySe,entyFe,te)$(SAMEAS(entyFe,"feh2s") OR SAMEAS(entyFe,"fegas")), From 4843ee0769310201cc999c0a9f6344821a154965 Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Fri, 11 Oct 2024 14:51:25 +0200 Subject: [PATCH 627/875] add missing time condition --- modules/29_CES_parameters/calibrate/datainput.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/29_CES_parameters/calibrate/datainput.gms b/modules/29_CES_parameters/calibrate/datainput.gms index 2665d8bef..b3683514d 100644 --- a/modules/29_CES_parameters/calibrate/datainput.gms +++ b/modules/29_CES_parameters/calibrate/datainput.gms @@ -314,7 +314,7 @@ pm_cesdata(t,regi,"feh2b","quantity")$(t.val gt c_H2InBuildOnlyAfter) = * pm_cesdata(t,regi,"fegab","quantity"); *** for the years that H2 buildings is fixed to zero, set offset to the exact value of the calibrated quantity to ignore it after calibration -pm_cesdata(t,regi,"feh2b","quantity") = 1e-6; +pm_cesdata(t,regi,"feh2b","quantity")$(t.val le c_H2InBuildOnlyAfter) = 1e-6; pm_cesdata(t,regi,"feh2b","offset_quantity")$(t.val le c_H2InBuildOnlyAfter) = - pm_cesdata(t,regi,"feh2b","quantity"); $endif.build_H2_offset From 0a514448c7f1ea0742979f6ef2490765fbf0ec70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Fri, 11 Oct 2024 16:07:16 +0200 Subject: [PATCH 628/875] Add warning to RCP scenarios that are not actively maintained. --- main.gms | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/main.gms b/main.gms index 3583bd914..0eb38a722 100755 --- a/main.gms +++ b/main.gms @@ -1205,10 +1205,10 @@ $setglobal cm_MAgPIE_coupling off !! def = "off" !! regexp = off|on *' * (none): no RCP scenario, standard setting *' * (rcp20): RCP2.0 *' * (rcp26): RCP2.6 -*' * (rcp37): RCP3.7 +*' * (rcp37): RCP3.7 [currently not operational: test and verify before using it!] *' * (rcp45): RCP4.5 -*' * (rcp60): RCP6.0 -*' * (rcp85): RCP8.5 +*' * (rcp60): RCP6.0 [currently not operational: test and verify before using it!] +*' * (rcp85): RCP8.5 [currently not operational: test and verify before using it!] $setglobal cm_rcp_scen none !! def = "none" !! regexp = none|rcp20|rcp26|rcp37|rcp45|rcp60|rcp85 *' cm_NDC_version "choose version year of NDC targets as well as conditional vs. unconditional targets" *' * (2024_cond): all NDCs conditional to international financial support published until August 31, 2024 From 1c1dc9b2553b1ec9d936653980fc5b77208b9cae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Fri, 11 Oct 2024 16:54:04 +0200 Subject: [PATCH 629/875] Add warning about RCP scenario also to config file checks of start script. --- scripts/start/checkFixCfg.R | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/start/checkFixCfg.R b/scripts/start/checkFixCfg.R index 40317167a..f22689312 100644 --- a/scripts/start/checkFixCfg.R +++ b/scripts/start/checkFixCfg.R @@ -103,7 +103,10 @@ checkFixCfg <- function(cfg, remindPath = ".", testmode = FALSE) { cfg$inputRevision <- sub("^rev", "", cfg$inputRevision) warning("cfg$inputRevision started with 'rev', but this will be added automatically. Removed it.") } - + # check if RCP scenario other than (none), (rcp20), (rcp26), or (rcp45) is used + if (! isTRUE(cfg$gms$cm_rcp_scen %in% c("none","rcp20","rcp26","rcp45") )) { + warning("Chosen RCP scenario might currently not be fully operational: test and verify before using it!") + } # Make sure that an input_bau.gdx has been specified if needed. isBauneeded <- isTRUE(length(unlist(lapply(names(needBau), function(x) intersect(cfg$gms[[x]], needBau[[x]])))) > 0) if (isBauneeded) { From 88b1181c3dea5eac92fe29a189927f86cbbc5644 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= <163062134+laurinks@users.noreply.github.com> Date: Fri, 11 Oct 2024 16:59:37 +0200 Subject: [PATCH 630/875] Update scripts/start/checkFixCfg.R Co-authored-by: orichters <90761609+orichters@users.noreply.github.com> --- scripts/start/checkFixCfg.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/start/checkFixCfg.R b/scripts/start/checkFixCfg.R index f22689312..7966f7cfd 100644 --- a/scripts/start/checkFixCfg.R +++ b/scripts/start/checkFixCfg.R @@ -105,7 +105,7 @@ checkFixCfg <- function(cfg, remindPath = ".", testmode = FALSE) { } # check if RCP scenario other than (none), (rcp20), (rcp26), or (rcp45) is used if (! isTRUE(cfg$gms$cm_rcp_scen %in% c("none","rcp20","rcp26","rcp45") )) { - warning("Chosen RCP scenario might currently not be fully operational: test and verify before using it!") + warning("Chosen RCP scenario '", cfg$gms$cm_rcp_scen, "' might currently not be fully operational: test and verify before using it!") } # Make sure that an input_bau.gdx has been specified if needed. isBauneeded <- isTRUE(length(unlist(lapply(names(needBau), function(x) intersect(cfg$gms[[x]], needBau[[x]])))) > 0) From fbc83ad166aec3545540c32d3d2fb948c85f544a Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Fri, 11 Oct 2024 15:05:14 +0000 Subject: [PATCH 631/875] Release development version 3.3.2.dev809 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 69c0a699e..85e6e8a46 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev804" +version: "3.3.2.dev809" date-released: 2024-10-11 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 36768cffb..eb7fa263e 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev804" +cfg$model_version <- "3.3.2.dev809" #### settings #### cfg$gms <- list() From 75b233dd84b5acad0a3d35461d614a6fb84f1bae Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Fri, 11 Oct 2024 21:46:03 +0000 Subject: [PATCH 632/875] Release development version 3.3.2.dev813 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 85e6e8a46..9438fbaeb 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev809" +version: "3.3.2.dev813" date-released: 2024-10-11 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index eb7fa263e..6ccedc318 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev809" +cfg$model_version <- "3.3.2.dev813" #### settings #### cfg$gms <- list() From 6d4f4119afc5ceea21991f0059e8488e8fcecdf5 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Mon, 14 Oct 2024 09:23:02 +0200 Subject: [PATCH 633/875] delete baseline scenario from scenario_config.csv --- config/scenario_config.csv | 1 - 1 file changed, 1 deletion(-) diff --git a/config/scenario_config.csv b/config/scenario_config.csv index 1f4245a04..2d9115701 100644 --- a/config/scenario_config.csv +++ b/config/scenario_config.csv @@ -1,7 +1,6 @@ title;start;CES_parameters;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_startyear;cm_peakBudgYr;cm_CO2priceRegConvEndYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_co2_tax_growth;cm_bioenergy_SustTax;c_ccsinjecratescen;c_ccscapratescen;c_changeProdCost;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description # H12 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP2-NPi-calibrate;calibrate,AMT,compileInTests;calibrate;14;;;rcp45;;;0;NPi;;;;9;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-Base;1,AMT,2;;;;;;;;0;;;;;;;off;;;;;;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix1;2005;;;;;SSP2-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. SSP2-NDC;1,AMT,2;;;;;rcp45;3;globallyOptimal;0;NDC;;;;9;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2030;;SSP2-NPi;SSP2-NPi;SSP2-NPi;SSP2-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. SSP2-NPi;1,AMT,compileInTests,2;;;;;rcp45;3;;0;NPi;;;;9;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. SSP2-PkBudg500;1,AMT,2;;;;;rcp20;9;globallyOptimal;500;diffLin2Lin;200;2045;;9;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be well below 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. From b9f7240b53d380e18bfc554458e7d9392999ff0a Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Mon, 14 Oct 2024 09:37:29 +0200 Subject: [PATCH 634/875] update to input data rev6.98 including fix in GDPuc --- config/default.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/default.cfg b/config/default.cfg index 6ccedc318..029b246d3 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -28,7 +28,7 @@ cfg$regionmapping <- "config/regionmappingH12.csv" cfg$extramappings_historic <- "" #### Current input data revision (.) #### -cfg$inputRevision <- "6.97" +cfg$inputRevision <- "6.98" #### Current CES parameter and GDX revision (commit hash) #### cfg$CESandGDXversion <- "7fda76f1f803b97c35b7de105956a135f77511ad" From 5e2df4ace6430ae353edf1b95930ee704a1861a7 Mon Sep 17 00:00:00 2001 From: orichters Date: Mon, 14 Oct 2024 09:42:29 +0200 Subject: [PATCH 635/875] adjust test_01-checkFixCfg to 88b1181c3dea5eac92fe29a189927f86cbbc5644 --- tests/testthat/test_01-checkFixCfg.R | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/testthat/test_01-checkFixCfg.R b/tests/testthat/test_01-checkFixCfg.R index 830237ed4..b6e066fd7 100644 --- a/tests/testthat/test_01-checkFixCfg.R +++ b/tests/testthat/test_01-checkFixCfg.R @@ -32,5 +32,6 @@ test_that("checkFixCfg works", { expect_match(w, paste0(n, "=", wrongsetting[[n]]), all = FALSE, fixed = TRUE) } expect_match(w, paste0(length(wrongsetting), " errors found"), all = FALSE, fixed = TRUE) - expect_equal(length(w), length(wrongsetting) + 1) + expect_match(w, "Chosen RCP scenario 'apocalypse' might currently not be fully operational", all = FALSE, fixed = TRUE) + expect_equal(length(w), length(wrongsetting) + 2) }) From 6aafcbf73ecfde8a17ecaa5129134a7252fcc6d8 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Mon, 14 Oct 2024 07:52:14 +0000 Subject: [PATCH 636/875] Release development version 3.3.2.dev820 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 9438fbaeb..66e6611ae 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev813" -date-released: 2024-10-11 +version: "3.3.2.dev820" +date-released: 2024-10-14 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 6ccedc318..f1f35e09a 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev813" +cfg$model_version <- "3.3.2.dev820" #### settings #### cfg$gms <- list() From eadb13a6a21c09ab42c5f86526fb5500c5d73a40 Mon Sep 17 00:00:00 2001 From: David Klein Date: Mon, 14 Oct 2024 09:58:15 +0200 Subject: [PATCH 637/875] Update tests/testthat/test_01-inputdata.R Co-authored-by: orichters <90761609+orichters@users.noreply.github.com> --- tests/testthat/test_01-inputdata.R | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/testthat/test_01-inputdata.R b/tests/testthat/test_01-inputdata.R index d64cc3970..a744c3b48 100644 --- a/tests/testthat/test_01-inputdata.R +++ b/tests/testthat/test_01-inputdata.R @@ -11,8 +11,9 @@ test_that("Are all input data files present?", { w <- capture_warnings(updateInputData(cfg = gms::readDefaultConfig("../.."), remindPath = "../..")) # ignore warning about missing historical.mif, raise warning if there were other wargnings ignore <- "File historical.mif seems to be missing!" - if (length(w) > 0 && !w %in% ignore) { - warning(paste0("'updateInputData' raised the following wargnings\n", paste(w, collapse = "\n"))) + w <- setdiff(w, ignore) + if (length(w) > 0) { + warning(paste0("'updateInputData' raised the following warnings\n", paste(w, collapse = "\n"))) } gms::model_unlock(lockID) missinginput <- missingInputData(path = "../..") From 31333179c4d238a37c1191531510dd41cd90254d Mon Sep 17 00:00:00 2001 From: David Klein Date: Mon, 14 Oct 2024 09:58:20 +0200 Subject: [PATCH 638/875] Update tests/testthat/test_01-inputdata.R Co-authored-by: orichters <90761609+orichters@users.noreply.github.com> --- tests/testthat/test_01-inputdata.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/testthat/test_01-inputdata.R b/tests/testthat/test_01-inputdata.R index a744c3b48..9fe6715cf 100644 --- a/tests/testthat/test_01-inputdata.R +++ b/tests/testthat/test_01-inputdata.R @@ -9,7 +9,7 @@ test_that("Are all input data files present?", { if (length(missinginput) > 0) { lockID <- gms::model_lock(folder = "../..") w <- capture_warnings(updateInputData(cfg = gms::readDefaultConfig("../.."), remindPath = "../..")) - # ignore warning about missing historical.mif, raise warning if there were other wargnings + # ignore warning about missing historical.mif, raise warning if there were other warnings ignore <- "File historical.mif seems to be missing!" w <- setdiff(w, ignore) if (length(w) > 0) { From 67a88222fb35f4c544dee65244f56830f7b50652 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Mon, 14 Oct 2024 08:54:57 +0000 Subject: [PATCH 639/875] Release development version 3.3.2.dev829 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 66e6611ae..ab9f9ef37 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev820" +version: "3.3.2.dev829" date-released: 2024-10-14 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index f1f35e09a..90463d1f8 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev820" +cfg$model_version <- "3.3.2.dev829" #### settings #### cfg$gms <- list() From ed2d2d185cf9320249198d8252b43e84dd68570b Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Mon, 14 Oct 2024 12:41:03 +0000 Subject: [PATCH 640/875] Release development version 3.3.2.dev832 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index ab9f9ef37..1bcf8c171 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev829" +version: "3.3.2.dev832" date-released: 2024-10-14 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 90463d1f8..207533653 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev829" +cfg$model_version <- "3.3.2.dev832" #### settings #### cfg$gms <- list() From 040bd923a11d3155ede63525fc7b57a9e4d2bbc1 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Tue, 15 Oct 2024 08:45:06 +0200 Subject: [PATCH 641/875] increase input data version to rev6.99 --- config/default.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/default.cfg b/config/default.cfg index c4e67664a..ace993180 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -28,7 +28,7 @@ cfg$regionmapping <- "config/regionmappingH12.csv" cfg$extramappings_historic <- "" #### Current input data revision (.) #### -cfg$inputRevision <- "6.98" +cfg$inputRevision <- "6.99" #### Current CES parameter and GDX revision (commit hash) #### cfg$CESandGDXversion <- "7fda76f1f803b97c35b7de105956a135f77511ad" From a41d7d33c6ecadc71c2d5011ba4196322d73d5ed Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Tue, 15 Oct 2024 13:05:44 +0200 Subject: [PATCH 642/875] set cm_LU_emi_scen to SSP3 for SSP3 scenarios --- config/scenario_config.csv | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/config/scenario_config.csv b/config/scenario_config.csv index 2d9115701..3e0e4c949 100644 --- a/config/scenario_config.csv +++ b/config/scenario_config.csv @@ -15,11 +15,11 @@ SSP2-EU21-PkBudg500;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extram SSP2-EU21-PkBudg650;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;9;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg650: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. SSP2-EU21-PkBudg1000;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;;9;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg1050: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. # H12 SSP3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP3-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;9;;;1;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. -SSP3-NDC;0;;;;;rcp45;3;;0;NDC;;;;9;;;1;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;;1.5;;forcing_SSP3;;Mix2;2030;;SSP2-NPi;SSP3-NPi;SSP3-NPi;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. 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. -SSP3-NPi;0;;;;;rcp45;3;;0;NPi;;;;9;;;1;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP3-PkBudg1000;0;;;;;rcp26;9;;1000;diffLin2Lin;45;2080;2100;9;;;1;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;;1.5;;forcing_SSP3;;Mix3ICEban;2030;;SSP2-NPi;;;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -SSP3-rollBack;0;;;;;rcp45;9;;;NPiexpo;;;;9;;;1;0.9;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;;1.5;;forcing_SSP3;;Mix1;2030;;SSP2-NPi;;; +SSP3-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;9;;;1;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. +SSP3-NDC;0;;;;;rcp45;3;;0;NDC;;;;9;;;1;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2;2030;;SSP2-NPi;SSP3-NPi;SSP3-NPi;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. 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. +SSP3-NPi;0;;;;;rcp45;3;;0;NPi;;;;9;;;1;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP3-PkBudg1000;0;;;;;rcp26;9;;1000;diffLin2Lin;45;2080;2100;9;;;1;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix3ICEban;2030;;SSP2-NPi;;;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP3-rollBack;0;;;;;rcp45;9;;;NPiexpo;;;;9;;;1;0.9;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix1;2030;;SSP2-NPi;;; # H12 SSP1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP1-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. SSP1-NDC;1,AMT,compileInTests;;;;;rcp45;3;globallyOptimal;0;NDC;;;;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;2;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix2;2030;;SSP2-NPi;SSP1-NPi;SSP1-NPi;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. From bb931206a764254685f12793d81995d1af1caca9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Medeiros=20Abrah=C3=A3o?= <30908904+gabriel-abrahao@users.noreply.github.com> Date: Tue, 15 Oct 2024 15:00:12 +0200 Subject: [PATCH 643/875] Reenable inputcheck in climate-assessment --- scripts/input/climate_assessment_run.R | 1 - scripts/output/single/MAGICC7_AR6.R | 1 - 2 files changed, 2 deletions(-) diff --git a/scripts/input/climate_assessment_run.R b/scripts/input/climate_assessment_run.R index 41e261fde..ce74d091d 100644 --- a/scripts/input/climate_assessment_run.R +++ b/scripts/input/climate_assessment_run.R @@ -214,7 +214,6 @@ runHarmoniseAndInfillCmd <- paste( "python", file.path(scriptsDir, "run_harm_inf.py"), climateAssessmentEmi, climateTempDir, - "--no-inputcheck", "--infilling-database", infillingDatabaseFile ) diff --git a/scripts/output/single/MAGICC7_AR6.R b/scripts/output/single/MAGICC7_AR6.R index 42d6fc5bb..aa6ba6ba9 100644 --- a/scripts/output/single/MAGICC7_AR6.R +++ b/scripts/output/single/MAGICC7_AR6.R @@ -146,7 +146,6 @@ runHarmoniseAndInfillCmd <- paste( "python", file.path(scriptsFolder, "run_harm_inf.py"), climateAssessmentEmi, climateAssessmentFolder, - "--no-inputcheck", "--infilling-database", infillingDatabaseFile ) From dfa19c147d0a51a4adda6b8aa773d118f6b68f37 Mon Sep 17 00:00:00 2001 From: tabeado Date: Tue, 15 Oct 2024 16:44:20 +0200 Subject: [PATCH 644/875] add explicit upscaling rate limit for v33_EW_onfield --- main.gms | 6 ++++++ modules/33_CDR/portfolio/datainput.gms | 3 +++ modules/33_CDR/portfolio/declarations.gms | 1 + modules/33_CDR/portfolio/equations.gms | 10 ++++++++++ 4 files changed, 20 insertions(+) diff --git a/main.gms b/main.gms index f61eab257..a9baf53e2 100755 --- a/main.gms +++ b/main.gms @@ -903,6 +903,12 @@ parameter ; cm_LimRock = 1000; !! def = 1000 *' + +parameter + cm_33_EW_upScalingRateLimit "Annual growth rate limit on upscaling of mining & spreading rocks on fields" +; + cm_33_EW_upScalingRateLimit = 0.2; !! def = 20% + parameter cm_expoLinear_yearStart "time at which carbon price increases linearly instead of exponentially" ; diff --git a/modules/33_CDR/portfolio/datainput.gms b/modules/33_CDR/portfolio/datainput.gms index 51bbf0cdd..fe086dd92 100644 --- a/modules/33_CDR/portfolio/datainput.gms +++ b/modules/33_CDR/portfolio/datainput.gms @@ -50,6 +50,9 @@ p33_fedem("weathering", "fedie") = 0.3; *' Factor distributing the global rock limit across regions according to population p33_LimRock(regi) = pm_pop("2005",regi) / sum(regi2,pm_pop("2005",regi2)); +*' Annual growth rate limit on upscaling of mining & spreading rocks on fields +p33_EW_upScalingLimit(ttot) = cm_33_EW_upScalingRateLimit; + *** ocean alkalinity enhancement input data (Kowalczyk et al., 2024) !! An assumption; generally the efficiency might vary between 0.9-1.4 tCO2/tCaO (1.2-1.8 molCO2/molCaO), diff --git a/modules/33_CDR/portfolio/declarations.gms b/modules/33_CDR/portfolio/declarations.gms index 81d08f9bd..e25ecadb4 100644 --- a/modules/33_CDR/portfolio/declarations.gms +++ b/modules/33_CDR/portfolio/declarations.gms @@ -23,6 +23,7 @@ parameters p33_fedem(all_te,all_enty) "final energy demand of each technology [EJ/GtC] (for EW the unit is [EJ/Gt stone])" p33_LimRock(all_regi) "regional share of EW limit [fraction], calculated ex ante for a maximal annual amount of 8 Gt rock in D:\projects\CEMICS\paper_technical\supply_curve_transport_remind_regions.m" p33_co2_rem_rate(rlf) "carbon removal rate [fraction of annual reduction of total carbon removal potential], multiplied with grade factor" +p33_EW_upScalingLimit(ttot) "Annual growth rate limit on upscaling of mining & spreading rocks on fields" ; positive variables diff --git a/modules/33_CDR/portfolio/equations.gms b/modules/33_CDR/portfolio/equations.gms index f9e80630b..f7e6fd83e 100644 --- a/modules/33_CDR/portfolio/equations.gms +++ b/modules/33_CDR/portfolio/equations.gms @@ -190,6 +190,16 @@ q33_EW_LimEmi(t,regi).. cm_LimRock * p33_LimRock(regi) ; +***--------------------------------------------------------------------------- +*' Limits on the upscaling rate of mining and spreading of rocks. +*' Current cost parameters do not include cost of additional mining being developed, +*' thus adjustment cost are not effective. +***--------------------------------------------------------------------------- +q33_EW_upscaling_rate(ttot,regi)$(ord(ttot) lt card(ttot) AND pm_ttot_val(ttot) gt 2030).. + sum((rlf_cz33, rlf), v33_EW_onfield(ttot,regi,rlf_cz33,rlf)) + =l= + (1+p33_EW_upScalingLimit(ttot))**pm_dt(ttot) * sum((rlf_cz33, rlf), v33_EW_onfield(ttot-1,regi,rlf_cz33,rlf)) +; ***--------------------------------------------------------------------------- *' #### OAE equations From 0b8823832d8e31cde9b89f7e181f14ec16ce88fc Mon Sep 17 00:00:00 2001 From: tabeado Date: Tue, 15 Oct 2024 16:49:20 +0200 Subject: [PATCH 645/875] short-term limit for rocks on fields for EW --- main.gms | 5 +++++ modules/33_CDR/portfolio/datainput.gms | 3 +++ modules/33_CDR/portfolio/declarations.gms | 3 +++ modules/33_CDR/portfolio/equations.gms | 12 +++++++++++- 4 files changed, 22 insertions(+), 1 deletion(-) diff --git a/main.gms b/main.gms index a9baf53e2..a8b9ce5a2 100755 --- a/main.gms +++ b/main.gms @@ -909,6 +909,11 @@ parameter ; cm_33_EW_upScalingRateLimit = 0.2; !! def = 20% +parameter + cm_33_EW_shortTermLimit "Limit on 2030 potential for enhanced weathering, defined as % of land on which EW is applied. Default 0.5% of land" +; + cm_33_EW_shortTermLimit = 0.005; + parameter cm_expoLinear_yearStart "time at which carbon price increases linearly instead of exponentially" ; diff --git a/modules/33_CDR/portfolio/datainput.gms b/modules/33_CDR/portfolio/datainput.gms index fe086dd92..a3ce3230c 100644 --- a/modules/33_CDR/portfolio/datainput.gms +++ b/modules/33_CDR/portfolio/datainput.gms @@ -53,6 +53,9 @@ p33_LimRock(regi) = pm_pop("2005",regi) / sum(regi2,pm_pop("2005",regi2)); *' Annual growth rate limit on upscaling of mining & spreading rocks on fields p33_EW_upScalingLimit(ttot) = cm_33_EW_upScalingRateLimit; +*' Calculation of short term limit on rocks spread on field in terms of Gt rocks that can be spread. +p33_EW_shortTermEW_Limit(regi) = cm_33_EW_shortTermLimit * sum(rlf, f33_maxProdGradeRegiWeathering(regi, rlf)); + *** ocean alkalinity enhancement input data (Kowalczyk et al., 2024) !! An assumption; generally the efficiency might vary between 0.9-1.4 tCO2/tCaO (1.2-1.8 molCO2/molCaO), diff --git a/modules/33_CDR/portfolio/declarations.gms b/modules/33_CDR/portfolio/declarations.gms index e25ecadb4..21e363236 100644 --- a/modules/33_CDR/portfolio/declarations.gms +++ b/modules/33_CDR/portfolio/declarations.gms @@ -24,6 +24,7 @@ p33_fedem(all_te,all_enty) "final energy demand of each technology p33_LimRock(all_regi) "regional share of EW limit [fraction], calculated ex ante for a maximal annual amount of 8 Gt rock in D:\projects\CEMICS\paper_technical\supply_curve_transport_remind_regions.m" p33_co2_rem_rate(rlf) "carbon removal rate [fraction of annual reduction of total carbon removal potential], multiplied with grade factor" p33_EW_upScalingLimit(ttot) "Annual growth rate limit on upscaling of mining & spreading rocks on fields" +p33_EW_shortTermEW_Limit(all_regi) "Limit on 2030 potential for enhanced weathering, defined in Gt rocks, based on % of land on which EW is applied" ; positive variables @@ -56,6 +57,8 @@ q33_EW_FEdemand(ttot,all_regi,all_enty) "calculates final energy demand from en q33_EW_potential(ttot,all_regi,rlf) "limits the total potential of EW per region and grade" q33_EW_emi(ttot,all_regi) "calculates amount of carbon captured by EW" q33_EW_LimEmi(ttot,all_regi) "limits EW to a maximal annual amount of ground rock of cm_LimRock" +q33_EW_upscaling_rate(ttot, all_regi) "limits spreading of rock to a steep but credible upscaling rate" +q33_EW_ShortTermBound(ttot,all_regi) "Limits short term potential for enhanced weathering" q33_OAE_FEdemand(ttot,all_regi,all_enty,all_te) "calculates final energy demand for ocean alkalinity enhancement" q33_OAE_co2emi_non_atm_calcination(ttot,all_regi,all_te) "calculates the CO2 that comes from calcination (limestone decomposition)" diff --git a/modules/33_CDR/portfolio/equations.gms b/modules/33_CDR/portfolio/equations.gms index f7e6fd83e..9ba53b310 100644 --- a/modules/33_CDR/portfolio/equations.gms +++ b/modules/33_CDR/portfolio/equations.gms @@ -189,7 +189,17 @@ q33_EW_LimEmi(t,regi).. =l= cm_LimRock * p33_LimRock(regi) ; - + +***--------------------------------------------------------------------------- +*' Short term bound on spreading of rock +***--------------------------------------------------------------------------- + +q33_EW_ShortTermBound(t, regi)$(t.val eq 2030).. + sum((rlf_cz33, rlf), v33_EW_onfield(t,regi,rlf_cz33,rlf)) + =l= + p33_EW_shortTermEW_Limit(regi) + ; + ***--------------------------------------------------------------------------- *' Limits on the upscaling rate of mining and spreading of rocks. *' Current cost parameters do not include cost of additional mining being developed, From 8a4da2315facca1c765e2af1c0ce4a9f76900f58 Mon Sep 17 00:00:00 2001 From: orichters Date: Wed, 16 Oct 2024 17:48:00 +0200 Subject: [PATCH 646/875] remove AR6 from checkProjectSummations, not needed anymore --- scripts/output/single/checkProjectSummations.R | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/output/single/checkProjectSummations.R b/scripts/output/single/checkProjectSummations.R index bf4ca5d50..7a71ccd2f 100644 --- a/scripts/output/single/checkProjectSummations.R +++ b/scripts/output/single/checkProjectSummations.R @@ -34,7 +34,6 @@ missingVariables <- checkMissingVars(mifdata, TRUE, sources) if (length(missingVariables) > 0) message("Check piamInterfaces::variableInfo('variablename') etc.") checkMappings <- list( # list(mappings, summationsFile, skipBunkers) - list(c("AR6", "AR6_NGFS"), "AR6", TRUE), list(c("NAVIGATE", "ELEVATE"), "NAVIGATE", FALSE), list("ScenarioMIP", NULL, FALSE) ) From 405177515f9b31833147695937e5c07ee0c0f1bf Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Thu, 17 Oct 2024 05:59:18 +0000 Subject: [PATCH 647/875] Release development version 3.3.2.dev835 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 1bcf8c171..9ba4a4724 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev832" -date-released: 2024-10-14 +version: "3.3.2.dev835" +date-released: 2024-10-17 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 207533653..a8fc0da2d 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev832" +cfg$model_version <- "3.3.2.dev835" #### settings #### cfg$gms <- list() From b63e34b14807f1bbf0a6fbb82a2321ab1c8afc54 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Thu, 17 Oct 2024 09:54:04 +0200 Subject: [PATCH 648/875] CES parameters and gdx files for input data 6.99 for SSP2, SSP2_EU21, SSP1, SSP2_lowEn and SSP5, calibration runs: /p/tmp/lavinia/REMIND/REMIND_calibration_2024_10_15/remind/output --- config/default.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/default.cfg b/config/default.cfg index 6c615985d..71c771a0b 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -31,7 +31,7 @@ cfg$extramappings_historic <- "" cfg$inputRevision <- "6.99" #### Current CES parameter and GDX revision (commit hash) #### -cfg$CESandGDXversion <- "7fda76f1f803b97c35b7de105956a135f77511ad" +cfg$CESandGDXversion <- "26e9d6764caa46c1e1cdedbaae68ddfe122afd29" #### Force the model to download new input data #### cfg$force_download <- FALSE From c35e0648a03b82af568380d806734829c85a498a Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Thu, 17 Oct 2024 08:26:08 +0000 Subject: [PATCH 649/875] Release development version 3.3.2.dev846 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 9ba4a4724..18a71dfe5 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev835" +version: "3.3.2.dev846" date-released: 2024-10-17 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 71c771a0b..e73cb14c4 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev835" +cfg$model_version <- "3.3.2.dev846" #### settings #### cfg$gms <- list() From 003d4cd62e138ca04d7813739645fb2c72893f8b Mon Sep 17 00:00:00 2001 From: tabeado <117268634+tabeado@users.noreply.github.com> Date: Thu, 17 Oct 2024 11:16:33 +0200 Subject: [PATCH 650/875] add regexp for switch MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Laurin Köhler-Schindler <163062134+laurinks@users.noreply.github.com> --- main.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.gms b/main.gms index a8b9ce5a2..5c6987d68 100755 --- a/main.gms +++ b/main.gms @@ -907,7 +907,7 @@ parameter parameter cm_33_EW_upScalingRateLimit "Annual growth rate limit on upscaling of mining & spreading rocks on fields" ; - cm_33_EW_upScalingRateLimit = 0.2; !! def = 20% + cm_33_EW_upScalingRateLimit = 0.2; !! def = 20% !! regexp = is.nonnegative parameter cm_33_EW_shortTermLimit "Limit on 2030 potential for enhanced weathering, defined as % of land on which EW is applied. Default 0.5% of land" From 5e56a879bf0f37a37e5193b6acfa2045841dd899 Mon Sep 17 00:00:00 2001 From: tabeado <117268634+tabeado@users.noreply.github.com> Date: Thu, 17 Oct 2024 11:17:05 +0200 Subject: [PATCH 651/875] add regexp for switch MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Laurin Köhler-Schindler <163062134+laurinks@users.noreply.github.com> --- main.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.gms b/main.gms index 5c6987d68..f9e83ed01 100755 --- a/main.gms +++ b/main.gms @@ -912,7 +912,7 @@ parameter parameter cm_33_EW_shortTermLimit "Limit on 2030 potential for enhanced weathering, defined as % of land on which EW is applied. Default 0.5% of land" ; - cm_33_EW_shortTermLimit = 0.005; + cm_33_EW_shortTermLimit = 0.005; !! def = 0.5% !! regexp = is.nonnegative parameter cm_expoLinear_yearStart "time at which carbon price increases linearly instead of exponentially" From 7d32bbd7297e97a010e084f1ddca1d5218527764 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Thu, 17 Oct 2024 09:29:09 +0000 Subject: [PATCH 652/875] Release development version 3.3.2.dev852 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 18a71dfe5..d067ce8f4 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev846" +version: "3.3.2.dev852" date-released: 2024-10-17 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index e73cb14c4..527b2661f 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev846" +cfg$model_version <- "3.3.2.dev852" #### settings #### cfg$gms <- list() From 59e52c3e457fa4c8e60014f339d883bbe87bbf34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Fri, 18 Oct 2024 14:06:14 +0200 Subject: [PATCH 653/875] Added SSP2-EcBudg400 --- config/scenario_config.csv | 81 +++++++++++++++++++------------------- 1 file changed, 41 insertions(+), 40 deletions(-) diff --git a/config/scenario_config.csv b/config/scenario_config.csv index 3e0e4c949..db03d2c2c 100644 --- a/config/scenario_config.csv +++ b/config/scenario_config.csv @@ -1,40 +1,41 @@ -title;start;CES_parameters;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_startyear;cm_peakBudgYr;cm_CO2priceRegConvEndYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_co2_tax_growth;cm_bioenergy_SustTax;c_ccsinjecratescen;c_ccscapratescen;c_changeProdCost;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description -# H12 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-NPi-calibrate;calibrate,AMT,compileInTests;calibrate;14;;;rcp45;;;0;NPi;;;;9;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-NDC;1,AMT,2;;;;;rcp45;3;globallyOptimal;0;NDC;;;;9;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2030;;SSP2-NPi;SSP2-NPi;SSP2-NPi;SSP2-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. -SSP2-NPi;1,AMT,compileInTests,2;;;;;rcp45;3;;0;NPi;;;;9;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-PkBudg500;1,AMT,2;;;;;rcp20;9;globallyOptimal;500;diffLin2Lin;200;2045;;9;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be well below 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-PkBudg650;1,AMT,2;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;9;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-PkBudg1000;1,AMT,2;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;;9;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -# EU21 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-EU21-NPi-calibrate;calibrate;calibrate;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;0;NPi;;;;9;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-EU21-Base;1,AMT,compileInTests,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;;;;0;;;;;;;off;;;;;;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix1;2005;;;;;SSP2-EU21-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-EU21-NDC;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;globallyOptimal;0;NDC;;;;9;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2030;;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-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. -SSP2-EU21-NPi;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;;9;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-EU21-PkBudg500;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;500;diffLin2Lin;200;2045;;9;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg500: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-EU21-PkBudg650;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;9;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg650: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-EU21-PkBudg1000;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;;9;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg1050: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -# H12 SSP3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP3-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;9;;;1;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. -SSP3-NDC;0;;;;;rcp45;3;;0;NDC;;;;9;;;1;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2;2030;;SSP2-NPi;SSP3-NPi;SSP3-NPi;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. 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. -SSP3-NPi;0;;;;;rcp45;3;;0;NPi;;;;9;;;1;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP3-PkBudg1000;0;;;;;rcp26;9;;1000;diffLin2Lin;45;2080;2100;9;;;1;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix3ICEban;2030;;SSP2-NPi;;;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -SSP3-rollBack;0;;;;;rcp45;9;;;NPiexpo;;;;9;;;1;0.9;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix1;2030;;SSP2-NPi;;; -# H12 SSP1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP1-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. -SSP1-NDC;1,AMT,compileInTests;;;;;rcp45;3;globallyOptimal;0;NDC;;;;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;2;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix2;2030;;SSP2-NPi;SSP1-NPi;SSP1-NPi;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. -SSP1-NPi;1,AMT;;;;;rcp45;3;;0;NPi;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP1-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;2;;1;feelhpb 1.05, fehob 1.75, feheb 0.1;manual;feh2_otherInd 1.04, feelhth_otherInd 0.4, feh2_cement 2.0, feelhth_chemicals 1.3, feh2_chemicals 1.04;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SDP;0.5;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SSP2-NPi;;;SSP1-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP1-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;2;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SDP;0.5;1;forcing_SSP1;MFR;Mix3ICEban;2030;;SSP2-NPi;;;SSP1-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -# H12 SSP2 lowEnergy;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2_lowEn-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;9;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2_lowEn-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. -SSP2_lowEn-NDC;1,AMT;;;;;rcp45;3;globallyOptimal;0;NDC;;;;9;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;;;;;;Mix2;2025;;SSP2-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. 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. -SSP2_lowEn-NPi;1,AMT;;;;;rcp45;3;;0;NPi;;;;9;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2_lowEn-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2_lowEn-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;9;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi;;;SSP2_lowEn-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2_lowEn-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;;9;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-NPi;;;SSP2_lowEn-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -# H12 SSP5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP5-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;9;;;1;;1.75;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. -SSP5-NDC;1;;;;;rcp45;3;globallyOptimal;0;NDC;;;;9;;;1;;1.75;3;2;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2;2030;;SSP2-NPi;SSP5-NPi;SSP5-NPi;SSP5-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. 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. -SSP5-NPi;1;;;;;rcp45;3;;0;NPi;;;;9;;;1;;1.75;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP5-PkBudg650;1;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;9;;;1;;1.75;3;2;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix4ICEban;2030;;SSP2-NPi;;;SSP5-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP5-PkBudg1000;1,compileInTests;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;;9;;;1;;1.75;3;2;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix3ICEban;2030;;SSP2-NPi;;;SSP5-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +title;start;CES_parameters;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_startyear;cm_peakBudgYr;cm_co2_tax_spread;cm_CO2priceRegConvEndYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_co2_tax_growth;cm_bioenergy_SustTax;cm_33EW;cm_33OAE;cm_33_OAE_eff;cm_33_OAE_scen;cm_frac_NetNegEmi;c_ccsinjecratescen;c_ccscapratescen;c_changeProdCost;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description +# H12 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2-NPi-calibrate;calibrate,AMT,compileInTests;calibrate;14;;;rcp45;;;0;NPi;;;;;9;;;;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-NDC;1,AMT,2;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;9;;;;;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2030;;SSP2-NPi;SSP2-NPi;SSP2-NPi;SSP2-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. +SSP2-NPi;1,AMT,compileInTests,2;;;;;rcp45;3;;0;NPi;;;;;9;;;;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-PkBudg500;1,AMT,2;;;;;rcp20;9;globallyOptimal;500;diffLin2Lin;200;2045;;;9;;;;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be well below 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-PkBudg650;1,AMT,2;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;;9;;;;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-PkBudg1000;1,AMT,2;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;;;9;;;;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP2-EcBudg400;1,AMT,2;;;;;rcp26;5;globallyOptimal;400;diffExp2Lin;70;;20;2070;9;;;;;;1;1;0.9;0;0;;;1;;;;2060.GLO 0.9;NDC;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2035;;SSP2-NPi;;SSP2-NPi;SSP2-EcBudg400: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes an end-of-century budget of 400 Gt CO2 on total CO2 emissions from 2020 to 2100. This is a high overshoot scenario with delayed climate policy. +# EU21 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2-EU21-NPi-calibrate;calibrate;calibrate;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;0;NPi;;;;;9;;;;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-EU21-Base;1,AMT,compileInTests,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;;;;0;;;;;;;;off;;;;;;;;;;;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix1;2005;;;;;SSP2-EU21-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-EU21-NDC;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;globallyOptimal;0;NDC;;;;;9;;;;;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2030;;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-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. +SSP2-EU21-NPi;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;;;9;;;;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-EU21-PkBudg500;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;500;diffLin2Lin;200;2045;;;9;;;;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg500: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-EU21-PkBudg650;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;;9;;;;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg650: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-EU21-PkBudg1000;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;;;9;;;;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg1050: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +# H12 SSP3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP3-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;9;;;1;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. +SSP3-NDC;0;;;;;rcp45;3;;0;NDC;;;;;9;;;1;;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2;2030;;SSP2-NPi;SSP3-NPi;SSP3-NPi;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. 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. +SSP3-NPi;0;;;;;rcp45;3;;0;NPi;;;;;9;;;1;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP3-PkBudg1000;0;;;;;rcp26;9;;1000;diffLin2Lin;45;2080;;2100;9;;;1;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix3ICEban;2030;;SSP2-NPi;;;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP3-rollBack;0;;;;;rcp45;9;;;NPiexpo;;;;;9;;;1;0.9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix1;2030;;SSP2-NPi;;; +# H12 SSP1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP1-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;;;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. +SSP1-NDC;1,AMT,compileInTests;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;;;;;;2;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix2;2030;;SSP2-NPi;SSP1-NPi;SSP1-NPi;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. +SSP1-NPi;1,AMT;;;;;rcp45;3;;0;NPi;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;;;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP1-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;;;;;;2;;1;feelhpb 1.05, fehob 1.75, feheb 0.1;manual;feh2_otherInd 1.04, feelhth_otherInd 0.4, feh2_cement 2.0, feelhth_chemicals 1.3, feh2_chemicals 1.04;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SDP;0.5;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SSP2-NPi;;;SSP1-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP1-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;;;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;;;;;;2;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SDP;0.5;1;forcing_SSP1;MFR;Mix3ICEban;2030;;SSP2-NPi;;;SSP1-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +# H12 SSP2 lowEnergy;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2_lowEn-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;9;;;;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2_lowEn-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. +SSP2_lowEn-NDC;1,AMT;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;9;;;;;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;;;;;;Mix2;2025;;SSP2-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. 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. +SSP2_lowEn-NPi;1,AMT;;;;;rcp45;3;;0;NPi;;;;;9;;;;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2_lowEn-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2_lowEn-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;;9;;;;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi;;;SSP2_lowEn-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2_lowEn-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;;;9;;;;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-NPi;;;SSP2_lowEn-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +# H12 SSP5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP5-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;9;;;1;;1.75;;;;;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. +SSP5-NDC;1;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;9;;;1;;1.75;;;;;;3;2;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2;2030;;SSP2-NPi;SSP5-NPi;SSP5-NPi;SSP5-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. 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. +SSP5-NPi;1;;;;;rcp45;3;;0;NPi;;;;;9;;;1;;1.75;;;;;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP5-PkBudg650;1;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;;9;;;1;;1.75;;;;;;3;2;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix4ICEban;2030;;SSP2-NPi;;;SSP5-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP5-PkBudg1000;1,compileInTests;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;;;9;;;1;;1.75;;;;;;3;2;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix3ICEban;2030;;SSP2-NPi;;;SSP5-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. From b64f600ae3caf90b960589fb965784aaa31c9ed1 Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Fri, 18 Oct 2024 15:07:35 +0200 Subject: [PATCH 654/875] adjusting switch name convention due to the use on module code --- core/bounds.gms | 4 ++-- main.gms | 4 ++-- modules/29_CES_parameters/calibrate/datainput.gms | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/core/bounds.gms b/core/bounds.gms index 6f37fc7d6..6c6524a0e 100755 --- a/core/bounds.gms +++ b/core/bounds.gms @@ -535,8 +535,8 @@ v_shfe.lo(t,regi,entyFe,sector)$pm_shfe_lo(t,regi,entyFe,sector) = pm_shfe_lo(t, v_shGasLiq_fe.up(t,regi,sector)$pm_shGasLiq_fe_up(t,regi,sector) = pm_shGasLiq_fe_up(t,regi,sector); v_shGasLiq_fe.lo(t,regi,sector)$pm_shGasLiq_fe_lo(t,regi,sector) = pm_shGasLiq_fe_lo(t,regi,sector); -*** Set H2 upper bound in buildings for years defined at c_H2InBuildOnlyAfter -vm_demFeSector.up(t,regi,"seh2","feh2s","build",emiMkt)$(t.val le c_H2InBuildOnlyAfter) = 1e-6; +*** Set H2 upper bound in buildings for years defined at cm_H2InBuildOnlyAfter +vm_demFeSector.up(t,regi,"seh2","feh2s","build",emiMkt)$(t.val le cm_H2InBuildOnlyAfter) = 1e-6; ***---------------------------------------------------------------------------- *** Controlling if active, dampening factor to align edge-t non-energy transportation costs with historical GDP data diff --git a/main.gms b/main.gms index 3f26b96f9..6bb103870 100755 --- a/main.gms +++ b/main.gms @@ -1001,9 +1001,9 @@ parameter *' * (4) Energy Efficiency policy: higher discount rate until cm_startyear, decreasing to 25% value linearly until 2030. *' parameter - c_H2InBuildOnlyAfter "Switch to fix H2 in buildings to zero until given year" + cm_H2InBuildOnlyAfter "Switch to fix H2 in buildings to zero until given year" ; - c_H2InBuildOnlyAfter = 2150; !! def = 2150 (rule out H2 in buildings) + cm_H2InBuildOnlyAfter = 2150; !! def = 2150 (rule out H2 in buildings) *' For all years until the given year, FE demand for H2 in buildings is set to zero parameter cm_peakBudgYr "date of net-zero CO2 emissions for peak budget runs without overshoot" diff --git a/modules/29_CES_parameters/calibrate/datainput.gms b/modules/29_CES_parameters/calibrate/datainput.gms index b3683514d..cd5ed171f 100644 --- a/modules/29_CES_parameters/calibrate/datainput.gms +++ b/modules/29_CES_parameters/calibrate/datainput.gms @@ -305,17 +305,17 @@ $ifthen.build_H2_offset "%buildings%" == "simple" *); *** RK: feh2b offset scaled from 1% in 2025 to 50% in 2050 of fegab quantity -pm_cesdata(t,regi,"feh2b","offset_quantity")$(t.val gt c_H2InBuildOnlyAfter) = +pm_cesdata(t,regi,"feh2b","offset_quantity")$(t.val gt cm_H2InBuildOnlyAfter) = - (0.05 + 0.45 * min(1, max(0, (t.val - 2025) / (2050 - 2025)))) * pm_cesdata(t,regi,"fegab","quantity") - pm_cesdata(t,regi,"feh2b","quantity"); -pm_cesdata(t,regi,"feh2b","quantity")$(t.val gt c_H2InBuildOnlyAfter) = +pm_cesdata(t,regi,"feh2b","quantity")$(t.val gt cm_H2InBuildOnlyAfter) = (0.05 + 0.45 * min(1, max(0, (t.val - 2025) / (2050 - 2025)))) * pm_cesdata(t,regi,"fegab","quantity"); *** for the years that H2 buildings is fixed to zero, set offset to the exact value of the calibrated quantity to ignore it after calibration -pm_cesdata(t,regi,"feh2b","quantity")$(t.val le c_H2InBuildOnlyAfter) = 1e-6; -pm_cesdata(t,regi,"feh2b","offset_quantity")$(t.val le c_H2InBuildOnlyAfter) = - pm_cesdata(t,regi,"feh2b","quantity"); +pm_cesdata(t,regi,"feh2b","quantity")$(t.val le cm_H2InBuildOnlyAfter) = 1e-6; +pm_cesdata(t,regi,"feh2b","offset_quantity")$(t.val le cm_H2InBuildOnlyAfter) = - pm_cesdata(t,regi,"feh2b","quantity"); $endif.build_H2_offset From f6e4b8604b8a2751c2c7685969ee5ead40c406c6 Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Fri, 18 Oct 2024 15:24:29 +0200 Subject: [PATCH 655/875] code check compliance --- modules/29_CES_parameters/load/not_used.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/29_CES_parameters/load/not_used.txt b/modules/29_CES_parameters/load/not_used.txt index cd181cc66..4e462767a 100644 --- a/modules/29_CES_parameters/load/not_used.txt +++ b/modules/29_CES_parameters/load/not_used.txt @@ -22,3 +22,4 @@ pm_calibrate_eff_scale,parameter,not needed pm_fedemand,parameter,not needed pm_energy_limit,, sm_CES_calibration_iteration,scalar,only applicable during calibration +cm_H2InBuildOnlyAfter,parameter,??? From 20bd64079ad3fe9f601f45a7245476e37acd2980 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Fri, 18 Oct 2024 17:08:02 +0000 Subject: [PATCH 656/875] Release development version 3.3.2.dev855 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index d067ce8f4..4a324fb0d 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev852" -date-released: 2024-10-17 +version: "3.3.2.dev855" +date-released: 2024-10-18 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 527b2661f..da10d515d 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev852" +cfg$model_version <- "3.3.2.dev855" #### settings #### cfg$gms <- list() From 2ee672148ffd9f6cde1dabd970d0ee3b9ee5d33e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tonn=20R=C3=BCter?= Date: Sat, 19 Oct 2024 09:12:10 +0200 Subject: [PATCH 657/875] Eemoved Python/venv stuff from update-renv --- Makefile | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/Makefile b/Makefile index 78dc17ccb..913800122 100644 --- a/Makefile +++ b/Makefile @@ -26,16 +26,7 @@ update-renv: ## Upgrade all pik-piam packages in your renv to the respective update-renv-all: ## Upgrade all packages (including CRAN packages) in your renv ## to the respective latest release, write renv.lock archive - ## Upgrade all packages in python venv, if python venv exists @Rscript -e 'renv::update(exclude = "renv"); piamenv::archiveRenv()' - @if [ -e "./venv/bin/python" ]; then \ - pv_maj=$$( .venv/bin/python -V | sed 's/^Python \([0-9]\).*/\1/' ); \ - pv_min=$$( .venv/bin/python -V | sed 's/^Python [0-9]\.\([0-9]\+\).*/\1/' ); \ - if (( 3 == $$pv_maj )) && (( 7 <= $$pv_min )) && (( $pv_min < 11 )); then \ - .venv/bin/python -mpip install --upgrade pip wheel; \ - .venv/bin/python -mpip install --upgrade --upgrade-strategy eager -r requirements.txt; \ - fi \ - fi revert-dev-packages: ## All PIK-PIAM packages that are development versions, i.e. ## that have a non-zero fourth version number component, are @@ -47,13 +38,6 @@ ensure-reqs: ## Ensure the REMIND library requirements are fulfilled ## by installing updates and new libraries as necessary. Does not ## install updates unless it is required. @Rscript -e 'source("scripts/start/ensureRequirementsInstalled.R"); ensureRequirementsInstalled(rerunPrompt="make ensure-reqs")' - @if [ -e "./venv/bin/python" ]; then \ - pv_maj=$$( .venv/bin/python -V | sed 's/^Python \([0-9]\).*/\1/' ); \ - pv_min=$$( .venv/bin/python -V | sed 's/^Python [0-9]\.\([0-9]\+\).*/\1/' ); \ - if (( 3 == $$pv_maj )) && (( 7 <= $$pv_min )) && (( $pv_min < 11 )); then \ - .venv/bin/python -mpip -qq install -r requirements.txt; \ - fi \ - fi archive-renv: ## Write renv.lock into archive. Rscript -e 'piamenv::archiveRenv()' From c7c21de6454d33531fa813bb48d4152da58b3173 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tonn=20R=C3=BCter?= Date: Sat, 19 Oct 2024 09:49:22 +0200 Subject: [PATCH 658/875] Added conda create and clone commands --- Makefile | 39 +++++++++++++++ tutorials/15_Using_Python.md | 93 ++++++++++++++++++++++++++++++++++++ 2 files changed, 132 insertions(+) diff --git a/Makefile b/Makefile index 913800122..cba1843f0 100644 --- a/Makefile +++ b/Makefile @@ -46,6 +46,45 @@ restore-renv: ## Restore renv to the state described in interactively ## selected renv.lock from the archive or a run folder. Rscript -e 'piamenv::restoreRenv()' +clone-conda: ## Clone the specified conda environment or the active environment to a new environment in the user's home directory or specified DEST + @if [ -z "$$ENV" ] && [ -z "$$CONDA_DEFAULT_ENV" ]; then \ + echo "No Conda environment specified and no active Conda environment found."; \ + exit 1; \ + elif [ -z "$$ENV" ]; then \ + ENV=$$CONDA_DEFAULT_ENV; \ + fi; \ + TIMESTAMP=$$(date +%Y%m%d); \ + BASENAME=$$(basename $$ENV); \ + DEFAULT_CONDA_ENV_DIR=~/.conda/envs; \ + CLONE_DIR=$${DEST:-$$DEFAULT_CONDA_ENV_DIR/$$BASENAME-clone-$$TIMESTAMP}; \ + echo "Cloning Conda environment: $$ENV"; \ + echo "Cloning to: $$CLONE_DIR"; \ + echo "This might take a few minutes..."; \ + if conda create --prefix $$CLONE_DIR --clone $$ENV; then \ + echo "Done!"; \ + conda env export --prefix $$CLONE_DIR > $$CLONE_DIR.yml; \ + echo "Cloned environment saved to $$CLONE_DIR.yml"; \ + else \ + echo "Cloning failed or was interrupted."; \ + exit 1; \ + fi; + +create-conda: ## Create a conda environment from the config/py_requirements.txt file + @if [ ! -f config/py_requirements.txt ]; then \ + echo "Requirements file not found: config/py_requirements.txt"; \ + exit 1; \ + fi; \ + ENV=$${ENV:-remind}; \ + DEST=$${DEST:-$$HOME/.conda/envs}; \ + echo "Creating Conda environment: $$DEST/$$ENV with Python 3.11"; \ + mkdir -p $$DEST; \ + conda create --prefix $$DEST/$$ENV python=3.11 -y; \ + echo "Activating Conda environment: $$ENV"; \ + . $$(conda info --base)/etc/profile.d/conda.sh && conda activate $$DEST/$$ENV && \ + echo "Installing requirements from config/py_requirements.txt"; \ + pip install -r config/py_requirements.txt; \ + echo "Conda environment $$ENV created and requirements installed successfully in $$DEST with Python 3.11."; + check: ## Check if the GAMS code follows the coding etiquette ## using gms::codeCheck Rscript -e 'options(warn = 1); invisible(gms::codeCheck(strict = TRUE));' diff --git a/tutorials/15_Using_Python.md b/tutorials/15_Using_Python.md index 15633471a..39bc46b2d 100644 --- a/tutorials/15_Using_Python.md +++ b/tutorials/15_Using_Python.md @@ -1,5 +1,6 @@ # Using Python to Interface with Other Models Mika Pflüger (mika.pflueger@pik-potsdam.de) +Tonn Rüter (tonn.rueter@pik-potsdam.de) ## Introduction @@ -19,3 +20,95 @@ They will be installed into the Python virtual environment on the next start of Then you can use Python via [reticulate](https://rstudio.github.io/reticulate/). For example, execute an R script from GAMS, then use `reticulate::import` to import Python libraries, the python virtual environment will automatically be used. + +## REMIND & Anaconda + +Conda is an open-source package and environment management system for Windows, macOS, and Linux. It simplifies installing and managing Python dependencies and environments, making it ideal for running REMIND. For users running REMIND on their desktop, any Python installation will do; however, we recommend using Conda for its ease of managing dependencies and environments. + +### Installing Conda + +This is not necessary when running REMIND on the PIK cluster. If you are on a Desktop machine or are using another shared computing infrastructure, ask your local IT department if `conda` is available for your system. For Desktop users here's a brief overview of how to install Conda. Follow these steps: + +1. **Download the Conda installer**: + - For Anaconda (includes Conda and many scientific packages): [Anaconda Distribution](https://www.anaconda.com/products/distribution#download-section) + - For Miniconda (a minimal installer for Conda): [Miniconda Distribution](https://docs.conda.io/en/latest/miniconda.html) + +2. **Run the installer**: + - On Windows, double-click the `.exe` file. Follow the instructions + - On macOS and Linux, open a terminal and run: + ```sh + bash path/to/installer.sh + ``` + +3. **Follow the prompts** to complete the installation. + +4. **Verify the installation** by opening a terminal or command prompt and running: + ```sh + conda --version + ``` + +### Creating a Conda Environment from `py_requirements.txt` + +To create a new Conda environment from the `config/py_requirements.txt` file that comes with REMIND, you can use the `make create-conda` target in the Makefile. This will create a new Conda environment with Python 3.11 and the packages specified in the requirements file. + +- Create a new environment with the default name `remind` in the default directory (`$HOME/.conda/envs`): + ```sh + make create-conda + ``` + +- Create a new environment with a specified name: + ```sh + make create-conda ENV=my_new_env + ``` + +- Create a new environment in a specified directory: + ```sh + make create-conda DEST=/path/to/directory + ``` + +- Create a new environment with a specified name in a specified directory: + ```sh + make create-conda ENV=my_new_env DEST=/path/to/directory + ```` + +### Cloning the REMIND `conda` environment on the PIK cluster + +To clone a Conda environment, you can use the `make clone-conda-env` target in the Makefile. This will clone the specified Conda environment or the active environment to a new environment in the user's home directory or a specified destination. + +- Clone the active environment: + ```sh + make clone-conda-env + ``` +- Clone a specified environment: + ```sh + make clone-conda-env ENV=my_env + ``` +- Clone a specified environment to a custom directory: + ```sh + make clone-conda-env ENV=my_env DEST=~/my_custom_directory + ``` + +#### Renaming a Conda Environment +If you need to rename the cloned environment, follow these steps: + +1. Activate the cloned environment: + ```sh + conda activate /path/to/cloned-env + ``` + +2. Export the environment to a YAML file: + ```sh + conda env export > cloned-env.yml + ``` + +3. Create a new environment with the desired name from the YAML file: + ```sh + conda env create -f cloned-env.yml -n new-env-name + ``` + +4. Remove the old cloned environment: + ```sh + conda remove --prefix /path/to/cloned-env --all + ``` + +These steps ensure that the environment is properly renamed without breaking Conda's environment management \ No newline at end of file From 2870738b55514f2e3fdf900ae261bccd6a84ae28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tonn=20R=C3=BCter?= Date: Sat, 19 Oct 2024 10:01:23 +0200 Subject: [PATCH 659/875] Do not create .venv --- .Rprofile | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/.Rprofile b/.Rprofile index 8811ff237..3aa5a2fd7 100644 --- a/.Rprofile +++ b/.Rprofile @@ -42,26 +42,6 @@ if (isTRUE(rownames(installed.packages(priority = "NA")) == "renv")) { message("Finished installing R package dependencies.") } -# bootstrapping python venv, will only run once after remind is freshly cloned -if (!dir.exists(".venv/") - && (Sys.which("python3") != "" - || (Sys.which("python.exe") != "" - && suppressWarnings(isTRUE(startsWith(system2("python.exe", "--version", stdout = TRUE), "Python 3"))) - ))) { - message("Python venv is not available, setting up now...") - # use system python to set up venv - if (.Platform$OS.type == "windows") { - system2("python.exe", c("-mvenv", ".venv")) - pythonInVenv <- normalizePath(file.path(".venv", "Scripts", "python.exe"), mustWork = TRUE) - } else { - system2("python3", c("-mvenv", ".venv")) - pythonInVenv <- normalizePath(file.path(".venv", "bin", "python"), mustWork = TRUE) - } - # use venv python to install dependencies in venv - system2(pythonInVenv, c("-mpip", "install", "--upgrade", "pip", "wheel")) - system2(pythonInVenv, c("-mpip", "install", "-r", "requirements.txt")) -} - # Configure locations of REMIND input data # These can be located in directories on the local machine, remote directories, # or default directories on the cluster. From 3ac4add1d09a6920ebf1085a98e549c7d86b1c1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tonn=20R=C3=BCter?= Date: Sat, 19 Oct 2024 10:24:40 +0200 Subject: [PATCH 660/875] Rm func that referenced magicc6 files --- scripts/input/run_KotzWenz_damages.R | 9 --------- 1 file changed, 9 deletions(-) diff --git a/scripts/input/run_KotzWenz_damages.R b/scripts/input/run_KotzWenz_damages.R index f25822c94..038920fe7 100644 --- a/scripts/input/run_KotzWenz_damages.R +++ b/scripts/input/run_KotzWenz_damages.R @@ -16,15 +16,6 @@ beta1 <- read.csv("../../modules/50_damages/KotzWenz/input/f50_KLW_df_beta1.cs4r beta2 <- read.csv("../../modules/50_damages/KotzWenz/input/f50_KLW_df_beta2.cs4r",skip=4,header=FALSE) %>% rename(iso=V1,realization=V2,value=V3) maxtemp <- read.csv("../../modules/50_damages/KotzWenz/input/f50_KLW_df_maxGMT.cs4r",skip=4,header=FALSE) %>% rename(iso=V1,realization=V2,value=V3) -#getTemperatureMagicc = function(file = "./magicc/DAT_SURFACE_TEMP.OUT"){ -# x = read.table(file, skip = 19,header = T) -# x = x[,c(1,2)] -# names(x) = c('period','value') -# x$period = as.integer(as.character(x$period)) -# # Get relevant years -# years <- x[x$period >= 2005 & x$period <= 2300,1] -# return(x[x$period %in% years,]) -#} getTemperatureMagicc = function(file="./p15_magicc_temp.gdx"){ x <- read.gdx("p15_magicc_temp.gdx","pm_globalMeanTemperature") %>% rename(period=tall) if(max(x$period) == 2100){ From 902b97229f088fba476a866dc2a4141f74e85a90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tonn=20R=C3=BCter?= Date: Sat, 19 Oct 2024 12:17:35 +0200 Subject: [PATCH 661/875] Write up Python doctrine --- tutorials/15_Using_Python.md | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/tutorials/15_Using_Python.md b/tutorials/15_Using_Python.md index 39bc46b2d..cec457e5d 100644 --- a/tutorials/15_Using_Python.md +++ b/tutorials/15_Using_Python.md @@ -1,25 +1,31 @@ -# Using Python to Interface with Other Models +# Python support in REMIND Mika Pflüger (mika.pflueger@pik-potsdam.de) Tonn Rüter (tonn.rueter@pik-potsdam.de) -## Introduction +Python is a high-level, interpreted programming language known for its readability and versatility. In REMIND, Python is essential for coupling to specialized models, such as those used for climate assessment reporting. These models often require advanced data processing and integration with other tools, which Python in conjecture with R `reticulate` facilitates efficiently. -To interface with other models or libraries, it is often necessary to call Python code because the model itself is written in Python or bindings are available in Python. -REMIND has Python support via [reticulate](https://rstudio.github.io/reticulate/) using virtual environments, but it is disabled by default. +## REMIND Python Doctrine -## Using Python in REMIND +Python support is enabled by default in REMIND and is necessary for some climate assessment reporting. This can be verified in the `default.cfg` file where `cfg$pythonEnabled` is set to `"on"`. Users need to set the `cfg$pythonPath` variable to point to the appropriate Python environment. On the PIK cluster, the `conda` environment can be found in `/p/projects/rd3mod/python/environments/scm_magicc7_hpc/`. It is best practice to clone this default environment into one's home directory when using the PIK cluster, see [`make` commands below](#environment-creation-integrity-and-archiving). Further management of the Python environment, such as updating Python packages environments, is a responsibility of the user. -First, you have to make sure that you have Python installed and available in your environment. -Run `Rscript scripts/utils/checkSetup.R` to check if REMIND finds your Python. -If not, repair that by installing Python and making sure it is on your PATH. +REMIND scripts do not alter the Python environment, ensuring that the environment remains stable and predictable throughout the usage of REMIND. For repeatability, Python environments are archived for every run. This ensures that the exact environment used for a specific run can be recreated if needed to ensure repeatability. In case a virtual environment is used, REMIND activates it automatically, ensuring the correct environment is in use. Before starting a REMIND run, checks ensure that all necessary dependencies are available. -Next, you have to enable REMIND's Python integration by setting `cfg$pythonEnabled` to `on` in `config/default.cfg`. +### Environment Creation, Integrity, and Archiving -Add Python libraries you want to use to the `requirements.txt` file in the main remind folder. -They will be installed into the Python virtual environment on the next start of REMIND. +REMIND supports using your system Python installation via `pip`, but also `venv` and `conda` *virtual Python environments*. Among these, `conda` is the preferred option due to its ease of use and robust package management. For more details on installing Conda, refer to the [Installing Conda](#installing-conda) section. -Then you can use Python via [reticulate](https://rstudio.github.io/reticulate/). -For example, execute an R script from GAMS, then use `reticulate::import` to import Python libraries, the python virtual environment will automatically be used. +The provided Makefile includes targets to create or clone a Python environment: +- `make conda-create`: Creates a new Conda environment based on the `py_requirements.txt` file. +- `make conda-clone`: Clones an existing Conda environment. +- `make pip-create`: Installs all of REMIND's Python dependencies using `pip` based on the `config/py_requirements.txt` file. *Note*: Only use this when you are managing a non-`conda` environment. + +### Leveraging `reticulate` + +To interface with other models or libraries, it is often necessary to call Python code because the model itself is written in Python or bindings are available in Python. REMIND has Python support via the R library `reticulate`. One can, for example, execute an R script from GAMS, then use `reticulate::import` to import Python libraries. For more information on using `reticulate`, refer to the [Documentation](https://rstudio.github.io/reticulate/). + +### Handling Warnings + +When using REMIND, you might encounter warnings about the inability to verify the version of certain Python packages installed from specific repositories. These warnings occur because the installed Python packages do not retain information about their origin, only their version number. This version number is meaningless if the package was installed from a dedicated repository. Therefore, when using the PIK cluster default REMIND Python environment, you can safely disregard these warnings. They are simply a result of the package management system's inability to verify the origin of the installed packages. ## REMIND & Anaconda From de2ea055c78332299ba51cbd1f920599b4f013a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tonn=20R=C3=BCter?= Date: Sat, 19 Oct 2024 12:24:04 +0200 Subject: [PATCH 662/875] Section conda on PIK cluster --- tutorials/15_Using_Python.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/tutorials/15_Using_Python.md b/tutorials/15_Using_Python.md index cec457e5d..3d14a71e7 100644 --- a/tutorials/15_Using_Python.md +++ b/tutorials/15_Using_Python.md @@ -31,6 +31,36 @@ When using REMIND, you might encounter warnings about the inability to verify th Conda is an open-source package and environment management system for Windows, macOS, and Linux. It simplifies installing and managing Python dependencies and environments, making it ideal for running REMIND. For users running REMIND on their desktop, any Python installation will do; however, we recommend using Conda for its ease of managing dependencies and environments. +### `conda` Environment for REMIND/MAGICC7 Operation on the Cluster + +To ensure `climate-assessment` and `MAGICC7` are available when running REMIND on the clusters, follow these steps after logging in and before initiating a REMIND run that requires MAGICC7 (e.g., climate reporting). On the new cluster (`foote.pik-potsdam.de`) do: + +1. Load the necessary `module`s: + ```sh + # Make sure module_load_piam is already active, otherwise run + # source /p/system/modulefiles/defaults/piam/module_load_piam + module load anaconda/2023.09 + ``` + +2. Configure the terminal prompt to avoid unnecessary length. This only has to run once! + ```sh + conda config --set env_prompt '({name})' + ``` + +3. Activate the conda environment: + ```sh + source activate /p/projects/rd3mod/python/environments/scm_magicc7_hpc + ``` +This setup ensures the correct Python versions are available. To deactivate the conda environment, type `conda deactivate`. **Please do not alter the conda environment as changes would affect all users.** + +With the conda environment activated, you can start a climate assessment report from your REMIND folder with: + +```sh +Rscript output.R +``` + +and navigate through the selection process as usual. + ### Installing Conda This is not necessary when running REMIND on the PIK cluster. If you are on a Desktop machine or are using another shared computing infrastructure, ask your local IT department if `conda` is available for your system. For Desktop users here's a brief overview of how to install Conda. Follow these steps: From 3c5076fb326f0141763aa261d685f9e964093800 Mon Sep 17 00:00:00 2001 From: orichters Date: Mon, 21 Oct 2024 13:35:48 +0200 Subject: [PATCH 663/875] increase piamInterfaces version number in IIASA tutorial --- tutorials/13_Submit_to_IIASA_database.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutorials/13_Submit_to_IIASA_database.md b/tutorials/13_Submit_to_IIASA_database.md index 21d518d34..8fefdadff 100644 --- a/tutorials/13_Submit_to_IIASA_database.md +++ b/tutorials/13_Submit_to_IIASA_database.md @@ -100,7 +100,7 @@ The following functions from `piamInterfaces` might be helpful for further analy If you like to generate a 'historical.mif' file for a different regional resolution and variable naming scheme than the REMIND one to pass it to plotIntercomparison, you can use the [regionmapping](https://github.com/pik-piam/piamInterfaces/tree/master/inst/regionmapping) ISO files from piamInterfaces or a similarly formatted file, for example like this: ``` library(madrat); library(mrremind); library(quitte); library(piamInterfaces) -stopifnot(utils::packageVersion("piamInterfaces") >= "0.35.3") +stopifnot(utils::packageVersion("piamInterfaces") >= "0.36.2") setConfig(regionmapping = system.file("regionmapping/ISO_2_ISO.csv", package = "piamInterfaces")) d <- madrat::retrieveData("VALIDATIONREMIND") system(paste("tar -xvf", d, "./historical.mif")) From 1bdd6767acc1d3e0c9c5b58df57cecb992ec87bc Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Mon, 21 Oct 2024 11:40:47 +0000 Subject: [PATCH 664/875] Release development version 3.3.2.dev858 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 4a324fb0d..53d56b4ff 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev855" -date-released: 2024-10-18 +version: "3.3.2.dev858" +date-released: 2024-10-21 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index da10d515d..2e1268920 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev855" +cfg$model_version <- "3.3.2.dev858" #### settings #### cfg$gms <- list() From 4d0e9db2f360f2e799eeaee3b8924642cb8f3fd7 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Mon, 21 Oct 2024 12:33:45 +0000 Subject: [PATCH 665/875] Release development version 3.3.2.dev864 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 53d56b4ff..d8fb64d17 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev858" +version: "3.3.2.dev864" date-released: 2024-10-21 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 2e1268920..f5bf1274b 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev858" +cfg$model_version <- "3.3.2.dev864" #### settings #### cfg$gms <- list() From 5e13d309d15939a1a1247f314f18c245757927a5 Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Mon, 21 Oct 2024 14:55:19 +0200 Subject: [PATCH 666/875] disabling share incentives --- main.gms | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/main.gms b/main.gms index d7c1b86dd..302038e71 100755 --- a/main.gms +++ b/main.gms @@ -1762,7 +1762,7 @@ $setGLobal c_agricult_base_shift off !! def off $setglobal cm_INCONV_PENALTY on !! def = on !! regexp = off|on *** cm_INCONV_PENALTY_FESwitch off !! def = off *** flag to trun on inconvenience penalty to avoid switching shares on buildings, transport and industry biomass use if costs are relatively close (seLiqbio, sesobio, segabio) -$setglobal cm_INCONV_PENALTY_FESwitch off !! def = on !! regexp = off|on +$setglobal cm_INCONV_PENALTY_FESwitch on !! def = on !! regexp = off|on *** cm_seFeSectorShareDevMethod "Switch to enable an optimization incentive for sectors to have similar shares of secondary energy fuels and determine the method used for the incentive." *** Possible values: off or the method name (sqSectorShare, sqSectorAvrgShare, or minMaxAvrgShare) *** off "The model can freely allocate bio/syn/fossil fuels between sectors. If not off, a penalization term is added so sectors are incentivized to apply similar shares of bio-fuels, synfuels, and fossils in each sector." @@ -1770,7 +1770,7 @@ $setglobal cm_INCONV_PENALTY_FESwitch off !! def = on !! regexp = off|on *** sqSectorAvrgShare "Square deviation from average share penalty. Recomended over sqSectorShare (see above)." *** minMaxAvrgShare "Min-max deviation from average share penalty." *** The relative effect of the penalization term in the objective function is scaled to avoid affecting optimization results. This scaling factor can be defined using the switch c_seFeSectorShareDevScale. -$setglobal cm_seFeSectorShareDevMethod sqSectorAvrgShare !! def = sqSectorAvrgShare !! regexp = off|sqSectorShare|sqSectorAvrgShare|minMaxAvrgShare +$setglobal cm_seFeSectorShareDevMethod off !! def = sqSectorAvrgShare !! regexp = off|sqSectorShare|sqSectorAvrgShare|minMaxAvrgShare *** c_seFeSectorShareDevUnit "Defines if the penalization term is applied over fuel shares or energy units." *** share, "The square penalization is applied directly to the share values. This results in different-sized regions having varying relative penalization incentives, but the range of penalization values will be more consistent from the solver's perspective." *** energy, "The square penalization is applied to the share values multiplied by the energy demand. This approach scales penalizations better across different-sized regions, but there is a higher risk of the penalizations being ignored and the shares not being enforced if the value range is too small." From afec2c40c0935e9565af498a591f53b0346515f2 Mon Sep 17 00:00:00 2001 From: David Klein Date: Mon, 21 Oct 2024 17:13:54 +0200 Subject: [PATCH 667/875] Add script that prepares a new release Move the code defining the input data files into own function, because it is not only used in updateInputData.R but also in the new release script --- scripts/start/defineInputData.R | 20 ++++++++ scripts/start/updateInputData.R | 13 ++---- scripts/utils/release.R | 82 +++++++++++++++++++++++++++++++++ 3 files changed, 106 insertions(+), 9 deletions(-) create mode 100644 scripts/start/defineInputData.R create mode 100644 scripts/utils/release.R diff --git a/scripts/start/defineInputData.R b/scripts/start/defineInputData.R new file mode 100644 index 000000000..5de980d3b --- /dev/null +++ b/scripts/start/defineInputData.R @@ -0,0 +1,20 @@ +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) +# | authors, and contributors see CITATION.cff file. This file is part +# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +# | AGPL-3.0, you are granted additional permissions described in the +# | REMIND License Exception, version 1.0 (see LICENSE file). +# | Contact: remind@pik-potsdam.de +#' construct list of input data files +#' @param cfg list of configs + +defineInputData <- function(cfg) { + + regicode <- madrat::regionscode(file.path(remindPath, cfg$regionmapping)) + cfg$input <- c(paste0("rev",cfg$inputRevision,"_",regicode,"_", tolower(cfg$model_name),".tgz"), + paste0("rev",cfg$inputRevision,"_",regicode,ifelse(cfg$extramappings_historic == "","",paste0("-", madrat::regionscode(cfg$extramappings_historic))),"_", tolower(cfg$validationmodel_name),".tgz"), + paste0("CESparametersAndGDX_",cfg$CESandGDXversion,".tgz")) + + # Specify for each element of input_new whether to stop if the respective file could not be downloaded + cfg$stopOnMissing <- c(TRUE, FALSE, TRUE) + return(cfg) +} diff --git a/scripts/start/updateInputData.R b/scripts/start/updateInputData.R index 8f1dd6d39..0803f1c1e 100644 --- a/scripts/start/updateInputData.R +++ b/scripts/start/updateInputData.R @@ -19,30 +19,25 @@ updateInputData <- function(cfg, remindPath = ".", gamsCompile = FALSE) { } else { input_old <- "no_data" } - regicode <- madrat::regionscode(file.path(remindPath, cfg$regionmapping)) - input_new <- c(paste0("rev",cfg$inputRevision,"_",regicode,"_", tolower(cfg$model_name),".tgz"), - paste0("rev",cfg$inputRevision,"_",regicode,ifelse(cfg$extramappings_historic == "","",paste0("-", madrat::regionscode(cfg$extramappings_historic))),"_", tolower(cfg$validationmodel_name),".tgz"), - paste0("CESparametersAndGDX_",cfg$CESandGDXversion,".tgz")) - # Specify for each element of input_new whether to stop if the respective file could not be downloaded - stopOnMissing <- c(TRUE, FALSE, TRUE) + cfg <- defineInputData(cfg) # check if all input files are already there missinginput <- if (isTRUE(gamsCompile)) NULL else missingInputData() requiredinput <- grep("config\\/gdx-files|modules\\/29_CES_parameters\\/load\\/input", missinginput, value = TRUE, invert = TRUE) # download and distribute needed data - if (! setequal(input_new, input_old) || isTRUE(cfg$force_download) || length(requiredinput) > 0) { + if (! setequal(cfg$input, input_old) || isTRUE(cfg$force_download) || length(requiredinput) > 0) { message(if (isTRUE(gamsCompile)) paste0(" ", cfg$title, ": "), if (isTRUE(cfg$force_download)) "You set 'cfg$force_download = TRUE'" else "Your input data are outdated, incomplete or in a different regional resolution", ". New input data are downloaded and distributed.") condSuppress <- function(x) if (isTRUE(gamsCompile)) suppressMessages(x) else x - condSuppress(download_distribute(files = input_new, + condSuppress(download_distribute(files = cfg$input, repositories = cfg$repositories, # defined in your environment variables modelfolder = remindPath, debug = FALSE, - stopOnMissing = if (isTRUE(gamsCompile)) FALSE else stopOnMissing) + stopOnMissing = if (isTRUE(gamsCompile)) FALSE else cfg$stopOnMissing) ) } else if (! isTRUE(gamsCompile)) { message("No input data downloaded and distributed. To enable that, delete input/source_files.log or set cfg$force_download to TRUE.") diff --git a/scripts/utils/release.R b/scripts/utils/release.R new file mode 100644 index 000000000..6e2e9935e --- /dev/null +++ b/scripts/utils/release.R @@ -0,0 +1,82 @@ +# Was ist mit dem tag? Muss man Release auf github? Muss der per Hand gemacht werden? +# Vielleicht so: -l, --label name Add labels by name + +release <- function(newVersion) { + if (Sys.which("sbatch") == "") { + stop("release must be created on cluster") + } + + releaseDate <- format(Sys.time(), "%Y-%m-%d") + + # Get old version from CITATION.cff + oldVersion <- readLines("CITATION.cff") |> + grep(pattern = "^version: (.*)$", value = TRUE) |> + sub(pattern = "^version: (.*)$", replacement = "\\1") |> + sub(pattern = "dev", replacement = "") + + # Update CHANGELOG.md + githubUrl <- "https://github.com/remindmodel/remind/compare/" + readLines("CHANGELOG.md") |> + # Add version and date of new release + sub(pattern = "## [Unreleased]", replacement = paste0("## [", newVersion, "] - ", releaseDate), fixed = TRUE) |> + # Add two lines with github links that compare versions + sub(pattern = paste0("\\[Unreleased\\]: ", githubUrl, "v(.+)\\.\\.\\.develop"), + replacement = paste0("[Unreleased]: ", githubUrl, "v", newVersion, "...develop\n", + "[", newVersion, "]: ", githubUrl, "v\\1...v", newVersion)) |> + writeLines("CHANGELOG.md") + + # Update version and release date in CITATION.cff + readLines("CITATION.cff") |> + sub(pattern = "^version:.*$", replacement = paste("version:", newVersion)) |> + sub(pattern = "^date-released:.*$", replacement = paste("date-released:", releaseDate)) |> + writeLines("CITATION.cff") + + # Update version in README.md + readLines("README.md") |> + gsub(pattern = oldVersion, replacement = newVersion) |> + writeLines("README.md") + + # Create documentation + message("creating documentation using goxygen...") + goxygen::goxygen(unitPattern = c("\\[","\\]"), + includeCore = TRUE, + max_num_edge_labels = "adjust", + max_num_nodes_for_edge_labels = 15, + startType = NULL) + + # Upload html documentation to RSE server + message("uploading documentation to RSE server") + exitCode <- system(paste0("rsync -e ssh -avz doc/html/* ", + "rse@rse.pik-potsdam.de:/webservice/doc/remind/", newVersion)) + stopifnot(exitCode == 0) + + # Upload input data to RSE server + message("uploading input data to RSE server") + cfg <- defineInputData(cfg) + # Keep mandatory input files only + cfg$input <- cfg$input[cfg$stopOnMissing] + gms::publish_data(cfg,target = "dataupload@rse.pik-potsdam.de:/remind/public") + + message("Please perform the two following steps manually:\n", + "1. CHANGELOG.md: sort lines in each category: changed, added, removed, fixed; remove empty categories\n", + "2. git add -p\n", + "--> When done press ENTER to commit, push and create PR") + gms::getLine() + + gert::git_commit(paste("remind release", newVersion)) + gert::git_push() + system(paste0("gh pr create --base master --title 'remind release ", newVersion, "' --body ''")) +} + +# Source function definition of defineInputData() +source("scripts/start/defineInputData.R") + +# Ask user for release version +arguments <- commandArgs(TRUE) +if (length(arguments) != 1) { + stop("Please pass the new version number, e.g. `Rscript scripts/utils/release.R 0.8.15`") +} + +release(arguments) +message("warnings:") +print(warnings()) From 3d4728ab27ed6e6f35fe301f707ceec738d56b6c Mon Sep 17 00:00:00 2001 From: Bjoern Soergel <16190669+bs538@users.noreply.github.com> Date: Tue, 22 Oct 2024 10:58:16 +0200 Subject: [PATCH 668/875] fix default settings for IIASA export (SHAPE) inclusion of "NAVIGATE_coupled" template ensures that MAgPIE emissions are mapped correctly to IIASA DB variables --- scripts/output/export/xlsx_IIASA.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/output/export/xlsx_IIASA.R b/scripts/output/export/xlsx_IIASA.R index 265b9f610..4cf62670c 100644 --- a/scripts/output/export/xlsx_IIASA.R +++ b/scripts/output/export/xlsx_IIASA.R @@ -52,7 +52,7 @@ projects <- list( iiasatemplate = "https://files.ece.iiasa.ac.at/ssp-submission/ssp-submission-template.xlsx", renameScen = c("SMIPv03-M-SSP2-NPi-def" = "SSP2 - Medium Emissions", "SMIPv03-LOS-SSP2-EcBudg400-def" = "SSP2 - Low Overshoot", "SMIPv03-ML-SSP2-PkPrice200-fromL" = "SSP2 - Medium-Low Emissions","SMIPv03-L-SSP2-PkPrice265-inc6-def" = "SSP2 - Low Emissions", "SMIPv03-VL-SSP2_SDP_MC-PkPrice300-def" = "SSP2 - Very Low Emissions"), checkSummation = "NAVIGATE"), - SHAPE = list(mapping = c("NAVIGATE", "SHAPE")), + SHAPE = list(mapping = c("NAVIGATE", "NAVIGATE_coupled", "SHAPE")), TESTTHAT = list(mapping = "AR6") ) From 0dc3961987621d4d0dbdd3c1e52a4f23ab5e993d Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 22 Oct 2024 09:08:50 +0000 Subject: [PATCH 669/875] Release development version 3.3.2.dev867 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index d8fb64d17..6871f76b3 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev864" -date-released: 2024-10-21 +version: "3.3.2.dev867" +date-released: 2024-10-22 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index f5bf1274b..6ff8e1b96 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev864" +cfg$model_version <- "3.3.2.dev867" #### settings #### cfg$gms <- list() From 91af1d346673662a56993bf595b2a029d29f2cd0 Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Wed, 23 Oct 2024 11:29:27 +0200 Subject: [PATCH 670/875] simplifiying start year for share incentives --- core/equations.gms | 20 ++++---------------- core/preloop.gms | 9 +++------ 2 files changed, 7 insertions(+), 22 deletions(-) diff --git a/core/equations.gms b/core/equations.gms index d9b76deef..7988b30a4 100644 --- a/core/equations.gms +++ b/core/equations.gms @@ -1153,12 +1153,9 @@ q_shbiofe_lo(t,regi,entyFe,sector,emiMkt)$(pm_secBioShare(t,regi,entyFe,sector) $ifthen.seFeSectorShareDev "%cm_seFeSectorShareDevMethod%" == "sqSectorShare" q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$( + (t.val ge 2025) AND !!disable share incentives for historical years in buildings, industry and CDR as this should be handled by historical bounds ( sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt) ) AND !!only create the equation for valid cobinations of entySe, entyFe, sector and emiMkt ( (entySeBio(entySe) OR entySeSyn(entySe)) ) AND !!share incentives only need to be applied to n-1 secondary energy carriers - ( (NOT(sameas(sector,"build") AND (t.val le 2020))) - OR (NOT(sameas(sector,"indst") AND (t.val le 2020))) - OR (NOT(sameas(sector,"cdr") AND (t.val le 2020))) - ) AND !!disable share incentives for historical years in buildings, industry and CDR as this should be handled by historical bounds ( NOT(sameas(sector,"build") AND (sameas(entyFE,"fesos"))) ) !!disable buildings solids share incentives ).. v_penSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) @@ -1168,12 +1165,9 @@ q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$( ; $elseIf.seFeSectorShareDev "%cm_seFeSectorShareDevMethod%" == "sqSectorAvrgShare" q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$( + (t.val ge 2025) AND !!disable share incentives for historical years in buildings, industry and CDR as this should be handled by historical bounds ( sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt) ) AND !!only create the equation for valid cobinations of entySe, entyFe, sector and emiMkt ( (entySeBio(entySe) OR entySeSyn(entySe)) ) AND !!share incentives only need to be applied to n-1 secondary energy carriers - ( (NOT(sameas(sector,"build") AND (t.val le 2020))) - OR (NOT(sameas(sector,"indst") AND (t.val le 2020))) - OR (NOT(sameas(sector,"cdr") AND (t.val le 2020))) - ) AND !!disable share incentives for historical years in buildings, industry and CDR as this should be handled by historical bounds ( NOT(sameas(sector,"build") AND (sameas(entyFE,"fesos"))) ) !!disable buildings solids share incentives ).. v_penSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) @@ -1183,12 +1177,9 @@ q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$( ; $elseIf.seFeSectorShareDev "%cm_seFeSectorShareDevMethod%" == "minMaxAvrgShare" q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$( + (t.val ge 2025) AND !!disable share incentives for historical years in buildings, industry and CDR as this should be handled by historical bounds ( sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt) ) AND !!only create the equation for valid cobinations of entySe, entyFe, sector and emiMkt ( (entySeBio(entySe) OR entySeSyn(entySe)) ) AND !!share incentives only need to be applied to n-1 secondary energy carriers - ( (NOT(sameas(sector,"build") AND (t.val le 2020))) - OR (NOT(sameas(sector,"indst") AND (t.val le 2020))) - OR (NOT(sameas(sector,"cdr") AND (t.val le 2020))) - ) AND !!disable share incentives for historical years in buildings, industry and CDR as this should be handled by historical bounds ( NOT(sameas(sector,"build") AND (sameas(entyFE,"fesos"))) ) !!disable buildings solids share incentives ).. v_penSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) @@ -1198,12 +1189,9 @@ q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$( ; q_minMaxPenSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$( + (t.val ge 2025) AND !!disable share incentives for historical years in buildings, industry and CDR as this should be handled by historical bounds ( sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt) ) AND !!only create the equation for valid cobinations of entySe, entyFe, sector and emiMkt ( (entySeBio(entySe) OR entySeSyn(entySe)) ) AND !!share incentives only need to be applied to n-1 secondary energy carriers - ( (NOT(sameas(sector,"build") AND (t.val le 2020))) - OR (NOT(sameas(sector,"indst") AND (t.val le 2020))) - OR (NOT(sameas(sector,"cdr") AND (t.val le 2020))) - ) AND !!disable share incentives for historical years in buildings, industry and CDR as this should be handled by historical bounds ( NOT(sameas(sector,"build") AND (sameas(entyFE,"fesos"))) ) !!disable buildings solids share incentives ).. ( diff --git a/core/preloop.gms b/core/preloop.gms index 5ec634728..e50a39f82 100644 --- a/core/preloop.gms +++ b/core/preloop.gms @@ -199,14 +199,11 @@ v_shSeFe.l(t,regi,entySe)$p_shSeFe(t,regi,entySe) = p_shSeFe(t,regi,entySe); $ifthen.penSeFeSectorShareDevCost not "%cm_seFeSectorShareDevMethod%" == "off" vm_demFeSector.l(t,regi,entySe,entyFe,sector,emiMkt)$( ( p_shSeFe(t,regi,entySe) ) AND + (t.val ge 2025) AND !!disable share incentives for historical years in buildings, industry and CDR as this should be handled by historical bounds ( entySeBio(entySe) OR entySeSyn(entySe) OR entySeFos(entySe) ) AND !! only redefine vm_demFeSector for entySeBio, entySeSyn and entySeFos items ( sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt) ) AND !!only create the equation for valid cobinations of entySe, entyFe, sector and emiMkt - ( (entySeBio(entySe) OR entySeSyn(entySe)) ) AND !!share incentives only need to be applied to n-1 secondary energy carriers - ( (NOT(sameas(sector,"build") AND (t.val le 2020))) - OR (NOT(sameas(sector,"indst") AND (t.val le 2020))) - OR (NOT(sameas(sector,"cdr") AND (t.val le 2020))) - ) AND !!disable historical year share incentives to buildings, industry and CDR - ( NOT(sameas(sector,"build") AND (sameas(entyFE,"fesos"))) ) !!disable buildings solids share incentives + ( (entySeBio(entySe) OR entySeSyn(entySe)) ) AND !!share incentives only need to be applied to n-1 secondary energy carriers + ( NOT(sameas(sector,"build") AND (sameas(entyFE,"fesos"))) ) !!disable buildings solids share incentives ) = sum(entySe2$sefe(entySe2,entyFe), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt)) * p_shSeFe(t,regi,entySe); From 4bdc30b164f84524f80c9475ae236ee539fbc7f2 Mon Sep 17 00:00:00 2001 From: David Klein Date: Wed, 23 Oct 2024 12:16:33 +0200 Subject: [PATCH 671/875] Minor changes to start and release scripts --- scripts/start/defineInputData.R | 2 +- scripts/start/updateInputData.R | 2 +- scripts/utils/release.R | 30 +++++++++++++++++------------- 3 files changed, 19 insertions(+), 15 deletions(-) diff --git a/scripts/start/defineInputData.R b/scripts/start/defineInputData.R index 5de980d3b..62ee86922 100644 --- a/scripts/start/defineInputData.R +++ b/scripts/start/defineInputData.R @@ -7,7 +7,7 @@ #' construct list of input data files #' @param cfg list of configs -defineInputData <- function(cfg) { +defineInputData <- function(cfg, remindPath = ".") { regicode <- madrat::regionscode(file.path(remindPath, cfg$regionmapping)) cfg$input <- c(paste0("rev",cfg$inputRevision,"_",regicode,"_", tolower(cfg$model_name),".tgz"), diff --git a/scripts/start/updateInputData.R b/scripts/start/updateInputData.R index 0803f1c1e..8a6448618 100644 --- a/scripts/start/updateInputData.R +++ b/scripts/start/updateInputData.R @@ -20,7 +20,7 @@ updateInputData <- function(cfg, remindPath = ".", gamsCompile = FALSE) { input_old <- "no_data" } - cfg <- defineInputData(cfg) + cfg <- defineInputData(cfg, remindPath) # check if all input files are already there missinginput <- if (isTRUE(gamsCompile)) NULL else missingInputData() diff --git a/scripts/utils/release.R b/scripts/utils/release.R index 6e2e9935e..1ec3b0445 100644 --- a/scripts/utils/release.R +++ b/scripts/utils/release.R @@ -1,19 +1,19 @@ -# Was ist mit dem tag? Muss man Release auf github? Muss der per Hand gemacht werden? -# Vielleicht so: -l, --label name Add labels by name +# This script is part of a longer workflow described here +# https://gitlab.pik-potsdam.de/rse/rse-internal/-/wikis/PublishModel release <- function(newVersion) { if (Sys.which("sbatch") == "") { stop("release must be created on cluster") } - + releaseDate <- format(Sys.time(), "%Y-%m-%d") - + # Get old version from CITATION.cff oldVersion <- readLines("CITATION.cff") |> grep(pattern = "^version: (.*)$", value = TRUE) |> sub(pattern = "^version: (.*)$", replacement = "\\1") |> sub(pattern = "dev", replacement = "") - + # Update CHANGELOG.md githubUrl <- "https://github.com/remindmodel/remind/compare/" readLines("CHANGELOG.md") |> @@ -24,22 +24,23 @@ release <- function(newVersion) { replacement = paste0("[Unreleased]: ", githubUrl, "v", newVersion, "...develop\n", "[", newVersion, "]: ", githubUrl, "v\\1...v", newVersion)) |> writeLines("CHANGELOG.md") - + # Update version and release date in CITATION.cff readLines("CITATION.cff") |> sub(pattern = "^version:.*$", replacement = paste("version:", newVersion)) |> sub(pattern = "^date-released:.*$", replacement = paste("date-released:", releaseDate)) |> writeLines("CITATION.cff") - + # Update version in README.md readLines("README.md") |> gsub(pattern = oldVersion, replacement = newVersion) |> writeLines("README.md") - + # Create documentation message("creating documentation using goxygen...") goxygen::goxygen(unitPattern = c("\\[","\\]"), - includeCore = TRUE, + includeCore = TRUE, + output = "html", max_num_edge_labels = "adjust", max_num_nodes_for_edge_labels = 15, startType = NULL) @@ -49,22 +50,25 @@ release <- function(newVersion) { exitCode <- system(paste0("rsync -e ssh -avz doc/html/* ", "rse@rse.pik-potsdam.de:/webservice/doc/remind/", newVersion)) stopifnot(exitCode == 0) - + # Upload input data to RSE server - message("uploading input data to RSE server") + message("Uploading input data to RSE server") + source("config/default.cfg") cfg <- defineInputData(cfg) # Keep mandatory input files only cfg$input <- cfg$input[cfg$stopOnMissing] gms::publish_data(cfg,target = "dataupload@rse.pik-potsdam.de:/remind/public") - + message("Please perform the two following steps manually:\n", "1. CHANGELOG.md: sort lines in each category: changed, added, removed, fixed; remove empty categories\n", "2. git add -p\n", "--> When done press ENTER to commit, push and create PR") gms::getLine() - + + message("Committing and pushing changes") gert::git_commit(paste("remind release", newVersion)) gert::git_push() + message("Creating a PR on GitHub") system(paste0("gh pr create --base master --title 'remind release ", newVersion, "' --body ''")) } From a0c864bc46ebee98a701f15580539b407615b2e6 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Fri, 25 Oct 2024 12:21:22 +0200 Subject: [PATCH 672/875] new input data rev7.1 and new CES parameter and gdx files for input data rev7.1 for SSP2, SSP2-EU21, SSP1, SSP2_lowEn and SSP5, calibration runs: /p/tmp/lavinia/REMIND/REMIND_calibration_2024_10_24/remind/output --- config/default.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/default.cfg b/config/default.cfg index 6ff8e1b96..7bcf4fc26 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -28,10 +28,10 @@ cfg$regionmapping <- "config/regionmappingH12.csv" cfg$extramappings_historic <- "" #### Current input data revision (.) #### -cfg$inputRevision <- "6.99" +cfg$inputRevision <- "7.1" #### Current CES parameter and GDX revision (commit hash) #### -cfg$CESandGDXversion <- "26e9d6764caa46c1e1cdedbaae68ddfe122afd29" +cfg$CESandGDXversion <- "f75d13da9c2efe3ffd2eaa5dbc29f98a8e87a6b8" #### Force the model to download new input data #### cfg$force_download <- FALSE From 2675f0f5fba9665213991a90ffd621bb105102ff Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Fri, 25 Oct 2024 11:57:23 +0000 Subject: [PATCH 673/875] Release development version 3.3.2.dev870 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 6871f76b3..bf09921f4 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev867" -date-released: 2024-10-22 +version: "3.3.2.dev870" +date-released: 2024-10-25 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 7bcf4fc26..85ea2c779 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev867" +cfg$model_version <- "3.3.2.dev870" #### settings #### cfg$gms <- list() From 1c505b3305ba8ea09f57fb088abbefe74b81fe84 Mon Sep 17 00:00:00 2001 From: David Klein Date: Fri, 25 Oct 2024 14:04:38 +0200 Subject: [PATCH 674/875] Added postRelease.R --- scripts/start/defineInputData.R | 1 + scripts/utils/postRelease.R | 47 +++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 scripts/utils/postRelease.R diff --git a/scripts/start/defineInputData.R b/scripts/start/defineInputData.R index 62ee86922..9b5498d38 100644 --- a/scripts/start/defineInputData.R +++ b/scripts/start/defineInputData.R @@ -6,6 +6,7 @@ # | Contact: remind@pik-potsdam.de #' construct list of input data files #' @param cfg list of configs +#' @param remindPath path to REMIND main folder defineInputData <- function(cfg, remindPath = ".") { diff --git a/scripts/utils/postRelease.R b/scripts/utils/postRelease.R new file mode 100644 index 000000000..e9fcd6c9e --- /dev/null +++ b/scripts/utils/postRelease.R @@ -0,0 +1,47 @@ +postRelease <- function() { + gert::git_fetch("upstream") + gert::git_merge("upstream/master") + + pattern <- "The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)." + stopifnot(any(grepl(pattern, readLines("CHANGELOG.md"), fixed = TRUE))) + textToAdd <- paste("", + "", + "", + "## [Unreleased]", + "", + "### changed", + "-", + "", + "### added", + "-", + "", + "### removed", + "-", + "", + "### fixed", + "-", + sep = "\n") + + readLines("CHANGELOG.md") |> + sub(pattern = pattern, replacement = paste0(pattern, textToAdd), fixed = TRUE) |> + writeLines("CHANGELOG.md") + + readLines("CITATION.cff") |> + sub(pattern = "^(version:.*)$", replacement = "\\1dev") |> + writeLines("CITATION.cff") + + citation::cff2zenodo("CITATION.cff") + + message("TODO: git add -p\n", + "Press enter when done to commit, push and create PR") + gms::getLine() + + gert::git_commit("merge master into develop") + gert::git_push() + system(paste0("gh pr create --base develop --title 'merge master into develop' --body ''")) +} + +postRelease() +message("warnings:") +print(warnings()) + From 868b5999b6972489b693b71b443ee366bf23d3a7 Mon Sep 17 00:00:00 2001 From: David Klein Date: Fri, 25 Oct 2024 14:06:57 +0200 Subject: [PATCH 675/875] Added comment --- scripts/utils/postRelease.R | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/utils/postRelease.R b/scripts/utils/postRelease.R index e9fcd6c9e..1b39f9125 100644 --- a/scripts/utils/postRelease.R +++ b/scripts/utils/postRelease.R @@ -1,3 +1,6 @@ +# This script is part of a longer workflow described here +# https://gitlab.pik-potsdam.de/rse/rse-internal/-/wikis/PublishModel + postRelease <- function() { gert::git_fetch("upstream") gert::git_merge("upstream/master") From 54fa26f3119e165578da42cd7ce823340462aab8 Mon Sep 17 00:00:00 2001 From: David Klein Date: Fri, 25 Oct 2024 14:19:44 +0200 Subject: [PATCH 676/875] Add comments to release scritps --- scripts/utils/postRelease.R | 10 ++++++---- scripts/utils/release.R | 3 +++ 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/scripts/utils/postRelease.R b/scripts/utils/postRelease.R index 1b39f9125..109d69353 100644 --- a/scripts/utils/postRelease.R +++ b/scripts/utils/postRelease.R @@ -33,14 +33,16 @@ postRelease <- function() { sub(pattern = "^(version:.*)$", replacement = "\\1dev") |> writeLines("CITATION.cff") - citation::cff2zenodo("CITATION.cff") - - message("TODO: git add -p\n", - "Press enter when done to commit, push and create PR") + message("Please perform the following step manually:\n", + "git add -p\n", + "--> When done press ENTER to commit, push and create PR") gms::getLine() gert::git_commit("merge master into develop") gert::git_push() + # gh pr create --help + # --base branch The branch into which you want your code merged + # --head branch The branch that contains commits for your pull request (default [current branch]) system(paste0("gh pr create --base develop --title 'merge master into develop' --body ''")) } diff --git a/scripts/utils/release.R b/scripts/utils/release.R index 1ec3b0445..57553e392 100644 --- a/scripts/utils/release.R +++ b/scripts/utils/release.R @@ -69,6 +69,9 @@ release <- function(newVersion) { gert::git_commit(paste("remind release", newVersion)) gert::git_push() message("Creating a PR on GitHub") + # gh pr create --help + # --base branch The branch into which you want your code merged + # --head branch The branch that contains commits for your pull request (default [current branch]) system(paste0("gh pr create --base master --title 'remind release ", newVersion, "' --body ''")) } From 3e33878ffb82e935d1a9df7111263e26e7b15f0e Mon Sep 17 00:00:00 2001 From: David Klein Date: Fri, 25 Oct 2024 14:26:07 +0200 Subject: [PATCH 677/875] Add comment about release scripts to CHANGELOG.md --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8cd9ee1e8..2b2de178e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -67,6 +67,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). [[#1851](https://github.com/remindmodel/remind/pull/1851)] - **testthat** ignore missing historical.mif in tests because it is an optional input file [[#1857](https://github.com/remindmodel/remind/pull/1857)] +- **scripts** Add scripts for preparing a release + [[#1871](https://github.com/remindmodel/remind/pull/1871)] ### fixed - included CCS from plastic waste incineration in CCS mass flows so it is From c9ee4448b4a1c93f8281086b510a2d9e14b8fd8f Mon Sep 17 00:00:00 2001 From: Michaja Pehl Date: Mon, 28 Oct 2024 09:43:21 +0100 Subject: [PATCH 678/875] fix vm_demFENonEnergySector to zero if not element of entyFE2sector2emiMkt_NonEn fix remindmodel/development_issues#399 --- modules/37_industry/subsectors/equations.gms | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/modules/37_industry/subsectors/equations.gms b/modules/37_industry/subsectors/equations.gms index e6011ce34..44c861b56 100644 --- a/modules/37_industry/subsectors/equations.gms +++ b/modules/37_industry/subsectors/equations.gms @@ -217,9 +217,9 @@ q37_chemicals_feedstocks_limit(t,regi) .. * p37_chemicals_feedstock_share(t,regi) ; -*' Define the flow of non-energy feedstocks. It is used for emissions accounting and calculating plastics production -q37_demFeFeedstockChemIndst(t,regi,entyFe,emiMkt)$( - entyFE2sector2emiMkt_NonEn(entyFe,"indst",emiMkt) ) .. +*' Define the flow of non-energy feedstocks. It is used for emissions +*' accounting and calculating plastics production +q37_demFeFeedstockChemIndst(t,regi,entyFe,emiMkt) .. sum(se2fe(entySe,entyFe,te), vm_demFENonEnergySector(t,regi,entySe,entyFe,"indst",emiMkt) ) @@ -231,15 +231,13 @@ q37_demFeFeedstockChemIndst(t,regi,entyFe,emiMkt)$( + pm_cesdata(t,regi,in,"offset_quantity") ) * p37_chemicals_feedstock_share(t,regi) - ) + )$( entyFE2sector2emiMkt_NonEn(entyFe,"indst",emiMkt) ) ; *' Feedstocks flow has to be lower than total energy flow into the industry q37_feedstocksLimit(t,regi,entySe,entyFe,emiMkt)$( - sefe(entySe,entyFe) - AND sector2emiMkt("indst",emiMkt) - AND entyFe2Sector(entyFe,"indst") - AND entyFeCC37(entyFe) ) .. + sefe(entySe,entyFe) + AND entyFE2sector2emiMkt_NonEn(entyFe,"indst",emiMkt) ) .. vm_demFeSector_afterTax(t,regi,entySe,entyFe,"indst",emiMkt) =g= vm_demFENonEnergySector(t,regi,entySe,entyFe,"indst",emiMkt) From 7fe7fd5e32a294e661cfd982dd130079b4a4721a Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Mon, 28 Oct 2024 09:07:07 +0000 Subject: [PATCH 679/875] Release development version 3.3.2.dev873 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index bf09921f4..3a04c5ac1 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev870" -date-released: 2024-10-25 +version: "3.3.2.dev873" +date-released: 2024-10-28 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 85ea2c779..a68244870 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev870" +cfg$model_version <- "3.3.2.dev873" #### settings #### cfg$gms <- list() From 7a3eaa913b540f3900f76c4c81460ec7c94464f0 Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Fri, 1 Nov 2024 12:03:12 +0100 Subject: [PATCH 680/875] add support for switch to force monotonuosly decreasing solids fossil use per region --- core/declarations.gms | 3 +++ core/equations.gms | 10 ++++++++++ core/sets.gms | 9 +++++++++ main.gms | 3 +++ 4 files changed, 25 insertions(+) diff --git a/core/declarations.gms b/core/declarations.gms index ca4253635..0e16d00c7 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -565,6 +565,9 @@ $IFTHEN.sehe_upper not "%cm_sehe_upper%" == "off" q_heat_limit(ttot,all_regi) "equation to limit maximum level of secondary energy district heating and heat pumps use" $ENDIF.sehe_upper +$ifthen.limitSolidsFossilRegi not %cm_limitSolidsFossilRegi% == "off" + q_fossilSolidsLimitReg(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "limit solids fossil to be lower or equal to previous year values" +$endif.limitSolidsFossilRegi ; ***---------------------------------------------------------------------------------------- *** SCALARS diff --git a/core/equations.gms b/core/equations.gms index 438947d8e..33e3ea384 100644 --- a/core/equations.gms +++ b/core/equations.gms @@ -1127,4 +1127,14 @@ q_shbiofe_lo(t,regi,entyFe,sector,emiMkt)$(pm_secBioShare(t,regi,entyFe,sector) sum((entySeBio,te)$se2fe(entySeBio,entyFe,te), vm_demFeSector_afterTax(t,regi,entySeBio,entyFe,sector,emiMkt)) ; +***--------------------------------------------------------------------------- +*' Limit solids fossil to be lower or equal to previous year values +***--------------------------------------------------------------------------- +$ifthen.limitSolidsFossilRegi not %cm_limitSolidsFossilRegi% == "off" +q_fossilSolidsLimitReg(ttot,regi,entySe,entyFe,sector,emiMkt)$(limitSolidsFossilRegi(regi) and (ttot.val ge max(2020, cm_startyear)) AND sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND (sameas(sector,"indst") OR sameas(sector,"build")) AND sameas(entySe,"sesofos")).. + vm_demFeSector_afterTax(ttot,regi,entySe,entyFe,sector,emiMkt) + =l= + vm_demFeSector_afterTax(ttot-1,regi,entySe,entyFe,sector,emiMkt); +$endif.limitSolidsFossilRegi + *** EOF ./core/equations.gms diff --git a/core/sets.gms b/core/sets.gms index 22f210087..d503e87ba 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -922,6 +922,15 @@ set ; $endif.altFeEmiFac +$ifthen.limitSolidsFossilRegi not %cm_limitSolidsFossilRegi% == "off" + set limitSolidsFossilextRegi(ext_regi) "set to store ext_regi regions that should have solids fossil upper bound limited by previous year" / %cm_limitSolidsFossilRegi% / + limitSolidsFossilRegi(all_regi) "set to store regi regions that should have solids fossil upper bound limited by previous year" + ; + loop(ext_regi$limitSolidsFossilextRegi(ext_regi), + limitSolidsFossilRegi(all_regi)$(regi_group(ext_regi,all_regi)) = YES; + ); +$endif.limitSolidsFossilRegi + ***############################################################################### ***######################## R SECTION START (MODULES) ############################### *** THIS CODE IS CREATED AUTOMATICALLY, DO NOT MODIFY THESE LINES DIRECTLY diff --git a/main.gms b/main.gms index 77e381b79..44def1fc9 100755 --- a/main.gms +++ b/main.gms @@ -1762,6 +1762,9 @@ $setglobal cm_INCONV_PENALTY_FESwitch on !! def = on !! regexp = off|on *** *JH/LB* Activate MOFEX partial fossil fuel extraction cost minimization model *** * Warning: Use a well-converged run since the model uses vm_prodPe from the input GDX $setGlobal cm_MOFEX off !! def = off !! regexp = off|on +*** cm_limitSolidsFossilRegi off !! def=off +*** ext_regi value, e.g. "EUR_regi, USA" "solids fossil in industry and buildings for regions within EUR_regi and USA are forced to be monotonuosly decreasing from 2020 or cm_startyear onward." +$setGlobal cm_limitSolidsFossilRegi off *** cm_Full_Integration *** use "on" to treat wind and solar as fully dispatchable electricity production technologies $setGlobal cm_Full_Integration off !! def = off !! regexp = off|on From 7bf3af0d5f1a12b9c71438b392a24f2f10b02d17 Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Fri, 1 Nov 2024 12:09:31 +0100 Subject: [PATCH 681/875] add EU 2040 paper scenario config file --- .../scenario_config_21_EU11_2040_target.csv | 215 ++++++++++++++++++ 1 file changed, 215 insertions(+) create mode 100644 config/scenario_config_21_EU11_2040_target.csv diff --git a/config/scenario_config_21_EU11_2040_target.csv b/config/scenario_config_21_EU11_2040_target.csv new file mode 100644 index 000000000..b18dbbbb7 --- /dev/null +++ b/config/scenario_config_21_EU11_2040_target.csv @@ -0,0 +1,215 @@ +title;start;c_tech_CO2capturerate;cm_limitSolidsFossilRegi;cm_INCONV_PENALTY_FESwitch;cm_seFeSectorShareDevMethod;c_seFeSectorShareDevUnit;c_seFeSectorShareDevScale;c_ccsinjecratescen;trade;cm_import_EU;cm_implicitQttyTargetType;cm_implicitQttyTarget;regipol;cm_emiMktTarget;cm_emiMktTarget_tolerance;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_EDGEtr_scen;cm_wasteIncinerationCCSshare;cm_SEtaxRampUpParam;cm_regiExoPrice;CES_parameters;optimization;cm_nash_mode;c_testOneRegi_region;c_keep_iteration_gdxes;cm_abortOnConsecFail;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_startyear;cm_peakBudgYr;cm_emiscen;techpol;cm_multigasscen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;description;cm_PriceDurSlope_elh2;cm_adj_coeff;cm_inco0Factor +xx_Calib;0,calib;;;;sqSectorAvrgShare;;;;;;;;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;Mix1;;;;calibrate;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;0;NPi;;;9;NPi2018;3;2005;;;;Npi;;; +xx_Npi;0,npi;;EUR_regi;;sqSectorAvrgShare;;;;;;;;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;Mix1;;;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;9;NPi2018;3;2005;;;;Npi;;; +# Policy Scenarios EU27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +## 55% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_Nzero_55_bio4;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Npi;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bio7p5;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Npi;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bio12;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Npi;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bio20;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Npi;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio4;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio7p5;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio12;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio20;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio4;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio7p5;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio12;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio20;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio4;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio7p5;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio12;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio20;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio20;xx_Npi;xx_Npi;;GLO 20;; +## 57% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_Nzero_57_bio4;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bio7p5;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bio12;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bio20;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio4;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio7p5;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio12;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio20;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio4;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio7p5;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio12;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio20;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio4;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio7p5;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio12;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio20;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20;xx_Npi;xx_Npi;;GLO 20;; +## 59% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_Nzero_59_bio4;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;20;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio7p5;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio12;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;20;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio20;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio4;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio7p5;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio12;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio20;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio4;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio7p5;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio12;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio20;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio4;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio7p5;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio12;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio20;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20;xx_Npi;xx_Npi;;GLO 20;; +# Limited Carbon capture;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +## limCC - 55% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_Nzero_55_bio4_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bio7p5_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bioxx_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bio20_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio4_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio7p5_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bioxx_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio20_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio4_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio7p5_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bioxx_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio20_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio4_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio7p5_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bioxx_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio20_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; +## limCC - 57% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_Nzero_57_bio4_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bio7p5_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bioxx_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bio20_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio4_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio7p5_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bioxx_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio20_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio4_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio7p5_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bioxx_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio20_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio4_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio7p5_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bioxx_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio20_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; +## limCC - 59% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_Nzero_59_bio4_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio7p5_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bioxx_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio20_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio4_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio7p5_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bioxx_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio20_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio4_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio7p5_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bioxx_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio20_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio4_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio7p5_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bioxx_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio20_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; +# Limited Variable Renewables;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +## limRES - 55% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_Nzero_55_bio4_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bio7p5_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bioxx_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bio20_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio4_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio7p5_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bioxx_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio20_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio4_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio7p5_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bioxx_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio20_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio4_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio7p5_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bioxx_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio20_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; +## limRES - 57% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_Nzero_57_bio4_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bio7p5_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bioxx_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bio20_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio4_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio7p5_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bioxx_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio20_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio4_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio7p5_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bioxx_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio20_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio4_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio7p5_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bioxx_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio20_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; +## limRES - 59% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_Nzero_59_bio4_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio7p5_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bioxx_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio20_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio4_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio7p5_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bioxx_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio20_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio4_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio7p5_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bioxx_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio20_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio4_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio7p5_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bioxx_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio20_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; +# Limited Hydrogen and E-fuels;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +## limH2 - 55% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_Nzero_55_bio4_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bio7p5_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bioxx_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bio20_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio4_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio7p5_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bioxx_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio20_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio4_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio7p5_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bioxx_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio20_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio4_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio7p5_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bioxx_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio20_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; +## limH2 - 57% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_Nzero_57_bio4_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bio7p5_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bioxx_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bio20_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio4_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio7p5_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bioxx_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio20_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio4_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio7p5_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bioxx_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio20_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio4_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio7p5_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bioxx_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio20_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; +## limH2 - 59% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_Nzero_59_bio4_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio7p5_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bioxx_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio20_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio4_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio7p5_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bioxx_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio20_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio4_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio7p5_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bioxx_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio20_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio4_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio7p5_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bioxx_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio20_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; +# Test Runs;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_Npi_DEU;0,DEUtest;;EUR_regi;;;;;;;;;;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;Mix1;;;;;testOneRegi;;DEU;1;1;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;9;NPi2018;3;2005;;;;Npi;;; +xx_Npi_IND;0,INDtest;;;;;;;;;;;;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;Mix1;;;;;testOneRegi;;IND;1;1;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;9;NPi2018;3;2005;;;;Npi;;; +xx_Npi_NEN;0,NENtest;;;;;;;;;;;;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;Mix1;;;;;testOneRegi;;NEN;1;1;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;9;NPi2018;3;2005;;;;Npi;;; From cbce8bb3ffbf8ee35ca091e93d42a6f4fb8c405a Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Tue, 5 Nov 2024 14:47:44 +0100 Subject: [PATCH 682/875] improve descriptions and change the eqaution to le --- core/declarations.gms | 2 +- core/equations.gms | 2 +- core/sets.gms | 4 ++-- main.gms | 4 +++- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/core/declarations.gms b/core/declarations.gms index 0e16d00c7..ace32d0e0 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -566,7 +566,7 @@ q_heat_limit(ttot,all_regi) "equation to limit maximum level of secondary energ $ENDIF.sehe_upper $ifthen.limitSolidsFossilRegi not %cm_limitSolidsFossilRegi% == "off" - q_fossilSolidsLimitReg(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "limit solids fossil to be lower or equal to previous year values" + q_fossilSolidsLimitReg(ttot,all_regi,all_enty,all_enty,emi_sectors,all_emiMkt) "limit solids fossil to be lower or equal to previous year values in each (sector x emiMkt) combination" $endif.limitSolidsFossilRegi ; ***---------------------------------------------------------------------------------------- diff --git a/core/equations.gms b/core/equations.gms index 33e3ea384..476f5049d 100644 --- a/core/equations.gms +++ b/core/equations.gms @@ -1133,7 +1133,7 @@ q_shbiofe_lo(t,regi,entyFe,sector,emiMkt)$(pm_secBioShare(t,regi,entyFe,sector) $ifthen.limitSolidsFossilRegi not %cm_limitSolidsFossilRegi% == "off" q_fossilSolidsLimitReg(ttot,regi,entySe,entyFe,sector,emiMkt)$(limitSolidsFossilRegi(regi) and (ttot.val ge max(2020, cm_startyear)) AND sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND (sameas(sector,"indst") OR sameas(sector,"build")) AND sameas(entySe,"sesofos")).. vm_demFeSector_afterTax(ttot,regi,entySe,entyFe,sector,emiMkt) - =l= + =le= vm_demFeSector_afterTax(ttot-1,regi,entySe,entyFe,sector,emiMkt); $endif.limitSolidsFossilRegi diff --git a/core/sets.gms b/core/sets.gms index d503e87ba..54f85cfe2 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -923,8 +923,8 @@ set $endif.altFeEmiFac $ifthen.limitSolidsFossilRegi not %cm_limitSolidsFossilRegi% == "off" - set limitSolidsFossilextRegi(ext_regi) "set to store ext_regi regions that should have solids fossil upper bound limited by previous year" / %cm_limitSolidsFossilRegi% / - limitSolidsFossilRegi(all_regi) "set to store regi regions that should have solids fossil upper bound limited by previous year" + set limitSolidsFossilextRegi(ext_regi) "set to store ext_regi regions where fossil solids use in each (sector x emiMkt) is limited by the amount used in the previous year" / %cm_limitSolidsFossilRegi% / + limitSolidsFossilRegi(all_regi) "set to store regi regions where fossil solids use in each (sector x emiMkt) is limited by the amount used in the previous year" ; loop(ext_regi$limitSolidsFossilextRegi(ext_regi), limitSolidsFossilRegi(all_regi)$(regi_group(ext_regi,all_regi)) = YES; diff --git a/main.gms b/main.gms index 44def1fc9..91200ec6e 100755 --- a/main.gms +++ b/main.gms @@ -1763,7 +1763,9 @@ $setglobal cm_INCONV_PENALTY_FESwitch on !! def = on !! regexp = off|on *** * Warning: Use a well-converged run since the model uses vm_prodPe from the input GDX $setGlobal cm_MOFEX off !! def = off !! regexp = off|on *** cm_limitSolidsFossilRegi off !! def=off -*** ext_regi value, e.g. "EUR_regi, USA" "solids fossil in industry and buildings for regions within EUR_regi and USA are forced to be monotonuosly decreasing from 2020 or cm_startyear onward." +*** starting in max(2020, cm_startyear), fossil solids use in each (sector x emiMkt) has to decrease compared to the previous time step for each region included in the switch cm_limitSolidsFossilRegi +*** aceptable values: any of the ext_regi set elements +*** e.g. "EUR_regi, USA" "solids fossil in industry and buildings for regions within EUR_regi and USA have to be lower or equal to the previous time step from 2020 or cm_startyear onward." $setGlobal cm_limitSolidsFossilRegi off *** cm_Full_Integration *** use "on" to treat wind and solar as fully dispatchable electricity production technologies From 3a6c0ecc1b859379926e520f4574b1b334ef3a76 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Mon, 9 Sep 2024 11:48:01 +0200 Subject: [PATCH 683/875] update initialization of learning curve for electrolysis, higher CAPEX in the beginning --- core/input/generisdata_tech.prn | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/core/input/generisdata_tech.prn b/core/input/generisdata_tech.prn index a236c1989..af258eaad 100644 --- a/core/input/generisdata_tech.prn +++ b/core/input/generisdata_tech.prn @@ -69,16 +69,16 @@ luse + elh2 dot dhp h2turb h2curt h2turbVRE elh2VRE h22ch4 MeOH -tech_stat 4 5 5 5 3 3 -inco0 1350 480 360 510 700 510 0.1 700 1300 +tech_stat 3 5 5 5 3 3 +inco0 3500 480 360 510 700 510 0.1 700 1300 constrTme 2 2 1 2 2 2 1 2 2 mix0 eta 0.73 0.30 0.80 0.40 0.62 0.40 0.73 0.8 0.7 omf 0.05 0.03 0.03 0.03 0.05 0.03 0.00 0.04 0.05 omv 3 12 12 24 0 24 3 25 lifetime 30 25 25 30 30 30 30 30 30 -incolearn 1200 -ccap0 0.0065 +incolearn 3370 +ccap0 0.00077 learn 0.15 @@ -188,14 +188,13 @@ Explanations: Electrolysis - elh2 learning parameterization: -Assume that 10 GW(el) electrolysis installed globally and CAPEX of 800 EUR/kW(el) in 2025 -(slightly optimistic due to recent policies, e.g. EU Hydrogen Bank and US Inflation Reduction Act) -(Odenweller et al. (2022), https://doi.org/10.1038/s41560-022-01097-4, -Ueckerdt et al. (2021), https://doi.org/10.1038/s41558-021-01032-7, Fig. S3). -10 GW(el) * 0.65 (elh2 efficiency) * 1e-3 ~ 0.0065 TW(H2) = ccap0 -800 EUR/kW(el) / 0.65 (elh2 efficiency) * 1.1 (EUR to USD, 2015) ~ 1350 USD/kW(H2) = inco0 -Assume floor cost: 100 EUR/kW(el) -100 EUR/kW(el) / 0.75 (long-term elh2 efficiency) * 1.1 (EUR to USD, 2015) ~ 150 USD/kW(H2) -> incolearn = 1200 +Initialize learning curve for electrolysis at 0.5 GW(el) installed globally at CAPEX of 3000 USD/kW(el) in 2020. +Based on Ramboll 2023, https://energycentral.com/system/files/ece/nodes/658117/ghpp.pdf +and IEA 2024 Hydrogen Review, https://www.iea.org/reports/global-hydrogen-review-2024 +0.5 GW(el) * 0.65 (elh2 efficiency) * 1e-3 ~ 0.00077 TW(H2) = ccap0 +2300 USD/kW(el) / 0.65 (elh2 efficiency) ~ 3500 USD/kW(H2) = inco0 +Assume floor cost: 100 USD/kW(el) +100 USD/kW(el) / 0.75 (long-term elh2 efficiency) ~ 133 USD/kW(H2) -> incolearn = 3370 Direct Air Capture - dac learning parameterization: From c4b6f0a53db85e9dd2757d0ba248c497b2aae811 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Tue, 5 Nov 2024 21:05:22 +0100 Subject: [PATCH 684/875] new input data rev7.11 and new CES parameters and gdx files for SSP2, SSP2-EU21, SSP1, SSP2_lowEn and SSP5, calibration runs here: /p/tmp/lavinia/REMIND/REMIND_calibration_2024_11_04/remind/ --- config/default.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/default.cfg b/config/default.cfg index a68244870..2f56ae4f0 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -28,10 +28,10 @@ cfg$regionmapping <- "config/regionmappingH12.csv" cfg$extramappings_historic <- "" #### Current input data revision (.) #### -cfg$inputRevision <- "7.1" +cfg$inputRevision <- "7.11" #### Current CES parameter and GDX revision (commit hash) #### -cfg$CESandGDXversion <- "f75d13da9c2efe3ffd2eaa5dbc29f98a8e87a6b8" +cfg$CESandGDXversion <- "84b10b9308f97fae38923762b840b8dffd456568" #### Force the model to download new input data #### cfg$force_download <- FALSE From 8e592cb17307454e908aeab90d7e4080a9c1e6a3 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Wed, 6 Nov 2024 08:55:07 +0000 Subject: [PATCH 685/875] Release development version 3.3.2.dev876 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 3a04c5ac1..510bb1c9d 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev873" -date-released: 2024-10-28 +version: "3.3.2.dev876" +date-released: 2024-11-06 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 2f56ae4f0..81dbfa3d4 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev873" +cfg$model_version <- "3.3.2.dev876" #### settings #### cfg$gms <- list() From 5917b0910e51f5f065e5b92500925ace71175d25 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Wed, 6 Nov 2024 14:37:33 +0000 Subject: [PATCH 686/875] Release development version 3.3.2.dev880 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 510bb1c9d..e4bd4f569 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev876" +version: "3.3.2.dev880" date-released: 2024-11-06 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 81dbfa3d4..6fcabcca4 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev876" +cfg$model_version <- "3.3.2.dev880" #### settings #### cfg$gms <- list() From 250466cf413eb69e467d9336dd99b7f9e674f8bb Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Thu, 7 Nov 2024 15:25:04 +0100 Subject: [PATCH 687/875] fix mistype in the scenario config --- .../scenario_config_21_EU11_2040_target.csv | 128 +++++++++--------- 1 file changed, 64 insertions(+), 64 deletions(-) diff --git a/config/scenario_config_21_EU11_2040_target.csv b/config/scenario_config_21_EU11_2040_target.csv index b18dbbbb7..e2e5a8acb 100644 --- a/config/scenario_config_21_EU11_2040_target.csv +++ b/config/scenario_config_21_EU11_2040_target.csv @@ -37,22 +37,22 @@ xx_Nzero_57_RpEUEff_bio7p5;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_ xx_Nzero_57_RpEUEff_bio12;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio12;xx_Npi;xx_Npi;;GLO 20;; xx_Nzero_57_RpEUEff_bio20;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20;xx_Npi;xx_Npi;;GLO 20;; ## 59% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_Nzero_59_bio4;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;20;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio4;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_bio7p5;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_bio12;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;20;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio12;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_bio20;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_eedEff_bio4;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_eedEff_bio7p5;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_eedEff_bio12;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio12;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_eedEff_bio20;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_ff55Eff_bio4;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_ff55Eff_bio7p5;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_ff55Eff_bio12;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio12;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_ff55Eff_bio20;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_RpEUEff_bio4;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_RpEUEff_bio7p5;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_RpEUEff_bio12;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio12;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_RpEUEff_bio20;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio4;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;20;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio7p5;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio12;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;20;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio20;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio4;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio7p5;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio12;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio20;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio4;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio7p5;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio12;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio20;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio4;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio7p5;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio12;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio20;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20;xx_Npi;xx_Npi;;GLO 20;; # Limited Carbon capture;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ## limCC - 55% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; xx_Nzero_55_bio4_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio4;xx_Npi;xx_Npi;;GLO 20;; @@ -89,22 +89,22 @@ xx_Nzero_57_RpEUEff_bio7p5_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare; xx_Nzero_57_RpEUEff_bioxx_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; xx_Nzero_57_RpEUEff_bio20_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; ## limCC - 59% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_Nzero_59_bio4_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_bio7p5_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_bioxx_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio12;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_bio20_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_eedEff_bio4_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_eedEff_bio7p5_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_eedEff_bioxx_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_eedEff_bio20_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_ff55Eff_bio4_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_ff55Eff_bio7p5_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_ff55Eff_bioxx_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_ff55Eff_bio20_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_RpEUEff_bio4_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_RpEUEff_bio7p5_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_RpEUEff_bioxx_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_RpEUEff_bio20_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio4_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio7p5_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bioxx_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio20_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio4_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio7p5_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bioxx_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio20_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio4_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio7p5_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bioxx_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio20_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio4_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio7p5_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bioxx_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio20_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; # Limited Variable Renewables;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ## limRES - 55% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; xx_Nzero_55_bio4_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio4;xx_Npi;xx_Npi;;GLO 20;; @@ -141,22 +141,22 @@ xx_Nzero_57_RpEUEff_bio7p5_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare xx_Nzero_57_RpEUEff_bioxx_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; xx_Nzero_57_RpEUEff_bio20_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; ## limRES - 59% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_Nzero_59_bio4_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_bio7p5_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_bioxx_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio12;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_bio20_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_eedEff_bio4_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_eedEff_bio7p5_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_eedEff_bioxx_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_eedEff_bio20_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_ff55Eff_bio4_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_ff55Eff_bio7p5_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_ff55Eff_bioxx_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_ff55Eff_bio20_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_RpEUEff_bio4_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_RpEUEff_bio7p5_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_RpEUEff_bioxx_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_RpEUEff_bio20_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio4_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio7p5_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bioxx_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio20_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio4_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio7p5_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bioxx_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio20_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio4_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio7p5_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bioxx_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio20_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio4_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio7p5_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bioxx_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio20_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; # Limited Hydrogen and E-fuels;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ## limH2 - 55% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; xx_Nzero_55_bio4_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio4;xx_Npi;xx_Npi;;GLO 20;; @@ -193,22 +193,22 @@ xx_Nzero_57_RpEUEff_bio7p5_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare; xx_Nzero_57_RpEUEff_bioxx_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; xx_Nzero_57_RpEUEff_bio20_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; ## limH2 - 59% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_Nzero_59_bio4_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_bio7p5_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_bioxx_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio12;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_bio20_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_eedEff_bio4_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_eedEff_bio7p5_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_eedEff_bioxx_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_eedEff_bio20_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_ff55Eff_bio4_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_ff55Eff_bio7p5_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_ff55Eff_bioxx_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_ff55Eff_bio20_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_RpEUEff_bio4_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_RpEUEff_bio7p5_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_RpEUEff_bioxx_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_RpEUEff_bio20_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio4_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio7p5_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bioxx_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio20_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio4_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio7p5_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bioxx_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio20_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio4_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio7p5_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bioxx_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio20_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio4_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio7p5_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bioxx_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio20_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; # Test Runs;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; xx_Npi_DEU;0,DEUtest;;EUR_regi;;;;;;;;;;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;Mix1;;;;;testOneRegi;;DEU;1;1;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;9;NPi2018;3;2005;;;;Npi;;; xx_Npi_IND;0,INDtest;;;;;;;;;;;;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;Mix1;;;;;testOneRegi;;IND;1;1;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;9;NPi2018;3;2005;;;;Npi;;; From 5902d3f17099365d14719150718b186915c4e2ce Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Thu, 7 Nov 2024 14:59:42 +0000 Subject: [PATCH 688/875] Release development version 3.3.2.dev916 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index e4bd4f569..7fbf50a2e 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev880" -date-released: 2024-11-06 +version: "3.3.2.dev916" +date-released: 2024-11-07 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 6fcabcca4..b7c836cad 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev880" +cfg$model_version <- "3.3.2.dev916" #### settings #### cfg$gms <- list() From 2d4346103d4ec549a6b83e9871d0a0019c3a9123 Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Fri, 8 Nov 2024 15:58:19 +0100 Subject: [PATCH 689/875] updating bioftcrec value --- core/input/generisdata_tech.prn | 6 +++--- core/input/generisdata_tech_SSP5.prn | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/core/input/generisdata_tech.prn b/core/input/generisdata_tech.prn index a236c1989..ff9cd9f9e 100644 --- a/core/input/generisdata_tech.prn +++ b/core/input/generisdata_tech.prn @@ -45,12 +45,12 @@ lifetime 40 40 40 40 40 + biotr biotrmod biochp biohp bioigcc bioigccc biogas biogasc bioh2 bioh2c bioethl bioeths biodiesel bioftrec bioftcrec tech_stat 1 3 1 3 2 3 2 3 3 -inco0 10 300 3000 550 2450 3150 1200 1230 1680 2040 2860 590 160 3000 3600 +inco0 10 300 3000 550 2450 3150 1200 1230 1680 2040 2860 590 160 3000 2900 constrTme 0 1 4 2 4 5 4 4 4 4 4 2 2 4 5 mix0 0.00 eta 1.00 0.95 0.35 0.72 0.39 0.28 0.55 0.55 0.59 0.55 0.36 0.55 0.93 0.41 0.41 -omf 0.03 0.04 0.04 0.04 0.04 0.04 0.06 0.07 0.08 0.07 0.11 0.05 0.05 0.06 -omv 30.11 25.00 31.50 50.50 10.90 12.80 10.60 10.60 97.27 38.99 5.05 10.60 +omf 0.03 0.04 0.04 0.04 0.04 0.04 0.06 0.07 0.08 0.07 0.11 0.05 0.05 0.07 +omv 30.11 25.00 31.50 50.50 10.90 12.80 10.60 10.60 97.27 38.99 5.05 14.00 lifetime 35 35 40 40 40 40 40 40 35 35 35 35 35 35 35 diff --git a/core/input/generisdata_tech_SSP5.prn b/core/input/generisdata_tech_SSP5.prn index 74f837c23..04c3faafa 100644 --- a/core/input/generisdata_tech_SSP5.prn +++ b/core/input/generisdata_tech_SSP5.prn @@ -45,12 +45,12 @@ lifetime 40 40 40 40 40 + biotr biotrmod biochp biohp bioigcc bioigccc biogas biogasc bioh2 bioh2c bioethl bioeths biodiesel bioftrec bioftcrec tech_stat 1 3 1 3 2 3 2 3 3 -inco0 180 400 3000 550 2450 3150 1200 1230 1680 2040 2860 590 160 3000 3600 +inco0 180 400 3000 550 2450 3150 1200 1230 1680 2040 2860 590 160 3000 2900 constrTme 0 1 4 2 4 5 4 4 4 4 4 2 2 4 5 mix0 0.00 0.03 0.05 eta 1.00 0.95 0.35 0.72 0.39 0.28 0.55 0.55 0.61 0.55 0.36 0.55 0.93 0.41 0.41 -omf 0.03 0.04 0.04 0.04 0.04 0.04 0.06 0.10 0.10 0.07 0.11 0.05 0.04 0.04 -omv 30.11 25.00 31.50 50.50 10.90 12.80 10.60 10.60 97.27 38.99 5.05 10.60 +omf 0.03 0.04 0.04 0.04 0.04 0.04 0.06 0.10 0.10 0.07 0.11 0.05 0.04 0.07 +omv 30.11 25.00 31.50 50.50 10.90 12.80 10.60 10.60 97.27 38.99 5.05 14.00 lifetime 35 35 40 40 40 40 40 40 35 35 35 20 20 35 35 + geohdr geohe hydro windon windoff spv solhe csp From 425c2ce68cc2fa563c025681ce8f6279e615ec5d Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Fri, 8 Nov 2024 16:23:54 +0100 Subject: [PATCH 690/875] change default value for cm_seFeSectorShareDevMethod --- main.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.gms b/main.gms index b1737f45b..edbbf5778 100755 --- a/main.gms +++ b/main.gms @@ -1770,7 +1770,7 @@ $setglobal cm_INCONV_PENALTY_FESwitch on !! def = on !! regexp = off|on *** sqSectorAvrgShare "Square deviation from average share penalty. Recomended over sqSectorShare (see above)." *** minMaxAvrgShare "Min-max deviation from average share penalty." *** The relative effect of the penalization term in the objective function is scaled to avoid affecting optimization results. This scaling factor can be defined using the switch c_seFeSectorShareDevScale. -$setglobal cm_seFeSectorShareDevMethod off !! def = sqSectorAvrgShare !! regexp = off|sqSectorShare|sqSectorAvrgShare|minMaxAvrgShare +$setglobal cm_seFeSectorShareDevMethod sqSectorAvrgShare !! def = sqSectorAvrgShare !! regexp = off|sqSectorShare|sqSectorAvrgShare|minMaxAvrgShare *** c_seFeSectorShareDevUnit "Defines if the penalization term is applied over fuel shares or energy units." *** share, "The square penalization is applied directly to the share values. This results in different-sized regions having varying relative penalization incentives, but the range of penalization values will be more consistent from the solver's perspective." *** energy, "The square penalization is applied to the share values multiplied by the energy demand. This approach scales penalizations better across different-sized regions, but there is a higher risk of the penalizations being ignored and the shares not being enforced if the value range is too small." From e5c4f46830ade228132c50fba82735fc37ebeccc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tonn=20R=C3=BCter?= Date: Fri, 8 Nov 2024 16:49:49 +0100 Subject: [PATCH 691/875] Python config & requirements --- config/default.cfg | 11 +++++++++-- config/py_requirements.txt | 15 +++++++++++++++ 2 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 config/py_requirements.txt diff --git a/config/default.cfg b/config/default.cfg index 207533653..5690e83fe 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -109,8 +109,15 @@ cfg$action <- "ce" #def <- ce # --qos, --nodes, --tasks-per-node, -job-name, --output, --mail-type, --comment. cfg$slurmConfig <- "" -# Enable Python integration to interface with other Python-based models -cfg$pythonEnabled <- "off" # def <- off +# Enable Python integration to interface with specialized, Python-based simulation models +# Python/reticulate support is enabled per default in REMIND. If you want to disable it, set the following variable to "off". +cfg$pythonEnabled <- "on" +# Examples: +# "/p/projects/rd3mod/python/environments/scm_magicc7_hpc/" -> Recommended for users of PIK computing infrastructure +# "~/.conda/envs/" -> Recommended for users outside of PIK: Use a dedicated conda (= virtual Python) environment in your home directory +# "" -> Empty string: Will use the system Python on typical Linux systems (this is discouraged) +cfg$pythonPath <- "/p/projects/rd3mod/python/environments/scm_magicc7_hpc/" +cfg$ignorePythonRequirements <- "false" # Should REMIND output be shown in console? (0:no, 2:logfile, 3:yes) cfg$logoption <- 2 diff --git a/config/py_requirements.txt b/config/py_requirements.txt new file mode 100644 index 000000000..03791fe88 --- /dev/null +++ b/config/py_requirements.txt @@ -0,0 +1,15 @@ +# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) +# | authors, and contributors see CITATION.cff file. This file is part +# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +# | AGPL-3.0, you are granted additional permissions described in the +# | REMIND License Exception, version 1.0 (see LICENSE file). +# | Contact: remind@pik-potsdam.de +# Use Gabriels version of climate_assessment +climate-assessment @ git+https://github.com/gabriel-abrahao/climate-assessment.git@5d4d81ffed1d2af9cb463608b9a41d91ed02ea63 + +# netcdf for HDF5 support +netCDF4>=1.6.0 + +# No new numpy, no old pandas +numpy<3 +pandas>2 From 7ac2f776a106ec8b11e82347945bcd365356ac2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tonn=20R=C3=BCter?= Date: Fri, 8 Nov 2024 17:11:27 +0100 Subject: [PATCH 692/875] Deprecate current Python integration --- scripts/start/run.R | 5 ----- scripts/start/submit.R | 7 ------- start.R | 4 ---- 3 files changed, 16 deletions(-) diff --git a/scripts/start/run.R b/scripts/start/run.R index 5d01befe6..f07725cae 100644 --- a/scripts/start/run.R +++ b/scripts/start/run.R @@ -9,11 +9,6 @@ run <- function() { load("config.Rdata") - if (cfg$pythonEnabled == "on"){ - # Set environment variables so that reticulate finds the configured Python virtual env - Sys.setenv(RETICULATE_PYTHON = piamenv::pythonBinPath(".venv")) - } - # Save start time timeGAMSStart <- Sys.time() diff --git a/scripts/start/submit.R b/scripts/start/submit.R index a2a126059..c43d2c139 100644 --- a/scripts/start/submit.R +++ b/scripts/start/submit.R @@ -96,13 +96,6 @@ submit <- function(cfg, restart = FALSE, stopOnFolderCreateError = TRUE) { stdout = renvLogPath, stderr = "2>&1") } - if (cfg$pythonEnabled == "on") { - piamenv::createResultsfolderPythonVirtualEnv(normalizePath(cfg$results_folder)) - } else { - # create empty .venv folder so that new venv won't be initialized automatically by .Rprofile - dir.create(file.path(cfg$results_folder, ".venv")) - } - # Save the cfg (with the updated name of the result folder) into the results folder. # Do not save the new name of the results folder to the .RData file in REMINDs main folder, because it # might be needed to restart subsequent runs manually and should not contain the time stamp in this case. diff --git a/start.R b/start.R index 06fdefafd..903e581b2 100755 --- a/start.R +++ b/start.R @@ -301,10 +301,6 @@ if (any(c("--reprepare", "--restart") %in% flags)) { cfg$slurmConfig <- slurmConfig if (testOneRegi_region != "") cfg$gms$c_testOneRegi_region <- testOneRegi_region } - # Make sure all python requirements are installed - if (cfg$pythonEnabled == "on") { - piamenv::updatePythonVirtualEnv() - } # Directly start runs that have a gdx file location given as path_gdx... or where this field is empty gdx_specified <- grepl(".gdx", cfg$files2export$start[path_gdx_list], fixed = TRUE) gdx_na <- is.na(cfg$files2export$start[path_gdx_list]) From 0327dd445c829c4bfa4df75df9fb69ae27df6fe8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tonn=20R=C3=BCter?= Date: Fri, 8 Nov 2024 17:15:18 +0100 Subject: [PATCH 693/875] Removed deprecated climate assessment scripts --- .../source_climate_assessment.py | 112 ------------------ .../submit_climate_assessment.sh | 11 -- 2 files changed, 123 deletions(-) delete mode 100644 scripts/utils/climate_assessment/source_climate_assessment.py delete mode 100644 scripts/utils/climate_assessment/submit_climate_assessment.sh diff --git a/scripts/utils/climate_assessment/source_climate_assessment.py b/scripts/utils/climate_assessment/source_climate_assessment.py deleted file mode 100644 index bd224edac..000000000 --- a/scripts/utils/climate_assessment/source_climate_assessment.py +++ /dev/null @@ -1,112 +0,0 @@ -# %% -import os -import os.path -import sys - -import pandas as pd -import pandas.testing as pdt -import tempfile - -import climate_assessment -from climate_assessment.cli import run_workflow -import pyam - -# %% -# User setup - -excel_file = sys.argv[1] -# mif_file = "REMIND_gabrielAR6SHAPE_2023-05-17_05.12.52.mif" - -# Base folder containing the MAGICC binary and parameter sets -os.environ["MAGICC_ROOT_FILES_DIR"] = "/p/projects/rd3mod/climate-assessment-files/" - -# How many MAGICC workers can run in parallel? -os.environ["MAGICC_WORKER_NUMBER"] = "12" - -# Where should the MAGICC workers be located on the filesystem (you need about -# 500Mb space per worker at the moment, they're removed after use) -os.environ["MAGICC_WORKER_ROOT_DIR"] = tempfile.gettempdir() - - -# %% -# Derived setup -# Where is the binary -os.environ["MAGICC_EXECUTABLE_7"] = os.path.join( - os.environ["MAGICC_ROOT_FILES_DIR"], "magicc-v7.5.3", "bin", "magicc" -) -infilling_database_file = os.path.join( - os.environ["MAGICC_ROOT_FILES_DIR"],"1652361598937-ar6_emissions_vetted_infillerdatabase_10.5281-zenodo.6390768.csv" -) -infilling_database_file - -# %% -model = "magicc" -model_version = "v7.5.3" -probabilistic_file = os.path.join( - os.environ["MAGICC_ROOT_FILES_DIR"],"magicc-ar6-0fd0f62-f023edb-drawnset/0fd0f62-derived-metrics-id-f023edb-drawnset.json" -) - -# Use fewer (e.g. 10) if you just want to do a test run but note that this breaks -# the stats of the probabilistic ensemble -num_cfgs = 600 -# num_cfgs = 10 -# Set to True if you're not using the full MAGICC ensemble -test_run = False -# test_run = True -# How many scenarios do you want to run in one go? -# Usually better to use more MAGICC workers. -# scenario_batch_size = 20 -scenario_batch_size = 1 - -# Where should the output be saved? Create if it doesn't exist -outdir = os.path.join("output_climate") -if not(os.path.exists(outdir) and os.path.isdir(outdir)): - os.makedirs(outdir) - -outdir - -#%% -print("Reading "+ excel_file) -print("Keep in mind that the initial read of the Excel time can take up to minutes, so dont expect any output for a while") -inxls = pyam.IamDataFrame(excel_file) - -#%% -csv_file = os.path.splitext(excel_file)[0] + ".csv" -print("Filtering regions and writing to " + csv_file) -inxls.filter(region="World").to_csv(csv_file) -#%% -# %% -# FIXME: This is commented, but is needed if we use mifs -# instead of xls files. The definitive solution will definitely -# use mifs, as reading xls in pandas is way too slow for use every iteration. -# # Get the mif file with the proper format for pyam to read it -# inmif = pd.read_csv(mif_file, delimiter=";") -# inmif = inmif.query('Region == "World"') -# # inmif["Model"] = "REMIND-MAgPIE" - -# if 'Unnamed' in inmif.columns[len(inmif.columns)-1]: -# inmif = inmif.iloc[:,:-1] - -# # inmif = inmif[inmif["Scenario"].isin(usescens)] - -# csv_file = os.path.splitext(mif_file)[0] + ".csv" - -# inmif.to_csv(csv_file, index = False) - -# # Check if pyam will read the file -# testread = pyam.IamDataFrame(csv_file) -# testread - -# %% -print("Starting workflow using "+ excel_file) -run_workflow( - csv_file, - outdir, - model=model, - model_version=model_version, - probabilistic_file=probabilistic_file, - num_cfgs=num_cfgs, - infilling_database=infilling_database_file, - scenario_batch_size=scenario_batch_size, -) - diff --git a/scripts/utils/climate_assessment/submit_climate_assessment.sh b/scripts/utils/climate_assessment/submit_climate_assessment.sh deleted file mode 100644 index fa547f2ee..000000000 --- a/scripts/utils/climate_assessment/submit_climate_assessment.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash -#SBATCH --qos=priority -#SBATCH --time=06:00:00 -#SBATCH --nodes=1 -#SBATCH --ntasks-per-node=12 -#SBATCH --mem=60000 -#SBATCH --job-name=test_remind_2 -#SBATCH --output=PYTHONLOG-%x.%j.out -# Replace this with the resulting xls of output.R -> export -> xlsx_IIASA -> AR6 -filename="../../../output/export/REMIND_gabrielAR6SHAPE_2023-05-17_05.12.52.xlsx" -python source_climate_assessment.py $filename From b41beb35104986ba026911208855c51a7d56cc0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tonn=20R=C3=BCter?= Date: Fri, 8 Nov 2024 18:30:34 +0100 Subject: [PATCH 694/875] Don't copy MAGICC6 bin/aux files --- scripts/start/prepare.R | 28 ---------------------------- 1 file changed, 28 deletions(-) diff --git a/scripts/start/prepare.R b/scripts/start/prepare.R index 99b66865e..945288f44 100644 --- a/scripts/start/prepare.R +++ b/scripts/start/prepare.R @@ -81,23 +81,6 @@ prepare <- function() { # Is the run performed on the cluster? on_cluster <- file.exists('/p') - # Copy MAGICC - if ( !file.exists(cfg$magicc_template) - & file.exists(path.expand(Sys.getenv('MAGICC')))) - cfg$magicc_template <- path.expand(Sys.getenv('MAGICC')) - - if (file.exists(cfg$magicc_template)) { - cat("Copying MAGICC files from",cfg$magicc_template,"to results folder\n") - system(paste0("cp -nrp ",cfg$magicc_template," ",cfg$results_folder)) - system(paste0("cp -nrp core/magicc/* ",cfg$results_folder,"/magicc/")) - } else { - cat("Could not copy",cfg$magicc_template,"because it does not exist\n") - } - - # Make sure all MAGICC files have LF line endings, so Fortran won't crash - if (on_cluster) - system(paste0("find ",cfg$results_folder,"/magicc/ -type f | xargs dos2unix -q")) - ################## M O D E L L O C K ################################### # Lock the directory for other instances of the start scripts lock_id <- model_lock(timeout1 = 1) @@ -280,10 +263,6 @@ prepare <- function() { setwd(cfg$results_folder) write_yaml(cfg,file="cfg.txt") - try(file.copy("magicc/run_magicc.R","run_magicc.R")) - try(file.copy("magicc/run_magicc_temperatureImpulseResponse.R","run_magicc_temperatureImpulseResponse.R")) - try(file.copy("magicc/read_DAT_TOTAL_ANTHRO_RF.R","read_DAT_TOTAL_ANTHRO_RF.R")) - try(file.copy("magicc/read_DAT_SURFACE_TEMP.R","read_DAT_SURFACE_TEMP.R")) # Function to create the levs.gms, fixings.gms, and margs.gms files, used in # delay scenarios. @@ -601,13 +580,6 @@ prepare <- function() { manipulateFile("full.gms", full_manipulateThis, fixed = TRUE) } - #AJS set MAGCFG file - magcfgFile = paste0('./magicc/MAGCFG_STORE/','MAGCFG_USER_',toupper(cfg$gms$cm_magicc_config),'.CFG') - if(!file.exists(magcfgFile)){ - stop(paste('ERROR in MAGGICC configuration: Could not find file ',magcfgFile)) - } - system(paste0('cp ',magcfgFile,' ','./magicc/MAGCFG_USER.CFG')) - # Prepare the files containing the fixings for delay scenarios (for fixed runs) if ( cfg$gms$cm_startyear > 2005 & (!file.exists("levs.gms.gz") | !file.exists("levs.gms"))) { create_fixing_files(cfg = cfg, input_ref_file = "input_ref.gdx") From ee04bcf620801f93f07133badfd93de756f3890a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tonn=20R=C3=BCter?= Date: Fri, 8 Nov 2024 18:33:42 +0100 Subject: [PATCH 695/875] Removed MAGICC6 reporting --- scripts/output/single/reporting.R | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/scripts/output/single/reporting.R b/scripts/output/single/reporting.R index 36e5f1ede..2689c64e2 100644 --- a/scripts/output/single/reporting.R +++ b/scripts/output/single/reporting.R @@ -35,7 +35,6 @@ scenario <- getScenNames(outputdir) # paths of the reporting files remind_reporting_file <- file.path(outputdir,paste0("REMIND_generic_", scenario,".mif")) -magicc_reporting_file <- file.path(outputdir,paste0("REMIND_climate_", scenario, ".mif")) LCOE_reporting_file <- file.path(outputdir,paste0("REMIND_LCOE_", scenario, ".csv")) remind_policy_reporting_file <- file.path(outputdir,paste0("REMIND_generic_",scenario,"_adjustedPolicyCosts.mif")) @@ -50,24 +49,6 @@ if (length(remind_policy_reporting_file) > 0) { message("\n### start generation of mif files at ", round(Sys.time())) convGDX2MIF(gdx, gdx_refpolicycost = gdx_refpolicycost, file = remind_reporting_file, scenario = scenario, gdx_ref = gdx_ref) -# MAGICC code not working with REMIND-EU -# generate MAGICC reporting and append to REMIND reporting -if (0 == nchar(Sys.getenv('MAGICC_BINARY'))) { - warning('Can\'t find magicc executable under environment variable MAGICC_BINARY') -} else { - message("Generate ", basename(magicc_reporting_file)) - system(paste("cd ",outputdir ,"/magicc; ", - "pwd;", - "sed -f modify_MAGCFG_USER_CFG.sed -i MAGCFG_USER.CFG; ", - Sys.getenv('MAGICC_BINARY'), '; ', - "awk -f MAGICC_reporting.awk -v c_expname=\"", scenario, "\"", - " < climate_reporting_template.txt ", - " > ","../../../", magicc_reporting_file,"; ", - "sed -i 's/;glob;/;World;/g' ","../../../", magicc_reporting_file, "; ", - "cat ", "../../../",magicc_reporting_file, " >> ", "../../../",remind_reporting_file, "; ", - sep = "")) -} - ## generate EDGE-T reporting if it is needed ## the reporting is appended to REMIND_generic_.MIF ## REMIND_generic__withoutPlus.MIF is replaced. From 4af1da4fe98d0e60e92c34ee0df5924357787234 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tonn=20R=C3=BCter?= Date: Fri, 8 Nov 2024 18:35:51 +0100 Subject: [PATCH 696/875] No more REMIND_climate_*.mif --- standalone/MOFEX/scripts/reporting_MOFEX.R | 1 - tests/testthat/validation/test_01-mifs_exist.R | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/standalone/MOFEX/scripts/reporting_MOFEX.R b/standalone/MOFEX/scripts/reporting_MOFEX.R index 26b8e946e..9682fdaca 100644 --- a/standalone/MOFEX/scripts/reporting_MOFEX.R +++ b/standalone/MOFEX/scripts/reporting_MOFEX.R @@ -32,7 +32,6 @@ scenario <- getScenNames(outputdir) ############################################################################### # paths of the reporting files remind_reporting_file <- file.path(outputdir,paste0("MOFEX_",scenario,".mif")) -# magicc_reporting_file <- file.path(outputdir,paste0("REMIND_climate_", scenario, ".mif")) # LCOE_reporting_file <- file.path(outputdir,paste0("REMIND_LCOE_", scenario, ".mif")) # produce REMIND reporting *.mif based on gdx information diff --git a/tests/testthat/validation/test_01-mifs_exist.R b/tests/testthat/validation/test_01-mifs_exist.R index 0599c8513..3a638ec20 100644 --- a/tests/testthat/validation/test_01-mifs_exist.R +++ b/tests/testthat/validation/test_01-mifs_exist.R @@ -9,8 +9,7 @@ test_that("each output folder contains standard mif files", { for (dir in dirs) { d <- paste0("../../../output/", dir) r <- expect_true( - length(list.files(path = d, pattern = "REMIND_generic_.*.mif")) == 2 && - length(list.files(path = d, pattern = "REMIND_climate_.*.mif")) == 1 + length(list.files(path = d, pattern = "REMIND_generic_.*.mif")) == 2 ) if (!r) { From f28e8e447d4b2004b4151ed51f3c585445373384 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tonn=20R=C3=BCter?= Date: Fri, 8 Nov 2024 19:36:57 +0100 Subject: [PATCH 697/875] Removed 15_climate realization magicc6 --- main.gms | 3 +- modules/15_climate/magicc/datainput.gms | 83 - modules/15_climate/magicc/declarations.gms | 47 - .../magicc/input/data_oghgf_rcp3pd.inc | 2116 ----------------- .../magicc/input/data_oghgf_rcp45.inc | 1965 --------------- .../magicc/input/data_oghgf_rcp6.inc | 1965 --------------- .../15_climate/magicc/input/pm_emicapglob.inc | 33 - .../magicc/input/pm_emicapglob_450.inc | 33 - .../magicc/input/pm_emicapglob_550.inc | 33 - .../magicc/input/pm_emicapglob_multigas.inc | 23 - .../input/pm_emicapglob_multigas_450.inc | 22 - .../input/pm_emicapglob_multigas_550.inc | 22 - modules/15_climate/magicc/not_used.txt | 7 - modules/15_climate/magicc/postsolve.gms | 151 -- modules/15_climate/magicc/realization.gms | 38 - modules/15_climate/magicc/sets.gms | 22 - modules/15_climate/module.gms | 3 +- 17 files changed, 2 insertions(+), 6564 deletions(-) delete mode 100644 modules/15_climate/magicc/datainput.gms delete mode 100644 modules/15_climate/magicc/declarations.gms delete mode 100644 modules/15_climate/magicc/input/data_oghgf_rcp3pd.inc delete mode 100644 modules/15_climate/magicc/input/data_oghgf_rcp45.inc delete mode 100644 modules/15_climate/magicc/input/data_oghgf_rcp6.inc delete mode 100644 modules/15_climate/magicc/input/pm_emicapglob.inc delete mode 100644 modules/15_climate/magicc/input/pm_emicapglob_450.inc delete mode 100644 modules/15_climate/magicc/input/pm_emicapglob_550.inc delete mode 100644 modules/15_climate/magicc/input/pm_emicapglob_multigas.inc delete mode 100644 modules/15_climate/magicc/input/pm_emicapglob_multigas_450.inc delete mode 100644 modules/15_climate/magicc/input/pm_emicapglob_multigas_550.inc delete mode 100644 modules/15_climate/magicc/not_used.txt delete mode 100644 modules/15_climate/magicc/postsolve.gms delete mode 100644 modules/15_climate/magicc/realization.gms delete mode 100644 modules/15_climate/magicc/sets.gms diff --git a/main.gms b/main.gms index b1737f45b..9902d8e42 100755 --- a/main.gms +++ b/main.gms @@ -262,8 +262,7 @@ $setGlobal aerosols exoGAINS !! def = exoGAINS *'--------------------- 15_climate --------------------------------------- *' *' * (off): no climate coupling -*' * (magicc): MAGICC - iterative coupling of MAGICC climate model. -*' * (box): Petschel-Held +*' * (magicc7_ar6): MAGICC7 - iterative coupling of MAGICC7 simple climate model. $setGlobal climate off !! def = off *'--------------------- 16_downscaleTemperature -------------------------- *' diff --git a/modules/15_climate/magicc/datainput.gms b/modules/15_climate/magicc/datainput.gms deleted file mode 100644 index 2b8da7c15..000000000 --- a/modules/15_climate/magicc/datainput.gms +++ /dev/null @@ -1,83 +0,0 @@ -*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/15_climate/magicc/datainput.gms -*** cluster rcp_scen into overshoot and not-to-exceed targets -$if %cm_rcp_scen% == "none" s15_rcpCluster = 1; -$if %cm_rcp_scen% == "rcp20" s15_rcpCluster = 1; -$if %cm_rcp_scen% == "rcp26" s15_rcpCluster = 1; -$if %cm_rcp_scen% == "rcp37" s15_rcpCluster = 1; -$if %cm_rcp_scen% == "rcp45" s15_rcpCluster = 0; -$if %cm_rcp_scen% == "rcp60" s15_rcpCluster = 0; -$if %cm_rcp_scen% == "rcp85" s15_rcpCluster = 0; - - -s15_forcing_budgetiterationoffset = 1.5; -$if %cm_rcp_scen% == "rcp20" s15_forcing_budgetiterationoffset = 1.2; -s15_forcing_budgetiterationoffset_tax = 0.0; - -*JeS* Forcing target is now on RCP forcing instead of total forcing. The -*** difference is about 0.4 W/m^2, therefore the target on the RCP forcing -*** has to be 0.4 higher than the intended total forcing. -$if %cm_rcp_scen% == "none" s15_gr_forc_nte = 100; -$if %cm_rcp_scen% == "rcp26" s15_gr_forc_nte = 10; -$if %cm_rcp_scen% == "rcp37" s15_gr_forc_nte = 3.67; -$if %cm_rcp_scen% == "rcp45" s15_gr_forc_nte = 4.22; -$if %cm_rcp_scen% == "rcp60" s15_gr_forc_nte = 5.44; -$if %cm_rcp_scen% == "rcp85" s15_gr_forc_nte = 8.5; -$if %cm_rcp_scen% == "rcp20" s15_gr_forc_nte = 10; - -$if %cm_rcp_scen% == "none" s15_gr_forc_os = 100; -$if %cm_rcp_scen% == "rcp26" s15_gr_forc_os = 2.54; -$if %cm_rcp_scen% == "rcp37" s15_gr_forc_os = 3.67; -$if %cm_rcp_scen% == "rcp45" s15_gr_forc_os = 4.23; -$if %cm_rcp_scen% == "rcp60" s15_gr_forc_os = 5.44; -$if %cm_rcp_scen% == "rcp85" s15_gr_forc_os = 8.5; -$if %cm_rcp_scen% == "rcp20" s15_gr_forc_os = 1.93; - -s15_gr_forc_kyo_nte = 0; -s15_gr_forc_kyo = 0; - -p15_forc_magicc(tall) = 0; - -$if %cm_rcp_scen% == "rcp26" $include "./modules/15_climate/magicc/input/data_oghgf_rcp3pd.inc"; -$if %cm_rcp_scen% == "rcp37" $include "./modules/15_climate/magicc/input/data_oghgf_rcp45.inc"; -$if %cm_rcp_scen% == "rcp45" $include "./modules/15_climate/magicc/input/data_oghgf_rcp45.inc"; -$if %cm_rcp_scen% == "rcp60" $include "./modules/15_climate/magicc/input/data_oghgf_rcp6.inc"; -$if %cm_rcp_scen% == "rcp85" $include "./modules/15_climate/magicc/input/data_oghgf_rcp85.inc"; -$if %cm_rcp_scen% == "rcp20" $include "./modules/15_climate/magicc/input/data_oghgf_rcp3pd.inc"; -$if %cm_rcp_scen% == "none" $include "./modules/15_climate/magicc/input/data_oghgf_rcp6.inc"; - -pm_emicapglob(ttot) = 0; - -*** parameter pm_emicapglob is read in depending on cm_rcp_scen and cm_multigasscen -if( (cm_multigasscen = 1) or (cm_multigasscen = 3), -$offlisting -$if %cm_rcp_scen% == "rcp20" $include "./modules/15_climate/off/input/pm_emicapglob_450.inc"; -$if %cm_rcp_scen% == "rcp26" $include "./modules/15_climate/off/input/pm_emicapglob_450.inc"; -$if %cm_rcp_scen% == "rcp37" $include "./modules/15_climate/off/input/pm_emicapglob_550.inc"; -$if %cm_rcp_scen% == "rcp45" $include "./modules/15_climate/off/input/pm_emicapglob_550.inc"; -$if %cm_rcp_scen% == "rcp60" $include "./modules/15_climate/off/input/pm_emicapglob.inc"; -$if %cm_rcp_scen% == "rcp85" $include "./modules/15_climate/off/input/pm_emicapglob.inc"; -$if %cm_rcp_scen% == "none" $include "./modules/15_climate/off/input/pm_emicapglob.inc"; -$onlisting -); -if(cm_multigasscen = 2, -$offlisting -$if %cm_rcp_scen% == "rcp20" $include "./modules/15_climate/off/input/pm_emicapglob_multigas_450.inc"; -$if %cm_rcp_scen% == "rcp26" $include "./modules/15_climate/off/input/pm_emicapglob_multigas_450.inc"; -$if %cm_rcp_scen% == "rcp37" $include "./modules/15_climate/off/input/pm_emicapglob_multigas_550.inc"; -$if %cm_rcp_scen% == "rcp45" $include "./modules/15_climate/off/input/pm_emicapglob_multigas_550.inc"; -$if %cm_rcp_scen% == "rcp60" $include "./modules/15_climate/off/input/pm_emicapglob_multigas.inc"; -$if %cm_rcp_scen% == "rcp85" $include "./modules/15_climate/off/input/pm_emicapglob_multigas.inc"; -$if %cm_rcp_scen% == "none" $include "./modules/15_climate/off/input/pm_emicapglob_multigas.inc"; -$onlisting -); -display pm_emicapglob; - -p15_gmt0(tall)=1; - -*** EOF ./modules/15_climate/magicc/datainput.gms diff --git a/modules/15_climate/magicc/declarations.gms b/modules/15_climate/magicc/declarations.gms deleted file mode 100644 index 5dc33ee40..000000000 --- a/modules/15_climate/magicc/declarations.gms +++ /dev/null @@ -1,47 +0,0 @@ -*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/15_climate/magicc/declarations.gms - -Scalar - s15_forcing_budgetiterationoffset "offset for the calculation of iteratively adjusted budget" -*** to reach specified forcing level in 2100 in W/m^2 -- best guess is 2010 -*** value of respective forcing category minus 0.7 - s15_forcing_budgetiterationoffset_tax "offset for the calculation of iteratively adjusted budget" -*** to reach specified forcing level in 2100 in W/m^2 -- best guess taken from analysis of ERL paper results -s15_tempOffset2010 "mean temperature in 2010 from MAGICC" -; - -parameters -p15_oghgf_pfc "exogenous forcings from RCP all in W/m^2: PFCs", -p15_oghgf_hfc "exogenous forcings from RCP: HFCs", -p15_oghgf_sf6 "exogenous forcings from RCP: SF6", -p15_oghgf_montreal "exogenous forcings from RCP: montreal gases", -p15_oghgf_o3str "exogenous forcings from RCP: stratospheric ozone", -p15_oghgf_luc "exogenous forcings from RCP: albedo change due to land-use change", -p15_oghgf_crbbb "exogenous forcings from RCP: carbonaceous aerosols from biomass burning", -p15_oghgf_ffbc "exogenous forcings from RCP: black carbon from fossil fuels", -p15_oghgf_ffoc "exogenous forcings from RCP: organic carbon from fossil fuels", -p15_oghgf_o3trp "exogenous forcings from RCP: tropospheric ozone", -p15_oghgf_h2ostr "exogenous forcings from RCP: stratospheric water vapor", -p15_oghgf_minaer "exogenous forcings from RCP: mineral dust", -p15_oghgf_nitaer "exogenous forcings from RCP: nitrates", -p15_emicapregi(tall,all_regi) "regional emission caps, used for calculation of global emission cap", -p15_forc_magicc(tall) "actual radiative forcing as calculated by magicc [W/m^2]" -pm_gmt_conv "global mean temperature convergence" -p15_gmt0(tall) "global mean temperature convergence saved for the next iteration" -; - -scalars -s15_gr_forc_kyo "guardrail for 450 ppm Kyoto forcing, adapted between negishi iterations - dummy parameter, only needed to prevent gdx errors", -s15_gr_forc_kyo_nte "guardrail for 550 ppm Kyoto forcing, adapted between negishi iterations - dummy parameter, only needed to prevent gdx errors", - -s15_gr_forc_nte "not to exceed radiative forcing target from 2100 on [W/m^2]", -s15_gr_forc_os "overshoot (os) radiative forcing target (guardrail = gr) from 2100 on [W/m^2]" -s15_rcpCluster " clustering of rcp_scen for the iterative traget adjustment" -; - -*** EOF ./modules/15_climate/magicc/declarations.gms diff --git a/modules/15_climate/magicc/input/data_oghgf_rcp3pd.inc b/modules/15_climate/magicc/input/data_oghgf_rcp3pd.inc deleted file mode 100644 index 981d82abf..000000000 --- a/modules/15_climate/magicc/input/data_oghgf_rcp3pd.inc +++ /dev/null @@ -1,2116 +0,0 @@ -*** SOF ./modules/15_climate/magicc/input/data_oghgf_rcp3pd.inc -p15_oghgf_pfc('2000')= 0.0048; -p15_oghgf_pfc('2001')= 0.0049; -p15_oghgf_pfc('2002')= 0.0050; -p15_oghgf_pfc('2003')= 0.0051; -p15_oghgf_pfc('2004')= 0.0052; -p15_oghgf_pfc('2005')= 0.0053; -p15_oghgf_pfc('2006')= 0.0055; -p15_oghgf_pfc('2007')= 0.0056; -p15_oghgf_pfc('2008')= 0.0057; -p15_oghgf_pfc('2009')= 0.0058; -p15_oghgf_pfc('2010')= 0.0060; -p15_oghgf_pfc('2011')= 0.0061; -p15_oghgf_pfc('2012')= 0.0063; -p15_oghgf_pfc('2013')= 0.0064; -p15_oghgf_pfc('2014')= 0.0066; -p15_oghgf_pfc('2015')= 0.0067; -p15_oghgf_pfc('2016')= 0.0069; -p15_oghgf_pfc('2017')= 0.0070; -p15_oghgf_pfc('2018')= 0.0072; -p15_oghgf_pfc('2019')= 0.0073; -p15_oghgf_pfc('2020')= 0.0075; -p15_oghgf_pfc('2021')= 0.0076; -p15_oghgf_pfc('2022')= 0.0077; -p15_oghgf_pfc('2023')= 0.0079; -p15_oghgf_pfc('2024')= 0.0080; -p15_oghgf_pfc('2025')= 0.0081; -p15_oghgf_pfc('2026')= 0.0082; -p15_oghgf_pfc('2027')= 0.0083; -p15_oghgf_pfc('2028')= 0.0084; -p15_oghgf_pfc('2029')= 0.0085; -p15_oghgf_pfc('2030')= 0.0086; -p15_oghgf_pfc('2031')= 0.0086; -p15_oghgf_pfc('2032')= 0.0087; -p15_oghgf_pfc('2033')= 0.0088; -p15_oghgf_pfc('2034')= 0.0088; -p15_oghgf_pfc('2035')= 0.0089; -p15_oghgf_pfc('2036')= 0.0089; -p15_oghgf_pfc('2037')= 0.0090; -p15_oghgf_pfc('2038')= 0.0091; -p15_oghgf_pfc('2039')= 0.0091; -p15_oghgf_pfc('2040')= 0.0092; -p15_oghgf_pfc('2041')= 0.0092; -p15_oghgf_pfc('2042')= 0.0092; -p15_oghgf_pfc('2043')= 0.0093; -p15_oghgf_pfc('2044')= 0.0093; -p15_oghgf_pfc('2045')= 0.0094; -p15_oghgf_pfc('2046')= 0.0094; -p15_oghgf_pfc('2047')= 0.0094; -p15_oghgf_pfc('2048')= 0.0095; -p15_oghgf_pfc('2049')= 0.0095; -p15_oghgf_pfc('2050')= 0.0095; -p15_oghgf_pfc('2051')= 0.0095; -p15_oghgf_pfc('2052')= 0.0096; -p15_oghgf_pfc('2053')= 0.0096; -p15_oghgf_pfc('2054')= 0.0096; -p15_oghgf_pfc('2055')= 0.0096; -p15_oghgf_pfc('2056')= 0.0097; -p15_oghgf_pfc('2057')= 0.0097; -p15_oghgf_pfc('2058')= 0.0097; -p15_oghgf_pfc('2059')= 0.0097; -p15_oghgf_pfc('2060')= 0.0097; -p15_oghgf_pfc('2061')= 0.0098; -p15_oghgf_pfc('2062')= 0.0098; -p15_oghgf_pfc('2063')= 0.0098; -p15_oghgf_pfc('2064')= 0.0098; -p15_oghgf_pfc('2065')= 0.0098; -p15_oghgf_pfc('2066')= 0.0098; -p15_oghgf_pfc('2067')= 0.0099; -p15_oghgf_pfc('2068')= 0.0099; -p15_oghgf_pfc('2069')= 0.0099; -p15_oghgf_pfc('2070')= 0.0099; -p15_oghgf_pfc('2071')= 0.0099; -p15_oghgf_pfc('2072')= 0.0100; -p15_oghgf_pfc('2073')= 0.0100; -p15_oghgf_pfc('2074')= 0.0100; -p15_oghgf_pfc('2075')= 0.0100; -p15_oghgf_pfc('2076')= 0.0100; -p15_oghgf_pfc('2077')= 0.0100; -p15_oghgf_pfc('2078')= 0.0100; -p15_oghgf_pfc('2079')= 0.0101; -p15_oghgf_pfc('2080')= 0.0101; -p15_oghgf_pfc('2081')= 0.0101; -p15_oghgf_pfc('2082')= 0.0101; -p15_oghgf_pfc('2083')= 0.0101; -p15_oghgf_pfc('2084')= 0.0101; -p15_oghgf_pfc('2085')= 0.0101; -p15_oghgf_pfc('2086')= 0.0101; -p15_oghgf_pfc('2087')= 0.0101; -p15_oghgf_pfc('2088')= 0.0102; -p15_oghgf_pfc('2089')= 0.0102; -p15_oghgf_pfc('2090')= 0.0102; -p15_oghgf_pfc('2091')= 0.0102; -p15_oghgf_pfc('2092')= 0.0102; -p15_oghgf_pfc('2093')= 0.0102; -p15_oghgf_pfc('2094')= 0.0102; -p15_oghgf_pfc('2095')= 0.0102; -p15_oghgf_pfc('2096')= 0.0102; -p15_oghgf_pfc('2097')= 0.0102; -p15_oghgf_pfc('2098')= 0.0102; -p15_oghgf_pfc('2099')= 0.0103; -p15_oghgf_pfc('2100')= 0.0103; -p15_oghgf_pfc('2101')= 0.0103; -p15_oghgf_pfc('2102')= 0.0103; -p15_oghgf_pfc('2103')= 0.0103; -p15_oghgf_pfc('2104')= 0.0103; -p15_oghgf_pfc('2105')= 0.0103; -p15_oghgf_pfc('2106')= 0.0103; -p15_oghgf_pfc('2107')= 0.0103; -p15_oghgf_pfc('2108')= 0.0103; -p15_oghgf_pfc('2109')= 0.0103; -p15_oghgf_pfc('2110')= 0.0103; -p15_oghgf_pfc('2111')= 0.0104; -p15_oghgf_pfc('2112')= 0.0104; -p15_oghgf_pfc('2113')= 0.0104; -p15_oghgf_pfc('2114')= 0.0104; -p15_oghgf_pfc('2115')= 0.0104; -p15_oghgf_pfc('2116')= 0.0104; -p15_oghgf_pfc('2117')= 0.0104; -p15_oghgf_pfc('2118')= 0.0104; -p15_oghgf_pfc('2119')= 0.0104; -p15_oghgf_pfc('2120')= 0.0104; -p15_oghgf_pfc('2121')= 0.0104; -p15_oghgf_pfc('2122')= 0.0104; -p15_oghgf_pfc('2123')= 0.0105; -p15_oghgf_pfc('2124')= 0.0105; -p15_oghgf_pfc('2125')= 0.0105; -p15_oghgf_pfc('2126')= 0.0105; -p15_oghgf_pfc('2127')= 0.0105; -p15_oghgf_pfc('2128')= 0.0105; -p15_oghgf_pfc('2129')= 0.0105; -p15_oghgf_pfc('2130')= 0.0105; -p15_oghgf_pfc('2131')= 0.0105; -p15_oghgf_pfc('2132')= 0.0105; -p15_oghgf_pfc('2133')= 0.0105; -p15_oghgf_pfc('2134')= 0.0105; -p15_oghgf_pfc('2135')= 0.0106; -p15_oghgf_pfc('2136')= 0.0106; -p15_oghgf_pfc('2137')= 0.0106; -p15_oghgf_pfc('2138')= 0.0106; -p15_oghgf_pfc('2139')= 0.0106; -p15_oghgf_pfc('2140')= 0.0106; -p15_oghgf_pfc('2141')= 0.0106; -p15_oghgf_pfc('2142')= 0.0106; -p15_oghgf_pfc('2143')= 0.0106; -p15_oghgf_pfc('2144')= 0.0106; -p15_oghgf_pfc('2145')= 0.0106; -p15_oghgf_pfc('2146')= 0.0106; -p15_oghgf_pfc('2147')= 0.0107; -p15_oghgf_pfc('2148')= 0.0107; -p15_oghgf_pfc('2149')= 0.0107; -p15_oghgf_pfc('2150')= 0.0107; -p15_oghgf_hfc('2000')= 0.0058; -p15_oghgf_hfc('2001')= 0.0068; -p15_oghgf_hfc('2002')= 0.0080; -p15_oghgf_hfc('2003')= 0.0092; -p15_oghgf_hfc('2004')= 0.0106; -p15_oghgf_hfc('2005')= 0.0120; -p15_oghgf_hfc('2006')= 0.0134; -p15_oghgf_hfc('2007')= 0.0148; -p15_oghgf_hfc('2008')= 0.0163; -p15_oghgf_hfc('2009')= 0.0179; -p15_oghgf_hfc('2010')= 0.0196; -p15_oghgf_hfc('2011')= 0.0214; -p15_oghgf_hfc('2012')= 0.0232; -p15_oghgf_hfc('2013')= 0.0250; -p15_oghgf_hfc('2014')= 0.0269; -p15_oghgf_hfc('2015')= 0.0287; -p15_oghgf_hfc('2016')= 0.0306; -p15_oghgf_hfc('2017')= 0.0325; -p15_oghgf_hfc('2018')= 0.0344; -p15_oghgf_hfc('2019')= 0.0363; -p15_oghgf_hfc('2020')= 0.0382; -p15_oghgf_hfc('2021')= 0.0401; -p15_oghgf_hfc('2022')= 0.0420; -p15_oghgf_hfc('2023')= 0.0438; -p15_oghgf_hfc('2024')= 0.0456; -p15_oghgf_hfc('2025')= 0.0473; -p15_oghgf_hfc('2026')= 0.0489; -p15_oghgf_hfc('2027')= 0.0505; -p15_oghgf_hfc('2028')= 0.0521; -p15_oghgf_hfc('2029')= 0.0537; -p15_oghgf_hfc('2030')= 0.0552; -p15_oghgf_hfc('2031')= 0.0567; -p15_oghgf_hfc('2032')= 0.0581; -p15_oghgf_hfc('2033')= 0.0596; -p15_oghgf_hfc('2034')= 0.0611; -p15_oghgf_hfc('2035')= 0.0625; -p15_oghgf_hfc('2036')= 0.0640; -p15_oghgf_hfc('2037')= 0.0654; -p15_oghgf_hfc('2038')= 0.0668; -p15_oghgf_hfc('2039')= 0.0683; -p15_oghgf_hfc('2040')= 0.0697; -p15_oghgf_hfc('2041')= 0.0711; -p15_oghgf_hfc('2042')= 0.0725; -p15_oghgf_hfc('2043')= 0.0738; -p15_oghgf_hfc('2044')= 0.0750; -p15_oghgf_hfc('2045')= 0.0761; -p15_oghgf_hfc('2046')= 0.0771; -p15_oghgf_hfc('2047')= 0.0781; -p15_oghgf_hfc('2048')= 0.0790; -p15_oghgf_hfc('2049')= 0.0799; -p15_oghgf_hfc('2050')= 0.0807; -p15_oghgf_hfc('2051')= 0.0815; -p15_oghgf_hfc('2052')= 0.0822; -p15_oghgf_hfc('2053')= 0.0830; -p15_oghgf_hfc('2054')= 0.0838; -p15_oghgf_hfc('2055')= 0.0847; -p15_oghgf_hfc('2056')= 0.0856; -p15_oghgf_hfc('2057')= 0.0866; -p15_oghgf_hfc('2058')= 0.0875; -p15_oghgf_hfc('2059')= 0.0885; -p15_oghgf_hfc('2060')= 0.0895; -p15_oghgf_hfc('2061')= 0.0906; -p15_oghgf_hfc('2062')= 0.0916; -p15_oghgf_hfc('2063')= 0.0927; -p15_oghgf_hfc('2064')= 0.0938; -p15_oghgf_hfc('2065')= 0.0950; -p15_oghgf_hfc('2066')= 0.0961; -p15_oghgf_hfc('2067')= 0.0973; -p15_oghgf_hfc('2068')= 0.0984; -p15_oghgf_hfc('2069')= 0.0996; -p15_oghgf_hfc('2070')= 0.1008; -p15_oghgf_hfc('2071')= 0.1020; -p15_oghgf_hfc('2072')= 0.1032; -p15_oghgf_hfc('2073')= 0.1044; -p15_oghgf_hfc('2074')= 0.1056; -p15_oghgf_hfc('2075')= 0.1067; -p15_oghgf_hfc('2076')= 0.1078; -p15_oghgf_hfc('2077')= 0.1088; -p15_oghgf_hfc('2078')= 0.1099; -p15_oghgf_hfc('2079')= 0.1109; -p15_oghgf_hfc('2080')= 0.1119; -p15_oghgf_hfc('2081')= 0.1128; -p15_oghgf_hfc('2082')= 0.1138; -p15_oghgf_hfc('2083')= 0.1146; -p15_oghgf_hfc('2084')= 0.1155; -p15_oghgf_hfc('2085')= 0.1162; -p15_oghgf_hfc('2086')= 0.1169; -p15_oghgf_hfc('2087')= 0.1176; -p15_oghgf_hfc('2088')= 0.1182; -p15_oghgf_hfc('2089')= 0.1188; -p15_oghgf_hfc('2090')= 0.1193; -p15_oghgf_hfc('2091')= 0.1198; -p15_oghgf_hfc('2092')= 0.1202; -p15_oghgf_hfc('2093')= 0.1206; -p15_oghgf_hfc('2094')= 0.1209; -p15_oghgf_hfc('2095')= 0.1212; -p15_oghgf_hfc('2096')= 0.1214; -p15_oghgf_hfc('2097')= 0.1215; -p15_oghgf_hfc('2098')= 0.1216; -p15_oghgf_hfc('2099')= 0.1217; -p15_oghgf_hfc('2100')= 0.1217; -p15_oghgf_hfc('2101')= 0.1217; -p15_oghgf_hfc('2102')= 0.1216; -p15_oghgf_hfc('2103')= 0.1216; -p15_oghgf_hfc('2104')= 0.1216; -p15_oghgf_hfc('2105')= 0.1216; -p15_oghgf_hfc('2106')= 0.1216; -p15_oghgf_hfc('2107')= 0.1216; -p15_oghgf_hfc('2108')= 0.1217; -p15_oghgf_hfc('2109')= 0.1217; -p15_oghgf_hfc('2110')= 0.1217; -p15_oghgf_hfc('2111')= 0.1217; -p15_oghgf_hfc('2112')= 0.1218; -p15_oghgf_hfc('2113')= 0.1218; -p15_oghgf_hfc('2114')= 0.1218; -p15_oghgf_hfc('2115')= 0.1219; -p15_oghgf_hfc('2116')= 0.1219; -p15_oghgf_hfc('2117')= 0.1220; -p15_oghgf_hfc('2118')= 0.1220; -p15_oghgf_hfc('2119')= 0.1220; -p15_oghgf_hfc('2120')= 0.1221; -p15_oghgf_hfc('2121')= 0.1221; -p15_oghgf_hfc('2122')= 0.1222; -p15_oghgf_hfc('2123')= 0.1222; -p15_oghgf_hfc('2124')= 0.1222; -p15_oghgf_hfc('2125')= 0.1223; -p15_oghgf_hfc('2126')= 0.1223; -p15_oghgf_hfc('2127')= 0.1224; -p15_oghgf_hfc('2128')= 0.1224; -p15_oghgf_hfc('2129')= 0.1225; -p15_oghgf_hfc('2130')= 0.1225; -p15_oghgf_hfc('2131')= 0.1226; -p15_oghgf_hfc('2132')= 0.1226; -p15_oghgf_hfc('2133')= 0.1226; -p15_oghgf_hfc('2134')= 0.1227; -p15_oghgf_hfc('2135')= 0.1227; -p15_oghgf_hfc('2136')= 0.1227; -p15_oghgf_hfc('2137')= 0.1228; -p15_oghgf_hfc('2138')= 0.1228; -p15_oghgf_hfc('2139')= 0.1229; -p15_oghgf_hfc('2140')= 0.1229; -p15_oghgf_hfc('2141')= 0.1229; -p15_oghgf_hfc('2142')= 0.1230; -p15_oghgf_hfc('2143')= 0.1230; -p15_oghgf_hfc('2144')= 0.1230; -p15_oghgf_hfc('2145')= 0.1231; -p15_oghgf_hfc('2146')= 0.1231; -p15_oghgf_hfc('2147')= 0.1231; -p15_oghgf_hfc('2148')= 0.1232; -p15_oghgf_hfc('2149')= 0.1232; -p15_oghgf_hfc('2150')= 0.1232; -p15_oghgf_sf6('2000')= 0.0024; -p15_oghgf_sf6('2001')= 0.0025; -p15_oghgf_sf6('2002')= 0.0026; -p15_oghgf_sf6('2003')= 0.0027; -p15_oghgf_sf6('2004')= 0.0028; -p15_oghgf_sf6('2005')= 0.0030; -p15_oghgf_sf6('2006')= 0.0031; -p15_oghgf_sf6('2007')= 0.0032; -p15_oghgf_sf6('2008')= 0.0034; -p15_oghgf_sf6('2009')= 0.0035; -p15_oghgf_sf6('2010')= 0.0036; -p15_oghgf_sf6('2011')= 0.0038; -p15_oghgf_sf6('2012')= 0.0039; -p15_oghgf_sf6('2013')= 0.0040; -p15_oghgf_sf6('2014')= 0.0041; -p15_oghgf_sf6('2015')= 0.0042; -p15_oghgf_sf6('2016')= 0.0043; -p15_oghgf_sf6('2017')= 0.0044; -p15_oghgf_sf6('2018')= 0.0045; -p15_oghgf_sf6('2019')= 0.0046; -p15_oghgf_sf6('2020')= 0.0046; -p15_oghgf_sf6('2021')= 0.0047; -p15_oghgf_sf6('2022')= 0.0047; -p15_oghgf_sf6('2023')= 0.0048; -p15_oghgf_sf6('2024')= 0.0048; -p15_oghgf_sf6('2025')= 0.0048; -p15_oghgf_sf6('2026')= 0.0049; -p15_oghgf_sf6('2027')= 0.0049; -p15_oghgf_sf6('2028')= 0.0050; -p15_oghgf_sf6('2029')= 0.0050; -p15_oghgf_sf6('2030')= 0.0051; -p15_oghgf_sf6('2031')= 0.0051; -p15_oghgf_sf6('2032')= 0.0051; -p15_oghgf_sf6('2033')= 0.0052; -p15_oghgf_sf6('2034')= 0.0052; -p15_oghgf_sf6('2035')= 0.0052; -p15_oghgf_sf6('2036')= 0.0053; -p15_oghgf_sf6('2037')= 0.0053; -p15_oghgf_sf6('2038')= 0.0053; -p15_oghgf_sf6('2039')= 0.0054; -p15_oghgf_sf6('2040')= 0.0054; -p15_oghgf_sf6('2041')= 0.0054; -p15_oghgf_sf6('2042')= 0.0055; -p15_oghgf_sf6('2043')= 0.0055; -p15_oghgf_sf6('2044')= 0.0055; -p15_oghgf_sf6('2045')= 0.0055; -p15_oghgf_sf6('2046')= 0.0056; -p15_oghgf_sf6('2047')= 0.0056; -p15_oghgf_sf6('2048')= 0.0056; -p15_oghgf_sf6('2049')= 0.0056; -p15_oghgf_sf6('2050')= 0.0056; -p15_oghgf_sf6('2051')= 0.0057; -p15_oghgf_sf6('2052')= 0.0057; -p15_oghgf_sf6('2053')= 0.0057; -p15_oghgf_sf6('2054')= 0.0057; -p15_oghgf_sf6('2055')= 0.0057; -p15_oghgf_sf6('2056')= 0.0057; -p15_oghgf_sf6('2057')= 0.0057; -p15_oghgf_sf6('2058')= 0.0057; -p15_oghgf_sf6('2059')= 0.0057; -p15_oghgf_sf6('2060')= 0.0057; -p15_oghgf_sf6('2061')= 0.0058; -p15_oghgf_sf6('2062')= 0.0058; -p15_oghgf_sf6('2063')= 0.0058; -p15_oghgf_sf6('2064')= 0.0058; -p15_oghgf_sf6('2065')= 0.0058; -p15_oghgf_sf6('2066')= 0.0058; -p15_oghgf_sf6('2067')= 0.0058; -p15_oghgf_sf6('2068')= 0.0058; -p15_oghgf_sf6('2069')= 0.0058; -p15_oghgf_sf6('2070')= 0.0058; -p15_oghgf_sf6('2071')= 0.0058; -p15_oghgf_sf6('2072')= 0.0058; -p15_oghgf_sf6('2073')= 0.0058; -p15_oghgf_sf6('2074')= 0.0058; -p15_oghgf_sf6('2075')= 0.0059; -p15_oghgf_sf6('2076')= 0.0059; -p15_oghgf_sf6('2077')= 0.0059; -p15_oghgf_sf6('2078')= 0.0059; -p15_oghgf_sf6('2079')= 0.0059; -p15_oghgf_sf6('2080')= 0.0059; -p15_oghgf_sf6('2081')= 0.0059; -p15_oghgf_sf6('2082')= 0.0059; -p15_oghgf_sf6('2083')= 0.0059; -p15_oghgf_sf6('2084')= 0.0059; -p15_oghgf_sf6('2085')= 0.0059; -p15_oghgf_sf6('2086')= 0.0059; -p15_oghgf_sf6('2087')= 0.0059; -p15_oghgf_sf6('2088')= 0.0059; -p15_oghgf_sf6('2089')= 0.0059; -p15_oghgf_sf6('2090')= 0.0059; -p15_oghgf_sf6('2091')= 0.0059; -p15_oghgf_sf6('2092')= 0.0059; -p15_oghgf_sf6('2093')= 0.0059; -p15_oghgf_sf6('2094')= 0.0059; -p15_oghgf_sf6('2095')= 0.0059; -p15_oghgf_sf6('2096')= 0.0059; -p15_oghgf_sf6('2097')= 0.0059; -p15_oghgf_sf6('2098')= 0.0059; -p15_oghgf_sf6('2099')= 0.0059; -p15_oghgf_sf6('2100')= 0.0059; -p15_oghgf_sf6('2101')= 0.0059; -p15_oghgf_sf6('2102')= 0.0059; -p15_oghgf_sf6('2103')= 0.0059; -p15_oghgf_sf6('2104')= 0.0059; -p15_oghgf_sf6('2105')= 0.0059; -p15_oghgf_sf6('2106')= 0.0059; -p15_oghgf_sf6('2107')= 0.0059; -p15_oghgf_sf6('2108')= 0.0059; -p15_oghgf_sf6('2109')= 0.0059; -p15_oghgf_sf6('2110')= 0.0059; -p15_oghgf_sf6('2111')= 0.0059; -p15_oghgf_sf6('2112')= 0.0059; -p15_oghgf_sf6('2113')= 0.0059; -p15_oghgf_sf6('2114')= 0.0059; -p15_oghgf_sf6('2115')= 0.0059; -p15_oghgf_sf6('2116')= 0.0059; -p15_oghgf_sf6('2117')= 0.0059; -p15_oghgf_sf6('2118')= 0.0059; -p15_oghgf_sf6('2119')= 0.0059; -p15_oghgf_sf6('2120')= 0.0059; -p15_oghgf_sf6('2121')= 0.0059; -p15_oghgf_sf6('2122')= 0.0059; -p15_oghgf_sf6('2123')= 0.0059; -p15_oghgf_sf6('2124')= 0.0059; -p15_oghgf_sf6('2125')= 0.0059; -p15_oghgf_sf6('2126')= 0.0059; -p15_oghgf_sf6('2127')= 0.0059; -p15_oghgf_sf6('2128')= 0.0059; -p15_oghgf_sf6('2129')= 0.0059; -p15_oghgf_sf6('2130')= 0.0059; -p15_oghgf_sf6('2131')= 0.0059; -p15_oghgf_sf6('2132')= 0.0059; -p15_oghgf_sf6('2133')= 0.0059; -p15_oghgf_sf6('2134')= 0.0059; -p15_oghgf_sf6('2135')= 0.0059; -p15_oghgf_sf6('2136')= 0.0059; -p15_oghgf_sf6('2137')= 0.0059; -p15_oghgf_sf6('2138')= 0.0059; -p15_oghgf_sf6('2139')= 0.0059; -p15_oghgf_sf6('2140')= 0.0059; -p15_oghgf_sf6('2141')= 0.0059; -p15_oghgf_sf6('2142')= 0.0059; -p15_oghgf_sf6('2143')= 0.0059; -p15_oghgf_sf6('2144')= 0.0059; -p15_oghgf_sf6('2145')= 0.0059; -p15_oghgf_sf6('2146')= 0.0059; -p15_oghgf_sf6('2147')= 0.0059; -p15_oghgf_sf6('2148')= 0.0059; -p15_oghgf_sf6('2149')= 0.0059; -p15_oghgf_sf6('2150')= 0.0059; -p15_oghgf_montreal('2000')= 0.3196; -p15_oghgf_montreal('2001')= 0.3203; -p15_oghgf_montreal('2002')= 0.3210; -p15_oghgf_montreal('2003')= 0.3213; -p15_oghgf_montreal('2004')= 0.3213; -p15_oghgf_montreal('2005')= 0.3211; -p15_oghgf_montreal('2006')= 0.3205; -p15_oghgf_montreal('2007')= 0.3195; -p15_oghgf_montreal('2008')= 0.3186; -p15_oghgf_montreal('2009')= 0.3176; -p15_oghgf_montreal('2010')= 0.3165; -p15_oghgf_montreal('2011')= 0.3154; -p15_oghgf_montreal('2012')= 0.3141; -p15_oghgf_montreal('2013')= 0.3126; -p15_oghgf_montreal('2014')= 0.3109; -p15_oghgf_montreal('2015')= 0.3091; -p15_oghgf_montreal('2016')= 0.3071; -p15_oghgf_montreal('2017')= 0.3049; -p15_oghgf_montreal('2018')= 0.3026; -p15_oghgf_montreal('2019')= 0.3002; -p15_oghgf_montreal('2020')= 0.2978; -p15_oghgf_montreal('2021')= 0.2952; -p15_oghgf_montreal('2022')= 0.2925; -p15_oghgf_montreal('2023')= 0.2895; -p15_oghgf_montreal('2024')= 0.2863; -p15_oghgf_montreal('2025')= 0.2829; -p15_oghgf_montreal('2026')= 0.2793; -p15_oghgf_montreal('2027')= 0.2756; -p15_oghgf_montreal('2028')= 0.2718; -p15_oghgf_montreal('2029')= 0.2678; -p15_oghgf_montreal('2030')= 0.2638; -p15_oghgf_montreal('2031')= 0.2596; -p15_oghgf_montreal('2032')= 0.2554; -p15_oghgf_montreal('2033')= 0.2511; -p15_oghgf_montreal('2034')= 0.2468; -p15_oghgf_montreal('2035')= 0.2425; -p15_oghgf_montreal('2036')= 0.2382; -p15_oghgf_montreal('2037')= 0.2338; -p15_oghgf_montreal('2038')= 0.2294; -p15_oghgf_montreal('2039')= 0.2251; -p15_oghgf_montreal('2040')= 0.2207; -p15_oghgf_montreal('2041')= 0.2164; -p15_oghgf_montreal('2042')= 0.2121; -p15_oghgf_montreal('2043')= 0.2079; -p15_oghgf_montreal('2044')= 0.2038; -p15_oghgf_montreal('2045')= 0.1998; -p15_oghgf_montreal('2046')= 0.1960; -p15_oghgf_montreal('2047')= 0.1922; -p15_oghgf_montreal('2048')= 0.1885; -p15_oghgf_montreal('2049')= 0.1850; -p15_oghgf_montreal('2050')= 0.1815; -p15_oghgf_montreal('2051')= 0.1781; -p15_oghgf_montreal('2052')= 0.1748; -p15_oghgf_montreal('2053')= 0.1715; -p15_oghgf_montreal('2054')= 0.1684; -p15_oghgf_montreal('2055')= 0.1654; -p15_oghgf_montreal('2056')= 0.1625; -p15_oghgf_montreal('2057')= 0.1597; -p15_oghgf_montreal('2058')= 0.1569; -p15_oghgf_montreal('2059')= 0.1542; -p15_oghgf_montreal('2060')= 0.1516; -p15_oghgf_montreal('2061')= 0.1491; -p15_oghgf_montreal('2062')= 0.1466; -p15_oghgf_montreal('2063')= 0.1442; -p15_oghgf_montreal('2064')= 0.1419; -p15_oghgf_montreal('2065')= 0.1396; -p15_oghgf_montreal('2066')= 0.1374; -p15_oghgf_montreal('2067')= 0.1353; -p15_oghgf_montreal('2068')= 0.1332; -p15_oghgf_montreal('2069')= 0.1311; -p15_oghgf_montreal('2070')= 0.1291; -p15_oghgf_montreal('2071')= 0.1272; -p15_oghgf_montreal('2072')= 0.1253; -p15_oghgf_montreal('2073')= 0.1234; -p15_oghgf_montreal('2074')= 0.1216; -p15_oghgf_montreal('2075')= 0.1199; -p15_oghgf_montreal('2076')= 0.1181; -p15_oghgf_montreal('2077')= 0.1164; -p15_oghgf_montreal('2078')= 0.1148; -p15_oghgf_montreal('2079')= 0.1132; -p15_oghgf_montreal('2080')= 0.1116; -p15_oghgf_montreal('2081')= 0.1100; -p15_oghgf_montreal('2082')= 0.1085; -p15_oghgf_montreal('2083')= 0.1070; -p15_oghgf_montreal('2084')= 0.1055; -p15_oghgf_montreal('2085')= 0.1041; -p15_oghgf_montreal('2086')= 0.1027; -p15_oghgf_montreal('2087')= 0.1013; -p15_oghgf_montreal('2088')= 0.0999; -p15_oghgf_montreal('2089')= 0.0986; -p15_oghgf_montreal('2090')= 0.0973; -p15_oghgf_montreal('2091')= 0.0960; -p15_oghgf_montreal('2092')= 0.0947; -p15_oghgf_montreal('2093')= 0.0935; -p15_oghgf_montreal('2094')= 0.0923; -p15_oghgf_montreal('2095')= 0.0911; -p15_oghgf_montreal('2096')= 0.0899; -p15_oghgf_montreal('2097')= 0.0888; -p15_oghgf_montreal('2098')= 0.0876; -p15_oghgf_montreal('2099')= 0.0865; -p15_oghgf_montreal('2100')= 0.0854; -p15_oghgf_montreal('2101')= 0.0843; -p15_oghgf_montreal('2102')= 0.0832; -p15_oghgf_montreal('2103')= 0.0822; -p15_oghgf_montreal('2104')= 0.0811; -p15_oghgf_montreal('2105')= 0.0801; -p15_oghgf_montreal('2106')= 0.0791; -p15_oghgf_montreal('2107')= 0.0781; -p15_oghgf_montreal('2108')= 0.0772; -p15_oghgf_montreal('2109')= 0.0762; -p15_oghgf_montreal('2110')= 0.0753; -p15_oghgf_montreal('2111')= 0.0743; -p15_oghgf_montreal('2112')= 0.0734; -p15_oghgf_montreal('2113')= 0.0725; -p15_oghgf_montreal('2114')= 0.0716; -p15_oghgf_montreal('2115')= 0.0708; -p15_oghgf_montreal('2116')= 0.0699; -p15_oghgf_montreal('2117')= 0.0691; -p15_oghgf_montreal('2118')= 0.0682; -p15_oghgf_montreal('2119')= 0.0674; -p15_oghgf_montreal('2120')= 0.0666; -p15_oghgf_montreal('2121')= 0.0658; -p15_oghgf_montreal('2122')= 0.0650; -p15_oghgf_montreal('2123')= 0.0642; -p15_oghgf_montreal('2124')= 0.0635; -p15_oghgf_montreal('2125')= 0.0627; -p15_oghgf_montreal('2126')= 0.0620; -p15_oghgf_montreal('2127')= 0.0612; -p15_oghgf_montreal('2128')= 0.0605; -p15_oghgf_montreal('2129')= 0.0598; -p15_oghgf_montreal('2130')= 0.0591; -p15_oghgf_montreal('2131')= 0.0584; -p15_oghgf_montreal('2132')= 0.0577; -p15_oghgf_montreal('2133')= 0.0570; -p15_oghgf_montreal('2134')= 0.0564; -p15_oghgf_montreal('2135')= 0.0557; -p15_oghgf_montreal('2136')= 0.0551; -p15_oghgf_montreal('2137')= 0.0544; -p15_oghgf_montreal('2138')= 0.0538; -p15_oghgf_montreal('2139')= 0.0532; -p15_oghgf_montreal('2140')= 0.0526; -p15_oghgf_montreal('2141')= 0.0520; -p15_oghgf_montreal('2142')= 0.0514; -p15_oghgf_montreal('2143')= 0.0508; -p15_oghgf_montreal('2144')= 0.0502; -p15_oghgf_montreal('2145')= 0.0496; -p15_oghgf_montreal('2146')= 0.0491; -p15_oghgf_montreal('2147')= 0.0485; -p15_oghgf_montreal('2148')= 0.0480; -p15_oghgf_montreal('2149')= 0.0474; -p15_oghgf_montreal('2150')= 0.0469; -p15_oghgf_o3str('2000')= -0.0612; -p15_oghgf_o3str('2001')= -0.0592; -p15_oghgf_o3str('2002')= -0.0575; -p15_oghgf_o3str('2003')= -0.0551; -p15_oghgf_o3str('2004')= -0.0523; -p15_oghgf_o3str('2005')= -0.0497; -p15_oghgf_o3str('2006')= -0.0478; -p15_oghgf_o3str('2007')= -0.0461; -p15_oghgf_o3str('2008')= -0.0444; -p15_oghgf_o3str('2009')= -0.0425; -p15_oghgf_o3str('2010')= -0.0406; -p15_oghgf_o3str('2011')= -0.0390; -p15_oghgf_o3str('2012')= -0.0370; -p15_oghgf_o3str('2013')= -0.0349; -p15_oghgf_o3str('2014')= -0.0332; -p15_oghgf_o3str('2015')= -0.0314; -p15_oghgf_o3str('2016')= -0.0297; -p15_oghgf_o3str('2017')= -0.0280; -p15_oghgf_o3str('2018')= -0.0264; -p15_oghgf_o3str('2019')= -0.0243; -p15_oghgf_o3str('2020')= -0.0221; -p15_oghgf_o3str('2021')= -0.0204; -p15_oghgf_o3str('2022')= -0.0189; -p15_oghgf_o3str('2023')= -0.0174; -p15_oghgf_o3str('2024')= -0.0160; -p15_oghgf_o3str('2025')= -0.0147; -p15_oghgf_o3str('2026')= -0.0134; -p15_oghgf_o3str('2027')= -0.0122; -p15_oghgf_o3str('2028')= -0.0110; -p15_oghgf_o3str('2029')= -0.0099; -p15_oghgf_o3str('2030')= -0.0089; -p15_oghgf_o3str('2031')= -0.0079; -p15_oghgf_o3str('2032')= -0.0070; -p15_oghgf_o3str('2033')= -0.0061; -p15_oghgf_o3str('2034')= -0.0053; -p15_oghgf_o3str('2035')= -0.0046; -p15_oghgf_o3str('2036')= -0.0039; -p15_oghgf_o3str('2037')= -0.0032; -p15_oghgf_o3str('2038')= -0.0026; -p15_oghgf_o3str('2039')= -0.0021; -p15_oghgf_o3str('2040')= -0.0016; -p15_oghgf_o3str('2041')= -0.0012; -p15_oghgf_o3str('2042')= -0.0008; -p15_oghgf_o3str('2043')= -0.0005; -p15_oghgf_o3str('2044')= -0.0003; -p15_oghgf_o3str('2045')= -0.0001; -p15_oghgf_o3str('2046')= -0.0000; -p15_oghgf_o3str('2047')= -0.0000; -p15_oghgf_o3str('2048')= 0.0000; -p15_oghgf_o3str('2049')= 0.0000; -p15_oghgf_o3str('2050')= 0.0000; -p15_oghgf_o3str('2051')= 0.0000; -p15_oghgf_o3str('2052')= 0.0000; -p15_oghgf_o3str('2053')= 0.0000; -p15_oghgf_o3str('2054')= 0.0000; -p15_oghgf_o3str('2055')= 0.0000; -p15_oghgf_o3str('2056')= 0.0000; -p15_oghgf_o3str('2057')= 0.0000; -p15_oghgf_o3str('2058')= 0.0000; -p15_oghgf_o3str('2059')= 0.0000; -p15_oghgf_o3str('2060')= 0.0000; -p15_oghgf_o3str('2061')= 0.0000; -p15_oghgf_o3str('2062')= 0.0000; -p15_oghgf_o3str('2063')= 0.0000; -p15_oghgf_o3str('2064')= 0.0000; -p15_oghgf_o3str('2065')= 0.0000; -p15_oghgf_o3str('2066')= 0.0000; -p15_oghgf_o3str('2067')= 0.0000; -p15_oghgf_o3str('2068')= 0.0000; -p15_oghgf_o3str('2069')= 0.0000; -p15_oghgf_o3str('2070')= 0.0000; -p15_oghgf_o3str('2071')= 0.0000; -p15_oghgf_o3str('2072')= 0.0000; -p15_oghgf_o3str('2073')= 0.0000; -p15_oghgf_o3str('2074')= 0.0000; -p15_oghgf_o3str('2075')= 0.0000; -p15_oghgf_o3str('2076')= 0.0000; -p15_oghgf_o3str('2077')= 0.0000; -p15_oghgf_o3str('2078')= 0.0000; -p15_oghgf_o3str('2079')= 0.0000; -p15_oghgf_o3str('2080')= 0.0000; -p15_oghgf_o3str('2081')= 0.0000; -p15_oghgf_o3str('2082')= 0.0000; -p15_oghgf_o3str('2083')= 0.0000; -p15_oghgf_o3str('2084')= 0.0000; -p15_oghgf_o3str('2085')= 0.0000; -p15_oghgf_o3str('2086')= 0.0000; -p15_oghgf_o3str('2087')= 0.0000; -p15_oghgf_o3str('2088')= 0.0000; -p15_oghgf_o3str('2089')= 0.0000; -p15_oghgf_o3str('2090')= 0.0000; -p15_oghgf_o3str('2091')= 0.0000; -p15_oghgf_o3str('2092')= 0.0000; -p15_oghgf_o3str('2093')= 0.0000; -p15_oghgf_o3str('2094')= 0.0000; -p15_oghgf_o3str('2095')= 0.0000; -p15_oghgf_o3str('2096')= 0.0000; -p15_oghgf_o3str('2097')= 0.0000; -p15_oghgf_o3str('2098')= 0.0000; -p15_oghgf_o3str('2099')= 0.0000; -p15_oghgf_o3str('2100')= 0.0000; -p15_oghgf_o3str('2101')= 0.0000; -p15_oghgf_o3str('2102')= 0.0000; -p15_oghgf_o3str('2103')= 0.0000; -p15_oghgf_o3str('2104')= 0.0000; -p15_oghgf_o3str('2105')= 0.0000; -p15_oghgf_o3str('2106')= 0.0000; -p15_oghgf_o3str('2107')= 0.0000; -p15_oghgf_o3str('2108')= 0.0000; -p15_oghgf_o3str('2109')= 0.0000; -p15_oghgf_o3str('2110')= 0.0000; -p15_oghgf_o3str('2111')= 0.0000; -p15_oghgf_o3str('2112')= 0.0000; -p15_oghgf_o3str('2113')= 0.0000; -p15_oghgf_o3str('2114')= 0.0000; -p15_oghgf_o3str('2115')= 0.0000; -p15_oghgf_o3str('2116')= 0.0000; -p15_oghgf_o3str('2117')= 0.0000; -p15_oghgf_o3str('2118')= 0.0000; -p15_oghgf_o3str('2119')= 0.0000; -p15_oghgf_o3str('2120')= 0.0000; -p15_oghgf_o3str('2121')= 0.0000; -p15_oghgf_o3str('2122')= 0.0000; -p15_oghgf_o3str('2123')= 0.0000; -p15_oghgf_o3str('2124')= 0.0000; -p15_oghgf_o3str('2125')= 0.0000; -p15_oghgf_o3str('2126')= 0.0000; -p15_oghgf_o3str('2127')= 0.0000; -p15_oghgf_o3str('2128')= 0.0000; -p15_oghgf_o3str('2129')= 0.0000; -p15_oghgf_o3str('2130')= 0.0000; -p15_oghgf_o3str('2131')= 0.0000; -p15_oghgf_o3str('2132')= 0.0000; -p15_oghgf_o3str('2133')= 0.0000; -p15_oghgf_o3str('2134')= 0.0000; -p15_oghgf_o3str('2135')= 0.0000; -p15_oghgf_o3str('2136')= 0.0000; -p15_oghgf_o3str('2137')= 0.0000; -p15_oghgf_o3str('2138')= 0.0000; -p15_oghgf_o3str('2139')= 0.0000; -p15_oghgf_o3str('2140')= 0.0000; -p15_oghgf_o3str('2141')= 0.0000; -p15_oghgf_o3str('2142')= 0.0000; -p15_oghgf_o3str('2143')= 0.0000; -p15_oghgf_o3str('2144')= 0.0000; -p15_oghgf_o3str('2145')= 0.0000; -p15_oghgf_o3str('2146')= 0.0000; -p15_oghgf_o3str('2147')= 0.0000; -p15_oghgf_o3str('2148')= 0.0000; -p15_oghgf_o3str('2149')= 0.0000; -p15_oghgf_o3str('2150')= 0.0000; -p15_oghgf_o3trp('2000')= 0.3737; -p15_oghgf_o3trp('2001')= 0.3735; -p15_oghgf_o3trp('2002')= 0.3739; -p15_oghgf_o3trp('2003')= 0.3747; -p15_oghgf_o3trp('2004')= 0.3754; -p15_oghgf_o3trp('2005')= 0.3758; -p15_oghgf_o3trp('2006')= 0.3765; -p15_oghgf_o3trp('2007')= 0.3772; -p15_oghgf_o3trp('2008')= 0.3778; -p15_oghgf_o3trp('2009')= 0.3784; -p15_oghgf_o3trp('2010')= 0.3792; -p15_oghgf_o3trp('2011')= 0.3799; -p15_oghgf_o3trp('2012')= 0.3798; -p15_oghgf_o3trp('2013')= 0.3787; -p15_oghgf_o3trp('2014')= 0.3773; -p15_oghgf_o3trp('2015')= 0.3756; -p15_oghgf_o3trp('2016')= 0.3737; -p15_oghgf_o3trp('2017')= 0.3716; -p15_oghgf_o3trp('2018')= 0.3693; -p15_oghgf_o3trp('2019')= 0.3668; -p15_oghgf_o3trp('2020')= 0.3642; -p15_oghgf_o3trp('2021')= 0.3613; -p15_oghgf_o3trp('2022')= 0.3578; -p15_oghgf_o3trp('2023')= 0.3539; -p15_oghgf_o3trp('2024')= 0.3499; -p15_oghgf_o3trp('2025')= 0.3461; -p15_oghgf_o3trp('2026')= 0.3424; -p15_oghgf_o3trp('2027')= 0.3387; -p15_oghgf_o3trp('2028')= 0.3352; -p15_oghgf_o3trp('2029')= 0.3316; -p15_oghgf_o3trp('2030')= 0.3281; -p15_oghgf_o3trp('2031')= 0.3247; -p15_oghgf_o3trp('2032')= 0.3221; -p15_oghgf_o3trp('2033')= 0.3203; -p15_oghgf_o3trp('2034')= 0.3185; -p15_oghgf_o3trp('2035')= 0.3168; -p15_oghgf_o3trp('2036')= 0.3151; -p15_oghgf_o3trp('2037')= 0.3135; -p15_oghgf_o3trp('2038')= 0.3119; -p15_oghgf_o3trp('2039')= 0.3103; -p15_oghgf_o3trp('2040')= 0.3088; -p15_oghgf_o3trp('2041')= 0.3073; -p15_oghgf_o3trp('2042')= 0.3058; -p15_oghgf_o3trp('2043')= 0.3042; -p15_oghgf_o3trp('2044')= 0.3026; -p15_oghgf_o3trp('2045')= 0.3009; -p15_oghgf_o3trp('2046')= 0.2992; -p15_oghgf_o3trp('2047')= 0.2974; -p15_oghgf_o3trp('2048')= 0.2956; -p15_oghgf_o3trp('2049')= 0.2938; -p15_oghgf_o3trp('2050')= 0.2919; -p15_oghgf_o3trp('2051')= 0.2900; -p15_oghgf_o3trp('2052')= 0.2879; -p15_oghgf_o3trp('2053')= 0.2859; -p15_oghgf_o3trp('2054')= 0.2838; -p15_oghgf_o3trp('2055')= 0.2818; -p15_oghgf_o3trp('2056')= 0.2798; -p15_oghgf_o3trp('2057')= 0.2778; -p15_oghgf_o3trp('2058')= 0.2758; -p15_oghgf_o3trp('2059')= 0.2738; -p15_oghgf_o3trp('2060')= 0.2719; -p15_oghgf_o3trp('2061')= 0.2699; -p15_oghgf_o3trp('2062')= 0.2676; -p15_oghgf_o3trp('2063')= 0.2651; -p15_oghgf_o3trp('2064')= 0.2626; -p15_oghgf_o3trp('2065')= 0.2601; -p15_oghgf_o3trp('2066')= 0.2577; -p15_oghgf_o3trp('2067')= 0.2554; -p15_oghgf_o3trp('2068')= 0.2531; -p15_oghgf_o3trp('2069')= 0.2508; -p15_oghgf_o3trp('2070')= 0.2486; -p15_oghgf_o3trp('2071')= 0.2464; -p15_oghgf_o3trp('2072')= 0.2443; -p15_oghgf_o3trp('2073')= 0.2422; -p15_oghgf_o3trp('2074')= 0.2401; -p15_oghgf_o3trp('2075')= 0.2381; -p15_oghgf_o3trp('2076')= 0.2360; -p15_oghgf_o3trp('2077')= 0.2340; -p15_oghgf_o3trp('2078')= 0.2320; -p15_oghgf_o3trp('2079')= 0.2300; -p15_oghgf_o3trp('2080')= 0.2280; -p15_oghgf_o3trp('2081')= 0.2261; -p15_oghgf_o3trp('2082')= 0.2244; -p15_oghgf_o3trp('2083')= 0.2232; -p15_oghgf_o3trp('2084')= 0.2219; -p15_oghgf_o3trp('2085')= 0.2206; -p15_oghgf_o3trp('2086')= 0.2194; -p15_oghgf_o3trp('2087')= 0.2181; -p15_oghgf_o3trp('2088')= 0.2169; -p15_oghgf_o3trp('2089')= 0.2156; -p15_oghgf_o3trp('2090')= 0.2143; -p15_oghgf_o3trp('2091')= 0.2130; -p15_oghgf_o3trp('2092')= 0.2117; -p15_oghgf_o3trp('2093')= 0.2102; -p15_oghgf_o3trp('2094')= 0.2088; -p15_oghgf_o3trp('2095')= 0.2074; -p15_oghgf_o3trp('2096')= 0.2059; -p15_oghgf_o3trp('2097')= 0.2045; -p15_oghgf_o3trp('2098')= 0.2031; -p15_oghgf_o3trp('2099')= 0.2016; -p15_oghgf_o3trp('2100')= 0.2002; -p15_oghgf_o3trp('2101')= 0.1988; -p15_oghgf_o3trp('2102')= 0.1980; -p15_oghgf_o3trp('2103')= 0.1978; -p15_oghgf_o3trp('2104')= 0.1977; -p15_oghgf_o3trp('2105')= 0.1976; -p15_oghgf_o3trp('2106')= 0.1975; -p15_oghgf_o3trp('2107')= 0.1974; -p15_oghgf_o3trp('2108')= 0.1973; -p15_oghgf_o3trp('2109')= 0.1973; -p15_oghgf_o3trp('2110')= 0.1972; -p15_oghgf_o3trp('2111')= 0.1972; -p15_oghgf_o3trp('2112')= 0.1971; -p15_oghgf_o3trp('2113')= 0.1971; -p15_oghgf_o3trp('2114')= 0.1970; -p15_oghgf_o3trp('2115')= 0.1970; -p15_oghgf_o3trp('2116')= 0.1970; -p15_oghgf_o3trp('2117')= 0.1970; -p15_oghgf_o3trp('2118')= 0.1970; -p15_oghgf_o3trp('2119')= 0.1970; -p15_oghgf_o3trp('2120')= 0.1970; -p15_oghgf_o3trp('2121')= 0.1969; -p15_oghgf_o3trp('2122')= 0.1969; -p15_oghgf_o3trp('2123')= 0.1969; -p15_oghgf_o3trp('2124')= 0.1969; -p15_oghgf_o3trp('2125')= 0.1969; -p15_oghgf_o3trp('2126')= 0.1969; -p15_oghgf_o3trp('2127')= 0.1969; -p15_oghgf_o3trp('2128')= 0.1969; -p15_oghgf_o3trp('2129')= 0.1970; -p15_oghgf_o3trp('2130')= 0.1970; -p15_oghgf_o3trp('2131')= 0.1970; -p15_oghgf_o3trp('2132')= 0.1970; -p15_oghgf_o3trp('2133')= 0.1970; -p15_oghgf_o3trp('2134')= 0.1970; -p15_oghgf_o3trp('2135')= 0.1970; -p15_oghgf_o3trp('2136')= 0.1970; -p15_oghgf_o3trp('2137')= 0.1970; -p15_oghgf_o3trp('2138')= 0.1970; -p15_oghgf_o3trp('2139')= 0.1970; -p15_oghgf_o3trp('2140')= 0.1971; -p15_oghgf_o3trp('2141')= 0.1971; -p15_oghgf_o3trp('2142')= 0.1971; -p15_oghgf_o3trp('2143')= 0.1971; -p15_oghgf_o3trp('2144')= 0.1971; -p15_oghgf_o3trp('2145')= 0.1971; -p15_oghgf_o3trp('2146')= 0.1971; -p15_oghgf_o3trp('2147')= 0.1971; -p15_oghgf_o3trp('2148')= 0.1971; -p15_oghgf_o3trp('2149')= 0.1971; -p15_oghgf_o3trp('2150')= 0.1972; -p15_oghgf_h2ostr('2000')= 0.0820; -p15_oghgf_h2ostr('2001')= 0.0820; -p15_oghgf_h2ostr('2002')= 0.0821; -p15_oghgf_h2ostr('2003')= 0.0823; -p15_oghgf_h2ostr('2004')= 0.0823; -p15_oghgf_h2ostr('2005')= 0.0822; -p15_oghgf_h2ostr('2006')= 0.0822; -p15_oghgf_h2ostr('2007')= 0.0824; -p15_oghgf_h2ostr('2008')= 0.0827; -p15_oghgf_h2ostr('2009')= 0.0831; -p15_oghgf_h2ostr('2010')= 0.0834; -p15_oghgf_h2ostr('2011')= 0.0838; -p15_oghgf_h2ostr('2012')= 0.0842; -p15_oghgf_h2ostr('2013')= 0.0843; -p15_oghgf_h2ostr('2014')= 0.0842; -p15_oghgf_h2ostr('2015')= 0.0840; -p15_oghgf_h2ostr('2016')= 0.0836; -p15_oghgf_h2ostr('2017')= 0.0831; -p15_oghgf_h2ostr('2018')= 0.0824; -p15_oghgf_h2ostr('2019')= 0.0816; -p15_oghgf_h2ostr('2020')= 0.0807; -p15_oghgf_h2ostr('2021')= 0.0797; -p15_oghgf_h2ostr('2022')= 0.0786; -p15_oghgf_h2ostr('2023')= 0.0776; -p15_oghgf_h2ostr('2024')= 0.0766; -p15_oghgf_h2ostr('2025')= 0.0758; -p15_oghgf_h2ostr('2026')= 0.0749; -p15_oghgf_h2ostr('2027')= 0.0741; -p15_oghgf_h2ostr('2028')= 0.0734; -p15_oghgf_h2ostr('2029')= 0.0727; -p15_oghgf_h2ostr('2030')= 0.0721; -p15_oghgf_h2ostr('2031')= 0.0714; -p15_oghgf_h2ostr('2032')= 0.0708; -p15_oghgf_h2ostr('2033')= 0.0703; -p15_oghgf_h2ostr('2034')= 0.0697; -p15_oghgf_h2ostr('2035')= 0.0692; -p15_oghgf_h2ostr('2036')= 0.0688; -p15_oghgf_h2ostr('2037')= 0.0683; -p15_oghgf_h2ostr('2038')= 0.0679; -p15_oghgf_h2ostr('2039')= 0.0675; -p15_oghgf_h2ostr('2040')= 0.0671; -p15_oghgf_h2ostr('2041')= 0.0667; -p15_oghgf_h2ostr('2042')= 0.0663; -p15_oghgf_h2ostr('2043')= 0.0659; -p15_oghgf_h2ostr('2044')= 0.0654; -p15_oghgf_h2ostr('2045')= 0.0648; -p15_oghgf_h2ostr('2046')= 0.0643; -p15_oghgf_h2ostr('2047')= 0.0637; -p15_oghgf_h2ostr('2048')= 0.0631; -p15_oghgf_h2ostr('2049')= 0.0624; -p15_oghgf_h2ostr('2050')= 0.0618; -p15_oghgf_h2ostr('2051')= 0.0611; -p15_oghgf_h2ostr('2052')= 0.0604; -p15_oghgf_h2ostr('2053')= 0.0598; -p15_oghgf_h2ostr('2054')= 0.0592; -p15_oghgf_h2ostr('2055')= 0.0585; -p15_oghgf_h2ostr('2056')= 0.0579; -p15_oghgf_h2ostr('2057')= 0.0573; -p15_oghgf_h2ostr('2058')= 0.0567; -p15_oghgf_h2ostr('2059')= 0.0561; -p15_oghgf_h2ostr('2060')= 0.0556; -p15_oghgf_h2ostr('2061')= 0.0550; -p15_oghgf_h2ostr('2062')= 0.0545; -p15_oghgf_h2ostr('2063')= 0.0540; -p15_oghgf_h2ostr('2064')= 0.0536; -p15_oghgf_h2ostr('2065')= 0.0532; -p15_oghgf_h2ostr('2066')= 0.0528; -p15_oghgf_h2ostr('2067')= 0.0524; -p15_oghgf_h2ostr('2068')= 0.0521; -p15_oghgf_h2ostr('2069')= 0.0518; -p15_oghgf_h2ostr('2070')= 0.0515; -p15_oghgf_h2ostr('2071')= 0.0513; -p15_oghgf_h2ostr('2072')= 0.0511; -p15_oghgf_h2ostr('2073')= 0.0509; -p15_oghgf_h2ostr('2074')= 0.0507; -p15_oghgf_h2ostr('2075')= 0.0505; -p15_oghgf_h2ostr('2076')= 0.0503; -p15_oghgf_h2ostr('2077')= 0.0501; -p15_oghgf_h2ostr('2078')= 0.0500; -p15_oghgf_h2ostr('2079')= 0.0498; -p15_oghgf_h2ostr('2080')= 0.0497; -p15_oghgf_h2ostr('2081')= 0.0495; -p15_oghgf_h2ostr('2082')= 0.0494; -p15_oghgf_h2ostr('2083')= 0.0493; -p15_oghgf_h2ostr('2084')= 0.0491; -p15_oghgf_h2ostr('2085')= 0.0490; -p15_oghgf_h2ostr('2086')= 0.0489; -p15_oghgf_h2ostr('2087')= 0.0488; -p15_oghgf_h2ostr('2088')= 0.0486; -p15_oghgf_h2ostr('2089')= 0.0485; -p15_oghgf_h2ostr('2090')= 0.0484; -p15_oghgf_h2ostr('2091')= 0.0482; -p15_oghgf_h2ostr('2092')= 0.0481; -p15_oghgf_h2ostr('2093')= 0.0480; -p15_oghgf_h2ostr('2094')= 0.0479; -p15_oghgf_h2ostr('2095')= 0.0478; -p15_oghgf_h2ostr('2096')= 0.0477; -p15_oghgf_h2ostr('2097')= 0.0476; -p15_oghgf_h2ostr('2098')= 0.0475; -p15_oghgf_h2ostr('2099')= 0.0474; -p15_oghgf_h2ostr('2100')= 0.0472; -p15_oghgf_h2ostr('2101')= 0.0471; -p15_oghgf_h2ostr('2102')= 0.0470; -p15_oghgf_h2ostr('2103')= 0.0470; -p15_oghgf_h2ostr('2104')= 0.0469; -p15_oghgf_h2ostr('2105')= 0.0468; -p15_oghgf_h2ostr('2106')= 0.0468; -p15_oghgf_h2ostr('2107')= 0.0467; -p15_oghgf_h2ostr('2108')= 0.0467; -p15_oghgf_h2ostr('2109')= 0.0467; -p15_oghgf_h2ostr('2110')= 0.0466; -p15_oghgf_h2ostr('2111')= 0.0466; -p15_oghgf_h2ostr('2112')= 0.0466; -p15_oghgf_h2ostr('2113')= 0.0465; -p15_oghgf_h2ostr('2114')= 0.0465; -p15_oghgf_h2ostr('2115')= 0.0465; -p15_oghgf_h2ostr('2116')= 0.0465; -p15_oghgf_h2ostr('2117')= 0.0465; -p15_oghgf_h2ostr('2118')= 0.0465; -p15_oghgf_h2ostr('2119')= 0.0465; -p15_oghgf_h2ostr('2120')= 0.0465; -p15_oghgf_h2ostr('2121')= 0.0465; -p15_oghgf_h2ostr('2122')= 0.0465; -p15_oghgf_h2ostr('2123')= 0.0465; -p15_oghgf_h2ostr('2124')= 0.0464; -p15_oghgf_h2ostr('2125')= 0.0464; -p15_oghgf_h2ostr('2126')= 0.0464; -p15_oghgf_h2ostr('2127')= 0.0465; -p15_oghgf_h2ostr('2128')= 0.0465; -p15_oghgf_h2ostr('2129')= 0.0465; -p15_oghgf_h2ostr('2130')= 0.0465; -p15_oghgf_h2ostr('2131')= 0.0465; -p15_oghgf_h2ostr('2132')= 0.0465; -p15_oghgf_h2ostr('2133')= 0.0465; -p15_oghgf_h2ostr('2134')= 0.0465; -p15_oghgf_h2ostr('2135')= 0.0465; -p15_oghgf_h2ostr('2136')= 0.0465; -p15_oghgf_h2ostr('2137')= 0.0465; -p15_oghgf_h2ostr('2138')= 0.0465; -p15_oghgf_h2ostr('2139')= 0.0465; -p15_oghgf_h2ostr('2140')= 0.0465; -p15_oghgf_h2ostr('2141')= 0.0465; -p15_oghgf_h2ostr('2142')= 0.0465; -p15_oghgf_h2ostr('2143')= 0.0466; -p15_oghgf_h2ostr('2144')= 0.0466; -p15_oghgf_h2ostr('2145')= 0.0466; -p15_oghgf_h2ostr('2146')= 0.0466; -p15_oghgf_h2ostr('2147')= 0.0466; -p15_oghgf_h2ostr('2148')= 0.0466; -p15_oghgf_h2ostr('2149')= 0.0466; -p15_oghgf_h2ostr('2150')= 0.0466; -p15_oghgf_o3str('2000')= -0.0612; -p15_oghgf_o3str('2001')= -0.0592; -p15_oghgf_o3str('2002')= -0.0575; -p15_oghgf_o3str('2003')= -0.0551; -p15_oghgf_o3str('2004')= -0.0523; -p15_oghgf_o3str('2005')= -0.0497; -p15_oghgf_o3str('2006')= -0.0478; -p15_oghgf_o3str('2007')= -0.0461; -p15_oghgf_o3str('2008')= -0.0444; -p15_oghgf_o3str('2009')= -0.0425; -p15_oghgf_o3str('2010')= -0.0406; -p15_oghgf_o3str('2011')= -0.0390; -p15_oghgf_o3str('2012')= -0.0370; -p15_oghgf_o3str('2013')= -0.0349; -p15_oghgf_o3str('2014')= -0.0332; -p15_oghgf_o3str('2015')= -0.0314; -p15_oghgf_o3str('2016')= -0.0297; -p15_oghgf_o3str('2017')= -0.0280; -p15_oghgf_o3str('2018')= -0.0264; -p15_oghgf_o3str('2019')= -0.0243; -p15_oghgf_o3str('2020')= -0.0221; -p15_oghgf_o3str('2021')= -0.0204; -p15_oghgf_o3str('2022')= -0.0189; -p15_oghgf_o3str('2023')= -0.0174; -p15_oghgf_o3str('2024')= -0.0160; -p15_oghgf_o3str('2025')= -0.0147; -p15_oghgf_o3str('2026')= -0.0134; -p15_oghgf_o3str('2027')= -0.0122; -p15_oghgf_o3str('2028')= -0.0110; -p15_oghgf_o3str('2029')= -0.0099; -p15_oghgf_o3str('2030')= -0.0089; -p15_oghgf_o3str('2031')= -0.0079; -p15_oghgf_o3str('2032')= -0.0070; -p15_oghgf_o3str('2033')= -0.0061; -p15_oghgf_o3str('2034')= -0.0053; -p15_oghgf_o3str('2035')= -0.0046; -p15_oghgf_o3str('2036')= -0.0039; -p15_oghgf_o3str('2037')= -0.0032; -p15_oghgf_o3str('2038')= -0.0026; -p15_oghgf_o3str('2039')= -0.0021; -p15_oghgf_o3str('2040')= -0.0016; -p15_oghgf_o3str('2041')= -0.0012; -p15_oghgf_o3str('2042')= -0.0008; -p15_oghgf_o3str('2043')= -0.0005; -p15_oghgf_o3str('2044')= -0.0003; -p15_oghgf_o3str('2045')= -0.0001; -p15_oghgf_o3str('2046')= -0.0000; -p15_oghgf_o3str('2047')= -0.0000; -p15_oghgf_o3str('2048')= 0.0000; -p15_oghgf_o3str('2049')= 0.0000; -p15_oghgf_o3str('2050')= 0.0000; -p15_oghgf_o3str('2051')= 0.0000; -p15_oghgf_o3str('2052')= 0.0000; -p15_oghgf_o3str('2053')= 0.0000; -p15_oghgf_o3str('2054')= 0.0000; -p15_oghgf_o3str('2055')= 0.0000; -p15_oghgf_o3str('2056')= 0.0000; -p15_oghgf_o3str('2057')= 0.0000; -p15_oghgf_o3str('2058')= 0.0000; -p15_oghgf_o3str('2059')= 0.0000; -p15_oghgf_o3str('2060')= 0.0000; -p15_oghgf_o3str('2061')= 0.0000; -p15_oghgf_o3str('2062')= 0.0000; -p15_oghgf_o3str('2063')= 0.0000; -p15_oghgf_o3str('2064')= 0.0000; -p15_oghgf_o3str('2065')= 0.0000; -p15_oghgf_o3str('2066')= 0.0000; -p15_oghgf_o3str('2067')= 0.0000; -p15_oghgf_o3str('2068')= 0.0000; -p15_oghgf_o3str('2069')= 0.0000; -p15_oghgf_o3str('2070')= 0.0000; -p15_oghgf_o3str('2071')= 0.0000; -p15_oghgf_o3str('2072')= 0.0000; -p15_oghgf_o3str('2073')= 0.0000; -p15_oghgf_o3str('2074')= 0.0000; -p15_oghgf_o3str('2075')= 0.0000; -p15_oghgf_o3str('2076')= 0.0000; -p15_oghgf_o3str('2077')= 0.0000; -p15_oghgf_o3str('2078')= 0.0000; -p15_oghgf_o3str('2079')= 0.0000; -p15_oghgf_o3str('2080')= 0.0000; -p15_oghgf_o3str('2081')= 0.0000; -p15_oghgf_o3str('2082')= 0.0000; -p15_oghgf_o3str('2083')= 0.0000; -p15_oghgf_o3str('2084')= 0.0000; -p15_oghgf_o3str('2085')= 0.0000; -p15_oghgf_o3str('2086')= 0.0000; -p15_oghgf_o3str('2087')= 0.0000; -p15_oghgf_o3str('2088')= 0.0000; -p15_oghgf_o3str('2089')= 0.0000; -p15_oghgf_o3str('2090')= 0.0000; -p15_oghgf_o3str('2091')= 0.0000; -p15_oghgf_o3str('2092')= 0.0000; -p15_oghgf_o3str('2093')= 0.0000; -p15_oghgf_o3str('2094')= 0.0000; -p15_oghgf_o3str('2095')= 0.0000; -p15_oghgf_o3str('2096')= 0.0000; -p15_oghgf_o3str('2097')= 0.0000; -p15_oghgf_o3str('2098')= 0.0000; -p15_oghgf_o3str('2099')= 0.0000; -p15_oghgf_o3str('2100')= 0.0000; -p15_oghgf_o3str('2101')= 0.0000; -p15_oghgf_o3str('2102')= 0.0000; -p15_oghgf_o3str('2103')= 0.0000; -p15_oghgf_o3str('2104')= 0.0000; -p15_oghgf_o3str('2105')= 0.0000; -p15_oghgf_o3str('2106')= 0.0000; -p15_oghgf_o3str('2107')= 0.0000; -p15_oghgf_o3str('2108')= 0.0000; -p15_oghgf_o3str('2109')= 0.0000; -p15_oghgf_o3str('2110')= 0.0000; -p15_oghgf_o3str('2111')= 0.0000; -p15_oghgf_o3str('2112')= 0.0000; -p15_oghgf_o3str('2113')= 0.0000; -p15_oghgf_o3str('2114')= 0.0000; -p15_oghgf_o3str('2115')= 0.0000; -p15_oghgf_o3str('2116')= 0.0000; -p15_oghgf_o3str('2117')= 0.0000; -p15_oghgf_o3str('2118')= 0.0000; -p15_oghgf_o3str('2119')= 0.0000; -p15_oghgf_o3str('2120')= 0.0000; -p15_oghgf_o3str('2121')= 0.0000; -p15_oghgf_o3str('2122')= 0.0000; -p15_oghgf_o3str('2123')= 0.0000; -p15_oghgf_o3str('2124')= 0.0000; -p15_oghgf_o3str('2125')= 0.0000; -p15_oghgf_o3str('2126')= 0.0000; -p15_oghgf_o3str('2127')= 0.0000; -p15_oghgf_o3str('2128')= 0.0000; -p15_oghgf_o3str('2129')= 0.0000; -p15_oghgf_o3str('2130')= 0.0000; -p15_oghgf_o3str('2131')= 0.0000; -p15_oghgf_o3str('2132')= 0.0000; -p15_oghgf_o3str('2133')= 0.0000; -p15_oghgf_o3str('2134')= 0.0000; -p15_oghgf_o3str('2135')= 0.0000; -p15_oghgf_o3str('2136')= 0.0000; -p15_oghgf_o3str('2137')= 0.0000; -p15_oghgf_o3str('2138')= 0.0000; -p15_oghgf_o3str('2139')= 0.0000; -p15_oghgf_o3str('2140')= 0.0000; -p15_oghgf_o3str('2141')= 0.0000; -p15_oghgf_o3str('2142')= 0.0000; -p15_oghgf_o3str('2143')= 0.0000; -p15_oghgf_o3str('2144')= 0.0000; -p15_oghgf_o3str('2145')= 0.0000; -p15_oghgf_o3str('2146')= 0.0000; -p15_oghgf_o3str('2147')= 0.0000; -p15_oghgf_o3str('2148')= 0.0000; -p15_oghgf_o3str('2149')= 0.0000; -p15_oghgf_o3str('2150')= 0.0000; -p15_oghgf_luc('2000')= -0.1924; -p15_oghgf_luc('2001')= -0.1939; -p15_oghgf_luc('2002')= -0.1957; -p15_oghgf_luc('2003')= -0.1974; -p15_oghgf_luc('2004')= -0.1991; -p15_oghgf_luc('2005')= -0.2008; -p15_oghgf_luc('2006')= -0.2025; -p15_oghgf_luc('2007')= -0.2041; -p15_oghgf_luc('2008')= -0.2057; -p15_oghgf_luc('2009')= -0.2072; -p15_oghgf_luc('2010')= -0.2087; -p15_oghgf_luc('2011')= -0.2102; -p15_oghgf_luc('2012')= -0.2117; -p15_oghgf_luc('2013')= -0.2132; -p15_oghgf_luc('2014')= -0.2146; -p15_oghgf_luc('2015')= -0.2161; -p15_oghgf_luc('2016')= -0.2175; -p15_oghgf_luc('2017')= -0.2189; -p15_oghgf_luc('2018')= -0.2203; -p15_oghgf_luc('2019')= -0.2217; -p15_oghgf_luc('2020')= -0.2231; -p15_oghgf_luc('2021')= -0.2244; -p15_oghgf_luc('2022')= -0.2258; -p15_oghgf_luc('2023')= -0.2271; -p15_oghgf_luc('2024')= -0.2283; -p15_oghgf_luc('2025')= -0.2296; -p15_oghgf_luc('2026')= -0.2308; -p15_oghgf_luc('2027')= -0.2320; -p15_oghgf_luc('2028')= -0.2332; -p15_oghgf_luc('2029')= -0.2344; -p15_oghgf_luc('2030')= -0.2355; -p15_oghgf_luc('2031')= -0.2366; -p15_oghgf_luc('2032')= -0.2376; -p15_oghgf_luc('2033')= -0.2386; -p15_oghgf_luc('2034')= -0.2396; -p15_oghgf_luc('2035')= -0.2405; -p15_oghgf_luc('2036')= -0.2413; -p15_oghgf_luc('2037')= -0.2421; -p15_oghgf_luc('2038')= -0.2429; -p15_oghgf_luc('2039')= -0.2437; -p15_oghgf_luc('2040')= -0.2443; -p15_oghgf_luc('2041')= -0.2450; -p15_oghgf_luc('2042')= -0.2456; -p15_oghgf_luc('2043')= -0.2462; -p15_oghgf_luc('2044')= -0.2467; -p15_oghgf_luc('2045')= -0.2472; -p15_oghgf_luc('2046')= -0.2476; -p15_oghgf_luc('2047')= -0.2480; -p15_oghgf_luc('2048')= -0.2483; -p15_oghgf_luc('2049')= -0.2486; -p15_oghgf_luc('2050')= -0.2489; -p15_oghgf_luc('2051')= -0.2493; -p15_oghgf_luc('2052')= -0.2496; -p15_oghgf_luc('2053')= -0.2501; -p15_oghgf_luc('2054')= -0.2506; -p15_oghgf_luc('2055')= -0.2511; -p15_oghgf_luc('2056')= -0.2517; -p15_oghgf_luc('2057')= -0.2524; -p15_oghgf_luc('2058')= -0.2531; -p15_oghgf_luc('2059')= -0.2539; -p15_oghgf_luc('2060')= -0.2547; -p15_oghgf_luc('2061')= -0.2555; -p15_oghgf_luc('2062')= -0.2563; -p15_oghgf_luc('2063')= -0.2571; -p15_oghgf_luc('2064')= -0.2579; -p15_oghgf_luc('2065')= -0.2587; -p15_oghgf_luc('2066')= -0.2595; -p15_oghgf_luc('2067')= -0.2602; -p15_oghgf_luc('2068')= -0.2610; -p15_oghgf_luc('2069')= -0.2617; -p15_oghgf_luc('2070')= -0.2624; -p15_oghgf_luc('2071')= -0.2632; -p15_oghgf_luc('2072')= -0.2639; -p15_oghgf_luc('2073')= -0.2646; -p15_oghgf_luc('2074')= -0.2653; -p15_oghgf_luc('2075')= -0.2661; -p15_oghgf_luc('2076')= -0.2668; -p15_oghgf_luc('2077')= -0.2675; -p15_oghgf_luc('2078')= -0.2683; -p15_oghgf_luc('2079')= -0.2690; -p15_oghgf_luc('2080')= -0.2697; -p15_oghgf_luc('2081')= -0.2705; -p15_oghgf_luc('2082')= -0.2712; -p15_oghgf_luc('2083')= -0.2720; -p15_oghgf_luc('2084')= -0.2727; -p15_oghgf_luc('2085')= -0.2735; -p15_oghgf_luc('2086')= -0.2743; -p15_oghgf_luc('2087')= -0.2751; -p15_oghgf_luc('2088')= -0.2759; -p15_oghgf_luc('2089')= -0.2767; -p15_oghgf_luc('2090')= -0.2775; -p15_oghgf_luc('2091')= -0.2783; -p15_oghgf_luc('2092')= -0.2791; -p15_oghgf_luc('2093')= -0.2799; -p15_oghgf_luc('2094')= -0.2806; -p15_oghgf_luc('2095')= -0.2814; -p15_oghgf_luc('2096')= -0.2821; -p15_oghgf_luc('2097')= -0.2828; -p15_oghgf_luc('2098')= -0.2835; -p15_oghgf_luc('2099')= -0.2842; -p15_oghgf_luc('2100')= -0.2849; -p15_oghgf_luc('2101')= -0.2855; -p15_oghgf_luc('2102')= -0.2861; -p15_oghgf_luc('2103')= -0.2867; -p15_oghgf_luc('2104')= -0.2873; -p15_oghgf_luc('2105')= -0.2878; -p15_oghgf_luc('2106')= -0.2883; -p15_oghgf_luc('2107')= -0.2888; -p15_oghgf_luc('2108')= -0.2893; -p15_oghgf_luc('2109')= -0.2897; -p15_oghgf_luc('2110')= -0.2901; -p15_oghgf_luc('2111')= -0.2905; -p15_oghgf_luc('2112')= -0.2909; -p15_oghgf_luc('2113')= -0.2912; -p15_oghgf_luc('2114')= -0.2915; -p15_oghgf_luc('2115')= -0.2917; -p15_oghgf_luc('2116')= -0.2920; -p15_oghgf_luc('2117')= -0.2922; -p15_oghgf_luc('2118')= -0.2924; -p15_oghgf_luc('2119')= -0.2926; -p15_oghgf_luc('2120')= -0.2927; -p15_oghgf_luc('2121')= -0.2928; -p15_oghgf_luc('2122')= -0.2929; -p15_oghgf_luc('2123')= -0.2929; -p15_oghgf_luc('2124')= -0.2930; -p15_oghgf_luc('2125')= -0.2930; -p15_oghgf_luc('2126')= -0.2930; -p15_oghgf_luc('2127')= -0.2930; -p15_oghgf_luc('2128')= -0.2930; -p15_oghgf_luc('2129')= -0.2930; -p15_oghgf_luc('2130')= -0.2930; -p15_oghgf_luc('2131')= -0.2930; -p15_oghgf_luc('2132')= -0.2930; -p15_oghgf_luc('2133')= -0.2930; -p15_oghgf_luc('2134')= -0.2930; -p15_oghgf_luc('2135')= -0.2930; -p15_oghgf_luc('2136')= -0.2930; -p15_oghgf_luc('2137')= -0.2930; -p15_oghgf_luc('2138')= -0.2930; -p15_oghgf_luc('2139')= -0.2930; -p15_oghgf_luc('2140')= -0.2930; -p15_oghgf_luc('2141')= -0.2930; -p15_oghgf_luc('2142')= -0.2930; -p15_oghgf_luc('2143')= -0.2930; -p15_oghgf_luc('2144')= -0.2930; -p15_oghgf_luc('2145')= -0.2930; -p15_oghgf_luc('2146')= -0.2930; -p15_oghgf_luc('2147')= -0.2930; -p15_oghgf_luc('2148')= -0.2930; -p15_oghgf_luc('2149')= -0.2930; -p15_oghgf_luc('2150')= -0.2930; -p15_oghgf_minaer('2000')= -0.0962; -p15_oghgf_minaer('2001')= -0.0970; -p15_oghgf_minaer('2002')= -0.0978; -p15_oghgf_minaer('2003')= -0.0987; -p15_oghgf_minaer('2004')= -0.0996; -p15_oghgf_minaer('2005')= -0.1000; -p15_oghgf_minaer('2006')= -0.1000; -p15_oghgf_minaer('2007')= -0.1000; -p15_oghgf_minaer('2008')= -0.1000; -p15_oghgf_minaer('2009')= -0.1000; -p15_oghgf_minaer('2010')= -0.1000; -p15_oghgf_minaer('2011')= -0.1000; -p15_oghgf_minaer('2012')= -0.1000; -p15_oghgf_minaer('2013')= -0.1000; -p15_oghgf_minaer('2014')= -0.1000; -p15_oghgf_minaer('2015')= -0.1000; -p15_oghgf_minaer('2016')= -0.1000; -p15_oghgf_minaer('2017')= -0.1000; -p15_oghgf_minaer('2018')= -0.1000; -p15_oghgf_minaer('2019')= -0.1000; -p15_oghgf_minaer('2020')= -0.1000; -p15_oghgf_minaer('2021')= -0.1000; -p15_oghgf_minaer('2022')= -0.1000; -p15_oghgf_minaer('2023')= -0.1000; -p15_oghgf_minaer('2024')= -0.1000; -p15_oghgf_minaer('2025')= -0.1000; -p15_oghgf_minaer('2026')= -0.1000; -p15_oghgf_minaer('2027')= -0.1000; -p15_oghgf_minaer('2028')= -0.1000; -p15_oghgf_minaer('2029')= -0.1000; -p15_oghgf_minaer('2030')= -0.1000; -p15_oghgf_minaer('2031')= -0.1000; -p15_oghgf_minaer('2032')= -0.1000; -p15_oghgf_minaer('2033')= -0.1000; -p15_oghgf_minaer('2034')= -0.1000; -p15_oghgf_minaer('2035')= -0.1000; -p15_oghgf_minaer('2036')= -0.1000; -p15_oghgf_minaer('2037')= -0.1000; -p15_oghgf_minaer('2038')= -0.1000; -p15_oghgf_minaer('2039')= -0.1000; -p15_oghgf_minaer('2040')= -0.1000; -p15_oghgf_minaer('2041')= -0.1000; -p15_oghgf_minaer('2042')= -0.1000; -p15_oghgf_minaer('2043')= -0.1000; -p15_oghgf_minaer('2044')= -0.1000; -p15_oghgf_minaer('2045')= -0.1000; -p15_oghgf_minaer('2046')= -0.1000; -p15_oghgf_minaer('2047')= -0.1000; -p15_oghgf_minaer('2048')= -0.1000; -p15_oghgf_minaer('2049')= -0.1000; -p15_oghgf_minaer('2050')= -0.1000; -p15_oghgf_minaer('2051')= -0.1000; -p15_oghgf_minaer('2052')= -0.1000; -p15_oghgf_minaer('2053')= -0.1000; -p15_oghgf_minaer('2054')= -0.1000; -p15_oghgf_minaer('2055')= -0.1000; -p15_oghgf_minaer('2056')= -0.1000; -p15_oghgf_minaer('2057')= -0.1000; -p15_oghgf_minaer('2058')= -0.1000; -p15_oghgf_minaer('2059')= -0.1000; -p15_oghgf_minaer('2060')= -0.1000; -p15_oghgf_minaer('2061')= -0.1000; -p15_oghgf_minaer('2062')= -0.1000; -p15_oghgf_minaer('2063')= -0.1000; -p15_oghgf_minaer('2064')= -0.1000; -p15_oghgf_minaer('2065')= -0.1000; -p15_oghgf_minaer('2066')= -0.1000; -p15_oghgf_minaer('2067')= -0.1000; -p15_oghgf_minaer('2068')= -0.1000; -p15_oghgf_minaer('2069')= -0.1000; -p15_oghgf_minaer('2070')= -0.1000; -p15_oghgf_minaer('2071')= -0.1000; -p15_oghgf_minaer('2072')= -0.1000; -p15_oghgf_minaer('2073')= -0.1000; -p15_oghgf_minaer('2074')= -0.1000; -p15_oghgf_minaer('2075')= -0.1000; -p15_oghgf_minaer('2076')= -0.1000; -p15_oghgf_minaer('2077')= -0.1000; -p15_oghgf_minaer('2078')= -0.1000; -p15_oghgf_minaer('2079')= -0.1000; -p15_oghgf_minaer('2080')= -0.1000; -p15_oghgf_minaer('2081')= -0.1000; -p15_oghgf_minaer('2082')= -0.1000; -p15_oghgf_minaer('2083')= -0.1000; -p15_oghgf_minaer('2084')= -0.1000; -p15_oghgf_minaer('2085')= -0.1000; -p15_oghgf_minaer('2086')= -0.1000; -p15_oghgf_minaer('2087')= -0.1000; -p15_oghgf_minaer('2088')= -0.1000; -p15_oghgf_minaer('2089')= -0.1000; -p15_oghgf_minaer('2090')= -0.1000; -p15_oghgf_minaer('2091')= -0.1000; -p15_oghgf_minaer('2092')= -0.1000; -p15_oghgf_minaer('2093')= -0.1000; -p15_oghgf_minaer('2094')= -0.1000; -p15_oghgf_minaer('2095')= -0.1000; -p15_oghgf_minaer('2096')= -0.1000; -p15_oghgf_minaer('2097')= -0.1000; -p15_oghgf_minaer('2098')= -0.1000; -p15_oghgf_minaer('2099')= -0.1000; -p15_oghgf_minaer('2100')= -0.1000; -p15_oghgf_minaer('2101')= -0.1000; -p15_oghgf_minaer('2102')= -0.1000; -p15_oghgf_minaer('2103')= -0.1000; -p15_oghgf_minaer('2104')= -0.1000; -p15_oghgf_minaer('2105')= -0.1000; -p15_oghgf_minaer('2106')= -0.1000; -p15_oghgf_minaer('2107')= -0.1000; -p15_oghgf_minaer('2108')= -0.1000; -p15_oghgf_minaer('2109')= -0.1000; -p15_oghgf_minaer('2110')= -0.1000; -p15_oghgf_minaer('2111')= -0.1000; -p15_oghgf_minaer('2112')= -0.1000; -p15_oghgf_minaer('2113')= -0.1000; -p15_oghgf_minaer('2114')= -0.1000; -p15_oghgf_minaer('2115')= -0.1000; -p15_oghgf_minaer('2116')= -0.1000; -p15_oghgf_minaer('2117')= -0.1000; -p15_oghgf_minaer('2118')= -0.1000; -p15_oghgf_minaer('2119')= -0.1000; -p15_oghgf_minaer('2120')= -0.1000; -p15_oghgf_minaer('2121')= -0.1000; -p15_oghgf_minaer('2122')= -0.1000; -p15_oghgf_minaer('2123')= -0.1000; -p15_oghgf_minaer('2124')= -0.1000; -p15_oghgf_minaer('2125')= -0.1000; -p15_oghgf_minaer('2126')= -0.1000; -p15_oghgf_minaer('2127')= -0.1000; -p15_oghgf_minaer('2128')= -0.1000; -p15_oghgf_minaer('2129')= -0.1000; -p15_oghgf_minaer('2130')= -0.1000; -p15_oghgf_minaer('2131')= -0.1000; -p15_oghgf_minaer('2132')= -0.1000; -p15_oghgf_minaer('2133')= -0.1000; -p15_oghgf_minaer('2134')= -0.1000; -p15_oghgf_minaer('2135')= -0.1000; -p15_oghgf_minaer('2136')= -0.1000; -p15_oghgf_minaer('2137')= -0.1000; -p15_oghgf_minaer('2138')= -0.1000; -p15_oghgf_minaer('2139')= -0.1000; -p15_oghgf_minaer('2140')= -0.1000; -p15_oghgf_minaer('2141')= -0.1000; -p15_oghgf_minaer('2142')= -0.1000; -p15_oghgf_minaer('2143')= -0.1000; -p15_oghgf_minaer('2144')= -0.1000; -p15_oghgf_minaer('2145')= -0.1000; -p15_oghgf_minaer('2146')= -0.1000; -p15_oghgf_minaer('2147')= -0.1000; -p15_oghgf_minaer('2148')= -0.1000; -p15_oghgf_minaer('2149')= -0.1000; -p15_oghgf_minaer('2150')= -0.1000; -p15_oghgf_nitaer('2000')= -0.0966; -p15_oghgf_nitaer('2001')= -0.0988; -p15_oghgf_nitaer('2002')= -0.0991; -p15_oghgf_nitaer('2003')= -0.0995; -p15_oghgf_nitaer('2004')= -0.0998; -p15_oghgf_nitaer('2005')= -0.1001; -p15_oghgf_nitaer('2006')= -0.1004; -p15_oghgf_nitaer('2007')= -0.1006; -p15_oghgf_nitaer('2008')= -0.1009; -p15_oghgf_nitaer('2009')= -0.1011; -p15_oghgf_nitaer('2010')= -0.1011; -p15_oghgf_nitaer('2011')= -0.1007; -p15_oghgf_nitaer('2012')= -0.1000; -p15_oghgf_nitaer('2013')= -0.0993; -p15_oghgf_nitaer('2014')= -0.0986; -p15_oghgf_nitaer('2015')= -0.0980; -p15_oghgf_nitaer('2016')= -0.0973; -p15_oghgf_nitaer('2017')= -0.0966; -p15_oghgf_nitaer('2018')= -0.0960; -p15_oghgf_nitaer('2019')= -0.0953; -p15_oghgf_nitaer('2020')= -0.0945; -p15_oghgf_nitaer('2021')= -0.0933; -p15_oghgf_nitaer('2022')= -0.0920; -p15_oghgf_nitaer('2023')= -0.0907; -p15_oghgf_nitaer('2024')= -0.0895; -p15_oghgf_nitaer('2025')= -0.0882; -p15_oghgf_nitaer('2026')= -0.0869; -p15_oghgf_nitaer('2027')= -0.0856; -p15_oghgf_nitaer('2028')= -0.0843; -p15_oghgf_nitaer('2029')= -0.0830; -p15_oghgf_nitaer('2030')= -0.0819; -p15_oghgf_nitaer('2031')= -0.0813; -p15_oghgf_nitaer('2032')= -0.0809; -p15_oghgf_nitaer('2033')= -0.0805; -p15_oghgf_nitaer('2034')= -0.0801; -p15_oghgf_nitaer('2035')= -0.0797; -p15_oghgf_nitaer('2036')= -0.0793; -p15_oghgf_nitaer('2037')= -0.0789; -p15_oghgf_nitaer('2038')= -0.0785; -p15_oghgf_nitaer('2039')= -0.0781; -p15_oghgf_nitaer('2040')= -0.0778; -p15_oghgf_nitaer('2041')= -0.0774; -p15_oghgf_nitaer('2042')= -0.0772; -p15_oghgf_nitaer('2043')= -0.0769; -p15_oghgf_nitaer('2044')= -0.0766; -p15_oghgf_nitaer('2045')= -0.0763; -p15_oghgf_nitaer('2046')= -0.0760; -p15_oghgf_nitaer('2047')= -0.0758; -p15_oghgf_nitaer('2048')= -0.0755; -p15_oghgf_nitaer('2049')= -0.0752; -p15_oghgf_nitaer('2050')= -0.0749; -p15_oghgf_nitaer('2051')= -0.0745; -p15_oghgf_nitaer('2052')= -0.0741; -p15_oghgf_nitaer('2053')= -0.0737; -p15_oghgf_nitaer('2054')= -0.0733; -p15_oghgf_nitaer('2055')= -0.0728; -p15_oghgf_nitaer('2056')= -0.0724; -p15_oghgf_nitaer('2057')= -0.0720; -p15_oghgf_nitaer('2058')= -0.0716; -p15_oghgf_nitaer('2059')= -0.0712; -p15_oghgf_nitaer('2060')= -0.0707; -p15_oghgf_nitaer('2061')= -0.0700; -p15_oghgf_nitaer('2062')= -0.0692; -p15_oghgf_nitaer('2063')= -0.0683; -p15_oghgf_nitaer('2064')= -0.0675; -p15_oghgf_nitaer('2065')= -0.0667; -p15_oghgf_nitaer('2066')= -0.0659; -p15_oghgf_nitaer('2067')= -0.0651; -p15_oghgf_nitaer('2068')= -0.0643; -p15_oghgf_nitaer('2069')= -0.0635; -p15_oghgf_nitaer('2070')= -0.0627; -p15_oghgf_nitaer('2071')= -0.0619; -p15_oghgf_nitaer('2072')= -0.0610; -p15_oghgf_nitaer('2073')= -0.0601; -p15_oghgf_nitaer('2074')= -0.0592; -p15_oghgf_nitaer('2075')= -0.0584; -p15_oghgf_nitaer('2076')= -0.0575; -p15_oghgf_nitaer('2077')= -0.0566; -p15_oghgf_nitaer('2078')= -0.0558; -p15_oghgf_nitaer('2079')= -0.0549; -p15_oghgf_nitaer('2080')= -0.0541; -p15_oghgf_nitaer('2081')= -0.0535; -p15_oghgf_nitaer('2082')= -0.0529; -p15_oghgf_nitaer('2083')= -0.0524; -p15_oghgf_nitaer('2084')= -0.0519; -p15_oghgf_nitaer('2085')= -0.0513; -p15_oghgf_nitaer('2086')= -0.0508; -p15_oghgf_nitaer('2087')= -0.0503; -p15_oghgf_nitaer('2088')= -0.0497; -p15_oghgf_nitaer('2089')= -0.0492; -p15_oghgf_nitaer('2090')= -0.0486; -p15_oghgf_nitaer('2091')= -0.0480; -p15_oghgf_nitaer('2092')= -0.0473; -p15_oghgf_nitaer('2093')= -0.0467; -p15_oghgf_nitaer('2094')= -0.0460; -p15_oghgf_nitaer('2095')= -0.0453; -p15_oghgf_nitaer('2096')= -0.0446; -p15_oghgf_nitaer('2097')= -0.0440; -p15_oghgf_nitaer('2098')= -0.0433; -p15_oghgf_nitaer('2099')= -0.0426; -p15_oghgf_nitaer('2100')= -0.0421; -p15_oghgf_nitaer('2101')= -0.0419; -p15_oghgf_nitaer('2102')= -0.0419; -p15_oghgf_nitaer('2103')= -0.0419; -p15_oghgf_nitaer('2104')= -0.0419; -p15_oghgf_nitaer('2105')= -0.0419; -p15_oghgf_nitaer('2106')= -0.0419; -p15_oghgf_nitaer('2107')= -0.0419; -p15_oghgf_nitaer('2108')= -0.0419; -p15_oghgf_nitaer('2109')= -0.0419; -p15_oghgf_nitaer('2110')= -0.0419; -p15_oghgf_nitaer('2111')= -0.0419; -p15_oghgf_nitaer('2112')= -0.0419; -p15_oghgf_nitaer('2113')= -0.0419; -p15_oghgf_nitaer('2114')= -0.0419; -p15_oghgf_nitaer('2115')= -0.0419; -p15_oghgf_nitaer('2116')= -0.0419; -p15_oghgf_nitaer('2117')= -0.0419; -p15_oghgf_nitaer('2118')= -0.0419; -p15_oghgf_nitaer('2119')= -0.0419; -p15_oghgf_nitaer('2120')= -0.0419; -p15_oghgf_nitaer('2121')= -0.0419; -p15_oghgf_nitaer('2122')= -0.0419; -p15_oghgf_nitaer('2123')= -0.0419; -p15_oghgf_nitaer('2124')= -0.0419; -p15_oghgf_nitaer('2125')= -0.0419; -p15_oghgf_nitaer('2126')= -0.0419; -p15_oghgf_nitaer('2127')= -0.0419; -p15_oghgf_nitaer('2128')= -0.0419; -p15_oghgf_nitaer('2129')= -0.0419; -p15_oghgf_nitaer('2130')= -0.0419; -p15_oghgf_nitaer('2131')= -0.0419; -p15_oghgf_nitaer('2132')= -0.0419; -p15_oghgf_nitaer('2133')= -0.0419; -p15_oghgf_nitaer('2134')= -0.0419; -p15_oghgf_nitaer('2135')= -0.0419; -p15_oghgf_nitaer('2136')= -0.0419; -p15_oghgf_nitaer('2137')= -0.0419; -p15_oghgf_nitaer('2138')= -0.0419; -p15_oghgf_nitaer('2139')= -0.0419; -p15_oghgf_nitaer('2140')= -0.0419; -p15_oghgf_nitaer('2141')= -0.0419; -p15_oghgf_nitaer('2142')= -0.0419; -p15_oghgf_nitaer('2143')= -0.0419; -p15_oghgf_nitaer('2144')= -0.0419; -p15_oghgf_nitaer('2145')= -0.0419; -p15_oghgf_nitaer('2146')= -0.0419; -p15_oghgf_nitaer('2147')= -0.0419; -p15_oghgf_nitaer('2148')= -0.0419; -p15_oghgf_nitaer('2149')= -0.0419; -p15_oghgf_nitaer('2150')= -0.0419; -p15_oghgf_crbbb('2000')= 0.0236; -p15_oghgf_crbbb('2001')= 0.0228; -p15_oghgf_crbbb('2002')= 0.0249; -p15_oghgf_crbbb('2003')= 0.0269; -p15_oghgf_crbbb('2004')= 0.0290; -p15_oghgf_crbbb('2005')= 0.0314; -p15_oghgf_crbbb('2006')= 0.0344; -p15_oghgf_crbbb('2007')= 0.0378; -p15_oghgf_crbbb('2008')= 0.0411; -p15_oghgf_crbbb('2009')= 0.0445; -p15_oghgf_crbbb('2010')= 0.0475; -p15_oghgf_crbbb('2011')= 0.0497; -p15_oghgf_crbbb('2012')= 0.0515; -p15_oghgf_crbbb('2013')= 0.0532; -p15_oghgf_crbbb('2014')= 0.0550; -p15_oghgf_crbbb('2015')= 0.0568; -p15_oghgf_crbbb('2016')= 0.0585; -p15_oghgf_crbbb('2017')= 0.0603; -p15_oghgf_crbbb('2018')= 0.0621; -p15_oghgf_crbbb('2019')= 0.0638; -p15_oghgf_crbbb('2020')= 0.0647; -p15_oghgf_crbbb('2021')= 0.0637; -p15_oghgf_crbbb('2022')= 0.0617; -p15_oghgf_crbbb('2023')= 0.0598; -p15_oghgf_crbbb('2024')= 0.0578; -p15_oghgf_crbbb('2025')= 0.0559; -p15_oghgf_crbbb('2026')= 0.0540; -p15_oghgf_crbbb('2027')= 0.0520; -p15_oghgf_crbbb('2028')= 0.0501; -p15_oghgf_crbbb('2029')= 0.0481; -p15_oghgf_crbbb('2030')= 0.0462; -p15_oghgf_crbbb('2031')= 0.0442; -p15_oghgf_crbbb('2032')= 0.0422; -p15_oghgf_crbbb('2033')= 0.0402; -p15_oghgf_crbbb('2034')= 0.0382; -p15_oghgf_crbbb('2035')= 0.0362; -p15_oghgf_crbbb('2036')= 0.0342; -p15_oghgf_crbbb('2037')= 0.0322; -p15_oghgf_crbbb('2038')= 0.0302; -p15_oghgf_crbbb('2039')= 0.0282; -p15_oghgf_crbbb('2040')= 0.0263; -p15_oghgf_crbbb('2041')= 0.0247; -p15_oghgf_crbbb('2042')= 0.0232; -p15_oghgf_crbbb('2043')= 0.0217; -p15_oghgf_crbbb('2044')= 0.0202; -p15_oghgf_crbbb('2045')= 0.0187; -p15_oghgf_crbbb('2046')= 0.0172; -p15_oghgf_crbbb('2047')= 0.0157; -p15_oghgf_crbbb('2048')= 0.0142; -p15_oghgf_crbbb('2049')= 0.0128; -p15_oghgf_crbbb('2050')= 0.0112; -p15_oghgf_crbbb('2051')= 0.0096; -p15_oghgf_crbbb('2052')= 0.0080; -p15_oghgf_crbbb('2053')= 0.0064; -p15_oghgf_crbbb('2054')= 0.0048; -p15_oghgf_crbbb('2055')= 0.0031; -p15_oghgf_crbbb('2056')= 0.0015; -p15_oghgf_crbbb('2057')= 0.00; -p15_oghgf_crbbb('2058')= 0.00; -p15_oghgf_crbbb('2059')= 0.00; -p15_oghgf_crbbb('2060')= 0.00; -p15_oghgf_crbbb('2061')= 0.00; -p15_oghgf_crbbb('2062')= 0.00; -p15_oghgf_crbbb('2063')= 0.00; -p15_oghgf_crbbb('2064')= 0.00; -p15_oghgf_crbbb('2065')= 0.00; -p15_oghgf_crbbb('2066')= 0.00; -p15_oghgf_crbbb('2067')= 0.00; -p15_oghgf_crbbb('2068')= 0.0; -p15_oghgf_crbbb('2069')= 0.0; -p15_oghgf_crbbb('2070')= 0.0; -p15_oghgf_crbbb('2071')= 0.0; -p15_oghgf_crbbb('2072')= 0.0; -p15_oghgf_crbbb('2073')= 0.0; -p15_oghgf_crbbb('2074')= 0.0; -p15_oghgf_crbbb('2075')= 0.00; -p15_oghgf_crbbb('2076')= 0.00; -p15_oghgf_crbbb('2077')= 0.00; -p15_oghgf_crbbb('2078')= 0.00; -p15_oghgf_crbbb('2079')= 0.00; -p15_oghgf_crbbb('2080')= 0.00; -p15_oghgf_crbbb('2081')= 0.00; -p15_oghgf_crbbb('2082')= 0.00; -p15_oghgf_crbbb('2083')= 0.00; -p15_oghgf_crbbb('2084')= 0.00; -p15_oghgf_crbbb('2085')= 0.00; -p15_oghgf_crbbb('2086')= 0.00; -p15_oghgf_crbbb('2087')= 0.0; -p15_oghgf_crbbb('2088')= 0.0; -p15_oghgf_crbbb('2089')= 0.00; -p15_oghgf_crbbb('2090')= 0.00; -p15_oghgf_crbbb('2091')= 0.00; -p15_oghgf_crbbb('2092')= 0.00; -p15_oghgf_crbbb('2093')= 0.00; -p15_oghgf_crbbb('2094')= 0.00; -p15_oghgf_crbbb('2095')= 0.000; -p15_oghgf_crbbb('2096')= 0.000; -p15_oghgf_crbbb('2097')= 0.0004; -p15_oghgf_crbbb('2098')= 0.0009; -p15_oghgf_crbbb('2099')= 0.0013; -p15_oghgf_crbbb('2100')= 0.0017; -p15_oghgf_crbbb('2101')= 0.0018; -p15_oghgf_crbbb('2102')= 0.0018; -p15_oghgf_crbbb('2103')= 0.0018; -p15_oghgf_crbbb('2104')= 0.0018; -p15_oghgf_crbbb('2105')= 0.0018; -p15_oghgf_crbbb('2106')= 0.0018; -p15_oghgf_crbbb('2107')= 0.0018; -p15_oghgf_crbbb('2108')= 0.0018; -p15_oghgf_crbbb('2109')= 0.0018; -p15_oghgf_crbbb('2110')= 0.0018; -p15_oghgf_crbbb('2111')= 0.0018; -p15_oghgf_crbbb('2112')= 0.0018; -p15_oghgf_crbbb('2113')= 0.0018; -p15_oghgf_crbbb('2114')= 0.0018; -p15_oghgf_crbbb('2115')= 0.0018; -p15_oghgf_crbbb('2116')= 0.0018; -p15_oghgf_crbbb('2117')= 0.0018; -p15_oghgf_crbbb('2118')= 0.0018; -p15_oghgf_crbbb('2119')= 0.0018; -p15_oghgf_crbbb('2120')= 0.0018; -p15_oghgf_crbbb('2121')= 0.0018; -p15_oghgf_crbbb('2122')= 0.0018; -p15_oghgf_crbbb('2123')= 0.0018; -p15_oghgf_crbbb('2124')= 0.0018; -p15_oghgf_crbbb('2125')= 0.0018; -p15_oghgf_crbbb('2126')= 0.0018; -p15_oghgf_crbbb('2127')= 0.0018; -p15_oghgf_crbbb('2128')= 0.0018; -p15_oghgf_crbbb('2129')= 0.0018; -p15_oghgf_crbbb('2130')= 0.0018; -p15_oghgf_crbbb('2131')= 0.0018; -p15_oghgf_crbbb('2132')= 0.0018; -p15_oghgf_crbbb('2133')= 0.0018; -p15_oghgf_crbbb('2134')= 0.0018; -p15_oghgf_crbbb('2135')= 0.0018; -p15_oghgf_crbbb('2136')= 0.0018; -p15_oghgf_crbbb('2137')= 0.0018; -p15_oghgf_crbbb('2138')= 0.0018; -p15_oghgf_crbbb('2139')= 0.0018; -p15_oghgf_crbbb('2140')= 0.0018; -p15_oghgf_crbbb('2141')= 0.0018; -p15_oghgf_crbbb('2142')= 0.0018; -p15_oghgf_crbbb('2143')= 0.0018; -p15_oghgf_crbbb('2144')= 0.0018; -p15_oghgf_crbbb('2145')= 0.0018; -p15_oghgf_crbbb('2146')= 0.0018; -p15_oghgf_crbbb('2147')= 0.0018; -p15_oghgf_crbbb('2148')= 0.0018; -p15_oghgf_crbbb('2149')= 0.0018; -p15_oghgf_crbbb('2150')= 0.0018; -p15_oghgf_ffbc('2000')= 0.1870; -p15_oghgf_ffbc('2001')= 0.1894; -p15_oghgf_ffbc('2002')= 0.1938; -p15_oghgf_ffbc('2003')= 0.1968; -p15_oghgf_ffbc('2004')= 0.1989; -p15_oghgf_ffbc('2005')= 0.2010; -p15_oghgf_ffbc('2006')= 0.2029; -p15_oghgf_ffbc('2007')= 0.2047; -p15_oghgf_ffbc('2008')= 0.2066; -p15_oghgf_ffbc('2009')= 0.2084; -p15_oghgf_ffbc('2010')= 0.2097; -p15_oghgf_ffbc('2011')= 0.2097; -p15_oghgf_ffbc('2012')= 0.2092; -p15_oghgf_ffbc('2013')= 0.2086; -p15_oghgf_ffbc('2014')= 0.2081; -p15_oghgf_ffbc('2015')= 0.2075; -p15_oghgf_ffbc('2016')= 0.2070; -p15_oghgf_ffbc('2017')= 0.2065; -p15_oghgf_ffbc('2018')= 0.2059; -p15_oghgf_ffbc('2019')= 0.2054; -p15_oghgf_ffbc('2020')= 0.2040; -p15_oghgf_ffbc('2021')= 0.2011; -p15_oghgf_ffbc('2022')= 0.1974; -p15_oghgf_ffbc('2023')= 0.1938; -p15_oghgf_ffbc('2024')= 0.1901; -p15_oghgf_ffbc('2025')= 0.1864; -p15_oghgf_ffbc('2026')= 0.1827; -p15_oghgf_ffbc('2027')= 0.1790; -p15_oghgf_ffbc('2028')= 0.1753; -p15_oghgf_ffbc('2029')= 0.1716; -p15_oghgf_ffbc('2030')= 0.1680; -p15_oghgf_ffbc('2031')= 0.1647; -p15_oghgf_ffbc('2032')= 0.1614; -p15_oghgf_ffbc('2033')= 0.1582; -p15_oghgf_ffbc('2034')= 0.1550; -p15_oghgf_ffbc('2035')= 0.1517; -p15_oghgf_ffbc('2036')= 0.1485; -p15_oghgf_ffbc('2037')= 0.1453; -p15_oghgf_ffbc('2038')= 0.1420; -p15_oghgf_ffbc('2039')= 0.1388; -p15_oghgf_ffbc('2040')= 0.1359; -p15_oghgf_ffbc('2041')= 0.1337; -p15_oghgf_ffbc('2042')= 0.1319; -p15_oghgf_ffbc('2043')= 0.1300; -p15_oghgf_ffbc('2044')= 0.1282; -p15_oghgf_ffbc('2045')= 0.1263; -p15_oghgf_ffbc('2046')= 0.1244; -p15_oghgf_ffbc('2047')= 0.1226; -p15_oghgf_ffbc('2048')= 0.1207; -p15_oghgf_ffbc('2049')= 0.1189; -p15_oghgf_ffbc('2050')= 0.1172; -p15_oghgf_ffbc('2051')= 0.1157; -p15_oghgf_ffbc('2052')= 0.1144; -p15_oghgf_ffbc('2053')= 0.1131; -p15_oghgf_ffbc('2054')= 0.1118; -p15_oghgf_ffbc('2055')= 0.1105; -p15_oghgf_ffbc('2056')= 0.1092; -p15_oghgf_ffbc('2057')= 0.1079; -p15_oghgf_ffbc('2058')= 0.1065; -p15_oghgf_ffbc('2059')= 0.1052; -p15_oghgf_ffbc('2060')= 0.1040; -p15_oghgf_ffbc('2061')= 0.1028; -p15_oghgf_ffbc('2062')= 0.1016; -p15_oghgf_ffbc('2063')= 0.1004; -p15_oghgf_ffbc('2064')= 0.0993; -p15_oghgf_ffbc('2065')= 0.0981; -p15_oghgf_ffbc('2066')= 0.0970; -p15_oghgf_ffbc('2067')= 0.0958; -p15_oghgf_ffbc('2068')= 0.0946; -p15_oghgf_ffbc('2069')= 0.0935; -p15_oghgf_ffbc('2070')= 0.0925; -p15_oghgf_ffbc('2071')= 0.0917; -p15_oghgf_ffbc('2072')= 0.0911; -p15_oghgf_ffbc('2073')= 0.0905; -p15_oghgf_ffbc('2074')= 0.0899; -p15_oghgf_ffbc('2075')= 0.0893; -p15_oghgf_ffbc('2076')= 0.0887; -p15_oghgf_ffbc('2077')= 0.0880; -p15_oghgf_ffbc('2078')= 0.0874; -p15_oghgf_ffbc('2079')= 0.0868; -p15_oghgf_ffbc('2080')= 0.0863; -p15_oghgf_ffbc('2081')= 0.0859; -p15_oghgf_ffbc('2082')= 0.0856; -p15_oghgf_ffbc('2083')= 0.0852; -p15_oghgf_ffbc('2084')= 0.0849; -p15_oghgf_ffbc('2085')= 0.0846; -p15_oghgf_ffbc('2086')= 0.0842; -p15_oghgf_ffbc('2087')= 0.0839; -p15_oghgf_ffbc('2088')= 0.0836; -p15_oghgf_ffbc('2089')= 0.0832; -p15_oghgf_ffbc('2090')= 0.0829; -p15_oghgf_ffbc('2091')= 0.0825; -p15_oghgf_ffbc('2092')= 0.0820; -p15_oghgf_ffbc('2093')= 0.0816; -p15_oghgf_ffbc('2094')= 0.0812; -p15_oghgf_ffbc('2095')= 0.0807; -p15_oghgf_ffbc('2096')= 0.0803; -p15_oghgf_ffbc('2097')= 0.0799; -p15_oghgf_ffbc('2098')= 0.0794; -p15_oghgf_ffbc('2099')= 0.0790; -p15_oghgf_ffbc('2100')= 0.0787; -p15_oghgf_ffbc('2101')= 0.0786; -p15_oghgf_ffbc('2102')= 0.0786; -p15_oghgf_ffbc('2103')= 0.0786; -p15_oghgf_ffbc('2104')= 0.0786; -p15_oghgf_ffbc('2105')= 0.0786; -p15_oghgf_ffbc('2106')= 0.0786; -p15_oghgf_ffbc('2107')= 0.0786; -p15_oghgf_ffbc('2108')= 0.0786; -p15_oghgf_ffbc('2109')= 0.0786; -p15_oghgf_ffbc('2110')= 0.0786; -p15_oghgf_ffbc('2111')= 0.0786; -p15_oghgf_ffbc('2112')= 0.0786; -p15_oghgf_ffbc('2113')= 0.0786; -p15_oghgf_ffbc('2114')= 0.0786; -p15_oghgf_ffbc('2115')= 0.0786; -p15_oghgf_ffbc('2116')= 0.0786; -p15_oghgf_ffbc('2117')= 0.0786; -p15_oghgf_ffbc('2118')= 0.0786; -p15_oghgf_ffbc('2119')= 0.0786; -p15_oghgf_ffbc('2120')= 0.0786; -p15_oghgf_ffbc('2121')= 0.0786; -p15_oghgf_ffbc('2122')= 0.0786; -p15_oghgf_ffbc('2123')= 0.0786; -p15_oghgf_ffbc('2124')= 0.0786; -p15_oghgf_ffbc('2125')= 0.0786; -p15_oghgf_ffbc('2126')= 0.0786; -p15_oghgf_ffbc('2127')= 0.0786; -p15_oghgf_ffbc('2128')= 0.0786; -p15_oghgf_ffbc('2129')= 0.0786; -p15_oghgf_ffbc('2130')= 0.0786; -p15_oghgf_ffbc('2131')= 0.0786; -p15_oghgf_ffbc('2132')= 0.0786; -p15_oghgf_ffbc('2133')= 0.0786; -p15_oghgf_ffbc('2134')= 0.0786; -p15_oghgf_ffbc('2135')= 0.0786; -p15_oghgf_ffbc('2136')= 0.0786; -p15_oghgf_ffbc('2137')= 0.0786; -p15_oghgf_ffbc('2138')= 0.0786; -p15_oghgf_ffbc('2139')= 0.0786; -p15_oghgf_ffbc('2140')= 0.0786; -p15_oghgf_ffbc('2141')= 0.0786; -p15_oghgf_ffbc('2142')= 0.0786; -p15_oghgf_ffbc('2143')= 0.0786; -p15_oghgf_ffbc('2144')= 0.0786; -p15_oghgf_ffbc('2145')= 0.0786; -p15_oghgf_ffbc('2146')= 0.0786; -p15_oghgf_ffbc('2147')= 0.0786; -p15_oghgf_ffbc('2148')= 0.0786; -p15_oghgf_ffbc('2149')= 0.0786; -p15_oghgf_ffbc('2150')= 0.0786; -p15_oghgf_ffoc('2000')= -0.0467; -p15_oghgf_ffoc('2001')= -0.0478; -p15_oghgf_ffoc('2002')= -0.0490; -p15_oghgf_ffoc('2003')= -0.0497; -p15_oghgf_ffoc('2004')= -0.0499; -p15_oghgf_ffoc('2005')= -0.0501; -p15_oghgf_ffoc('2006')= -0.0502; -p15_oghgf_ffoc('2007')= -0.0502; -p15_oghgf_ffoc('2008')= -0.0503; -p15_oghgf_ffoc('2009')= -0.0504; -p15_oghgf_ffoc('2010')= -0.0504; -p15_oghgf_ffoc('2011')= -0.0505; -p15_oghgf_ffoc('2012')= -0.0505; -p15_oghgf_ffoc('2013')= -0.0506; -p15_oghgf_ffoc('2014')= -0.0506; -p15_oghgf_ffoc('2015')= -0.0506; -p15_oghgf_ffoc('2016')= -0.0507; -p15_oghgf_ffoc('2017')= -0.0507; -p15_oghgf_ffoc('2018')= -0.0508; -p15_oghgf_ffoc('2019')= -0.0508; -p15_oghgf_ffoc('2020')= -0.0508; -p15_oghgf_ffoc('2021')= -0.0507; -p15_oghgf_ffoc('2022')= -0.0505; -p15_oghgf_ffoc('2023')= -0.0503; -p15_oghgf_ffoc('2024')= -0.0501; -p15_oghgf_ffoc('2025')= -0.0499; -p15_oghgf_ffoc('2026')= -0.0498; -p15_oghgf_ffoc('2027')= -0.0496; -p15_oghgf_ffoc('2028')= -0.0494; -p15_oghgf_ffoc('2029')= -0.0492; -p15_oghgf_ffoc('2030')= -0.0490; -p15_oghgf_ffoc('2031')= -0.0485; -p15_oghgf_ffoc('2032')= -0.0481; -p15_oghgf_ffoc('2033')= -0.0476; -p15_oghgf_ffoc('2034')= -0.0471; -p15_oghgf_ffoc('2035')= -0.0466; -p15_oghgf_ffoc('2036')= -0.0461; -p15_oghgf_ffoc('2037')= -0.0456; -p15_oghgf_ffoc('2038')= -0.0451; -p15_oghgf_ffoc('2039')= -0.0446; -p15_oghgf_ffoc('2040')= -0.0442; -p15_oghgf_ffoc('2041')= -0.0439; -p15_oghgf_ffoc('2042')= -0.0436; -p15_oghgf_ffoc('2043')= -0.0433; -p15_oghgf_ffoc('2044')= -0.0430; -p15_oghgf_ffoc('2045')= -0.0428; -p15_oghgf_ffoc('2046')= -0.0425; -p15_oghgf_ffoc('2047')= -0.0422; -p15_oghgf_ffoc('2048')= -0.0419; -p15_oghgf_ffoc('2049')= -0.0416; -p15_oghgf_ffoc('2050')= -0.0414; -p15_oghgf_ffoc('2051')= -0.0413; -p15_oghgf_ffoc('2052')= -0.0413; -p15_oghgf_ffoc('2053')= -0.0412; -p15_oghgf_ffoc('2054')= -0.0412; -p15_oghgf_ffoc('2055')= -0.0411; -p15_oghgf_ffoc('2056')= -0.0411; -p15_oghgf_ffoc('2057')= -0.0411; -p15_oghgf_ffoc('2058')= -0.0410; -p15_oghgf_ffoc('2059')= -0.0410; -p15_oghgf_ffoc('2060')= -0.0409; -p15_oghgf_ffoc('2061')= -0.0407; -p15_oghgf_ffoc('2062')= -0.0405; -p15_oghgf_ffoc('2063')= -0.0402; -p15_oghgf_ffoc('2064')= -0.0400; -p15_oghgf_ffoc('2065')= -0.0398; -p15_oghgf_ffoc('2066')= -0.0396; -p15_oghgf_ffoc('2067')= -0.0394; -p15_oghgf_ffoc('2068')= -0.0391; -p15_oghgf_ffoc('2069')= -0.0389; -p15_oghgf_ffoc('2070')= -0.0387; -p15_oghgf_ffoc('2071')= -0.0385; -p15_oghgf_ffoc('2072')= -0.0384; -p15_oghgf_ffoc('2073')= -0.0382; -p15_oghgf_ffoc('2074')= -0.0381; -p15_oghgf_ffoc('2075')= -0.0379; -p15_oghgf_ffoc('2076')= -0.0377; -p15_oghgf_ffoc('2077')= -0.0376; -p15_oghgf_ffoc('2078')= -0.0374; -p15_oghgf_ffoc('2079')= -0.0373; -p15_oghgf_ffoc('2080')= -0.0371; -p15_oghgf_ffoc('2081')= -0.0370; -p15_oghgf_ffoc('2082')= -0.0370; -p15_oghgf_ffoc('2083')= -0.0369; -p15_oghgf_ffoc('2084')= -0.0368; -p15_oghgf_ffoc('2085')= -0.0368; -p15_oghgf_ffoc('2086')= -0.0367; -p15_oghgf_ffoc('2087')= -0.0366; -p15_oghgf_ffoc('2088')= -0.0366; -p15_oghgf_ffoc('2089')= -0.0365; -p15_oghgf_ffoc('2090')= -0.0364; -p15_oghgf_ffoc('2091')= -0.0363; -p15_oghgf_ffoc('2092')= -0.0361; -p15_oghgf_ffoc('2093')= -0.0360; -p15_oghgf_ffoc('2094')= -0.0358; -p15_oghgf_ffoc('2095')= -0.0357; -p15_oghgf_ffoc('2096')= -0.0355; -p15_oghgf_ffoc('2097')= -0.0354; -p15_oghgf_ffoc('2098')= -0.0353; -p15_oghgf_ffoc('2099')= -0.0351; -p15_oghgf_ffoc('2100')= -0.0350; -p15_oghgf_ffoc('2101')= -0.0350; -p15_oghgf_ffoc('2102')= -0.0350; -p15_oghgf_ffoc('2103')= -0.0350; -p15_oghgf_ffoc('2104')= -0.0350; -p15_oghgf_ffoc('2105')= -0.0350; -p15_oghgf_ffoc('2106')= -0.0350; -p15_oghgf_ffoc('2107')= -0.0350; -p15_oghgf_ffoc('2108')= -0.0350; -p15_oghgf_ffoc('2109')= -0.0350; -p15_oghgf_ffoc('2110')= -0.0350; -p15_oghgf_ffoc('2111')= -0.0350; -p15_oghgf_ffoc('2112')= -0.0350; -p15_oghgf_ffoc('2113')= -0.0350; -p15_oghgf_ffoc('2114')= -0.0350; -p15_oghgf_ffoc('2115')= -0.0350; -p15_oghgf_ffoc('2116')= -0.0350; -p15_oghgf_ffoc('2117')= -0.0350; -p15_oghgf_ffoc('2118')= -0.0350; -p15_oghgf_ffoc('2119')= -0.0350; -p15_oghgf_ffoc('2120')= -0.0350; -p15_oghgf_ffoc('2121')= -0.0350; -p15_oghgf_ffoc('2122')= -0.0350; -p15_oghgf_ffoc('2123')= -0.0350; -p15_oghgf_ffoc('2124')= -0.0350; -p15_oghgf_ffoc('2125')= -0.0350; -p15_oghgf_ffoc('2126')= -0.0350; -p15_oghgf_ffoc('2127')= -0.0350; -p15_oghgf_ffoc('2128')= -0.0350; -p15_oghgf_ffoc('2129')= -0.0350; -p15_oghgf_ffoc('2130')= -0.0350; -p15_oghgf_ffoc('2131')= -0.0350; -p15_oghgf_ffoc('2132')= -0.0350; -p15_oghgf_ffoc('2133')= -0.0350; -p15_oghgf_ffoc('2134')= -0.0350; -p15_oghgf_ffoc('2135')= -0.0350; -p15_oghgf_ffoc('2136')= -0.0350; -p15_oghgf_ffoc('2137')= -0.0350; -p15_oghgf_ffoc('2138')= -0.0350; -p15_oghgf_ffoc('2139')= -0.0350; -p15_oghgf_ffoc('2140')= -0.0350; -p15_oghgf_ffoc('2141')= -0.0350; -p15_oghgf_ffoc('2142')= -0.0350; -p15_oghgf_ffoc('2143')= -0.0350; -p15_oghgf_ffoc('2144')= -0.0350; -p15_oghgf_ffoc('2145')= -0.0350; -p15_oghgf_ffoc('2146')= -0.0350; -p15_oghgf_ffoc('2147')= -0.0350; -p15_oghgf_ffoc('2148')= -0.0350; -p15_oghgf_ffoc('2149')= -0.0350; -p15_oghgf_ffoc('2150')= -0.0350; -*** EOF ./modules/15_climate/magicc/input/data_oghgf_rcp3pd.inc diff --git a/modules/15_climate/magicc/input/data_oghgf_rcp45.inc b/modules/15_climate/magicc/input/data_oghgf_rcp45.inc deleted file mode 100644 index 1a2b8f0b7..000000000 --- a/modules/15_climate/magicc/input/data_oghgf_rcp45.inc +++ /dev/null @@ -1,1965 +0,0 @@ -*** SOF ./modules/15_climate/magicc/input/data_oghgf_rcp45.inc -p15_oghgf_pfc('2000')= 0.0048; -p15_oghgf_pfc('2001')= 0.0049; -p15_oghgf_pfc('2002')= 0.0050; -p15_oghgf_pfc('2003')= 0.0051; -p15_oghgf_pfc('2004')= 0.0052; -p15_oghgf_pfc('2005')= 0.0053; -p15_oghgf_pfc('2006')= 0.0055; -p15_oghgf_pfc('2007')= 0.0056; -p15_oghgf_pfc('2008')= 0.0057; -p15_oghgf_pfc('2009')= 0.0058; -p15_oghgf_pfc('2010')= 0.0059; -p15_oghgf_pfc('2011')= 0.0060; -p15_oghgf_pfc('2012')= 0.0061; -p15_oghgf_pfc('2013')= 0.0062; -p15_oghgf_pfc('2014')= 0.0063; -p15_oghgf_pfc('2015')= 0.0064; -p15_oghgf_pfc('2016')= 0.0064; -p15_oghgf_pfc('2017')= 0.0065; -p15_oghgf_pfc('2018')= 0.0066; -p15_oghgf_pfc('2019')= 0.0067; -p15_oghgf_pfc('2020')= 0.0068; -p15_oghgf_pfc('2021')= 0.0069; -p15_oghgf_pfc('2022')= 0.0069; -p15_oghgf_pfc('2023')= 0.0070; -p15_oghgf_pfc('2024')= 0.0071; -p15_oghgf_pfc('2025')= 0.0072; -p15_oghgf_pfc('2026')= 0.0072; -p15_oghgf_pfc('2027')= 0.0073; -p15_oghgf_pfc('2028')= 0.0074; -p15_oghgf_pfc('2029')= 0.0075; -p15_oghgf_pfc('2030')= 0.0075; -p15_oghgf_pfc('2031')= 0.0076; -p15_oghgf_pfc('2032')= 0.0077; -p15_oghgf_pfc('2033')= 0.0078; -p15_oghgf_pfc('2034')= 0.0078; -p15_oghgf_pfc('2035')= 0.0079; -p15_oghgf_pfc('2036')= 0.0080; -p15_oghgf_pfc('2037')= 0.0081; -p15_oghgf_pfc('2038')= 0.0081; -p15_oghgf_pfc('2039')= 0.0082; -p15_oghgf_pfc('2040')= 0.0083; -p15_oghgf_pfc('2041')= 0.0084; -p15_oghgf_pfc('2042')= 0.0085; -p15_oghgf_pfc('2043')= 0.0085; -p15_oghgf_pfc('2044')= 0.0086; -p15_oghgf_pfc('2045')= 0.0087; -p15_oghgf_pfc('2046')= 0.0088; -p15_oghgf_pfc('2047')= 0.0089; -p15_oghgf_pfc('2048')= 0.0090; -p15_oghgf_pfc('2049')= 0.0090; -p15_oghgf_pfc('2050')= 0.0091; -p15_oghgf_pfc('2051')= 0.0092; -p15_oghgf_pfc('2052')= 0.0093; -p15_oghgf_pfc('2053')= 0.0094; -p15_oghgf_pfc('2054')= 0.0095; -p15_oghgf_pfc('2055')= 0.0095; -p15_oghgf_pfc('2056')= 0.0096; -p15_oghgf_pfc('2057')= 0.0097; -p15_oghgf_pfc('2058')= 0.0098; -p15_oghgf_pfc('2059')= 0.0099; -p15_oghgf_pfc('2060')= 0.0099; -p15_oghgf_pfc('2061')= 0.0100; -p15_oghgf_pfc('2062')= 0.0101; -p15_oghgf_pfc('2063')= 0.0102; -p15_oghgf_pfc('2064')= 0.0103; -p15_oghgf_pfc('2065')= 0.0104; -p15_oghgf_pfc('2066')= 0.0104; -p15_oghgf_pfc('2067')= 0.0105; -p15_oghgf_pfc('2068')= 0.0106; -p15_oghgf_pfc('2069')= 0.0107; -p15_oghgf_pfc('2070')= 0.0108; -p15_oghgf_pfc('2071')= 0.0108; -p15_oghgf_pfc('2072')= 0.0109; -p15_oghgf_pfc('2073')= 0.0110; -p15_oghgf_pfc('2074')= 0.0111; -p15_oghgf_pfc('2075')= 0.0112; -p15_oghgf_pfc('2076')= 0.0113; -p15_oghgf_pfc('2077')= 0.0113; -p15_oghgf_pfc('2078')= 0.0114; -p15_oghgf_pfc('2079')= 0.0115; -p15_oghgf_pfc('2080')= 0.0116; -p15_oghgf_pfc('2081')= 0.0117; -p15_oghgf_pfc('2082')= 0.0118; -p15_oghgf_pfc('2083')= 0.0118; -p15_oghgf_pfc('2084')= 0.0119; -p15_oghgf_pfc('2085')= 0.0120; -p15_oghgf_pfc('2086')= 0.0121; -p15_oghgf_pfc('2087')= 0.0122; -p15_oghgf_pfc('2088')= 0.0123; -p15_oghgf_pfc('2089')= 0.0124; -p15_oghgf_pfc('2090')= 0.0125; -p15_oghgf_pfc('2091')= 0.0126; -p15_oghgf_pfc('2092')= 0.0126; -p15_oghgf_pfc('2093')= 0.0127; -p15_oghgf_pfc('2094')= 0.0128; -p15_oghgf_pfc('2095')= 0.0129; -p15_oghgf_pfc('2096')= 0.0130; -p15_oghgf_pfc('2097')= 0.0131; -p15_oghgf_pfc('2098')= 0.0132; -p15_oghgf_pfc('2099')= 0.0133; -p15_oghgf_pfc('2100')= 0.0134; -p15_oghgf_pfc('2101')= 0.0135; -p15_oghgf_pfc('2102')= 0.0136; -p15_oghgf_pfc('2103')= 0.0137; -p15_oghgf_pfc('2104')= 0.0138; -p15_oghgf_pfc('2105')= 0.0139; -p15_oghgf_pfc('2106')= 0.0140; -p15_oghgf_pfc('2107')= 0.0141; -p15_oghgf_pfc('2108')= 0.0141; -p15_oghgf_pfc('2109')= 0.0142; -p15_oghgf_pfc('2110')= 0.0143; -p15_oghgf_pfc('2111')= 0.0144; -p15_oghgf_pfc('2112')= 0.0145; -p15_oghgf_pfc('2113')= 0.0145; -p15_oghgf_pfc('2114')= 0.0146; -p15_oghgf_pfc('2115')= 0.0147; -p15_oghgf_pfc('2116')= 0.0148; -p15_oghgf_pfc('2117')= 0.0148; -p15_oghgf_pfc('2118')= 0.0149; -p15_oghgf_pfc('2119')= 0.0150; -p15_oghgf_pfc('2120')= 0.0150; -p15_oghgf_pfc('2121')= 0.0151; -p15_oghgf_pfc('2122')= 0.0151; -p15_oghgf_pfc('2123')= 0.0152; -p15_oghgf_pfc('2124')= 0.0152; -p15_oghgf_pfc('2125')= 0.0153; -p15_oghgf_pfc('2126')= 0.0153; -p15_oghgf_pfc('2127')= 0.0154; -p15_oghgf_pfc('2128')= 0.0154; -p15_oghgf_pfc('2129')= 0.0155; -p15_oghgf_pfc('2130')= 0.0155; -p15_oghgf_pfc('2131')= 0.0156; -p15_oghgf_pfc('2132')= 0.0156; -p15_oghgf_pfc('2133')= 0.0156; -p15_oghgf_pfc('2134')= 0.0157; -p15_oghgf_pfc('2135')= 0.0157; -p15_oghgf_pfc('2136')= 0.0157; -p15_oghgf_pfc('2137')= 0.0158; -p15_oghgf_pfc('2138')= 0.0158; -p15_oghgf_pfc('2139')= 0.0158; -p15_oghgf_pfc('2140')= 0.0158; -p15_oghgf_pfc('2141')= 0.0159; -p15_oghgf_pfc('2142')= 0.0159; -p15_oghgf_pfc('2143')= 0.0159; -p15_oghgf_pfc('2144')= 0.0159; -p15_oghgf_pfc('2145')= 0.0159; -p15_oghgf_pfc('2146')= 0.0159; -p15_oghgf_pfc('2147')= 0.0159; -p15_oghgf_pfc('2148')= 0.0159; -p15_oghgf_pfc('2149')= 0.0160; -p15_oghgf_pfc('2150')= 0.0160; -p15_oghgf_hfc('2000')= 0.0058; -p15_oghgf_hfc('2001')= 0.0068; -p15_oghgf_hfc('2002')= 0.0080; -p15_oghgf_hfc('2003')= 0.0092; -p15_oghgf_hfc('2004')= 0.0106; -p15_oghgf_hfc('2005')= 0.0120; -p15_oghgf_hfc('2006')= 0.0134; -p15_oghgf_hfc('2007')= 0.0148; -p15_oghgf_hfc('2008')= 0.0163; -p15_oghgf_hfc('2009')= 0.0177; -p15_oghgf_hfc('2010')= 0.0192; -p15_oghgf_hfc('2011')= 0.0207; -p15_oghgf_hfc('2012')= 0.0222; -p15_oghgf_hfc('2013')= 0.0237; -p15_oghgf_hfc('2014')= 0.0253; -p15_oghgf_hfc('2015')= 0.0269; -p15_oghgf_hfc('2016')= 0.0284; -p15_oghgf_hfc('2017')= 0.0300; -p15_oghgf_hfc('2018')= 0.0317; -p15_oghgf_hfc('2019')= 0.0333; -p15_oghgf_hfc('2020')= 0.0349; -p15_oghgf_hfc('2021')= 0.0365; -p15_oghgf_hfc('2022')= 0.0380; -p15_oghgf_hfc('2023')= 0.0395; -p15_oghgf_hfc('2024')= 0.0408; -p15_oghgf_hfc('2025')= 0.0421; -p15_oghgf_hfc('2026')= 0.0433; -p15_oghgf_hfc('2027')= 0.0445; -p15_oghgf_hfc('2028')= 0.0456; -p15_oghgf_hfc('2029')= 0.0466; -p15_oghgf_hfc('2030')= 0.0476; -p15_oghgf_hfc('2031')= 0.0486; -p15_oghgf_hfc('2032')= 0.0495; -p15_oghgf_hfc('2033')= 0.0504; -p15_oghgf_hfc('2034')= 0.0513; -p15_oghgf_hfc('2035')= 0.0521; -p15_oghgf_hfc('2036')= 0.0529; -p15_oghgf_hfc('2037')= 0.0537; -p15_oghgf_hfc('2038')= 0.0544; -p15_oghgf_hfc('2039')= 0.0552; -p15_oghgf_hfc('2040')= 0.0559; -p15_oghgf_hfc('2041')= 0.0566; -p15_oghgf_hfc('2042')= 0.0572; -p15_oghgf_hfc('2043')= 0.0579; -p15_oghgf_hfc('2044')= 0.0585; -p15_oghgf_hfc('2045')= 0.0591; -p15_oghgf_hfc('2046')= 0.0596; -p15_oghgf_hfc('2047')= 0.0602; -p15_oghgf_hfc('2048')= 0.0607; -p15_oghgf_hfc('2049')= 0.0612; -p15_oghgf_hfc('2050')= 0.0617; -p15_oghgf_hfc('2051')= 0.0622; -p15_oghgf_hfc('2052')= 0.0627; -p15_oghgf_hfc('2053')= 0.0631; -p15_oghgf_hfc('2054')= 0.0635; -p15_oghgf_hfc('2055')= 0.0639; -p15_oghgf_hfc('2056')= 0.0642; -p15_oghgf_hfc('2057')= 0.0644; -p15_oghgf_hfc('2058')= 0.0647; -p15_oghgf_hfc('2059')= 0.0649; -p15_oghgf_hfc('2060')= 0.0651; -p15_oghgf_hfc('2061')= 0.0652; -p15_oghgf_hfc('2062')= 0.0654; -p15_oghgf_hfc('2063')= 0.0655; -p15_oghgf_hfc('2064')= 0.0657; -p15_oghgf_hfc('2065')= 0.0658; -p15_oghgf_hfc('2066')= 0.0660; -p15_oghgf_hfc('2067')= 0.0661; -p15_oghgf_hfc('2068')= 0.0663; -p15_oghgf_hfc('2069')= 0.0664; -p15_oghgf_hfc('2070')= 0.0666; -p15_oghgf_hfc('2071')= 0.0667; -p15_oghgf_hfc('2072')= 0.0669; -p15_oghgf_hfc('2073')= 0.0671; -p15_oghgf_hfc('2074')= 0.0673; -p15_oghgf_hfc('2075')= 0.0675; -p15_oghgf_hfc('2076')= 0.0678; -p15_oghgf_hfc('2077')= 0.0680; -p15_oghgf_hfc('2078')= 0.0683; -p15_oghgf_hfc('2079')= 0.0686; -p15_oghgf_hfc('2080')= 0.0690; -p15_oghgf_hfc('2081')= 0.0693; -p15_oghgf_hfc('2082')= 0.0697; -p15_oghgf_hfc('2083')= 0.0701; -p15_oghgf_hfc('2084')= 0.0705; -p15_oghgf_hfc('2085')= 0.0710; -p15_oghgf_hfc('2086')= 0.0715; -p15_oghgf_hfc('2087')= 0.0720; -p15_oghgf_hfc('2088')= 0.0725; -p15_oghgf_hfc('2089')= 0.0730; -p15_oghgf_hfc('2090')= 0.0735; -p15_oghgf_hfc('2091')= 0.0741; -p15_oghgf_hfc('2092')= 0.0746; -p15_oghgf_hfc('2093')= 0.0752; -p15_oghgf_hfc('2094')= 0.0758; -p15_oghgf_hfc('2095')= 0.0764; -p15_oghgf_hfc('2096')= 0.0770; -p15_oghgf_hfc('2097')= 0.0777; -p15_oghgf_hfc('2098')= 0.0783; -p15_oghgf_hfc('2099')= 0.0790; -p15_oghgf_hfc('2100')= 0.0796; -p15_oghgf_hfc('2101')= 0.0803; -p15_oghgf_hfc('2102')= 0.0809; -p15_oghgf_hfc('2103')= 0.0815; -p15_oghgf_hfc('2104')= 0.0821; -p15_oghgf_hfc('2105')= 0.0826; -p15_oghgf_hfc('2106')= 0.0831; -p15_oghgf_hfc('2107')= 0.0836; -p15_oghgf_hfc('2108')= 0.0840; -p15_oghgf_hfc('2109')= 0.0844; -p15_oghgf_hfc('2110')= 0.0848; -p15_oghgf_hfc('2111')= 0.0852; -p15_oghgf_hfc('2112')= 0.0855; -p15_oghgf_hfc('2113')= 0.0858; -p15_oghgf_hfc('2114')= 0.0861; -p15_oghgf_hfc('2115')= 0.0863; -p15_oghgf_hfc('2116')= 0.0866; -p15_oghgf_hfc('2117')= 0.0868; -p15_oghgf_hfc('2118')= 0.0870; -p15_oghgf_hfc('2119')= 0.0872; -p15_oghgf_hfc('2120')= 0.0874; -p15_oghgf_hfc('2121')= 0.0876; -p15_oghgf_hfc('2122')= 0.0877; -p15_oghgf_hfc('2123')= 0.0879; -p15_oghgf_hfc('2124')= 0.0880; -p15_oghgf_hfc('2125')= 0.0881; -p15_oghgf_hfc('2126')= 0.0882; -p15_oghgf_hfc('2127')= 0.0883; -p15_oghgf_hfc('2128')= 0.0884; -p15_oghgf_hfc('2129')= 0.0885; -p15_oghgf_hfc('2130')= 0.0885; -p15_oghgf_hfc('2131')= 0.0886; -p15_oghgf_hfc('2132')= 0.0887; -p15_oghgf_hfc('2133')= 0.0887; -p15_oghgf_hfc('2134')= 0.0887; -p15_oghgf_hfc('2135')= 0.0888; -p15_oghgf_hfc('2136')= 0.0888; -p15_oghgf_hfc('2137')= 0.0888; -p15_oghgf_hfc('2138')= 0.0889; -p15_oghgf_hfc('2139')= 0.0889; -p15_oghgf_hfc('2140')= 0.0889; -p15_oghgf_hfc('2141')= 0.0889; -p15_oghgf_hfc('2142')= 0.0889; -p15_oghgf_hfc('2143')= 0.0889; -p15_oghgf_hfc('2144')= 0.0889; -p15_oghgf_hfc('2145')= 0.0889; -p15_oghgf_hfc('2146')= 0.0888; -p15_oghgf_hfc('2147')= 0.0888; -p15_oghgf_hfc('2148')= 0.0888; -p15_oghgf_hfc('2149')= 0.0888; -p15_oghgf_hfc('2150')= 0.0888; -p15_oghgf_sf6('2000')= 0.0024; -p15_oghgf_sf6('2001')= 0.0025; -p15_oghgf_sf6('2002')= 0.0026; -p15_oghgf_sf6('2003')= 0.0027; -p15_oghgf_sf6('2004')= 0.0028; -p15_oghgf_sf6('2005')= 0.0030; -p15_oghgf_sf6('2006')= 0.0031; -p15_oghgf_sf6('2007')= 0.0032; -p15_oghgf_sf6('2008')= 0.0034; -p15_oghgf_sf6('2009')= 0.0035; -p15_oghgf_sf6('2010')= 0.0036; -p15_oghgf_sf6('2011')= 0.0037; -p15_oghgf_sf6('2012')= 0.0038; -p15_oghgf_sf6('2013')= 0.0040; -p15_oghgf_sf6('2014')= 0.0041; -p15_oghgf_sf6('2015')= 0.0041; -p15_oghgf_sf6('2016')= 0.0042; -p15_oghgf_sf6('2017')= 0.0043; -p15_oghgf_sf6('2018')= 0.0044; -p15_oghgf_sf6('2019')= 0.0045; -p15_oghgf_sf6('2020')= 0.0045; -p15_oghgf_sf6('2021')= 0.0046; -p15_oghgf_sf6('2022')= 0.0046; -p15_oghgf_sf6('2023')= 0.0047; -p15_oghgf_sf6('2024')= 0.0047; -p15_oghgf_sf6('2025')= 0.0048; -p15_oghgf_sf6('2026')= 0.0048; -p15_oghgf_sf6('2027')= 0.0049; -p15_oghgf_sf6('2028')= 0.0049; -p15_oghgf_sf6('2029')= 0.0050; -p15_oghgf_sf6('2030')= 0.0051; -p15_oghgf_sf6('2031')= 0.0051; -p15_oghgf_sf6('2032')= 0.0052; -p15_oghgf_sf6('2033')= 0.0052; -p15_oghgf_sf6('2034')= 0.0053; -p15_oghgf_sf6('2035')= 0.0054; -p15_oghgf_sf6('2036')= 0.0054; -p15_oghgf_sf6('2037')= 0.0055; -p15_oghgf_sf6('2038')= 0.0055; -p15_oghgf_sf6('2039')= 0.0056; -p15_oghgf_sf6('2040')= 0.0057; -p15_oghgf_sf6('2041')= 0.0057; -p15_oghgf_sf6('2042')= 0.0058; -p15_oghgf_sf6('2043')= 0.0059; -p15_oghgf_sf6('2044')= 0.0060; -p15_oghgf_sf6('2045')= 0.0060; -p15_oghgf_sf6('2046')= 0.0061; -p15_oghgf_sf6('2047')= 0.0062; -p15_oghgf_sf6('2048')= 0.0062; -p15_oghgf_sf6('2049')= 0.0063; -p15_oghgf_sf6('2050')= 0.0064; -p15_oghgf_sf6('2051')= 0.0065; -p15_oghgf_sf6('2052')= 0.0065; -p15_oghgf_sf6('2053')= 0.0066; -p15_oghgf_sf6('2054')= 0.0067; -p15_oghgf_sf6('2055')= 0.0068; -p15_oghgf_sf6('2056')= 0.0069; -p15_oghgf_sf6('2057')= 0.0069; -p15_oghgf_sf6('2058')= 0.0070; -p15_oghgf_sf6('2059')= 0.0071; -p15_oghgf_sf6('2060')= 0.0072; -p15_oghgf_sf6('2061')= 0.0073; -p15_oghgf_sf6('2062')= 0.0074; -p15_oghgf_sf6('2063')= 0.0075; -p15_oghgf_sf6('2064')= 0.0075; -p15_oghgf_sf6('2065')= 0.0076; -p15_oghgf_sf6('2066')= 0.0077; -p15_oghgf_sf6('2067')= 0.0078; -p15_oghgf_sf6('2068')= 0.0079; -p15_oghgf_sf6('2069')= 0.0080; -p15_oghgf_sf6('2070')= 0.0081; -p15_oghgf_sf6('2071')= 0.0082; -p15_oghgf_sf6('2072')= 0.0083; -p15_oghgf_sf6('2073')= 0.0084; -p15_oghgf_sf6('2074')= 0.0085; -p15_oghgf_sf6('2075')= 0.0086; -p15_oghgf_sf6('2076')= 0.0087; -p15_oghgf_sf6('2077')= 0.0088; -p15_oghgf_sf6('2078')= 0.0089; -p15_oghgf_sf6('2079')= 0.0091; -p15_oghgf_sf6('2080')= 0.0092; -p15_oghgf_sf6('2081')= 0.0093; -p15_oghgf_sf6('2082')= 0.0094; -p15_oghgf_sf6('2083')= 0.0095; -p15_oghgf_sf6('2084')= 0.0096; -p15_oghgf_sf6('2085')= 0.0097; -p15_oghgf_sf6('2086')= 0.0099; -p15_oghgf_sf6('2087')= 0.0100; -p15_oghgf_sf6('2088')= 0.0101; -p15_oghgf_sf6('2089')= 0.0102; -p15_oghgf_sf6('2090')= 0.0103; -p15_oghgf_sf6('2091')= 0.0104; -p15_oghgf_sf6('2092')= 0.0106; -p15_oghgf_sf6('2093')= 0.0107; -p15_oghgf_sf6('2094')= 0.0108; -p15_oghgf_sf6('2095')= 0.0109; -p15_oghgf_sf6('2096')= 0.0111; -p15_oghgf_sf6('2097')= 0.0112; -p15_oghgf_sf6('2098')= 0.0113; -p15_oghgf_sf6('2099')= 0.0114; -p15_oghgf_sf6('2100')= 0.0116; -p15_oghgf_sf6('2101')= 0.0117; -p15_oghgf_sf6('2102')= 0.0118; -p15_oghgf_sf6('2103')= 0.0120; -p15_oghgf_sf6('2104')= 0.0121; -p15_oghgf_sf6('2105')= 0.0122; -p15_oghgf_sf6('2106')= 0.0123; -p15_oghgf_sf6('2107')= 0.0124; -p15_oghgf_sf6('2108')= 0.0126; -p15_oghgf_sf6('2109')= 0.0127; -p15_oghgf_sf6('2110')= 0.0128; -p15_oghgf_sf6('2111')= 0.0129; -p15_oghgf_sf6('2112')= 0.0130; -p15_oghgf_sf6('2113')= 0.0131; -p15_oghgf_sf6('2114')= 0.0132; -p15_oghgf_sf6('2115')= 0.0133; -p15_oghgf_sf6('2116')= 0.0134; -p15_oghgf_sf6('2117')= 0.0134; -p15_oghgf_sf6('2118')= 0.0135; -p15_oghgf_sf6('2119')= 0.0136; -p15_oghgf_sf6('2120')= 0.0137; -p15_oghgf_sf6('2121')= 0.0138; -p15_oghgf_sf6('2122')= 0.0139; -p15_oghgf_sf6('2123')= 0.0139; -p15_oghgf_sf6('2124')= 0.0140; -p15_oghgf_sf6('2125')= 0.0141; -p15_oghgf_sf6('2126')= 0.0141; -p15_oghgf_sf6('2127')= 0.0142; -p15_oghgf_sf6('2128')= 0.0143; -p15_oghgf_sf6('2129')= 0.0143; -p15_oghgf_sf6('2130')= 0.0144; -p15_oghgf_sf6('2131')= 0.0144; -p15_oghgf_sf6('2132')= 0.0145; -p15_oghgf_sf6('2133')= 0.0145; -p15_oghgf_sf6('2134')= 0.0146; -p15_oghgf_sf6('2135')= 0.0146; -p15_oghgf_sf6('2136')= 0.0146; -p15_oghgf_sf6('2137')= 0.0147; -p15_oghgf_sf6('2138')= 0.0147; -p15_oghgf_sf6('2139')= 0.0147; -p15_oghgf_sf6('2140')= 0.0148; -p15_oghgf_sf6('2141')= 0.0148; -p15_oghgf_sf6('2142')= 0.0148; -p15_oghgf_sf6('2143')= 0.0148; -p15_oghgf_sf6('2144')= 0.0149; -p15_oghgf_sf6('2145')= 0.0149; -p15_oghgf_sf6('2146')= 0.0149; -p15_oghgf_sf6('2147')= 0.0149; -p15_oghgf_sf6('2148')= 0.0149; -p15_oghgf_sf6('2149')= 0.0149; -p15_oghgf_sf6('2150')= 0.0149; -p15_oghgf_montreal('2000')= 0.3196; -p15_oghgf_montreal('2001')= 0.3203; -p15_oghgf_montreal('2002')= 0.3210; -p15_oghgf_montreal('2003')= 0.3213; -p15_oghgf_montreal('2004')= 0.3213; -p15_oghgf_montreal('2005')= 0.3211; -p15_oghgf_montreal('2006')= 0.3205; -p15_oghgf_montreal('2007')= 0.3195; -p15_oghgf_montreal('2008')= 0.3186; -p15_oghgf_montreal('2009')= 0.3176; -p15_oghgf_montreal('2010')= 0.3166; -p15_oghgf_montreal('2011')= 0.3155; -p15_oghgf_montreal('2012')= 0.3144; -p15_oghgf_montreal('2013')= 0.3132; -p15_oghgf_montreal('2014')= 0.3120; -p15_oghgf_montreal('2015')= 0.3107; -p15_oghgf_montreal('2016')= 0.3094; -p15_oghgf_montreal('2017')= 0.3081; -p15_oghgf_montreal('2018')= 0.3067; -p15_oghgf_montreal('2019')= 0.3053; -p15_oghgf_montreal('2020')= 0.3038; -p15_oghgf_montreal('2021')= 0.3023; -p15_oghgf_montreal('2022')= 0.3007; -p15_oghgf_montreal('2023')= 0.2991; -p15_oghgf_montreal('2024')= 0.2974; -p15_oghgf_montreal('2025')= 0.2957; -p15_oghgf_montreal('2026')= 0.2939; -p15_oghgf_montreal('2027')= 0.2921; -p15_oghgf_montreal('2028')= 0.2902; -p15_oghgf_montreal('2029')= 0.2883; -p15_oghgf_montreal('2030')= 0.2864; -p15_oghgf_montreal('2031')= 0.2844; -p15_oghgf_montreal('2032')= 0.2823; -p15_oghgf_montreal('2033')= 0.2801; -p15_oghgf_montreal('2034')= 0.2777; -p15_oghgf_montreal('2035')= 0.2750; -p15_oghgf_montreal('2036')= 0.2720; -p15_oghgf_montreal('2037')= 0.2688; -p15_oghgf_montreal('2038')= 0.2652; -p15_oghgf_montreal('2039')= 0.2613; -p15_oghgf_montreal('2040')= 0.2571; -p15_oghgf_montreal('2041')= 0.2526; -p15_oghgf_montreal('2042')= 0.2478; -p15_oghgf_montreal('2043')= 0.2428; -p15_oghgf_montreal('2044')= 0.2377; -p15_oghgf_montreal('2045')= 0.2324; -p15_oghgf_montreal('2046')= 0.2272; -p15_oghgf_montreal('2047')= 0.2220; -p15_oghgf_montreal('2048')= 0.2168; -p15_oghgf_montreal('2049')= 0.2118; -p15_oghgf_montreal('2050')= 0.2068; -p15_oghgf_montreal('2051')= 0.2019; -p15_oghgf_montreal('2052')= 0.1971; -p15_oghgf_montreal('2053')= 0.1925; -p15_oghgf_montreal('2054')= 0.1880; -p15_oghgf_montreal('2055')= 0.1836; -p15_oghgf_montreal('2056')= 0.1793; -p15_oghgf_montreal('2057')= 0.1752; -p15_oghgf_montreal('2058')= 0.1712; -p15_oghgf_montreal('2059')= 0.1674; -p15_oghgf_montreal('2060')= 0.1637; -p15_oghgf_montreal('2061')= 0.1601; -p15_oghgf_montreal('2062')= 0.1566; -p15_oghgf_montreal('2063')= 0.1533; -p15_oghgf_montreal('2064')= 0.1501; -p15_oghgf_montreal('2065')= 0.1469; -p15_oghgf_montreal('2066')= 0.1439; -p15_oghgf_montreal('2067')= 0.1410; -p15_oghgf_montreal('2068')= 0.1382; -p15_oghgf_montreal('2069')= 0.1355; -p15_oghgf_montreal('2070')= 0.1328; -p15_oghgf_montreal('2071')= 0.1303; -p15_oghgf_montreal('2072')= 0.1278; -p15_oghgf_montreal('2073')= 0.1254; -p15_oghgf_montreal('2074')= 0.1231; -p15_oghgf_montreal('2075')= 0.1209; -p15_oghgf_montreal('2076')= 0.1187; -p15_oghgf_montreal('2077')= 0.1166; -p15_oghgf_montreal('2078')= 0.1146; -p15_oghgf_montreal('2079')= 0.1126; -p15_oghgf_montreal('2080')= 0.1106; -p15_oghgf_montreal('2081')= 0.1088; -p15_oghgf_montreal('2082')= 0.1069; -p15_oghgf_montreal('2083')= 0.1052; -p15_oghgf_montreal('2084')= 0.1034; -p15_oghgf_montreal('2085')= 0.1018; -p15_oghgf_montreal('2086')= 0.1001; -p15_oghgf_montreal('2087')= 0.0985; -p15_oghgf_montreal('2088')= 0.0970; -p15_oghgf_montreal('2089')= 0.0954; -p15_oghgf_montreal('2090')= 0.0940; -p15_oghgf_montreal('2091')= 0.0925; -p15_oghgf_montreal('2092')= 0.0911; -p15_oghgf_montreal('2093')= 0.0897; -p15_oghgf_montreal('2094')= 0.0883; -p15_oghgf_montreal('2095')= 0.0870; -p15_oghgf_montreal('2096')= 0.0857; -p15_oghgf_montreal('2097')= 0.0844; -p15_oghgf_montreal('2098')= 0.0832; -p15_oghgf_montreal('2099')= 0.0820; -p15_oghgf_montreal('2100')= 0.0808; -p15_oghgf_montreal('2101')= 0.0796; -p15_oghgf_montreal('2102')= 0.0784; -p15_oghgf_montreal('2103')= 0.0773; -p15_oghgf_montreal('2104')= 0.0762; -p15_oghgf_montreal('2105')= 0.0751; -p15_oghgf_montreal('2106')= 0.0740; -p15_oghgf_montreal('2107')= 0.0730; -p15_oghgf_montreal('2108')= 0.0719; -p15_oghgf_montreal('2109')= 0.0709; -p15_oghgf_montreal('2110')= 0.0699; -p15_oghgf_montreal('2111')= 0.0689; -p15_oghgf_montreal('2112')= 0.0680; -p15_oghgf_montreal('2113')= 0.0670; -p15_oghgf_montreal('2114')= 0.0661; -p15_oghgf_montreal('2115')= 0.0652; -p15_oghgf_montreal('2116')= 0.0643; -p15_oghgf_montreal('2117')= 0.0634; -p15_oghgf_montreal('2118')= 0.0625; -p15_oghgf_montreal('2119')= 0.0617; -p15_oghgf_montreal('2120')= 0.0608; -p15_oghgf_montreal('2121')= 0.0600; -p15_oghgf_montreal('2122')= 0.0592; -p15_oghgf_montreal('2123')= 0.0584; -p15_oghgf_montreal('2124')= 0.0576; -p15_oghgf_montreal('2125')= 0.0568; -p15_oghgf_montreal('2126')= 0.0561; -p15_oghgf_montreal('2127')= 0.0553; -p15_oghgf_montreal('2128')= 0.0546; -p15_oghgf_montreal('2129')= 0.0538; -p15_oghgf_montreal('2130')= 0.0531; -p15_oghgf_montreal('2131')= 0.0524; -p15_oghgf_montreal('2132')= 0.0517; -p15_oghgf_montreal('2133')= 0.0510; -p15_oghgf_montreal('2134')= 0.0504; -p15_oghgf_montreal('2135')= 0.0497; -p15_oghgf_montreal('2136')= 0.0490; -p15_oghgf_montreal('2137')= 0.0484; -p15_oghgf_montreal('2138')= 0.0478; -p15_oghgf_montreal('2139')= 0.0471; -p15_oghgf_montreal('2140')= 0.0465; -p15_oghgf_montreal('2141')= 0.0459; -p15_oghgf_montreal('2142')= 0.0453; -p15_oghgf_montreal('2143')= 0.0447; -p15_oghgf_montreal('2144')= 0.0441; -p15_oghgf_montreal('2145')= 0.0436; -p15_oghgf_montreal('2146')= 0.0430; -p15_oghgf_montreal('2147')= 0.0425; -p15_oghgf_montreal('2148')= 0.0419; -p15_oghgf_montreal('2149')= 0.0414; -p15_oghgf_montreal('2150')= 0.0411; -p15_oghgf_o3str('2000')= -0.0612; -p15_oghgf_o3str('2001')= -0.0592; -p15_oghgf_o3str('2002')= -0.0575; -p15_oghgf_o3str('2003')= -0.0551; -p15_oghgf_o3str('2004')= -0.0523; -p15_oghgf_o3str('2005')= -0.0497; -p15_oghgf_o3str('2006')= -0.0478; -p15_oghgf_o3str('2007')= -0.0461; -p15_oghgf_o3str('2008')= -0.0444; -p15_oghgf_o3str('2009')= -0.0425; -p15_oghgf_o3str('2010')= -0.0406; -p15_oghgf_o3str('2011')= -0.0390; -p15_oghgf_o3str('2012')= -0.0371; -p15_oghgf_o3str('2013')= -0.0350; -p15_oghgf_o3str('2014')= -0.0332; -p15_oghgf_o3str('2015')= -0.0315; -p15_oghgf_o3str('2016')= -0.0298; -p15_oghgf_o3str('2017')= -0.0282; -p15_oghgf_o3str('2018')= -0.0265; -p15_oghgf_o3str('2019')= -0.0245; -p15_oghgf_o3str('2020')= -0.0224; -p15_oghgf_o3str('2021')= -0.0208; -p15_oghgf_o3str('2022')= -0.0193; -p15_oghgf_o3str('2023')= -0.0179; -p15_oghgf_o3str('2024')= -0.0166; -p15_oghgf_o3str('2025')= -0.0153; -p15_oghgf_o3str('2026')= -0.0141; -p15_oghgf_o3str('2027')= -0.0130; -p15_oghgf_o3str('2028')= -0.0119; -p15_oghgf_o3str('2029')= -0.0108; -p15_oghgf_o3str('2030')= -0.0099; -p15_oghgf_o3str('2031')= -0.0090; -p15_oghgf_o3str('2032')= -0.0081; -p15_oghgf_o3str('2033')= -0.0073; -p15_oghgf_o3str('2034')= -0.0065; -p15_oghgf_o3str('2035')= -0.0058; -p15_oghgf_o3str('2036')= -0.0051; -p15_oghgf_o3str('2037')= -0.0044; -p15_oghgf_o3str('2038')= -0.0038; -p15_oghgf_o3str('2039')= -0.0032; -p15_oghgf_o3str('2040')= -0.0027; -p15_oghgf_o3str('2041')= -0.0022; -p15_oghgf_o3str('2042')= -0.0017; -p15_oghgf_o3str('2043')= -0.0013; -p15_oghgf_o3str('2044')= -0.0009; -p15_oghgf_o3str('2045')= -0.0006; -p15_oghgf_o3str('2046')= -0.0004; -p15_oghgf_o3str('2047')= -0.0002; -p15_oghgf_o3str('2048')= -0.0000; -p15_oghgf_o3str('2049')= -0.0000; -p15_oghgf_o3str('2050')= 0.0000; -p15_oghgf_o3str('2051')= 0.0000; -p15_oghgf_o3str('2052')= 0.0000; -p15_oghgf_o3str('2053')= 0.0000; -p15_oghgf_o3str('2054')= 0.0000; -p15_oghgf_o3str('2055')= 0.0000; -p15_oghgf_o3str('2056')= 0.0000; -p15_oghgf_o3str('2057')= 0.0000; -p15_oghgf_o3str('2058')= 0.0000; -p15_oghgf_o3str('2059')= 0.0000; -p15_oghgf_o3str('2060')= 0.0000; -p15_oghgf_o3str('2061')= 0.0000; -p15_oghgf_o3str('2062')= 0.0000; -p15_oghgf_o3str('2063')= 0.0000; -p15_oghgf_o3str('2064')= 0.0000; -p15_oghgf_o3str('2065')= 0.0000; -p15_oghgf_o3str('2066')= 0.0000; -p15_oghgf_o3str('2067')= 0.0000; -p15_oghgf_o3str('2068')= 0.0000; -p15_oghgf_o3str('2069')= 0.0000; -p15_oghgf_o3str('2070')= 0.0000; -p15_oghgf_o3str('2071')= 0.0000; -p15_oghgf_o3str('2072')= 0.0000; -p15_oghgf_o3str('2073')= 0.0000; -p15_oghgf_o3str('2074')= 0.0000; -p15_oghgf_o3str('2075')= 0.0000; -p15_oghgf_o3str('2076')= 0.0000; -p15_oghgf_o3str('2077')= 0.0000; -p15_oghgf_o3str('2078')= 0.0000; -p15_oghgf_o3str('2079')= 0.0000; -p15_oghgf_o3str('2080')= 0.0000; -p15_oghgf_o3str('2081')= 0.0000; -p15_oghgf_o3str('2082')= 0.0000; -p15_oghgf_o3str('2083')= 0.0000; -p15_oghgf_o3str('2084')= 0.0000; -p15_oghgf_o3str('2085')= 0.0000; -p15_oghgf_o3str('2086')= 0.0000; -p15_oghgf_o3str('2087')= 0.0000; -p15_oghgf_o3str('2088')= 0.0000; -p15_oghgf_o3str('2089')= 0.0000; -p15_oghgf_o3str('2090')= 0.0000; -p15_oghgf_o3str('2091')= 0.0000; -p15_oghgf_o3str('2092')= 0.0000; -p15_oghgf_o3str('2093')= 0.0000; -p15_oghgf_o3str('2094')= 0.0000; -p15_oghgf_o3str('2095')= 0.0000; -p15_oghgf_o3str('2096')= 0.0000; -p15_oghgf_o3str('2097')= 0.0000; -p15_oghgf_o3str('2098')= 0.0000; -p15_oghgf_o3str('2099')= 0.0000; -p15_oghgf_o3str('2100')= 0.0000; -p15_oghgf_o3str('2101')= 0.0000; -p15_oghgf_o3str('2102')= 0.0000; -p15_oghgf_o3str('2103')= 0.0000; -p15_oghgf_o3str('2104')= 0.0000; -p15_oghgf_o3str('2105')= 0.0000; -p15_oghgf_o3str('2106')= 0.0000; -p15_oghgf_o3str('2107')= 0.0000; -p15_oghgf_o3str('2108')= 0.0000; -p15_oghgf_o3str('2109')= 0.0000; -p15_oghgf_o3str('2110')= 0.0000; -p15_oghgf_o3str('2111')= 0.0000; -p15_oghgf_o3str('2112')= 0.0000; -p15_oghgf_o3str('2113')= 0.0000; -p15_oghgf_o3str('2114')= 0.0000; -p15_oghgf_o3str('2115')= 0.0000; -p15_oghgf_o3str('2116')= 0.0000; -p15_oghgf_o3str('2117')= 0.0000; -p15_oghgf_o3str('2118')= 0.0000; -p15_oghgf_o3str('2119')= 0.0000; -p15_oghgf_o3str('2120')= 0.0000; -p15_oghgf_o3str('2121')= 0.0000; -p15_oghgf_o3str('2122')= 0.0000; -p15_oghgf_o3str('2123')= 0.0000; -p15_oghgf_o3str('2124')= 0.0000; -p15_oghgf_o3str('2125')= 0.0000; -p15_oghgf_o3str('2126')= 0.0000; -p15_oghgf_o3str('2127')= 0.0000; -p15_oghgf_o3str('2128')= 0.0000; -p15_oghgf_o3str('2129')= 0.0000; -p15_oghgf_o3str('2130')= 0.0000; -p15_oghgf_o3str('2131')= 0.0000; -p15_oghgf_o3str('2132')= 0.0000; -p15_oghgf_o3str('2133')= 0.0000; -p15_oghgf_o3str('2134')= 0.0000; -p15_oghgf_o3str('2135')= 0.0000; -p15_oghgf_o3str('2136')= 0.0000; -p15_oghgf_o3str('2137')= 0.0000; -p15_oghgf_o3str('2138')= 0.0000; -p15_oghgf_o3str('2139')= 0.0000; -p15_oghgf_o3str('2140')= 0.0000; -p15_oghgf_o3str('2141')= 0.0000; -p15_oghgf_o3str('2142')= 0.0000; -p15_oghgf_o3str('2143')= 0.0000; -p15_oghgf_o3str('2144')= 0.0000; -p15_oghgf_o3str('2145')= 0.0000; -p15_oghgf_o3str('2146')= 0.0000; -p15_oghgf_o3str('2147')= 0.0000; -p15_oghgf_o3str('2148')= 0.0000; -p15_oghgf_o3str('2149')= 0.0000; -p15_oghgf_o3str('2150')= 0.0000; -p15_oghgf_o3trp('2000')= 0.3737; -p15_oghgf_o3trp('2001')= 0.3735; -p15_oghgf_o3trp('2002')= 0.3739; -p15_oghgf_o3trp('2003')= 0.3747; -p15_oghgf_o3trp('2004')= 0.3754; -p15_oghgf_o3trp('2005')= 0.3758; -p15_oghgf_o3trp('2006')= 0.3765; -p15_oghgf_o3trp('2007')= 0.3765; -p15_oghgf_o3trp('2008')= 0.3755; -p15_oghgf_o3trp('2009')= 0.3747; -p15_oghgf_o3trp('2010')= 0.3738; -p15_oghgf_o3trp('2011')= 0.3729; -p15_oghgf_o3trp('2012')= 0.3720; -p15_oghgf_o3trp('2013')= 0.3711; -p15_oghgf_o3trp('2014')= 0.3702; -p15_oghgf_o3trp('2015')= 0.3693; -p15_oghgf_o3trp('2016')= 0.3684; -p15_oghgf_o3trp('2017')= 0.3676; -p15_oghgf_o3trp('2018')= 0.3667; -p15_oghgf_o3trp('2019')= 0.3658; -p15_oghgf_o3trp('2020')= 0.3649; -p15_oghgf_o3trp('2021')= 0.3641; -p15_oghgf_o3trp('2022')= 0.3636; -p15_oghgf_o3trp('2023')= 0.3636; -p15_oghgf_o3trp('2024')= 0.3636; -p15_oghgf_o3trp('2025')= 0.3636; -p15_oghgf_o3trp('2026')= 0.3636; -p15_oghgf_o3trp('2027')= 0.3635; -p15_oghgf_o3trp('2028')= 0.3635; -p15_oghgf_o3trp('2029')= 0.3634; -p15_oghgf_o3trp('2030')= 0.3633; -p15_oghgf_o3trp('2031')= 0.3633; -p15_oghgf_o3trp('2032')= 0.3628; -p15_oghgf_o3trp('2033')= 0.3618; -p15_oghgf_o3trp('2034')= 0.3609; -p15_oghgf_o3trp('2035')= 0.3599; -p15_oghgf_o3trp('2036')= 0.3589; -p15_oghgf_o3trp('2037')= 0.3579; -p15_oghgf_o3trp('2038')= 0.3569; -p15_oghgf_o3trp('2039')= 0.3559; -p15_oghgf_o3trp('2040')= 0.3548; -p15_oghgf_o3trp('2041')= 0.3538; -p15_oghgf_o3trp('2042')= 0.3523; -p15_oghgf_o3trp('2043')= 0.3504; -p15_oghgf_o3trp('2044')= 0.3485; -p15_oghgf_o3trp('2045')= 0.3466; -p15_oghgf_o3trp('2046')= 0.3446; -p15_oghgf_o3trp('2047')= 0.3426; -p15_oghgf_o3trp('2048')= 0.3406; -p15_oghgf_o3trp('2049')= 0.3386; -p15_oghgf_o3trp('2050')= 0.3366; -p15_oghgf_o3trp('2051')= 0.3345; -p15_oghgf_o3trp('2052')= 0.3324; -p15_oghgf_o3trp('2053')= 0.3303; -p15_oghgf_o3trp('2054')= 0.3281; -p15_oghgf_o3trp('2055')= 0.3258; -p15_oghgf_o3trp('2056')= 0.3235; -p15_oghgf_o3trp('2057')= 0.3212; -p15_oghgf_o3trp('2058')= 0.3189; -p15_oghgf_o3trp('2059')= 0.3166; -p15_oghgf_o3trp('2060')= 0.3142; -p15_oghgf_o3trp('2061')= 0.3119; -p15_oghgf_o3trp('2062')= 0.3095; -p15_oghgf_o3trp('2063')= 0.3071; -p15_oghgf_o3trp('2064')= 0.3047; -p15_oghgf_o3trp('2065')= 0.3022; -p15_oghgf_o3trp('2066')= 0.2997; -p15_oghgf_o3trp('2067')= 0.2972; -p15_oghgf_o3trp('2068')= 0.2947; -p15_oghgf_o3trp('2069')= 0.2921; -p15_oghgf_o3trp('2070')= 0.2896; -p15_oghgf_o3trp('2071')= 0.2870; -p15_oghgf_o3trp('2072')= 0.2845; -p15_oghgf_o3trp('2073')= 0.2819; -p15_oghgf_o3trp('2074')= 0.2793; -p15_oghgf_o3trp('2075')= 0.2766; -p15_oghgf_o3trp('2076')= 0.2740; -p15_oghgf_o3trp('2077')= 0.2713; -p15_oghgf_o3trp('2078')= 0.2686; -p15_oghgf_o3trp('2079')= 0.2659; -p15_oghgf_o3trp('2080')= 0.2632; -p15_oghgf_o3trp('2081')= 0.2605; -p15_oghgf_o3trp('2082')= 0.2586; -p15_oghgf_o3trp('2083')= 0.2575; -p15_oghgf_o3trp('2084')= 0.2565; -p15_oghgf_o3trp('2085')= 0.2555; -p15_oghgf_o3trp('2086')= 0.2545; -p15_oghgf_o3trp('2087')= 0.2535; -p15_oghgf_o3trp('2088')= 0.2526; -p15_oghgf_o3trp('2089')= 0.2517; -p15_oghgf_o3trp('2090')= 0.2508; -p15_oghgf_o3trp('2091')= 0.2499; -p15_oghgf_o3trp('2092')= 0.2491; -p15_oghgf_o3trp('2093')= 0.2483; -p15_oghgf_o3trp('2094')= 0.2475; -p15_oghgf_o3trp('2095')= 0.2467; -p15_oghgf_o3trp('2096')= 0.2459; -p15_oghgf_o3trp('2097')= 0.2451; -p15_oghgf_o3trp('2098')= 0.2443; -p15_oghgf_o3trp('2099')= 0.2435; -p15_oghgf_o3trp('2100')= 0.2428; -p15_oghgf_o3trp('2101')= 0.2420; -p15_oghgf_o3trp('2102')= 0.2414; -p15_oghgf_o3trp('2103')= 0.2411; -p15_oghgf_o3trp('2104')= 0.2409; -p15_oghgf_o3trp('2105')= 0.2407; -p15_oghgf_o3trp('2106')= 0.2405; -p15_oghgf_o3trp('2107')= 0.2403; -p15_oghgf_o3trp('2108')= 0.2401; -p15_oghgf_o3trp('2109')= 0.2400; -p15_oghgf_o3trp('2110')= 0.2398; -p15_oghgf_o3trp('2111')= 0.2397; -p15_oghgf_o3trp('2112')= 0.2396; -p15_oghgf_o3trp('2113')= 0.2395; -p15_oghgf_o3trp('2114')= 0.2394; -p15_oghgf_o3trp('2115')= 0.2393; -p15_oghgf_o3trp('2116')= 0.2392; -p15_oghgf_o3trp('2117')= 0.2392; -p15_oghgf_o3trp('2118')= 0.2391; -p15_oghgf_o3trp('2119')= 0.2391; -p15_oghgf_o3trp('2120')= 0.2390; -p15_oghgf_o3trp('2121')= 0.2390; -p15_oghgf_o3trp('2122')= 0.2389; -p15_oghgf_o3trp('2123')= 0.2389; -p15_oghgf_o3trp('2124')= 0.2388; -p15_oghgf_o3trp('2125')= 0.2388; -p15_oghgf_o3trp('2126')= 0.2388; -p15_oghgf_o3trp('2127')= 0.2387; -p15_oghgf_o3trp('2128')= 0.2387; -p15_oghgf_o3trp('2129')= 0.2387; -p15_oghgf_o3trp('2130')= 0.2387; -p15_oghgf_o3trp('2131')= 0.2387; -p15_oghgf_o3trp('2132')= 0.2387; -p15_oghgf_o3trp('2133')= 0.2386; -p15_oghgf_o3trp('2134')= 0.2386; -p15_oghgf_o3trp('2135')= 0.2386; -p15_oghgf_o3trp('2136')= 0.2386; -p15_oghgf_o3trp('2137')= 0.2385; -p15_oghgf_o3trp('2138')= 0.2385; -p15_oghgf_o3trp('2139')= 0.2385; -p15_oghgf_o3trp('2140')= 0.2385; -p15_oghgf_o3trp('2141')= 0.2385; -p15_oghgf_o3trp('2142')= 0.2385; -p15_oghgf_o3trp('2143')= 0.2385; -p15_oghgf_o3trp('2144')= 0.2385; -p15_oghgf_o3trp('2145')= 0.2385; -p15_oghgf_o3trp('2146')= 0.2384; -p15_oghgf_o3trp('2147')= 0.2384; -p15_oghgf_o3trp('2148')= 0.2384; -p15_oghgf_o3trp('2149')= 0.2384; -p15_oghgf_o3trp('2150')= 0.2384; -p15_oghgf_h2ostr('2000')= 0.0820; -p15_oghgf_h2ostr('2001')= 0.0820; -p15_oghgf_h2ostr('2002')= 0.0821; -p15_oghgf_h2ostr('2003')= 0.0823; -p15_oghgf_h2ostr('2004')= 0.0823; -p15_oghgf_h2ostr('2005')= 0.0822; -p15_oghgf_h2ostr('2006')= 0.0822; -p15_oghgf_h2ostr('2007')= 0.0824; -p15_oghgf_h2ostr('2008')= 0.0826; -p15_oghgf_h2ostr('2009')= 0.0828; -p15_oghgf_h2ostr('2010')= 0.0831; -p15_oghgf_h2ostr('2011')= 0.0833; -p15_oghgf_h2ostr('2012')= 0.0835; -p15_oghgf_h2ostr('2013')= 0.0837; -p15_oghgf_h2ostr('2014')= 0.0839; -p15_oghgf_h2ostr('2015')= 0.0841; -p15_oghgf_h2ostr('2016')= 0.0843; -p15_oghgf_h2ostr('2017')= 0.0846; -p15_oghgf_h2ostr('2018')= 0.0848; -p15_oghgf_h2ostr('2019')= 0.0850; -p15_oghgf_h2ostr('2020')= 0.0852; -p15_oghgf_h2ostr('2021')= 0.0855; -p15_oghgf_h2ostr('2022')= 0.0857; -p15_oghgf_h2ostr('2023')= 0.0859; -p15_oghgf_h2ostr('2024')= 0.0861; -p15_oghgf_h2ostr('2025')= 0.0862; -p15_oghgf_h2ostr('2026')= 0.0864; -p15_oghgf_h2ostr('2027')= 0.0866; -p15_oghgf_h2ostr('2028')= 0.0867; -p15_oghgf_h2ostr('2029')= 0.0869; -p15_oghgf_h2ostr('2030')= 0.0871; -p15_oghgf_h2ostr('2031')= 0.0872; -p15_oghgf_h2ostr('2032')= 0.0873; -p15_oghgf_h2ostr('2033')= 0.0874; -p15_oghgf_h2ostr('2034')= 0.0875; -p15_oghgf_h2ostr('2035')= 0.0876; -p15_oghgf_h2ostr('2036')= 0.0876; -p15_oghgf_h2ostr('2037')= 0.0877; -p15_oghgf_h2ostr('2038')= 0.0877; -p15_oghgf_h2ostr('2039')= 0.0878; -p15_oghgf_h2ostr('2040')= 0.0878; -p15_oghgf_h2ostr('2041')= 0.0878; -p15_oghgf_h2ostr('2042')= 0.0878; -p15_oghgf_h2ostr('2043')= 0.0878; -p15_oghgf_h2ostr('2044')= 0.0878; -p15_oghgf_h2ostr('2045')= 0.0877; -p15_oghgf_h2ostr('2046')= 0.0876; -p15_oghgf_h2ostr('2047')= 0.0876; -p15_oghgf_h2ostr('2048')= 0.0875; -p15_oghgf_h2ostr('2049')= 0.0874; -p15_oghgf_h2ostr('2050')= 0.0873; -p15_oghgf_h2ostr('2051')= 0.0871; -p15_oghgf_h2ostr('2052')= 0.0870; -p15_oghgf_h2ostr('2053')= 0.0869; -p15_oghgf_h2ostr('2054')= 0.0867; -p15_oghgf_h2ostr('2055')= 0.0865; -p15_oghgf_h2ostr('2056')= 0.0862; -p15_oghgf_h2ostr('2057')= 0.0860; -p15_oghgf_h2ostr('2058')= 0.0857; -p15_oghgf_h2ostr('2059')= 0.0855; -p15_oghgf_h2ostr('2060')= 0.0852; -p15_oghgf_h2ostr('2061')= 0.0849; -p15_oghgf_h2ostr('2062')= 0.0846; -p15_oghgf_h2ostr('2063')= 0.0843; -p15_oghgf_h2ostr('2064')= 0.0840; -p15_oghgf_h2ostr('2065')= 0.0836; -p15_oghgf_h2ostr('2066')= 0.0832; -p15_oghgf_h2ostr('2067')= 0.0828; -p15_oghgf_h2ostr('2068')= 0.0824; -p15_oghgf_h2ostr('2069')= 0.0820; -p15_oghgf_h2ostr('2070')= 0.0816; -p15_oghgf_h2ostr('2071')= 0.0812; -p15_oghgf_h2ostr('2072')= 0.0808; -p15_oghgf_h2ostr('2073')= 0.0803; -p15_oghgf_h2ostr('2074')= 0.0799; -p15_oghgf_h2ostr('2075')= 0.0794; -p15_oghgf_h2ostr('2076')= 0.0789; -p15_oghgf_h2ostr('2077')= 0.0784; -p15_oghgf_h2ostr('2078')= 0.0779; -p15_oghgf_h2ostr('2079')= 0.0774; -p15_oghgf_h2ostr('2080')= 0.0768; -p15_oghgf_h2ostr('2081')= 0.0763; -p15_oghgf_h2ostr('2082')= 0.0759; -p15_oghgf_h2ostr('2083')= 0.0754; -p15_oghgf_h2ostr('2084')= 0.0750; -p15_oghgf_h2ostr('2085')= 0.0746; -p15_oghgf_h2ostr('2086')= 0.0743; -p15_oghgf_h2ostr('2087')= 0.0739; -p15_oghgf_h2ostr('2088')= 0.0736; -p15_oghgf_h2ostr('2089')= 0.0733; -p15_oghgf_h2ostr('2090')= 0.0730; -p15_oghgf_h2ostr('2091')= 0.0727; -p15_oghgf_h2ostr('2092')= 0.0724; -p15_oghgf_h2ostr('2093')= 0.0721; -p15_oghgf_h2ostr('2094')= 0.0719; -p15_oghgf_h2ostr('2095')= 0.0716; -p15_oghgf_h2ostr('2096')= 0.0714; -p15_oghgf_h2ostr('2097')= 0.0712; -p15_oghgf_h2ostr('2098')= 0.0709; -p15_oghgf_h2ostr('2099')= 0.0707; -p15_oghgf_h2ostr('2100')= 0.0705; -p15_oghgf_h2ostr('2101')= 0.0702; -p15_oghgf_h2ostr('2102')= 0.0700; -p15_oghgf_h2ostr('2103')= 0.0698; -p15_oghgf_h2ostr('2104')= 0.0697; -p15_oghgf_h2ostr('2105')= 0.0695; -p15_oghgf_h2ostr('2106')= 0.0694; -p15_oghgf_h2ostr('2107')= 0.0693; -p15_oghgf_h2ostr('2108')= 0.0692; -p15_oghgf_h2ostr('2109')= 0.0691; -p15_oghgf_h2ostr('2110')= 0.0690; -p15_oghgf_h2ostr('2111')= 0.0689; -p15_oghgf_h2ostr('2112')= 0.0688; -p15_oghgf_h2ostr('2113')= 0.0688; -p15_oghgf_h2ostr('2114')= 0.0687; -p15_oghgf_h2ostr('2115')= 0.0686; -p15_oghgf_h2ostr('2116')= 0.0686; -p15_oghgf_h2ostr('2117')= 0.0686; -p15_oghgf_h2ostr('2118')= 0.0685; -p15_oghgf_h2ostr('2119')= 0.0685; -p15_oghgf_h2ostr('2120')= 0.0685; -p15_oghgf_h2ostr('2121')= 0.0684; -p15_oghgf_h2ostr('2122')= 0.0684; -p15_oghgf_h2ostr('2123')= 0.0684; -p15_oghgf_h2ostr('2124')= 0.0683; -p15_oghgf_h2ostr('2125')= 0.0683; -p15_oghgf_h2ostr('2126')= 0.0683; -p15_oghgf_h2ostr('2127')= 0.0683; -p15_oghgf_h2ostr('2128')= 0.0683; -p15_oghgf_h2ostr('2129')= 0.0683; -p15_oghgf_h2ostr('2130')= 0.0683; -p15_oghgf_h2ostr('2131')= 0.0683; -p15_oghgf_h2ostr('2132')= 0.0682; -p15_oghgf_h2ostr('2133')= 0.0682; -p15_oghgf_h2ostr('2134')= 0.0682; -p15_oghgf_h2ostr('2135')= 0.0682; -p15_oghgf_h2ostr('2136')= 0.0682; -p15_oghgf_h2ostr('2137')= 0.0682; -p15_oghgf_h2ostr('2138')= 0.0682; -p15_oghgf_h2ostr('2139')= 0.0682; -p15_oghgf_h2ostr('2140')= 0.0682; -p15_oghgf_h2ostr('2141')= 0.0682; -p15_oghgf_h2ostr('2142')= 0.0681; -p15_oghgf_h2ostr('2143')= 0.0681; -p15_oghgf_h2ostr('2144')= 0.0681; -p15_oghgf_h2ostr('2145')= 0.0681; -p15_oghgf_h2ostr('2146')= 0.0681; -p15_oghgf_h2ostr('2147')= 0.0681; -p15_oghgf_h2ostr('2148')= 0.0681; -p15_oghgf_h2ostr('2149')= 0.0681; -p15_oghgf_h2ostr('2150')= 0.0681; -p15_oghgf_luc('2000')= -0.1924; -p15_oghgf_luc('2001')= -0.1939; -p15_oghgf_luc('2002')= -0.1957; -p15_oghgf_luc('2003')= -0.1974; -p15_oghgf_luc('2004')= -0.1991; -p15_oghgf_luc('2005')= -0.2008; -p15_oghgf_luc('2006')= -0.2024; -p15_oghgf_luc('2007')= -0.2040; -p15_oghgf_luc('2008')= -0.2054; -p15_oghgf_luc('2009')= -0.2068; -p15_oghgf_luc('2010')= -0.2081; -p15_oghgf_luc('2011')= -0.2093; -p15_oghgf_luc('2012')= -0.2104; -p15_oghgf_luc('2013')= -0.2115; -p15_oghgf_luc('2014')= -0.2124; -p15_oghgf_luc('2015')= -0.2133; -p15_oghgf_luc('2016')= -0.2141; -p15_oghgf_luc('2017')= -0.2148; -p15_oghgf_luc('2018')= -0.2154; -p15_oghgf_luc('2019')= -0.2160; -p15_oghgf_luc('2020')= -0.2165; -p15_oghgf_luc('2021')= -0.2169; -p15_oghgf_luc('2022')= -0.2173; -p15_oghgf_luc('2023')= -0.2177; -p15_oghgf_luc('2024')= -0.2181; -p15_oghgf_luc('2025')= -0.2185; -p15_oghgf_luc('2026')= -0.2188; -p15_oghgf_luc('2027')= -0.2192; -p15_oghgf_luc('2028')= -0.2195; -p15_oghgf_luc('2029')= -0.2198; -p15_oghgf_luc('2030')= -0.2201; -p15_oghgf_luc('2031')= -0.2203; -p15_oghgf_luc('2032')= -0.2206; -p15_oghgf_luc('2033')= -0.2209; -p15_oghgf_luc('2034')= -0.2211; -p15_oghgf_luc('2035')= -0.2214; -p15_oghgf_luc('2036')= -0.2217; -p15_oghgf_luc('2037')= -0.2219; -p15_oghgf_luc('2038')= -0.2222; -p15_oghgf_luc('2039')= -0.2225; -p15_oghgf_luc('2040')= -0.2227; -p15_oghgf_luc('2041')= -0.2230; -p15_oghgf_luc('2042')= -0.2233; -p15_oghgf_luc('2043')= -0.2235; -p15_oghgf_luc('2044')= -0.2238; -p15_oghgf_luc('2045')= -0.2241; -p15_oghgf_luc('2046')= -0.2244; -p15_oghgf_luc('2047')= -0.2247; -p15_oghgf_luc('2048')= -0.2251; -p15_oghgf_luc('2049')= -0.2254; -p15_oghgf_luc('2050')= -0.2257; -p15_oghgf_luc('2051')= -0.2261; -p15_oghgf_luc('2052')= -0.2264; -p15_oghgf_luc('2053')= -0.2267; -p15_oghgf_luc('2054')= -0.2270; -p15_oghgf_luc('2055')= -0.2273; -p15_oghgf_luc('2056')= -0.2276; -p15_oghgf_luc('2057')= -0.2278; -p15_oghgf_luc('2058')= -0.2281; -p15_oghgf_luc('2059')= -0.2284; -p15_oghgf_luc('2060')= -0.2286; -p15_oghgf_luc('2061')= -0.2288; -p15_oghgf_luc('2062')= -0.2291; -p15_oghgf_luc('2063')= -0.2293; -p15_oghgf_luc('2064')= -0.2295; -p15_oghgf_luc('2065')= -0.2297; -p15_oghgf_luc('2066')= -0.2299; -p15_oghgf_luc('2067')= -0.2300; -p15_oghgf_luc('2068')= -0.2302; -p15_oghgf_luc('2069')= -0.2304; -p15_oghgf_luc('2070')= -0.2305; -p15_oghgf_luc('2071')= -0.2306; -p15_oghgf_luc('2072')= -0.2307; -p15_oghgf_luc('2073')= -0.2308; -p15_oghgf_luc('2074')= -0.2309; -p15_oghgf_luc('2075')= -0.2310; -p15_oghgf_luc('2076')= -0.2311; -p15_oghgf_luc('2077')= -0.2311; -p15_oghgf_luc('2078')= -0.2311; -p15_oghgf_luc('2079')= -0.2312; -p15_oghgf_luc('2080')= -0.2312; -p15_oghgf_luc('2081')= -0.2312; -p15_oghgf_luc('2082')= -0.2312; -p15_oghgf_luc('2083')= -0.2312; -p15_oghgf_luc('2084')= -0.2312; -p15_oghgf_luc('2085')= -0.2313; -p15_oghgf_luc('2086')= -0.2313; -p15_oghgf_luc('2087')= -0.2313; -p15_oghgf_luc('2088')= -0.2313; -p15_oghgf_luc('2089')= -0.2314; -p15_oghgf_luc('2090')= -0.2314; -p15_oghgf_luc('2091')= -0.2315; -p15_oghgf_luc('2092')= -0.2315; -p15_oghgf_luc('2093')= -0.2315; -p15_oghgf_luc('2094')= -0.2316; -p15_oghgf_luc('2095')= -0.2316; -p15_oghgf_luc('2096')= -0.2317; -p15_oghgf_luc('2097')= -0.2317; -p15_oghgf_luc('2098')= -0.2318; -p15_oghgf_luc('2099')= -0.2319; -p15_oghgf_luc('2100')= -0.2319; -p15_oghgf_luc('2101')= -0.2320; -p15_oghgf_luc('2102')= -0.2320; -p15_oghgf_luc('2103')= -0.2321; -p15_oghgf_luc('2104')= -0.2322; -p15_oghgf_luc('2105')= -0.2322; -p15_oghgf_luc('2106')= -0.2323; -p15_oghgf_luc('2107')= -0.2323; -p15_oghgf_luc('2108')= -0.2323; -p15_oghgf_luc('2109')= -0.2324; -p15_oghgf_luc('2110')= -0.2324; -p15_oghgf_luc('2111')= -0.2325; -p15_oghgf_luc('2112')= -0.2325; -p15_oghgf_luc('2113')= -0.2325; -p15_oghgf_luc('2114')= -0.2325; -p15_oghgf_luc('2115')= -0.2326; -p15_oghgf_luc('2116')= -0.2326; -p15_oghgf_luc('2117')= -0.2326; -p15_oghgf_luc('2118')= -0.2326; -p15_oghgf_luc('2119')= -0.2326; -p15_oghgf_luc('2120')= -0.2327; -p15_oghgf_luc('2121')= -0.2327; -p15_oghgf_luc('2122')= -0.2327; -p15_oghgf_luc('2123')= -0.2327; -p15_oghgf_luc('2124')= -0.2327; -p15_oghgf_luc('2125')= -0.2327; -p15_oghgf_luc('2126')= -0.2327; -p15_oghgf_luc('2127')= -0.2327; -p15_oghgf_luc('2128')= -0.2327; -p15_oghgf_luc('2129')= -0.2327; -p15_oghgf_luc('2130')= -0.2327; -p15_oghgf_luc('2131')= -0.2327; -p15_oghgf_luc('2132')= -0.2327; -p15_oghgf_luc('2133')= -0.2327; -p15_oghgf_luc('2134')= -0.2327; -p15_oghgf_luc('2135')= -0.2327; -p15_oghgf_luc('2136')= -0.2327; -p15_oghgf_luc('2137')= -0.2327; -p15_oghgf_luc('2138')= -0.2327; -p15_oghgf_luc('2139')= -0.2327; -p15_oghgf_luc('2140')= -0.2327; -p15_oghgf_luc('2141')= -0.2327; -p15_oghgf_luc('2142')= -0.2327; -p15_oghgf_luc('2143')= -0.2327; -p15_oghgf_luc('2144')= -0.2327; -p15_oghgf_luc('2145')= -0.2327; -p15_oghgf_luc('2146')= -0.2327; -p15_oghgf_luc('2147')= -0.2327; -p15_oghgf_luc('2148')= -0.2327; -p15_oghgf_luc('2149')= -0.2327; -p15_oghgf_luc('2150')= -0.2327; -p15_oghgf_minaer('2000')= -0.0962; -p15_oghgf_minaer('2001')= -0.0970; -p15_oghgf_minaer('2002')= -0.0978; -p15_oghgf_minaer('2003')= -0.0987; -p15_oghgf_minaer('2004')= -0.0996; -p15_oghgf_minaer('2005')= -0.1000; -p15_oghgf_minaer('2006')= -0.1000; -p15_oghgf_minaer('2007')= -0.1000; -p15_oghgf_minaer('2008')= -0.1000; -p15_oghgf_minaer('2009')= -0.1000; -p15_oghgf_minaer('2010')= -0.1000; -p15_oghgf_minaer('2011')= -0.1000; -p15_oghgf_minaer('2012')= -0.1000; -p15_oghgf_minaer('2013')= -0.1000; -p15_oghgf_minaer('2014')= -0.1000; -p15_oghgf_minaer('2015')= -0.1000; -p15_oghgf_minaer('2016')= -0.1000; -p15_oghgf_minaer('2017')= -0.1000; -p15_oghgf_minaer('2018')= -0.1000; -p15_oghgf_minaer('2019')= -0.1000; -p15_oghgf_minaer('2020')= -0.1000; -p15_oghgf_minaer('2021')= -0.1000; -p15_oghgf_minaer('2022')= -0.1000; -p15_oghgf_minaer('2023')= -0.1000; -p15_oghgf_minaer('2024')= -0.1000; -p15_oghgf_minaer('2025')= -0.1000; -p15_oghgf_minaer('2026')= -0.1000; -p15_oghgf_minaer('2027')= -0.1000; -p15_oghgf_minaer('2028')= -0.1000; -p15_oghgf_minaer('2029')= -0.1000; -p15_oghgf_minaer('2030')= -0.1000; -p15_oghgf_minaer('2031')= -0.1000; -p15_oghgf_minaer('2032')= -0.1000; -p15_oghgf_minaer('2033')= -0.1000; -p15_oghgf_minaer('2034')= -0.1000; -p15_oghgf_minaer('2035')= -0.1000; -p15_oghgf_minaer('2036')= -0.1000; -p15_oghgf_minaer('2037')= -0.1000; -p15_oghgf_minaer('2038')= -0.1000; -p15_oghgf_minaer('2039')= -0.1000; -p15_oghgf_minaer('2040')= -0.1000; -p15_oghgf_minaer('2041')= -0.1000; -p15_oghgf_minaer('2042')= -0.1000; -p15_oghgf_minaer('2043')= -0.1000; -p15_oghgf_minaer('2044')= -0.1000; -p15_oghgf_minaer('2045')= -0.1000; -p15_oghgf_minaer('2046')= -0.1000; -p15_oghgf_minaer('2047')= -0.1000; -p15_oghgf_minaer('2048')= -0.1000; -p15_oghgf_minaer('2049')= -0.1000; -p15_oghgf_minaer('2050')= -0.1000; -p15_oghgf_minaer('2051')= -0.1000; -p15_oghgf_minaer('2052')= -0.1000; -p15_oghgf_minaer('2053')= -0.1000; -p15_oghgf_minaer('2054')= -0.1000; -p15_oghgf_minaer('2055')= -0.1000; -p15_oghgf_minaer('2056')= -0.1000; -p15_oghgf_minaer('2057')= -0.1000; -p15_oghgf_minaer('2058')= -0.1000; -p15_oghgf_minaer('2059')= -0.1000; -p15_oghgf_minaer('2060')= -0.1000; -p15_oghgf_minaer('2061')= -0.1000; -p15_oghgf_minaer('2062')= -0.1000; -p15_oghgf_minaer('2063')= -0.1000; -p15_oghgf_minaer('2064')= -0.1000; -p15_oghgf_minaer('2065')= -0.1000; -p15_oghgf_minaer('2066')= -0.1000; -p15_oghgf_minaer('2067')= -0.1000; -p15_oghgf_minaer('2068')= -0.1000; -p15_oghgf_minaer('2069')= -0.1000; -p15_oghgf_minaer('2070')= -0.1000; -p15_oghgf_minaer('2071')= -0.1000; -p15_oghgf_minaer('2072')= -0.1000; -p15_oghgf_minaer('2073')= -0.1000; -p15_oghgf_minaer('2074')= -0.1000; -p15_oghgf_minaer('2075')= -0.1000; -p15_oghgf_minaer('2076')= -0.1000; -p15_oghgf_minaer('2077')= -0.1000; -p15_oghgf_minaer('2078')= -0.1000; -p15_oghgf_minaer('2079')= -0.1000; -p15_oghgf_minaer('2080')= -0.1000; -p15_oghgf_minaer('2081')= -0.1000; -p15_oghgf_minaer('2082')= -0.1000; -p15_oghgf_minaer('2083')= -0.1000; -p15_oghgf_minaer('2084')= -0.1000; -p15_oghgf_minaer('2085')= -0.1000; -p15_oghgf_minaer('2086')= -0.1000; -p15_oghgf_minaer('2087')= -0.1000; -p15_oghgf_minaer('2088')= -0.1000; -p15_oghgf_minaer('2089')= -0.1000; -p15_oghgf_minaer('2090')= -0.1000; -p15_oghgf_minaer('2091')= -0.1000; -p15_oghgf_minaer('2092')= -0.1000; -p15_oghgf_minaer('2093')= -0.1000; -p15_oghgf_minaer('2094')= -0.1000; -p15_oghgf_minaer('2095')= -0.1000; -p15_oghgf_minaer('2096')= -0.1000; -p15_oghgf_minaer('2097')= -0.1000; -p15_oghgf_minaer('2098')= -0.1000; -p15_oghgf_minaer('2099')= -0.1000; -p15_oghgf_minaer('2100')= -0.1000; -p15_oghgf_minaer('2101')= -0.1000; -p15_oghgf_minaer('2102')= -0.1000; -p15_oghgf_minaer('2103')= -0.1000; -p15_oghgf_minaer('2104')= -0.1000; -p15_oghgf_minaer('2105')= -0.1000; -p15_oghgf_minaer('2106')= -0.1000; -p15_oghgf_minaer('2107')= -0.1000; -p15_oghgf_minaer('2108')= -0.1000; -p15_oghgf_minaer('2109')= -0.1000; -p15_oghgf_minaer('2110')= -0.1000; -p15_oghgf_minaer('2111')= -0.1000; -p15_oghgf_minaer('2112')= -0.1000; -p15_oghgf_minaer('2113')= -0.1000; -p15_oghgf_minaer('2114')= -0.1000; -p15_oghgf_minaer('2115')= -0.1000; -p15_oghgf_minaer('2116')= -0.1000; -p15_oghgf_minaer('2117')= -0.1000; -p15_oghgf_minaer('2118')= -0.1000; -p15_oghgf_minaer('2119')= -0.1000; -p15_oghgf_minaer('2120')= -0.1000; -p15_oghgf_minaer('2121')= -0.1000; -p15_oghgf_minaer('2122')= -0.1000; -p15_oghgf_minaer('2123')= -0.1000; -p15_oghgf_minaer('2124')= -0.1000; -p15_oghgf_minaer('2125')= -0.1000; -p15_oghgf_minaer('2126')= -0.1000; -p15_oghgf_minaer('2127')= -0.1000; -p15_oghgf_minaer('2128')= -0.1000; -p15_oghgf_minaer('2129')= -0.1000; -p15_oghgf_minaer('2130')= -0.1000; -p15_oghgf_minaer('2131')= -0.1000; -p15_oghgf_minaer('2132')= -0.1000; -p15_oghgf_minaer('2133')= -0.1000; -p15_oghgf_minaer('2134')= -0.1000; -p15_oghgf_minaer('2135')= -0.1000; -p15_oghgf_minaer('2136')= -0.1000; -p15_oghgf_minaer('2137')= -0.1000; -p15_oghgf_minaer('2138')= -0.1000; -p15_oghgf_minaer('2139')= -0.1000; -p15_oghgf_minaer('2140')= -0.1000; -p15_oghgf_minaer('2141')= -0.1000; -p15_oghgf_minaer('2142')= -0.1000; -p15_oghgf_minaer('2143')= -0.1000; -p15_oghgf_minaer('2144')= -0.1000; -p15_oghgf_minaer('2145')= -0.1000; -p15_oghgf_minaer('2146')= -0.1000; -p15_oghgf_minaer('2147')= -0.1000; -p15_oghgf_minaer('2148')= -0.1000; -p15_oghgf_minaer('2149')= -0.1000; -p15_oghgf_minaer('2150')= -0.1000; -p15_oghgf_nitaer('2000')= -0.0966; -p15_oghgf_nitaer('2001')= -0.0988; -p15_oghgf_nitaer('2002')= -0.0991; -p15_oghgf_nitaer('2003')= -0.0995; -p15_oghgf_nitaer('2004')= -0.0998; -p15_oghgf_nitaer('2005')= -0.1000; -p15_oghgf_nitaer('2006')= -0.0996; -p15_oghgf_nitaer('2007')= -0.0991; -p15_oghgf_nitaer('2008')= -0.0986; -p15_oghgf_nitaer('2009')= -0.0981; -p15_oghgf_nitaer('2010')= -0.0975; -p15_oghgf_nitaer('2011')= -0.0970; -p15_oghgf_nitaer('2012')= -0.0965; -p15_oghgf_nitaer('2013')= -0.0960; -p15_oghgf_nitaer('2014')= -0.0955; -p15_oghgf_nitaer('2015')= -0.0949; -p15_oghgf_nitaer('2016')= -0.0944; -p15_oghgf_nitaer('2017')= -0.0939; -p15_oghgf_nitaer('2018')= -0.0934; -p15_oghgf_nitaer('2019')= -0.0928; -p15_oghgf_nitaer('2020')= -0.0924; -p15_oghgf_nitaer('2021')= -0.0921; -p15_oghgf_nitaer('2022')= -0.0919; -p15_oghgf_nitaer('2023')= -0.0916; -p15_oghgf_nitaer('2024')= -0.0914; -p15_oghgf_nitaer('2025')= -0.0912; -p15_oghgf_nitaer('2026')= -0.0909; -p15_oghgf_nitaer('2027')= -0.0907; -p15_oghgf_nitaer('2028')= -0.0905; -p15_oghgf_nitaer('2029')= -0.0902; -p15_oghgf_nitaer('2030')= -0.0899; -p15_oghgf_nitaer('2031')= -0.0895; -p15_oghgf_nitaer('2032')= -0.0889; -p15_oghgf_nitaer('2033')= -0.0883; -p15_oghgf_nitaer('2034')= -0.0878; -p15_oghgf_nitaer('2035')= -0.0872; -p15_oghgf_nitaer('2036')= -0.0866; -p15_oghgf_nitaer('2037')= -0.0861; -p15_oghgf_nitaer('2038')= -0.0855; -p15_oghgf_nitaer('2039')= -0.0850; -p15_oghgf_nitaer('2040')= -0.0843; -p15_oghgf_nitaer('2041')= -0.0835; -p15_oghgf_nitaer('2042')= -0.0826; -p15_oghgf_nitaer('2043')= -0.0817; -p15_oghgf_nitaer('2044')= -0.0808; -p15_oghgf_nitaer('2045')= -0.0799; -p15_oghgf_nitaer('2046')= -0.0790; -p15_oghgf_nitaer('2047')= -0.0781; -p15_oghgf_nitaer('2048')= -0.0772; -p15_oghgf_nitaer('2049')= -0.0763; -p15_oghgf_nitaer('2050')= -0.0754; -p15_oghgf_nitaer('2051')= -0.0745; -p15_oghgf_nitaer('2052')= -0.0736; -p15_oghgf_nitaer('2053')= -0.0727; -p15_oghgf_nitaer('2054')= -0.0718; -p15_oghgf_nitaer('2055')= -0.0709; -p15_oghgf_nitaer('2056')= -0.0700; -p15_oghgf_nitaer('2057')= -0.0691; -p15_oghgf_nitaer('2058')= -0.0681; -p15_oghgf_nitaer('2059')= -0.0672; -p15_oghgf_nitaer('2060')= -0.0663; -p15_oghgf_nitaer('2061')= -0.0655; -p15_oghgf_nitaer('2062')= -0.0646; -p15_oghgf_nitaer('2063')= -0.0637; -p15_oghgf_nitaer('2064')= -0.0629; -p15_oghgf_nitaer('2065')= -0.0620; -p15_oghgf_nitaer('2066')= -0.0611; -p15_oghgf_nitaer('2067')= -0.0603; -p15_oghgf_nitaer('2068')= -0.0594; -p15_oghgf_nitaer('2069')= -0.0585; -p15_oghgf_nitaer('2070')= -0.0577; -p15_oghgf_nitaer('2071')= -0.0568; -p15_oghgf_nitaer('2072')= -0.0560; -p15_oghgf_nitaer('2073')= -0.0552; -p15_oghgf_nitaer('2074')= -0.0544; -p15_oghgf_nitaer('2075')= -0.0536; -p15_oghgf_nitaer('2076')= -0.0527; -p15_oghgf_nitaer('2077')= -0.0519; -p15_oghgf_nitaer('2078')= -0.0511; -p15_oghgf_nitaer('2079')= -0.0503; -p15_oghgf_nitaer('2080')= -0.0496; -p15_oghgf_nitaer('2081')= -0.0493; -p15_oghgf_nitaer('2082')= -0.0492; -p15_oghgf_nitaer('2083')= -0.0491; -p15_oghgf_nitaer('2084')= -0.0489; -p15_oghgf_nitaer('2085')= -0.0488; -p15_oghgf_nitaer('2086')= -0.0487; -p15_oghgf_nitaer('2087')= -0.0485; -p15_oghgf_nitaer('2088')= -0.0484; -p15_oghgf_nitaer('2089')= -0.0483; -p15_oghgf_nitaer('2090')= -0.0481; -p15_oghgf_nitaer('2091')= -0.0480; -p15_oghgf_nitaer('2092')= -0.0479; -p15_oghgf_nitaer('2093')= -0.0477; -p15_oghgf_nitaer('2094')= -0.0476; -p15_oghgf_nitaer('2095')= -0.0475; -p15_oghgf_nitaer('2096')= -0.0474; -p15_oghgf_nitaer('2097')= -0.0472; -p15_oghgf_nitaer('2098')= -0.0471; -p15_oghgf_nitaer('2099')= -0.0470; -p15_oghgf_nitaer('2100')= -0.0469; -p15_oghgf_nitaer('2101')= -0.0468; -p15_oghgf_nitaer('2102')= -0.0468; -p15_oghgf_nitaer('2103')= -0.0468; -p15_oghgf_nitaer('2104')= -0.0468; -p15_oghgf_nitaer('2105')= -0.0468; -p15_oghgf_nitaer('2106')= -0.0468; -p15_oghgf_nitaer('2107')= -0.0468; -p15_oghgf_nitaer('2108')= -0.0468; -p15_oghgf_nitaer('2109')= -0.0468; -p15_oghgf_nitaer('2110')= -0.0468; -p15_oghgf_nitaer('2111')= -0.0468; -p15_oghgf_nitaer('2112')= -0.0468; -p15_oghgf_nitaer('2113')= -0.0468; -p15_oghgf_nitaer('2114')= -0.0468; -p15_oghgf_nitaer('2115')= -0.0468; -p15_oghgf_nitaer('2116')= -0.0468; -p15_oghgf_nitaer('2117')= -0.0468; -p15_oghgf_nitaer('2118')= -0.0468; -p15_oghgf_nitaer('2119')= -0.0468; -p15_oghgf_nitaer('2120')= -0.0468; -p15_oghgf_nitaer('2121')= -0.0468; -p15_oghgf_nitaer('2122')= -0.0468; -p15_oghgf_nitaer('2123')= -0.0468; -p15_oghgf_nitaer('2124')= -0.0468; -p15_oghgf_nitaer('2125')= -0.0468; -p15_oghgf_nitaer('2126')= -0.0468; -p15_oghgf_nitaer('2127')= -0.0468; -p15_oghgf_nitaer('2128')= -0.0468; -p15_oghgf_nitaer('2129')= -0.0468; -p15_oghgf_nitaer('2130')= -0.0468; -p15_oghgf_nitaer('2131')= -0.0468; -p15_oghgf_nitaer('2132')= -0.0468; -p15_oghgf_nitaer('2133')= -0.0468; -p15_oghgf_nitaer('2134')= -0.0468; -p15_oghgf_nitaer('2135')= -0.0468; -p15_oghgf_nitaer('2136')= -0.0468; -p15_oghgf_nitaer('2137')= -0.0468; -p15_oghgf_nitaer('2138')= -0.0468; -p15_oghgf_nitaer('2139')= -0.0468; -p15_oghgf_nitaer('2140')= -0.0468; -p15_oghgf_nitaer('2141')= -0.0468; -p15_oghgf_nitaer('2142')= -0.0468; -p15_oghgf_nitaer('2143')= -0.0468; -p15_oghgf_nitaer('2144')= -0.0468; -p15_oghgf_nitaer('2145')= -0.0468; -p15_oghgf_nitaer('2146')= -0.0468; -p15_oghgf_nitaer('2147')= -0.0468; -p15_oghgf_nitaer('2148')= -0.0468; -p15_oghgf_nitaer('2149')= -0.0468; -p15_oghgf_nitaer('2150')= -0.0468; -p15_oghgf_crbbb('2000')= 0.0236; -p15_oghgf_crbbb('2001')= 0.0228; -p15_oghgf_crbbb('2002')= 0.0249; -p15_oghgf_crbbb('2003')= 0.0269; -p15_oghgf_crbbb('2004')= 0.0290; -p15_oghgf_crbbb('2005')= 0.0309; -p15_oghgf_crbbb('2006')= 0.0328; -p15_oghgf_crbbb('2007')= 0.0345; -p15_oghgf_crbbb('2008')= 0.0362; -p15_oghgf_crbbb('2009')= 0.0380; -p15_oghgf_crbbb('2010')= 0.0397; -p15_oghgf_crbbb('2011')= 0.0414; -p15_oghgf_crbbb('2012')= 0.0432; -p15_oghgf_crbbb('2013')= 0.0449; -p15_oghgf_crbbb('2014')= 0.0467; -p15_oghgf_crbbb('2015')= 0.0484; -p15_oghgf_crbbb('2016')= 0.0501; -p15_oghgf_crbbb('2017')= 0.0519; -p15_oghgf_crbbb('2018')= 0.0536; -p15_oghgf_crbbb('2019')= 0.0554; -p15_oghgf_crbbb('2020')= 0.0566; -p15_oghgf_crbbb('2021')= 0.0570; -p15_oghgf_crbbb('2022')= 0.0570; -p15_oghgf_crbbb('2023')= 0.0569; -p15_oghgf_crbbb('2024')= 0.0568; -p15_oghgf_crbbb('2025')= 0.0568; -p15_oghgf_crbbb('2026')= 0.0567; -p15_oghgf_crbbb('2027')= 0.0567; -p15_oghgf_crbbb('2028')= 0.0566; -p15_oghgf_crbbb('2029')= 0.0565; -p15_oghgf_crbbb('2030')= 0.0565; -p15_oghgf_crbbb('2031')= 0.0565; -p15_oghgf_crbbb('2032')= 0.0566; -p15_oghgf_crbbb('2033')= 0.0567; -p15_oghgf_crbbb('2034')= 0.0568; -p15_oghgf_crbbb('2035')= 0.0569; -p15_oghgf_crbbb('2036')= 0.0569; -p15_oghgf_crbbb('2037')= 0.0570; -p15_oghgf_crbbb('2038')= 0.0571; -p15_oghgf_crbbb('2039')= 0.0572; -p15_oghgf_crbbb('2040')= 0.0573; -p15_oghgf_crbbb('2041')= 0.0575; -p15_oghgf_crbbb('2042')= 0.0577; -p15_oghgf_crbbb('2043')= 0.0579; -p15_oghgf_crbbb('2044')= 0.0582; -p15_oghgf_crbbb('2045')= 0.0584; -p15_oghgf_crbbb('2046')= 0.0586; -p15_oghgf_crbbb('2047')= 0.0588; -p15_oghgf_crbbb('2048')= 0.0591; -p15_oghgf_crbbb('2049')= 0.0593; -p15_oghgf_crbbb('2050')= 0.0593; -p15_oghgf_crbbb('2051')= 0.0591; -p15_oghgf_crbbb('2052')= 0.0587; -p15_oghgf_crbbb('2053')= 0.0583; -p15_oghgf_crbbb('2054')= 0.0579; -p15_oghgf_crbbb('2055')= 0.0575; -p15_oghgf_crbbb('2056')= 0.0571; -p15_oghgf_crbbb('2057')= 0.0567; -p15_oghgf_crbbb('2058')= 0.0563; -p15_oghgf_crbbb('2059')= 0.0559; -p15_oghgf_crbbb('2060')= 0.0554; -p15_oghgf_crbbb('2061')= 0.0549; -p15_oghgf_crbbb('2062')= 0.0542; -p15_oghgf_crbbb('2063')= 0.0536; -p15_oghgf_crbbb('2064')= 0.0529; -p15_oghgf_crbbb('2065')= 0.0523; -p15_oghgf_crbbb('2066')= 0.0517; -p15_oghgf_crbbb('2067')= 0.0510; -p15_oghgf_crbbb('2068')= 0.0504; -p15_oghgf_crbbb('2069')= 0.0497; -p15_oghgf_crbbb('2070')= 0.0490; -p15_oghgf_crbbb('2071')= 0.0482; -p15_oghgf_crbbb('2072')= 0.0473; -p15_oghgf_crbbb('2073')= 0.0465; -p15_oghgf_crbbb('2074')= 0.0456; -p15_oghgf_crbbb('2075')= 0.0447; -p15_oghgf_crbbb('2076')= 0.0438; -p15_oghgf_crbbb('2077')= 0.0429; -p15_oghgf_crbbb('2078')= 0.0421; -p15_oghgf_crbbb('2079')= 0.0412; -p15_oghgf_crbbb('2080')= 0.0405; -p15_oghgf_crbbb('2081')= 0.0401; -p15_oghgf_crbbb('2082')= 0.0399; -p15_oghgf_crbbb('2083')= 0.0398; -p15_oghgf_crbbb('2084')= 0.0396; -p15_oghgf_crbbb('2085')= 0.0394; -p15_oghgf_crbbb('2086')= 0.0392; -p15_oghgf_crbbb('2087')= 0.0391; -p15_oghgf_crbbb('2088')= 0.0389; -p15_oghgf_crbbb('2089')= 0.0387; -p15_oghgf_crbbb('2090')= 0.0385; -p15_oghgf_crbbb('2091')= 0.0383; -p15_oghgf_crbbb('2092')= 0.0381; -p15_oghgf_crbbb('2093')= 0.0380; -p15_oghgf_crbbb('2094')= 0.0378; -p15_oghgf_crbbb('2095')= 0.0376; -p15_oghgf_crbbb('2096')= 0.0374; -p15_oghgf_crbbb('2097')= 0.0372; -p15_oghgf_crbbb('2098')= 0.0370; -p15_oghgf_crbbb('2099')= 0.0368; -p15_oghgf_crbbb('2100')= 0.0367; -p15_oghgf_crbbb('2101')= 0.0366; -p15_oghgf_crbbb('2102')= 0.0366; -p15_oghgf_crbbb('2103')= 0.0366; -p15_oghgf_crbbb('2104')= 0.0366; -p15_oghgf_crbbb('2105')= 0.0366; -p15_oghgf_crbbb('2106')= 0.0366; -p15_oghgf_crbbb('2107')= 0.0366; -p15_oghgf_crbbb('2108')= 0.0366; -p15_oghgf_crbbb('2109')= 0.0366; -p15_oghgf_crbbb('2110')= 0.0366; -p15_oghgf_crbbb('2111')= 0.0366; -p15_oghgf_crbbb('2112')= 0.0366; -p15_oghgf_crbbb('2113')= 0.0366; -p15_oghgf_crbbb('2114')= 0.0366; -p15_oghgf_crbbb('2115')= 0.0366; -p15_oghgf_crbbb('2116')= 0.0366; -p15_oghgf_crbbb('2117')= 0.0366; -p15_oghgf_crbbb('2118')= 0.0366; -p15_oghgf_crbbb('2119')= 0.0366; -p15_oghgf_crbbb('2120')= 0.0366; -p15_oghgf_crbbb('2121')= 0.0366; -p15_oghgf_crbbb('2122')= 0.0366; -p15_oghgf_crbbb('2123')= 0.0366; -p15_oghgf_crbbb('2124')= 0.0366; -p15_oghgf_crbbb('2125')= 0.0366; -p15_oghgf_crbbb('2126')= 0.0366; -p15_oghgf_crbbb('2127')= 0.0366; -p15_oghgf_crbbb('2128')= 0.0366; -p15_oghgf_crbbb('2129')= 0.0366; -p15_oghgf_crbbb('2130')= 0.0366; -p15_oghgf_crbbb('2131')= 0.0366; -p15_oghgf_crbbb('2132')= 0.0366; -p15_oghgf_crbbb('2133')= 0.0366; -p15_oghgf_crbbb('2134')= 0.0366; -p15_oghgf_crbbb('2135')= 0.0366; -p15_oghgf_crbbb('2136')= 0.0366; -p15_oghgf_crbbb('2137')= 0.0366; -p15_oghgf_crbbb('2138')= 0.0366; -p15_oghgf_crbbb('2139')= 0.0366; -p15_oghgf_crbbb('2140')= 0.0366; -p15_oghgf_crbbb('2141')= 0.0366; -p15_oghgf_crbbb('2142')= 0.0366; -p15_oghgf_crbbb('2143')= 0.0366; -p15_oghgf_crbbb('2144')= 0.0366; -p15_oghgf_crbbb('2145')= 0.0366; -p15_oghgf_crbbb('2146')= 0.0366; -p15_oghgf_crbbb('2147')= 0.0366; -p15_oghgf_crbbb('2148')= 0.0366; -p15_oghgf_crbbb('2149')= 0.0366; -p15_oghgf_crbbb('2150')= 0.0366; -p15_oghgf_ffbc('2000')= 0.1870; -p15_oghgf_ffbc('2001')= 0.1894; -p15_oghgf_ffbc('2002')= 0.1938; -p15_oghgf_ffbc('2003')= 0.1968; -p15_oghgf_ffbc('2004')= 0.1989; -p15_oghgf_ffbc('2005')= 0.2004; -p15_oghgf_ffbc('2006')= 0.2004; -p15_oghgf_ffbc('2007')= 0.1998; -p15_oghgf_ffbc('2008')= 0.1992; -p15_oghgf_ffbc('2009')= 0.1986; -p15_oghgf_ffbc('2010')= 0.1980; -p15_oghgf_ffbc('2011')= 0.1973; -p15_oghgf_ffbc('2012')= 0.1967; -p15_oghgf_ffbc('2013')= 0.1961; -p15_oghgf_ffbc('2014')= 0.1954; -p15_oghgf_ffbc('2015')= 0.1948; -p15_oghgf_ffbc('2016')= 0.1942; -p15_oghgf_ffbc('2017')= 0.1936; -p15_oghgf_ffbc('2018')= 0.1929; -p15_oghgf_ffbc('2019')= 0.1923; -p15_oghgf_ffbc('2020')= 0.1915; -p15_oghgf_ffbc('2021')= 0.1903; -p15_oghgf_ffbc('2022')= 0.1890; -p15_oghgf_ffbc('2023')= 0.1877; -p15_oghgf_ffbc('2024')= 0.1864; -p15_oghgf_ffbc('2025')= 0.1850; -p15_oghgf_ffbc('2026')= 0.1837; -p15_oghgf_ffbc('2027')= 0.1824; -p15_oghgf_ffbc('2028')= 0.1811; -p15_oghgf_ffbc('2029')= 0.1798; -p15_oghgf_ffbc('2030')= 0.1784; -p15_oghgf_ffbc('2031')= 0.1770; -p15_oghgf_ffbc('2032')= 0.1756; -p15_oghgf_ffbc('2033')= 0.1741; -p15_oghgf_ffbc('2034')= 0.1727; -p15_oghgf_ffbc('2035')= 0.1713; -p15_oghgf_ffbc('2036')= 0.1699; -p15_oghgf_ffbc('2037')= 0.1684; -p15_oghgf_ffbc('2038')= 0.1670; -p15_oghgf_ffbc('2039')= 0.1656; -p15_oghgf_ffbc('2040')= 0.1641; -p15_oghgf_ffbc('2041')= 0.1626; -p15_oghgf_ffbc('2042')= 0.1611; -p15_oghgf_ffbc('2043')= 0.1595; -p15_oghgf_ffbc('2044')= 0.1580; -p15_oghgf_ffbc('2045')= 0.1565; -p15_oghgf_ffbc('2046')= 0.1549; -p15_oghgf_ffbc('2047')= 0.1534; -p15_oghgf_ffbc('2048')= 0.1519; -p15_oghgf_ffbc('2049')= 0.1503; -p15_oghgf_ffbc('2050')= 0.1488; -p15_oghgf_ffbc('2051')= 0.1472; -p15_oghgf_ffbc('2052')= 0.1456; -p15_oghgf_ffbc('2053')= 0.1439; -p15_oghgf_ffbc('2054')= 0.1423; -p15_oghgf_ffbc('2055')= 0.1407; -p15_oghgf_ffbc('2056')= 0.1391; -p15_oghgf_ffbc('2057')= 0.1375; -p15_oghgf_ffbc('2058')= 0.1359; -p15_oghgf_ffbc('2059')= 0.1343; -p15_oghgf_ffbc('2060')= 0.1326; -p15_oghgf_ffbc('2061')= 0.1310; -p15_oghgf_ffbc('2062')= 0.1293; -p15_oghgf_ffbc('2063')= 0.1276; -p15_oghgf_ffbc('2064')= 0.1259; -p15_oghgf_ffbc('2065')= 0.1243; -p15_oghgf_ffbc('2066')= 0.1226; -p15_oghgf_ffbc('2067')= 0.1209; -p15_oghgf_ffbc('2068')= 0.1193; -p15_oghgf_ffbc('2069')= 0.1176; -p15_oghgf_ffbc('2070')= 0.1159; -p15_oghgf_ffbc('2071')= 0.1142; -p15_oghgf_ffbc('2072')= 0.1124; -p15_oghgf_ffbc('2073')= 0.1107; -p15_oghgf_ffbc('2074')= 0.1090; -p15_oghgf_ffbc('2075')= 0.1072; -p15_oghgf_ffbc('2076')= 0.1055; -p15_oghgf_ffbc('2077')= 0.1038; -p15_oghgf_ffbc('2078')= 0.1020; -p15_oghgf_ffbc('2079')= 0.1003; -p15_oghgf_ffbc('2080')= 0.0989; -p15_oghgf_ffbc('2081')= 0.0982; -p15_oghgf_ffbc('2082')= 0.0979; -p15_oghgf_ffbc('2083')= 0.0976; -p15_oghgf_ffbc('2084')= 0.0973; -p15_oghgf_ffbc('2085')= 0.0970; -p15_oghgf_ffbc('2086')= 0.0966; -p15_oghgf_ffbc('2087')= 0.0963; -p15_oghgf_ffbc('2088')= 0.0960; -p15_oghgf_ffbc('2089')= 0.0957; -p15_oghgf_ffbc('2090')= 0.0954; -p15_oghgf_ffbc('2091')= 0.0950; -p15_oghgf_ffbc('2092')= 0.0947; -p15_oghgf_ffbc('2093')= 0.0944; -p15_oghgf_ffbc('2094')= 0.0940; -p15_oghgf_ffbc('2095')= 0.0937; -p15_oghgf_ffbc('2096')= 0.0934; -p15_oghgf_ffbc('2097')= 0.0931; -p15_oghgf_ffbc('2098')= 0.0927; -p15_oghgf_ffbc('2099')= 0.0924; -p15_oghgf_ffbc('2100')= 0.0921; -p15_oghgf_ffbc('2101')= 0.0921; -p15_oghgf_ffbc('2102')= 0.0921; -p15_oghgf_ffbc('2103')= 0.0921; -p15_oghgf_ffbc('2104')= 0.0921; -p15_oghgf_ffbc('2105')= 0.0921; -p15_oghgf_ffbc('2106')= 0.0921; -p15_oghgf_ffbc('2107')= 0.0921; -p15_oghgf_ffbc('2108')= 0.0921; -p15_oghgf_ffbc('2109')= 0.0921; -p15_oghgf_ffbc('2110')= 0.0921; -p15_oghgf_ffbc('2111')= 0.0921; -p15_oghgf_ffbc('2112')= 0.0921; -p15_oghgf_ffbc('2113')= 0.0921; -p15_oghgf_ffbc('2114')= 0.0921; -p15_oghgf_ffbc('2115')= 0.0921; -p15_oghgf_ffbc('2116')= 0.0921; -p15_oghgf_ffbc('2117')= 0.0921; -p15_oghgf_ffbc('2118')= 0.0921; -p15_oghgf_ffbc('2119')= 0.0921; -p15_oghgf_ffbc('2120')= 0.0921; -p15_oghgf_ffbc('2121')= 0.0921; -p15_oghgf_ffbc('2122')= 0.0921; -p15_oghgf_ffbc('2123')= 0.0921; -p15_oghgf_ffbc('2124')= 0.0921; -p15_oghgf_ffbc('2125')= 0.0921; -p15_oghgf_ffbc('2126')= 0.0921; -p15_oghgf_ffbc('2127')= 0.0921; -p15_oghgf_ffbc('2128')= 0.0921; -p15_oghgf_ffbc('2129')= 0.0921; -p15_oghgf_ffbc('2130')= 0.0921; -p15_oghgf_ffbc('2131')= 0.0921; -p15_oghgf_ffbc('2132')= 0.0921; -p15_oghgf_ffbc('2133')= 0.0921; -p15_oghgf_ffbc('2134')= 0.0921; -p15_oghgf_ffbc('2135')= 0.0921; -p15_oghgf_ffbc('2136')= 0.0921; -p15_oghgf_ffbc('2137')= 0.0921; -p15_oghgf_ffbc('2138')= 0.0921; -p15_oghgf_ffbc('2139')= 0.0921; -p15_oghgf_ffbc('2140')= 0.0921; -p15_oghgf_ffbc('2141')= 0.0921; -p15_oghgf_ffbc('2142')= 0.0921; -p15_oghgf_ffbc('2143')= 0.0921; -p15_oghgf_ffbc('2144')= 0.0921; -p15_oghgf_ffbc('2145')= 0.0921; -p15_oghgf_ffbc('2146')= 0.0921; -p15_oghgf_ffbc('2147')= 0.0921; -p15_oghgf_ffbc('2148')= 0.0921; -p15_oghgf_ffbc('2149')= 0.0921; -p15_oghgf_ffbc('2150')= 0.0921; -p15_oghgf_ffoc('2000')= -0.0467; -p15_oghgf_ffoc('2001')= -0.0478; -p15_oghgf_ffoc('2002')= -0.0490; -p15_oghgf_ffoc('2003')= -0.0497; -p15_oghgf_ffoc('2004')= -0.0499; -p15_oghgf_ffoc('2005')= -0.0499; -p15_oghgf_ffoc('2006')= -0.0496; -p15_oghgf_ffoc('2007')= -0.0491; -p15_oghgf_ffoc('2008')= -0.0485; -p15_oghgf_ffoc('2009')= -0.0480; -p15_oghgf_ffoc('2010')= -0.0475; -p15_oghgf_ffoc('2011')= -0.0469; -p15_oghgf_ffoc('2012')= -0.0464; -p15_oghgf_ffoc('2013')= -0.0458; -p15_oghgf_ffoc('2014')= -0.0453; -p15_oghgf_ffoc('2015')= -0.0448; -p15_oghgf_ffoc('2016')= -0.0442; -p15_oghgf_ffoc('2017')= -0.0437; -p15_oghgf_ffoc('2018')= -0.0431; -p15_oghgf_ffoc('2019')= -0.0426; -p15_oghgf_ffoc('2020')= -0.0421; -p15_oghgf_ffoc('2021')= -0.0419; -p15_oghgf_ffoc('2022')= -0.0417; -p15_oghgf_ffoc('2023')= -0.0415; -p15_oghgf_ffoc('2024')= -0.0413; -p15_oghgf_ffoc('2025')= -0.0411; -p15_oghgf_ffoc('2026')= -0.0410; -p15_oghgf_ffoc('2027')= -0.0408; -p15_oghgf_ffoc('2028')= -0.0406; -p15_oghgf_ffoc('2029')= -0.0404; -p15_oghgf_ffoc('2030')= -0.0402; -p15_oghgf_ffoc('2031')= -0.0401; -p15_oghgf_ffoc('2032')= -0.0399; -p15_oghgf_ffoc('2033')= -0.0397; -p15_oghgf_ffoc('2034')= -0.0396; -p15_oghgf_ffoc('2035')= -0.0394; -p15_oghgf_ffoc('2036')= -0.0392; -p15_oghgf_ffoc('2037')= -0.0391; -p15_oghgf_ffoc('2038')= -0.0389; -p15_oghgf_ffoc('2039')= -0.0387; -p15_oghgf_ffoc('2040')= -0.0386; -p15_oghgf_ffoc('2041')= -0.0384; -p15_oghgf_ffoc('2042')= -0.0383; -p15_oghgf_ffoc('2043')= -0.0381; -p15_oghgf_ffoc('2044')= -0.0380; -p15_oghgf_ffoc('2045')= -0.0378; -p15_oghgf_ffoc('2046')= -0.0377; -p15_oghgf_ffoc('2047')= -0.0375; -p15_oghgf_ffoc('2048')= -0.0374; -p15_oghgf_ffoc('2049')= -0.0372; -p15_oghgf_ffoc('2050')= -0.0370; -p15_oghgf_ffoc('2051')= -0.0368; -p15_oghgf_ffoc('2052')= -0.0365; -p15_oghgf_ffoc('2053')= -0.0363; -p15_oghgf_ffoc('2054')= -0.0360; -p15_oghgf_ffoc('2055')= -0.0357; -p15_oghgf_ffoc('2056')= -0.0354; -p15_oghgf_ffoc('2057')= -0.0352; -p15_oghgf_ffoc('2058')= -0.0349; -p15_oghgf_ffoc('2059')= -0.0346; -p15_oghgf_ffoc('2060')= -0.0344; -p15_oghgf_ffoc('2061')= -0.0341; -p15_oghgf_ffoc('2062')= -0.0338; -p15_oghgf_ffoc('2063')= -0.0335; -p15_oghgf_ffoc('2064')= -0.0332; -p15_oghgf_ffoc('2065')= -0.0329; -p15_oghgf_ffoc('2066')= -0.0326; -p15_oghgf_ffoc('2067')= -0.0323; -p15_oghgf_ffoc('2068')= -0.0320; -p15_oghgf_ffoc('2069')= -0.0317; -p15_oghgf_ffoc('2070')= -0.0314; -p15_oghgf_ffoc('2071')= -0.0311; -p15_oghgf_ffoc('2072')= -0.0307; -p15_oghgf_ffoc('2073')= -0.0304; -p15_oghgf_ffoc('2074')= -0.0301; -p15_oghgf_ffoc('2075')= -0.0298; -p15_oghgf_ffoc('2076')= -0.0294; -p15_oghgf_ffoc('2077')= -0.0291; -p15_oghgf_ffoc('2078')= -0.0288; -p15_oghgf_ffoc('2079')= -0.0285; -p15_oghgf_ffoc('2080')= -0.0282; -p15_oghgf_ffoc('2081')= -0.0281; -p15_oghgf_ffoc('2082')= -0.0280; -p15_oghgf_ffoc('2083')= -0.0279; -p15_oghgf_ffoc('2084')= -0.0279; -p15_oghgf_ffoc('2085')= -0.0278; -p15_oghgf_ffoc('2086')= -0.0277; -p15_oghgf_ffoc('2087')= -0.0277; -p15_oghgf_ffoc('2088')= -0.0276; -p15_oghgf_ffoc('2089')= -0.0275; -p15_oghgf_ffoc('2090')= -0.0275; -p15_oghgf_ffoc('2091')= -0.0274; -p15_oghgf_ffoc('2092')= -0.0273; -p15_oghgf_ffoc('2093')= -0.0272; -p15_oghgf_ffoc('2094')= -0.0272; -p15_oghgf_ffoc('2095')= -0.0271; -p15_oghgf_ffoc('2096')= -0.0270; -p15_oghgf_ffoc('2097')= -0.0270; -p15_oghgf_ffoc('2098')= -0.0269; -p15_oghgf_ffoc('2099')= -0.0268; -p15_oghgf_ffoc('2100')= -0.0268; -p15_oghgf_ffoc('2101')= -0.0268; -p15_oghgf_ffoc('2102')= -0.0268; -p15_oghgf_ffoc('2103')= -0.0268; -p15_oghgf_ffoc('2104')= -0.0268; -p15_oghgf_ffoc('2105')= -0.0268; -p15_oghgf_ffoc('2106')= -0.0268; -p15_oghgf_ffoc('2107')= -0.0268; -p15_oghgf_ffoc('2108')= -0.0268; -p15_oghgf_ffoc('2109')= -0.0268; -p15_oghgf_ffoc('2110')= -0.0268; -p15_oghgf_ffoc('2111')= -0.0268; -p15_oghgf_ffoc('2112')= -0.0268; -p15_oghgf_ffoc('2113')= -0.0268; -p15_oghgf_ffoc('2114')= -0.0268; -p15_oghgf_ffoc('2115')= -0.0268; -p15_oghgf_ffoc('2116')= -0.0268; -p15_oghgf_ffoc('2117')= -0.0268; -p15_oghgf_ffoc('2118')= -0.0268; -p15_oghgf_ffoc('2119')= -0.0268; -p15_oghgf_ffoc('2120')= -0.0268; -p15_oghgf_ffoc('2121')= -0.0268; -p15_oghgf_ffoc('2122')= -0.0268; -p15_oghgf_ffoc('2123')= -0.0268; -p15_oghgf_ffoc('2124')= -0.0268; -p15_oghgf_ffoc('2125')= -0.0268; -p15_oghgf_ffoc('2126')= -0.0268; -p15_oghgf_ffoc('2127')= -0.0268; -p15_oghgf_ffoc('2128')= -0.0268; -p15_oghgf_ffoc('2129')= -0.0268; -p15_oghgf_ffoc('2130')= -0.0268; -p15_oghgf_ffoc('2131')= -0.0268; -p15_oghgf_ffoc('2132')= -0.0268; -p15_oghgf_ffoc('2133')= -0.0268; -p15_oghgf_ffoc('2134')= -0.0268; -p15_oghgf_ffoc('2135')= -0.0268; -p15_oghgf_ffoc('2136')= -0.0268; -p15_oghgf_ffoc('2137')= -0.0268; -p15_oghgf_ffoc('2138')= -0.0268; -p15_oghgf_ffoc('2139')= -0.0268; -p15_oghgf_ffoc('2140')= -0.0268; -p15_oghgf_ffoc('2141')= -0.0268; -p15_oghgf_ffoc('2142')= -0.0268; -p15_oghgf_ffoc('2143')= -0.0268; -p15_oghgf_ffoc('2144')= -0.0268; -p15_oghgf_ffoc('2145')= -0.0268; -p15_oghgf_ffoc('2146')= -0.0268; -p15_oghgf_ffoc('2147')= -0.0268; -p15_oghgf_ffoc('2148')= -0.0268; -p15_oghgf_ffoc('2149')= -0.0268; -p15_oghgf_ffoc('2150')= -0.0268; -*** EOF ./modules/15_climate/magicc/input/data_oghgf_rcp45.inc diff --git a/modules/15_climate/magicc/input/data_oghgf_rcp6.inc b/modules/15_climate/magicc/input/data_oghgf_rcp6.inc deleted file mode 100644 index 4537d5640..000000000 --- a/modules/15_climate/magicc/input/data_oghgf_rcp6.inc +++ /dev/null @@ -1,1965 +0,0 @@ -*** SOF ./modules/15_climate/magicc/input/data_oghgf_rcp6.inc -p15_oghgf_pfc('2000')= 0.0048; -p15_oghgf_pfc('2001')= 0.0049; -p15_oghgf_pfc('2002')= 0.0050; -p15_oghgf_pfc('2003')= 0.0051; -p15_oghgf_pfc('2004')= 0.0052; -p15_oghgf_pfc('2005')= 0.0053; -p15_oghgf_pfc('2006')= 0.0055; -p15_oghgf_pfc('2007')= 0.0056; -p15_oghgf_pfc('2008')= 0.0057; -p15_oghgf_pfc('2009')= 0.0058; -p15_oghgf_pfc('2010')= 0.0060; -p15_oghgf_pfc('2011')= 0.0062; -p15_oghgf_pfc('2012')= 0.0064; -p15_oghgf_pfc('2013')= 0.0065; -p15_oghgf_pfc('2014')= 0.0067; -p15_oghgf_pfc('2015')= 0.0069; -p15_oghgf_pfc('2016')= 0.0071; -p15_oghgf_pfc('2017')= 0.0073; -p15_oghgf_pfc('2018')= 0.0074; -p15_oghgf_pfc('2019')= 0.0076; -p15_oghgf_pfc('2020')= 0.0078; -p15_oghgf_pfc('2021')= 0.0080; -p15_oghgf_pfc('2022')= 0.0082; -p15_oghgf_pfc('2023')= 0.0083; -p15_oghgf_pfc('2024')= 0.0085; -p15_oghgf_pfc('2025')= 0.0087; -p15_oghgf_pfc('2026')= 0.0089; -p15_oghgf_pfc('2027')= 0.0091; -p15_oghgf_pfc('2028')= 0.0093; -p15_oghgf_pfc('2029')= 0.0095; -p15_oghgf_pfc('2030')= 0.0096; -p15_oghgf_pfc('2031')= 0.0098; -p15_oghgf_pfc('2032')= 0.0100; -p15_oghgf_pfc('2033')= 0.0102; -p15_oghgf_pfc('2034')= 0.0104; -p15_oghgf_pfc('2035')= 0.0106; -p15_oghgf_pfc('2036')= 0.0108; -p15_oghgf_pfc('2037')= 0.0109; -p15_oghgf_pfc('2038')= 0.0111; -p15_oghgf_pfc('2039')= 0.0113; -p15_oghgf_pfc('2040')= 0.0115; -p15_oghgf_pfc('2041')= 0.0117; -p15_oghgf_pfc('2042')= 0.0119; -p15_oghgf_pfc('2043')= 0.0121; -p15_oghgf_pfc('2044')= 0.0123; -p15_oghgf_pfc('2045')= 0.0124; -p15_oghgf_pfc('2046')= 0.0126; -p15_oghgf_pfc('2047')= 0.0128; -p15_oghgf_pfc('2048')= 0.0130; -p15_oghgf_pfc('2049')= 0.0132; -p15_oghgf_pfc('2050')= 0.0134; -p15_oghgf_pfc('2051')= 0.0136; -p15_oghgf_pfc('2052')= 0.0137; -p15_oghgf_pfc('2053')= 0.0139; -p15_oghgf_pfc('2054')= 0.0141; -p15_oghgf_pfc('2055')= 0.0143; -p15_oghgf_pfc('2056')= 0.0145; -p15_oghgf_pfc('2057')= 0.0147; -p15_oghgf_pfc('2058')= 0.0148; -p15_oghgf_pfc('2059')= 0.0150; -p15_oghgf_pfc('2060')= 0.0152; -p15_oghgf_pfc('2061')= 0.0154; -p15_oghgf_pfc('2062')= 0.0156; -p15_oghgf_pfc('2063')= 0.0158; -p15_oghgf_pfc('2064')= 0.0160; -p15_oghgf_pfc('2065')= 0.0161; -p15_oghgf_pfc('2066')= 0.0163; -p15_oghgf_pfc('2067')= 0.0165; -p15_oghgf_pfc('2068')= 0.0167; -p15_oghgf_pfc('2069')= 0.0169; -p15_oghgf_pfc('2070')= 0.0171; -p15_oghgf_pfc('2071')= 0.0172; -p15_oghgf_pfc('2072')= 0.0174; -p15_oghgf_pfc('2073')= 0.0176; -p15_oghgf_pfc('2074')= 0.0178; -p15_oghgf_pfc('2075')= 0.0180; -p15_oghgf_pfc('2076')= 0.0182; -p15_oghgf_pfc('2077')= 0.0183; -p15_oghgf_pfc('2078')= 0.0185; -p15_oghgf_pfc('2079')= 0.0187; -p15_oghgf_pfc('2080')= 0.0189; -p15_oghgf_pfc('2081')= 0.0190; -p15_oghgf_pfc('2082')= 0.0192; -p15_oghgf_pfc('2083')= 0.0194; -p15_oghgf_pfc('2084')= 0.0196; -p15_oghgf_pfc('2085')= 0.0198; -p15_oghgf_pfc('2086')= 0.0199; -p15_oghgf_pfc('2087')= 0.0201; -p15_oghgf_pfc('2088')= 0.0203; -p15_oghgf_pfc('2089')= 0.0204; -p15_oghgf_pfc('2090')= 0.0206; -p15_oghgf_pfc('2091')= 0.0208; -p15_oghgf_pfc('2092')= 0.0210; -p15_oghgf_pfc('2093')= 0.0211; -p15_oghgf_pfc('2094')= 0.0213; -p15_oghgf_pfc('2095')= 0.0215; -p15_oghgf_pfc('2096')= 0.0216; -p15_oghgf_pfc('2097')= 0.0218; -p15_oghgf_pfc('2098')= 0.0220; -p15_oghgf_pfc('2099')= 0.0221; -p15_oghgf_pfc('2100')= 0.0223; -p15_oghgf_pfc('2101')= 0.0224; -p15_oghgf_pfc('2102')= 0.0226; -p15_oghgf_pfc('2103')= 0.0228; -p15_oghgf_pfc('2104')= 0.0229; -p15_oghgf_pfc('2105')= 0.0231; -p15_oghgf_pfc('2106')= 0.0232; -p15_oghgf_pfc('2107')= 0.0233; -p15_oghgf_pfc('2108')= 0.0235; -p15_oghgf_pfc('2109')= 0.0236; -p15_oghgf_pfc('2110')= 0.0238; -p15_oghgf_pfc('2111')= 0.0239; -p15_oghgf_pfc('2112')= 0.0240; -p15_oghgf_pfc('2113')= 0.0241; -p15_oghgf_pfc('2114')= 0.0243; -p15_oghgf_pfc('2115')= 0.0244; -p15_oghgf_pfc('2116')= 0.0245; -p15_oghgf_pfc('2117')= 0.0246; -p15_oghgf_pfc('2118')= 0.0247; -p15_oghgf_pfc('2119')= 0.0248; -p15_oghgf_pfc('2120')= 0.0249; -p15_oghgf_pfc('2121')= 0.0250; -p15_oghgf_pfc('2122')= 0.0251; -p15_oghgf_pfc('2123')= 0.0252; -p15_oghgf_pfc('2124')= 0.0253; -p15_oghgf_pfc('2125')= 0.0254; -p15_oghgf_pfc('2126')= 0.0255; -p15_oghgf_pfc('2127')= 0.0255; -p15_oghgf_pfc('2128')= 0.0256; -p15_oghgf_pfc('2129')= 0.0257; -p15_oghgf_pfc('2130')= 0.0258; -p15_oghgf_pfc('2131')= 0.0258; -p15_oghgf_pfc('2132')= 0.0259; -p15_oghgf_pfc('2133')= 0.0259; -p15_oghgf_pfc('2134')= 0.0260; -p15_oghgf_pfc('2135')= 0.0260; -p15_oghgf_pfc('2136')= 0.0261; -p15_oghgf_pfc('2137')= 0.0261; -p15_oghgf_pfc('2138')= 0.0262; -p15_oghgf_pfc('2139')= 0.0262; -p15_oghgf_pfc('2140')= 0.0263; -p15_oghgf_pfc('2141')= 0.0263; -p15_oghgf_pfc('2142')= 0.0263; -p15_oghgf_pfc('2143')= 0.0264; -p15_oghgf_pfc('2144')= 0.0264; -p15_oghgf_pfc('2145')= 0.0264; -p15_oghgf_pfc('2146')= 0.0264; -p15_oghgf_pfc('2147')= 0.0264; -p15_oghgf_pfc('2148')= 0.0264; -p15_oghgf_pfc('2149')= 0.0265; -p15_oghgf_pfc('2150')= 0.0265; -p15_oghgf_hfc('2000')= 0.0058; -p15_oghgf_hfc('2001')= 0.0068; -p15_oghgf_hfc('2002')= 0.0080; -p15_oghgf_hfc('2003')= 0.0092; -p15_oghgf_hfc('2004')= 0.0106; -p15_oghgf_hfc('2005')= 0.0120; -p15_oghgf_hfc('2006')= 0.0134; -p15_oghgf_hfc('2007')= 0.0148; -p15_oghgf_hfc('2008')= 0.0163; -p15_oghgf_hfc('2009')= 0.0177; -p15_oghgf_hfc('2010')= 0.0192; -p15_oghgf_hfc('2011')= 0.0207; -p15_oghgf_hfc('2012')= 0.0221; -p15_oghgf_hfc('2013')= 0.0235; -p15_oghgf_hfc('2014')= 0.0248; -p15_oghgf_hfc('2015')= 0.0261; -p15_oghgf_hfc('2016')= 0.0272; -p15_oghgf_hfc('2017')= 0.0283; -p15_oghgf_hfc('2018')= 0.0294; -p15_oghgf_hfc('2019')= 0.0304; -p15_oghgf_hfc('2020')= 0.0313; -p15_oghgf_hfc('2021')= 0.0321; -p15_oghgf_hfc('2022')= 0.0329; -p15_oghgf_hfc('2023')= 0.0337; -p15_oghgf_hfc('2024')= 0.0344; -p15_oghgf_hfc('2025')= 0.0350; -p15_oghgf_hfc('2026')= 0.0356; -p15_oghgf_hfc('2027')= 0.0362; -p15_oghgf_hfc('2028')= 0.0367; -p15_oghgf_hfc('2029')= 0.0372; -p15_oghgf_hfc('2030')= 0.0376; -p15_oghgf_hfc('2031')= 0.0381; -p15_oghgf_hfc('2032')= 0.0385; -p15_oghgf_hfc('2033')= 0.0389; -p15_oghgf_hfc('2034')= 0.0393; -p15_oghgf_hfc('2035')= 0.0396; -p15_oghgf_hfc('2036')= 0.0400; -p15_oghgf_hfc('2037')= 0.0403; -p15_oghgf_hfc('2038')= 0.0407; -p15_oghgf_hfc('2039')= 0.0410; -p15_oghgf_hfc('2040')= 0.0413; -p15_oghgf_hfc('2041')= 0.0416; -p15_oghgf_hfc('2042')= 0.0419; -p15_oghgf_hfc('2043')= 0.0421; -p15_oghgf_hfc('2044')= 0.0424; -p15_oghgf_hfc('2045')= 0.0426; -p15_oghgf_hfc('2046')= 0.0428; -p15_oghgf_hfc('2047')= 0.0430; -p15_oghgf_hfc('2048')= 0.0432; -p15_oghgf_hfc('2049')= 0.0433; -p15_oghgf_hfc('2050')= 0.0435; -p15_oghgf_hfc('2051')= 0.0436; -p15_oghgf_hfc('2052')= 0.0438; -p15_oghgf_hfc('2053')= 0.0440; -p15_oghgf_hfc('2054')= 0.0442; -p15_oghgf_hfc('2055')= 0.0443; -p15_oghgf_hfc('2056')= 0.0445; -p15_oghgf_hfc('2057')= 0.0447; -p15_oghgf_hfc('2058')= 0.0449; -p15_oghgf_hfc('2059')= 0.0451; -p15_oghgf_hfc('2060')= 0.0453; -p15_oghgf_hfc('2061')= 0.0455; -p15_oghgf_hfc('2062')= 0.0456; -p15_oghgf_hfc('2063')= 0.0458; -p15_oghgf_hfc('2064')= 0.0460; -p15_oghgf_hfc('2065')= 0.0462; -p15_oghgf_hfc('2066')= 0.0464; -p15_oghgf_hfc('2067')= 0.0466; -p15_oghgf_hfc('2068')= 0.0468; -p15_oghgf_hfc('2069')= 0.0470; -p15_oghgf_hfc('2070')= 0.0471; -p15_oghgf_hfc('2071')= 0.0473; -p15_oghgf_hfc('2072')= 0.0475; -p15_oghgf_hfc('2073')= 0.0476; -p15_oghgf_hfc('2074')= 0.0478; -p15_oghgf_hfc('2075')= 0.0479; -p15_oghgf_hfc('2076')= 0.0480; -p15_oghgf_hfc('2077')= 0.0481; -p15_oghgf_hfc('2078')= 0.0482; -p15_oghgf_hfc('2079')= 0.0483; -p15_oghgf_hfc('2080')= 0.0484; -p15_oghgf_hfc('2081')= 0.0485; -p15_oghgf_hfc('2082')= 0.0485; -p15_oghgf_hfc('2083')= 0.0485; -p15_oghgf_hfc('2084')= 0.0486; -p15_oghgf_hfc('2085')= 0.0486; -p15_oghgf_hfc('2086')= 0.0485; -p15_oghgf_hfc('2087')= 0.0485; -p15_oghgf_hfc('2088')= 0.0485; -p15_oghgf_hfc('2089')= 0.0484; -p15_oghgf_hfc('2090')= 0.0483; -p15_oghgf_hfc('2091')= 0.0482; -p15_oghgf_hfc('2092')= 0.0481; -p15_oghgf_hfc('2093')= 0.0480; -p15_oghgf_hfc('2094')= 0.0478; -p15_oghgf_hfc('2095')= 0.0477; -p15_oghgf_hfc('2096')= 0.0475; -p15_oghgf_hfc('2097')= 0.0474; -p15_oghgf_hfc('2098')= 0.0472; -p15_oghgf_hfc('2099')= 0.0470; -p15_oghgf_hfc('2100')= 0.0468; -p15_oghgf_hfc('2101')= 0.0466; -p15_oghgf_hfc('2102')= 0.0465; -p15_oghgf_hfc('2103')= 0.0463; -p15_oghgf_hfc('2104')= 0.0462; -p15_oghgf_hfc('2105')= 0.0461; -p15_oghgf_hfc('2106')= 0.0460; -p15_oghgf_hfc('2107')= 0.0459; -p15_oghgf_hfc('2108')= 0.0458; -p15_oghgf_hfc('2109')= 0.0457; -p15_oghgf_hfc('2110')= 0.0456; -p15_oghgf_hfc('2111')= 0.0456; -p15_oghgf_hfc('2112')= 0.0455; -p15_oghgf_hfc('2113')= 0.0454; -p15_oghgf_hfc('2114')= 0.0454; -p15_oghgf_hfc('2115')= 0.0453; -p15_oghgf_hfc('2116')= 0.0453; -p15_oghgf_hfc('2117')= 0.0452; -p15_oghgf_hfc('2118')= 0.0452; -p15_oghgf_hfc('2119')= 0.0451; -p15_oghgf_hfc('2120')= 0.0451; -p15_oghgf_hfc('2121')= 0.0450; -p15_oghgf_hfc('2122')= 0.0450; -p15_oghgf_hfc('2123')= 0.0450; -p15_oghgf_hfc('2124')= 0.0449; -p15_oghgf_hfc('2125')= 0.0449; -p15_oghgf_hfc('2126')= 0.0448; -p15_oghgf_hfc('2127')= 0.0448; -p15_oghgf_hfc('2128')= 0.0448; -p15_oghgf_hfc('2129')= 0.0448; -p15_oghgf_hfc('2130')= 0.0447; -p15_oghgf_hfc('2131')= 0.0447; -p15_oghgf_hfc('2132')= 0.0447; -p15_oghgf_hfc('2133')= 0.0446; -p15_oghgf_hfc('2134')= 0.0446; -p15_oghgf_hfc('2135')= 0.0446; -p15_oghgf_hfc('2136')= 0.0445; -p15_oghgf_hfc('2137')= 0.0445; -p15_oghgf_hfc('2138')= 0.0445; -p15_oghgf_hfc('2139')= 0.0445; -p15_oghgf_hfc('2140')= 0.0444; -p15_oghgf_hfc('2141')= 0.0444; -p15_oghgf_hfc('2142')= 0.0444; -p15_oghgf_hfc('2143')= 0.0444; -p15_oghgf_hfc('2144')= 0.0443; -p15_oghgf_hfc('2145')= 0.0443; -p15_oghgf_hfc('2146')= 0.0443; -p15_oghgf_hfc('2147')= 0.0442; -p15_oghgf_hfc('2148')= 0.0442; -p15_oghgf_hfc('2149')= 0.0442; -p15_oghgf_hfc('2150')= 0.0442; -p15_oghgf_sf6('2000')= 0.0024; -p15_oghgf_sf6('2001')= 0.0025; -p15_oghgf_sf6('2002')= 0.0026; -p15_oghgf_sf6('2003')= 0.0027; -p15_oghgf_sf6('2004')= 0.0028; -p15_oghgf_sf6('2005')= 0.0030; -p15_oghgf_sf6('2006')= 0.0031; -p15_oghgf_sf6('2007')= 0.0032; -p15_oghgf_sf6('2008')= 0.0034; -p15_oghgf_sf6('2009')= 0.0035; -p15_oghgf_sf6('2010')= 0.0036; -p15_oghgf_sf6('2011')= 0.0038; -p15_oghgf_sf6('2012')= 0.0040; -p15_oghgf_sf6('2013')= 0.0041; -p15_oghgf_sf6('2014')= 0.0043; -p15_oghgf_sf6('2015')= 0.0045; -p15_oghgf_sf6('2016')= 0.0046; -p15_oghgf_sf6('2017')= 0.0048; -p15_oghgf_sf6('2018')= 0.0050; -p15_oghgf_sf6('2019')= 0.0052; -p15_oghgf_sf6('2020')= 0.0054; -p15_oghgf_sf6('2021')= 0.0056; -p15_oghgf_sf6('2022')= 0.0058; -p15_oghgf_sf6('2023')= 0.0060; -p15_oghgf_sf6('2024')= 0.0062; -p15_oghgf_sf6('2025')= 0.0063; -p15_oghgf_sf6('2026')= 0.0065; -p15_oghgf_sf6('2027')= 0.0067; -p15_oghgf_sf6('2028')= 0.0069; -p15_oghgf_sf6('2029')= 0.0071; -p15_oghgf_sf6('2030')= 0.0073; -p15_oghgf_sf6('2031')= 0.0075; -p15_oghgf_sf6('2032')= 0.0077; -p15_oghgf_sf6('2033')= 0.0079; -p15_oghgf_sf6('2034')= 0.0081; -p15_oghgf_sf6('2035')= 0.0083; -p15_oghgf_sf6('2036')= 0.0085; -p15_oghgf_sf6('2037')= 0.0087; -p15_oghgf_sf6('2038')= 0.0089; -p15_oghgf_sf6('2039')= 0.0091; -p15_oghgf_sf6('2040')= 0.0093; -p15_oghgf_sf6('2041')= 0.0095; -p15_oghgf_sf6('2042')= 0.0097; -p15_oghgf_sf6('2043')= 0.0099; -p15_oghgf_sf6('2044')= 0.0101; -p15_oghgf_sf6('2045')= 0.0103; -p15_oghgf_sf6('2046')= 0.0105; -p15_oghgf_sf6('2047')= 0.0107; -p15_oghgf_sf6('2048')= 0.0109; -p15_oghgf_sf6('2049')= 0.0111; -p15_oghgf_sf6('2050')= 0.0113; -p15_oghgf_sf6('2051')= 0.0115; -p15_oghgf_sf6('2052')= 0.0117; -p15_oghgf_sf6('2053')= 0.0119; -p15_oghgf_sf6('2054')= 0.0121; -p15_oghgf_sf6('2055')= 0.0123; -p15_oghgf_sf6('2056')= 0.0125; -p15_oghgf_sf6('2057')= 0.0127; -p15_oghgf_sf6('2058')= 0.0129; -p15_oghgf_sf6('2059')= 0.0131; -p15_oghgf_sf6('2060')= 0.0133; -p15_oghgf_sf6('2061')= 0.0135; -p15_oghgf_sf6('2062')= 0.0137; -p15_oghgf_sf6('2063')= 0.0139; -p15_oghgf_sf6('2064')= 0.0141; -p15_oghgf_sf6('2065')= 0.0143; -p15_oghgf_sf6('2066')= 0.0145; -p15_oghgf_sf6('2067')= 0.0147; -p15_oghgf_sf6('2068')= 0.0149; -p15_oghgf_sf6('2069')= 0.0151; -p15_oghgf_sf6('2070')= 0.0153; -p15_oghgf_sf6('2071')= 0.0155; -p15_oghgf_sf6('2072')= 0.0157; -p15_oghgf_sf6('2073')= 0.0159; -p15_oghgf_sf6('2074')= 0.0161; -p15_oghgf_sf6('2075')= 0.0163; -p15_oghgf_sf6('2076')= 0.0166; -p15_oghgf_sf6('2077')= 0.0168; -p15_oghgf_sf6('2078')= 0.0170; -p15_oghgf_sf6('2079')= 0.0172; -p15_oghgf_sf6('2080')= 0.0174; -p15_oghgf_sf6('2081')= 0.0176; -p15_oghgf_sf6('2082')= 0.0178; -p15_oghgf_sf6('2083')= 0.0180; -p15_oghgf_sf6('2084')= 0.0182; -p15_oghgf_sf6('2085')= 0.0184; -p15_oghgf_sf6('2086')= 0.0186; -p15_oghgf_sf6('2087')= 0.0188; -p15_oghgf_sf6('2088')= 0.0190; -p15_oghgf_sf6('2089')= 0.0192; -p15_oghgf_sf6('2090')= 0.0194; -p15_oghgf_sf6('2091')= 0.0196; -p15_oghgf_sf6('2092')= 0.0198; -p15_oghgf_sf6('2093')= 0.0200; -p15_oghgf_sf6('2094')= 0.0202; -p15_oghgf_sf6('2095')= 0.0204; -p15_oghgf_sf6('2096')= 0.0206; -p15_oghgf_sf6('2097')= 0.0207; -p15_oghgf_sf6('2098')= 0.0209; -p15_oghgf_sf6('2099')= 0.0211; -p15_oghgf_sf6('2100')= 0.0213; -p15_oghgf_sf6('2101')= 0.0215; -p15_oghgf_sf6('2102')= 0.0217; -p15_oghgf_sf6('2103')= 0.0219; -p15_oghgf_sf6('2104')= 0.0221; -p15_oghgf_sf6('2105')= 0.0222; -p15_oghgf_sf6('2106')= 0.0224; -p15_oghgf_sf6('2107')= 0.0226; -p15_oghgf_sf6('2108')= 0.0228; -p15_oghgf_sf6('2109')= 0.0229; -p15_oghgf_sf6('2110')= 0.0231; -p15_oghgf_sf6('2111')= 0.0232; -p15_oghgf_sf6('2112')= 0.0234; -p15_oghgf_sf6('2113')= 0.0235; -p15_oghgf_sf6('2114')= 0.0237; -p15_oghgf_sf6('2115')= 0.0238; -p15_oghgf_sf6('2116')= 0.0239; -p15_oghgf_sf6('2117')= 0.0241; -p15_oghgf_sf6('2118')= 0.0242; -p15_oghgf_sf6('2119')= 0.0243; -p15_oghgf_sf6('2120')= 0.0244; -p15_oghgf_sf6('2121')= 0.0246; -p15_oghgf_sf6('2122')= 0.0247; -p15_oghgf_sf6('2123')= 0.0248; -p15_oghgf_sf6('2124')= 0.0249; -p15_oghgf_sf6('2125')= 0.0250; -p15_oghgf_sf6('2126')= 0.0251; -p15_oghgf_sf6('2127')= 0.0252; -p15_oghgf_sf6('2128')= 0.0253; -p15_oghgf_sf6('2129')= 0.0254; -p15_oghgf_sf6('2130')= 0.0254; -p15_oghgf_sf6('2131')= 0.0255; -p15_oghgf_sf6('2132')= 0.0256; -p15_oghgf_sf6('2133')= 0.0257; -p15_oghgf_sf6('2134')= 0.0257; -p15_oghgf_sf6('2135')= 0.0258; -p15_oghgf_sf6('2136')= 0.0258; -p15_oghgf_sf6('2137')= 0.0259; -p15_oghgf_sf6('2138')= 0.0260; -p15_oghgf_sf6('2139')= 0.0260; -p15_oghgf_sf6('2140')= 0.0260; -p15_oghgf_sf6('2141')= 0.0261; -p15_oghgf_sf6('2142')= 0.0261; -p15_oghgf_sf6('2143')= 0.0262; -p15_oghgf_sf6('2144')= 0.0262; -p15_oghgf_sf6('2145')= 0.0262; -p15_oghgf_sf6('2146')= 0.0262; -p15_oghgf_sf6('2147')= 0.0262; -p15_oghgf_sf6('2148')= 0.0263; -p15_oghgf_sf6('2149')= 0.0263; -p15_oghgf_sf6('2150')= 0.0263; -p15_oghgf_montreal('2000')= 0.3196; -p15_oghgf_montreal('2001')= 0.3203; -p15_oghgf_montreal('2002')= 0.3210; -p15_oghgf_montreal('2003')= 0.3213; -p15_oghgf_montreal('2004')= 0.3213; -p15_oghgf_montreal('2005')= 0.3211; -p15_oghgf_montreal('2006')= 0.3205; -p15_oghgf_montreal('2007')= 0.3195; -p15_oghgf_montreal('2008')= 0.3186; -p15_oghgf_montreal('2009')= 0.3176; -p15_oghgf_montreal('2010')= 0.3166; -p15_oghgf_montreal('2011')= 0.3155; -p15_oghgf_montreal('2012')= 0.3144; -p15_oghgf_montreal('2013')= 0.3133; -p15_oghgf_montreal('2014')= 0.3121; -p15_oghgf_montreal('2015')= 0.3108; -p15_oghgf_montreal('2016')= 0.3096; -p15_oghgf_montreal('2017')= 0.3083; -p15_oghgf_montreal('2018')= 0.3069; -p15_oghgf_montreal('2019')= 0.3056; -p15_oghgf_montreal('2020')= 0.3042; -p15_oghgf_montreal('2021')= 0.3027; -p15_oghgf_montreal('2022')= 0.3011; -p15_oghgf_montreal('2023')= 0.2996; -p15_oghgf_montreal('2024')= 0.2979; -p15_oghgf_montreal('2025')= 0.2962; -p15_oghgf_montreal('2026')= 0.2945; -p15_oghgf_montreal('2027')= 0.2927; -p15_oghgf_montreal('2028')= 0.2908; -p15_oghgf_montreal('2029')= 0.2890; -p15_oghgf_montreal('2030')= 0.2871; -p15_oghgf_montreal('2031')= 0.2852; -p15_oghgf_montreal('2032')= 0.2831; -p15_oghgf_montreal('2033')= 0.2810; -p15_oghgf_montreal('2034')= 0.2786; -p15_oghgf_montreal('2035')= 0.2760; -p15_oghgf_montreal('2036')= 0.2731; -p15_oghgf_montreal('2037')= 0.2699; -p15_oghgf_montreal('2038')= 0.2664; -p15_oghgf_montreal('2039')= 0.2626; -p15_oghgf_montreal('2040')= 0.2585; -p15_oghgf_montreal('2041')= 0.2540; -p15_oghgf_montreal('2042')= 0.2493; -p15_oghgf_montreal('2043')= 0.2444; -p15_oghgf_montreal('2044')= 0.2393; -p15_oghgf_montreal('2045')= 0.2342; -p15_oghgf_montreal('2046')= 0.2290; -p15_oghgf_montreal('2047')= 0.2239; -p15_oghgf_montreal('2048')= 0.2188; -p15_oghgf_montreal('2049')= 0.2137; -p15_oghgf_montreal('2050')= 0.2088; -p15_oghgf_montreal('2051')= 0.2040; -p15_oghgf_montreal('2052')= 0.1993; -p15_oghgf_montreal('2053')= 0.1947; -p15_oghgf_montreal('2054')= 0.1902; -p15_oghgf_montreal('2055')= 0.1858; -p15_oghgf_montreal('2056')= 0.1816; -p15_oghgf_montreal('2057')= 0.1775; -p15_oghgf_montreal('2058')= 0.1735; -p15_oghgf_montreal('2059')= 0.1697; -p15_oghgf_montreal('2060')= 0.1659; -p15_oghgf_montreal('2061')= 0.1624; -p15_oghgf_montreal('2062')= 0.1589; -p15_oghgf_montreal('2063')= 0.1555; -p15_oghgf_montreal('2064')= 0.1523; -p15_oghgf_montreal('2065')= 0.1491; -p15_oghgf_montreal('2066')= 0.1461; -p15_oghgf_montreal('2067')= 0.1431; -p15_oghgf_montreal('2068')= 0.1403; -p15_oghgf_montreal('2069')= 0.1375; -p15_oghgf_montreal('2070')= 0.1348; -p15_oghgf_montreal('2071')= 0.1322; -p15_oghgf_montreal('2072')= 0.1297; -p15_oghgf_montreal('2073')= 0.1272; -p15_oghgf_montreal('2074')= 0.1249; -p15_oghgf_montreal('2075')= 0.1225; -p15_oghgf_montreal('2076')= 0.1203; -p15_oghgf_montreal('2077')= 0.1181; -p15_oghgf_montreal('2078')= 0.1160; -p15_oghgf_montreal('2079')= 0.1139; -p15_oghgf_montreal('2080')= 0.1119; -p15_oghgf_montreal('2081')= 0.1099; -p15_oghgf_montreal('2082')= 0.1080; -p15_oghgf_montreal('2083')= 0.1061; -p15_oghgf_montreal('2084')= 0.1043; -p15_oghgf_montreal('2085')= 0.1025; -p15_oghgf_montreal('2086')= 0.1008; -p15_oghgf_montreal('2087')= 0.0991; -p15_oghgf_montreal('2088')= 0.0974; -p15_oghgf_montreal('2089')= 0.0958; -p15_oghgf_montreal('2090')= 0.0942; -p15_oghgf_montreal('2091')= 0.0927; -p15_oghgf_montreal('2092')= 0.0912; -p15_oghgf_montreal('2093')= 0.0897; -p15_oghgf_montreal('2094')= 0.0882; -p15_oghgf_montreal('2095')= 0.0868; -p15_oghgf_montreal('2096')= 0.0854; -p15_oghgf_montreal('2097')= 0.0841; -p15_oghgf_montreal('2098')= 0.0827; -p15_oghgf_montreal('2099')= 0.0814; -p15_oghgf_montreal('2100')= 0.0801; -p15_oghgf_montreal('2101')= 0.0789; -p15_oghgf_montreal('2102')= 0.0776; -p15_oghgf_montreal('2103')= 0.0764; -p15_oghgf_montreal('2104')= 0.0752; -p15_oghgf_montreal('2105')= 0.0741; -p15_oghgf_montreal('2106')= 0.0729; -p15_oghgf_montreal('2107')= 0.0718; -p15_oghgf_montreal('2108')= 0.0707; -p15_oghgf_montreal('2109')= 0.0696; -p15_oghgf_montreal('2110')= 0.0686; -p15_oghgf_montreal('2111')= 0.0675; -p15_oghgf_montreal('2112')= 0.0665; -p15_oghgf_montreal('2113')= 0.0655; -p15_oghgf_montreal('2114')= 0.0645; -p15_oghgf_montreal('2115')= 0.0635; -p15_oghgf_montreal('2116')= 0.0626; -p15_oghgf_montreal('2117')= 0.0617; -p15_oghgf_montreal('2118')= 0.0607; -p15_oghgf_montreal('2119')= 0.0598; -p15_oghgf_montreal('2120')= 0.0589; -p15_oghgf_montreal('2121')= 0.0581; -p15_oghgf_montreal('2122')= 0.0572; -p15_oghgf_montreal('2123')= 0.0563; -p15_oghgf_montreal('2124')= 0.0555; -p15_oghgf_montreal('2125')= 0.0547; -p15_oghgf_montreal('2126')= 0.0539; -p15_oghgf_montreal('2127')= 0.0531; -p15_oghgf_montreal('2128')= 0.0523; -p15_oghgf_montreal('2129')= 0.0515; -p15_oghgf_montreal('2130')= 0.0508; -p15_oghgf_montreal('2131')= 0.0500; -p15_oghgf_montreal('2132')= 0.0493; -p15_oghgf_montreal('2133')= 0.0486; -p15_oghgf_montreal('2134')= 0.0479; -p15_oghgf_montreal('2135')= 0.0472; -p15_oghgf_montreal('2136')= 0.0465; -p15_oghgf_montreal('2137')= 0.0458; -p15_oghgf_montreal('2138')= 0.0452; -p15_oghgf_montreal('2139')= 0.0445; -p15_oghgf_montreal('2140')= 0.0439; -p15_oghgf_montreal('2141')= 0.0432; -p15_oghgf_montreal('2142')= 0.0426; -p15_oghgf_montreal('2143')= 0.0420; -p15_oghgf_montreal('2144')= 0.0414; -p15_oghgf_montreal('2145')= 0.0408; -p15_oghgf_montreal('2146')= 0.0402; -p15_oghgf_montreal('2147')= 0.0397; -p15_oghgf_montreal('2148')= 0.0391; -p15_oghgf_montreal('2149')= 0.0385; -p15_oghgf_montreal('2150')= 0.0383; -p15_oghgf_o3str('2000')= -0.0612; -p15_oghgf_o3str('2001')= -0.0592; -p15_oghgf_o3str('2002')= -0.0575; -p15_oghgf_o3str('2003')= -0.0551; -p15_oghgf_o3str('2004')= -0.0523; -p15_oghgf_o3str('2005')= -0.0497; -p15_oghgf_o3str('2006')= -0.0478; -p15_oghgf_o3str('2007')= -0.0461; -p15_oghgf_o3str('2008')= -0.0444; -p15_oghgf_o3str('2009')= -0.0425; -p15_oghgf_o3str('2010')= -0.0406; -p15_oghgf_o3str('2011')= -0.0390; -p15_oghgf_o3str('2012')= -0.0371; -p15_oghgf_o3str('2013')= -0.0350; -p15_oghgf_o3str('2014')= -0.0332; -p15_oghgf_o3str('2015')= -0.0315; -p15_oghgf_o3str('2016')= -0.0299; -p15_oghgf_o3str('2017')= -0.0282; -p15_oghgf_o3str('2018')= -0.0266; -p15_oghgf_o3str('2019')= -0.0246; -p15_oghgf_o3str('2020')= -0.0225; -p15_oghgf_o3str('2021')= -0.0209; -p15_oghgf_o3str('2022')= -0.0194; -p15_oghgf_o3str('2023')= -0.0181; -p15_oghgf_o3str('2024')= -0.0167; -p15_oghgf_o3str('2025')= -0.0155; -p15_oghgf_o3str('2026')= -0.0143; -p15_oghgf_o3str('2027')= -0.0131; -p15_oghgf_o3str('2028')= -0.0120; -p15_oghgf_o3str('2029')= -0.0110; -p15_oghgf_o3str('2030')= -0.0100; -p15_oghgf_o3str('2031')= -0.0091; -p15_oghgf_o3str('2032')= -0.0083; -p15_oghgf_o3str('2033')= -0.0074; -p15_oghgf_o3str('2034')= -0.0067; -p15_oghgf_o3str('2035')= -0.0059; -p15_oghgf_o3str('2036')= -0.0052; -p15_oghgf_o3str('2037')= -0.0046; -p15_oghgf_o3str('2038')= -0.0040; -p15_oghgf_o3str('2039')= -0.0034; -p15_oghgf_o3str('2040')= -0.0028; -p15_oghgf_o3str('2041')= -0.0023; -p15_oghgf_o3str('2042')= -0.0019; -p15_oghgf_o3str('2043')= -0.0015; -p15_oghgf_o3str('2044')= -0.0011; -p15_oghgf_o3str('2045')= -0.0008; -p15_oghgf_o3str('2046')= -0.0005; -p15_oghgf_o3str('2047')= -0.0002; -p15_oghgf_o3str('2048')= -0.0001; -p15_oghgf_o3str('2049')= -0.0000; -p15_oghgf_o3str('2050')= 0.0000; -p15_oghgf_o3str('2051')= 0.0000; -p15_oghgf_o3str('2052')= 0.0000; -p15_oghgf_o3str('2053')= 0.0000; -p15_oghgf_o3str('2054')= 0.0000; -p15_oghgf_o3str('2055')= 0.0000; -p15_oghgf_o3str('2056')= 0.0000; -p15_oghgf_o3str('2057')= 0.0000; -p15_oghgf_o3str('2058')= 0.0000; -p15_oghgf_o3str('2059')= 0.0000; -p15_oghgf_o3str('2060')= 0.0000; -p15_oghgf_o3str('2061')= 0.0000; -p15_oghgf_o3str('2062')= 0.0000; -p15_oghgf_o3str('2063')= 0.0000; -p15_oghgf_o3str('2064')= 0.0000; -p15_oghgf_o3str('2065')= 0.0000; -p15_oghgf_o3str('2066')= 0.0000; -p15_oghgf_o3str('2067')= 0.0000; -p15_oghgf_o3str('2068')= 0.0000; -p15_oghgf_o3str('2069')= 0.0000; -p15_oghgf_o3str('2070')= 0.0000; -p15_oghgf_o3str('2071')= 0.0000; -p15_oghgf_o3str('2072')= 0.0000; -p15_oghgf_o3str('2073')= 0.0000; -p15_oghgf_o3str('2074')= 0.0000; -p15_oghgf_o3str('2075')= 0.0000; -p15_oghgf_o3str('2076')= 0.0000; -p15_oghgf_o3str('2077')= 0.0000; -p15_oghgf_o3str('2078')= 0.0000; -p15_oghgf_o3str('2079')= 0.0000; -p15_oghgf_o3str('2080')= 0.0000; -p15_oghgf_o3str('2081')= 0.0000; -p15_oghgf_o3str('2082')= 0.0000; -p15_oghgf_o3str('2083')= 0.0000; -p15_oghgf_o3str('2084')= 0.0000; -p15_oghgf_o3str('2085')= 0.0000; -p15_oghgf_o3str('2086')= 0.0000; -p15_oghgf_o3str('2087')= 0.0000; -p15_oghgf_o3str('2088')= 0.0000; -p15_oghgf_o3str('2089')= 0.0000; -p15_oghgf_o3str('2090')= 0.0000; -p15_oghgf_o3str('2091')= 0.0000; -p15_oghgf_o3str('2092')= 0.0000; -p15_oghgf_o3str('2093')= 0.0000; -p15_oghgf_o3str('2094')= 0.0000; -p15_oghgf_o3str('2095')= 0.0000; -p15_oghgf_o3str('2096')= 0.0000; -p15_oghgf_o3str('2097')= 0.0000; -p15_oghgf_o3str('2098')= 0.0000; -p15_oghgf_o3str('2099')= 0.0000; -p15_oghgf_o3str('2100')= 0.0000; -p15_oghgf_o3str('2101')= 0.0000; -p15_oghgf_o3str('2102')= 0.0000; -p15_oghgf_o3str('2103')= 0.0000; -p15_oghgf_o3str('2104')= 0.0000; -p15_oghgf_o3str('2105')= 0.0000; -p15_oghgf_o3str('2106')= 0.0000; -p15_oghgf_o3str('2107')= 0.0000; -p15_oghgf_o3str('2108')= 0.0000; -p15_oghgf_o3str('2109')= 0.0000; -p15_oghgf_o3str('2110')= 0.0000; -p15_oghgf_o3str('2111')= 0.0000; -p15_oghgf_o3str('2112')= 0.0000; -p15_oghgf_o3str('2113')= 0.0000; -p15_oghgf_o3str('2114')= 0.0000; -p15_oghgf_o3str('2115')= 0.0000; -p15_oghgf_o3str('2116')= 0.0000; -p15_oghgf_o3str('2117')= 0.0000; -p15_oghgf_o3str('2118')= 0.0000; -p15_oghgf_o3str('2119')= 0.0000; -p15_oghgf_o3str('2120')= 0.0000; -p15_oghgf_o3str('2121')= 0.0000; -p15_oghgf_o3str('2122')= 0.0000; -p15_oghgf_o3str('2123')= 0.0000; -p15_oghgf_o3str('2124')= 0.0000; -p15_oghgf_o3str('2125')= 0.0000; -p15_oghgf_o3str('2126')= 0.0000; -p15_oghgf_o3str('2127')= 0.0000; -p15_oghgf_o3str('2128')= 0.0000; -p15_oghgf_o3str('2129')= 0.0000; -p15_oghgf_o3str('2130')= 0.0000; -p15_oghgf_o3str('2131')= 0.0000; -p15_oghgf_o3str('2132')= 0.0000; -p15_oghgf_o3str('2133')= 0.0000; -p15_oghgf_o3str('2134')= 0.0000; -p15_oghgf_o3str('2135')= 0.0000; -p15_oghgf_o3str('2136')= 0.0000; -p15_oghgf_o3str('2137')= 0.0000; -p15_oghgf_o3str('2138')= 0.0000; -p15_oghgf_o3str('2139')= 0.0000; -p15_oghgf_o3str('2140')= 0.0000; -p15_oghgf_o3str('2141')= 0.0000; -p15_oghgf_o3str('2142')= 0.0000; -p15_oghgf_o3str('2143')= 0.0000; -p15_oghgf_o3str('2144')= 0.0000; -p15_oghgf_o3str('2145')= 0.0000; -p15_oghgf_o3str('2146')= 0.0000; -p15_oghgf_o3str('2147')= 0.0000; -p15_oghgf_o3str('2148')= 0.0000; -p15_oghgf_o3str('2149')= 0.0000; -p15_oghgf_o3str('2150')= 0.0000; -p15_oghgf_o3trp('2000')= 0.3737; -p15_oghgf_o3trp('2001')= 0.3735; -p15_oghgf_o3trp('2002')= 0.3739; -p15_oghgf_o3trp('2003')= 0.3747; -p15_oghgf_o3trp('2004')= 0.3754; -p15_oghgf_o3trp('2005')= 0.3758; -p15_oghgf_o3trp('2006')= 0.3765; -p15_oghgf_o3trp('2007')= 0.3766; -p15_oghgf_o3trp('2008')= 0.3761; -p15_oghgf_o3trp('2009')= 0.3756; -p15_oghgf_o3trp('2010')= 0.3751; -p15_oghgf_o3trp('2011')= 0.3746; -p15_oghgf_o3trp('2012')= 0.3740; -p15_oghgf_o3trp('2013')= 0.3732; -p15_oghgf_o3trp('2014')= 0.3724; -p15_oghgf_o3trp('2015')= 0.3715; -p15_oghgf_o3trp('2016')= 0.3705; -p15_oghgf_o3trp('2017')= 0.3695; -p15_oghgf_o3trp('2018')= 0.3685; -p15_oghgf_o3trp('2019')= 0.3674; -p15_oghgf_o3trp('2020')= 0.3663; -p15_oghgf_o3trp('2021')= 0.3652; -p15_oghgf_o3trp('2022')= 0.3641; -p15_oghgf_o3trp('2023')= 0.3632; -p15_oghgf_o3trp('2024')= 0.3624; -p15_oghgf_o3trp('2025')= 0.3616; -p15_oghgf_o3trp('2026')= 0.3609; -p15_oghgf_o3trp('2027')= 0.3602; -p15_oghgf_o3trp('2028')= 0.3596; -p15_oghgf_o3trp('2029')= 0.3590; -p15_oghgf_o3trp('2030')= 0.3584; -p15_oghgf_o3trp('2031')= 0.3578; -p15_oghgf_o3trp('2032')= 0.3577; -p15_oghgf_o3trp('2033')= 0.3580; -p15_oghgf_o3trp('2034')= 0.3583; -p15_oghgf_o3trp('2035')= 0.3586; -p15_oghgf_o3trp('2036')= 0.3590; -p15_oghgf_o3trp('2037')= 0.3594; -p15_oghgf_o3trp('2038')= 0.3598; -p15_oghgf_o3trp('2039')= 0.3602; -p15_oghgf_o3trp('2040')= 0.3606; -p15_oghgf_o3trp('2041')= 0.3611; -p15_oghgf_o3trp('2042')= 0.3610; -p15_oghgf_o3trp('2043')= 0.3605; -p15_oghgf_o3trp('2044')= 0.3599; -p15_oghgf_o3trp('2045')= 0.3592; -p15_oghgf_o3trp('2046')= 0.3586; -p15_oghgf_o3trp('2047')= 0.3580; -p15_oghgf_o3trp('2048')= 0.3574; -p15_oghgf_o3trp('2049')= 0.3568; -p15_oghgf_o3trp('2050')= 0.3561; -p15_oghgf_o3trp('2051')= 0.3555; -p15_oghgf_o3trp('2052')= 0.3548; -p15_oghgf_o3trp('2053')= 0.3541; -p15_oghgf_o3trp('2054')= 0.3534; -p15_oghgf_o3trp('2055')= 0.3527; -p15_oghgf_o3trp('2056')= 0.3519; -p15_oghgf_o3trp('2057')= 0.3512; -p15_oghgf_o3trp('2058')= 0.3504; -p15_oghgf_o3trp('2059')= 0.3496; -p15_oghgf_o3trp('2060')= 0.3488; -p15_oghgf_o3trp('2061')= 0.3480; -p15_oghgf_o3trp('2062')= 0.3466; -p15_oghgf_o3trp('2063')= 0.3446; -p15_oghgf_o3trp('2064')= 0.3426; -p15_oghgf_o3trp('2065')= 0.3406; -p15_oghgf_o3trp('2066')= 0.3385; -p15_oghgf_o3trp('2067')= 0.3363; -p15_oghgf_o3trp('2068')= 0.3342; -p15_oghgf_o3trp('2069')= 0.3320; -p15_oghgf_o3trp('2070')= 0.3298; -p15_oghgf_o3trp('2071')= 0.3276; -p15_oghgf_o3trp('2072')= 0.3256; -p15_oghgf_o3trp('2073')= 0.3236; -p15_oghgf_o3trp('2074')= 0.3215; -p15_oghgf_o3trp('2075')= 0.3194; -p15_oghgf_o3trp('2076')= 0.3172; -p15_oghgf_o3trp('2077')= 0.3150; -p15_oghgf_o3trp('2078')= 0.3127; -p15_oghgf_o3trp('2079')= 0.3103; -p15_oghgf_o3trp('2080')= 0.3080; -p15_oghgf_o3trp('2081')= 0.3056; -p15_oghgf_o3trp('2082')= 0.3035; -p15_oghgf_o3trp('2083')= 0.3017; -p15_oghgf_o3trp('2084')= 0.2998; -p15_oghgf_o3trp('2085')= 0.2977; -p15_oghgf_o3trp('2086')= 0.2954; -p15_oghgf_o3trp('2087')= 0.2930; -p15_oghgf_o3trp('2088')= 0.2905; -p15_oghgf_o3trp('2089')= 0.2879; -p15_oghgf_o3trp('2090')= 0.2851; -p15_oghgf_o3trp('2091')= 0.2823; -p15_oghgf_o3trp('2092')= 0.2794; -p15_oghgf_o3trp('2093')= 0.2766; -p15_oghgf_o3trp('2094')= 0.2738; -p15_oghgf_o3trp('2095')= 0.2711; -p15_oghgf_o3trp('2096')= 0.2684; -p15_oghgf_o3trp('2097')= 0.2658; -p15_oghgf_o3trp('2098')= 0.2632; -p15_oghgf_o3trp('2099')= 0.2607; -p15_oghgf_o3trp('2100')= 0.2582; -p15_oghgf_o3trp('2101')= 0.2558; -p15_oghgf_o3trp('2102')= 0.2540; -p15_oghgf_o3trp('2103')= 0.2529; -p15_oghgf_o3trp('2104')= 0.2518; -p15_oghgf_o3trp('2105')= 0.2509; -p15_oghgf_o3trp('2106')= 0.2501; -p15_oghgf_o3trp('2107')= 0.2494; -p15_oghgf_o3trp('2108')= 0.2487; -p15_oghgf_o3trp('2109')= 0.2481; -p15_oghgf_o3trp('2110')= 0.2476; -p15_oghgf_o3trp('2111')= 0.2471; -p15_oghgf_o3trp('2112')= 0.2466; -p15_oghgf_o3trp('2113')= 0.2462; -p15_oghgf_o3trp('2114')= 0.2459; -p15_oghgf_o3trp('2115')= 0.2455; -p15_oghgf_o3trp('2116')= 0.2452; -p15_oghgf_o3trp('2117')= 0.2450; -p15_oghgf_o3trp('2118')= 0.2447; -p15_oghgf_o3trp('2119')= 0.2445; -p15_oghgf_o3trp('2120')= 0.2443; -p15_oghgf_o3trp('2121')= 0.2441; -p15_oghgf_o3trp('2122')= 0.2439; -p15_oghgf_o3trp('2123')= 0.2438; -p15_oghgf_o3trp('2124')= 0.2436; -p15_oghgf_o3trp('2125')= 0.2435; -p15_oghgf_o3trp('2126')= 0.2434; -p15_oghgf_o3trp('2127')= 0.2433; -p15_oghgf_o3trp('2128')= 0.2432; -p15_oghgf_o3trp('2129')= 0.2431; -p15_oghgf_o3trp('2130')= 0.2430; -p15_oghgf_o3trp('2131')= 0.2429; -p15_oghgf_o3trp('2132')= 0.2428; -p15_oghgf_o3trp('2133')= 0.2427; -p15_oghgf_o3trp('2134')= 0.2426; -p15_oghgf_o3trp('2135')= 0.2426; -p15_oghgf_o3trp('2136')= 0.2425; -p15_oghgf_o3trp('2137')= 0.2424; -p15_oghgf_o3trp('2138')= 0.2424; -p15_oghgf_o3trp('2139')= 0.2423; -p15_oghgf_o3trp('2140')= 0.2423; -p15_oghgf_o3trp('2141')= 0.2423; -p15_oghgf_o3trp('2142')= 0.2422; -p15_oghgf_o3trp('2143')= 0.2422; -p15_oghgf_o3trp('2144')= 0.2421; -p15_oghgf_o3trp('2145')= 0.2421; -p15_oghgf_o3trp('2146')= 0.2420; -p15_oghgf_o3trp('2147')= 0.2420; -p15_oghgf_o3trp('2148')= 0.2420; -p15_oghgf_o3trp('2149')= 0.2419; -p15_oghgf_o3trp('2150')= 0.2419; -p15_oghgf_h2ostr('2000')= 0.0820; -p15_oghgf_h2ostr('2001')= 0.0820; -p15_oghgf_h2ostr('2002')= 0.0821; -p15_oghgf_h2ostr('2003')= 0.0823; -p15_oghgf_h2ostr('2004')= 0.0823; -p15_oghgf_h2ostr('2005')= 0.0822; -p15_oghgf_h2ostr('2006')= 0.0822; -p15_oghgf_h2ostr('2007')= 0.0824; -p15_oghgf_h2ostr('2008')= 0.0826; -p15_oghgf_h2ostr('2009')= 0.0829; -p15_oghgf_h2ostr('2010')= 0.0832; -p15_oghgf_h2ostr('2011')= 0.0834; -p15_oghgf_h2ostr('2012')= 0.0837; -p15_oghgf_h2ostr('2013')= 0.0839; -p15_oghgf_h2ostr('2014')= 0.0840; -p15_oghgf_h2ostr('2015')= 0.0841; -p15_oghgf_h2ostr('2016')= 0.0842; -p15_oghgf_h2ostr('2017')= 0.0843; -p15_oghgf_h2ostr('2018')= 0.0843; -p15_oghgf_h2ostr('2019')= 0.0843; -p15_oghgf_h2ostr('2020')= 0.0842; -p15_oghgf_h2ostr('2021')= 0.0842; -p15_oghgf_h2ostr('2022')= 0.0841; -p15_oghgf_h2ostr('2023')= 0.0841; -p15_oghgf_h2ostr('2024')= 0.0841; -p15_oghgf_h2ostr('2025')= 0.0842; -p15_oghgf_h2ostr('2026')= 0.0843; -p15_oghgf_h2ostr('2027')= 0.0844; -p15_oghgf_h2ostr('2028')= 0.0845; -p15_oghgf_h2ostr('2029')= 0.0847; -p15_oghgf_h2ostr('2030')= 0.0849; -p15_oghgf_h2ostr('2031')= 0.0851; -p15_oghgf_h2ostr('2032')= 0.0853; -p15_oghgf_h2ostr('2033')= 0.0856; -p15_oghgf_h2ostr('2034')= 0.0858; -p15_oghgf_h2ostr('2035')= 0.0861; -p15_oghgf_h2ostr('2036')= 0.0864; -p15_oghgf_h2ostr('2037')= 0.0867; -p15_oghgf_h2ostr('2038')= 0.0870; -p15_oghgf_h2ostr('2039')= 0.0874; -p15_oghgf_h2ostr('2040')= 0.0877; -p15_oghgf_h2ostr('2041')= 0.0881; -p15_oghgf_h2ostr('2042')= 0.0885; -p15_oghgf_h2ostr('2043')= 0.0888; -p15_oghgf_h2ostr('2044')= 0.0892; -p15_oghgf_h2ostr('2045')= 0.0895; -p15_oghgf_h2ostr('2046')= 0.0898; -p15_oghgf_h2ostr('2047')= 0.0901; -p15_oghgf_h2ostr('2048')= 0.0905; -p15_oghgf_h2ostr('2049')= 0.0908; -p15_oghgf_h2ostr('2050')= 0.0911; -p15_oghgf_h2ostr('2051')= 0.0914; -p15_oghgf_h2ostr('2052')= 0.0918; -p15_oghgf_h2ostr('2053')= 0.0921; -p15_oghgf_h2ostr('2054')= 0.0923; -p15_oghgf_h2ostr('2055')= 0.0926; -p15_oghgf_h2ostr('2056')= 0.0929; -p15_oghgf_h2ostr('2057')= 0.0931; -p15_oghgf_h2ostr('2058')= 0.0934; -p15_oghgf_h2ostr('2059')= 0.0936; -p15_oghgf_h2ostr('2060')= 0.0939; -p15_oghgf_h2ostr('2061')= 0.0941; -p15_oghgf_h2ostr('2062')= 0.0943; -p15_oghgf_h2ostr('2063')= 0.0945; -p15_oghgf_h2ostr('2064')= 0.0947; -p15_oghgf_h2ostr('2065')= 0.0948; -p15_oghgf_h2ostr('2066')= 0.0949; -p15_oghgf_h2ostr('2067')= 0.0950; -p15_oghgf_h2ostr('2068')= 0.0951; -p15_oghgf_h2ostr('2069')= 0.0952; -p15_oghgf_h2ostr('2070')= 0.0952; -p15_oghgf_h2ostr('2071')= 0.0953; -p15_oghgf_h2ostr('2072')= 0.0953; -p15_oghgf_h2ostr('2073')= 0.0953; -p15_oghgf_h2ostr('2074')= 0.0952; -p15_oghgf_h2ostr('2075')= 0.0951; -p15_oghgf_h2ostr('2076')= 0.0949; -p15_oghgf_h2ostr('2077')= 0.0947; -p15_oghgf_h2ostr('2078')= 0.0945; -p15_oghgf_h2ostr('2079')= 0.0942; -p15_oghgf_h2ostr('2080')= 0.0939; -p15_oghgf_h2ostr('2081')= 0.0936; -p15_oghgf_h2ostr('2082')= 0.0932; -p15_oghgf_h2ostr('2083')= 0.0927; -p15_oghgf_h2ostr('2084')= 0.0921; -p15_oghgf_h2ostr('2085')= 0.0914; -p15_oghgf_h2ostr('2086')= 0.0905; -p15_oghgf_h2ostr('2087')= 0.0896; -p15_oghgf_h2ostr('2088')= 0.0886; -p15_oghgf_h2ostr('2089')= 0.0875; -p15_oghgf_h2ostr('2090')= 0.0864; -p15_oghgf_h2ostr('2091')= 0.0851; -p15_oghgf_h2ostr('2092')= 0.0839; -p15_oghgf_h2ostr('2093')= 0.0827; -p15_oghgf_h2ostr('2094')= 0.0816; -p15_oghgf_h2ostr('2095')= 0.0804; -p15_oghgf_h2ostr('2096')= 0.0794; -p15_oghgf_h2ostr('2097')= 0.0783; -p15_oghgf_h2ostr('2098')= 0.0773; -p15_oghgf_h2ostr('2099')= 0.0763; -p15_oghgf_h2ostr('2100')= 0.0754; -p15_oghgf_h2ostr('2101')= 0.0745; -p15_oghgf_h2ostr('2102')= 0.0736; -p15_oghgf_h2ostr('2103')= 0.0729; -p15_oghgf_h2ostr('2104')= 0.0722; -p15_oghgf_h2ostr('2105')= 0.0717; -p15_oghgf_h2ostr('2106')= 0.0711; -p15_oghgf_h2ostr('2107')= 0.0707; -p15_oghgf_h2ostr('2108')= 0.0702; -p15_oghgf_h2ostr('2109')= 0.0699; -p15_oghgf_h2ostr('2110')= 0.0695; -p15_oghgf_h2ostr('2111')= 0.0692; -p15_oghgf_h2ostr('2112')= 0.0689; -p15_oghgf_h2ostr('2113')= 0.0686; -p15_oghgf_h2ostr('2114')= 0.0684; -p15_oghgf_h2ostr('2115')= 0.0682; -p15_oghgf_h2ostr('2116')= 0.0680; -p15_oghgf_h2ostr('2117')= 0.0679; -p15_oghgf_h2ostr('2118')= 0.0677; -p15_oghgf_h2ostr('2119')= 0.0676; -p15_oghgf_h2ostr('2120')= 0.0675; -p15_oghgf_h2ostr('2121')= 0.0673; -p15_oghgf_h2ostr('2122')= 0.0672; -p15_oghgf_h2ostr('2123')= 0.0671; -p15_oghgf_h2ostr('2124')= 0.0670; -p15_oghgf_h2ostr('2125')= 0.0669; -p15_oghgf_h2ostr('2126')= 0.0668; -p15_oghgf_h2ostr('2127')= 0.0668; -p15_oghgf_h2ostr('2128')= 0.0667; -p15_oghgf_h2ostr('2129')= 0.0667; -p15_oghgf_h2ostr('2130')= 0.0666; -p15_oghgf_h2ostr('2131')= 0.0666; -p15_oghgf_h2ostr('2132')= 0.0665; -p15_oghgf_h2ostr('2133')= 0.0664; -p15_oghgf_h2ostr('2134')= 0.0664; -p15_oghgf_h2ostr('2135')= 0.0663; -p15_oghgf_h2ostr('2136')= 0.0663; -p15_oghgf_h2ostr('2137')= 0.0663; -p15_oghgf_h2ostr('2138')= 0.0662; -p15_oghgf_h2ostr('2139')= 0.0662; -p15_oghgf_h2ostr('2140')= 0.0662; -p15_oghgf_h2ostr('2141')= 0.0662; -p15_oghgf_h2ostr('2142')= 0.0661; -p15_oghgf_h2ostr('2143')= 0.0661; -p15_oghgf_h2ostr('2144')= 0.0661; -p15_oghgf_h2ostr('2145')= 0.0660; -p15_oghgf_h2ostr('2146')= 0.0660; -p15_oghgf_h2ostr('2147')= 0.0660; -p15_oghgf_h2ostr('2148')= 0.0660; -p15_oghgf_h2ostr('2149')= 0.0659; -p15_oghgf_h2ostr('2150')= 0.0659; -p15_oghgf_luc('2000')= -0.1924; -p15_oghgf_luc('2001')= -0.1939; -p15_oghgf_luc('2002')= -0.1957; -p15_oghgf_luc('2003')= -0.1974; -p15_oghgf_luc('2004')= -0.1991; -p15_oghgf_luc('2005')= -0.2008; -p15_oghgf_luc('2006')= -0.2024; -p15_oghgf_luc('2007')= -0.2039; -p15_oghgf_luc('2008')= -0.2053; -p15_oghgf_luc('2009')= -0.2067; -p15_oghgf_luc('2010')= -0.2079; -p15_oghgf_luc('2011')= -0.2090; -p15_oghgf_luc('2012')= -0.2101; -p15_oghgf_luc('2013')= -0.2112; -p15_oghgf_luc('2014')= -0.2121; -p15_oghgf_luc('2015')= -0.2130; -p15_oghgf_luc('2016')= -0.2138; -p15_oghgf_luc('2017')= -0.2146; -p15_oghgf_luc('2018')= -0.2153; -p15_oghgf_luc('2019')= -0.2159; -p15_oghgf_luc('2020')= -0.2164; -p15_oghgf_luc('2021')= -0.2168; -p15_oghgf_luc('2022')= -0.2171; -p15_oghgf_luc('2023')= -0.2173; -p15_oghgf_luc('2024')= -0.2173; -p15_oghgf_luc('2025')= -0.2171; -p15_oghgf_luc('2026')= -0.2169; -p15_oghgf_luc('2027')= -0.2164; -p15_oghgf_luc('2028')= -0.2159; -p15_oghgf_luc('2029')= -0.2152; -p15_oghgf_luc('2030')= -0.2144; -p15_oghgf_luc('2031')= -0.2136; -p15_oghgf_luc('2032')= -0.2127; -p15_oghgf_luc('2033')= -0.2118; -p15_oghgf_luc('2034')= -0.2109; -p15_oghgf_luc('2035')= -0.2099; -p15_oghgf_luc('2036')= -0.2089; -p15_oghgf_luc('2037')= -0.2079; -p15_oghgf_luc('2038')= -0.2069; -p15_oghgf_luc('2039')= -0.2058; -p15_oghgf_luc('2040')= -0.2048; -p15_oghgf_luc('2041')= -0.2037; -p15_oghgf_luc('2042')= -0.2027; -p15_oghgf_luc('2043')= -0.2017; -p15_oghgf_luc('2044')= -0.2008; -p15_oghgf_luc('2045')= -0.1999; -p15_oghgf_luc('2046')= -0.1990; -p15_oghgf_luc('2047')= -0.1982; -p15_oghgf_luc('2048')= -0.1973; -p15_oghgf_luc('2049')= -0.1966; -p15_oghgf_luc('2050')= -0.1958; -p15_oghgf_luc('2051')= -0.1951; -p15_oghgf_luc('2052')= -0.1945; -p15_oghgf_luc('2053')= -0.1938; -p15_oghgf_luc('2054')= -0.1932; -p15_oghgf_luc('2055')= -0.1926; -p15_oghgf_luc('2056')= -0.1921; -p15_oghgf_luc('2057')= -0.1915; -p15_oghgf_luc('2058')= -0.1910; -p15_oghgf_luc('2059')= -0.1906; -p15_oghgf_luc('2060')= -0.1901; -p15_oghgf_luc('2061')= -0.1897; -p15_oghgf_luc('2062')= -0.1894; -p15_oghgf_luc('2063')= -0.1891; -p15_oghgf_luc('2064')= -0.1888; -p15_oghgf_luc('2065')= -0.1885; -p15_oghgf_luc('2066')= -0.1883; -p15_oghgf_luc('2067')= -0.1881; -p15_oghgf_luc('2068')= -0.1880; -p15_oghgf_luc('2069')= -0.1879; -p15_oghgf_luc('2070')= -0.1878; -p15_oghgf_luc('2071')= -0.1878; -p15_oghgf_luc('2072')= -0.1878; -p15_oghgf_luc('2073')= -0.1878; -p15_oghgf_luc('2074')= -0.1879; -p15_oghgf_luc('2075')= -0.1881; -p15_oghgf_luc('2076')= -0.1883; -p15_oghgf_luc('2077')= -0.1885; -p15_oghgf_luc('2078')= -0.1888; -p15_oghgf_luc('2079')= -0.1891; -p15_oghgf_luc('2080')= -0.1894; -p15_oghgf_luc('2081')= -0.1898; -p15_oghgf_luc('2082')= -0.1902; -p15_oghgf_luc('2083')= -0.1905; -p15_oghgf_luc('2084')= -0.1909; -p15_oghgf_luc('2085')= -0.1913; -p15_oghgf_luc('2086')= -0.1916; -p15_oghgf_luc('2087')= -0.1920; -p15_oghgf_luc('2088')= -0.1924; -p15_oghgf_luc('2089')= -0.1927; -p15_oghgf_luc('2090')= -0.1931; -p15_oghgf_luc('2091')= -0.1935; -p15_oghgf_luc('2092')= -0.1938; -p15_oghgf_luc('2093')= -0.1942; -p15_oghgf_luc('2094')= -0.1945; -p15_oghgf_luc('2095')= -0.1949; -p15_oghgf_luc('2096')= -0.1952; -p15_oghgf_luc('2097')= -0.1955; -p15_oghgf_luc('2098')= -0.1958; -p15_oghgf_luc('2099')= -0.1961; -p15_oghgf_luc('2100')= -0.1964; -p15_oghgf_luc('2101')= -0.1967; -p15_oghgf_luc('2102')= -0.1970; -p15_oghgf_luc('2103')= -0.1972; -p15_oghgf_luc('2104')= -0.1975; -p15_oghgf_luc('2105')= -0.1977; -p15_oghgf_luc('2106')= -0.1979; -p15_oghgf_luc('2107')= -0.1982; -p15_oghgf_luc('2108')= -0.1984; -p15_oghgf_luc('2109')= -0.1985; -p15_oghgf_luc('2110')= -0.1987; -p15_oghgf_luc('2111')= -0.1989; -p15_oghgf_luc('2112')= -0.1990; -p15_oghgf_luc('2113')= -0.1992; -p15_oghgf_luc('2114')= -0.1993; -p15_oghgf_luc('2115')= -0.1994; -p15_oghgf_luc('2116')= -0.1995; -p15_oghgf_luc('2117')= -0.1996; -p15_oghgf_luc('2118')= -0.1997; -p15_oghgf_luc('2119')= -0.1998; -p15_oghgf_luc('2120')= -0.1998; -p15_oghgf_luc('2121')= -0.1999; -p15_oghgf_luc('2122')= -0.1999; -p15_oghgf_luc('2123')= -0.2000; -p15_oghgf_luc('2124')= -0.2000; -p15_oghgf_luc('2125')= -0.2000; -p15_oghgf_luc('2126')= -0.2000; -p15_oghgf_luc('2127')= -0.2000; -p15_oghgf_luc('2128')= -0.2000; -p15_oghgf_luc('2129')= -0.2000; -p15_oghgf_luc('2130')= -0.2000; -p15_oghgf_luc('2131')= -0.2000; -p15_oghgf_luc('2132')= -0.2000; -p15_oghgf_luc('2133')= -0.2000; -p15_oghgf_luc('2134')= -0.2000; -p15_oghgf_luc('2135')= -0.2000; -p15_oghgf_luc('2136')= -0.2000; -p15_oghgf_luc('2137')= -0.2000; -p15_oghgf_luc('2138')= -0.2000; -p15_oghgf_luc('2139')= -0.2000; -p15_oghgf_luc('2140')= -0.2000; -p15_oghgf_luc('2141')= -0.2000; -p15_oghgf_luc('2142')= -0.2000; -p15_oghgf_luc('2143')= -0.2000; -p15_oghgf_luc('2144')= -0.2000; -p15_oghgf_luc('2145')= -0.2000; -p15_oghgf_luc('2146')= -0.2000; -p15_oghgf_luc('2147')= -0.2000; -p15_oghgf_luc('2148')= -0.2000; -p15_oghgf_luc('2149')= -0.2000; -p15_oghgf_luc('2150')= -0.2000; -p15_oghgf_minaer('2000')= -0.0962; -p15_oghgf_minaer('2001')= -0.0970; -p15_oghgf_minaer('2002')= -0.0978; -p15_oghgf_minaer('2003')= -0.0987; -p15_oghgf_minaer('2004')= -0.0996; -p15_oghgf_minaer('2005')= -0.1000; -p15_oghgf_minaer('2006')= -0.1000; -p15_oghgf_minaer('2007')= -0.1000; -p15_oghgf_minaer('2008')= -0.1000; -p15_oghgf_minaer('2009')= -0.1000; -p15_oghgf_minaer('2010')= -0.1000; -p15_oghgf_minaer('2011')= -0.1000; -p15_oghgf_minaer('2012')= -0.1000; -p15_oghgf_minaer('2013')= -0.1000; -p15_oghgf_minaer('2014')= -0.1000; -p15_oghgf_minaer('2015')= -0.1000; -p15_oghgf_minaer('2016')= -0.1000; -p15_oghgf_minaer('2017')= -0.1000; -p15_oghgf_minaer('2018')= -0.1000; -p15_oghgf_minaer('2019')= -0.1000; -p15_oghgf_minaer('2020')= -0.1000; -p15_oghgf_minaer('2021')= -0.1000; -p15_oghgf_minaer('2022')= -0.1000; -p15_oghgf_minaer('2023')= -0.1000; -p15_oghgf_minaer('2024')= -0.1000; -p15_oghgf_minaer('2025')= -0.1000; -p15_oghgf_minaer('2026')= -0.1000; -p15_oghgf_minaer('2027')= -0.1000; -p15_oghgf_minaer('2028')= -0.1000; -p15_oghgf_minaer('2029')= -0.1000; -p15_oghgf_minaer('2030')= -0.1000; -p15_oghgf_minaer('2031')= -0.1000; -p15_oghgf_minaer('2032')= -0.1000; -p15_oghgf_minaer('2033')= -0.1000; -p15_oghgf_minaer('2034')= -0.1000; -p15_oghgf_minaer('2035')= -0.1000; -p15_oghgf_minaer('2036')= -0.1000; -p15_oghgf_minaer('2037')= -0.1000; -p15_oghgf_minaer('2038')= -0.1000; -p15_oghgf_minaer('2039')= -0.1000; -p15_oghgf_minaer('2040')= -0.1000; -p15_oghgf_minaer('2041')= -0.1000; -p15_oghgf_minaer('2042')= -0.1000; -p15_oghgf_minaer('2043')= -0.1000; -p15_oghgf_minaer('2044')= -0.1000; -p15_oghgf_minaer('2045')= -0.1000; -p15_oghgf_minaer('2046')= -0.1000; -p15_oghgf_minaer('2047')= -0.1000; -p15_oghgf_minaer('2048')= -0.1000; -p15_oghgf_minaer('2049')= -0.1000; -p15_oghgf_minaer('2050')= -0.1000; -p15_oghgf_minaer('2051')= -0.1000; -p15_oghgf_minaer('2052')= -0.1000; -p15_oghgf_minaer('2053')= -0.1000; -p15_oghgf_minaer('2054')= -0.1000; -p15_oghgf_minaer('2055')= -0.1000; -p15_oghgf_minaer('2056')= -0.1000; -p15_oghgf_minaer('2057')= -0.1000; -p15_oghgf_minaer('2058')= -0.1000; -p15_oghgf_minaer('2059')= -0.1000; -p15_oghgf_minaer('2060')= -0.1000; -p15_oghgf_minaer('2061')= -0.1000; -p15_oghgf_minaer('2062')= -0.1000; -p15_oghgf_minaer('2063')= -0.1000; -p15_oghgf_minaer('2064')= -0.1000; -p15_oghgf_minaer('2065')= -0.1000; -p15_oghgf_minaer('2066')= -0.1000; -p15_oghgf_minaer('2067')= -0.1000; -p15_oghgf_minaer('2068')= -0.1000; -p15_oghgf_minaer('2069')= -0.1000; -p15_oghgf_minaer('2070')= -0.1000; -p15_oghgf_minaer('2071')= -0.1000; -p15_oghgf_minaer('2072')= -0.1000; -p15_oghgf_minaer('2073')= -0.1000; -p15_oghgf_minaer('2074')= -0.1000; -p15_oghgf_minaer('2075')= -0.1000; -p15_oghgf_minaer('2076')= -0.1000; -p15_oghgf_minaer('2077')= -0.1000; -p15_oghgf_minaer('2078')= -0.1000; -p15_oghgf_minaer('2079')= -0.1000; -p15_oghgf_minaer('2080')= -0.1000; -p15_oghgf_minaer('2081')= -0.1000; -p15_oghgf_minaer('2082')= -0.1000; -p15_oghgf_minaer('2083')= -0.1000; -p15_oghgf_minaer('2084')= -0.1000; -p15_oghgf_minaer('2085')= -0.1000; -p15_oghgf_minaer('2086')= -0.1000; -p15_oghgf_minaer('2087')= -0.1000; -p15_oghgf_minaer('2088')= -0.1000; -p15_oghgf_minaer('2089')= -0.1000; -p15_oghgf_minaer('2090')= -0.1000; -p15_oghgf_minaer('2091')= -0.1000; -p15_oghgf_minaer('2092')= -0.1000; -p15_oghgf_minaer('2093')= -0.1000; -p15_oghgf_minaer('2094')= -0.1000; -p15_oghgf_minaer('2095')= -0.1000; -p15_oghgf_minaer('2096')= -0.1000; -p15_oghgf_minaer('2097')= -0.1000; -p15_oghgf_minaer('2098')= -0.1000; -p15_oghgf_minaer('2099')= -0.1000; -p15_oghgf_minaer('2100')= -0.1000; -p15_oghgf_minaer('2101')= -0.1000; -p15_oghgf_minaer('2102')= -0.1000; -p15_oghgf_minaer('2103')= -0.1000; -p15_oghgf_minaer('2104')= -0.1000; -p15_oghgf_minaer('2105')= -0.1000; -p15_oghgf_minaer('2106')= -0.1000; -p15_oghgf_minaer('2107')= -0.1000; -p15_oghgf_minaer('2108')= -0.1000; -p15_oghgf_minaer('2109')= -0.1000; -p15_oghgf_minaer('2110')= -0.1000; -p15_oghgf_minaer('2111')= -0.1000; -p15_oghgf_minaer('2112')= -0.1000; -p15_oghgf_minaer('2113')= -0.1000; -p15_oghgf_minaer('2114')= -0.1000; -p15_oghgf_minaer('2115')= -0.1000; -p15_oghgf_minaer('2116')= -0.1000; -p15_oghgf_minaer('2117')= -0.1000; -p15_oghgf_minaer('2118')= -0.1000; -p15_oghgf_minaer('2119')= -0.1000; -p15_oghgf_minaer('2120')= -0.1000; -p15_oghgf_minaer('2121')= -0.1000; -p15_oghgf_minaer('2122')= -0.1000; -p15_oghgf_minaer('2123')= -0.1000; -p15_oghgf_minaer('2124')= -0.1000; -p15_oghgf_minaer('2125')= -0.1000; -p15_oghgf_minaer('2126')= -0.1000; -p15_oghgf_minaer('2127')= -0.1000; -p15_oghgf_minaer('2128')= -0.1000; -p15_oghgf_minaer('2129')= -0.1000; -p15_oghgf_minaer('2130')= -0.1000; -p15_oghgf_minaer('2131')= -0.1000; -p15_oghgf_minaer('2132')= -0.1000; -p15_oghgf_minaer('2133')= -0.1000; -p15_oghgf_minaer('2134')= -0.1000; -p15_oghgf_minaer('2135')= -0.1000; -p15_oghgf_minaer('2136')= -0.1000; -p15_oghgf_minaer('2137')= -0.1000; -p15_oghgf_minaer('2138')= -0.1000; -p15_oghgf_minaer('2139')= -0.1000; -p15_oghgf_minaer('2140')= -0.1000; -p15_oghgf_minaer('2141')= -0.1000; -p15_oghgf_minaer('2142')= -0.1000; -p15_oghgf_minaer('2143')= -0.1000; -p15_oghgf_minaer('2144')= -0.1000; -p15_oghgf_minaer('2145')= -0.1000; -p15_oghgf_minaer('2146')= -0.1000; -p15_oghgf_minaer('2147')= -0.1000; -p15_oghgf_minaer('2148')= -0.1000; -p15_oghgf_minaer('2149')= -0.1000; -p15_oghgf_minaer('2150')= -0.1000; -p15_oghgf_nitaer('2000')= -0.0966; -p15_oghgf_nitaer('2001')= -0.0988; -p15_oghgf_nitaer('2002')= -0.0991; -p15_oghgf_nitaer('2003')= -0.0995; -p15_oghgf_nitaer('2004')= -0.0998; -p15_oghgf_nitaer('2005')= -0.1000; -p15_oghgf_nitaer('2006')= -0.0997; -p15_oghgf_nitaer('2007')= -0.0993; -p15_oghgf_nitaer('2008')= -0.0989; -p15_oghgf_nitaer('2009')= -0.0984; -p15_oghgf_nitaer('2010')= -0.0979; -p15_oghgf_nitaer('2011')= -0.0974; -p15_oghgf_nitaer('2012')= -0.0968; -p15_oghgf_nitaer('2013')= -0.0961; -p15_oghgf_nitaer('2014')= -0.0955; -p15_oghgf_nitaer('2015')= -0.0949; -p15_oghgf_nitaer('2016')= -0.0943; -p15_oghgf_nitaer('2017')= -0.0937; -p15_oghgf_nitaer('2018')= -0.0931; -p15_oghgf_nitaer('2019')= -0.0925; -p15_oghgf_nitaer('2020')= -0.0919; -p15_oghgf_nitaer('2021')= -0.0913; -p15_oghgf_nitaer('2022')= -0.0908; -p15_oghgf_nitaer('2023')= -0.0902; -p15_oghgf_nitaer('2024')= -0.0897; -p15_oghgf_nitaer('2025')= -0.0891; -p15_oghgf_nitaer('2026')= -0.0886; -p15_oghgf_nitaer('2027')= -0.0880; -p15_oghgf_nitaer('2028')= -0.0875; -p15_oghgf_nitaer('2029')= -0.0870; -p15_oghgf_nitaer('2030')= -0.0865; -p15_oghgf_nitaer('2031')= -0.0863; -p15_oghgf_nitaer('2032')= -0.0861; -p15_oghgf_nitaer('2033')= -0.0860; -p15_oghgf_nitaer('2034')= -0.0859; -p15_oghgf_nitaer('2035')= -0.0858; -p15_oghgf_nitaer('2036')= -0.0856; -p15_oghgf_nitaer('2037')= -0.0855; -p15_oghgf_nitaer('2038')= -0.0854; -p15_oghgf_nitaer('2039')= -0.0852; -p15_oghgf_nitaer('2040')= -0.0850; -p15_oghgf_nitaer('2041')= -0.0845; -p15_oghgf_nitaer('2042')= -0.0839; -p15_oghgf_nitaer('2043')= -0.0833; -p15_oghgf_nitaer('2044')= -0.0827; -p15_oghgf_nitaer('2045')= -0.0821; -p15_oghgf_nitaer('2046')= -0.0814; -p15_oghgf_nitaer('2047')= -0.0808; -p15_oghgf_nitaer('2048')= -0.0802; -p15_oghgf_nitaer('2049')= -0.0796; -p15_oghgf_nitaer('2050')= -0.0790; -p15_oghgf_nitaer('2051')= -0.0784; -p15_oghgf_nitaer('2052')= -0.0779; -p15_oghgf_nitaer('2053')= -0.0773; -p15_oghgf_nitaer('2054')= -0.0768; -p15_oghgf_nitaer('2055')= -0.0762; -p15_oghgf_nitaer('2056')= -0.0756; -p15_oghgf_nitaer('2057')= -0.0751; -p15_oghgf_nitaer('2058')= -0.0745; -p15_oghgf_nitaer('2059')= -0.0740; -p15_oghgf_nitaer('2060')= -0.0732; -p15_oghgf_nitaer('2061')= -0.0722; -p15_oghgf_nitaer('2062')= -0.0710; -p15_oghgf_nitaer('2063')= -0.0698; -p15_oghgf_nitaer('2064')= -0.0687; -p15_oghgf_nitaer('2065')= -0.0675; -p15_oghgf_nitaer('2066')= -0.0663; -p15_oghgf_nitaer('2067')= -0.0651; -p15_oghgf_nitaer('2068')= -0.0639; -p15_oghgf_nitaer('2069')= -0.0628; -p15_oghgf_nitaer('2070')= -0.0616; -p15_oghgf_nitaer('2071')= -0.0606; -p15_oghgf_nitaer('2072')= -0.0596; -p15_oghgf_nitaer('2073')= -0.0586; -p15_oghgf_nitaer('2074')= -0.0577; -p15_oghgf_nitaer('2075')= -0.0567; -p15_oghgf_nitaer('2076')= -0.0557; -p15_oghgf_nitaer('2077')= -0.0548; -p15_oghgf_nitaer('2078')= -0.0538; -p15_oghgf_nitaer('2079')= -0.0528; -p15_oghgf_nitaer('2080')= -0.0519; -p15_oghgf_nitaer('2081')= -0.0513; -p15_oghgf_nitaer('2082')= -0.0508; -p15_oghgf_nitaer('2083')= -0.0503; -p15_oghgf_nitaer('2084')= -0.0498; -p15_oghgf_nitaer('2085')= -0.0493; -p15_oghgf_nitaer('2086')= -0.0488; -p15_oghgf_nitaer('2087')= -0.0483; -p15_oghgf_nitaer('2088')= -0.0478; -p15_oghgf_nitaer('2089')= -0.0473; -p15_oghgf_nitaer('2090')= -0.0468; -p15_oghgf_nitaer('2091')= -0.0463; -p15_oghgf_nitaer('2092')= -0.0458; -p15_oghgf_nitaer('2093')= -0.0454; -p15_oghgf_nitaer('2094')= -0.0449; -p15_oghgf_nitaer('2095')= -0.0444; -p15_oghgf_nitaer('2096')= -0.0439; -p15_oghgf_nitaer('2097')= -0.0434; -p15_oghgf_nitaer('2098')= -0.0429; -p15_oghgf_nitaer('2099')= -0.0424; -p15_oghgf_nitaer('2100')= -0.0421; -p15_oghgf_nitaer('2101')= -0.0420; -p15_oghgf_nitaer('2102')= -0.0420; -p15_oghgf_nitaer('2103')= -0.0420; -p15_oghgf_nitaer('2104')= -0.0420; -p15_oghgf_nitaer('2105')= -0.0420; -p15_oghgf_nitaer('2106')= -0.0420; -p15_oghgf_nitaer('2107')= -0.0420; -p15_oghgf_nitaer('2108')= -0.0420; -p15_oghgf_nitaer('2109')= -0.0420; -p15_oghgf_nitaer('2110')= -0.0420; -p15_oghgf_nitaer('2111')= -0.0420; -p15_oghgf_nitaer('2112')= -0.0420; -p15_oghgf_nitaer('2113')= -0.0420; -p15_oghgf_nitaer('2114')= -0.0420; -p15_oghgf_nitaer('2115')= -0.0420; -p15_oghgf_nitaer('2116')= -0.0420; -p15_oghgf_nitaer('2117')= -0.0420; -p15_oghgf_nitaer('2118')= -0.0420; -p15_oghgf_nitaer('2119')= -0.0420; -p15_oghgf_nitaer('2120')= -0.0420; -p15_oghgf_nitaer('2121')= -0.0420; -p15_oghgf_nitaer('2122')= -0.0420; -p15_oghgf_nitaer('2123')= -0.0420; -p15_oghgf_nitaer('2124')= -0.0420; -p15_oghgf_nitaer('2125')= -0.0420; -p15_oghgf_nitaer('2126')= -0.0420; -p15_oghgf_nitaer('2127')= -0.0420; -p15_oghgf_nitaer('2128')= -0.0420; -p15_oghgf_nitaer('2129')= -0.0420; -p15_oghgf_nitaer('2130')= -0.0420; -p15_oghgf_nitaer('2131')= -0.0420; -p15_oghgf_nitaer('2132')= -0.0420; -p15_oghgf_nitaer('2133')= -0.0420; -p15_oghgf_nitaer('2134')= -0.0420; -p15_oghgf_nitaer('2135')= -0.0420; -p15_oghgf_nitaer('2136')= -0.0420; -p15_oghgf_nitaer('2137')= -0.0420; -p15_oghgf_nitaer('2138')= -0.0420; -p15_oghgf_nitaer('2139')= -0.0420; -p15_oghgf_nitaer('2140')= -0.0420; -p15_oghgf_nitaer('2141')= -0.0420; -p15_oghgf_nitaer('2142')= -0.0420; -p15_oghgf_nitaer('2143')= -0.0420; -p15_oghgf_nitaer('2144')= -0.0420; -p15_oghgf_nitaer('2145')= -0.0420; -p15_oghgf_nitaer('2146')= -0.0420; -p15_oghgf_nitaer('2147')= -0.0420; -p15_oghgf_nitaer('2148')= -0.0420; -p15_oghgf_nitaer('2149')= -0.0420; -p15_oghgf_nitaer('2150')= -0.0420; -p15_oghgf_crbbb('2000')= 0.0236; -p15_oghgf_crbbb('2001')= 0.0228; -p15_oghgf_crbbb('2002')= 0.0249; -p15_oghgf_crbbb('2003')= 0.0269; -p15_oghgf_crbbb('2004')= 0.0290; -p15_oghgf_crbbb('2005')= 0.0304; -p15_oghgf_crbbb('2006')= 0.0307; -p15_oghgf_crbbb('2007')= 0.0303; -p15_oghgf_crbbb('2008')= 0.0300; -p15_oghgf_crbbb('2009')= 0.0296; -p15_oghgf_crbbb('2010')= 0.0294; -p15_oghgf_crbbb('2011')= 0.0294; -p15_oghgf_crbbb('2012')= 0.0295; -p15_oghgf_crbbb('2013')= 0.0295; -p15_oghgf_crbbb('2014')= 0.0296; -p15_oghgf_crbbb('2015')= 0.0297; -p15_oghgf_crbbb('2016')= 0.0298; -p15_oghgf_crbbb('2017')= 0.0299; -p15_oghgf_crbbb('2018')= 0.0299; -p15_oghgf_crbbb('2019')= 0.0300; -p15_oghgf_crbbb('2020')= 0.0304; -p15_oghgf_crbbb('2021')= 0.0312; -p15_oghgf_crbbb('2022')= 0.0323; -p15_oghgf_crbbb('2023')= 0.0333; -p15_oghgf_crbbb('2024')= 0.0344; -p15_oghgf_crbbb('2025')= 0.0355; -p15_oghgf_crbbb('2026')= 0.0366; -p15_oghgf_crbbb('2027')= 0.0377; -p15_oghgf_crbbb('2028')= 0.0387; -p15_oghgf_crbbb('2029')= 0.0398; -p15_oghgf_crbbb('2030')= 0.0404; -p15_oghgf_crbbb('2031')= 0.0401; -p15_oghgf_crbbb('2032')= 0.0393; -p15_oghgf_crbbb('2033')= 0.0385; -p15_oghgf_crbbb('2034')= 0.0378; -p15_oghgf_crbbb('2035')= 0.0370; -p15_oghgf_crbbb('2036')= 0.0362; -p15_oghgf_crbbb('2037')= 0.0354; -p15_oghgf_crbbb('2038')= 0.0347; -p15_oghgf_crbbb('2039')= 0.0339; -p15_oghgf_crbbb('2040')= 0.0333; -p15_oghgf_crbbb('2041')= 0.0332; -p15_oghgf_crbbb('2042')= 0.0332; -p15_oghgf_crbbb('2043')= 0.0333; -p15_oghgf_crbbb('2044')= 0.0333; -p15_oghgf_crbbb('2045')= 0.0334; -p15_oghgf_crbbb('2046')= 0.0335; -p15_oghgf_crbbb('2047')= 0.0335; -p15_oghgf_crbbb('2048')= 0.0336; -p15_oghgf_crbbb('2049')= 0.0337; -p15_oghgf_crbbb('2050')= 0.0333; -p15_oghgf_crbbb('2051')= 0.0323; -p15_oghgf_crbbb('2052')= 0.0309; -p15_oghgf_crbbb('2053')= 0.0295; -p15_oghgf_crbbb('2054')= 0.0281; -p15_oghgf_crbbb('2055')= 0.0267; -p15_oghgf_crbbb('2056')= 0.0253; -p15_oghgf_crbbb('2057')= 0.0239; -p15_oghgf_crbbb('2058')= 0.0224; -p15_oghgf_crbbb('2059')= 0.0210; -p15_oghgf_crbbb('2060')= 0.0201; -p15_oghgf_crbbb('2061')= 0.0201; -p15_oghgf_crbbb('2062')= 0.0207; -p15_oghgf_crbbb('2063')= 0.0212; -p15_oghgf_crbbb('2064')= 0.0217; -p15_oghgf_crbbb('2065')= 0.0222; -p15_oghgf_crbbb('2066')= 0.0227; -p15_oghgf_crbbb('2067')= 0.0232; -p15_oghgf_crbbb('2068')= 0.0238; -p15_oghgf_crbbb('2069')= 0.0243; -p15_oghgf_crbbb('2070')= 0.0247; -p15_oghgf_crbbb('2071')= 0.0248; -p15_oghgf_crbbb('2072')= 0.0248; -p15_oghgf_crbbb('2073')= 0.0249; -p15_oghgf_crbbb('2074')= 0.0249; -p15_oghgf_crbbb('2075')= 0.0249; -p15_oghgf_crbbb('2076')= 0.0249; -p15_oghgf_crbbb('2077')= 0.0249; -p15_oghgf_crbbb('2078')= 0.0250; -p15_oghgf_crbbb('2079')= 0.0250; -p15_oghgf_crbbb('2080')= 0.0248; -p15_oghgf_crbbb('2081')= 0.0243; -p15_oghgf_crbbb('2082')= 0.0235; -p15_oghgf_crbbb('2083')= 0.0228; -p15_oghgf_crbbb('2084')= 0.0220; -p15_oghgf_crbbb('2085')= 0.0213; -p15_oghgf_crbbb('2086')= 0.0206; -p15_oghgf_crbbb('2087')= 0.0198; -p15_oghgf_crbbb('2088')= 0.0191; -p15_oghgf_crbbb('2089')= 0.0183; -p15_oghgf_crbbb('2090')= 0.0177; -p15_oghgf_crbbb('2091')= 0.0173; -p15_oghgf_crbbb('2092')= 0.0170; -p15_oghgf_crbbb('2093')= 0.0167; -p15_oghgf_crbbb('2094')= 0.0164; -p15_oghgf_crbbb('2095')= 0.0161; -p15_oghgf_crbbb('2096')= 0.0158; -p15_oghgf_crbbb('2097')= 0.0155; -p15_oghgf_crbbb('2098')= 0.0152; -p15_oghgf_crbbb('2099')= 0.0150; -p15_oghgf_crbbb('2100')= 0.0147; -p15_oghgf_crbbb('2101')= 0.0147; -p15_oghgf_crbbb('2102')= 0.0147; -p15_oghgf_crbbb('2103')= 0.0147; -p15_oghgf_crbbb('2104')= 0.0147; -p15_oghgf_crbbb('2105')= 0.0147; -p15_oghgf_crbbb('2106')= 0.0147; -p15_oghgf_crbbb('2107')= 0.0147; -p15_oghgf_crbbb('2108')= 0.0147; -p15_oghgf_crbbb('2109')= 0.0147; -p15_oghgf_crbbb('2110')= 0.0147; -p15_oghgf_crbbb('2111')= 0.0147; -p15_oghgf_crbbb('2112')= 0.0147; -p15_oghgf_crbbb('2113')= 0.0147; -p15_oghgf_crbbb('2114')= 0.0147; -p15_oghgf_crbbb('2115')= 0.0147; -p15_oghgf_crbbb('2116')= 0.0147; -p15_oghgf_crbbb('2117')= 0.0147; -p15_oghgf_crbbb('2118')= 0.0147; -p15_oghgf_crbbb('2119')= 0.0147; -p15_oghgf_crbbb('2120')= 0.0147; -p15_oghgf_crbbb('2121')= 0.0147; -p15_oghgf_crbbb('2122')= 0.0147; -p15_oghgf_crbbb('2123')= 0.0147; -p15_oghgf_crbbb('2124')= 0.0147; -p15_oghgf_crbbb('2125')= 0.0147; -p15_oghgf_crbbb('2126')= 0.0147; -p15_oghgf_crbbb('2127')= 0.0147; -p15_oghgf_crbbb('2128')= 0.0147; -p15_oghgf_crbbb('2129')= 0.0147; -p15_oghgf_crbbb('2130')= 0.0147; -p15_oghgf_crbbb('2131')= 0.0147; -p15_oghgf_crbbb('2132')= 0.0147; -p15_oghgf_crbbb('2133')= 0.0147; -p15_oghgf_crbbb('2134')= 0.0147; -p15_oghgf_crbbb('2135')= 0.0147; -p15_oghgf_crbbb('2136')= 0.0147; -p15_oghgf_crbbb('2137')= 0.0147; -p15_oghgf_crbbb('2138')= 0.0147; -p15_oghgf_crbbb('2139')= 0.0147; -p15_oghgf_crbbb('2140')= 0.0147; -p15_oghgf_crbbb('2141')= 0.0147; -p15_oghgf_crbbb('2142')= 0.0147; -p15_oghgf_crbbb('2143')= 0.0147; -p15_oghgf_crbbb('2144')= 0.0147; -p15_oghgf_crbbb('2145')= 0.0147; -p15_oghgf_crbbb('2146')= 0.0147; -p15_oghgf_crbbb('2147')= 0.0147; -p15_oghgf_crbbb('2148')= 0.0147; -p15_oghgf_crbbb('2149')= 0.0147; -p15_oghgf_crbbb('2150')= 0.0147; -p15_oghgf_ffbc('2000')= 0.1870; -p15_oghgf_ffbc('2001')= 0.1894; -p15_oghgf_ffbc('2002')= 0.1938; -p15_oghgf_ffbc('2003')= 0.1968; -p15_oghgf_ffbc('2004')= 0.1989; -p15_oghgf_ffbc('2005')= 0.2004; -p15_oghgf_ffbc('2006')= 0.2006; -p15_oghgf_ffbc('2007')= 0.2001; -p15_oghgf_ffbc('2008')= 0.1996; -p15_oghgf_ffbc('2009')= 0.1991; -p15_oghgf_ffbc('2010')= 0.1984; -p15_oghgf_ffbc('2011')= 0.1975; -p15_oghgf_ffbc('2012')= 0.1965; -p15_oghgf_ffbc('2013')= 0.1955; -p15_oghgf_ffbc('2014')= 0.1945; -p15_oghgf_ffbc('2015')= 0.1935; -p15_oghgf_ffbc('2016')= 0.1924; -p15_oghgf_ffbc('2017')= 0.1914; -p15_oghgf_ffbc('2018')= 0.1904; -p15_oghgf_ffbc('2019')= 0.1894; -p15_oghgf_ffbc('2020')= 0.1885; -p15_oghgf_ffbc('2021')= 0.1878; -p15_oghgf_ffbc('2022')= 0.1872; -p15_oghgf_ffbc('2023')= 0.1866; -p15_oghgf_ffbc('2024')= 0.1861; -p15_oghgf_ffbc('2025')= 0.1855; -p15_oghgf_ffbc('2026')= 0.1849; -p15_oghgf_ffbc('2027')= 0.1843; -p15_oghgf_ffbc('2028')= 0.1838; -p15_oghgf_ffbc('2029')= 0.1832; -p15_oghgf_ffbc('2030')= 0.1827; -p15_oghgf_ffbc('2031')= 0.1824; -p15_oghgf_ffbc('2032')= 0.1822; -p15_oghgf_ffbc('2033')= 0.1819; -p15_oghgf_ffbc('2034')= 0.1817; -p15_oghgf_ffbc('2035')= 0.1815; -p15_oghgf_ffbc('2036')= 0.1812; -p15_oghgf_ffbc('2037')= 0.1810; -p15_oghgf_ffbc('2038')= 0.1808; -p15_oghgf_ffbc('2039')= 0.1805; -p15_oghgf_ffbc('2040')= 0.1801; -p15_oghgf_ffbc('2041')= 0.1795; -p15_oghgf_ffbc('2042')= 0.1787; -p15_oghgf_ffbc('2043')= 0.1778; -p15_oghgf_ffbc('2044')= 0.1770; -p15_oghgf_ffbc('2045')= 0.1762; -p15_oghgf_ffbc('2046')= 0.1754; -p15_oghgf_ffbc('2047')= 0.1746; -p15_oghgf_ffbc('2048')= 0.1738; -p15_oghgf_ffbc('2049')= 0.1730; -p15_oghgf_ffbc('2050')= 0.1720; -p15_oghgf_ffbc('2051')= 0.1705; -p15_oghgf_ffbc('2052')= 0.1689; -p15_oghgf_ffbc('2053')= 0.1673; -p15_oghgf_ffbc('2054')= 0.1657; -p15_oghgf_ffbc('2055')= 0.1641; -p15_oghgf_ffbc('2056')= 0.1625; -p15_oghgf_ffbc('2057')= 0.1609; -p15_oghgf_ffbc('2058')= 0.1593; -p15_oghgf_ffbc('2059')= 0.1577; -p15_oghgf_ffbc('2060')= 0.1560; -p15_oghgf_ffbc('2061')= 0.1541; -p15_oghgf_ffbc('2062')= 0.1521; -p15_oghgf_ffbc('2063')= 0.1501; -p15_oghgf_ffbc('2064')= 0.1481; -p15_oghgf_ffbc('2065')= 0.1461; -p15_oghgf_ffbc('2066')= 0.1441; -p15_oghgf_ffbc('2067')= 0.1422; -p15_oghgf_ffbc('2068')= 0.1402; -p15_oghgf_ffbc('2069')= 0.1382; -p15_oghgf_ffbc('2070')= 0.1363; -p15_oghgf_ffbc('2071')= 0.1346; -p15_oghgf_ffbc('2072')= 0.1331; -p15_oghgf_ffbc('2073')= 0.1316; -p15_oghgf_ffbc('2074')= 0.1301; -p15_oghgf_ffbc('2075')= 0.1285; -p15_oghgf_ffbc('2076')= 0.1270; -p15_oghgf_ffbc('2077')= 0.1255; -p15_oghgf_ffbc('2078')= 0.1239; -p15_oghgf_ffbc('2079')= 0.1224; -p15_oghgf_ffbc('2080')= 0.1210; -p15_oghgf_ffbc('2081')= 0.1198; -p15_oghgf_ffbc('2082')= 0.1186; -p15_oghgf_ffbc('2083')= 0.1175; -p15_oghgf_ffbc('2084')= 0.1164; -p15_oghgf_ffbc('2085')= 0.1152; -p15_oghgf_ffbc('2086')= 0.1141; -p15_oghgf_ffbc('2087')= 0.1130; -p15_oghgf_ffbc('2088')= 0.1118; -p15_oghgf_ffbc('2089')= 0.1107; -p15_oghgf_ffbc('2090')= 0.1097; -p15_oghgf_ffbc('2091')= 0.1088; -p15_oghgf_ffbc('2092')= 0.1080; -p15_oghgf_ffbc('2093')= 0.1072; -p15_oghgf_ffbc('2094')= 0.1065; -p15_oghgf_ffbc('2095')= 0.1057; -p15_oghgf_ffbc('2096')= 0.1049; -p15_oghgf_ffbc('2097')= 0.1041; -p15_oghgf_ffbc('2098')= 0.1034; -p15_oghgf_ffbc('2099')= 0.1026; -p15_oghgf_ffbc('2100')= 0.1020; -p15_oghgf_ffbc('2101')= 0.1018; -p15_oghgf_ffbc('2102')= 0.1018; -p15_oghgf_ffbc('2103')= 0.1018; -p15_oghgf_ffbc('2104')= 0.1018; -p15_oghgf_ffbc('2105')= 0.1018; -p15_oghgf_ffbc('2106')= 0.1018; -p15_oghgf_ffbc('2107')= 0.1018; -p15_oghgf_ffbc('2108')= 0.1018; -p15_oghgf_ffbc('2109')= 0.1018; -p15_oghgf_ffbc('2110')= 0.1018; -p15_oghgf_ffbc('2111')= 0.1018; -p15_oghgf_ffbc('2112')= 0.1018; -p15_oghgf_ffbc('2113')= 0.1018; -p15_oghgf_ffbc('2114')= 0.1018; -p15_oghgf_ffbc('2115')= 0.1018; -p15_oghgf_ffbc('2116')= 0.1018; -p15_oghgf_ffbc('2117')= 0.1018; -p15_oghgf_ffbc('2118')= 0.1018; -p15_oghgf_ffbc('2119')= 0.1018; -p15_oghgf_ffbc('2120')= 0.1018; -p15_oghgf_ffbc('2121')= 0.1018; -p15_oghgf_ffbc('2122')= 0.1018; -p15_oghgf_ffbc('2123')= 0.1018; -p15_oghgf_ffbc('2124')= 0.1018; -p15_oghgf_ffbc('2125')= 0.1018; -p15_oghgf_ffbc('2126')= 0.1018; -p15_oghgf_ffbc('2127')= 0.1018; -p15_oghgf_ffbc('2128')= 0.1018; -p15_oghgf_ffbc('2129')= 0.1018; -p15_oghgf_ffbc('2130')= 0.1018; -p15_oghgf_ffbc('2131')= 0.1018; -p15_oghgf_ffbc('2132')= 0.1018; -p15_oghgf_ffbc('2133')= 0.1018; -p15_oghgf_ffbc('2134')= 0.1018; -p15_oghgf_ffbc('2135')= 0.1018; -p15_oghgf_ffbc('2136')= 0.1018; -p15_oghgf_ffbc('2137')= 0.1018; -p15_oghgf_ffbc('2138')= 0.1018; -p15_oghgf_ffbc('2139')= 0.1018; -p15_oghgf_ffbc('2140')= 0.1018; -p15_oghgf_ffbc('2141')= 0.1018; -p15_oghgf_ffbc('2142')= 0.1018; -p15_oghgf_ffbc('2143')= 0.1018; -p15_oghgf_ffbc('2144')= 0.1018; -p15_oghgf_ffbc('2145')= 0.1018; -p15_oghgf_ffbc('2146')= 0.1018; -p15_oghgf_ffbc('2147')= 0.1018; -p15_oghgf_ffbc('2148')= 0.1018; -p15_oghgf_ffbc('2149')= 0.1018; -p15_oghgf_ffbc('2150')= 0.1018; -p15_oghgf_ffoc('2000')= -0.0467; -p15_oghgf_ffoc('2001')= -0.0478; -p15_oghgf_ffoc('2002')= -0.0490; -p15_oghgf_ffoc('2003')= -0.0497; -p15_oghgf_ffoc('2004')= -0.0499; -p15_oghgf_ffoc('2005')= -0.0500; -p15_oghgf_ffoc('2006')= -0.0501; -p15_oghgf_ffoc('2007')= -0.0500; -p15_oghgf_ffoc('2008')= -0.0500; -p15_oghgf_ffoc('2009')= -0.0499; -p15_oghgf_ffoc('2010')= -0.0499; -p15_oghgf_ffoc('2011')= -0.0498; -p15_oghgf_ffoc('2012')= -0.0498; -p15_oghgf_ffoc('2013')= -0.0498; -p15_oghgf_ffoc('2014')= -0.0498; -p15_oghgf_ffoc('2015')= -0.0498; -p15_oghgf_ffoc('2016')= -0.0498; -p15_oghgf_ffoc('2017')= -0.0497; -p15_oghgf_ffoc('2018')= -0.0497; -p15_oghgf_ffoc('2019')= -0.0497; -p15_oghgf_ffoc('2020')= -0.0497; -p15_oghgf_ffoc('2021')= -0.0497; -p15_oghgf_ffoc('2022')= -0.0496; -p15_oghgf_ffoc('2023')= -0.0496; -p15_oghgf_ffoc('2024')= -0.0496; -p15_oghgf_ffoc('2025')= -0.0496; -p15_oghgf_ffoc('2026')= -0.0496; -p15_oghgf_ffoc('2027')= -0.0495; -p15_oghgf_ffoc('2028')= -0.0495; -p15_oghgf_ffoc('2029')= -0.0495; -p15_oghgf_ffoc('2030')= -0.0495; -p15_oghgf_ffoc('2031')= -0.0496; -p15_oghgf_ffoc('2032')= -0.0496; -p15_oghgf_ffoc('2033')= -0.0497; -p15_oghgf_ffoc('2034')= -0.0498; -p15_oghgf_ffoc('2035')= -0.0499; -p15_oghgf_ffoc('2036')= -0.0500; -p15_oghgf_ffoc('2037')= -0.0500; -p15_oghgf_ffoc('2038')= -0.0501; -p15_oghgf_ffoc('2039')= -0.0502; -p15_oghgf_ffoc('2040')= -0.0503; -p15_oghgf_ffoc('2041')= -0.0503; -p15_oghgf_ffoc('2042')= -0.0503; -p15_oghgf_ffoc('2043')= -0.0504; -p15_oghgf_ffoc('2044')= -0.0504; -p15_oghgf_ffoc('2045')= -0.0504; -p15_oghgf_ffoc('2046')= -0.0504; -p15_oghgf_ffoc('2047')= -0.0505; -p15_oghgf_ffoc('2048')= -0.0505; -p15_oghgf_ffoc('2049')= -0.0505; -p15_oghgf_ffoc('2050')= -0.0505; -p15_oghgf_ffoc('2051')= -0.0504; -p15_oghgf_ffoc('2052')= -0.0503; -p15_oghgf_ffoc('2053')= -0.0502; -p15_oghgf_ffoc('2054')= -0.0500; -p15_oghgf_ffoc('2055')= -0.0499; -p15_oghgf_ffoc('2056')= -0.0498; -p15_oghgf_ffoc('2057')= -0.0496; -p15_oghgf_ffoc('2058')= -0.0495; -p15_oghgf_ffoc('2059')= -0.0494; -p15_oghgf_ffoc('2060')= -0.0492; -p15_oghgf_ffoc('2061')= -0.0490; -p15_oghgf_ffoc('2062')= -0.0488; -p15_oghgf_ffoc('2063')= -0.0486; -p15_oghgf_ffoc('2064')= -0.0484; -p15_oghgf_ffoc('2065')= -0.0482; -p15_oghgf_ffoc('2066')= -0.0480; -p15_oghgf_ffoc('2067')= -0.0478; -p15_oghgf_ffoc('2068')= -0.0476; -p15_oghgf_ffoc('2069')= -0.0474; -p15_oghgf_ffoc('2070')= -0.0472; -p15_oghgf_ffoc('2071')= -0.0471; -p15_oghgf_ffoc('2072')= -0.0469; -p15_oghgf_ffoc('2073')= -0.0468; -p15_oghgf_ffoc('2074')= -0.0466; -p15_oghgf_ffoc('2075')= -0.0465; -p15_oghgf_ffoc('2076')= -0.0464; -p15_oghgf_ffoc('2077')= -0.0462; -p15_oghgf_ffoc('2078')= -0.0461; -p15_oghgf_ffoc('2079')= -0.0459; -p15_oghgf_ffoc('2080')= -0.0458; -p15_oghgf_ffoc('2081')= -0.0457; -p15_oghgf_ffoc('2082')= -0.0456; -p15_oghgf_ffoc('2083')= -0.0455; -p15_oghgf_ffoc('2084')= -0.0454; -p15_oghgf_ffoc('2085')= -0.0453; -p15_oghgf_ffoc('2086')= -0.0452; -p15_oghgf_ffoc('2087')= -0.0451; -p15_oghgf_ffoc('2088')= -0.0450; -p15_oghgf_ffoc('2089')= -0.0449; -p15_oghgf_ffoc('2090')= -0.0448; -p15_oghgf_ffoc('2091')= -0.0447; -p15_oghgf_ffoc('2092')= -0.0447; -p15_oghgf_ffoc('2093')= -0.0446; -p15_oghgf_ffoc('2094')= -0.0445; -p15_oghgf_ffoc('2095')= -0.0444; -p15_oghgf_ffoc('2096')= -0.0444; -p15_oghgf_ffoc('2097')= -0.0443; -p15_oghgf_ffoc('2098')= -0.0442; -p15_oghgf_ffoc('2099')= -0.0442; -p15_oghgf_ffoc('2100')= -0.0441; -p15_oghgf_ffoc('2101')= -0.0441; -p15_oghgf_ffoc('2102')= -0.0441; -p15_oghgf_ffoc('2103')= -0.0441; -p15_oghgf_ffoc('2104')= -0.0441; -p15_oghgf_ffoc('2105')= -0.0441; -p15_oghgf_ffoc('2106')= -0.0441; -p15_oghgf_ffoc('2107')= -0.0441; -p15_oghgf_ffoc('2108')= -0.0441; -p15_oghgf_ffoc('2109')= -0.0441; -p15_oghgf_ffoc('2110')= -0.0441; -p15_oghgf_ffoc('2111')= -0.0441; -p15_oghgf_ffoc('2112')= -0.0441; -p15_oghgf_ffoc('2113')= -0.0441; -p15_oghgf_ffoc('2114')= -0.0441; -p15_oghgf_ffoc('2115')= -0.0441; -p15_oghgf_ffoc('2116')= -0.0441; -p15_oghgf_ffoc('2117')= -0.0441; -p15_oghgf_ffoc('2118')= -0.0441; -p15_oghgf_ffoc('2119')= -0.0441; -p15_oghgf_ffoc('2120')= -0.0441; -p15_oghgf_ffoc('2121')= -0.0441; -p15_oghgf_ffoc('2122')= -0.0441; -p15_oghgf_ffoc('2123')= -0.0441; -p15_oghgf_ffoc('2124')= -0.0441; -p15_oghgf_ffoc('2125')= -0.0441; -p15_oghgf_ffoc('2126')= -0.0441; -p15_oghgf_ffoc('2127')= -0.0441; -p15_oghgf_ffoc('2128')= -0.0441; -p15_oghgf_ffoc('2129')= -0.0441; -p15_oghgf_ffoc('2130')= -0.0441; -p15_oghgf_ffoc('2131')= -0.0441; -p15_oghgf_ffoc('2132')= -0.0441; -p15_oghgf_ffoc('2133')= -0.0441; -p15_oghgf_ffoc('2134')= -0.0441; -p15_oghgf_ffoc('2135')= -0.0441; -p15_oghgf_ffoc('2136')= -0.0441; -p15_oghgf_ffoc('2137')= -0.0441; -p15_oghgf_ffoc('2138')= -0.0441; -p15_oghgf_ffoc('2139')= -0.0441; -p15_oghgf_ffoc('2140')= -0.0441; -p15_oghgf_ffoc('2141')= -0.0441; -p15_oghgf_ffoc('2142')= -0.0441; -p15_oghgf_ffoc('2143')= -0.0441; -p15_oghgf_ffoc('2144')= -0.0441; -p15_oghgf_ffoc('2145')= -0.0441; -p15_oghgf_ffoc('2146')= -0.0441; -p15_oghgf_ffoc('2147')= -0.0441; -p15_oghgf_ffoc('2148')= -0.0441; -p15_oghgf_ffoc('2149')= -0.0441; -p15_oghgf_ffoc('2150')= -0.0441; -*** EOF ./modules/15_climate/magicc/input/data_oghgf_rcp6.inc diff --git a/modules/15_climate/magicc/input/pm_emicapglob.inc b/modules/15_climate/magicc/input/pm_emicapglob.inc deleted file mode 100644 index 41b665edd..000000000 --- a/modules/15_climate/magicc/input/pm_emicapglob.inc +++ /dev/null @@ -1,33 +0,0 @@ -*** SOF ./modules/15_climate/magicc/input/p15_emicapglob.inc -pm_emicapglob("2005") = 7.471 ; -pm_emicapglob("2010") = 8.04 ; -pm_emicapglob("2015") = 7.557 ; -pm_emicapglob("2020") = 7.07 ; -pm_emicapglob("2025") = 6.189 ; -pm_emicapglob("2030") = 5.31 ; -pm_emicapglob("2035") = 4.904 ; -pm_emicapglob("2040") = 4.50 ; -pm_emicapglob("2045") = 4.053 ; -pm_emicapglob("2050") = 3.61 ; -pm_emicapglob("2055") = 3.252 ; -pm_emicapglob("2060") = 2.90 ; -pm_emicapglob("2065") = 2.641 ; -pm_emicapglob("2070") = 2.38 ; -pm_emicapglob("2075") = 2.065 ; -pm_emicapglob("2080") = 1.75 ; -pm_emicapglob("2085") = 1.497 ; -pm_emicapglob("2090") = 1.25 ; -pm_emicapglob("2095") = 1.091 ; -pm_emicapglob("2100") = 0.93 ; -pm_emicapglob("2105") = 0.872 ; -pm_emicapglob("2110") = 0.81 ; -pm_emicapglob("2115") = 0.802 ; -pm_emicapglob("2120") = 0.79 ; -pm_emicapglob("2125") = 0.806 ; -pm_emicapglob("2130") = 0.82 ; -pm_emicapglob("2135") = 0.844 ; -pm_emicapglob("2140") = 0.87 ; -pm_emicapglob("2145") = 0.897 ; -pm_emicapglob("2150") = 0.93 ; - -*** EOF ./modules/15_climate/magicc/input/p15_emicapglob.inc diff --git a/modules/15_climate/magicc/input/pm_emicapglob_450.inc b/modules/15_climate/magicc/input/pm_emicapglob_450.inc deleted file mode 100644 index 68b3dd90e..000000000 --- a/modules/15_climate/magicc/input/pm_emicapglob_450.inc +++ /dev/null @@ -1,33 +0,0 @@ -*** SOF ./modules/15_climate/magicc/input/p15_emicapglob_450.inc -pm_emicapglob("2005") = 7.471 ; -pm_emicapglob("2010") = 8.373 ; -pm_emicapglob("2015") = 8.698 ; -pm_emicapglob("2020") = 8.360 ; -pm_emicapglob("2025") = 7.508 ; -pm_emicapglob("2030") = 6.559 ; -pm_emicapglob("2035") = 5.743 ; -pm_emicapglob("2040") = 4.861 ; -pm_emicapglob("2045") = 4.014 ; -pm_emicapglob("2050") = 3.499 ; -pm_emicapglob("2055") = 3.058 ; -pm_emicapglob("2060") = 2.704 ; -pm_emicapglob("2065") = 2.479 ; -pm_emicapglob("2070") = 2.114 ; -pm_emicapglob("2075") = 1.880 ; -pm_emicapglob("2080") = 1.603 ; -pm_emicapglob("2085") = 1.383 ; -pm_emicapglob("2090") = 1.206 ; -pm_emicapglob("2095") = 1.050 ; -pm_emicapglob("2100") = 0.938 ; -pm_emicapglob("2105") = 0.938 ; -pm_emicapglob("2110") = 0.938 ; -pm_emicapglob("2115") = 0.938 ; -pm_emicapglob("2120") = 0.938 ; -pm_emicapglob("2125") = 0.938 ; -pm_emicapglob("2130") = 0.938 ; -pm_emicapglob("2135") = 0.938 ; -pm_emicapglob("2140") = 0.938 ; -pm_emicapglob("2145") = 0.938 ; -pm_emicapglob("2150") = 0.938 ; - -*** EOF ./modules/15_climate/magicc/input/p15_emicapglob_450.inc diff --git a/modules/15_climate/magicc/input/pm_emicapglob_550.inc b/modules/15_climate/magicc/input/pm_emicapglob_550.inc deleted file mode 100644 index 18e7c2a59..000000000 --- a/modules/15_climate/magicc/input/pm_emicapglob_550.inc +++ /dev/null @@ -1,33 +0,0 @@ -*** SOF ./modules/15_climate/magicc/input/p15_emicapglob_550.inc -pm_emicapglob("2005") = 7.471 ; -pm_emicapglob("2010") = 9.323; -pm_emicapglob("2015") = 9.895; -pm_emicapglob("2020") = 9.623; -pm_emicapglob("2025") = 8.987; -pm_emicapglob("2030") = 8.120; -pm_emicapglob("2035") = 7.222; -pm_emicapglob("2040") = 6.358; -pm_emicapglob("2045") = 5.789; -pm_emicapglob("2050") = 5.337; -pm_emicapglob("2055") = 5.042; -pm_emicapglob("2060") = 4.937; -pm_emicapglob("2065") = 4.824; -pm_emicapglob("2070") = 4.599; -pm_emicapglob("2075") = 4.370; -pm_emicapglob("2080") = 4.179; -pm_emicapglob("2085") = 3.998; -pm_emicapglob("2090") = 3.831; -pm_emicapglob("2095") = 3.667; -pm_emicapglob("2100") = 3.548; -pm_emicapglob("2105") = 3.548; -pm_emicapglob("2110") = 3.548; -pm_emicapglob("2115") = 3.548; -pm_emicapglob("2120") = 3.548; -pm_emicapglob("2125") = 3.548; -pm_emicapglob("2130") = 3.548; -pm_emicapglob("2135") = 3.548; -pm_emicapglob("2140") = 3.548; -pm_emicapglob("2145") = 3.548; -pm_emicapglob("2150") = 3.548; - -*** EOF ./modules/15_climate/magicc/input/p15_emicapglob_550.inc diff --git a/modules/15_climate/magicc/input/pm_emicapglob_multigas.inc b/modules/15_climate/magicc/input/pm_emicapglob_multigas.inc deleted file mode 100644 index e107cd4e4..000000000 --- a/modules/15_climate/magicc/input/pm_emicapglob_multigas.inc +++ /dev/null @@ -1,23 +0,0 @@ -*** SOF ./modules/15_climate/magicc/input/p15_emicapglob_multigas.inc - -pm_emicapglob("2005") = 12.38918182 ; -pm_emicapglob("2010") = 14.06590909 ; -pm_emicapglob("2015") = 14.96672727 ; -pm_emicapglob("2020") = 15.02154545 ; -pm_emicapglob("2025") = 14.92990909; -pm_emicapglob("2030") = 14.69432727 ; -pm_emicapglob("2035") = 14.28027273; -pm_emicapglob("2040") = 13.48838182; -pm_emicapglob("2045") = 12.20214545 ; -pm_emicapglob("2050") = 10.34869091 ; -pm_emicapglob("2055") = 8.636018182 ; -pm_emicapglob("2060") = 7.556209091 ; -pm_emicapglob("2070") = 6.258954545 ; -pm_emicapglob("2080") = 5.356915091 ; -pm_emicapglob("2090") = 4.749591818 ; -pm_emicapglob("2100") = 4.378516364 ; -pm_emicapglob("2110") = 4.055814545 ; -pm_emicapglob("2130") = 3.373385455 ; -pm_emicapglob("2150") = 2.979987273 ; - -*** EOF ./modules/15_climate/magicc/input/p15_emicapglob_multigas.inc diff --git a/modules/15_climate/magicc/input/pm_emicapglob_multigas_450.inc b/modules/15_climate/magicc/input/pm_emicapglob_multigas_450.inc deleted file mode 100644 index f50ad2731..000000000 --- a/modules/15_climate/magicc/input/pm_emicapglob_multigas_450.inc +++ /dev/null @@ -1,22 +0,0 @@ -*** SOF ./modules/15_climate/magicc/input/p15_emicapglob_multigas_450.inc -pm_emicapglob("2005") = 12.78726676 ; -pm_emicapglob("2010") = 13.56139788 ; -pm_emicapglob("2015") = 12.64444789 ; -pm_emicapglob("2020") = 12.08162074 ; -pm_emicapglob("2025") = 11.99181609 ; -pm_emicapglob("2030") = 11.59701255 ; -pm_emicapglob("2035") = 10.99445829 ; -pm_emicapglob("2040") = 10.16428704 ; -pm_emicapglob("2045") = 9.136187815 ; -pm_emicapglob("2050") = 8.034251615 ; -pm_emicapglob("2055") = 7.216856449 ; -pm_emicapglob("2060") = 5.636779845 ; -pm_emicapglob("2070") = 3.483442352 ; -pm_emicapglob("2080") = 1.491636921 ; -pm_emicapglob("2090") = 0.003971297 ; -pm_emicapglob("2100") = -0.873401388 ; -pm_emicapglob("2110") = 1.138396946 ; -pm_emicapglob("2130") = 0.663214477 ; -pm_emicapglob("2150") = 0.580676323 ; - -*** EOF ./modules/15_climate/magicc/input/p15_emicapglob_multigas_450.inc diff --git a/modules/15_climate/magicc/input/pm_emicapglob_multigas_550.inc b/modules/15_climate/magicc/input/pm_emicapglob_multigas_550.inc deleted file mode 100644 index 13b715790..000000000 --- a/modules/15_climate/magicc/input/pm_emicapglob_multigas_550.inc +++ /dev/null @@ -1,22 +0,0 @@ -*** SOF ./modules/15_climate/magicc/input/p15_emicapglob_multigas_550.inc -pm_emicapglob("2005") = 12.38918182 ; -pm_emicapglob("2010") = 14.06590909 ; -pm_emicapglob("2015") = 14.96672727 ; -pm_emicapglob("2020") = 15.02154545 ; -pm_emicapglob("2025") = 14.92990909; -pm_emicapglob("2030") = 14.69432727 ; -pm_emicapglob("2035") = 14.28027273; -pm_emicapglob("2040") = 13.48838182; -pm_emicapglob("2045") = 12.20214545 ; -pm_emicapglob("2050") = 10.34869091 ; -pm_emicapglob("2055") = 8.636018182 ; -pm_emicapglob("2060") = 7.556209091 ; -pm_emicapglob("2070") = 6.258954545 ; -pm_emicapglob("2080") = 5.356915091 ; -pm_emicapglob("2090") = 4.749591818 ; -pm_emicapglob("2100") = 4.378516364 ; -pm_emicapglob("2110") = 4.055814545 ; -pm_emicapglob("2130") = 3.373385455 ; -pm_emicapglob("2150") = 2.979987273 ; - -*** EOF ./modules/15_climate/magicc/input/p15_emicapglob_multigas_550.inc diff --git a/modules/15_climate/magicc/not_used.txt b/modules/15_climate/magicc/not_used.txt deleted file mode 100644 index d903c6839..000000000 --- a/modules/15_climate/magicc/not_used.txt +++ /dev/null @@ -1,7 +0,0 @@ -# | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) -# | authors, and contributors see CITATION.cff file. This file is part -# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -# | AGPL-3.0, you are granted additional permissions described in the -# | REMIND License Exception, version 1.0 (see LICENSE file). -# | Contact: remind@pik-potsdam.de -name, type, reason diff --git a/modules/15_climate/magicc/postsolve.gms b/modules/15_climate/magicc/postsolve.gms deleted file mode 100644 index 99f6b4f6d..000000000 --- a/modules/15_climate/magicc/postsolve.gms +++ /dev/null @@ -1,151 +0,0 @@ -*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/15_climate/magicc/postsolve.gms - -***--------------------------------------------------------------------------- -*' The MAGICC scenario generation is set in `./core/magicc.gms`, but runs here. -*' MAGICC is run and its output is read using different current R scripts in the external MAGICC folder -*' that are copied to each run's folder during the preparation phase. Different parametrizations of MAGICC can also be chosen with `cm_magicc_config`, -*' and are also handled during the preparation phase -*' -*' Below is the main code that handles the input prepration, running and output reading of MAGICC. -***--------------------------------------------------------------------------- -*' @code -*** Generate MAGICC scenario file -$include "./core/magicc.gms"; -*** execute MAGICC (this is cheap enough, ~2s) -Execute "Rscript run_magicc.R"; -*** read in results -Execute "Rscript read_DAT_TOTAL_ANTHRO_RF.R"; -Execute_Loadpoint 'p15_forc_magicc' p15_forc_magicc; -Execute "Rscript read_DAT_SURFACE_TEMP.R"; -Execute_Loadpoint 'p15_magicc_temp' pm_globalMeanTemperature = pm_globalMeanTemperature; -*** MAGICC only reports unitl 2300: -pm_globalMeanTemperature(tall)$(tall.val gt 2300) = 0; - -***--------------------------------------------------------------------------- -*' Raw temperature (GMT anomaly) from MAGICC is further calibrated to match HADCRUT4 in 2000. -*' This ensures that different MAGICC configurations start at the same observed temperature. -***--------------------------------------------------------------------------- -$ifthen.cm_magicc_calibrateTemperature2000 %cm_magicc_calibrateTemperature2000% == "HADCRUT4" - -***--------------------------------------------------------------------------- -*' Calibrate temperature such that anomaly in 2006-2015 reference period is 0.97 (SR1.5 Table 2.2, footnote 1) -***--------------------------------------------------------------------------- -s15_tempOffset2010 = sum(tall$(tall.val gt 2005 and tall.val le 2015),pm_globalMeanTemperature(tall))/10; -display s15_tempOffset2010; -pm_globalMeanTemperature(tall) = pm_globalMeanTemperature(tall) - s15_tempOffset2010 + 0.97; -display pm_globalMeanTemperature; - -$endif.cm_magicc_calibrateTemperature2000 - -*** temperature convergence indicator -pm_gmt_conv = 100*smax(t,abs(pm_globalMeanTemperature(t)/max(p15_gmt0(t),1e-8) -1)); -display pm_gmt_conv; -*** save temp from last iteration -p15_gmt0(tall) = pm_globalMeanTemperature(tall); - - -*** offset from HADCRUT4 to zero temperature in 1900, instead of the default 1870 (20 year averages each). -pm_globalMeanTemperatureZeroed1900(tall) = pm_globalMeanTemperature(tall) + 0.092; - -***--------------------------------------------------------------------------- -*' __TIRF derivation__ -*' -*' Derive temperature impulse response (TIRF) from MAGICC pulse scenarios -***--------------------------------------------------------------------------- -$ifthen.cm_magicc_tirf "%cm_magicc_temperatureImpulseResponse%" == "on" -* the TIRF does not change much with emissions profile (see, e.g., figure in Schultes et al. 2017); -* thus only compute TIRF after each of the first 10 iterations, then only every fifth iteration. -* runtime is ca 30s, so switching on TIRF adds ca 10min to runtime -if( ((iteration.val le 10) or ( mod(iteration.val,5 ) eq 0)) , - execute "Rscript run_magicc_temperatureImpulseResponse.R"; - execute_loadpoint 'pm_magicc_temperatureImpulseResponse' pm_temperatureImpulseResponseCO2 = pm_temperatureImpulseResponse; -); -*NOTE the MAGICC results (*.OUT files) are from the last pulse experiment now, so take care if reading them in after this point. -$endif.cm_magicc_tirf - -***--------------------------------------------------------------------------- -*' __Iterative adjustment of budgets or carbon taxes to meet forcing target__ -***--------------------------------------------------------------------------- -if (cm_iterative_target_adj eq 2, !! otherwise adjustment happens in core/postsolve.gms - -***--------------------------------------------------------------------------- -*' Iterative adjustment for budget runs: scale current budget with the ratio of target forcing s15_gr_forc_os to current forcing p15_forc_magicc. -*' The offset is only there to increase the speed of convergence, the values have no physical meaning. -*' For low stabilization targets (rcp2.0, rcp2.6, rcp3.7) the target is the 2100 forcing target (s15_rcpCluster eq 1), -*' for lower targets the forcing target is valid during the full century (s15_rcpCluster eq 0). -***--------------------------------------------------------------------------- - if ((cm_emiscen eq 6), - - display sm_budgetCO2eqGlob, s15_gr_forc_os, p15_forc_magicc; - - if (s15_rcpCluster eq 1, - sm_budgetCO2eqGlob - = - sm_budgetCO2eqGlob - * (s15_gr_forc_os - s15_forcing_budgetiterationoffset) - / (p15_forc_magicc("2100") - s15_forcing_budgetiterationoffset) - ; - - pm_budgetCO2eq(regi) - = - pm_budgetCO2eq(regi) - * (s15_gr_forc_os - s15_forcing_budgetiterationoffset) - / (p15_forc_magicc("2100") - s15_forcing_budgetiterationoffset) - ; - elseif (s15_rcpCluster eq 0), - sm_budgetCO2eqGlob - = - sm_budgetCO2eqGlob - * (s15_gr_forc_nte - s15_forcing_budgetiterationoffset) - / (smax(tall,p15_forc_magicc(tall)) - s15_forcing_budgetiterationoffset) - ; - - pm_budgetCO2eq(regi) - = - pm_budgetCO2eq(regi) - * (s15_gr_forc_nte - s15_forcing_budgetiterationoffset) - / (smax(tall,p15_forc_magicc(tall)) - s15_forcing_budgetiterationoffset) - ; - ); - - display sm_budgetCO2eqGlob; - ); - -***--------------------------------------------------------------------------- -*' Iterative adjustment for carbon tax runs: scale current tax pathway with the ratio of target forcing s15_gr_forc_os to current forcing p15_forc_magicc. -*' The offset is only there to increase the speed of convergence, the values have no physical meaning. -*' For low stabilization targets (rcp2.0, rcp2.6, rcp3.7) the target is the 2100 forcing target (s15_rcpCluster eq 1), -*' for lower targets the forcing target is valid during the full century (s15_rcpCluster eq 0). -***--------------------------------------------------------------------------- - if (cm_emiscen eq 9, - - display pm_taxCO2eq, s15_gr_forc_os, p15_forc_magicc; - - if (s15_rcpCluster eq 1, - pm_taxCO2eq(t,regi) - = - pm_taxCO2eq(t,regi) - * ((p15_forc_magicc("2100") - s15_forcing_budgetiterationoffset_tax - max(0,(cm_startyear-2020)/20)) - / (s15_gr_forc_os - s15_forcing_budgetiterationoffset_tax - max(0,(cm_startyear-2020)/20)))**1.2 - ; - - elseif (s15_rcpCluster eq 0), - pm_taxCO2eq(t,regi) - = - pm_taxCO2eq(t,regi) - * ((smax(tall,p15_forc_magicc(tall)) - s15_forcing_budgetiterationoffset_tax - max(0,(cm_startyear-2020)/20)) - / (s15_gr_forc_nte - s15_forcing_budgetiterationoffset_tax - max(0,(cm_startyear-2020)/20)))**1.2 - ; - ); - pm_taxCO2eq(t,regi)$(t.val gt 2110) = pm_taxCO2eq("2110",regi); !! to prevent huge taxes after 2110 and the resulting convergence problems, set taxes after 2110 equal to 2110 value - display pm_taxCO2eq; - ); -); -*' @stop -*** EOF ./modules/15_climate/magicc/postsolve.gms diff --git a/modules/15_climate/magicc/realization.gms b/modules/15_climate/magicc/realization.gms deleted file mode 100644 index 081f3255f..000000000 --- a/modules/15_climate/magicc/realization.gms +++ /dev/null @@ -1,38 +0,0 @@ -*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/15_climate/magicc/realization.gms - -*' @description -*' In this realization, concentration, forcing, and temperature values are calculated using a version of the -*' MAGICC climate emulator. MAGICC has to be installed in a separate folder, which can be set in the `magicc_template` -*' switch. MAGICC version 6.4 is used as default, but other versions with compatible path structure and variable names -*' can be used as well as long as it has the proper interfacing R scripts. -*' -*' The actual generation of MAGICC input data from REMIND emissions is not handled here, but in the core. Emissions that are not -*' calculated by REMIND, such as F-gases, are taken from RCP trajectories. -*' -*' With this module activated, MAGICC is run between iterations one time or several, depending on specific switches. - -*' By default, the global mean temperature change is simply read and passed on to other modules. - -*' Depending on the choice of carbon tax adjustment in `cm_emiscen`, the total carbon budget will also be adjusted based on -*' the MAGICC radiation forcing or temperature outcomes between iterations. This can allow the carbon tax, which is adjusted based on the carbon budget, to be optimized -*' for a given temperature target. - -*' If `cm_magicc_temperatureImpulseResponse` is on, a new Temperature Impulse Response Function (TIRF) -*' is also generated between iterations. The TIRF is a smooth function that estimates the effect of an additional unit -*' of emissions in global temperature, and it's used by some damage modules that internalize climate damages (i.e. account -*' for damages within the optimization). To derive a TIRF, MAGICC is run several times with pulse emissions added around the -*' the emissions of that iteration. - -*####################### R SECTION START (PHASES) ############################## -$Ifi "%phase%" == "sets" $include "./modules/15_climate/magicc/sets.gms" -$Ifi "%phase%" == "declarations" $include "./modules/15_climate/magicc/declarations.gms" -$Ifi "%phase%" == "datainput" $include "./modules/15_climate/magicc/datainput.gms" -$Ifi "%phase%" == "postsolve" $include "./modules/15_climate/magicc/postsolve.gms" -*######################## R SECTION END (PHASES) ############################### -*** EOF ./modules/15_climate/magicc/realization.gms diff --git a/modules/15_climate/magicc/sets.gms b/modules/15_climate/magicc/sets.gms deleted file mode 100644 index a5f4201c2..000000000 --- a/modules/15_climate/magicc/sets.gms +++ /dev/null @@ -1,22 +0,0 @@ -*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/15_climate/magicc/sets.gms -$ontext -TODO: Rename - t_magiccttot MAGICC_ttot - t_magicc MAGICC_t - t_extra MAGICC_t_avg - - RCP_regions_world_bunkers MAGICC_RCP_regions_world_bunkers - RCP_regions_world MAGICC_RCP_regions_world - - emiRCP2unitsMagicc MAGICC_emissions_units - -$offtext - - -*** EOF ./modules/15_climate/magicc/sets.gms diff --git a/modules/15_climate/module.gms b/modules/15_climate/module.gms index 4581616f7..c2b8ae6db 100644 --- a/modules/15_climate/module.gms +++ b/modules/15_climate/module.gms @@ -13,10 +13,9 @@ *' using the MAGICC climate emulator. It may also be used within the optimization or between iterations *' in order to internalize climate damages or adjust the carbon price to meet a desired climate target *' -*' @authors Jessica Strefler, Michaja Pehl, Christoph Bertram +*' @authors Jessica Strefler, Michaja Pehl, Christoph Bertram, Gabriel Abrahão, Tonn Rüter *###################### R SECTION START (MODULETYPES) ########################## -$Ifi "%climate%" == "magicc" $include "./modules/15_climate/magicc/realization.gms" $Ifi "%climate%" == "magicc7_ar6" $include "./modules/15_climate/magicc7_ar6/realization.gms" $Ifi "%climate%" == "off" $include "./modules/15_climate/off/realization.gms" *###################### R SECTION END (MODULETYPES) ############################ From dbb94b199a1156cd18c6f24188d2c6713fdb3c75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tonn=20R=C3=BCter?= Date: Fri, 8 Nov 2024 19:49:36 +0100 Subject: [PATCH 698/875] Removed magicc from core --- config/default.cfg | 4 - core/datainput.gms | 25 -- .../MAGCFG_STORE/MAGCFG_USER_OLDDEFAULT.CFG | 373 ---------------- .../MAGCFG_STORE/MAGCFG_USER_RCP26_10.CFG | 412 ------------------ .../MAGCFG_STORE/MAGCFG_USER_RCP26_20.CFG | 412 ------------------ .../MAGCFG_STORE/MAGCFG_USER_RCP26_25.CFG | 412 ------------------ .../MAGCFG_STORE/MAGCFG_USER_RCP26_30.CFG | 412 ------------------ .../MAGCFG_STORE/MAGCFG_USER_RCP26_40.CFG | 412 ------------------ .../MAGCFG_STORE/MAGCFG_USER_RCP26_5.CFG | 412 ------------------ .../MAGCFG_STORE/MAGCFG_USER_RCP26_50.CFG | 412 ------------------ .../MAGCFG_STORE/MAGCFG_USER_RCP26_60.CFG | 412 ------------------ .../MAGCFG_STORE/MAGCFG_USER_RCP26_70.CFG | 412 ------------------ .../MAGCFG_STORE/MAGCFG_USER_RCP26_75.CFG | 412 ------------------ .../MAGCFG_STORE/MAGCFG_USER_RCP26_80.CFG | 412 ------------------ .../MAGCFG_STORE/MAGCFG_USER_RCP26_90.CFG | 412 ------------------ .../MAGCFG_STORE/MAGCFG_USER_RCP26_95.CFG | 412 ------------------ .../MAGCFG_STORE/MAGCFG_USER_TCRE_HIGH.CFG | 412 ------------------ .../MAGCFG_STORE/MAGCFG_USER_TCRE_HIGHEST.CFG | 412 ------------------ .../MAGCFG_STORE/MAGCFG_USER_TCRE_LOW.CFG | 412 ------------------ .../MAGCFG_STORE/MAGCFG_USER_TCRE_LOWEST.CFG | 412 ------------------ .../MAGCFG_STORE/MAGCFG_USER_TCRE_MEDIUM.CFG | 412 ------------------ core/magicc/magicc_scen_450.inc | 153 ------- core/magicc/magicc_scen_550.inc | 153 ------- core/magicc/magicc_scen_bau.inc | 153 ------- main.gms | 1 - modules/15_climate/magicc7_ar6/postsolve.gms | 1 - 26 files changed, 8279 deletions(-) delete mode 100644 core/magicc/MAGCFG_STORE/MAGCFG_USER_OLDDEFAULT.CFG delete mode 100644 core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_10.CFG delete mode 100644 core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_20.CFG delete mode 100644 core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_25.CFG delete mode 100644 core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_30.CFG delete mode 100644 core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_40.CFG delete mode 100644 core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_5.CFG delete mode 100644 core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_50.CFG delete mode 100644 core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_60.CFG delete mode 100644 core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_70.CFG delete mode 100644 core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_75.CFG delete mode 100644 core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_80.CFG delete mode 100644 core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_90.CFG delete mode 100644 core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_95.CFG delete mode 100644 core/magicc/MAGCFG_STORE/MAGCFG_USER_TCRE_HIGH.CFG delete mode 100644 core/magicc/MAGCFG_STORE/MAGCFG_USER_TCRE_HIGHEST.CFG delete mode 100644 core/magicc/MAGCFG_STORE/MAGCFG_USER_TCRE_LOW.CFG delete mode 100644 core/magicc/MAGCFG_STORE/MAGCFG_USER_TCRE_LOWEST.CFG delete mode 100644 core/magicc/MAGCFG_STORE/MAGCFG_USER_TCRE_MEDIUM.CFG delete mode 100644 core/magicc/magicc_scen_450.inc delete mode 100644 core/magicc/magicc_scen_550.inc delete mode 100644 core/magicc/magicc_scen_bau.inc diff --git a/config/default.cfg b/config/default.cfg index b7c836cad..39a4130e9 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -47,10 +47,6 @@ cfg$repositories <- append(list("https://rse.pik-potsdam.de/data/remind/public" #### Folder run statistics should be submitted to cfg$runstatistics <- "/p/projects/rd3mod/models/statistics/remind" -#### Folder containing magicc files that can not be published open source. These files are automatically -# copied into remind when starting a run and required to calculate climate responses (e.g. temperature). -cfg$magicc_template <- "/p/projects/rd3mod/magicc/" - #### Folders and file paths used for climate-assessment/MAGICC7 integration & reporting cfg$climate_assessment_root <- "/p/projects/rd3mod/python/climate-assessment/src/" cfg$climate_assessment_infiller_db <- "/p/projects/rd3mod/climate-assessment-files/1652361598937-ar6_emissions_vetted_infillerdatabase_10.5281-zenodo.6390768.csv" diff --git a/core/datainput.gms b/core/datainput.gms index 65785bd47..59acd869d 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -1512,31 +1512,6 @@ pm_incinerationRate(ttot,all_regi)=f_incinerationShares(ttot,all_regi); *** the differences are cancelled out here!!! pm_cesdata(ttot,regi,in,"offset_quantity")$(ttot.val ge 2005) = 0; -*** ----- MAGICC RCP scenario emission data ----------------------------------- -*** load default values from the scenario depending on cm_rcp_scen -*** (0): no RCP scenario, standard setting -*** (1): RCP2.6 - this only works with emiscen = 8 -*** (2): RCP3.7 - this only works with emiscen = 5 -*** (3): RCP4.5 - this only works with emiscen = 5 -*** (4): RCP6.0 - this only works with emiscen = 5 -*** (5): RCP8.5 - this only works with emiscen = 5 -*** (6): RCP2.0 - this only works with emiscen = 8 - -$include "./core/magicc/magicc_scen_bau.inc"; -$include "./core/magicc/magicc_scen_450.inc"; -$include "./core/magicc/magicc_scen_550.inc"; - -*** ----- Parameters needed for MAGICC ---------------------------------------- - -table p_regi_2_MAGICC_regions(all_regi,RCP_regions_world_bunkers) "map REMIND to MAGICC regions" -$ondelim -$include "./core/input/p_regi_2_MAGICC_regions.cs3r" -$offdelim -; -p_regi_2_MAGICC_regions(regi,"WORLD") = 1; -p_regi_2_MAGICC_regions(regi,"BUNKERS") = 0; -display p_regi_2_MAGICC_regions ; - ***----------------------------------------------------------------- *RP* vintages ***----------------------------------------------------------------- diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_OLDDEFAULT.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_OLDDEFAULT.CFG deleted file mode 100644 index 0ba4274e2..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_OLDDEFAULT.CFG +++ /dev/null @@ -1,373 +0,0 @@ - &NML_ALLCFGS - RUNNAME = "MAGICC6Run", - RUNDATE = "No Date specified.", - FILE_EMISSIONSCENARIO = "RCP45", - FILE_TUNINGMODEL = "C4MIP_BERN", - FILE_TUNINGMODEL_2 = "FULLTUNE_MEDIUM_CMIP3_ECS3", - SECTOR_INCLUDE = "NOSECTOR", - FILE_SECTOR_EMIS = "", - BULKRUNMODUS = "SINGLERUN", - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-002, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-002, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-001, - CO2_FERTILIZATION_FACTOR = 2.762800e-001, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-001, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-002, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-001, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-001, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-001, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-002, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-001, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = "3D-GFDL", - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-002, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+000, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 3.160000e-002, - CH4_PPB2TGCH4 = 2.780000e+000, - CH4_S = -3.200000e-001, - CH4_SCALEOHSENS = 1, - CH4_ANOX = 4.200000e-003, - CH4_ACO = -1.050000e-004, - CH4_AVOC = -3.150000e-004, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-001, - CH4_ADDEDSTRATH2O_PERCENT = 1.500000e-001, - CH4_RADEFF_WM2PERPPB = 3.600000e-002, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 120, - N2O_RADEFF_WM2PERPPB = 1.200000e-001, - N2O_PPB2TGN = 4.810000e+000, - N2O_S = -5.000000e-002, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 3.350000e-002, - TROPOZ_OZCH4 = 5, - TROPOZ_OZNOX = 1.250000e-001, - TROPOZ_OZCO = 1.100000e-003, - TROPOZ_OZVOC = 3.300000e-003, - STRATOZ_CLEXPON = 1.700000e+000, - STRATOZ_O3SCALE = -9.000000e-004, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+000, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+000, - AIR_BC_SCALE = 1.500000e+000, - RF_AIR_H2O_WM2 = 1.000000e-003, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-003, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-003, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 3, - CORE_FEEDBACK_QSENSITIVITY = 0, - CORE_VERTICALDIFFUSIVITY = 2.300000e+000, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-001, - CORE_VERTICALDIFF_TOP_DKDT = 0, - CORE_ADJUST_SST2OCNATM = 1.250000e+000, - CORE_DELQ2XCO2 = 3.710000e+000, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.300000e+000, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-001, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-001, - CORE_UPWELL_THRESH_TEMP_NH = 8, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 1, - CORE_HEATXCHANGE_NORTHSOUTH = 1, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = "GLOBE", - CORE_HEMISFRACTION_NH_LAND = 4.200000e-001, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-001, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-001, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-001, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-001, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-001, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+000, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-003, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+000, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-001, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-001, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+000, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-004, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+000, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-001, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-001, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-001, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-002, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = "HIST_SEALEVEL_CHURCHWHITE2006_RF.IN", - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = "ASCII", - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = "JUMPSTART", - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = "ALL", - RF_VOLCANIC_SCALE = 7.000000e-001, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 1, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 1, - RF_MHALOSUM_SCALE = 1, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -4.000000e-001, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -1.000000e-001, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 2.000000e-001, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -5.000000e-002, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = -1.000000e-001, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = -2.000000e-001, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 1.000000e-001, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -7.000000e-001, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-002, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 3.800000e-001, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -1.500000e-001, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = -1.000000e-001, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -1.000000e-001, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.408900e+000, 1.370450e+000, 1.433330e+000, 1.332570e+000, - RF_REGIONS_CH4 = 5.374100e-001, 4.350400e-001, 6.001900e-001, 4.045600e-001, - RF_REGIONS_CH4OXSTRATH2O = 3.950000e-002, 4.910000e-002, 8.721000e-002, 4.262000e-002, - RF_REGIONS_N2O = 1.524000e-001, 1.403500e-001, 1.623000e-001, 1.312800e-001, - RF_REGIONS_MHALO = 1.669500e-001, 1.621800e-001, 1.550800e-001, 1.463000e-001, - RF_REGIONS_TROPOZ = 4.656500e-001, 5.164600e-001, 1.768700e-001, 2.379300e-001, - RF_REGIONS_STRATOZ = -1.189000e-002, -2.267000e-002, -6.251000e-002, -2.403600e-001, - RF_REGIONS_DUST = -8.138100e-001, -1.517150e+000, -3.276600e-001, -6.320600e-001, - RF_REGIONS_SEASALT = -1.175350e+000, -2.037600e-001, -1.825320e+000, -2.020700e-001, - RF_REGIONS_FGAS = 1.669500e-001, 1.621800e-001, 1.550800e-001, 1.463000e-001, - RF_REGIONS_CLOUD_COVER = -1.332780e+000, -1.580600e+000, -5.294200e-001, -8.112700e-001, - RF_REGIONS_CLOUD_ALBEDO = -9.656300e-001, -1.399450e+000, -3.421100e-001, -6.284600e-001, - RF_REGIONS_AIRH2O = 4.656500e-001, 5.164600e-001, 1.768700e-001, 2.379300e-001, - RF_REGIONS_CONTRAIL = 4.656500e-001, 5.164600e-001, 1.768700e-001, 2.379300e-001, - RF_REGIONS_CIRRUS = 4.656500e-001, 5.164600e-001, 1.768700e-001, 2.379300e-001, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+000, - RF_EFFICACY_TROPOZ = 8.500000e-001, - RF_EFFICACY_AER_DIR = 9.000000e-001, - RF_EFFICACY_CLOUD_ALBEDO = 1.500000e+000, - RF_EFFICACY_CLOUD_COVER = 9.000000e-001, - RF_EFFICACY_SOLAR = 8.500000e-001, - RF_EFFICACY_VOLC = 9.500000e-001, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+000, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-001, - RF_EFFICACY_CIRRUS = 6.000000e-001, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = "GISS_SOXNB_OT.IN", - FILE_SOXI_OT = "GISS_SOXI_OT.IN", - FILE_SOXT_RF = "GISS_SOX_RF.IN", - FILE_SOXI_EMIS = "HISTRCP_SOXI_EMIS.IN", - FILE_SOXB_EMIS = "HISTRCP_SOXB_EMIS.IN", - FILE_SOXN_EMIS = "HIST_SOXN_EMIS.IN", - FILE_COI_EMIS = "HISTRCP_COI_EMIS.IN", - FILE_COB_EMIS = "HISTRCP_COB_EMIS.IN", - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-001, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = "HISTRCP_BCI_EMIS.IN", - FILE_BCB_EMIS = "HISTRCP_BCB_EMIS.IN", - FILE_OCB_EMIS = "HISTRCP_OCB_EMIS.IN", - FILE_OCI_EMIS = "HISTRCP_OCI_EMIS.IN", - FILE_BCB_OT = "GISS_BCB_OT.IN", - FILE_BCI_OT = "GISS_BCI_OT.IN", - FILE_OCB_OT = "GISS_OCB_OT.IN", - FILE_OCI_OT = "GISS_OCI_OT.IN", - FILE_OCN_OT = "GISS_OCN_OT.IN", - FILE_BCSNOW_RF = "GISS_BCSNOW_RF.IN", - FILE_BCB_RF = "GISS_BCB_RF.IN", - FILE_BCI_RF = "GISS_BCI_RF.IN", - FILE_OCB_RF = "GISS_OCB_RF.IN", - FILE_OCI_RF = "GISS_OCI_RF.IN", - FILE_CO2I_EMIS = "HISTRCP_CO2I_EMIS.IN", - FILE_CO2B_EMIS = "HISTRCP_CO2B_EMIS.IN", - FILE_CH4I_EMIS = "HISTEDGAR_CH4I_EMIS.IN", - FILE_CH4B_EMIS = "HISTEDGAR_CH4B_EMIS.IN", - FILE_CH4N_EMIS = "", - FILE_N2OI_EMIS = "HISTEDGAR_N2OI_EMIS.IN", - FILE_N2OB_EMIS = "HISTEDGAR_N2OB_EMIS.IN", - FILE_N2ON_EMIS = "", - FILE_NOXI_EMIS = "HISTRCP_NOXI_EMIS.IN", - FILE_NOXB_EMIS = "HISTRCP_NOXB_EMIS.IN", - FILE_NMVOCI_EMIS = "HISTRCP_NMVOCI_EMIS.IN", - FILE_NMVOCB_EMIS = "HISTRCP_NMVOCB_EMIS.IN", - FILE_MINERALDUST_RF = "GISS_LANDUSE_RF.IN", - FILE_NOXB_OT = "MIXED_NOXB_OT.IN", - FILE_NOXI_OT = "MIXED_NOXI_OT.IN", - FILE_SS_OT = "GISS_SS_OT.IN", - FILE_CO2_CONC = "HISTRCP_CO2_CONC.IN", - FILE_CH4_CONC = "HISTRCP_CH4_CONC.IN", - FILE_N2O_CONC = "HISTRCP_N2O_CONC.IN", - FILE_VOLCANIC_RF = "HIST_VOLCANIC_RF.MON", - FILE_SOLAR_RF = "HISTRCP_SOLAR_RF.IN", - FILE_EXTRA_RF = "", - FILE_LANDUSE_RF = "GISS_LANDUSE_RF.IN", - FILE_NOXT_RF = "GISS_NOX_RF.IN", - CLOUD_WEIGHT_NOX = 8.000000e-002, - CLOUD_WEIGHT_BC = 2.000000e-002, - CLOUD_WEIGHT_OC = 1.300000e-001, - CLOUD_WEIGHT_SOX = 1.300000e-001, - CLOUD_WEIGHT_SS = 1.300000e-001, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-001, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = "CF4", "C2F6", "C6F14", "HFC23", "HFC32", "HFC43_10", "HFC125", "HFC134a", "HFC143a", "HFC227ea", "HFC245fa", "SF6", - FILE_FGAS_EMIS = "HISTRCP_CF4_EMIS.IN", "HISTRCP_C2F6_EMIS.IN", "HISTRCP_C6F14_EMIS.IN", "HISTRCP_HFC23_EMIS.IN", "HISTRCP_HFC32_EMIS.IN", "", "HISTRCP_HFC125_EMIS.IN", "HISTRCP_HFC134a_EMIS.IN", "HISTRCP_HFC143a_EMIS.IN", "HISTRCP_HFC227EA_EMIS.IN", "HISTRCP_HFC245fa_EMIS.IN", "HISTRCP_SF6_EMIS.IN", - FILE_FGAS_CONC = "HISTRCP_CF4_CONC.IN", "HISTRCP_C2F6_CONC.IN", "HISTRCP_C6F14_CONC.IN", "HISTRCP_HFC23_CONC.IN", "HISTRCP_HFC32_CONC.IN", "HISTRCP_HFC43-10_CONC.IN", "HISTRCP_HFC125_CONC.IN", "HISTRCP_HFC134a_CONC.IN", "HISTRCP_HFC143a_CONC.IN", "HISTRCP_HFC227EA_CONC.IN", "HISTRCP_HFC245fa_CONC.IN", "HISTRCP_SF6_CONC.IN", - FGAS_FORMULA = "(CF4)", "(C2F6)", "(C6F14)", "(CHF3)", "(CH2F2)", "(C5H2F10)", "(CHF2CF3)", "(CH2FCF3)", "(CH3CF3)", "(C3HF7)", "(C3H3F5)", "(SF6)", - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+000, 1.590000e+001, 29, 14, 52, 3.420000e+001, 7.600000e+000, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+000, 1.590000e+001, 29, 14, 52, 3.420000e+001, 7.600000e+000, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-001, 9.690000e-001, 9.680000e-001, 9.490000e-001, 9.490000e-001, 9.490000e-001, 9.490000e-001, 9.490000e-001, 9.490000e-001, 9.490000e-001, 9.490000e-001, 9.680000e-001, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-001, 2.600000e-001, 4.900000e-001, 1.900000e-001, 1.100000e-001, 4.000000e-001, 2.300000e-001, 1.600000e-001, 1.300000e-001, 2.600000e-001, 2.800000e-001, 5.200000e-001, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = "CFC_11", "CFC_12", "CFC_113", "CFC_114", "CFC_115", "CARB_TET", "MCF", "HCFC_22", "HCFC_141B", "HCFC_142B", "HALON1211", "HALON1202", "HALON1301", "HALON2402", "CH3BR", "CH3CL", - MHALO_FORMULA = "(CCL3F)", "(CCL2F2)", "(C2CL3F3)", "(C2CL2F4)", "(C2CLF5)", "(CCL4)", "(CH3CCL3)", "(CHCLF2)", "(CH3CCL2F)", "(CH3CCLF2)", "(CF2CLBR)", "(CBR2F2)", "(CF3BR)", "((CF2BR)2)", "(CH3BR)", "(CH3CL)", - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-001, 7.500000e-001, 7.500000e-001, 7.500000e-001, 1.060000e+000, 1.080000e+000, 3.500000e-001, 7.200000e-001, 3.600000e-001, 1.100000e+000, 8.000000e-001, 8.000000e-001, 8.000000e-001, 1.080000e+000, 1.080000e+000, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+000, 1.790000e+001, 16, 2.900000e+000, 65, 20, 7.000000e-001, 1.300000e+000, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+000, 12, 9.300000e+000, 1.790000e+001, 0, 0, 0, 0, 1.700000e+000, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+001, 0, 65, 4.857143e+001, 1.830000e+000, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-001, 3.200000e-001, 3.000000e-001, 3.100000e-001, 1.800000e-001, 1.300000e-001, 6.000000e-002, 2.000000e-001, 1.400000e-001, 2.000000e-001, 3.000000e-001, 0, 3.200000e-001, 3.300000e-001, 1.000000e-002, 1.000000e-002, - MHALO_EFF_MIXBOXSIZE = 9.690000e-001, 9.690000e-001, 9.690000e-001, 9.690000e-001, 9.690000e-001, 9.690000e-001, 9.490000e-001, 9.490000e-001, 9.490000e-001, 9.490000e-001, 9.690000e-001, 9.490000e-001, 9.690000e-001, 9.670000e-001, 9.490000e-001, 9.490000e-001, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = "RCPODS_WMO2006_MixingRatios_A1.prn", - FILE_MHALO_EMIS = "RCPODS_WMO2006_Emissions_RCP45.prn", - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-001, - GEN_AIR_GRAMMPROMOL = 2.898400e+001, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+000, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-001, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-001, 1, 1, 4.000000e-001, - GEN_RCPREGIONS2NH = 9.000000e-001, 1, 8.000000e-001, 6.000000e-001, 3.000000e-001, - GEN_RCPPLUSREGIONS2NH = 9.000000e-001, 1, 8.000000e-001, 6.000000e-001, 3.000000e-001, - RUN_ID = 3, - RUNNAME = "RCPfinal", - / diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_10.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_10.CFG deleted file mode 100644 index 3a62ee48b..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_10.CFG +++ /dev/null @@ -1,412 +0,0 @@ -&NML_ALLCFGS - RUNNAME = 'RCPfinal', - RUNDATE = 'No Date specified.', - FILE_EMISSIONSCENARIO = 'RCP45', - FILE_TUNINGMODEL = 'C4MIP_BERN', - FILE_TUNINGMODEL_2 = 'USER', - SECTOR_INCLUDE = 'NOSECTOR', - FILE_SECTOR_EMIS = '', - BULKRUNMODUS = 'SINGLERUN', - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-02, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-02, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-01, - CO2_FERTILIZATION_FACTOR = 2.762800e-01, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-01, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-02, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-01, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-01, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-01, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-02, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-01, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = '3D-GFDL', - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-02, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+00, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 2.633410e-02, - CH4_PPB2TGCH4 = 2.780000e+00, - CH4_S = -3.200000e-01, - CH4_SCALEOHSENS = 1.287935e+00, - CH4_ANOX = 4.200000e-03, - CH4_ACO = -1.050000e-04, - CH4_AVOC = -3.150000e-04, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-01, - CH4_ADDEDSTRATH2O_PERCENT = 6.288852e-02, - CH4_RADEFF_WM2PERPPB = 3.538335e-02, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 1.197483e+02, - N2O_RADEFF_WM2PERPPB = 1.187245e-01, - N2O_PPB2TGN = 4.810000e+00, - N2O_S = -5.000000e-02, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 4.735645e-02, - TROPOZ_OZCH4 = 1.756473e+00, - TROPOZ_OZNOX = 1.250000e-01, - TROPOZ_OZCO = 1.177981e-03, - TROPOZ_OZVOC = 5.770167e-03, - STRATOZ_CLEXPON = 1.622915e+00, - STRATOZ_O3SCALE = -1.062627e-04, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+00, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+00, - AIR_BC_SCALE = 1.500000e+00, - RF_AIR_H2O_WM2 = 1.000000e-03, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-03, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-03, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 1.542527e+00, - CORE_FEEDBACK_QSENSITIVITY = 6.496038e-02, - CORE_VERTICALDIFFUSIVITY = 2.962612e+00, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-01, - CORE_VERTICALDIFF_TOP_DKDT = -3.333082e-01, - CORE_ADJUST_SST2OCNATM = 1.250000e+00, - CORE_DELQ2XCO2 = 3.720182e+00, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.097868e+00, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-01, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-01, - CORE_UPWELL_THRESH_TEMP_NH = 1.770290e+01, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 1.691206e+00, - CORE_HEATXCHANGE_NORTHSOUTH = 5.960555e+00, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1.104283e+00, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = 'GLOBE', - CORE_HEMISFRACTION_NH_LAND = 4.200000e-01, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-01, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-01, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-01, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-01, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-01, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+00, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-03, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+00, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-01, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-01, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+00, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-04, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+00, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-01, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-01, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-01, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-02, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = 'HIST_SEALEVEL_CHURCHWHITE2006_RF.IN', - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = 'ASCII', - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = 'JUMPSTART', - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = 'ALL', - RF_VOLCANIC_SCALE = 9.388435e-01, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 9.454102e-01, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 9.532469e-01, - RF_MHALOSUM_SCALE = 1.007379e+00, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -4.402297e-01, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -6.105498e-02, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 2.695595e-01, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -4.805990e-02, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = -7.771467e-02, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = -2.031370e-02, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 1.110027e-01, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -4.774373e-01, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-02, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 3.627263e-01, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -3.729631e-01, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = -2.084301e-01, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -5.256687e-01, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.271590e+00, 1.280830e+00, 1.393255e+00, 1.243659e+00, - RF_REGIONS_CH4 = 5.832998e-01, 4.608634e-01, 6.402052e-01, 3.949810e-01, - RF_REGIONS_CH4OXSTRATH2O = 3.672030e-02, 4.520313e-02, 8.944919e-02, 4.075396e-02, - RF_REGIONS_N2O = 1.563125e-01, 1.530309e-01, 1.698952e-01, 1.220508e-01, - RF_REGIONS_MHALO = 1.589320e-01, 1.557431e-01, 1.698011e-01, 1.320290e-01, - RF_REGIONS_TROPOZ = 4.749230e-01, 5.317165e-01, 1.615738e-01, 2.359223e-01, - RF_REGIONS_STRATOZ = -1.147410e-02, -2.364731e-02, -6.638072e-02, -2.402590e-01, - RF_REGIONS_DUST = -7.728097e-01, -1.572343e+00, -3.297695e-01, -6.161911e-01, - RF_REGIONS_SEASALT = -1.175350e+00, -2.037600e-01, -1.825320e+00, -2.020700e-01, - RF_REGIONS_FGAS = 1.531033e-01, 1.709580e-01, 1.564008e-01, 1.379103e-01, - RF_REGIONS_CLOUD_COVER = -1.332780e+00, -1.580600e+00, -5.294200e-01, - -8.112700e-01, - RF_REGIONS_CLOUD_ALBEDO = -9.249759e-01, -1.391823e+00, -3.371771e-01, - -6.262632e-01, - RF_REGIONS_AIRH2O = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CONTRAIL = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CIRRUS = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+00, - RF_EFFICACY_TROPOZ = 8.500000e-01, - RF_EFFICACY_AER_DIR = 9.000000e-01, - RF_EFFICACY_CLOUD_ALBEDO = 1.142928e+00, - RF_EFFICACY_CLOUD_COVER = 9.000000e-01, - RF_EFFICACY_SOLAR = 8.500000e-01, - RF_EFFICACY_VOLC = 9.500000e-01, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+00, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-01, - RF_EFFICACY_CIRRUS = 6.000000e-01, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = 'GISS_SOXNB_OT.IN', - FILE_SOXI_OT = 'GISS_SOXI_OT.IN', - FILE_SOXT_RF = 'GISS_SOX_RF.IN', - FILE_SOXI_EMIS = 'HISTRCP_SOXI_EMIS.IN', - FILE_SOXB_EMIS = 'HISTRCP_SOXB_EMIS.IN', - FILE_SOXN_EMIS = 'HIST_SOXN_EMIS.IN', - FILE_COI_EMIS = 'HISTRCP_COI_EMIS.IN', - FILE_COB_EMIS = 'HISTRCP_COB_EMIS.IN', - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-01, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = 'HISTRCP_BCI_EMIS.IN', - FILE_BCB_EMIS = 'HISTRCP_BCB_EMIS.IN', - FILE_OCB_EMIS = 'HISTRCP_OCB_EMIS.IN', - FILE_OCI_EMIS = 'HISTRCP_OCI_EMIS.IN', - FILE_BCB_OT = 'GISS_BCB_OT.IN', - FILE_BCI_OT = 'GISS_BCI_OT.IN', - FILE_OCB_OT = 'GISS_OCB_OT.IN', - FILE_OCI_OT = 'GISS_OCI_OT.IN', - FILE_OCN_OT = 'GISS_OCN_OT.IN', - FILE_BCSNOW_RF = 'GISS_BCSNOW_RF.IN', - FILE_BCB_RF = 'GISS_BCB_RF.IN', - FILE_BCI_RF = 'GISS_BCI_RF.IN', - FILE_OCB_RF = 'GISS_OCB_RF.IN', - FILE_OCI_RF = 'GISS_OCI_RF.IN', - FILE_CO2I_EMIS = 'HISTRCP_CO2I_EMIS.IN', - FILE_CO2B_EMIS = 'HISTRCP_CO2B_EMIS.IN', - FILE_CH4I_EMIS = 'HISTEDGAR_CH4I_EMIS.IN', - FILE_CH4B_EMIS = 'HISTEDGAR_CH4B_EMIS.IN', - FILE_CH4N_EMIS = '', - FILE_N2OI_EMIS = 'HISTEDGAR_N2OI_EMIS.IN', - FILE_N2OB_EMIS = 'HISTEDGAR_N2OB_EMIS.IN', - FILE_N2ON_EMIS = '', - FILE_NOXI_EMIS = 'HISTRCP_NOXI_EMIS.IN', - FILE_NOXB_EMIS = 'HISTRCP_NOXB_EMIS.IN', - FILE_NMVOCI_EMIS = 'HISTRCP_NMVOCI_EMIS.IN', - FILE_NMVOCB_EMIS = 'HISTRCP_NMVOCB_EMIS.IN', - FILE_MINERALDUST_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXB_OT = 'MIXED_NOXB_OT.IN', - FILE_NOXI_OT = 'MIXED_NOXI_OT.IN', - FILE_SS_OT = 'GISS_SS_OT.IN', - FILE_CO2_CONC = 'HISTRCP_CO2_CONC.IN', - FILE_CH4_CONC = 'HISTRCP_CH4_CONC.IN', - FILE_N2O_CONC = 'HISTRCP_N2O_CONC.IN', - FILE_VOLCANIC_RF = 'HIST_VOLCANIC_RF.MON', - FILE_SOLAR_RF = 'HISTRCP_SOLAR_RF.IN', - FILE_EXTRA_RF = '', - FILE_LANDUSE_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXT_RF = 'GISS_NOX_RF.IN', - CLOUD_WEIGHT_NOX = 3.588346e-02, - CLOUD_WEIGHT_BC = 1.334873e-02, - CLOUD_WEIGHT_OC = 8.026152e-02, - CLOUD_WEIGHT_SOX = 1.300000e-01, - CLOUD_WEIGHT_SS = 1.300000e-01, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-01, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = 'CF4', 'C2F6', 'C6F14', 'HFC23', 'HFC32', 'HFC43_10', 'HFC125', - 'HFC134a', 'HFC143a', 'HFC227ea', 'HFC245fa', 'SF6', - FILE_FGAS_EMIS = 'HISTRCP_CF4_EMIS.IN', 'HISTRCP_C2F6_EMIS.IN', 'HISTRCP_C6F14_EMIS.IN', - 'HISTRCP_HFC23_EMIS.IN', 'HISTRCP_HFC32_EMIS.IN', '', - 'HISTRCP_HFC125_EMIS.IN', 'HISTRCP_HFC134a_EMIS.IN', - 'HISTRCP_HFC143a_EMIS.IN', 'HISTRCP_HFC227EA_EMIS.IN', - 'HISTRCP_HFC245fa_EMIS.IN', 'HISTRCP_SF6_EMIS.IN', - FILE_FGAS_CONC = 'HISTRCP_CF4_CONC.IN', 'HISTRCP_C2F6_CONC.IN', 'HISTRCP_C6F14_CONC.IN', - 'HISTRCP_HFC23_CONC.IN', 'HISTRCP_HFC32_CONC.IN', 'HISTRCP_HFC43-10_CONC.IN', - 'HISTRCP_HFC125_CONC.IN', 'HISTRCP_HFC134a_CONC.IN', - 'HISTRCP_HFC143a_CONC.IN', 'HISTRCP_HFC227EA_CONC.IN', - 'HISTRCP_HFC245fa_CONC.IN', 'HISTRCP_SF6_CONC.IN', - FGAS_FORMULA = '(CF4)', '(C2F6)', '(C6F14)', '(CHF3)', '(CH2F2)', '(C5H2F10)', - '(CHF2CF3)', '(CH2FCF3)', '(CH3CF3)', '(C3HF7)', '(C3H3F5)', - '(SF6)', - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+00, 1.590000e+01, 29, - 14, 52, 3.420000e+01, 7.600000e+00, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+00, 1.590000e+01, 29, 14, 52, - 3.420000e+01, 7.600000e+00, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.680000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.680000e-01, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-01, 2.600000e-01, 4.900000e-01, - 1.900000e-01, 1.100000e-01, 4.000000e-01, - 2.300000e-01, 1.600000e-01, 1.300000e-01, - 2.600000e-01, 2.800000e-01, 5.200000e-01, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, - 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = 'CFC_11', 'CFC_12', 'CFC_113', 'CFC_114', 'CFC_115', 'CARB_TET', - 'MCF', 'HCFC_22', 'HCFC_141B', 'HCFC_142B', 'HALON1211', - 'HALON1202', 'HALON1301', 'HALON2402', 'CH3BR', 'CH3CL', - MHALO_FORMULA = '(CCL3F)', '(CCL2F2)', '(C2CL3F3)', '(C2CL2F4)', '(C2CLF5)', - '(CCL4)', '(CH3CCL3)', '(CHCLF2)', '(CH3CCL2F)', '(CH3CCLF2)', - '(CF2CLBR)', '(CBR2F2)', '(CF3BR)', '((CF2BR)2)', '(CH3BR)', - '(CH3CL)', - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-01, 7.500000e-01, 7.500000e-01, - 7.500000e-01, 1.060000e+00, 1.080000e+00, - 3.500000e-01, 7.200000e-01, 3.600000e-01, - 1.100000e+00, 8.000000e-01, 8.000000e-01, - 8.000000e-01, 1.080000e+00, 1.080000e+00, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+00, 1.790000e+01, - 16, 2.900000e+00, 65, 20, 7.000000e-01, 1.300000e+00, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+00, 12, 9.300000e+00, 1.790000e+01, - 0, 0, 0, 0, 1.700000e+00, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+01, - 0, 65, 4.857143e+01, 1.830000e+00, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-01, 3.200000e-01, 3.000000e-01, 3.100000e-01, - 1.800000e-01, 1.300000e-01, 6.000000e-02, 2.000000e-01, - 1.400000e-01, 2.000000e-01, 3.000000e-01, 0, - 3.200000e-01, 3.300000e-01, 1.000000e-02, 1.000000e-02, - MHALO_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.690000e-01, 9.690000e-01, - 9.690000e-01, 9.690000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.690000e-01, 9.490000e-01, - 9.690000e-01, 9.670000e-01, 9.490000e-01, 9.490000e-01, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, - 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = 'RCPODS_WMO2006_MixingRatios_A1.prn', - FILE_MHALO_EMIS = 'RCPODS_WMO2006_Emissions_RCP45.prn', - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-01, - GEN_AIR_GRAMMPROMOL = 2.898400e+01, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+00, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-01, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-01, 1, 1, 4.000000e-01, - GEN_RCPREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - GEN_RCPPLUSREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - RUN_ID = 3, -/ diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_20.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_20.CFG deleted file mode 100644 index 48dcede5d..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_20.CFG +++ /dev/null @@ -1,412 +0,0 @@ -&NML_ALLCFGS - RUNNAME = 'RCPfinal', - RUNDATE = 'No Date specified.', - FILE_EMISSIONSCENARIO = 'RCP45', - FILE_TUNINGMODEL = 'C4MIP_BERN', - FILE_TUNINGMODEL_2 = 'USER', - SECTOR_INCLUDE = 'NOSECTOR', - FILE_SECTOR_EMIS = '', - BULKRUNMODUS = 'SINGLERUN', - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-02, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-02, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-01, - CO2_FERTILIZATION_FACTOR = 2.762800e-01, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-01, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-02, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-01, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-01, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-01, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-02, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-01, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = '3D-GFDL', - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-02, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+00, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 4.440848e-02, - CH4_PPB2TGCH4 = 2.780000e+00, - CH4_S = -3.200000e-01, - CH4_SCALEOHSENS = 8.712884e-01, - CH4_ANOX = 4.200000e-03, - CH4_ACO = -1.050000e-04, - CH4_AVOC = -3.150000e-04, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-01, - CH4_ADDEDSTRATH2O_PERCENT = 1.931215e-01, - CH4_RADEFF_WM2PERPPB = 3.480593e-02, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 1.266801e+02, - N2O_RADEFF_WM2PERPPB = 1.225008e-01, - N2O_PPB2TGN = 4.810000e+00, - N2O_S = -5.000000e-02, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 4.491454e-02, - TROPOZ_OZCH4 = 3.648498e+00, - TROPOZ_OZNOX = 1.250000e-01, - TROPOZ_OZCO = 1.184897e-03, - TROPOZ_OZVOC = 4.909627e-03, - STRATOZ_CLEXPON = 1.553756e+00, - STRATOZ_O3SCALE = -1.634114e-03, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+00, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+00, - AIR_BC_SCALE = 1.500000e+00, - RF_AIR_H2O_WM2 = 1.000000e-03, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-03, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-03, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 2.055544e+00, - CORE_FEEDBACK_QSENSITIVITY = 2.009328e-02, - CORE_VERTICALDIFFUSIVITY = 8.318039e-01, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-01, - CORE_VERTICALDIFF_TOP_DKDT = -3.504552e-01, - CORE_ADJUST_SST2OCNATM = 1.250000e+00, - CORE_DELQ2XCO2 = 3.944291e+00, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.475473e+00, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-01, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-01, - CORE_UPWELL_THRESH_TEMP_NH = 1.078428e+01, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 1.324907e+00, - CORE_HEATXCHANGE_NORTHSOUTH = 3.788086e+00, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1.076553e+00, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = 'GLOBE', - CORE_HEMISFRACTION_NH_LAND = 4.200000e-01, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-01, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-01, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-01, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-01, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-01, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+00, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-03, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+00, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-01, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-01, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+00, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-04, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+00, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-01, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-01, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-01, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-02, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = 'HIST_SEALEVEL_CHURCHWHITE2006_RF.IN', - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = 'ASCII', - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = 'JUMPSTART', - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = 'ALL', - RF_VOLCANIC_SCALE = 5.529020e-01, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 1.006025e+00, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 1.083810e+00, - RF_MHALOSUM_SCALE = 9.860114e-01, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -4.393900e-01, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -8.479235e-02, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 3.214765e-01, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -2.205530e-02, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = -1.850603e-01, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = -2.024790e-01, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 2.209453e-01, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -8.644438e-01, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-02, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 4.798792e-01, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -1.948733e-01, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = -2.915055e-01, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -9.173134e-01, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.334766e+00, 1.310910e+00, 1.392779e+00, 1.429686e+00, - RF_REGIONS_CH4 = 5.234747e-01, 4.667515e-01, 5.700533e-01, 4.233411e-01, - RF_REGIONS_CH4OXSTRATH2O = 3.609354e-02, 4.639306e-02, 9.419258e-02, 4.023138e-02, - RF_REGIONS_N2O = 1.482706e-01, 1.395490e-01, 1.755649e-01, 1.398665e-01, - RF_REGIONS_MHALO = 1.805716e-01, 1.682333e-01, 1.504903e-01, 1.419713e-01, - RF_REGIONS_TROPOZ = 4.927879e-01, 4.828534e-01, 1.848339e-01, 2.364083e-01, - RF_REGIONS_STRATOZ = -1.271299e-02, -2.485420e-02, -6.393554e-02, -2.427053e-01, - RF_REGIONS_DUST = -7.888821e-01, -1.399108e+00, -3.397831e-01, -6.717535e-01, - RF_REGIONS_SEASALT = -1.175350e+00, -2.037600e-01, -1.825320e+00, -2.020700e-01, - RF_REGIONS_FGAS = 1.799103e-01, 1.667486e-01, 1.563906e-01, 1.329318e-01, - RF_REGIONS_CLOUD_COVER = -1.332780e+00, -1.580600e+00, -5.294200e-01, - -8.112700e-01, - RF_REGIONS_CLOUD_ALBEDO = -8.713283e-01, -1.299530e+00, -3.380169e-01, - -5.824434e-01, - RF_REGIONS_AIRH2O = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CONTRAIL = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CIRRUS = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+00, - RF_EFFICACY_TROPOZ = 8.500000e-01, - RF_EFFICACY_AER_DIR = 9.000000e-01, - RF_EFFICACY_CLOUD_ALBEDO = 1.145062e+00, - RF_EFFICACY_CLOUD_COVER = 9.000000e-01, - RF_EFFICACY_SOLAR = 8.500000e-01, - RF_EFFICACY_VOLC = 9.500000e-01, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+00, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-01, - RF_EFFICACY_CIRRUS = 6.000000e-01, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = 'GISS_SOXNB_OT.IN', - FILE_SOXI_OT = 'GISS_SOXI_OT.IN', - FILE_SOXT_RF = 'GISS_SOX_RF.IN', - FILE_SOXI_EMIS = 'HISTRCP_SOXI_EMIS.IN', - FILE_SOXB_EMIS = 'HISTRCP_SOXB_EMIS.IN', - FILE_SOXN_EMIS = 'HIST_SOXN_EMIS.IN', - FILE_COI_EMIS = 'HISTRCP_COI_EMIS.IN', - FILE_COB_EMIS = 'HISTRCP_COB_EMIS.IN', - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-01, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = 'HISTRCP_BCI_EMIS.IN', - FILE_BCB_EMIS = 'HISTRCP_BCB_EMIS.IN', - FILE_OCB_EMIS = 'HISTRCP_OCB_EMIS.IN', - FILE_OCI_EMIS = 'HISTRCP_OCI_EMIS.IN', - FILE_BCB_OT = 'GISS_BCB_OT.IN', - FILE_BCI_OT = 'GISS_BCI_OT.IN', - FILE_OCB_OT = 'GISS_OCB_OT.IN', - FILE_OCI_OT = 'GISS_OCI_OT.IN', - FILE_OCN_OT = 'GISS_OCN_OT.IN', - FILE_BCSNOW_RF = 'GISS_BCSNOW_RF.IN', - FILE_BCB_RF = 'GISS_BCB_RF.IN', - FILE_BCI_RF = 'GISS_BCI_RF.IN', - FILE_OCB_RF = 'GISS_OCB_RF.IN', - FILE_OCI_RF = 'GISS_OCI_RF.IN', - FILE_CO2I_EMIS = 'HISTRCP_CO2I_EMIS.IN', - FILE_CO2B_EMIS = 'HISTRCP_CO2B_EMIS.IN', - FILE_CH4I_EMIS = 'HISTEDGAR_CH4I_EMIS.IN', - FILE_CH4B_EMIS = 'HISTEDGAR_CH4B_EMIS.IN', - FILE_CH4N_EMIS = '', - FILE_N2OI_EMIS = 'HISTEDGAR_N2OI_EMIS.IN', - FILE_N2OB_EMIS = 'HISTEDGAR_N2OB_EMIS.IN', - FILE_N2ON_EMIS = '', - FILE_NOXI_EMIS = 'HISTRCP_NOXI_EMIS.IN', - FILE_NOXB_EMIS = 'HISTRCP_NOXB_EMIS.IN', - FILE_NMVOCI_EMIS = 'HISTRCP_NMVOCI_EMIS.IN', - FILE_NMVOCB_EMIS = 'HISTRCP_NMVOCB_EMIS.IN', - FILE_MINERALDUST_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXB_OT = 'MIXED_NOXB_OT.IN', - FILE_NOXI_OT = 'MIXED_NOXI_OT.IN', - FILE_SS_OT = 'GISS_SS_OT.IN', - FILE_CO2_CONC = 'HISTRCP_CO2_CONC.IN', - FILE_CH4_CONC = 'HISTRCP_CH4_CONC.IN', - FILE_N2O_CONC = 'HISTRCP_N2O_CONC.IN', - FILE_VOLCANIC_RF = 'HIST_VOLCANIC_RF.MON', - FILE_SOLAR_RF = 'HISTRCP_SOLAR_RF.IN', - FILE_EXTRA_RF = '', - FILE_LANDUSE_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXT_RF = 'GISS_NOX_RF.IN', - CLOUD_WEIGHT_NOX = 6.818569e-02, - CLOUD_WEIGHT_BC = 4.713222e-03, - CLOUD_WEIGHT_OC = 6.412881e-02, - CLOUD_WEIGHT_SOX = 1.300000e-01, - CLOUD_WEIGHT_SS = 1.300000e-01, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-01, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = 'CF4', 'C2F6', 'C6F14', 'HFC23', 'HFC32', 'HFC43_10', 'HFC125', - 'HFC134a', 'HFC143a', 'HFC227ea', 'HFC245fa', 'SF6', - FILE_FGAS_EMIS = 'HISTRCP_CF4_EMIS.IN', 'HISTRCP_C2F6_EMIS.IN', 'HISTRCP_C6F14_EMIS.IN', - 'HISTRCP_HFC23_EMIS.IN', 'HISTRCP_HFC32_EMIS.IN', '', - 'HISTRCP_HFC125_EMIS.IN', 'HISTRCP_HFC134a_EMIS.IN', - 'HISTRCP_HFC143a_EMIS.IN', 'HISTRCP_HFC227EA_EMIS.IN', - 'HISTRCP_HFC245fa_EMIS.IN', 'HISTRCP_SF6_EMIS.IN', - FILE_FGAS_CONC = 'HISTRCP_CF4_CONC.IN', 'HISTRCP_C2F6_CONC.IN', 'HISTRCP_C6F14_CONC.IN', - 'HISTRCP_HFC23_CONC.IN', 'HISTRCP_HFC32_CONC.IN', 'HISTRCP_HFC43-10_CONC.IN', - 'HISTRCP_HFC125_CONC.IN', 'HISTRCP_HFC134a_CONC.IN', - 'HISTRCP_HFC143a_CONC.IN', 'HISTRCP_HFC227EA_CONC.IN', - 'HISTRCP_HFC245fa_CONC.IN', 'HISTRCP_SF6_CONC.IN', - FGAS_FORMULA = '(CF4)', '(C2F6)', '(C6F14)', '(CHF3)', '(CH2F2)', '(C5H2F10)', - '(CHF2CF3)', '(CH2FCF3)', '(CH3CF3)', '(C3HF7)', '(C3H3F5)', - '(SF6)', - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+00, 1.590000e+01, 29, - 14, 52, 3.420000e+01, 7.600000e+00, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+00, 1.590000e+01, 29, 14, 52, - 3.420000e+01, 7.600000e+00, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.680000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.680000e-01, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-01, 2.600000e-01, 4.900000e-01, - 1.900000e-01, 1.100000e-01, 4.000000e-01, - 2.300000e-01, 1.600000e-01, 1.300000e-01, - 2.600000e-01, 2.800000e-01, 5.200000e-01, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, - 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = 'CFC_11', 'CFC_12', 'CFC_113', 'CFC_114', 'CFC_115', 'CARB_TET', - 'MCF', 'HCFC_22', 'HCFC_141B', 'HCFC_142B', 'HALON1211', - 'HALON1202', 'HALON1301', 'HALON2402', 'CH3BR', 'CH3CL', - MHALO_FORMULA = '(CCL3F)', '(CCL2F2)', '(C2CL3F3)', '(C2CL2F4)', '(C2CLF5)', - '(CCL4)', '(CH3CCL3)', '(CHCLF2)', '(CH3CCL2F)', '(CH3CCLF2)', - '(CF2CLBR)', '(CBR2F2)', '(CF3BR)', '((CF2BR)2)', '(CH3BR)', - '(CH3CL)', - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-01, 7.500000e-01, 7.500000e-01, - 7.500000e-01, 1.060000e+00, 1.080000e+00, - 3.500000e-01, 7.200000e-01, 3.600000e-01, - 1.100000e+00, 8.000000e-01, 8.000000e-01, - 8.000000e-01, 1.080000e+00, 1.080000e+00, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+00, 1.790000e+01, - 16, 2.900000e+00, 65, 20, 7.000000e-01, 1.300000e+00, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+00, 12, 9.300000e+00, 1.790000e+01, - 0, 0, 0, 0, 1.700000e+00, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+01, - 0, 65, 4.857143e+01, 1.830000e+00, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-01, 3.200000e-01, 3.000000e-01, 3.100000e-01, - 1.800000e-01, 1.300000e-01, 6.000000e-02, 2.000000e-01, - 1.400000e-01, 2.000000e-01, 3.000000e-01, 0, - 3.200000e-01, 3.300000e-01, 1.000000e-02, 1.000000e-02, - MHALO_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.690000e-01, 9.690000e-01, - 9.690000e-01, 9.690000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.690000e-01, 9.490000e-01, - 9.690000e-01, 9.670000e-01, 9.490000e-01, 9.490000e-01, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, - 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = 'RCPODS_WMO2006_MixingRatios_A1.prn', - FILE_MHALO_EMIS = 'RCPODS_WMO2006_Emissions_RCP45.prn', - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-01, - GEN_AIR_GRAMMPROMOL = 2.898400e+01, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+00, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-01, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-01, 1, 1, 4.000000e-01, - GEN_RCPREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - GEN_RCPPLUSREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - RUN_ID = 3, -/ diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_25.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_25.CFG deleted file mode 100644 index 18fd83ef9..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_25.CFG +++ /dev/null @@ -1,412 +0,0 @@ -&NML_ALLCFGS - RUNNAME = 'RCPfinal', - RUNDATE = 'No Date specified.', - FILE_EMISSIONSCENARIO = 'RCP45', - FILE_TUNINGMODEL = 'C4MIP_BERN', - FILE_TUNINGMODEL_2 = 'USER', - SECTOR_INCLUDE = 'NOSECTOR', - FILE_SECTOR_EMIS = '', - BULKRUNMODUS = 'SINGLERUN', - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-02, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-02, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-01, - CO2_FERTILIZATION_FACTOR = 2.762800e-01, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-01, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-02, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-01, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-01, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-01, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-02, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-01, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = '3D-GFDL', - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-02, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+00, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 2.529877e-02, - CH4_PPB2TGCH4 = 2.780000e+00, - CH4_S = -3.200000e-01, - CH4_SCALEOHSENS = 1.404156e+00, - CH4_ANOX = 4.200000e-03, - CH4_ACO = -1.050000e-04, - CH4_AVOC = -3.150000e-04, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-01, - CH4_ADDEDSTRATH2O_PERCENT = 1.206843e-01, - CH4_RADEFF_WM2PERPPB = 3.844746e-02, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 1.153051e+02, - N2O_RADEFF_WM2PERPPB = 1.305549e-01, - N2O_PPB2TGN = 4.810000e+00, - N2O_S = -5.000000e-02, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 7.596605e-02, - TROPOZ_OZCH4 = 1.790555e+00, - TROPOZ_OZNOX = 1.250000e-01, - TROPOZ_OZCO = 8.419062e-04, - TROPOZ_OZVOC = 5.183724e-03, - STRATOZ_CLEXPON = 1.600540e+00, - STRATOZ_O3SCALE = -1.565373e-03, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+00, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+00, - AIR_BC_SCALE = 1.500000e+00, - RF_AIR_H2O_WM2 = 1.000000e-03, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-03, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-03, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 2.278399e+00, - CORE_FEEDBACK_QSENSITIVITY = 1.284542e-02, - CORE_VERTICALDIFFUSIVITY = 2.712270e+00, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-01, - CORE_VERTICALDIFF_TOP_DKDT = -6.571511e-01, - CORE_ADJUST_SST2OCNATM = 1.250000e+00, - CORE_DELQ2XCO2 = 4.018148e+00, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.427087e+00, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-01, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-01, - CORE_UPWELL_THRESH_TEMP_NH = 8.994772e+00, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 9.763385e-01, - CORE_HEATXCHANGE_NORTHSOUTH = 6.111573e-01, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1.068780e+00, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = 'GLOBE', - CORE_HEMISFRACTION_NH_LAND = 4.200000e-01, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-01, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-01, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-01, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-01, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-01, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+00, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-03, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+00, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-01, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-01, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+00, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-04, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+00, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-01, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-01, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-01, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-02, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = 'HIST_SEALEVEL_CHURCHWHITE2006_RF.IN', - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = 'ASCII', - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = 'JUMPSTART', - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = 'ALL', - RF_VOLCANIC_SCALE = 3.287552e-01, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 1.180542e+00, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 9.398604e-01, - RF_MHALOSUM_SCALE = 1.078489e+00, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -3.119089e-01, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -1.081539e-01, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 2.883033e-01, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -3.515508e-02, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = 1.350190e-02, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = -8.680111e-02, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 9.104058e-02, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -8.048484e-01, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-02, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 2.297252e-01, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -4.211509e-01, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = 1.503441e-02, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -5.176167e-01, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.488939e+00, 1.476789e+00, 1.575577e+00, 1.215344e+00, - RF_REGIONS_CH4 = 5.734551e-01, 4.117648e-01, 5.864589e-01, 4.325857e-01, - RF_REGIONS_CH4OXSTRATH2O = 3.878292e-02, 5.007520e-02, 8.896325e-02, 3.925208e-02, - RF_REGIONS_N2O = 1.587196e-01, 1.500916e-01, 1.775122e-01, 1.191702e-01, - RF_REGIONS_MHALO = 1.730417e-01, 1.650824e-01, 1.397763e-01, 1.501655e-01, - RF_REGIONS_TROPOZ = 5.083233e-01, 4.976197e-01, 1.726275e-01, 2.392030e-01, - RF_REGIONS_STRATOZ = -1.130967e-02, -2.307855e-02, -6.815833e-02, -2.186062e-01, - RF_REGIONS_DUST = -7.947549e-01, -1.381768e+00, -3.240499e-01, -6.200076e-01, - RF_REGIONS_SEASALT = -1.175350e+00, -2.037600e-01, -1.825320e+00, -2.020700e-01, - RF_REGIONS_FGAS = 1.611392e-01, 1.675466e-01, 1.403067e-01, 1.578985e-01, - RF_REGIONS_CLOUD_COVER = -1.332780e+00, -1.580600e+00, -5.294200e-01, - -8.112700e-01, - RF_REGIONS_CLOUD_ALBEDO = -9.272447e-01, -1.361751e+00, -3.340188e-01, - -6.307839e-01, - RF_REGIONS_AIRH2O = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CONTRAIL = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CIRRUS = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+00, - RF_EFFICACY_TROPOZ = 8.500000e-01, - RF_EFFICACY_AER_DIR = 9.000000e-01, - RF_EFFICACY_CLOUD_ALBEDO = 1.363709e+00, - RF_EFFICACY_CLOUD_COVER = 9.000000e-01, - RF_EFFICACY_SOLAR = 8.500000e-01, - RF_EFFICACY_VOLC = 9.500000e-01, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+00, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-01, - RF_EFFICACY_CIRRUS = 6.000000e-01, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = 'GISS_SOXNB_OT.IN', - FILE_SOXI_OT = 'GISS_SOXI_OT.IN', - FILE_SOXT_RF = 'GISS_SOX_RF.IN', - FILE_SOXI_EMIS = 'HISTRCP_SOXI_EMIS.IN', - FILE_SOXB_EMIS = 'HISTRCP_SOXB_EMIS.IN', - FILE_SOXN_EMIS = 'HIST_SOXN_EMIS.IN', - FILE_COI_EMIS = 'HISTRCP_COI_EMIS.IN', - FILE_COB_EMIS = 'HISTRCP_COB_EMIS.IN', - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-01, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = 'HISTRCP_BCI_EMIS.IN', - FILE_BCB_EMIS = 'HISTRCP_BCB_EMIS.IN', - FILE_OCB_EMIS = 'HISTRCP_OCB_EMIS.IN', - FILE_OCI_EMIS = 'HISTRCP_OCI_EMIS.IN', - FILE_BCB_OT = 'GISS_BCB_OT.IN', - FILE_BCI_OT = 'GISS_BCI_OT.IN', - FILE_OCB_OT = 'GISS_OCB_OT.IN', - FILE_OCI_OT = 'GISS_OCI_OT.IN', - FILE_OCN_OT = 'GISS_OCN_OT.IN', - FILE_BCSNOW_RF = 'GISS_BCSNOW_RF.IN', - FILE_BCB_RF = 'GISS_BCB_RF.IN', - FILE_BCI_RF = 'GISS_BCI_RF.IN', - FILE_OCB_RF = 'GISS_OCB_RF.IN', - FILE_OCI_RF = 'GISS_OCI_RF.IN', - FILE_CO2I_EMIS = 'HISTRCP_CO2I_EMIS.IN', - FILE_CO2B_EMIS = 'HISTRCP_CO2B_EMIS.IN', - FILE_CH4I_EMIS = 'HISTEDGAR_CH4I_EMIS.IN', - FILE_CH4B_EMIS = 'HISTEDGAR_CH4B_EMIS.IN', - FILE_CH4N_EMIS = '', - FILE_N2OI_EMIS = 'HISTEDGAR_N2OI_EMIS.IN', - FILE_N2OB_EMIS = 'HISTEDGAR_N2OB_EMIS.IN', - FILE_N2ON_EMIS = '', - FILE_NOXI_EMIS = 'HISTRCP_NOXI_EMIS.IN', - FILE_NOXB_EMIS = 'HISTRCP_NOXB_EMIS.IN', - FILE_NMVOCI_EMIS = 'HISTRCP_NMVOCI_EMIS.IN', - FILE_NMVOCB_EMIS = 'HISTRCP_NMVOCB_EMIS.IN', - FILE_MINERALDUST_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXB_OT = 'MIXED_NOXB_OT.IN', - FILE_NOXI_OT = 'MIXED_NOXI_OT.IN', - FILE_SS_OT = 'GISS_SS_OT.IN', - FILE_CO2_CONC = 'HISTRCP_CO2_CONC.IN', - FILE_CH4_CONC = 'HISTRCP_CH4_CONC.IN', - FILE_N2O_CONC = 'HISTRCP_N2O_CONC.IN', - FILE_VOLCANIC_RF = 'HIST_VOLCANIC_RF.MON', - FILE_SOLAR_RF = 'HISTRCP_SOLAR_RF.IN', - FILE_EXTRA_RF = '', - FILE_LANDUSE_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXT_RF = 'GISS_NOX_RF.IN', - CLOUD_WEIGHT_NOX = 5.217309e-03, - CLOUD_WEIGHT_BC = 1.074276e-02, - CLOUD_WEIGHT_OC = 9.814148e-02, - CLOUD_WEIGHT_SOX = 1.300000e-01, - CLOUD_WEIGHT_SS = 1.300000e-01, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-01, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = 'CF4', 'C2F6', 'C6F14', 'HFC23', 'HFC32', 'HFC43_10', 'HFC125', - 'HFC134a', 'HFC143a', 'HFC227ea', 'HFC245fa', 'SF6', - FILE_FGAS_EMIS = 'HISTRCP_CF4_EMIS.IN', 'HISTRCP_C2F6_EMIS.IN', 'HISTRCP_C6F14_EMIS.IN', - 'HISTRCP_HFC23_EMIS.IN', 'HISTRCP_HFC32_EMIS.IN', '', - 'HISTRCP_HFC125_EMIS.IN', 'HISTRCP_HFC134a_EMIS.IN', - 'HISTRCP_HFC143a_EMIS.IN', 'HISTRCP_HFC227EA_EMIS.IN', - 'HISTRCP_HFC245fa_EMIS.IN', 'HISTRCP_SF6_EMIS.IN', - FILE_FGAS_CONC = 'HISTRCP_CF4_CONC.IN', 'HISTRCP_C2F6_CONC.IN', 'HISTRCP_C6F14_CONC.IN', - 'HISTRCP_HFC23_CONC.IN', 'HISTRCP_HFC32_CONC.IN', 'HISTRCP_HFC43-10_CONC.IN', - 'HISTRCP_HFC125_CONC.IN', 'HISTRCP_HFC134a_CONC.IN', - 'HISTRCP_HFC143a_CONC.IN', 'HISTRCP_HFC227EA_CONC.IN', - 'HISTRCP_HFC245fa_CONC.IN', 'HISTRCP_SF6_CONC.IN', - FGAS_FORMULA = '(CF4)', '(C2F6)', '(C6F14)', '(CHF3)', '(CH2F2)', '(C5H2F10)', - '(CHF2CF3)', '(CH2FCF3)', '(CH3CF3)', '(C3HF7)', '(C3H3F5)', - '(SF6)', - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+00, 1.590000e+01, 29, - 14, 52, 3.420000e+01, 7.600000e+00, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+00, 1.590000e+01, 29, 14, 52, - 3.420000e+01, 7.600000e+00, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.680000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.680000e-01, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-01, 2.600000e-01, 4.900000e-01, - 1.900000e-01, 1.100000e-01, 4.000000e-01, - 2.300000e-01, 1.600000e-01, 1.300000e-01, - 2.600000e-01, 2.800000e-01, 5.200000e-01, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, - 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = 'CFC_11', 'CFC_12', 'CFC_113', 'CFC_114', 'CFC_115', 'CARB_TET', - 'MCF', 'HCFC_22', 'HCFC_141B', 'HCFC_142B', 'HALON1211', - 'HALON1202', 'HALON1301', 'HALON2402', 'CH3BR', 'CH3CL', - MHALO_FORMULA = '(CCL3F)', '(CCL2F2)', '(C2CL3F3)', '(C2CL2F4)', '(C2CLF5)', - '(CCL4)', '(CH3CCL3)', '(CHCLF2)', '(CH3CCL2F)', '(CH3CCLF2)', - '(CF2CLBR)', '(CBR2F2)', '(CF3BR)', '((CF2BR)2)', '(CH3BR)', - '(CH3CL)', - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-01, 7.500000e-01, 7.500000e-01, - 7.500000e-01, 1.060000e+00, 1.080000e+00, - 3.500000e-01, 7.200000e-01, 3.600000e-01, - 1.100000e+00, 8.000000e-01, 8.000000e-01, - 8.000000e-01, 1.080000e+00, 1.080000e+00, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+00, 1.790000e+01, - 16, 2.900000e+00, 65, 20, 7.000000e-01, 1.300000e+00, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+00, 12, 9.300000e+00, 1.790000e+01, - 0, 0, 0, 0, 1.700000e+00, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+01, - 0, 65, 4.857143e+01, 1.830000e+00, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-01, 3.200000e-01, 3.000000e-01, 3.100000e-01, - 1.800000e-01, 1.300000e-01, 6.000000e-02, 2.000000e-01, - 1.400000e-01, 2.000000e-01, 3.000000e-01, 0, - 3.200000e-01, 3.300000e-01, 1.000000e-02, 1.000000e-02, - MHALO_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.690000e-01, 9.690000e-01, - 9.690000e-01, 9.690000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.690000e-01, 9.490000e-01, - 9.690000e-01, 9.670000e-01, 9.490000e-01, 9.490000e-01, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, - 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = 'RCPODS_WMO2006_MixingRatios_A1.prn', - FILE_MHALO_EMIS = 'RCPODS_WMO2006_Emissions_RCP45.prn', - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-01, - GEN_AIR_GRAMMPROMOL = 2.898400e+01, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+00, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-01, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-01, 1, 1, 4.000000e-01, - GEN_RCPREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - GEN_RCPPLUSREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - RUN_ID = 3, -/ diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_30.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_30.CFG deleted file mode 100644 index 2baa42060..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_30.CFG +++ /dev/null @@ -1,412 +0,0 @@ -&NML_ALLCFGS - RUNNAME = 'RCPfinal', - RUNDATE = 'No Date specified.', - FILE_EMISSIONSCENARIO = 'RCP45', - FILE_TUNINGMODEL = 'C4MIP_BERN', - FILE_TUNINGMODEL_2 = 'USER', - SECTOR_INCLUDE = 'NOSECTOR', - FILE_SECTOR_EMIS = '', - BULKRUNMODUS = 'SINGLERUN', - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-02, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-02, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-01, - CO2_FERTILIZATION_FACTOR = 2.762800e-01, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-01, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-02, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-01, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-01, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-01, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-02, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-01, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = '3D-GFDL', - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-02, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+00, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 2.729143e-02, - CH4_PPB2TGCH4 = 2.780000e+00, - CH4_S = -3.200000e-01, - CH4_SCALEOHSENS = 1.195908e+00, - CH4_ANOX = 4.200000e-03, - CH4_ACO = -1.050000e-04, - CH4_AVOC = -3.150000e-04, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-01, - CH4_ADDEDSTRATH2O_PERCENT = 3.486500e-02, - CH4_RADEFF_WM2PERPPB = 3.507262e-02, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 1.186647e+02, - N2O_RADEFF_WM2PERPPB = 1.249370e-01, - N2O_PPB2TGN = 4.810000e+00, - N2O_S = -5.000000e-02, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 4.310059e-02, - TROPOZ_OZCH4 = 8.763544e+00, - TROPOZ_OZNOX = 1.250000e-01, - TROPOZ_OZCO = 8.196568e-04, - TROPOZ_OZVOC = 4.981660e-03, - STRATOZ_CLEXPON = 2.767284e+00, - STRATOZ_O3SCALE = 4.121675e-06, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+00, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+00, - AIR_BC_SCALE = 1.500000e+00, - RF_AIR_H2O_WM2 = 1.000000e-03, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-03, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-03, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 2.453442e+00, - CORE_FEEDBACK_QSENSITIVITY = 8.029392e-03, - CORE_VERTICALDIFFUSIVITY = 2.678206e+00, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-01, - CORE_VERTICALDIFF_TOP_DKDT = -3.516854e-02, - CORE_ADJUST_SST2OCNATM = 1.250000e+00, - CORE_DELQ2XCO2 = 3.398066e+00, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.670111e+00, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-01, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-01, - CORE_UPWELL_THRESH_TEMP_NH = 1.035145e+01, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 5.340556e+00, - CORE_HEATXCHANGE_NORTHSOUTH = 2.415472e+00, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1.399582e+00, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = 'GLOBE', - CORE_HEMISFRACTION_NH_LAND = 4.200000e-01, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-01, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-01, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-01, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-01, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-01, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+00, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-03, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+00, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-01, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-01, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+00, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-04, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+00, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-01, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-01, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-01, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-02, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = 'HIST_SEALEVEL_CHURCHWHITE2006_RF.IN', - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = 'ASCII', - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = 'JUMPSTART', - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = 'ALL', - RF_VOLCANIC_SCALE = 5.452429e-01, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 1.791918e+00, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 1.085006e+00, - RF_MHALOSUM_SCALE = 1.010663e+00, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -3.972227e-01, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -6.234836e-02, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 2.914312e-01, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -4.968971e-02, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = -1.332681e-01, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = -1.659537e-01, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 1.206255e-01, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -8.339406e-01, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-02, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 1.837936e-01, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -3.102949e-01, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = -2.472340e-01, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -3.244895e-01, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.353514e+00, 1.269177e+00, 1.356303e+00, 1.304237e+00, - RF_REGIONS_CH4 = 5.239786e-01, 4.613051e-01, 6.523875e-01, 4.244828e-01, - RF_REGIONS_CH4OXSTRATH2O = 3.922579e-02, 4.845419e-02, 8.004691e-02, 4.503075e-02, - RF_REGIONS_N2O = 1.509460e-01, 1.331090e-01, 1.606219e-01, 1.221329e-01, - RF_REGIONS_MHALO = 1.685468e-01, 1.643972e-01, 1.545449e-01, 1.376440e-01, - RF_REGIONS_TROPOZ = 4.203462e-01, 5.627439e-01, 1.882784e-01, 2.173036e-01, - RF_REGIONS_STRATOZ = -1.144897e-02, -2.143734e-02, -6.845182e-02, -2.417136e-01, - RF_REGIONS_DUST = -7.783535e-01, -1.483597e+00, -3.453398e-01, -6.473482e-01, - RF_REGIONS_SEASALT = -1.175350e+00, -2.037600e-01, -1.825320e+00, -2.020700e-01, - RF_REGIONS_FGAS = 1.592961e-01, 1.535678e-01, 1.513064e-01, 1.386841e-01, - RF_REGIONS_CLOUD_COVER = -1.332780e+00, -1.580600e+00, -5.294200e-01, - -8.112700e-01, - RF_REGIONS_CLOUD_ALBEDO = -9.291431e-01, -1.377019e+00, -3.226385e-01, - -6.346771e-01, - RF_REGIONS_AIRH2O = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CONTRAIL = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CIRRUS = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+00, - RF_EFFICACY_TROPOZ = 8.500000e-01, - RF_EFFICACY_AER_DIR = 9.000000e-01, - RF_EFFICACY_CLOUD_ALBEDO = 1.476411e+00, - RF_EFFICACY_CLOUD_COVER = 9.000000e-01, - RF_EFFICACY_SOLAR = 8.500000e-01, - RF_EFFICACY_VOLC = 9.500000e-01, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+00, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-01, - RF_EFFICACY_CIRRUS = 6.000000e-01, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = 'GISS_SOXNB_OT.IN', - FILE_SOXI_OT = 'GISS_SOXI_OT.IN', - FILE_SOXT_RF = 'GISS_SOX_RF.IN', - FILE_SOXI_EMIS = 'HISTRCP_SOXI_EMIS.IN', - FILE_SOXB_EMIS = 'HISTRCP_SOXB_EMIS.IN', - FILE_SOXN_EMIS = 'HIST_SOXN_EMIS.IN', - FILE_COI_EMIS = 'HISTRCP_COI_EMIS.IN', - FILE_COB_EMIS = 'HISTRCP_COB_EMIS.IN', - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-01, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = 'HISTRCP_BCI_EMIS.IN', - FILE_BCB_EMIS = 'HISTRCP_BCB_EMIS.IN', - FILE_OCB_EMIS = 'HISTRCP_OCB_EMIS.IN', - FILE_OCI_EMIS = 'HISTRCP_OCI_EMIS.IN', - FILE_BCB_OT = 'GISS_BCB_OT.IN', - FILE_BCI_OT = 'GISS_BCI_OT.IN', - FILE_OCB_OT = 'GISS_OCB_OT.IN', - FILE_OCI_OT = 'GISS_OCI_OT.IN', - FILE_OCN_OT = 'GISS_OCN_OT.IN', - FILE_BCSNOW_RF = 'GISS_BCSNOW_RF.IN', - FILE_BCB_RF = 'GISS_BCB_RF.IN', - FILE_BCI_RF = 'GISS_BCI_RF.IN', - FILE_OCB_RF = 'GISS_OCB_RF.IN', - FILE_OCI_RF = 'GISS_OCI_RF.IN', - FILE_CO2I_EMIS = 'HISTRCP_CO2I_EMIS.IN', - FILE_CO2B_EMIS = 'HISTRCP_CO2B_EMIS.IN', - FILE_CH4I_EMIS = 'HISTEDGAR_CH4I_EMIS.IN', - FILE_CH4B_EMIS = 'HISTEDGAR_CH4B_EMIS.IN', - FILE_CH4N_EMIS = '', - FILE_N2OI_EMIS = 'HISTEDGAR_N2OI_EMIS.IN', - FILE_N2OB_EMIS = 'HISTEDGAR_N2OB_EMIS.IN', - FILE_N2ON_EMIS = '', - FILE_NOXI_EMIS = 'HISTRCP_NOXI_EMIS.IN', - FILE_NOXB_EMIS = 'HISTRCP_NOXB_EMIS.IN', - FILE_NMVOCI_EMIS = 'HISTRCP_NMVOCI_EMIS.IN', - FILE_NMVOCB_EMIS = 'HISTRCP_NMVOCB_EMIS.IN', - FILE_MINERALDUST_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXB_OT = 'MIXED_NOXB_OT.IN', - FILE_NOXI_OT = 'MIXED_NOXI_OT.IN', - FILE_SS_OT = 'GISS_SS_OT.IN', - FILE_CO2_CONC = 'HISTRCP_CO2_CONC.IN', - FILE_CH4_CONC = 'HISTRCP_CH4_CONC.IN', - FILE_N2O_CONC = 'HISTRCP_N2O_CONC.IN', - FILE_VOLCANIC_RF = 'HIST_VOLCANIC_RF.MON', - FILE_SOLAR_RF = 'HISTRCP_SOLAR_RF.IN', - FILE_EXTRA_RF = '', - FILE_LANDUSE_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXT_RF = 'GISS_NOX_RF.IN', - CLOUD_WEIGHT_NOX = 2.021721e-02, - CLOUD_WEIGHT_BC = 9.054401e-04, - CLOUD_WEIGHT_OC = 1.093270e-01, - CLOUD_WEIGHT_SOX = 1.300000e-01, - CLOUD_WEIGHT_SS = 1.300000e-01, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-01, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = 'CF4', 'C2F6', 'C6F14', 'HFC23', 'HFC32', 'HFC43_10', 'HFC125', - 'HFC134a', 'HFC143a', 'HFC227ea', 'HFC245fa', 'SF6', - FILE_FGAS_EMIS = 'HISTRCP_CF4_EMIS.IN', 'HISTRCP_C2F6_EMIS.IN', 'HISTRCP_C6F14_EMIS.IN', - 'HISTRCP_HFC23_EMIS.IN', 'HISTRCP_HFC32_EMIS.IN', '', - 'HISTRCP_HFC125_EMIS.IN', 'HISTRCP_HFC134a_EMIS.IN', - 'HISTRCP_HFC143a_EMIS.IN', 'HISTRCP_HFC227EA_EMIS.IN', - 'HISTRCP_HFC245fa_EMIS.IN', 'HISTRCP_SF6_EMIS.IN', - FILE_FGAS_CONC = 'HISTRCP_CF4_CONC.IN', 'HISTRCP_C2F6_CONC.IN', 'HISTRCP_C6F14_CONC.IN', - 'HISTRCP_HFC23_CONC.IN', 'HISTRCP_HFC32_CONC.IN', 'HISTRCP_HFC43-10_CONC.IN', - 'HISTRCP_HFC125_CONC.IN', 'HISTRCP_HFC134a_CONC.IN', - 'HISTRCP_HFC143a_CONC.IN', 'HISTRCP_HFC227EA_CONC.IN', - 'HISTRCP_HFC245fa_CONC.IN', 'HISTRCP_SF6_CONC.IN', - FGAS_FORMULA = '(CF4)', '(C2F6)', '(C6F14)', '(CHF3)', '(CH2F2)', '(C5H2F10)', - '(CHF2CF3)', '(CH2FCF3)', '(CH3CF3)', '(C3HF7)', '(C3H3F5)', - '(SF6)', - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+00, 1.590000e+01, 29, - 14, 52, 3.420000e+01, 7.600000e+00, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+00, 1.590000e+01, 29, 14, 52, - 3.420000e+01, 7.600000e+00, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.680000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.680000e-01, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-01, 2.600000e-01, 4.900000e-01, - 1.900000e-01, 1.100000e-01, 4.000000e-01, - 2.300000e-01, 1.600000e-01, 1.300000e-01, - 2.600000e-01, 2.800000e-01, 5.200000e-01, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, - 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = 'CFC_11', 'CFC_12', 'CFC_113', 'CFC_114', 'CFC_115', 'CARB_TET', - 'MCF', 'HCFC_22', 'HCFC_141B', 'HCFC_142B', 'HALON1211', - 'HALON1202', 'HALON1301', 'HALON2402', 'CH3BR', 'CH3CL', - MHALO_FORMULA = '(CCL3F)', '(CCL2F2)', '(C2CL3F3)', '(C2CL2F4)', '(C2CLF5)', - '(CCL4)', '(CH3CCL3)', '(CHCLF2)', '(CH3CCL2F)', '(CH3CCLF2)', - '(CF2CLBR)', '(CBR2F2)', '(CF3BR)', '((CF2BR)2)', '(CH3BR)', - '(CH3CL)', - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-01, 7.500000e-01, 7.500000e-01, - 7.500000e-01, 1.060000e+00, 1.080000e+00, - 3.500000e-01, 7.200000e-01, 3.600000e-01, - 1.100000e+00, 8.000000e-01, 8.000000e-01, - 8.000000e-01, 1.080000e+00, 1.080000e+00, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+00, 1.790000e+01, - 16, 2.900000e+00, 65, 20, 7.000000e-01, 1.300000e+00, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+00, 12, 9.300000e+00, 1.790000e+01, - 0, 0, 0, 0, 1.700000e+00, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+01, - 0, 65, 4.857143e+01, 1.830000e+00, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-01, 3.200000e-01, 3.000000e-01, 3.100000e-01, - 1.800000e-01, 1.300000e-01, 6.000000e-02, 2.000000e-01, - 1.400000e-01, 2.000000e-01, 3.000000e-01, 0, - 3.200000e-01, 3.300000e-01, 1.000000e-02, 1.000000e-02, - MHALO_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.690000e-01, 9.690000e-01, - 9.690000e-01, 9.690000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.690000e-01, 9.490000e-01, - 9.690000e-01, 9.670000e-01, 9.490000e-01, 9.490000e-01, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, - 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = 'RCPODS_WMO2006_MixingRatios_A1.prn', - FILE_MHALO_EMIS = 'RCPODS_WMO2006_Emissions_RCP45.prn', - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-01, - GEN_AIR_GRAMMPROMOL = 2.898400e+01, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+00, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-01, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-01, 1, 1, 4.000000e-01, - GEN_RCPREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - GEN_RCPPLUSREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - RUN_ID = 3, -/ diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_40.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_40.CFG deleted file mode 100644 index 6f5697fa7..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_40.CFG +++ /dev/null @@ -1,412 +0,0 @@ -&NML_ALLCFGS - RUNNAME = 'RCPfinal', - RUNDATE = 'No Date specified.', - FILE_EMISSIONSCENARIO = 'RCP45', - FILE_TUNINGMODEL = 'C4MIP_BERN', - FILE_TUNINGMODEL_2 = 'USER', - SECTOR_INCLUDE = 'NOSECTOR', - FILE_SECTOR_EMIS = '', - BULKRUNMODUS = 'SINGLERUN', - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-02, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-02, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-01, - CO2_FERTILIZATION_FACTOR = 2.762800e-01, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-01, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-02, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-01, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-01, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-01, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-02, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-01, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = '3D-GFDL', - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-02, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+00, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 2.379604e-02, - CH4_PPB2TGCH4 = 2.780000e+00, - CH4_S = -3.200000e-01, - CH4_SCALEOHSENS = 6.729724e-01, - CH4_ANOX = 4.200000e-03, - CH4_ACO = -1.050000e-04, - CH4_AVOC = -3.150000e-04, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-01, - CH4_ADDEDSTRATH2O_PERCENT = 1.941893e-01, - CH4_RADEFF_WM2PERPPB = 3.567902e-02, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 1.150250e+02, - N2O_RADEFF_WM2PERPPB = 1.114312e-01, - N2O_PPB2TGN = 4.810000e+00, - N2O_S = -5.000000e-02, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 3.982780e-02, - TROPOZ_OZCH4 = 3.889318e+00, - TROPOZ_OZNOX = 1.250000e-01, - TROPOZ_OZCO = 1.489046e-03, - TROPOZ_OZVOC = 4.740368e-04, - STRATOZ_CLEXPON = 1.836120e+00, - STRATOZ_O3SCALE = 1.296388e-04, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+00, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+00, - AIR_BC_SCALE = 1.500000e+00, - RF_AIR_H2O_WM2 = 1.000000e-03, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-03, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-03, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 3.031586e+00, - CORE_FEEDBACK_QSENSITIVITY = 2.162848e-02, - CORE_VERTICALDIFFUSIVITY = 3.249984e+00, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-01, - CORE_VERTICALDIFF_TOP_DKDT = -7.367151e-01, - CORE_ADJUST_SST2OCNATM = 1.250000e+00, - CORE_DELQ2XCO2 = 3.945704e+00, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.536721e+00, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-01, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-01, - CORE_UPWELL_THRESH_TEMP_NH = 1.832829e+01, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 2.977047e+00, - CORE_HEATXCHANGE_NORTHSOUTH = 8.557317e-01, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1.039938e+00, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = 'GLOBE', - CORE_HEMISFRACTION_NH_LAND = 4.200000e-01, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-01, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-01, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-01, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-01, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-01, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+00, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-03, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+00, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-01, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-01, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+00, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-04, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+00, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-01, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-01, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-01, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-02, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = 'HIST_SEALEVEL_CHURCHWHITE2006_RF.IN', - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = 'ASCII', - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = 'JUMPSTART', - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = 'ALL', - RF_VOLCANIC_SCALE = 4.583180e-01, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 7.240710e-01, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 9.686122e-01, - RF_MHALOSUM_SCALE = 9.685607e-01, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -3.296314e-01, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -1.189073e-01, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 1.584354e-01, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -2.621705e-02, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = -1.144738e-01, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = -2.853345e-01, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 1.564449e-01, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -7.413479e-01, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-02, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 3.652918e-01, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -8.836170e-02, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = -8.424654e-02, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -7.415843e-02, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.268596e+00, 1.367193e+00, 1.328407e+00, 1.427579e+00, - RF_REGIONS_CH4 = 5.015593e-01, 4.320512e-01, 5.746158e-01, 3.925882e-01, - RF_REGIONS_CH4OXSTRATH2O = 4.016718e-02, 4.549013e-02, 9.485010e-02, 4.036510e-02, - RF_REGIONS_N2O = 1.409227e-01, 1.283775e-01, 1.711582e-01, 1.387052e-01, - RF_REGIONS_MHALO = 1.511381e-01, 1.774488e-01, 1.421263e-01, 1.602562e-01, - RF_REGIONS_TROPOZ = 4.825034e-01, 5.464502e-01, 1.677042e-01, 2.471036e-01, - RF_REGIONS_STRATOZ = -1.149499e-02, -2.076038e-02, -5.688649e-02, -2.275879e-01, - RF_REGIONS_DUST = -8.829096e-01, -1.531795e+00, -2.996952e-01, -5.795439e-01, - RF_REGIONS_SEASALT = -1.175350e+00, -2.037600e-01, -1.825320e+00, -2.020700e-01, - RF_REGIONS_FGAS = 1.601644e-01, 1.543656e-01, 1.614886e-01, 1.565308e-01, - RF_REGIONS_CLOUD_COVER = -1.332780e+00, -1.580600e+00, -5.294200e-01, - -8.112700e-01, - RF_REGIONS_CLOUD_ALBEDO = -8.861556e-01, -1.292781e+00, -3.277110e-01, - -5.858111e-01, - RF_REGIONS_AIRH2O = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CONTRAIL = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CIRRUS = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+00, - RF_EFFICACY_TROPOZ = 8.500000e-01, - RF_EFFICACY_AER_DIR = 9.000000e-01, - RF_EFFICACY_CLOUD_ALBEDO = 1.535234e+00, - RF_EFFICACY_CLOUD_COVER = 9.000000e-01, - RF_EFFICACY_SOLAR = 8.500000e-01, - RF_EFFICACY_VOLC = 9.500000e-01, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+00, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-01, - RF_EFFICACY_CIRRUS = 6.000000e-01, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = 'GISS_SOXNB_OT.IN', - FILE_SOXI_OT = 'GISS_SOXI_OT.IN', - FILE_SOXT_RF = 'GISS_SOX_RF.IN', - FILE_SOXI_EMIS = 'HISTRCP_SOXI_EMIS.IN', - FILE_SOXB_EMIS = 'HISTRCP_SOXB_EMIS.IN', - FILE_SOXN_EMIS = 'HIST_SOXN_EMIS.IN', - FILE_COI_EMIS = 'HISTRCP_COI_EMIS.IN', - FILE_COB_EMIS = 'HISTRCP_COB_EMIS.IN', - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-01, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = 'HISTRCP_BCI_EMIS.IN', - FILE_BCB_EMIS = 'HISTRCP_BCB_EMIS.IN', - FILE_OCB_EMIS = 'HISTRCP_OCB_EMIS.IN', - FILE_OCI_EMIS = 'HISTRCP_OCI_EMIS.IN', - FILE_BCB_OT = 'GISS_BCB_OT.IN', - FILE_BCI_OT = 'GISS_BCI_OT.IN', - FILE_OCB_OT = 'GISS_OCB_OT.IN', - FILE_OCI_OT = 'GISS_OCI_OT.IN', - FILE_OCN_OT = 'GISS_OCN_OT.IN', - FILE_BCSNOW_RF = 'GISS_BCSNOW_RF.IN', - FILE_BCB_RF = 'GISS_BCB_RF.IN', - FILE_BCI_RF = 'GISS_BCI_RF.IN', - FILE_OCB_RF = 'GISS_OCB_RF.IN', - FILE_OCI_RF = 'GISS_OCI_RF.IN', - FILE_CO2I_EMIS = 'HISTRCP_CO2I_EMIS.IN', - FILE_CO2B_EMIS = 'HISTRCP_CO2B_EMIS.IN', - FILE_CH4I_EMIS = 'HISTEDGAR_CH4I_EMIS.IN', - FILE_CH4B_EMIS = 'HISTEDGAR_CH4B_EMIS.IN', - FILE_CH4N_EMIS = '', - FILE_N2OI_EMIS = 'HISTEDGAR_N2OI_EMIS.IN', - FILE_N2OB_EMIS = 'HISTEDGAR_N2OB_EMIS.IN', - FILE_N2ON_EMIS = '', - FILE_NOXI_EMIS = 'HISTRCP_NOXI_EMIS.IN', - FILE_NOXB_EMIS = 'HISTRCP_NOXB_EMIS.IN', - FILE_NMVOCI_EMIS = 'HISTRCP_NMVOCI_EMIS.IN', - FILE_NMVOCB_EMIS = 'HISTRCP_NMVOCB_EMIS.IN', - FILE_MINERALDUST_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXB_OT = 'MIXED_NOXB_OT.IN', - FILE_NOXI_OT = 'MIXED_NOXI_OT.IN', - FILE_SS_OT = 'GISS_SS_OT.IN', - FILE_CO2_CONC = 'HISTRCP_CO2_CONC.IN', - FILE_CH4_CONC = 'HISTRCP_CH4_CONC.IN', - FILE_N2O_CONC = 'HISTRCP_N2O_CONC.IN', - FILE_VOLCANIC_RF = 'HIST_VOLCANIC_RF.MON', - FILE_SOLAR_RF = 'HISTRCP_SOLAR_RF.IN', - FILE_EXTRA_RF = '', - FILE_LANDUSE_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXT_RF = 'GISS_NOX_RF.IN', - CLOUD_WEIGHT_NOX = 4.706306e-02, - CLOUD_WEIGHT_BC = 1.010454e-02, - CLOUD_WEIGHT_OC = 1.164438e-01, - CLOUD_WEIGHT_SOX = 1.300000e-01, - CLOUD_WEIGHT_SS = 1.300000e-01, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-01, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = 'CF4', 'C2F6', 'C6F14', 'HFC23', 'HFC32', 'HFC43_10', 'HFC125', - 'HFC134a', 'HFC143a', 'HFC227ea', 'HFC245fa', 'SF6', - FILE_FGAS_EMIS = 'HISTRCP_CF4_EMIS.IN', 'HISTRCP_C2F6_EMIS.IN', 'HISTRCP_C6F14_EMIS.IN', - 'HISTRCP_HFC23_EMIS.IN', 'HISTRCP_HFC32_EMIS.IN', '', - 'HISTRCP_HFC125_EMIS.IN', 'HISTRCP_HFC134a_EMIS.IN', - 'HISTRCP_HFC143a_EMIS.IN', 'HISTRCP_HFC227EA_EMIS.IN', - 'HISTRCP_HFC245fa_EMIS.IN', 'HISTRCP_SF6_EMIS.IN', - FILE_FGAS_CONC = 'HISTRCP_CF4_CONC.IN', 'HISTRCP_C2F6_CONC.IN', 'HISTRCP_C6F14_CONC.IN', - 'HISTRCP_HFC23_CONC.IN', 'HISTRCP_HFC32_CONC.IN', 'HISTRCP_HFC43-10_CONC.IN', - 'HISTRCP_HFC125_CONC.IN', 'HISTRCP_HFC134a_CONC.IN', - 'HISTRCP_HFC143a_CONC.IN', 'HISTRCP_HFC227EA_CONC.IN', - 'HISTRCP_HFC245fa_CONC.IN', 'HISTRCP_SF6_CONC.IN', - FGAS_FORMULA = '(CF4)', '(C2F6)', '(C6F14)', '(CHF3)', '(CH2F2)', '(C5H2F10)', - '(CHF2CF3)', '(CH2FCF3)', '(CH3CF3)', '(C3HF7)', '(C3H3F5)', - '(SF6)', - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+00, 1.590000e+01, 29, - 14, 52, 3.420000e+01, 7.600000e+00, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+00, 1.590000e+01, 29, 14, 52, - 3.420000e+01, 7.600000e+00, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.680000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.680000e-01, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-01, 2.600000e-01, 4.900000e-01, - 1.900000e-01, 1.100000e-01, 4.000000e-01, - 2.300000e-01, 1.600000e-01, 1.300000e-01, - 2.600000e-01, 2.800000e-01, 5.200000e-01, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, - 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = 'CFC_11', 'CFC_12', 'CFC_113', 'CFC_114', 'CFC_115', 'CARB_TET', - 'MCF', 'HCFC_22', 'HCFC_141B', 'HCFC_142B', 'HALON1211', - 'HALON1202', 'HALON1301', 'HALON2402', 'CH3BR', 'CH3CL', - MHALO_FORMULA = '(CCL3F)', '(CCL2F2)', '(C2CL3F3)', '(C2CL2F4)', '(C2CLF5)', - '(CCL4)', '(CH3CCL3)', '(CHCLF2)', '(CH3CCL2F)', '(CH3CCLF2)', - '(CF2CLBR)', '(CBR2F2)', '(CF3BR)', '((CF2BR)2)', '(CH3BR)', - '(CH3CL)', - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-01, 7.500000e-01, 7.500000e-01, - 7.500000e-01, 1.060000e+00, 1.080000e+00, - 3.500000e-01, 7.200000e-01, 3.600000e-01, - 1.100000e+00, 8.000000e-01, 8.000000e-01, - 8.000000e-01, 1.080000e+00, 1.080000e+00, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+00, 1.790000e+01, - 16, 2.900000e+00, 65, 20, 7.000000e-01, 1.300000e+00, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+00, 12, 9.300000e+00, 1.790000e+01, - 0, 0, 0, 0, 1.700000e+00, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+01, - 0, 65, 4.857143e+01, 1.830000e+00, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-01, 3.200000e-01, 3.000000e-01, 3.100000e-01, - 1.800000e-01, 1.300000e-01, 6.000000e-02, 2.000000e-01, - 1.400000e-01, 2.000000e-01, 3.000000e-01, 0, - 3.200000e-01, 3.300000e-01, 1.000000e-02, 1.000000e-02, - MHALO_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.690000e-01, 9.690000e-01, - 9.690000e-01, 9.690000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.690000e-01, 9.490000e-01, - 9.690000e-01, 9.670000e-01, 9.490000e-01, 9.490000e-01, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, - 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = 'RCPODS_WMO2006_MixingRatios_A1.prn', - FILE_MHALO_EMIS = 'RCPODS_WMO2006_Emissions_RCP45.prn', - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-01, - GEN_AIR_GRAMMPROMOL = 2.898400e+01, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+00, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-01, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-01, 1, 1, 4.000000e-01, - GEN_RCPREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - GEN_RCPPLUSREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - RUN_ID = 3, -/ diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_5.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_5.CFG deleted file mode 100644 index 6de08ac33..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_5.CFG +++ /dev/null @@ -1,412 +0,0 @@ -&NML_ALLCFGS - RUNNAME = 'RCPfinal', - RUNDATE = 'No Date specified.', - FILE_EMISSIONSCENARIO = 'RCP45', - FILE_TUNINGMODEL = 'C4MIP_BERN', - FILE_TUNINGMODEL_2 = 'USER', - SECTOR_INCLUDE = 'NOSECTOR', - FILE_SECTOR_EMIS = '', - BULKRUNMODUS = 'SINGLERUN', - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-02, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-02, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-01, - CO2_FERTILIZATION_FACTOR = 2.762800e-01, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-01, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-02, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-01, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-01, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-01, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-02, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-01, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = '3D-GFDL', - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-02, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+00, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 2.715691e-02, - CH4_PPB2TGCH4 = 2.780000e+00, - CH4_S = -3.200000e-01, - CH4_SCALEOHSENS = 6.989492e-01, - CH4_ANOX = 4.200000e-03, - CH4_ACO = -1.050000e-04, - CH4_AVOC = -3.150000e-04, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-01, - CH4_ADDEDSTRATH2O_PERCENT = 1.309936e-01, - CH4_RADEFF_WM2PERPPB = 3.314462e-02, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 1.225377e+02, - N2O_RADEFF_WM2PERPPB = 1.163660e-01, - N2O_PPB2TGN = 4.810000e+00, - N2O_S = -5.000000e-02, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 2.493051e-02, - TROPOZ_OZCH4 = 8.147942e+00, - TROPOZ_OZNOX = 1.250000e-01, - TROPOZ_OZCO = 1.808563e-03, - TROPOZ_OZVOC = 2.658982e-03, - STRATOZ_CLEXPON = 1.705215e+00, - STRATOZ_O3SCALE = -2.408387e-04, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+00, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+00, - AIR_BC_SCALE = 1.500000e+00, - RF_AIR_H2O_WM2 = 1.000000e-03, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-03, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-03, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 1.432231e+00, - CORE_FEEDBACK_QSENSITIVITY = 6.279367e-02, - CORE_VERTICALDIFFUSIVITY = 2.311086e+00, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-01, - CORE_VERTICALDIFF_TOP_DKDT = -5.803186e-01, - CORE_ADJUST_SST2OCNATM = 1.250000e+00, - CORE_DELQ2XCO2 = 3.693928e+00, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.240803e+00, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-01, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-01, - CORE_UPWELL_THRESH_TEMP_NH = 1.857278e+01, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 3.073393e+00, - CORE_HEATXCHANGE_NORTHSOUTH = 2.473809e+00, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1.257636e+00, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = 'GLOBE', - CORE_HEMISFRACTION_NH_LAND = 4.200000e-01, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-01, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-01, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-01, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-01, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-01, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+00, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-03, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+00, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-01, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-01, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+00, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-04, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+00, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-01, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-01, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-01, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-02, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = 'HIST_SEALEVEL_CHURCHWHITE2006_RF.IN', - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = 'ASCII', - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = 'JUMPSTART', - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = 'ALL', - RF_VOLCANIC_SCALE = 5.019265e-01, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 1.034075e+00, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 9.565149e-01, - RF_MHALOSUM_SCALE = 1.050455e+00, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -3.569279e-01, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -3.342448e-02, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 2.801202e-01, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -8.268218e-02, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = 2.207857e-02, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = -2.510961e-01, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 1.030957e-01, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -3.697052e-01, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-02, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 5.236641e-02, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -1.980245e-01, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = 1.819835e-02, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -1.322293e-01, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.335852e+00, 1.294862e+00, 1.524297e+00, 1.212672e+00, - RF_REGIONS_CH4 = 5.203546e-01, 4.262552e-01, 5.744590e-01, 3.855730e-01, - RF_REGIONS_CH4OXSTRATH2O = 4.323950e-02, 5.232785e-02, 9.491980e-02, 4.608507e-02, - RF_REGIONS_N2O = 1.601293e-01, 1.463899e-01, 1.773677e-01, 1.389928e-01, - RF_REGIONS_MHALO = 1.669326e-01, 1.683669e-01, 1.516468e-01, 1.511364e-01, - RF_REGIONS_TROPOZ = 4.301367e-01, 5.473473e-01, 1.597294e-01, 2.171051e-01, - RF_REGIONS_STRATOZ = -1.165976e-02, -2.368043e-02, -6.523699e-02, -2.219833e-01, - RF_REGIONS_DUST = -7.581802e-01, -1.592422e+00, -3.245762e-01, -5.901221e-01, - RF_REGIONS_SEASALT = -1.175350e+00, -2.037600e-01, -1.825320e+00, -2.020700e-01, - RF_REGIONS_FGAS = 1.620995e-01, 1.670199e-01, 1.485412e-01, 1.559207e-01, - RF_REGIONS_CLOUD_COVER = -1.332780e+00, -1.580600e+00, -5.294200e-01, - -8.112700e-01, - RF_REGIONS_CLOUD_ALBEDO = -8.914656e-01, -1.290340e+00, -3.197077e-01, - -6.401310e-01, - RF_REGIONS_AIRH2O = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CONTRAIL = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CIRRUS = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+00, - RF_EFFICACY_TROPOZ = 8.500000e-01, - RF_EFFICACY_AER_DIR = 9.000000e-01, - RF_EFFICACY_CLOUD_ALBEDO = 1.160121e+00, - RF_EFFICACY_CLOUD_COVER = 9.000000e-01, - RF_EFFICACY_SOLAR = 8.500000e-01, - RF_EFFICACY_VOLC = 9.500000e-01, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+00, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-01, - RF_EFFICACY_CIRRUS = 6.000000e-01, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = 'GISS_SOXNB_OT.IN', - FILE_SOXI_OT = 'GISS_SOXI_OT.IN', - FILE_SOXT_RF = 'GISS_SOX_RF.IN', - FILE_SOXI_EMIS = 'HISTRCP_SOXI_EMIS.IN', - FILE_SOXB_EMIS = 'HISTRCP_SOXB_EMIS.IN', - FILE_SOXN_EMIS = 'HIST_SOXN_EMIS.IN', - FILE_COI_EMIS = 'HISTRCP_COI_EMIS.IN', - FILE_COB_EMIS = 'HISTRCP_COB_EMIS.IN', - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-01, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = 'HISTRCP_BCI_EMIS.IN', - FILE_BCB_EMIS = 'HISTRCP_BCB_EMIS.IN', - FILE_OCB_EMIS = 'HISTRCP_OCB_EMIS.IN', - FILE_OCI_EMIS = 'HISTRCP_OCI_EMIS.IN', - FILE_BCB_OT = 'GISS_BCB_OT.IN', - FILE_BCI_OT = 'GISS_BCI_OT.IN', - FILE_OCB_OT = 'GISS_OCB_OT.IN', - FILE_OCI_OT = 'GISS_OCI_OT.IN', - FILE_OCN_OT = 'GISS_OCN_OT.IN', - FILE_BCSNOW_RF = 'GISS_BCSNOW_RF.IN', - FILE_BCB_RF = 'GISS_BCB_RF.IN', - FILE_BCI_RF = 'GISS_BCI_RF.IN', - FILE_OCB_RF = 'GISS_OCB_RF.IN', - FILE_OCI_RF = 'GISS_OCI_RF.IN', - FILE_CO2I_EMIS = 'HISTRCP_CO2I_EMIS.IN', - FILE_CO2B_EMIS = 'HISTRCP_CO2B_EMIS.IN', - FILE_CH4I_EMIS = 'HISTEDGAR_CH4I_EMIS.IN', - FILE_CH4B_EMIS = 'HISTEDGAR_CH4B_EMIS.IN', - FILE_CH4N_EMIS = '', - FILE_N2OI_EMIS = 'HISTEDGAR_N2OI_EMIS.IN', - FILE_N2OB_EMIS = 'HISTEDGAR_N2OB_EMIS.IN', - FILE_N2ON_EMIS = '', - FILE_NOXI_EMIS = 'HISTRCP_NOXI_EMIS.IN', - FILE_NOXB_EMIS = 'HISTRCP_NOXB_EMIS.IN', - FILE_NMVOCI_EMIS = 'HISTRCP_NMVOCI_EMIS.IN', - FILE_NMVOCB_EMIS = 'HISTRCP_NMVOCB_EMIS.IN', - FILE_MINERALDUST_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXB_OT = 'MIXED_NOXB_OT.IN', - FILE_NOXI_OT = 'MIXED_NOXI_OT.IN', - FILE_SS_OT = 'GISS_SS_OT.IN', - FILE_CO2_CONC = 'HISTRCP_CO2_CONC.IN', - FILE_CH4_CONC = 'HISTRCP_CH4_CONC.IN', - FILE_N2O_CONC = 'HISTRCP_N2O_CONC.IN', - FILE_VOLCANIC_RF = 'HIST_VOLCANIC_RF.MON', - FILE_SOLAR_RF = 'HISTRCP_SOLAR_RF.IN', - FILE_EXTRA_RF = '', - FILE_LANDUSE_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXT_RF = 'GISS_NOX_RF.IN', - CLOUD_WEIGHT_NOX = 7.886333e-02, - CLOUD_WEIGHT_BC = 1.598383e-03, - CLOUD_WEIGHT_OC = 1.422714e-02, - CLOUD_WEIGHT_SOX = 1.300000e-01, - CLOUD_WEIGHT_SS = 1.300000e-01, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-01, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = 'CF4', 'C2F6', 'C6F14', 'HFC23', 'HFC32', 'HFC43_10', 'HFC125', - 'HFC134a', 'HFC143a', 'HFC227ea', 'HFC245fa', 'SF6', - FILE_FGAS_EMIS = 'HISTRCP_CF4_EMIS.IN', 'HISTRCP_C2F6_EMIS.IN', 'HISTRCP_C6F14_EMIS.IN', - 'HISTRCP_HFC23_EMIS.IN', 'HISTRCP_HFC32_EMIS.IN', '', - 'HISTRCP_HFC125_EMIS.IN', 'HISTRCP_HFC134a_EMIS.IN', - 'HISTRCP_HFC143a_EMIS.IN', 'HISTRCP_HFC227EA_EMIS.IN', - 'HISTRCP_HFC245fa_EMIS.IN', 'HISTRCP_SF6_EMIS.IN', - FILE_FGAS_CONC = 'HISTRCP_CF4_CONC.IN', 'HISTRCP_C2F6_CONC.IN', 'HISTRCP_C6F14_CONC.IN', - 'HISTRCP_HFC23_CONC.IN', 'HISTRCP_HFC32_CONC.IN', 'HISTRCP_HFC43-10_CONC.IN', - 'HISTRCP_HFC125_CONC.IN', 'HISTRCP_HFC134a_CONC.IN', - 'HISTRCP_HFC143a_CONC.IN', 'HISTRCP_HFC227EA_CONC.IN', - 'HISTRCP_HFC245fa_CONC.IN', 'HISTRCP_SF6_CONC.IN', - FGAS_FORMULA = '(CF4)', '(C2F6)', '(C6F14)', '(CHF3)', '(CH2F2)', '(C5H2F10)', - '(CHF2CF3)', '(CH2FCF3)', '(CH3CF3)', '(C3HF7)', '(C3H3F5)', - '(SF6)', - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+00, 1.590000e+01, 29, - 14, 52, 3.420000e+01, 7.600000e+00, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+00, 1.590000e+01, 29, 14, 52, - 3.420000e+01, 7.600000e+00, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.680000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.680000e-01, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-01, 2.600000e-01, 4.900000e-01, - 1.900000e-01, 1.100000e-01, 4.000000e-01, - 2.300000e-01, 1.600000e-01, 1.300000e-01, - 2.600000e-01, 2.800000e-01, 5.200000e-01, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, - 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = 'CFC_11', 'CFC_12', 'CFC_113', 'CFC_114', 'CFC_115', 'CARB_TET', - 'MCF', 'HCFC_22', 'HCFC_141B', 'HCFC_142B', 'HALON1211', - 'HALON1202', 'HALON1301', 'HALON2402', 'CH3BR', 'CH3CL', - MHALO_FORMULA = '(CCL3F)', '(CCL2F2)', '(C2CL3F3)', '(C2CL2F4)', '(C2CLF5)', - '(CCL4)', '(CH3CCL3)', '(CHCLF2)', '(CH3CCL2F)', '(CH3CCLF2)', - '(CF2CLBR)', '(CBR2F2)', '(CF3BR)', '((CF2BR)2)', '(CH3BR)', - '(CH3CL)', - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-01, 7.500000e-01, 7.500000e-01, - 7.500000e-01, 1.060000e+00, 1.080000e+00, - 3.500000e-01, 7.200000e-01, 3.600000e-01, - 1.100000e+00, 8.000000e-01, 8.000000e-01, - 8.000000e-01, 1.080000e+00, 1.080000e+00, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+00, 1.790000e+01, - 16, 2.900000e+00, 65, 20, 7.000000e-01, 1.300000e+00, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+00, 12, 9.300000e+00, 1.790000e+01, - 0, 0, 0, 0, 1.700000e+00, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+01, - 0, 65, 4.857143e+01, 1.830000e+00, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-01, 3.200000e-01, 3.000000e-01, 3.100000e-01, - 1.800000e-01, 1.300000e-01, 6.000000e-02, 2.000000e-01, - 1.400000e-01, 2.000000e-01, 3.000000e-01, 0, - 3.200000e-01, 3.300000e-01, 1.000000e-02, 1.000000e-02, - MHALO_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.690000e-01, 9.690000e-01, - 9.690000e-01, 9.690000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.690000e-01, 9.490000e-01, - 9.690000e-01, 9.670000e-01, 9.490000e-01, 9.490000e-01, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, - 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = 'RCPODS_WMO2006_MixingRatios_A1.prn', - FILE_MHALO_EMIS = 'RCPODS_WMO2006_Emissions_RCP45.prn', - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-01, - GEN_AIR_GRAMMPROMOL = 2.898400e+01, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+00, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-01, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-01, 1, 1, 4.000000e-01, - GEN_RCPREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - GEN_RCPPLUSREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - RUN_ID = 3, -/ diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_50.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_50.CFG deleted file mode 100644 index 88d8eeb87..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_50.CFG +++ /dev/null @@ -1,412 +0,0 @@ -&NML_ALLCFGS - RUNNAME = 'RCPfinal', - RUNDATE = 'No Date specified.', - FILE_EMISSIONSCENARIO = 'RCP45', - FILE_TUNINGMODEL = 'C4MIP_BERN', - FILE_TUNINGMODEL_2 = 'USER', - SECTOR_INCLUDE = 'NOSECTOR', - FILE_SECTOR_EMIS = '', - BULKRUNMODUS = 'SINGLERUN', - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-02, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-02, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-01, - CO2_FERTILIZATION_FACTOR = 2.762800e-01, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-01, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-02, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-01, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-01, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-01, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-02, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-01, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = '3D-GFDL', - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-02, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+00, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 2.881412e-02, - CH4_PPB2TGCH4 = 2.780000e+00, - CH4_S = -3.200000e-01, - CH4_SCALEOHSENS = 1.206182e+00, - CH4_ANOX = 4.200000e-03, - CH4_ACO = -1.050000e-04, - CH4_AVOC = -3.150000e-04, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-01, - CH4_ADDEDSTRATH2O_PERCENT = 1.858154e-01, - CH4_RADEFF_WM2PERPPB = 3.605335e-02, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 1.190044e+02, - N2O_RADEFF_WM2PERPPB = 1.262657e-01, - N2O_PPB2TGN = 4.810000e+00, - N2O_S = -5.000000e-02, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 5.218028e-02, - TROPOZ_OZCH4 = 1.824962e+00, - TROPOZ_OZNOX = 1.250000e-01, - TROPOZ_OZCO = 3.331964e-04, - TROPOZ_OZVOC = 5.342684e-03, - STRATOZ_CLEXPON = 1.442160e+00, - STRATOZ_O3SCALE = 3.249468e-05, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+00, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+00, - AIR_BC_SCALE = 1.500000e+00, - RF_AIR_H2O_WM2 = 1.000000e-03, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-03, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-03, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 3.306609e+00, - CORE_FEEDBACK_QSENSITIVITY = 9.784484e-03, - CORE_VERTICALDIFFUSIVITY = 2.186720e+00, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-01, - CORE_VERTICALDIFF_TOP_DKDT = -2.078610e-01, - CORE_ADJUST_SST2OCNATM = 1.250000e+00, - CORE_DELQ2XCO2 = 3.592770e+00, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.395433e+00, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-01, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-01, - CORE_UPWELL_THRESH_TEMP_NH = 8.782330e+00, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 2.000382e+00, - CORE_HEATXCHANGE_NORTHSOUTH = 3.496512e+00, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1.129075e+00, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = 'GLOBE', - CORE_HEMISFRACTION_NH_LAND = 4.200000e-01, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-01, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-01, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-01, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-01, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-01, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+00, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-03, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+00, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-01, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-01, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+00, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-04, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+00, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-01, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-01, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-01, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-02, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = 'HIST_SEALEVEL_CHURCHWHITE2006_RF.IN', - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = 'ASCII', - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = 'JUMPSTART', - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = 'ALL', - RF_VOLCANIC_SCALE = 3.578661e-01, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 5.702170e-01, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 9.090867e-01, - RF_MHALOSUM_SCALE = 1.013309e+00, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -4.525122e-01, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -1.488976e-01, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 2.605256e-01, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -3.816419e-03, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = -1.880665e-01, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = -1.001261e-01, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 1.026392e-01, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -5.206244e-01, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-02, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 8.657868e-03, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -4.451003e-01, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = 3.271331e-02, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -4.527209e-01, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.292024e+00, 1.254207e+00, 1.436376e+00, 1.255612e+00, - RF_REGIONS_CH4 = 5.844038e-01, 4.745005e-01, 6.198272e-01, 3.964344e-01, - RF_REGIONS_CH4OXSTRATH2O = 4.014351e-02, 4.467067e-02, 9.287761e-02, 4.048908e-02, - RF_REGIONS_N2O = 1.638975e-01, 1.412224e-01, 1.544183e-01, 1.443652e-01, - RF_REGIONS_MHALO = 1.678378e-01, 1.546218e-01, 1.487707e-01, 1.354671e-01, - RF_REGIONS_TROPOZ = 5.099336e-01, 5.597137e-01, 1.707524e-01, 2.562535e-01, - RF_REGIONS_STRATOZ = -1.214901e-02, -2.478468e-02, -5.667395e-02, -2.599920e-01, - RF_REGIONS_DUST = -8.581538e-01, -1.408885e+00, -3.216563e-01, -6.206841e-01, - RF_REGIONS_SEASALT = -1.175350e+00, -2.037600e-01, -1.825320e+00, -2.020700e-01, - RF_REGIONS_FGAS = 1.539795e-01, 1.493180e-01, 1.398438e-01, 1.390175e-01, - RF_REGIONS_CLOUD_COVER = -1.332780e+00, -1.580600e+00, -5.294200e-01, - -8.112700e-01, - RF_REGIONS_CLOUD_ALBEDO = -8.874726e-01, -1.324269e+00, -3.323538e-01, - -6.366846e-01, - RF_REGIONS_AIRH2O = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CONTRAIL = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CIRRUS = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+00, - RF_EFFICACY_TROPOZ = 8.500000e-01, - RF_EFFICACY_AER_DIR = 9.000000e-01, - RF_EFFICACY_CLOUD_ALBEDO = 1.790236e+00, - RF_EFFICACY_CLOUD_COVER = 9.000000e-01, - RF_EFFICACY_SOLAR = 8.500000e-01, - RF_EFFICACY_VOLC = 9.500000e-01, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+00, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-01, - RF_EFFICACY_CIRRUS = 6.000000e-01, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = 'GISS_SOXNB_OT.IN', - FILE_SOXI_OT = 'GISS_SOXI_OT.IN', - FILE_SOXT_RF = 'GISS_SOX_RF.IN', - FILE_SOXI_EMIS = 'HISTRCP_SOXI_EMIS.IN', - FILE_SOXB_EMIS = 'HISTRCP_SOXB_EMIS.IN', - FILE_SOXN_EMIS = 'HIST_SOXN_EMIS.IN', - FILE_COI_EMIS = 'HISTRCP_COI_EMIS.IN', - FILE_COB_EMIS = 'HISTRCP_COB_EMIS.IN', - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-01, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = 'HISTRCP_BCI_EMIS.IN', - FILE_BCB_EMIS = 'HISTRCP_BCB_EMIS.IN', - FILE_OCB_EMIS = 'HISTRCP_OCB_EMIS.IN', - FILE_OCI_EMIS = 'HISTRCP_OCI_EMIS.IN', - FILE_BCB_OT = 'GISS_BCB_OT.IN', - FILE_BCI_OT = 'GISS_BCI_OT.IN', - FILE_OCB_OT = 'GISS_OCB_OT.IN', - FILE_OCI_OT = 'GISS_OCI_OT.IN', - FILE_OCN_OT = 'GISS_OCN_OT.IN', - FILE_BCSNOW_RF = 'GISS_BCSNOW_RF.IN', - FILE_BCB_RF = 'GISS_BCB_RF.IN', - FILE_BCI_RF = 'GISS_BCI_RF.IN', - FILE_OCB_RF = 'GISS_OCB_RF.IN', - FILE_OCI_RF = 'GISS_OCI_RF.IN', - FILE_CO2I_EMIS = 'HISTRCP_CO2I_EMIS.IN', - FILE_CO2B_EMIS = 'HISTRCP_CO2B_EMIS.IN', - FILE_CH4I_EMIS = 'HISTEDGAR_CH4I_EMIS.IN', - FILE_CH4B_EMIS = 'HISTEDGAR_CH4B_EMIS.IN', - FILE_CH4N_EMIS = '', - FILE_N2OI_EMIS = 'HISTEDGAR_N2OI_EMIS.IN', - FILE_N2OB_EMIS = 'HISTEDGAR_N2OB_EMIS.IN', - FILE_N2ON_EMIS = '', - FILE_NOXI_EMIS = 'HISTRCP_NOXI_EMIS.IN', - FILE_NOXB_EMIS = 'HISTRCP_NOXB_EMIS.IN', - FILE_NMVOCI_EMIS = 'HISTRCP_NMVOCI_EMIS.IN', - FILE_NMVOCB_EMIS = 'HISTRCP_NMVOCB_EMIS.IN', - FILE_MINERALDUST_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXB_OT = 'MIXED_NOXB_OT.IN', - FILE_NOXI_OT = 'MIXED_NOXI_OT.IN', - FILE_SS_OT = 'GISS_SS_OT.IN', - FILE_CO2_CONC = 'HISTRCP_CO2_CONC.IN', - FILE_CH4_CONC = 'HISTRCP_CH4_CONC.IN', - FILE_N2O_CONC = 'HISTRCP_N2O_CONC.IN', - FILE_VOLCANIC_RF = 'HIST_VOLCANIC_RF.MON', - FILE_SOLAR_RF = 'HISTRCP_SOLAR_RF.IN', - FILE_EXTRA_RF = '', - FILE_LANDUSE_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXT_RF = 'GISS_NOX_RF.IN', - CLOUD_WEIGHT_NOX = 4.392779e-02, - CLOUD_WEIGHT_BC = 1.987971e-02, - CLOUD_WEIGHT_OC = 6.925479e-02, - CLOUD_WEIGHT_SOX = 1.300000e-01, - CLOUD_WEIGHT_SS = 1.300000e-01, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-01, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = 'CF4', 'C2F6', 'C6F14', 'HFC23', 'HFC32', 'HFC43_10', 'HFC125', - 'HFC134a', 'HFC143a', 'HFC227ea', 'HFC245fa', 'SF6', - FILE_FGAS_EMIS = 'HISTRCP_CF4_EMIS.IN', 'HISTRCP_C2F6_EMIS.IN', 'HISTRCP_C6F14_EMIS.IN', - 'HISTRCP_HFC23_EMIS.IN', 'HISTRCP_HFC32_EMIS.IN', '', - 'HISTRCP_HFC125_EMIS.IN', 'HISTRCP_HFC134a_EMIS.IN', - 'HISTRCP_HFC143a_EMIS.IN', 'HISTRCP_HFC227EA_EMIS.IN', - 'HISTRCP_HFC245fa_EMIS.IN', 'HISTRCP_SF6_EMIS.IN', - FILE_FGAS_CONC = 'HISTRCP_CF4_CONC.IN', 'HISTRCP_C2F6_CONC.IN', 'HISTRCP_C6F14_CONC.IN', - 'HISTRCP_HFC23_CONC.IN', 'HISTRCP_HFC32_CONC.IN', 'HISTRCP_HFC43-10_CONC.IN', - 'HISTRCP_HFC125_CONC.IN', 'HISTRCP_HFC134a_CONC.IN', - 'HISTRCP_HFC143a_CONC.IN', 'HISTRCP_HFC227EA_CONC.IN', - 'HISTRCP_HFC245fa_CONC.IN', 'HISTRCP_SF6_CONC.IN', - FGAS_FORMULA = '(CF4)', '(C2F6)', '(C6F14)', '(CHF3)', '(CH2F2)', '(C5H2F10)', - '(CHF2CF3)', '(CH2FCF3)', '(CH3CF3)', '(C3HF7)', '(C3H3F5)', - '(SF6)', - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+00, 1.590000e+01, 29, - 14, 52, 3.420000e+01, 7.600000e+00, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+00, 1.590000e+01, 29, 14, 52, - 3.420000e+01, 7.600000e+00, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.680000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.680000e-01, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-01, 2.600000e-01, 4.900000e-01, - 1.900000e-01, 1.100000e-01, 4.000000e-01, - 2.300000e-01, 1.600000e-01, 1.300000e-01, - 2.600000e-01, 2.800000e-01, 5.200000e-01, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, - 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = 'CFC_11', 'CFC_12', 'CFC_113', 'CFC_114', 'CFC_115', 'CARB_TET', - 'MCF', 'HCFC_22', 'HCFC_141B', 'HCFC_142B', 'HALON1211', - 'HALON1202', 'HALON1301', 'HALON2402', 'CH3BR', 'CH3CL', - MHALO_FORMULA = '(CCL3F)', '(CCL2F2)', '(C2CL3F3)', '(C2CL2F4)', '(C2CLF5)', - '(CCL4)', '(CH3CCL3)', '(CHCLF2)', '(CH3CCL2F)', '(CH3CCLF2)', - '(CF2CLBR)', '(CBR2F2)', '(CF3BR)', '((CF2BR)2)', '(CH3BR)', - '(CH3CL)', - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-01, 7.500000e-01, 7.500000e-01, - 7.500000e-01, 1.060000e+00, 1.080000e+00, - 3.500000e-01, 7.200000e-01, 3.600000e-01, - 1.100000e+00, 8.000000e-01, 8.000000e-01, - 8.000000e-01, 1.080000e+00, 1.080000e+00, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+00, 1.790000e+01, - 16, 2.900000e+00, 65, 20, 7.000000e-01, 1.300000e+00, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+00, 12, 9.300000e+00, 1.790000e+01, - 0, 0, 0, 0, 1.700000e+00, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+01, - 0, 65, 4.857143e+01, 1.830000e+00, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-01, 3.200000e-01, 3.000000e-01, 3.100000e-01, - 1.800000e-01, 1.300000e-01, 6.000000e-02, 2.000000e-01, - 1.400000e-01, 2.000000e-01, 3.000000e-01, 0, - 3.200000e-01, 3.300000e-01, 1.000000e-02, 1.000000e-02, - MHALO_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.690000e-01, 9.690000e-01, - 9.690000e-01, 9.690000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.690000e-01, 9.490000e-01, - 9.690000e-01, 9.670000e-01, 9.490000e-01, 9.490000e-01, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, - 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = 'RCPODS_WMO2006_MixingRatios_A1.prn', - FILE_MHALO_EMIS = 'RCPODS_WMO2006_Emissions_RCP45.prn', - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-01, - GEN_AIR_GRAMMPROMOL = 2.898400e+01, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+00, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-01, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-01, 1, 1, 4.000000e-01, - GEN_RCPREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - GEN_RCPPLUSREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - RUN_ID = 3, -/ diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_60.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_60.CFG deleted file mode 100644 index e5a9243b3..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_60.CFG +++ /dev/null @@ -1,412 +0,0 @@ -&NML_ALLCFGS - RUNNAME = 'RCPfinal', - RUNDATE = 'No Date specified.', - FILE_EMISSIONSCENARIO = 'RCP45', - FILE_TUNINGMODEL = 'C4MIP_BERN', - FILE_TUNINGMODEL_2 = 'USER', - SECTOR_INCLUDE = 'NOSECTOR', - FILE_SECTOR_EMIS = '', - BULKRUNMODUS = 'SINGLERUN', - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-02, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-02, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-01, - CO2_FERTILIZATION_FACTOR = 2.762800e-01, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-01, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-02, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-01, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-01, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-01, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-02, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-01, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = '3D-GFDL', - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-02, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+00, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 3.510062e-02, - CH4_PPB2TGCH4 = 2.780000e+00, - CH4_S = -3.200000e-01, - CH4_SCALEOHSENS = 1.225237e+00, - CH4_ANOX = 4.200000e-03, - CH4_ACO = -1.050000e-04, - CH4_AVOC = -3.150000e-04, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-01, - CH4_ADDEDSTRATH2O_PERCENT = 1.505693e-01, - CH4_RADEFF_WM2PERPPB = 3.563812e-02, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 1.215824e+02, - N2O_RADEFF_WM2PERPPB = 1.194066e-01, - N2O_PPB2TGN = 4.810000e+00, - N2O_S = -5.000000e-02, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 4.967154e-02, - TROPOZ_OZCH4 = 2.454783e+00, - TROPOZ_OZNOX = 1.250000e-01, - TROPOZ_OZCO = 5.091585e-04, - TROPOZ_OZVOC = 4.327017e-03, - STRATOZ_CLEXPON = 1.261657e+00, - STRATOZ_O3SCALE = -1.923399e-03, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+00, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+00, - AIR_BC_SCALE = 1.500000e+00, - RF_AIR_H2O_WM2 = 1.000000e-03, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-03, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-03, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 3.423420e+00, - CORE_FEEDBACK_QSENSITIVITY = 5.996769e-03, - CORE_VERTICALDIFFUSIVITY = 9.664711e-01, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-01, - CORE_VERTICALDIFF_TOP_DKDT = -6.186066e-01, - CORE_ADJUST_SST2OCNATM = 1.250000e+00, - CORE_DELQ2XCO2 = 3.761478e+00, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.576104e+00, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-01, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-01, - CORE_UPWELL_THRESH_TEMP_NH = 5.393700e+00, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 5.535261e+00, - CORE_HEATXCHANGE_NORTHSOUTH = 3.033428e+00, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1.280030e+00, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = 'GLOBE', - CORE_HEMISFRACTION_NH_LAND = 4.200000e-01, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-01, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-01, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-01, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-01, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-01, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+00, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-03, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+00, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-01, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-01, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+00, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-04, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+00, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-01, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-01, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-01, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-02, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = 'HIST_SEALEVEL_CHURCHWHITE2006_RF.IN', - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = 'ASCII', - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = 'JUMPSTART', - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = 'ALL', - RF_VOLCANIC_SCALE = 1.513033e-01, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 9.386456e-01, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 1.093570e+00, - RF_MHALOSUM_SCALE = 1.049710e+00, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -5.107211e-01, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -1.484862e-02, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 1.951860e-01, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -5.164344e-02, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = -2.809219e-01, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = -3.218242e-01, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 2.602898e-01, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -9.588365e-01, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-02, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 4.477675e-01, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -1.973855e-01, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = -3.567215e-01, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -1.825223e-01, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.464502e+00, 1.431077e+00, 1.396043e+00, 1.209204e+00, - RF_REGIONS_CH4 = 5.803910e-01, 4.326931e-01, 6.050049e-01, 4.314693e-01, - RF_REGIONS_CH4OXSTRATH2O = 3.595610e-02, 4.664089e-02, 8.503199e-02, 4.033862e-02, - RF_REGIONS_N2O = 1.654331e-01, 1.377857e-01, 1.608844e-01, 1.185228e-01, - RF_REGIONS_MHALO = 1.812220e-01, 1.529246e-01, 1.667821e-01, 1.464752e-01, - RF_REGIONS_TROPOZ = 4.951341e-01, 4.985537e-01, 1.915832e-01, 2.222514e-01, - RF_REGIONS_STRATOZ = -1.099023e-02, -2.345418e-02, -6.046872e-02, -2.600027e-01, - RF_REGIONS_DUST = -7.877658e-01, -1.463548e+00, -3.113364e-01, -6.409596e-01, - RF_REGIONS_SEASALT = -1.175350e+00, -2.037600e-01, -1.825320e+00, -2.020700e-01, - RF_REGIONS_FGAS = 1.539153e-01, 1.474787e-01, 1.452471e-01, 1.495463e-01, - RF_REGIONS_CLOUD_COVER = -1.332780e+00, -1.580600e+00, -5.294200e-01, - -8.112700e-01, - RF_REGIONS_CLOUD_ALBEDO = -9.646302e-01, -1.343440e+00, -3.234695e-01, - -6.772615e-01, - RF_REGIONS_AIRH2O = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CONTRAIL = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CIRRUS = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+00, - RF_EFFICACY_TROPOZ = 8.500000e-01, - RF_EFFICACY_AER_DIR = 9.000000e-01, - RF_EFFICACY_CLOUD_ALBEDO = 1.225363e+00, - RF_EFFICACY_CLOUD_COVER = 9.000000e-01, - RF_EFFICACY_SOLAR = 8.500000e-01, - RF_EFFICACY_VOLC = 9.500000e-01, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+00, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-01, - RF_EFFICACY_CIRRUS = 6.000000e-01, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = 'GISS_SOXNB_OT.IN', - FILE_SOXI_OT = 'GISS_SOXI_OT.IN', - FILE_SOXT_RF = 'GISS_SOX_RF.IN', - FILE_SOXI_EMIS = 'HISTRCP_SOXI_EMIS.IN', - FILE_SOXB_EMIS = 'HISTRCP_SOXB_EMIS.IN', - FILE_SOXN_EMIS = 'HIST_SOXN_EMIS.IN', - FILE_COI_EMIS = 'HISTRCP_COI_EMIS.IN', - FILE_COB_EMIS = 'HISTRCP_COB_EMIS.IN', - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-01, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = 'HISTRCP_BCI_EMIS.IN', - FILE_BCB_EMIS = 'HISTRCP_BCB_EMIS.IN', - FILE_OCB_EMIS = 'HISTRCP_OCB_EMIS.IN', - FILE_OCI_EMIS = 'HISTRCP_OCI_EMIS.IN', - FILE_BCB_OT = 'GISS_BCB_OT.IN', - FILE_BCI_OT = 'GISS_BCI_OT.IN', - FILE_OCB_OT = 'GISS_OCB_OT.IN', - FILE_OCI_OT = 'GISS_OCI_OT.IN', - FILE_OCN_OT = 'GISS_OCN_OT.IN', - FILE_BCSNOW_RF = 'GISS_BCSNOW_RF.IN', - FILE_BCB_RF = 'GISS_BCB_RF.IN', - FILE_BCI_RF = 'GISS_BCI_RF.IN', - FILE_OCB_RF = 'GISS_OCB_RF.IN', - FILE_OCI_RF = 'GISS_OCI_RF.IN', - FILE_CO2I_EMIS = 'HISTRCP_CO2I_EMIS.IN', - FILE_CO2B_EMIS = 'HISTRCP_CO2B_EMIS.IN', - FILE_CH4I_EMIS = 'HISTEDGAR_CH4I_EMIS.IN', - FILE_CH4B_EMIS = 'HISTEDGAR_CH4B_EMIS.IN', - FILE_CH4N_EMIS = '', - FILE_N2OI_EMIS = 'HISTEDGAR_N2OI_EMIS.IN', - FILE_N2OB_EMIS = 'HISTEDGAR_N2OB_EMIS.IN', - FILE_N2ON_EMIS = '', - FILE_NOXI_EMIS = 'HISTRCP_NOXI_EMIS.IN', - FILE_NOXB_EMIS = 'HISTRCP_NOXB_EMIS.IN', - FILE_NMVOCI_EMIS = 'HISTRCP_NMVOCI_EMIS.IN', - FILE_NMVOCB_EMIS = 'HISTRCP_NMVOCB_EMIS.IN', - FILE_MINERALDUST_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXB_OT = 'MIXED_NOXB_OT.IN', - FILE_NOXI_OT = 'MIXED_NOXI_OT.IN', - FILE_SS_OT = 'GISS_SS_OT.IN', - FILE_CO2_CONC = 'HISTRCP_CO2_CONC.IN', - FILE_CH4_CONC = 'HISTRCP_CH4_CONC.IN', - FILE_N2O_CONC = 'HISTRCP_N2O_CONC.IN', - FILE_VOLCANIC_RF = 'HIST_VOLCANIC_RF.MON', - FILE_SOLAR_RF = 'HISTRCP_SOLAR_RF.IN', - FILE_EXTRA_RF = '', - FILE_LANDUSE_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXT_RF = 'GISS_NOX_RF.IN', - CLOUD_WEIGHT_NOX = 6.732947e-03, - CLOUD_WEIGHT_BC = 6.715911e-03, - CLOUD_WEIGHT_OC = 1.026389e-02, - CLOUD_WEIGHT_SOX = 1.300000e-01, - CLOUD_WEIGHT_SS = 1.300000e-01, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-01, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = 'CF4', 'C2F6', 'C6F14', 'HFC23', 'HFC32', 'HFC43_10', 'HFC125', - 'HFC134a', 'HFC143a', 'HFC227ea', 'HFC245fa', 'SF6', - FILE_FGAS_EMIS = 'HISTRCP_CF4_EMIS.IN', 'HISTRCP_C2F6_EMIS.IN', 'HISTRCP_C6F14_EMIS.IN', - 'HISTRCP_HFC23_EMIS.IN', 'HISTRCP_HFC32_EMIS.IN', '', - 'HISTRCP_HFC125_EMIS.IN', 'HISTRCP_HFC134a_EMIS.IN', - 'HISTRCP_HFC143a_EMIS.IN', 'HISTRCP_HFC227EA_EMIS.IN', - 'HISTRCP_HFC245fa_EMIS.IN', 'HISTRCP_SF6_EMIS.IN', - FILE_FGAS_CONC = 'HISTRCP_CF4_CONC.IN', 'HISTRCP_C2F6_CONC.IN', 'HISTRCP_C6F14_CONC.IN', - 'HISTRCP_HFC23_CONC.IN', 'HISTRCP_HFC32_CONC.IN', 'HISTRCP_HFC43-10_CONC.IN', - 'HISTRCP_HFC125_CONC.IN', 'HISTRCP_HFC134a_CONC.IN', - 'HISTRCP_HFC143a_CONC.IN', 'HISTRCP_HFC227EA_CONC.IN', - 'HISTRCP_HFC245fa_CONC.IN', 'HISTRCP_SF6_CONC.IN', - FGAS_FORMULA = '(CF4)', '(C2F6)', '(C6F14)', '(CHF3)', '(CH2F2)', '(C5H2F10)', - '(CHF2CF3)', '(CH2FCF3)', '(CH3CF3)', '(C3HF7)', '(C3H3F5)', - '(SF6)', - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+00, 1.590000e+01, 29, - 14, 52, 3.420000e+01, 7.600000e+00, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+00, 1.590000e+01, 29, 14, 52, - 3.420000e+01, 7.600000e+00, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.680000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.680000e-01, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-01, 2.600000e-01, 4.900000e-01, - 1.900000e-01, 1.100000e-01, 4.000000e-01, - 2.300000e-01, 1.600000e-01, 1.300000e-01, - 2.600000e-01, 2.800000e-01, 5.200000e-01, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, - 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = 'CFC_11', 'CFC_12', 'CFC_113', 'CFC_114', 'CFC_115', 'CARB_TET', - 'MCF', 'HCFC_22', 'HCFC_141B', 'HCFC_142B', 'HALON1211', - 'HALON1202', 'HALON1301', 'HALON2402', 'CH3BR', 'CH3CL', - MHALO_FORMULA = '(CCL3F)', '(CCL2F2)', '(C2CL3F3)', '(C2CL2F4)', '(C2CLF5)', - '(CCL4)', '(CH3CCL3)', '(CHCLF2)', '(CH3CCL2F)', '(CH3CCLF2)', - '(CF2CLBR)', '(CBR2F2)', '(CF3BR)', '((CF2BR)2)', '(CH3BR)', - '(CH3CL)', - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-01, 7.500000e-01, 7.500000e-01, - 7.500000e-01, 1.060000e+00, 1.080000e+00, - 3.500000e-01, 7.200000e-01, 3.600000e-01, - 1.100000e+00, 8.000000e-01, 8.000000e-01, - 8.000000e-01, 1.080000e+00, 1.080000e+00, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+00, 1.790000e+01, - 16, 2.900000e+00, 65, 20, 7.000000e-01, 1.300000e+00, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+00, 12, 9.300000e+00, 1.790000e+01, - 0, 0, 0, 0, 1.700000e+00, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+01, - 0, 65, 4.857143e+01, 1.830000e+00, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-01, 3.200000e-01, 3.000000e-01, 3.100000e-01, - 1.800000e-01, 1.300000e-01, 6.000000e-02, 2.000000e-01, - 1.400000e-01, 2.000000e-01, 3.000000e-01, 0, - 3.200000e-01, 3.300000e-01, 1.000000e-02, 1.000000e-02, - MHALO_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.690000e-01, 9.690000e-01, - 9.690000e-01, 9.690000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.690000e-01, 9.490000e-01, - 9.690000e-01, 9.670000e-01, 9.490000e-01, 9.490000e-01, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, - 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = 'RCPODS_WMO2006_MixingRatios_A1.prn', - FILE_MHALO_EMIS = 'RCPODS_WMO2006_Emissions_RCP45.prn', - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-01, - GEN_AIR_GRAMMPROMOL = 2.898400e+01, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+00, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-01, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-01, 1, 1, 4.000000e-01, - GEN_RCPREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - GEN_RCPPLUSREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - RUN_ID = 3, -/ diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_70.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_70.CFG deleted file mode 100644 index d2af4536f..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_70.CFG +++ /dev/null @@ -1,412 +0,0 @@ -&NML_ALLCFGS - RUNNAME = 'RCPfinal', - RUNDATE = 'No Date specified.', - FILE_EMISSIONSCENARIO = 'RCP45', - FILE_TUNINGMODEL = 'C4MIP_BERN', - FILE_TUNINGMODEL_2 = 'USER', - SECTOR_INCLUDE = 'NOSECTOR', - FILE_SECTOR_EMIS = '', - BULKRUNMODUS = 'SINGLERUN', - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-02, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-02, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-01, - CO2_FERTILIZATION_FACTOR = 2.762800e-01, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-01, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-02, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-01, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-01, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-01, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-02, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-01, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = '3D-GFDL', - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-02, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+00, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 1.770367e-02, - CH4_PPB2TGCH4 = 2.780000e+00, - CH4_S = -3.200000e-01, - CH4_SCALEOHSENS = 1.013484e+00, - CH4_ANOX = 4.200000e-03, - CH4_ACO = -1.050000e-04, - CH4_AVOC = -3.150000e-04, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-01, - CH4_ADDEDSTRATH2O_PERCENT = 1.320924e-01, - CH4_RADEFF_WM2PERPPB = 3.433436e-02, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 1.268844e+02, - N2O_RADEFF_WM2PERPPB = 1.333312e-01, - N2O_PPB2TGN = 4.810000e+00, - N2O_S = -5.000000e-02, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 4.070533e-02, - TROPOZ_OZCH4 = 4.614474e+00, - TROPOZ_OZNOX = 1.250000e-01, - TROPOZ_OZCO = 1.089439e-03, - TROPOZ_OZVOC = 5.212890e-03, - STRATOZ_CLEXPON = 1.505187e+00, - STRATOZ_O3SCALE = -1.537088e-03, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+00, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+00, - AIR_BC_SCALE = 1.500000e+00, - RF_AIR_H2O_WM2 = 1.000000e-03, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-03, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-03, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 3.742472e+00, - CORE_FEEDBACK_QSENSITIVITY = 4.722344e-02, - CORE_VERTICALDIFFUSIVITY = 3.587182e+00, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-01, - CORE_VERTICALDIFF_TOP_DKDT = -4.442037e-01, - CORE_ADJUST_SST2OCNATM = 1.250000e+00, - CORE_DELQ2XCO2 = 3.681217e+00, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.199549e+00, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-01, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-01, - CORE_UPWELL_THRESH_TEMP_NH = 1.801992e+01, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 2.030044e+00, - CORE_HEATXCHANGE_NORTHSOUTH = 1.686656e+00, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1.102906e+00, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = 'GLOBE', - CORE_HEMISFRACTION_NH_LAND = 4.200000e-01, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-01, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-01, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-01, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-01, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-01, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+00, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-03, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+00, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-01, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-01, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+00, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-04, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+00, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-01, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-01, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-01, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-02, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = 'HIST_SEALEVEL_CHURCHWHITE2006_RF.IN', - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = 'ASCII', - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = 'JUMPSTART', - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = 'ALL', - RF_VOLCANIC_SCALE = 5.213824e-01, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 6.345254e-01, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 1.058141e+00, - RF_MHALOSUM_SCALE = 9.918357e-01, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -4.057354e-01, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -8.669563e-02, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 3.589410e-01, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -2.400975e-02, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = -2.019080e-01, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = -8.739728e-02, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 7.826728e-02, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -6.684125e-01, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-02, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 1.612196e-01, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -4.725376e-01, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = -2.947187e-01, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -2.364904e-01, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.380429e+00, 1.437399e+00, 1.405979e+00, 1.443146e+00, - RF_REGIONS_CH4 = 4.973170e-01, 4.543463e-01, 5.817915e-01, 4.050356e-01, - RF_REGIONS_CH4OXSTRATH2O = 4.072303e-02, 4.647910e-02, 9.190059e-02, 4.269257e-02, - RF_REGIONS_N2O = 1.618227e-01, 1.432294e-01, 1.704183e-01, 1.286015e-01, - RF_REGIONS_MHALO = 1.792140e-01, 1.504265e-01, 1.626175e-01, 1.395532e-01, - RF_REGIONS_TROPOZ = 5.117794e-01, 5.161490e-01, 1.707793e-01, 2.303637e-01, - RF_REGIONS_STRATOZ = -1.182046e-02, -2.399508e-02, -6.142171e-02, -2.531629e-01, - RF_REGIONS_DUST = -7.999801e-01, -1.580226e+00, -3.217684e-01, -6.061431e-01, - RF_REGIONS_SEASALT = -1.175350e+00, -2.037600e-01, -1.825320e+00, -2.020700e-01, - RF_REGIONS_FGAS = 1.631264e-01, 1.512311e-01, 1.614612e-01, 1.348863e-01, - RF_REGIONS_CLOUD_COVER = -1.332780e+00, -1.580600e+00, -5.294200e-01, - -8.112700e-01, - RF_REGIONS_CLOUD_ALBEDO = -8.742598e-01, -1.313227e+00, -3.753260e-01, - -6.389053e-01, - RF_REGIONS_AIRH2O = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CONTRAIL = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CIRRUS = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+00, - RF_EFFICACY_TROPOZ = 8.500000e-01, - RF_EFFICACY_AER_DIR = 9.000000e-01, - RF_EFFICACY_CLOUD_ALBEDO = 1.681451e+00, - RF_EFFICACY_CLOUD_COVER = 9.000000e-01, - RF_EFFICACY_SOLAR = 8.500000e-01, - RF_EFFICACY_VOLC = 9.500000e-01, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+00, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-01, - RF_EFFICACY_CIRRUS = 6.000000e-01, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = 'GISS_SOXNB_OT.IN', - FILE_SOXI_OT = 'GISS_SOXI_OT.IN', - FILE_SOXT_RF = 'GISS_SOX_RF.IN', - FILE_SOXI_EMIS = 'HISTRCP_SOXI_EMIS.IN', - FILE_SOXB_EMIS = 'HISTRCP_SOXB_EMIS.IN', - FILE_SOXN_EMIS = 'HIST_SOXN_EMIS.IN', - FILE_COI_EMIS = 'HISTRCP_COI_EMIS.IN', - FILE_COB_EMIS = 'HISTRCP_COB_EMIS.IN', - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-01, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = 'HISTRCP_BCI_EMIS.IN', - FILE_BCB_EMIS = 'HISTRCP_BCB_EMIS.IN', - FILE_OCB_EMIS = 'HISTRCP_OCB_EMIS.IN', - FILE_OCI_EMIS = 'HISTRCP_OCI_EMIS.IN', - FILE_BCB_OT = 'GISS_BCB_OT.IN', - FILE_BCI_OT = 'GISS_BCI_OT.IN', - FILE_OCB_OT = 'GISS_OCB_OT.IN', - FILE_OCI_OT = 'GISS_OCI_OT.IN', - FILE_OCN_OT = 'GISS_OCN_OT.IN', - FILE_BCSNOW_RF = 'GISS_BCSNOW_RF.IN', - FILE_BCB_RF = 'GISS_BCB_RF.IN', - FILE_BCI_RF = 'GISS_BCI_RF.IN', - FILE_OCB_RF = 'GISS_OCB_RF.IN', - FILE_OCI_RF = 'GISS_OCI_RF.IN', - FILE_CO2I_EMIS = 'HISTRCP_CO2I_EMIS.IN', - FILE_CO2B_EMIS = 'HISTRCP_CO2B_EMIS.IN', - FILE_CH4I_EMIS = 'HISTEDGAR_CH4I_EMIS.IN', - FILE_CH4B_EMIS = 'HISTEDGAR_CH4B_EMIS.IN', - FILE_CH4N_EMIS = '', - FILE_N2OI_EMIS = 'HISTEDGAR_N2OI_EMIS.IN', - FILE_N2OB_EMIS = 'HISTEDGAR_N2OB_EMIS.IN', - FILE_N2ON_EMIS = '', - FILE_NOXI_EMIS = 'HISTRCP_NOXI_EMIS.IN', - FILE_NOXB_EMIS = 'HISTRCP_NOXB_EMIS.IN', - FILE_NMVOCI_EMIS = 'HISTRCP_NMVOCI_EMIS.IN', - FILE_NMVOCB_EMIS = 'HISTRCP_NMVOCB_EMIS.IN', - FILE_MINERALDUST_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXB_OT = 'MIXED_NOXB_OT.IN', - FILE_NOXI_OT = 'MIXED_NOXI_OT.IN', - FILE_SS_OT = 'GISS_SS_OT.IN', - FILE_CO2_CONC = 'HISTRCP_CO2_CONC.IN', - FILE_CH4_CONC = 'HISTRCP_CH4_CONC.IN', - FILE_N2O_CONC = 'HISTRCP_N2O_CONC.IN', - FILE_VOLCANIC_RF = 'HIST_VOLCANIC_RF.MON', - FILE_SOLAR_RF = 'HISTRCP_SOLAR_RF.IN', - FILE_EXTRA_RF = '', - FILE_LANDUSE_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXT_RF = 'GISS_NOX_RF.IN', - CLOUD_WEIGHT_NOX = 3.498739e-02, - CLOUD_WEIGHT_BC = 1.151403e-02, - CLOUD_WEIGHT_OC = 5.724520e-02, - CLOUD_WEIGHT_SOX = 1.300000e-01, - CLOUD_WEIGHT_SS = 1.300000e-01, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-01, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = 'CF4', 'C2F6', 'C6F14', 'HFC23', 'HFC32', 'HFC43_10', 'HFC125', - 'HFC134a', 'HFC143a', 'HFC227ea', 'HFC245fa', 'SF6', - FILE_FGAS_EMIS = 'HISTRCP_CF4_EMIS.IN', 'HISTRCP_C2F6_EMIS.IN', 'HISTRCP_C6F14_EMIS.IN', - 'HISTRCP_HFC23_EMIS.IN', 'HISTRCP_HFC32_EMIS.IN', '', - 'HISTRCP_HFC125_EMIS.IN', 'HISTRCP_HFC134a_EMIS.IN', - 'HISTRCP_HFC143a_EMIS.IN', 'HISTRCP_HFC227EA_EMIS.IN', - 'HISTRCP_HFC245fa_EMIS.IN', 'HISTRCP_SF6_EMIS.IN', - FILE_FGAS_CONC = 'HISTRCP_CF4_CONC.IN', 'HISTRCP_C2F6_CONC.IN', 'HISTRCP_C6F14_CONC.IN', - 'HISTRCP_HFC23_CONC.IN', 'HISTRCP_HFC32_CONC.IN', 'HISTRCP_HFC43-10_CONC.IN', - 'HISTRCP_HFC125_CONC.IN', 'HISTRCP_HFC134a_CONC.IN', - 'HISTRCP_HFC143a_CONC.IN', 'HISTRCP_HFC227EA_CONC.IN', - 'HISTRCP_HFC245fa_CONC.IN', 'HISTRCP_SF6_CONC.IN', - FGAS_FORMULA = '(CF4)', '(C2F6)', '(C6F14)', '(CHF3)', '(CH2F2)', '(C5H2F10)', - '(CHF2CF3)', '(CH2FCF3)', '(CH3CF3)', '(C3HF7)', '(C3H3F5)', - '(SF6)', - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+00, 1.590000e+01, 29, - 14, 52, 3.420000e+01, 7.600000e+00, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+00, 1.590000e+01, 29, 14, 52, - 3.420000e+01, 7.600000e+00, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.680000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.680000e-01, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-01, 2.600000e-01, 4.900000e-01, - 1.900000e-01, 1.100000e-01, 4.000000e-01, - 2.300000e-01, 1.600000e-01, 1.300000e-01, - 2.600000e-01, 2.800000e-01, 5.200000e-01, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, - 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = 'CFC_11', 'CFC_12', 'CFC_113', 'CFC_114', 'CFC_115', 'CARB_TET', - 'MCF', 'HCFC_22', 'HCFC_141B', 'HCFC_142B', 'HALON1211', - 'HALON1202', 'HALON1301', 'HALON2402', 'CH3BR', 'CH3CL', - MHALO_FORMULA = '(CCL3F)', '(CCL2F2)', '(C2CL3F3)', '(C2CL2F4)', '(C2CLF5)', - '(CCL4)', '(CH3CCL3)', '(CHCLF2)', '(CH3CCL2F)', '(CH3CCLF2)', - '(CF2CLBR)', '(CBR2F2)', '(CF3BR)', '((CF2BR)2)', '(CH3BR)', - '(CH3CL)', - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-01, 7.500000e-01, 7.500000e-01, - 7.500000e-01, 1.060000e+00, 1.080000e+00, - 3.500000e-01, 7.200000e-01, 3.600000e-01, - 1.100000e+00, 8.000000e-01, 8.000000e-01, - 8.000000e-01, 1.080000e+00, 1.080000e+00, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+00, 1.790000e+01, - 16, 2.900000e+00, 65, 20, 7.000000e-01, 1.300000e+00, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+00, 12, 9.300000e+00, 1.790000e+01, - 0, 0, 0, 0, 1.700000e+00, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+01, - 0, 65, 4.857143e+01, 1.830000e+00, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-01, 3.200000e-01, 3.000000e-01, 3.100000e-01, - 1.800000e-01, 1.300000e-01, 6.000000e-02, 2.000000e-01, - 1.400000e-01, 2.000000e-01, 3.000000e-01, 0, - 3.200000e-01, 3.300000e-01, 1.000000e-02, 1.000000e-02, - MHALO_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.690000e-01, 9.690000e-01, - 9.690000e-01, 9.690000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.690000e-01, 9.490000e-01, - 9.690000e-01, 9.670000e-01, 9.490000e-01, 9.490000e-01, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, - 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = 'RCPODS_WMO2006_MixingRatios_A1.prn', - FILE_MHALO_EMIS = 'RCPODS_WMO2006_Emissions_RCP45.prn', - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-01, - GEN_AIR_GRAMMPROMOL = 2.898400e+01, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+00, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-01, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-01, 1, 1, 4.000000e-01, - GEN_RCPREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - GEN_RCPPLUSREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - RUN_ID = 3, -/ diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_75.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_75.CFG deleted file mode 100644 index cf40ccac6..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_75.CFG +++ /dev/null @@ -1,412 +0,0 @@ -&NML_ALLCFGS - RUNNAME = 'RCPfinal', - RUNDATE = 'No Date specified.', - FILE_EMISSIONSCENARIO = 'RCP45', - FILE_TUNINGMODEL = 'C4MIP_BERN', - FILE_TUNINGMODEL_2 = 'USER', - SECTOR_INCLUDE = 'NOSECTOR', - FILE_SECTOR_EMIS = '', - BULKRUNMODUS = 'SINGLERUN', - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-02, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-02, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-01, - CO2_FERTILIZATION_FACTOR = 2.762800e-01, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-01, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-02, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-01, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-01, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-01, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-02, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-01, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = '3D-GFDL', - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-02, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+00, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 4.027448e-02, - CH4_PPB2TGCH4 = 2.780000e+00, - CH4_S = -3.200000e-01, - CH4_SCALEOHSENS = 1.393494e+00, - CH4_ANOX = 4.200000e-03, - CH4_ACO = -1.050000e-04, - CH4_AVOC = -3.150000e-04, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-01, - CH4_ADDEDSTRATH2O_PERCENT = 8.224218e-02, - CH4_RADEFF_WM2PERPPB = 3.650533e-02, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 1.256570e+02, - N2O_RADEFF_WM2PERPPB = 1.272988e-01, - N2O_PPB2TGN = 4.810000e+00, - N2O_S = -5.000000e-02, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 2.982904e-02, - TROPOZ_OZCH4 = 7.038549e+00, - TROPOZ_OZNOX = 1.250000e-01, - TROPOZ_OZCO = 1.138841e-03, - TROPOZ_OZVOC = 5.940599e-03, - STRATOZ_CLEXPON = 1.196646e+00, - STRATOZ_O3SCALE = -1.411718e-03, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+00, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+00, - AIR_BC_SCALE = 1.500000e+00, - RF_AIR_H2O_WM2 = 1.000000e-03, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-03, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-03, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 3.821452e+00, - CORE_FEEDBACK_QSENSITIVITY = 4.322274e-02, - CORE_VERTICALDIFFUSIVITY = 2.155384e+00, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-01, - CORE_VERTICALDIFF_TOP_DKDT = -1.750886e-01, - CORE_ADJUST_SST2OCNATM = 1.250000e+00, - CORE_DELQ2XCO2 = 3.843080e+00, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.461666e+00, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-01, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-01, - CORE_UPWELL_THRESH_TEMP_NH = 1.406323e+01, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 3.323975e+00, - CORE_HEATXCHANGE_NORTHSOUTH = 2.188529e+00, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1.253040e+00, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = 'GLOBE', - CORE_HEMISFRACTION_NH_LAND = 4.200000e-01, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-01, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-01, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-01, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-01, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-01, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+00, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-03, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+00, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-01, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-01, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+00, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-04, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+00, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-01, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-01, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-01, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-02, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = 'HIST_SEALEVEL_CHURCHWHITE2006_RF.IN', - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = 'ASCII', - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = 'JUMPSTART', - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = 'ALL', - RF_VOLCANIC_SCALE = 3.854960e-01, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 1.029872e+00, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 8.970183e-01, - RF_MHALOSUM_SCALE = 9.375014e-01, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -6.793274e-01, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -3.393772e-02, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 3.694568e-01, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -6.994963e-02, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = -1.494274e-01, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = -2.791582e-01, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 1.273805e-01, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -5.549296e-01, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-02, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 4.222269e-01, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -4.780498e-01, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = -1.307677e-01, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -3.556397e-01, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.370397e+00, 1.369721e+00, 1.536058e+00, 1.393628e+00, - RF_REGIONS_CH4 = 5.832460e-01, 4.340405e-01, 6.253522e-01, 3.874127e-01, - RF_REGIONS_CH4OXSTRATH2O = 4.002291e-02, 4.974106e-02, 8.046216e-02, 4.047839e-02, - RF_REGIONS_N2O = 1.552605e-01, 1.299510e-01, 1.609373e-01, 1.420075e-01, - RF_REGIONS_MHALO = 1.506725e-01, 1.631074e-01, 1.562990e-01, 1.326012e-01, - RF_REGIONS_TROPOZ = 4.718002e-01, 5.434643e-01, 1.880139e-01, 2.224621e-01, - RF_REGIONS_STRATOZ = -1.178912e-02, -2.116406e-02, -5.941003e-02, -2.477739e-01, - RF_REGIONS_DUST = -8.549443e-01, -1.413696e+00, -3.161070e-01, -6.236696e-01, - RF_REGIONS_SEASALT = -1.175350e+00, -2.037600e-01, -1.825320e+00, -2.020700e-01, - RF_REGIONS_FGAS = 1.608003e-01, 1.767181e-01, 1.667078e-01, 1.317924e-01, - RF_REGIONS_CLOUD_COVER = -1.332780e+00, -1.580600e+00, -5.294200e-01, - -8.112700e-01, - RF_REGIONS_CLOUD_ALBEDO = -1.061523e+00, -1.360082e+00, -3.532505e-01, - -6.781160e-01, - RF_REGIONS_AIRH2O = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CONTRAIL = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CIRRUS = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+00, - RF_EFFICACY_TROPOZ = 8.500000e-01, - RF_EFFICACY_AER_DIR = 9.000000e-01, - RF_EFFICACY_CLOUD_ALBEDO = 1.504870e+00, - RF_EFFICACY_CLOUD_COVER = 9.000000e-01, - RF_EFFICACY_SOLAR = 8.500000e-01, - RF_EFFICACY_VOLC = 9.500000e-01, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+00, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-01, - RF_EFFICACY_CIRRUS = 6.000000e-01, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = 'GISS_SOXNB_OT.IN', - FILE_SOXI_OT = 'GISS_SOXI_OT.IN', - FILE_SOXT_RF = 'GISS_SOX_RF.IN', - FILE_SOXI_EMIS = 'HISTRCP_SOXI_EMIS.IN', - FILE_SOXB_EMIS = 'HISTRCP_SOXB_EMIS.IN', - FILE_SOXN_EMIS = 'HIST_SOXN_EMIS.IN', - FILE_COI_EMIS = 'HISTRCP_COI_EMIS.IN', - FILE_COB_EMIS = 'HISTRCP_COB_EMIS.IN', - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-01, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = 'HISTRCP_BCI_EMIS.IN', - FILE_BCB_EMIS = 'HISTRCP_BCB_EMIS.IN', - FILE_OCB_EMIS = 'HISTRCP_OCB_EMIS.IN', - FILE_OCI_EMIS = 'HISTRCP_OCI_EMIS.IN', - FILE_BCB_OT = 'GISS_BCB_OT.IN', - FILE_BCI_OT = 'GISS_BCI_OT.IN', - FILE_OCB_OT = 'GISS_OCB_OT.IN', - FILE_OCI_OT = 'GISS_OCI_OT.IN', - FILE_OCN_OT = 'GISS_OCN_OT.IN', - FILE_BCSNOW_RF = 'GISS_BCSNOW_RF.IN', - FILE_BCB_RF = 'GISS_BCB_RF.IN', - FILE_BCI_RF = 'GISS_BCI_RF.IN', - FILE_OCB_RF = 'GISS_OCB_RF.IN', - FILE_OCI_RF = 'GISS_OCI_RF.IN', - FILE_CO2I_EMIS = 'HISTRCP_CO2I_EMIS.IN', - FILE_CO2B_EMIS = 'HISTRCP_CO2B_EMIS.IN', - FILE_CH4I_EMIS = 'HISTEDGAR_CH4I_EMIS.IN', - FILE_CH4B_EMIS = 'HISTEDGAR_CH4B_EMIS.IN', - FILE_CH4N_EMIS = '', - FILE_N2OI_EMIS = 'HISTEDGAR_N2OI_EMIS.IN', - FILE_N2OB_EMIS = 'HISTEDGAR_N2OB_EMIS.IN', - FILE_N2ON_EMIS = '', - FILE_NOXI_EMIS = 'HISTRCP_NOXI_EMIS.IN', - FILE_NOXB_EMIS = 'HISTRCP_NOXB_EMIS.IN', - FILE_NMVOCI_EMIS = 'HISTRCP_NMVOCI_EMIS.IN', - FILE_NMVOCB_EMIS = 'HISTRCP_NMVOCB_EMIS.IN', - FILE_MINERALDUST_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXB_OT = 'MIXED_NOXB_OT.IN', - FILE_NOXI_OT = 'MIXED_NOXI_OT.IN', - FILE_SS_OT = 'GISS_SS_OT.IN', - FILE_CO2_CONC = 'HISTRCP_CO2_CONC.IN', - FILE_CH4_CONC = 'HISTRCP_CH4_CONC.IN', - FILE_N2O_CONC = 'HISTRCP_N2O_CONC.IN', - FILE_VOLCANIC_RF = 'HIST_VOLCANIC_RF.MON', - FILE_SOLAR_RF = 'HISTRCP_SOLAR_RF.IN', - FILE_EXTRA_RF = '', - FILE_LANDUSE_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXT_RF = 'GISS_NOX_RF.IN', - CLOUD_WEIGHT_NOX = 6.330295e-02, - CLOUD_WEIGHT_BC = 9.070406e-03, - CLOUD_WEIGHT_OC = 2.338521e-02, - CLOUD_WEIGHT_SOX = 1.300000e-01, - CLOUD_WEIGHT_SS = 1.300000e-01, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-01, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = 'CF4', 'C2F6', 'C6F14', 'HFC23', 'HFC32', 'HFC43_10', 'HFC125', - 'HFC134a', 'HFC143a', 'HFC227ea', 'HFC245fa', 'SF6', - FILE_FGAS_EMIS = 'HISTRCP_CF4_EMIS.IN', 'HISTRCP_C2F6_EMIS.IN', 'HISTRCP_C6F14_EMIS.IN', - 'HISTRCP_HFC23_EMIS.IN', 'HISTRCP_HFC32_EMIS.IN', '', - 'HISTRCP_HFC125_EMIS.IN', 'HISTRCP_HFC134a_EMIS.IN', - 'HISTRCP_HFC143a_EMIS.IN', 'HISTRCP_HFC227EA_EMIS.IN', - 'HISTRCP_HFC245fa_EMIS.IN', 'HISTRCP_SF6_EMIS.IN', - FILE_FGAS_CONC = 'HISTRCP_CF4_CONC.IN', 'HISTRCP_C2F6_CONC.IN', 'HISTRCP_C6F14_CONC.IN', - 'HISTRCP_HFC23_CONC.IN', 'HISTRCP_HFC32_CONC.IN', 'HISTRCP_HFC43-10_CONC.IN', - 'HISTRCP_HFC125_CONC.IN', 'HISTRCP_HFC134a_CONC.IN', - 'HISTRCP_HFC143a_CONC.IN', 'HISTRCP_HFC227EA_CONC.IN', - 'HISTRCP_HFC245fa_CONC.IN', 'HISTRCP_SF6_CONC.IN', - FGAS_FORMULA = '(CF4)', '(C2F6)', '(C6F14)', '(CHF3)', '(CH2F2)', '(C5H2F10)', - '(CHF2CF3)', '(CH2FCF3)', '(CH3CF3)', '(C3HF7)', '(C3H3F5)', - '(SF6)', - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+00, 1.590000e+01, 29, - 14, 52, 3.420000e+01, 7.600000e+00, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+00, 1.590000e+01, 29, 14, 52, - 3.420000e+01, 7.600000e+00, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.680000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.680000e-01, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-01, 2.600000e-01, 4.900000e-01, - 1.900000e-01, 1.100000e-01, 4.000000e-01, - 2.300000e-01, 1.600000e-01, 1.300000e-01, - 2.600000e-01, 2.800000e-01, 5.200000e-01, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, - 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = 'CFC_11', 'CFC_12', 'CFC_113', 'CFC_114', 'CFC_115', 'CARB_TET', - 'MCF', 'HCFC_22', 'HCFC_141B', 'HCFC_142B', 'HALON1211', - 'HALON1202', 'HALON1301', 'HALON2402', 'CH3BR', 'CH3CL', - MHALO_FORMULA = '(CCL3F)', '(CCL2F2)', '(C2CL3F3)', '(C2CL2F4)', '(C2CLF5)', - '(CCL4)', '(CH3CCL3)', '(CHCLF2)', '(CH3CCL2F)', '(CH3CCLF2)', - '(CF2CLBR)', '(CBR2F2)', '(CF3BR)', '((CF2BR)2)', '(CH3BR)', - '(CH3CL)', - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-01, 7.500000e-01, 7.500000e-01, - 7.500000e-01, 1.060000e+00, 1.080000e+00, - 3.500000e-01, 7.200000e-01, 3.600000e-01, - 1.100000e+00, 8.000000e-01, 8.000000e-01, - 8.000000e-01, 1.080000e+00, 1.080000e+00, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+00, 1.790000e+01, - 16, 2.900000e+00, 65, 20, 7.000000e-01, 1.300000e+00, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+00, 12, 9.300000e+00, 1.790000e+01, - 0, 0, 0, 0, 1.700000e+00, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+01, - 0, 65, 4.857143e+01, 1.830000e+00, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-01, 3.200000e-01, 3.000000e-01, 3.100000e-01, - 1.800000e-01, 1.300000e-01, 6.000000e-02, 2.000000e-01, - 1.400000e-01, 2.000000e-01, 3.000000e-01, 0, - 3.200000e-01, 3.300000e-01, 1.000000e-02, 1.000000e-02, - MHALO_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.690000e-01, 9.690000e-01, - 9.690000e-01, 9.690000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.690000e-01, 9.490000e-01, - 9.690000e-01, 9.670000e-01, 9.490000e-01, 9.490000e-01, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, - 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = 'RCPODS_WMO2006_MixingRatios_A1.prn', - FILE_MHALO_EMIS = 'RCPODS_WMO2006_Emissions_RCP45.prn', - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-01, - GEN_AIR_GRAMMPROMOL = 2.898400e+01, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+00, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-01, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-01, 1, 1, 4.000000e-01, - GEN_RCPREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - GEN_RCPPLUSREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - RUN_ID = 3, -/ diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_80.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_80.CFG deleted file mode 100644 index 74559dc21..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_80.CFG +++ /dev/null @@ -1,412 +0,0 @@ -&NML_ALLCFGS - RUNNAME = 'RCPfinal', - RUNDATE = 'No Date specified.', - FILE_EMISSIONSCENARIO = 'RCP45', - FILE_TUNINGMODEL = 'C4MIP_BERN', - FILE_TUNINGMODEL_2 = 'USER', - SECTOR_INCLUDE = 'NOSECTOR', - FILE_SECTOR_EMIS = '', - BULKRUNMODUS = 'SINGLERUN', - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-02, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-02, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-01, - CO2_FERTILIZATION_FACTOR = 2.762800e-01, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-01, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-02, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-01, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-01, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-01, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-02, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-01, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = '3D-GFDL', - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-02, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+00, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 2.893226e-02, - CH4_PPB2TGCH4 = 2.780000e+00, - CH4_S = -3.200000e-01, - CH4_SCALEOHSENS = 1.316649e+00, - CH4_ANOX = 4.200000e-03, - CH4_ACO = -1.050000e-04, - CH4_AVOC = -3.150000e-04, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-01, - CH4_ADDEDSTRATH2O_PERCENT = 7.265029e-02, - CH4_RADEFF_WM2PERPPB = 3.617999e-02, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 1.231949e+02, - N2O_RADEFF_WM2PERPPB = 1.277044e-01, - N2O_PPB2TGN = 4.810000e+00, - N2O_S = -5.000000e-02, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 3.403685e-02, - TROPOZ_OZCH4 = 2.996990e+00, - TROPOZ_OZNOX = 1.250000e-01, - TROPOZ_OZCO = 1.905922e-03, - TROPOZ_OZVOC = 1.339988e-03, - STRATOZ_CLEXPON = 1.399969e+00, - STRATOZ_O3SCALE = -2.410419e-03, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+00, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+00, - AIR_BC_SCALE = 1.500000e+00, - RF_AIR_H2O_WM2 = 1.000000e-03, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-03, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-03, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 3.882764e+00, - CORE_FEEDBACK_QSENSITIVITY = 1.512225e-02, - CORE_VERTICALDIFFUSIVITY = 2.077524e+00, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-01, - CORE_VERTICALDIFF_TOP_DKDT = -9.599971e-01, - CORE_ADJUST_SST2OCNATM = 1.250000e+00, - CORE_DELQ2XCO2 = 3.867748e+00, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.377044e+00, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-01, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-01, - CORE_UPWELL_THRESH_TEMP_NH = 1.360124e+01, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 2.957733e+00, - CORE_HEATXCHANGE_NORTHSOUTH = 1.863570e+00, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1.045858e+00, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = 'GLOBE', - CORE_HEMISFRACTION_NH_LAND = 4.200000e-01, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-01, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-01, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-01, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-01, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-01, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+00, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-03, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+00, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-01, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-01, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+00, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-04, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+00, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-01, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-01, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-01, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-02, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = 'HIST_SEALEVEL_CHURCHWHITE2006_RF.IN', - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = 'ASCII', - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = 'JUMPSTART', - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = 'ALL', - RF_VOLCANIC_SCALE = 4.337621e-01, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 6.624723e-01, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 9.457355e-01, - RF_MHALOSUM_SCALE = 1.030004e+00, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -4.790766e-01, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -1.457221e-01, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 9.077610e-02, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -7.285218e-02, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = -2.889816e-01, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = -8.335339e-02, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 1.624899e-01, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -7.659892e-01, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-02, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 5.292232e-02, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -4.235557e-01, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = -3.200368e-01, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -4.563584e-02, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.365869e+00, 1.441406e+00, 1.442599e+00, 1.416602e+00, - RF_REGIONS_CH4 = 5.247564e-01, 4.252182e-01, 5.626824e-01, 3.916233e-01, - RF_REGIONS_CH4OXSTRATH2O = 3.774143e-02, 4.702275e-02, 8.628885e-02, 3.910838e-02, - RF_REGIONS_N2O = 1.402141e-01, 1.281181e-01, 1.543118e-01, 1.292645e-01, - RF_REGIONS_MHALO = 1.782141e-01, 1.649880e-01, 1.669818e-01, 1.344954e-01, - RF_REGIONS_TROPOZ = 4.742209e-01, 5.253388e-01, 1.882455e-01, 2.462144e-01, - RF_REGIONS_STRATOZ = -1.282303e-02, -2.304158e-02, -5.742297e-02, -2.404749e-01, - RF_REGIONS_DUST = -8.575130e-01, -1.469793e+00, -3.562191e-01, -6.658708e-01, - RF_REGIONS_SEASALT = -1.175350e+00, -2.037600e-01, -1.825320e+00, -2.020700e-01, - RF_REGIONS_FGAS = 1.698526e-01, 1.639311e-01, 1.463350e-01, 1.326586e-01, - RF_REGIONS_CLOUD_COVER = -1.332780e+00, -1.580600e+00, -5.294200e-01, - -8.112700e-01, - RF_REGIONS_CLOUD_ALBEDO = -9.315089e-01, -1.323656e+00, -3.288883e-01, - -5.795132e-01, - RF_REGIONS_AIRH2O = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CONTRAIL = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CIRRUS = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+00, - RF_EFFICACY_TROPOZ = 8.500000e-01, - RF_EFFICACY_AER_DIR = 9.000000e-01, - RF_EFFICACY_CLOUD_ALBEDO = 1.193542e+00, - RF_EFFICACY_CLOUD_COVER = 9.000000e-01, - RF_EFFICACY_SOLAR = 8.500000e-01, - RF_EFFICACY_VOLC = 9.500000e-01, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+00, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-01, - RF_EFFICACY_CIRRUS = 6.000000e-01, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = 'GISS_SOXNB_OT.IN', - FILE_SOXI_OT = 'GISS_SOXI_OT.IN', - FILE_SOXT_RF = 'GISS_SOX_RF.IN', - FILE_SOXI_EMIS = 'HISTRCP_SOXI_EMIS.IN', - FILE_SOXB_EMIS = 'HISTRCP_SOXB_EMIS.IN', - FILE_SOXN_EMIS = 'HIST_SOXN_EMIS.IN', - FILE_COI_EMIS = 'HISTRCP_COI_EMIS.IN', - FILE_COB_EMIS = 'HISTRCP_COB_EMIS.IN', - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-01, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = 'HISTRCP_BCI_EMIS.IN', - FILE_BCB_EMIS = 'HISTRCP_BCB_EMIS.IN', - FILE_OCB_EMIS = 'HISTRCP_OCB_EMIS.IN', - FILE_OCI_EMIS = 'HISTRCP_OCI_EMIS.IN', - FILE_BCB_OT = 'GISS_BCB_OT.IN', - FILE_BCI_OT = 'GISS_BCI_OT.IN', - FILE_OCB_OT = 'GISS_OCB_OT.IN', - FILE_OCI_OT = 'GISS_OCI_OT.IN', - FILE_OCN_OT = 'GISS_OCN_OT.IN', - FILE_BCSNOW_RF = 'GISS_BCSNOW_RF.IN', - FILE_BCB_RF = 'GISS_BCB_RF.IN', - FILE_BCI_RF = 'GISS_BCI_RF.IN', - FILE_OCB_RF = 'GISS_OCB_RF.IN', - FILE_OCI_RF = 'GISS_OCI_RF.IN', - FILE_CO2I_EMIS = 'HISTRCP_CO2I_EMIS.IN', - FILE_CO2B_EMIS = 'HISTRCP_CO2B_EMIS.IN', - FILE_CH4I_EMIS = 'HISTEDGAR_CH4I_EMIS.IN', - FILE_CH4B_EMIS = 'HISTEDGAR_CH4B_EMIS.IN', - FILE_CH4N_EMIS = '', - FILE_N2OI_EMIS = 'HISTEDGAR_N2OI_EMIS.IN', - FILE_N2OB_EMIS = 'HISTEDGAR_N2OB_EMIS.IN', - FILE_N2ON_EMIS = '', - FILE_NOXI_EMIS = 'HISTRCP_NOXI_EMIS.IN', - FILE_NOXB_EMIS = 'HISTRCP_NOXB_EMIS.IN', - FILE_NMVOCI_EMIS = 'HISTRCP_NMVOCI_EMIS.IN', - FILE_NMVOCB_EMIS = 'HISTRCP_NMVOCB_EMIS.IN', - FILE_MINERALDUST_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXB_OT = 'MIXED_NOXB_OT.IN', - FILE_NOXI_OT = 'MIXED_NOXI_OT.IN', - FILE_SS_OT = 'GISS_SS_OT.IN', - FILE_CO2_CONC = 'HISTRCP_CO2_CONC.IN', - FILE_CH4_CONC = 'HISTRCP_CH4_CONC.IN', - FILE_N2O_CONC = 'HISTRCP_N2O_CONC.IN', - FILE_VOLCANIC_RF = 'HIST_VOLCANIC_RF.MON', - FILE_SOLAR_RF = 'HISTRCP_SOLAR_RF.IN', - FILE_EXTRA_RF = '', - FILE_LANDUSE_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXT_RF = 'GISS_NOX_RF.IN', - CLOUD_WEIGHT_NOX = 4.992640e-02, - CLOUD_WEIGHT_BC = 1.674244e-02, - CLOUD_WEIGHT_OC = 1.156406e-01, - CLOUD_WEIGHT_SOX = 1.300000e-01, - CLOUD_WEIGHT_SS = 1.300000e-01, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-01, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = 'CF4', 'C2F6', 'C6F14', 'HFC23', 'HFC32', 'HFC43_10', 'HFC125', - 'HFC134a', 'HFC143a', 'HFC227ea', 'HFC245fa', 'SF6', - FILE_FGAS_EMIS = 'HISTRCP_CF4_EMIS.IN', 'HISTRCP_C2F6_EMIS.IN', 'HISTRCP_C6F14_EMIS.IN', - 'HISTRCP_HFC23_EMIS.IN', 'HISTRCP_HFC32_EMIS.IN', '', - 'HISTRCP_HFC125_EMIS.IN', 'HISTRCP_HFC134a_EMIS.IN', - 'HISTRCP_HFC143a_EMIS.IN', 'HISTRCP_HFC227EA_EMIS.IN', - 'HISTRCP_HFC245fa_EMIS.IN', 'HISTRCP_SF6_EMIS.IN', - FILE_FGAS_CONC = 'HISTRCP_CF4_CONC.IN', 'HISTRCP_C2F6_CONC.IN', 'HISTRCP_C6F14_CONC.IN', - 'HISTRCP_HFC23_CONC.IN', 'HISTRCP_HFC32_CONC.IN', 'HISTRCP_HFC43-10_CONC.IN', - 'HISTRCP_HFC125_CONC.IN', 'HISTRCP_HFC134a_CONC.IN', - 'HISTRCP_HFC143a_CONC.IN', 'HISTRCP_HFC227EA_CONC.IN', - 'HISTRCP_HFC245fa_CONC.IN', 'HISTRCP_SF6_CONC.IN', - FGAS_FORMULA = '(CF4)', '(C2F6)', '(C6F14)', '(CHF3)', '(CH2F2)', '(C5H2F10)', - '(CHF2CF3)', '(CH2FCF3)', '(CH3CF3)', '(C3HF7)', '(C3H3F5)', - '(SF6)', - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+00, 1.590000e+01, 29, - 14, 52, 3.420000e+01, 7.600000e+00, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+00, 1.590000e+01, 29, 14, 52, - 3.420000e+01, 7.600000e+00, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.680000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.680000e-01, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-01, 2.600000e-01, 4.900000e-01, - 1.900000e-01, 1.100000e-01, 4.000000e-01, - 2.300000e-01, 1.600000e-01, 1.300000e-01, - 2.600000e-01, 2.800000e-01, 5.200000e-01, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, - 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = 'CFC_11', 'CFC_12', 'CFC_113', 'CFC_114', 'CFC_115', 'CARB_TET', - 'MCF', 'HCFC_22', 'HCFC_141B', 'HCFC_142B', 'HALON1211', - 'HALON1202', 'HALON1301', 'HALON2402', 'CH3BR', 'CH3CL', - MHALO_FORMULA = '(CCL3F)', '(CCL2F2)', '(C2CL3F3)', '(C2CL2F4)', '(C2CLF5)', - '(CCL4)', '(CH3CCL3)', '(CHCLF2)', '(CH3CCL2F)', '(CH3CCLF2)', - '(CF2CLBR)', '(CBR2F2)', '(CF3BR)', '((CF2BR)2)', '(CH3BR)', - '(CH3CL)', - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-01, 7.500000e-01, 7.500000e-01, - 7.500000e-01, 1.060000e+00, 1.080000e+00, - 3.500000e-01, 7.200000e-01, 3.600000e-01, - 1.100000e+00, 8.000000e-01, 8.000000e-01, - 8.000000e-01, 1.080000e+00, 1.080000e+00, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+00, 1.790000e+01, - 16, 2.900000e+00, 65, 20, 7.000000e-01, 1.300000e+00, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+00, 12, 9.300000e+00, 1.790000e+01, - 0, 0, 0, 0, 1.700000e+00, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+01, - 0, 65, 4.857143e+01, 1.830000e+00, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-01, 3.200000e-01, 3.000000e-01, 3.100000e-01, - 1.800000e-01, 1.300000e-01, 6.000000e-02, 2.000000e-01, - 1.400000e-01, 2.000000e-01, 3.000000e-01, 0, - 3.200000e-01, 3.300000e-01, 1.000000e-02, 1.000000e-02, - MHALO_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.690000e-01, 9.690000e-01, - 9.690000e-01, 9.690000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.690000e-01, 9.490000e-01, - 9.690000e-01, 9.670000e-01, 9.490000e-01, 9.490000e-01, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, - 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = 'RCPODS_WMO2006_MixingRatios_A1.prn', - FILE_MHALO_EMIS = 'RCPODS_WMO2006_Emissions_RCP45.prn', - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-01, - GEN_AIR_GRAMMPROMOL = 2.898400e+01, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+00, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-01, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-01, 1, 1, 4.000000e-01, - GEN_RCPREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - GEN_RCPPLUSREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - RUN_ID = 3, -/ diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_90.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_90.CFG deleted file mode 100644 index 2e4ff47de..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_90.CFG +++ /dev/null @@ -1,412 +0,0 @@ -&NML_ALLCFGS - RUNNAME = 'RCPfinal', - RUNDATE = 'No Date specified.', - FILE_EMISSIONSCENARIO = 'RCP45', - FILE_TUNINGMODEL = 'C4MIP_BERN', - FILE_TUNINGMODEL_2 = 'USER', - SECTOR_INCLUDE = 'NOSECTOR', - FILE_SECTOR_EMIS = '', - BULKRUNMODUS = 'SINGLERUN', - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-02, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-02, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-01, - CO2_FERTILIZATION_FACTOR = 2.762800e-01, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-01, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-02, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-01, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-01, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-01, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-02, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-01, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = '3D-GFDL', - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-02, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+00, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 3.499321e-02, - CH4_PPB2TGCH4 = 2.780000e+00, - CH4_S = -3.200000e-01, - CH4_SCALEOHSENS = 5.677909e-01, - CH4_ANOX = 4.200000e-03, - CH4_ACO = -1.050000e-04, - CH4_AVOC = -3.150000e-04, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-01, - CH4_ADDEDSTRATH2O_PERCENT = 7.563961e-02, - CH4_RADEFF_WM2PERPPB = 3.394596e-02, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 1.164712e+02, - N2O_RADEFF_WM2PERPPB = 1.317847e-01, - N2O_PPB2TGN = 4.810000e+00, - N2O_S = -5.000000e-02, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 5.347617e-02, - TROPOZ_OZCH4 = 4.484083e+00, - TROPOZ_OZNOX = 1.250000e-01, - TROPOZ_OZCO = 7.987451e-04, - TROPOZ_OZVOC = 4.597080e-03, - STRATOZ_CLEXPON = 2.833972e+00, - STRATOZ_O3SCALE = -1.241984e-04, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+00, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+00, - AIR_BC_SCALE = 1.500000e+00, - RF_AIR_H2O_WM2 = 1.000000e-03, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-03, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-03, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 4.963997e+00, - CORE_FEEDBACK_QSENSITIVITY = 3.826001e-03, - CORE_VERTICALDIFFUSIVITY = 2.148265e+00, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-01, - CORE_VERTICALDIFF_TOP_DKDT = -3.282286e-02, - CORE_ADJUST_SST2OCNATM = 1.250000e+00, - CORE_DELQ2XCO2 = 3.783838e+00, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.568358e+00, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-01, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-01, - CORE_UPWELL_THRESH_TEMP_NH = 1.592634e+01, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 2.341012e+00, - CORE_HEATXCHANGE_NORTHSOUTH = 4.068571e+00, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1.265438e+00, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = 'GLOBE', - CORE_HEMISFRACTION_NH_LAND = 4.200000e-01, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-01, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-01, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-01, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-01, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-01, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+00, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-03, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+00, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-01, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-01, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+00, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-04, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+00, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-01, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-01, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-01, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-02, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = 'HIST_SEALEVEL_CHURCHWHITE2006_RF.IN', - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = 'ASCII', - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = 'JUMPSTART', - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = 'ALL', - RF_VOLCANIC_SCALE = 2.305723e-01, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 5.121650e-01, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 8.967515e-01, - RF_MHALOSUM_SCALE = 1.091763e+00, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -3.235283e-01, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -1.950106e-01, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 1.475728e-01, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -8.976867e-02, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = 4.668570e-02, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = -2.612334e-01, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 1.386970e-01, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -9.206301e-01, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-02, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 6.065666e-02, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -4.291638e-01, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = -2.639204e-01, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -1.842910e-01, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.464361e+00, 1.429713e+00, 1.386008e+00, 1.368385e+00, - RF_REGIONS_CH4 = 5.026153e-01, 4.693313e-01, 6.338161e-01, 4.348112e-01, - RF_REGIONS_CH4OXSTRATH2O = 3.606429e-02, 4.783585e-02, 8.116580e-02, 4.535085e-02, - RF_REGIONS_N2O = 1.536018e-01, 1.496119e-01, 1.556558e-01, 1.292838e-01, - RF_REGIONS_MHALO = 1.537098e-01, 1.724253e-01, 1.548310e-01, 1.533807e-01, - RF_REGIONS_TROPOZ = 4.787563e-01, 5.595337e-01, 1.758969e-01, 2.283455e-01, - RF_REGIONS_STRATOZ = -1.135280e-02, -2.040398e-02, -6.276429e-02, -2.418328e-01, - RF_REGIONS_DUST = -8.807528e-01, -1.636237e+00, -3.056518e-01, -6.867606e-01, - RF_REGIONS_SEASALT = -1.175350e+00, -2.037600e-01, -1.825320e+00, -2.020700e-01, - RF_REGIONS_FGAS = 1.646748e-01, 1.634533e-01, 1.402904e-01, 1.496054e-01, - RF_REGIONS_CLOUD_COVER = -1.332780e+00, -1.580600e+00, -5.294200e-01, - -8.112700e-01, - RF_REGIONS_CLOUD_ALBEDO = -9.617325e-01, -1.328022e+00, -3.730965e-01, - -6.232421e-01, - RF_REGIONS_AIRH2O = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CONTRAIL = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CIRRUS = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+00, - RF_EFFICACY_TROPOZ = 8.500000e-01, - RF_EFFICACY_AER_DIR = 9.000000e-01, - RF_EFFICACY_CLOUD_ALBEDO = 1.424341e+00, - RF_EFFICACY_CLOUD_COVER = 9.000000e-01, - RF_EFFICACY_SOLAR = 8.500000e-01, - RF_EFFICACY_VOLC = 9.500000e-01, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+00, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-01, - RF_EFFICACY_CIRRUS = 6.000000e-01, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = 'GISS_SOXNB_OT.IN', - FILE_SOXI_OT = 'GISS_SOXI_OT.IN', - FILE_SOXT_RF = 'GISS_SOX_RF.IN', - FILE_SOXI_EMIS = 'HISTRCP_SOXI_EMIS.IN', - FILE_SOXB_EMIS = 'HISTRCP_SOXB_EMIS.IN', - FILE_SOXN_EMIS = 'HIST_SOXN_EMIS.IN', - FILE_COI_EMIS = 'HISTRCP_COI_EMIS.IN', - FILE_COB_EMIS = 'HISTRCP_COB_EMIS.IN', - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-01, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = 'HISTRCP_BCI_EMIS.IN', - FILE_BCB_EMIS = 'HISTRCP_BCB_EMIS.IN', - FILE_OCB_EMIS = 'HISTRCP_OCB_EMIS.IN', - FILE_OCI_EMIS = 'HISTRCP_OCI_EMIS.IN', - FILE_BCB_OT = 'GISS_BCB_OT.IN', - FILE_BCI_OT = 'GISS_BCI_OT.IN', - FILE_OCB_OT = 'GISS_OCB_OT.IN', - FILE_OCI_OT = 'GISS_OCI_OT.IN', - FILE_OCN_OT = 'GISS_OCN_OT.IN', - FILE_BCSNOW_RF = 'GISS_BCSNOW_RF.IN', - FILE_BCB_RF = 'GISS_BCB_RF.IN', - FILE_BCI_RF = 'GISS_BCI_RF.IN', - FILE_OCB_RF = 'GISS_OCB_RF.IN', - FILE_OCI_RF = 'GISS_OCI_RF.IN', - FILE_CO2I_EMIS = 'HISTRCP_CO2I_EMIS.IN', - FILE_CO2B_EMIS = 'HISTRCP_CO2B_EMIS.IN', - FILE_CH4I_EMIS = 'HISTEDGAR_CH4I_EMIS.IN', - FILE_CH4B_EMIS = 'HISTEDGAR_CH4B_EMIS.IN', - FILE_CH4N_EMIS = '', - FILE_N2OI_EMIS = 'HISTEDGAR_N2OI_EMIS.IN', - FILE_N2OB_EMIS = 'HISTEDGAR_N2OB_EMIS.IN', - FILE_N2ON_EMIS = '', - FILE_NOXI_EMIS = 'HISTRCP_NOXI_EMIS.IN', - FILE_NOXB_EMIS = 'HISTRCP_NOXB_EMIS.IN', - FILE_NMVOCI_EMIS = 'HISTRCP_NMVOCI_EMIS.IN', - FILE_NMVOCB_EMIS = 'HISTRCP_NMVOCB_EMIS.IN', - FILE_MINERALDUST_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXB_OT = 'MIXED_NOXB_OT.IN', - FILE_NOXI_OT = 'MIXED_NOXI_OT.IN', - FILE_SS_OT = 'GISS_SS_OT.IN', - FILE_CO2_CONC = 'HISTRCP_CO2_CONC.IN', - FILE_CH4_CONC = 'HISTRCP_CH4_CONC.IN', - FILE_N2O_CONC = 'HISTRCP_N2O_CONC.IN', - FILE_VOLCANIC_RF = 'HIST_VOLCANIC_RF.MON', - FILE_SOLAR_RF = 'HISTRCP_SOLAR_RF.IN', - FILE_EXTRA_RF = '', - FILE_LANDUSE_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXT_RF = 'GISS_NOX_RF.IN', - CLOUD_WEIGHT_NOX = 8.003352e-03, - CLOUD_WEIGHT_BC = 1.101463e-02, - CLOUD_WEIGHT_OC = 1.193306e-01, - CLOUD_WEIGHT_SOX = 1.300000e-01, - CLOUD_WEIGHT_SS = 1.300000e-01, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-01, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = 'CF4', 'C2F6', 'C6F14', 'HFC23', 'HFC32', 'HFC43_10', 'HFC125', - 'HFC134a', 'HFC143a', 'HFC227ea', 'HFC245fa', 'SF6', - FILE_FGAS_EMIS = 'HISTRCP_CF4_EMIS.IN', 'HISTRCP_C2F6_EMIS.IN', 'HISTRCP_C6F14_EMIS.IN', - 'HISTRCP_HFC23_EMIS.IN', 'HISTRCP_HFC32_EMIS.IN', '', - 'HISTRCP_HFC125_EMIS.IN', 'HISTRCP_HFC134a_EMIS.IN', - 'HISTRCP_HFC143a_EMIS.IN', 'HISTRCP_HFC227EA_EMIS.IN', - 'HISTRCP_HFC245fa_EMIS.IN', 'HISTRCP_SF6_EMIS.IN', - FILE_FGAS_CONC = 'HISTRCP_CF4_CONC.IN', 'HISTRCP_C2F6_CONC.IN', 'HISTRCP_C6F14_CONC.IN', - 'HISTRCP_HFC23_CONC.IN', 'HISTRCP_HFC32_CONC.IN', 'HISTRCP_HFC43-10_CONC.IN', - 'HISTRCP_HFC125_CONC.IN', 'HISTRCP_HFC134a_CONC.IN', - 'HISTRCP_HFC143a_CONC.IN', 'HISTRCP_HFC227EA_CONC.IN', - 'HISTRCP_HFC245fa_CONC.IN', 'HISTRCP_SF6_CONC.IN', - FGAS_FORMULA = '(CF4)', '(C2F6)', '(C6F14)', '(CHF3)', '(CH2F2)', '(C5H2F10)', - '(CHF2CF3)', '(CH2FCF3)', '(CH3CF3)', '(C3HF7)', '(C3H3F5)', - '(SF6)', - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+00, 1.590000e+01, 29, - 14, 52, 3.420000e+01, 7.600000e+00, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+00, 1.590000e+01, 29, 14, 52, - 3.420000e+01, 7.600000e+00, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.680000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.680000e-01, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-01, 2.600000e-01, 4.900000e-01, - 1.900000e-01, 1.100000e-01, 4.000000e-01, - 2.300000e-01, 1.600000e-01, 1.300000e-01, - 2.600000e-01, 2.800000e-01, 5.200000e-01, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, - 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = 'CFC_11', 'CFC_12', 'CFC_113', 'CFC_114', 'CFC_115', 'CARB_TET', - 'MCF', 'HCFC_22', 'HCFC_141B', 'HCFC_142B', 'HALON1211', - 'HALON1202', 'HALON1301', 'HALON2402', 'CH3BR', 'CH3CL', - MHALO_FORMULA = '(CCL3F)', '(CCL2F2)', '(C2CL3F3)', '(C2CL2F4)', '(C2CLF5)', - '(CCL4)', '(CH3CCL3)', '(CHCLF2)', '(CH3CCL2F)', '(CH3CCLF2)', - '(CF2CLBR)', '(CBR2F2)', '(CF3BR)', '((CF2BR)2)', '(CH3BR)', - '(CH3CL)', - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-01, 7.500000e-01, 7.500000e-01, - 7.500000e-01, 1.060000e+00, 1.080000e+00, - 3.500000e-01, 7.200000e-01, 3.600000e-01, - 1.100000e+00, 8.000000e-01, 8.000000e-01, - 8.000000e-01, 1.080000e+00, 1.080000e+00, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+00, 1.790000e+01, - 16, 2.900000e+00, 65, 20, 7.000000e-01, 1.300000e+00, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+00, 12, 9.300000e+00, 1.790000e+01, - 0, 0, 0, 0, 1.700000e+00, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+01, - 0, 65, 4.857143e+01, 1.830000e+00, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-01, 3.200000e-01, 3.000000e-01, 3.100000e-01, - 1.800000e-01, 1.300000e-01, 6.000000e-02, 2.000000e-01, - 1.400000e-01, 2.000000e-01, 3.000000e-01, 0, - 3.200000e-01, 3.300000e-01, 1.000000e-02, 1.000000e-02, - MHALO_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.690000e-01, 9.690000e-01, - 9.690000e-01, 9.690000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.690000e-01, 9.490000e-01, - 9.690000e-01, 9.670000e-01, 9.490000e-01, 9.490000e-01, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, - 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = 'RCPODS_WMO2006_MixingRatios_A1.prn', - FILE_MHALO_EMIS = 'RCPODS_WMO2006_Emissions_RCP45.prn', - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-01, - GEN_AIR_GRAMMPROMOL = 2.898400e+01, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+00, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-01, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-01, 1, 1, 4.000000e-01, - GEN_RCPREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - GEN_RCPPLUSREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - RUN_ID = 3, -/ diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_95.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_95.CFG deleted file mode 100644 index 8f5748b2e..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_RCP26_95.CFG +++ /dev/null @@ -1,412 +0,0 @@ -&NML_ALLCFGS - RUNNAME = 'RCPfinal', - RUNDATE = 'No Date specified.', - FILE_EMISSIONSCENARIO = 'RCP45', - FILE_TUNINGMODEL = 'C4MIP_BERN', - FILE_TUNINGMODEL_2 = 'USER', - SECTOR_INCLUDE = 'NOSECTOR', - FILE_SECTOR_EMIS = '', - BULKRUNMODUS = 'SINGLERUN', - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-02, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-02, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-01, - CO2_FERTILIZATION_FACTOR = 2.762800e-01, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-01, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-02, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-01, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-01, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-01, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-02, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-01, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = '3D-GFDL', - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-02, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+00, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 4.261251e-02, - CH4_PPB2TGCH4 = 2.780000e+00, - CH4_S = -3.200000e-01, - CH4_SCALEOHSENS = 8.922372e-01, - CH4_ANOX = 4.200000e-03, - CH4_ACO = -1.050000e-04, - CH4_AVOC = -3.150000e-04, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-01, - CH4_ADDEDSTRATH2O_PERCENT = 5.751918e-02, - CH4_RADEFF_WM2PERPPB = 3.858460e-02, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 1.261372e+02, - N2O_RADEFF_WM2PERPPB = 1.164975e-01, - N2O_PPB2TGN = 4.810000e+00, - N2O_S = -5.000000e-02, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 3.106467e-02, - TROPOZ_OZCH4 = 5.229531e+00, - TROPOZ_OZNOX = 1.250000e-01, - TROPOZ_OZCO = 1.138139e-03, - TROPOZ_OZVOC = 1.101899e-03, - STRATOZ_CLEXPON = 1.093568e+00, - STRATOZ_O3SCALE = -1.985234e-03, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+00, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+00, - AIR_BC_SCALE = 1.500000e+00, - RF_AIR_H2O_WM2 = 1.000000e-03, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-03, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-03, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 4.884203e+00, - CORE_FEEDBACK_QSENSITIVITY = 2.510646e-02, - CORE_VERTICALDIFFUSIVITY = 1.502696e+00, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-01, - CORE_VERTICALDIFF_TOP_DKDT = -1.681192e-01, - CORE_ADJUST_SST2OCNATM = 1.250000e+00, - CORE_DELQ2XCO2 = 4.035668e+00, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.211444e+00, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-01, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-01, - CORE_UPWELL_THRESH_TEMP_NH = 1.248599e+01, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 3.055681e+00, - CORE_HEATXCHANGE_NORTHSOUTH = 2.836175e+00, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1.086855e+00, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = 'GLOBE', - CORE_HEMISFRACTION_NH_LAND = 4.200000e-01, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-01, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-01, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-01, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-01, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-01, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+00, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-03, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+00, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-01, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-01, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+00, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-04, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+00, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-01, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-01, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-01, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-02, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = 'HIST_SEALEVEL_CHURCHWHITE2006_RF.IN', - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = 'ASCII', - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = 'JUMPSTART', - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = 'ALL', - RF_VOLCANIC_SCALE = 3.908451e-01, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 6.932245e-01, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 9.884227e-01, - RF_MHALOSUM_SCALE = 9.544850e-01, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -2.909293e-01, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -1.007907e-01, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 3.250096e-01, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -2.910237e-02, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = -2.461351e-01, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = -1.032942e-01, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 1.348056e-01, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -1.272396e+00, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-02, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 8.718888e-03, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -1.504486e-02, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = -3.207330e-01, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -1.784640e-01, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.480169e+00, 1.290402e+00, 1.475429e+00, 1.362277e+00, - RF_REGIONS_CH4 = 5.068230e-01, 4.560501e-01, 5.739127e-01, 3.836748e-01, - RF_REGIONS_CH4OXSTRATH2O = 3.627187e-02, 4.828272e-02, 8.876196e-02, 4.088598e-02, - RF_REGIONS_N2O = 1.591589e-01, 1.286626e-01, 1.612571e-01, 1.296221e-01, - RF_REGIONS_MHALO = 1.701501e-01, 1.496639e-01, 1.661269e-01, 1.533848e-01, - RF_REGIONS_TROPOZ = 4.532902e-01, 4.687752e-01, 1.875834e-01, 2.530349e-01, - RF_REGIONS_STRATOZ = -1.241825e-02, -2.156380e-02, -6.269046e-02, -2.459473e-01, - RF_REGIONS_DUST = -7.930380e-01, -1.387988e+00, -3.313228e-01, -6.715079e-01, - RF_REGIONS_SEASALT = -1.175350e+00, -2.037600e-01, -1.825320e+00, -2.020700e-01, - RF_REGIONS_FGAS = 1.815743e-01, 1.527325e-01, 1.654199e-01, 1.334817e-01, - RF_REGIONS_CLOUD_COVER = -1.332780e+00, -1.580600e+00, -5.294200e-01, - -8.112700e-01, - RF_REGIONS_CLOUD_ALBEDO = -1.041596e+00, -1.466398e+00, -3.532705e-01, - -6.446576e-01, - RF_REGIONS_AIRH2O = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CONTRAIL = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CIRRUS = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+00, - RF_EFFICACY_TROPOZ = 8.500000e-01, - RF_EFFICACY_AER_DIR = 9.000000e-01, - RF_EFFICACY_CLOUD_ALBEDO = 1.261364e+00, - RF_EFFICACY_CLOUD_COVER = 9.000000e-01, - RF_EFFICACY_SOLAR = 8.500000e-01, - RF_EFFICACY_VOLC = 9.500000e-01, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+00, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-01, - RF_EFFICACY_CIRRUS = 6.000000e-01, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = 'GISS_SOXNB_OT.IN', - FILE_SOXI_OT = 'GISS_SOXI_OT.IN', - FILE_SOXT_RF = 'GISS_SOX_RF.IN', - FILE_SOXI_EMIS = 'HISTRCP_SOXI_EMIS.IN', - FILE_SOXB_EMIS = 'HISTRCP_SOXB_EMIS.IN', - FILE_SOXN_EMIS = 'HIST_SOXN_EMIS.IN', - FILE_COI_EMIS = 'HISTRCP_COI_EMIS.IN', - FILE_COB_EMIS = 'HISTRCP_COB_EMIS.IN', - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-01, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = 'HISTRCP_BCI_EMIS.IN', - FILE_BCB_EMIS = 'HISTRCP_BCB_EMIS.IN', - FILE_OCB_EMIS = 'HISTRCP_OCB_EMIS.IN', - FILE_OCI_EMIS = 'HISTRCP_OCI_EMIS.IN', - FILE_BCB_OT = 'GISS_BCB_OT.IN', - FILE_BCI_OT = 'GISS_BCI_OT.IN', - FILE_OCB_OT = 'GISS_OCB_OT.IN', - FILE_OCI_OT = 'GISS_OCI_OT.IN', - FILE_OCN_OT = 'GISS_OCN_OT.IN', - FILE_BCSNOW_RF = 'GISS_BCSNOW_RF.IN', - FILE_BCB_RF = 'GISS_BCB_RF.IN', - FILE_BCI_RF = 'GISS_BCI_RF.IN', - FILE_OCB_RF = 'GISS_OCB_RF.IN', - FILE_OCI_RF = 'GISS_OCI_RF.IN', - FILE_CO2I_EMIS = 'HISTRCP_CO2I_EMIS.IN', - FILE_CO2B_EMIS = 'HISTRCP_CO2B_EMIS.IN', - FILE_CH4I_EMIS = 'HISTEDGAR_CH4I_EMIS.IN', - FILE_CH4B_EMIS = 'HISTEDGAR_CH4B_EMIS.IN', - FILE_CH4N_EMIS = '', - FILE_N2OI_EMIS = 'HISTEDGAR_N2OI_EMIS.IN', - FILE_N2OB_EMIS = 'HISTEDGAR_N2OB_EMIS.IN', - FILE_N2ON_EMIS = '', - FILE_NOXI_EMIS = 'HISTRCP_NOXI_EMIS.IN', - FILE_NOXB_EMIS = 'HISTRCP_NOXB_EMIS.IN', - FILE_NMVOCI_EMIS = 'HISTRCP_NMVOCI_EMIS.IN', - FILE_NMVOCB_EMIS = 'HISTRCP_NMVOCB_EMIS.IN', - FILE_MINERALDUST_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXB_OT = 'MIXED_NOXB_OT.IN', - FILE_NOXI_OT = 'MIXED_NOXI_OT.IN', - FILE_SS_OT = 'GISS_SS_OT.IN', - FILE_CO2_CONC = 'HISTRCP_CO2_CONC.IN', - FILE_CH4_CONC = 'HISTRCP_CH4_CONC.IN', - FILE_N2O_CONC = 'HISTRCP_N2O_CONC.IN', - FILE_VOLCANIC_RF = 'HIST_VOLCANIC_RF.MON', - FILE_SOLAR_RF = 'HISTRCP_SOLAR_RF.IN', - FILE_EXTRA_RF = '', - FILE_LANDUSE_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXT_RF = 'GISS_NOX_RF.IN', - CLOUD_WEIGHT_NOX = 9.676805e-03, - CLOUD_WEIGHT_BC = 1.126510e-03, - CLOUD_WEIGHT_OC = 1.110358e-02, - CLOUD_WEIGHT_SOX = 1.300000e-01, - CLOUD_WEIGHT_SS = 1.300000e-01, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-01, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = 'CF4', 'C2F6', 'C6F14', 'HFC23', 'HFC32', 'HFC43_10', 'HFC125', - 'HFC134a', 'HFC143a', 'HFC227ea', 'HFC245fa', 'SF6', - FILE_FGAS_EMIS = 'HISTRCP_CF4_EMIS.IN', 'HISTRCP_C2F6_EMIS.IN', 'HISTRCP_C6F14_EMIS.IN', - 'HISTRCP_HFC23_EMIS.IN', 'HISTRCP_HFC32_EMIS.IN', '', - 'HISTRCP_HFC125_EMIS.IN', 'HISTRCP_HFC134a_EMIS.IN', - 'HISTRCP_HFC143a_EMIS.IN', 'HISTRCP_HFC227EA_EMIS.IN', - 'HISTRCP_HFC245fa_EMIS.IN', 'HISTRCP_SF6_EMIS.IN', - FILE_FGAS_CONC = 'HISTRCP_CF4_CONC.IN', 'HISTRCP_C2F6_CONC.IN', 'HISTRCP_C6F14_CONC.IN', - 'HISTRCP_HFC23_CONC.IN', 'HISTRCP_HFC32_CONC.IN', 'HISTRCP_HFC43-10_CONC.IN', - 'HISTRCP_HFC125_CONC.IN', 'HISTRCP_HFC134a_CONC.IN', - 'HISTRCP_HFC143a_CONC.IN', 'HISTRCP_HFC227EA_CONC.IN', - 'HISTRCP_HFC245fa_CONC.IN', 'HISTRCP_SF6_CONC.IN', - FGAS_FORMULA = '(CF4)', '(C2F6)', '(C6F14)', '(CHF3)', '(CH2F2)', '(C5H2F10)', - '(CHF2CF3)', '(CH2FCF3)', '(CH3CF3)', '(C3HF7)', '(C3H3F5)', - '(SF6)', - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+00, 1.590000e+01, 29, - 14, 52, 3.420000e+01, 7.600000e+00, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+00, 1.590000e+01, 29, 14, 52, - 3.420000e+01, 7.600000e+00, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.680000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.680000e-01, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-01, 2.600000e-01, 4.900000e-01, - 1.900000e-01, 1.100000e-01, 4.000000e-01, - 2.300000e-01, 1.600000e-01, 1.300000e-01, - 2.600000e-01, 2.800000e-01, 5.200000e-01, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, - 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = 'CFC_11', 'CFC_12', 'CFC_113', 'CFC_114', 'CFC_115', 'CARB_TET', - 'MCF', 'HCFC_22', 'HCFC_141B', 'HCFC_142B', 'HALON1211', - 'HALON1202', 'HALON1301', 'HALON2402', 'CH3BR', 'CH3CL', - MHALO_FORMULA = '(CCL3F)', '(CCL2F2)', '(C2CL3F3)', '(C2CL2F4)', '(C2CLF5)', - '(CCL4)', '(CH3CCL3)', '(CHCLF2)', '(CH3CCL2F)', '(CH3CCLF2)', - '(CF2CLBR)', '(CBR2F2)', '(CF3BR)', '((CF2BR)2)', '(CH3BR)', - '(CH3CL)', - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-01, 7.500000e-01, 7.500000e-01, - 7.500000e-01, 1.060000e+00, 1.080000e+00, - 3.500000e-01, 7.200000e-01, 3.600000e-01, - 1.100000e+00, 8.000000e-01, 8.000000e-01, - 8.000000e-01, 1.080000e+00, 1.080000e+00, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+00, 1.790000e+01, - 16, 2.900000e+00, 65, 20, 7.000000e-01, 1.300000e+00, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+00, 12, 9.300000e+00, 1.790000e+01, - 0, 0, 0, 0, 1.700000e+00, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+01, - 0, 65, 4.857143e+01, 1.830000e+00, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-01, 3.200000e-01, 3.000000e-01, 3.100000e-01, - 1.800000e-01, 1.300000e-01, 6.000000e-02, 2.000000e-01, - 1.400000e-01, 2.000000e-01, 3.000000e-01, 0, - 3.200000e-01, 3.300000e-01, 1.000000e-02, 1.000000e-02, - MHALO_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.690000e-01, 9.690000e-01, - 9.690000e-01, 9.690000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.690000e-01, 9.490000e-01, - 9.690000e-01, 9.670000e-01, 9.490000e-01, 9.490000e-01, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, - 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = 'RCPODS_WMO2006_MixingRatios_A1.prn', - FILE_MHALO_EMIS = 'RCPODS_WMO2006_Emissions_RCP45.prn', - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-01, - GEN_AIR_GRAMMPROMOL = 2.898400e+01, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+00, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-01, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-01, 1, 1, 4.000000e-01, - GEN_RCPREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - GEN_RCPPLUSREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - RUN_ID = 3, -/ diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_TCRE_HIGH.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_TCRE_HIGH.CFG deleted file mode 100644 index c1e041bbe..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_TCRE_HIGH.CFG +++ /dev/null @@ -1,412 +0,0 @@ -&NML_ALLCFGS - RUNNAME = 'RCPfinal', - RUNDATE = 'No Date specified.', - FILE_EMISSIONSCENARIO = 'RCP45', - FILE_TUNINGMODEL = 'C4MIP_BERN', - FILE_TUNINGMODEL_2 = 'USER', - SECTOR_INCLUDE = 'NOSECTOR', - FILE_SECTOR_EMIS = '', - BULKRUNMODUS = 'SINGLERUN', - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-02, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-02, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-01, - CO2_FERTILIZATION_FACTOR = 2.762800e-01, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-01, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-02, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-01, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-01, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-01, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-02, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-01, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = '3D-GFDL', - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-02, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+00, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 3.445246e-02, - CH4_PPB2TGCH4 = 2.780000e+00, - CH4_S = -3.200000e-01, - CH4_SCALEOHSENS = 5.480139e-01, - CH4_ANOX = 4.200000e-03, - CH4_ACO = -1.050000e-04, - CH4_AVOC = -3.150000e-04, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-01, - CH4_ADDEDSTRATH2O_PERCENT = 1.383356e-01, - CH4_RADEFF_WM2PERPPB = 3.510757e-02, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 1.143355e+02, - N2O_RADEFF_WM2PERPPB = 1.130595e-01, - N2O_PPB2TGN = 4.810000e+00, - N2O_S = -5.000000e-02, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 6.260952e-02, - TROPOZ_OZCH4 = 3.666770e+00, - TROPOZ_OZNOX = 1.250000e-01, - TROPOZ_OZCO = 9.117309e-04, - TROPOZ_OZVOC = 2.410161e-04, - STRATOZ_CLEXPON = 1.384111e+00, - STRATOZ_O3SCALE = -1.260286e-03, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+00, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+00, - AIR_BC_SCALE = 1.500000e+00, - RF_AIR_H2O_WM2 = 1.000000e-03, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-03, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-03, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 4.411012e+00, - CORE_FEEDBACK_QSENSITIVITY = 5.898531e-02, - CORE_VERTICALDIFFUSIVITY = 3.098415e+00, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-01, - CORE_VERTICALDIFF_TOP_DKDT = -6.443755e-01, - CORE_ADJUST_SST2OCNATM = 1.250000e+00, - CORE_DELQ2XCO2 = 3.677581e+00, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.332355e+00, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-01, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-01, - CORE_UPWELL_THRESH_TEMP_NH = 1.522179e+01, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 1.549903e+00, - CORE_HEATXCHANGE_NORTHSOUTH = 4.387121e+00, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1.011148e+00, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = 'GLOBE', - CORE_HEMISFRACTION_NH_LAND = 4.200000e-01, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-01, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-01, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-01, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-01, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-01, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+00, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-03, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+00, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-01, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-01, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+00, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-04, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+00, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-01, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-01, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-01, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-02, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = 'HIST_SEALEVEL_CHURCHWHITE2006_RF.IN', - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = 'ASCII', - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = 'JUMPSTART', - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = 'ALL', - RF_VOLCANIC_SCALE = 1.483743e-01, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 1.652167e+00, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 8.805204e-01, - RF_MHALOSUM_SCALE = 9.828918e-01, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -3.509028e-01, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -2.161196e-01, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 1.443415e-01, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -6.713682e-02, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = 3.009231e-02, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = -1.197413e-01, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 8.396246e-02, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -8.129124e-01, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-02, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 3.271055e-01, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -2.834066e-01, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = -2.892874e-01, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -9.779043e-01, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.477532e+00, 1.425773e+00, 1.382526e+00, 1.291349e+00, - RF_REGIONS_CH4 = 5.778574e-01, 4.641796e-01, 5.679130e-01, 4.248548e-01, - RF_REGIONS_CH4OXSTRATH2O = 4.023558e-02, 5.344405e-02, 9.558673e-02, 4.152728e-02, - RF_REGIONS_N2O = 1.545350e-01, 1.359822e-01, 1.712382e-01, 1.361315e-01, - RF_REGIONS_MHALO = 1.834496e-01, 1.630034e-01, 1.570273e-01, 1.560114e-01, - RF_REGIONS_TROPOZ = 4.919093e-01, 4.970447e-01, 1.798601e-01, 2.592846e-01, - RF_REGIONS_STRATOZ = -1.136307e-02, -2.109854e-02, -6.039613e-02, -2.505260e-01, - RF_REGIONS_DUST = -7.349778e-01, -1.625038e+00, -3.116890e-01, -5.758361e-01, - RF_REGIONS_SEASALT = -1.175350e+00, -2.037600e-01, -1.825320e+00, -2.020700e-01, - RF_REGIONS_FGAS = 1.641496e-01, 1.644830e-01, 1.673352e-01, 1.525233e-01, - RF_REGIONS_CLOUD_COVER = -1.332780e+00, -1.580600e+00, -5.294200e-01, - -8.112700e-01, - RF_REGIONS_CLOUD_ALBEDO = -9.995975e-01, -1.374549e+00, -3.687059e-01, - -6.040238e-01, - RF_REGIONS_AIRH2O = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CONTRAIL = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CIRRUS = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+00, - RF_EFFICACY_TROPOZ = 8.500000e-01, - RF_EFFICACY_AER_DIR = 9.000000e-01, - RF_EFFICACY_CLOUD_ALBEDO = 1.664548e+00, - RF_EFFICACY_CLOUD_COVER = 9.000000e-01, - RF_EFFICACY_SOLAR = 8.500000e-01, - RF_EFFICACY_VOLC = 9.500000e-01, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+00, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-01, - RF_EFFICACY_CIRRUS = 6.000000e-01, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = 'GISS_SOXNB_OT.IN', - FILE_SOXI_OT = 'GISS_SOXI_OT.IN', - FILE_SOXT_RF = 'GISS_SOX_RF.IN', - FILE_SOXI_EMIS = 'HISTRCP_SOXI_EMIS.IN', - FILE_SOXB_EMIS = 'HISTRCP_SOXB_EMIS.IN', - FILE_SOXN_EMIS = 'HIST_SOXN_EMIS.IN', - FILE_COI_EMIS = 'HISTRCP_COI_EMIS.IN', - FILE_COB_EMIS = 'HISTRCP_COB_EMIS.IN', - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-01, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = 'HISTRCP_BCI_EMIS.IN', - FILE_BCB_EMIS = 'HISTRCP_BCB_EMIS.IN', - FILE_OCB_EMIS = 'HISTRCP_OCB_EMIS.IN', - FILE_OCI_EMIS = 'HISTRCP_OCI_EMIS.IN', - FILE_BCB_OT = 'GISS_BCB_OT.IN', - FILE_BCI_OT = 'GISS_BCI_OT.IN', - FILE_OCB_OT = 'GISS_OCB_OT.IN', - FILE_OCI_OT = 'GISS_OCI_OT.IN', - FILE_OCN_OT = 'GISS_OCN_OT.IN', - FILE_BCSNOW_RF = 'GISS_BCSNOW_RF.IN', - FILE_BCB_RF = 'GISS_BCB_RF.IN', - FILE_BCI_RF = 'GISS_BCI_RF.IN', - FILE_OCB_RF = 'GISS_OCB_RF.IN', - FILE_OCI_RF = 'GISS_OCI_RF.IN', - FILE_CO2I_EMIS = 'HISTRCP_CO2I_EMIS.IN', - FILE_CO2B_EMIS = 'HISTRCP_CO2B_EMIS.IN', - FILE_CH4I_EMIS = 'HISTEDGAR_CH4I_EMIS.IN', - FILE_CH4B_EMIS = 'HISTEDGAR_CH4B_EMIS.IN', - FILE_CH4N_EMIS = '', - FILE_N2OI_EMIS = 'HISTEDGAR_N2OI_EMIS.IN', - FILE_N2OB_EMIS = 'HISTEDGAR_N2OB_EMIS.IN', - FILE_N2ON_EMIS = '', - FILE_NOXI_EMIS = 'HISTRCP_NOXI_EMIS.IN', - FILE_NOXB_EMIS = 'HISTRCP_NOXB_EMIS.IN', - FILE_NMVOCI_EMIS = 'HISTRCP_NMVOCI_EMIS.IN', - FILE_NMVOCB_EMIS = 'HISTRCP_NMVOCB_EMIS.IN', - FILE_MINERALDUST_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXB_OT = 'MIXED_NOXB_OT.IN', - FILE_NOXI_OT = 'MIXED_NOXI_OT.IN', - FILE_SS_OT = 'GISS_SS_OT.IN', - FILE_CO2_CONC = 'HISTRCP_CO2_CONC.IN', - FILE_CH4_CONC = 'HISTRCP_CH4_CONC.IN', - FILE_N2O_CONC = 'HISTRCP_N2O_CONC.IN', - FILE_VOLCANIC_RF = 'HIST_VOLCANIC_RF.MON', - FILE_SOLAR_RF = 'HISTRCP_SOLAR_RF.IN', - FILE_EXTRA_RF = '', - FILE_LANDUSE_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXT_RF = 'GISS_NOX_RF.IN', - CLOUD_WEIGHT_NOX = 2.997787e-02, - CLOUD_WEIGHT_BC = 9.053648e-03, - CLOUD_WEIGHT_OC = 8.555962e-02, - CLOUD_WEIGHT_SOX = 1.300000e-01, - CLOUD_WEIGHT_SS = 1.300000e-01, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-01, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = 'CF4', 'C2F6', 'C6F14', 'HFC23', 'HFC32', 'HFC43_10', 'HFC125', - 'HFC134a', 'HFC143a', 'HFC227ea', 'HFC245fa', 'SF6', - FILE_FGAS_EMIS = 'HISTRCP_CF4_EMIS.IN', 'HISTRCP_C2F6_EMIS.IN', 'HISTRCP_C6F14_EMIS.IN', - 'HISTRCP_HFC23_EMIS.IN', 'HISTRCP_HFC32_EMIS.IN', '', - 'HISTRCP_HFC125_EMIS.IN', 'HISTRCP_HFC134a_EMIS.IN', - 'HISTRCP_HFC143a_EMIS.IN', 'HISTRCP_HFC227EA_EMIS.IN', - 'HISTRCP_HFC245fa_EMIS.IN', 'HISTRCP_SF6_EMIS.IN', - FILE_FGAS_CONC = 'HISTRCP_CF4_CONC.IN', 'HISTRCP_C2F6_CONC.IN', 'HISTRCP_C6F14_CONC.IN', - 'HISTRCP_HFC23_CONC.IN', 'HISTRCP_HFC32_CONC.IN', 'HISTRCP_HFC43-10_CONC.IN', - 'HISTRCP_HFC125_CONC.IN', 'HISTRCP_HFC134a_CONC.IN', - 'HISTRCP_HFC143a_CONC.IN', 'HISTRCP_HFC227EA_CONC.IN', - 'HISTRCP_HFC245fa_CONC.IN', 'HISTRCP_SF6_CONC.IN', - FGAS_FORMULA = '(CF4)', '(C2F6)', '(C6F14)', '(CHF3)', '(CH2F2)', '(C5H2F10)', - '(CHF2CF3)', '(CH2FCF3)', '(CH3CF3)', '(C3HF7)', '(C3H3F5)', - '(SF6)', - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+00, 1.590000e+01, 29, - 14, 52, 3.420000e+01, 7.600000e+00, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+00, 1.590000e+01, 29, 14, 52, - 3.420000e+01, 7.600000e+00, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.680000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.680000e-01, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-01, 2.600000e-01, 4.900000e-01, - 1.900000e-01, 1.100000e-01, 4.000000e-01, - 2.300000e-01, 1.600000e-01, 1.300000e-01, - 2.600000e-01, 2.800000e-01, 5.200000e-01, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, - 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = 'CFC_11', 'CFC_12', 'CFC_113', 'CFC_114', 'CFC_115', 'CARB_TET', - 'MCF', 'HCFC_22', 'HCFC_141B', 'HCFC_142B', 'HALON1211', - 'HALON1202', 'HALON1301', 'HALON2402', 'CH3BR', 'CH3CL', - MHALO_FORMULA = '(CCL3F)', '(CCL2F2)', '(C2CL3F3)', '(C2CL2F4)', '(C2CLF5)', - '(CCL4)', '(CH3CCL3)', '(CHCLF2)', '(CH3CCL2F)', '(CH3CCLF2)', - '(CF2CLBR)', '(CBR2F2)', '(CF3BR)', '((CF2BR)2)', '(CH3BR)', - '(CH3CL)', - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-01, 7.500000e-01, 7.500000e-01, - 7.500000e-01, 1.060000e+00, 1.080000e+00, - 3.500000e-01, 7.200000e-01, 3.600000e-01, - 1.100000e+00, 8.000000e-01, 8.000000e-01, - 8.000000e-01, 1.080000e+00, 1.080000e+00, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+00, 1.790000e+01, - 16, 2.900000e+00, 65, 20, 7.000000e-01, 1.300000e+00, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+00, 12, 9.300000e+00, 1.790000e+01, - 0, 0, 0, 0, 1.700000e+00, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+01, - 0, 65, 4.857143e+01, 1.830000e+00, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-01, 3.200000e-01, 3.000000e-01, 3.100000e-01, - 1.800000e-01, 1.300000e-01, 6.000000e-02, 2.000000e-01, - 1.400000e-01, 2.000000e-01, 3.000000e-01, 0, - 3.200000e-01, 3.300000e-01, 1.000000e-02, 1.000000e-02, - MHALO_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.690000e-01, 9.690000e-01, - 9.690000e-01, 9.690000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.690000e-01, 9.490000e-01, - 9.690000e-01, 9.670000e-01, 9.490000e-01, 9.490000e-01, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, - 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = 'RCPODS_WMO2006_MixingRatios_A1.prn', - FILE_MHALO_EMIS = 'RCPODS_WMO2006_Emissions_RCP45.prn', - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-01, - GEN_AIR_GRAMMPROMOL = 2.898400e+01, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+00, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-01, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-01, 1, 1, 4.000000e-01, - GEN_RCPREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - GEN_RCPPLUSREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - RUN_ID = 3, -/ diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_TCRE_HIGHEST.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_TCRE_HIGHEST.CFG deleted file mode 100644 index 52f897e0a..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_TCRE_HIGHEST.CFG +++ /dev/null @@ -1,412 +0,0 @@ -&NML_ALLCFGS - RUNNAME = 'RCPfinal', - RUNDATE = 'No Date specified.', - FILE_EMISSIONSCENARIO = 'RCP45', - FILE_TUNINGMODEL = 'C4MIP_BERN', - FILE_TUNINGMODEL_2 = 'USER', - SECTOR_INCLUDE = 'NOSECTOR', - FILE_SECTOR_EMIS = '', - BULKRUNMODUS = 'SINGLERUN', - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-02, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-02, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-01, - CO2_FERTILIZATION_FACTOR = 2.762800e-01, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-01, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-02, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-01, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-01, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-01, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-02, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-01, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = '3D-GFDL', - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-02, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+00, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 4.579801e-02, - CH4_PPB2TGCH4 = 2.780000e+00, - CH4_S = -3.200000e-01, - CH4_SCALEOHSENS = 1.444303e+00, - CH4_ANOX = 4.200000e-03, - CH4_ACO = -1.050000e-04, - CH4_AVOC = -3.150000e-04, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-01, - CH4_ADDEDSTRATH2O_PERCENT = 1.771107e-01, - CH4_RADEFF_WM2PERPPB = 3.729165e-02, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 1.176698e+02, - N2O_RADEFF_WM2PERPPB = 1.309488e-01, - N2O_PPB2TGN = 4.810000e+00, - N2O_S = -5.000000e-02, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 4.349261e-02, - TROPOZ_OZCH4 = 2.032974e+00, - TROPOZ_OZNOX = 1.250000e-01, - TROPOZ_OZCO = 9.537868e-04, - TROPOZ_OZVOC = 3.342205e-05, - STRATOZ_CLEXPON = 1.238317e+00, - STRATOZ_O3SCALE = 3.574811e-04, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+00, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+00, - AIR_BC_SCALE = 1.500000e+00, - RF_AIR_H2O_WM2 = 1.000000e-03, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-03, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-03, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 4.603557e+00, - CORE_FEEDBACK_QSENSITIVITY = 4.859755e-02, - CORE_VERTICALDIFFUSIVITY = 1.547179e+00, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-01, - CORE_VERTICALDIFF_TOP_DKDT = -7.214537e-01, - CORE_ADJUST_SST2OCNATM = 1.250000e+00, - CORE_DELQ2XCO2 = 3.704033e+00, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.302001e+00, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-01, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-01, - CORE_UPWELL_THRESH_TEMP_NH = 1.259511e+01, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 5.811624e+00, - CORE_HEATXCHANGE_NORTHSOUTH = 1.535272e+00, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1.180982e+00, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = 'GLOBE', - CORE_HEMISFRACTION_NH_LAND = 4.200000e-01, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-01, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-01, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-01, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-01, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-01, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+00, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-03, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+00, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-01, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-01, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+00, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-04, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+00, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-01, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-01, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-01, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-02, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = 'HIST_SEALEVEL_CHURCHWHITE2006_RF.IN', - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = 'ASCII', - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = 'JUMPSTART', - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = 'ALL', - RF_VOLCANIC_SCALE = 4.367448e-01, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 1.303530e+00, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 9.448155e-01, - RF_MHALOSUM_SCALE = 1.014159e+00, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -4.597236e-01, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -3.790605e-02, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 3.483430e-01, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -3.200989e-02, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = -1.232622e-01, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = -3.055007e-01, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 1.636602e-01, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -8.289705e-01, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-02, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 3.847447e-01, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -1.211493e-01, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = -1.426387e-01, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -6.048716e-01, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.509208e+00, 1.377123e+00, 1.515339e+00, 1.254456e+00, - RF_REGIONS_CH4 = 5.525853e-01, 4.736101e-01, 5.456790e-01, 3.967807e-01, - RF_REGIONS_CH4OXSTRATH2O = 4.026995e-02, 4.674415e-02, 8.192262e-02, 4.392348e-02, - RF_REGIONS_N2O = 1.405635e-01, 1.326883e-01, 1.464424e-01, 1.270371e-01, - RF_REGIONS_MHALO = 1.548323e-01, 1.483310e-01, 1.681116e-01, 1.504941e-01, - RF_REGIONS_TROPOZ = 4.402344e-01, 5.312342e-01, 1.676871e-01, 2.433016e-01, - RF_REGIONS_STRATOZ = -1.254587e-02, -2.378146e-02, -5.645602e-02, -2.322058e-01, - RF_REGIONS_DUST = -8.387823e-01, -1.490585e+00, -3.321029e-01, -6.018774e-01, - RF_REGIONS_SEASALT = -1.175350e+00, -2.037600e-01, -1.825320e+00, -2.020700e-01, - RF_REGIONS_FGAS = 1.613518e-01, 1.534668e-01, 1.648974e-01, 1.438251e-01, - RF_REGIONS_CLOUD_COVER = -1.332780e+00, -1.580600e+00, -5.294200e-01, - -8.112700e-01, - RF_REGIONS_CLOUD_ALBEDO = -9.067978e-01, -1.484282e+00, -3.490235e-01, - -6.588450e-01, - RF_REGIONS_AIRH2O = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CONTRAIL = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CIRRUS = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+00, - RF_EFFICACY_TROPOZ = 8.500000e-01, - RF_EFFICACY_AER_DIR = 9.000000e-01, - RF_EFFICACY_CLOUD_ALBEDO = 1.960155e+00, - RF_EFFICACY_CLOUD_COVER = 9.000000e-01, - RF_EFFICACY_SOLAR = 8.500000e-01, - RF_EFFICACY_VOLC = 9.500000e-01, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+00, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-01, - RF_EFFICACY_CIRRUS = 6.000000e-01, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = 'GISS_SOXNB_OT.IN', - FILE_SOXI_OT = 'GISS_SOXI_OT.IN', - FILE_SOXT_RF = 'GISS_SOX_RF.IN', - FILE_SOXI_EMIS = 'HISTRCP_SOXI_EMIS.IN', - FILE_SOXB_EMIS = 'HISTRCP_SOXB_EMIS.IN', - FILE_SOXN_EMIS = 'HIST_SOXN_EMIS.IN', - FILE_COI_EMIS = 'HISTRCP_COI_EMIS.IN', - FILE_COB_EMIS = 'HISTRCP_COB_EMIS.IN', - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-01, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = 'HISTRCP_BCI_EMIS.IN', - FILE_BCB_EMIS = 'HISTRCP_BCB_EMIS.IN', - FILE_OCB_EMIS = 'HISTRCP_OCB_EMIS.IN', - FILE_OCI_EMIS = 'HISTRCP_OCI_EMIS.IN', - FILE_BCB_OT = 'GISS_BCB_OT.IN', - FILE_BCI_OT = 'GISS_BCI_OT.IN', - FILE_OCB_OT = 'GISS_OCB_OT.IN', - FILE_OCI_OT = 'GISS_OCI_OT.IN', - FILE_OCN_OT = 'GISS_OCN_OT.IN', - FILE_BCSNOW_RF = 'GISS_BCSNOW_RF.IN', - FILE_BCB_RF = 'GISS_BCB_RF.IN', - FILE_BCI_RF = 'GISS_BCI_RF.IN', - FILE_OCB_RF = 'GISS_OCB_RF.IN', - FILE_OCI_RF = 'GISS_OCI_RF.IN', - FILE_CO2I_EMIS = 'HISTRCP_CO2I_EMIS.IN', - FILE_CO2B_EMIS = 'HISTRCP_CO2B_EMIS.IN', - FILE_CH4I_EMIS = 'HISTEDGAR_CH4I_EMIS.IN', - FILE_CH4B_EMIS = 'HISTEDGAR_CH4B_EMIS.IN', - FILE_CH4N_EMIS = '', - FILE_N2OI_EMIS = 'HISTEDGAR_N2OI_EMIS.IN', - FILE_N2OB_EMIS = 'HISTEDGAR_N2OB_EMIS.IN', - FILE_N2ON_EMIS = '', - FILE_NOXI_EMIS = 'HISTRCP_NOXI_EMIS.IN', - FILE_NOXB_EMIS = 'HISTRCP_NOXB_EMIS.IN', - FILE_NMVOCI_EMIS = 'HISTRCP_NMVOCI_EMIS.IN', - FILE_NMVOCB_EMIS = 'HISTRCP_NMVOCB_EMIS.IN', - FILE_MINERALDUST_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXB_OT = 'MIXED_NOXB_OT.IN', - FILE_NOXI_OT = 'MIXED_NOXI_OT.IN', - FILE_SS_OT = 'GISS_SS_OT.IN', - FILE_CO2_CONC = 'HISTRCP_CO2_CONC.IN', - FILE_CH4_CONC = 'HISTRCP_CH4_CONC.IN', - FILE_N2O_CONC = 'HISTRCP_N2O_CONC.IN', - FILE_VOLCANIC_RF = 'HIST_VOLCANIC_RF.MON', - FILE_SOLAR_RF = 'HISTRCP_SOLAR_RF.IN', - FILE_EXTRA_RF = '', - FILE_LANDUSE_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXT_RF = 'GISS_NOX_RF.IN', - CLOUD_WEIGHT_NOX = 4.002979e-02, - CLOUD_WEIGHT_BC = 1.430784e-02, - CLOUD_WEIGHT_OC = 2.585157e-02, - CLOUD_WEIGHT_SOX = 1.300000e-01, - CLOUD_WEIGHT_SS = 1.300000e-01, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-01, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = 'CF4', 'C2F6', 'C6F14', 'HFC23', 'HFC32', 'HFC43_10', 'HFC125', - 'HFC134a', 'HFC143a', 'HFC227ea', 'HFC245fa', 'SF6', - FILE_FGAS_EMIS = 'HISTRCP_CF4_EMIS.IN', 'HISTRCP_C2F6_EMIS.IN', 'HISTRCP_C6F14_EMIS.IN', - 'HISTRCP_HFC23_EMIS.IN', 'HISTRCP_HFC32_EMIS.IN', '', - 'HISTRCP_HFC125_EMIS.IN', 'HISTRCP_HFC134a_EMIS.IN', - 'HISTRCP_HFC143a_EMIS.IN', 'HISTRCP_HFC227EA_EMIS.IN', - 'HISTRCP_HFC245fa_EMIS.IN', 'HISTRCP_SF6_EMIS.IN', - FILE_FGAS_CONC = 'HISTRCP_CF4_CONC.IN', 'HISTRCP_C2F6_CONC.IN', 'HISTRCP_C6F14_CONC.IN', - 'HISTRCP_HFC23_CONC.IN', 'HISTRCP_HFC32_CONC.IN', 'HISTRCP_HFC43-10_CONC.IN', - 'HISTRCP_HFC125_CONC.IN', 'HISTRCP_HFC134a_CONC.IN', - 'HISTRCP_HFC143a_CONC.IN', 'HISTRCP_HFC227EA_CONC.IN', - 'HISTRCP_HFC245fa_CONC.IN', 'HISTRCP_SF6_CONC.IN', - FGAS_FORMULA = '(CF4)', '(C2F6)', '(C6F14)', '(CHF3)', '(CH2F2)', '(C5H2F10)', - '(CHF2CF3)', '(CH2FCF3)', '(CH3CF3)', '(C3HF7)', '(C3H3F5)', - '(SF6)', - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+00, 1.590000e+01, 29, - 14, 52, 3.420000e+01, 7.600000e+00, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+00, 1.590000e+01, 29, 14, 52, - 3.420000e+01, 7.600000e+00, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.680000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.680000e-01, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-01, 2.600000e-01, 4.900000e-01, - 1.900000e-01, 1.100000e-01, 4.000000e-01, - 2.300000e-01, 1.600000e-01, 1.300000e-01, - 2.600000e-01, 2.800000e-01, 5.200000e-01, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, - 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = 'CFC_11', 'CFC_12', 'CFC_113', 'CFC_114', 'CFC_115', 'CARB_TET', - 'MCF', 'HCFC_22', 'HCFC_141B', 'HCFC_142B', 'HALON1211', - 'HALON1202', 'HALON1301', 'HALON2402', 'CH3BR', 'CH3CL', - MHALO_FORMULA = '(CCL3F)', '(CCL2F2)', '(C2CL3F3)', '(C2CL2F4)', '(C2CLF5)', - '(CCL4)', '(CH3CCL3)', '(CHCLF2)', '(CH3CCL2F)', '(CH3CCLF2)', - '(CF2CLBR)', '(CBR2F2)', '(CF3BR)', '((CF2BR)2)', '(CH3BR)', - '(CH3CL)', - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-01, 7.500000e-01, 7.500000e-01, - 7.500000e-01, 1.060000e+00, 1.080000e+00, - 3.500000e-01, 7.200000e-01, 3.600000e-01, - 1.100000e+00, 8.000000e-01, 8.000000e-01, - 8.000000e-01, 1.080000e+00, 1.080000e+00, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+00, 1.790000e+01, - 16, 2.900000e+00, 65, 20, 7.000000e-01, 1.300000e+00, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+00, 12, 9.300000e+00, 1.790000e+01, - 0, 0, 0, 0, 1.700000e+00, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+01, - 0, 65, 4.857143e+01, 1.830000e+00, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-01, 3.200000e-01, 3.000000e-01, 3.100000e-01, - 1.800000e-01, 1.300000e-01, 6.000000e-02, 2.000000e-01, - 1.400000e-01, 2.000000e-01, 3.000000e-01, 0, - 3.200000e-01, 3.300000e-01, 1.000000e-02, 1.000000e-02, - MHALO_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.690000e-01, 9.690000e-01, - 9.690000e-01, 9.690000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.690000e-01, 9.490000e-01, - 9.690000e-01, 9.670000e-01, 9.490000e-01, 9.490000e-01, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, - 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = 'RCPODS_WMO2006_MixingRatios_A1.prn', - FILE_MHALO_EMIS = 'RCPODS_WMO2006_Emissions_RCP45.prn', - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-01, - GEN_AIR_GRAMMPROMOL = 2.898400e+01, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+00, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-01, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-01, 1, 1, 4.000000e-01, - GEN_RCPREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - GEN_RCPPLUSREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - RUN_ID = 3, -/ diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_TCRE_LOW.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_TCRE_LOW.CFG deleted file mode 100644 index c2bbb8b58..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_TCRE_LOW.CFG +++ /dev/null @@ -1,412 +0,0 @@ -&NML_ALLCFGS - RUNNAME = 'RCPfinal', - RUNDATE = 'No Date specified.', - FILE_EMISSIONSCENARIO = 'RCP45', - FILE_TUNINGMODEL = 'C4MIP_BERN', - FILE_TUNINGMODEL_2 = 'USER', - SECTOR_INCLUDE = 'NOSECTOR', - FILE_SECTOR_EMIS = '', - BULKRUNMODUS = 'SINGLERUN', - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-02, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-02, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-01, - CO2_FERTILIZATION_FACTOR = 2.762800e-01, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-01, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-02, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-01, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-01, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-01, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-02, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-01, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = '3D-GFDL', - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-02, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+00, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 3.656489e-02, - CH4_PPB2TGCH4 = 2.780000e+00, - CH4_S = -3.200000e-01, - CH4_SCALEOHSENS = 5.044017e-01, - CH4_ANOX = 4.200000e-03, - CH4_ACO = -1.050000e-04, - CH4_AVOC = -3.150000e-04, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-01, - CH4_ADDEDSTRATH2O_PERCENT = 1.243387e-01, - CH4_RADEFF_WM2PERPPB = 3.435164e-02, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 1.162180e+02, - N2O_RADEFF_WM2PERPPB = 1.266883e-01, - N2O_PPB2TGN = 4.810000e+00, - N2O_S = -5.000000e-02, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 6.997049e-02, - TROPOZ_OZCH4 = 1.161398e+00, - TROPOZ_OZNOX = 1.250000e-01, - TROPOZ_OZCO = 2.003758e-03, - TROPOZ_OZVOC = 5.909930e-03, - STRATOZ_CLEXPON = 1.709285e+00, - STRATOZ_O3SCALE = -7.987788e-04, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+00, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+00, - AIR_BC_SCALE = 1.500000e+00, - RF_AIR_H2O_WM2 = 1.000000e-03, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-03, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-03, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 2.885049e+00, - CORE_FEEDBACK_QSENSITIVITY = 6.583779e-03, - CORE_VERTICALDIFFUSIVITY = 1.670700e+00, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-01, - CORE_VERTICALDIFF_TOP_DKDT = -7.291706e-01, - CORE_ADJUST_SST2OCNATM = 1.250000e+00, - CORE_DELQ2XCO2 = 3.605995e+00, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.411657e+00, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-01, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-01, - CORE_UPWELL_THRESH_TEMP_NH = 1.083359e+01, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 5.691565e+00, - CORE_HEATXCHANGE_NORTHSOUTH = 4.786790e-01, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1.169154e+00, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = 'GLOBE', - CORE_HEMISFRACTION_NH_LAND = 4.200000e-01, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-01, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-01, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-01, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-01, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-01, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+00, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-03, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+00, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-01, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-01, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+00, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-04, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+00, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-01, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-01, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-01, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-02, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = 'HIST_SEALEVEL_CHURCHWHITE2006_RF.IN', - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = 'ASCII', - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = 'JUMPSTART', - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = 'ALL', - RF_VOLCANIC_SCALE = 6.999082e-01, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 6.729232e-01, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 9.186435e-01, - RF_MHALOSUM_SCALE = 9.916446e-01, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -2.065168e-01, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -7.931000e-02, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 2.490551e-01, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -3.307180e-02, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = -1.046906e-01, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = -1.290565e-02, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 1.134475e-01, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -1.428417e+00, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-02, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 1.601853e-02, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -3.691520e-01, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = -1.681984e-01, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -6.925411e-01, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.500010e+00, 1.321910e+00, 1.479338e+00, 1.461816e+00, - RF_REGIONS_CH4 = 5.063772e-01, 4.423340e-01, 5.635971e-01, 4.333125e-01, - RF_REGIONS_CH4OXSTRATH2O = 3.645257e-02, 4.520249e-02, 8.424786e-02, 4.244606e-02, - RF_REGIONS_N2O = 1.662976e-01, 1.512665e-01, 1.531975e-01, 1.387073e-01, - RF_REGIONS_MHALO = 1.513940e-01, 1.704256e-01, 1.657257e-01, 1.467645e-01, - RF_REGIONS_TROPOZ = 4.457981e-01, 5.360565e-01, 1.875563e-01, 2.515799e-01, - RF_REGIONS_STRATOZ = -1.099973e-02, -2.423330e-02, -6.033321e-02, -2.435133e-01, - RF_REGIONS_DUST = -7.720209e-01, -1.497635e+00, -3.309509e-01, -6.639820e-01, - RF_REGIONS_SEASALT = -1.175350e+00, -2.037600e-01, -1.825320e+00, -2.020700e-01, - RF_REGIONS_FGAS = 1.825527e-01, 1.696367e-01, 1.683149e-01, 1.373588e-01, - RF_REGIONS_CLOUD_COVER = -1.332780e+00, -1.580600e+00, -5.294200e-01, - -8.112700e-01, - RF_REGIONS_CLOUD_ALBEDO = -9.032947e-01, -1.335671e+00, -3.741620e-01, - -6.858312e-01, - RF_REGIONS_AIRH2O = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CONTRAIL = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CIRRUS = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+00, - RF_EFFICACY_TROPOZ = 8.500000e-01, - RF_EFFICACY_AER_DIR = 9.000000e-01, - RF_EFFICACY_CLOUD_ALBEDO = 1.031622e+00, - RF_EFFICACY_CLOUD_COVER = 9.000000e-01, - RF_EFFICACY_SOLAR = 8.500000e-01, - RF_EFFICACY_VOLC = 9.500000e-01, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+00, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-01, - RF_EFFICACY_CIRRUS = 6.000000e-01, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = 'GISS_SOXNB_OT.IN', - FILE_SOXI_OT = 'GISS_SOXI_OT.IN', - FILE_SOXT_RF = 'GISS_SOX_RF.IN', - FILE_SOXI_EMIS = 'HISTRCP_SOXI_EMIS.IN', - FILE_SOXB_EMIS = 'HISTRCP_SOXB_EMIS.IN', - FILE_SOXN_EMIS = 'HIST_SOXN_EMIS.IN', - FILE_COI_EMIS = 'HISTRCP_COI_EMIS.IN', - FILE_COB_EMIS = 'HISTRCP_COB_EMIS.IN', - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-01, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = 'HISTRCP_BCI_EMIS.IN', - FILE_BCB_EMIS = 'HISTRCP_BCB_EMIS.IN', - FILE_OCB_EMIS = 'HISTRCP_OCB_EMIS.IN', - FILE_OCI_EMIS = 'HISTRCP_OCI_EMIS.IN', - FILE_BCB_OT = 'GISS_BCB_OT.IN', - FILE_BCI_OT = 'GISS_BCI_OT.IN', - FILE_OCB_OT = 'GISS_OCB_OT.IN', - FILE_OCI_OT = 'GISS_OCI_OT.IN', - FILE_OCN_OT = 'GISS_OCN_OT.IN', - FILE_BCSNOW_RF = 'GISS_BCSNOW_RF.IN', - FILE_BCB_RF = 'GISS_BCB_RF.IN', - FILE_BCI_RF = 'GISS_BCI_RF.IN', - FILE_OCB_RF = 'GISS_OCB_RF.IN', - FILE_OCI_RF = 'GISS_OCI_RF.IN', - FILE_CO2I_EMIS = 'HISTRCP_CO2I_EMIS.IN', - FILE_CO2B_EMIS = 'HISTRCP_CO2B_EMIS.IN', - FILE_CH4I_EMIS = 'HISTEDGAR_CH4I_EMIS.IN', - FILE_CH4B_EMIS = 'HISTEDGAR_CH4B_EMIS.IN', - FILE_CH4N_EMIS = '', - FILE_N2OI_EMIS = 'HISTEDGAR_N2OI_EMIS.IN', - FILE_N2OB_EMIS = 'HISTEDGAR_N2OB_EMIS.IN', - FILE_N2ON_EMIS = '', - FILE_NOXI_EMIS = 'HISTRCP_NOXI_EMIS.IN', - FILE_NOXB_EMIS = 'HISTRCP_NOXB_EMIS.IN', - FILE_NMVOCI_EMIS = 'HISTRCP_NMVOCI_EMIS.IN', - FILE_NMVOCB_EMIS = 'HISTRCP_NMVOCB_EMIS.IN', - FILE_MINERALDUST_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXB_OT = 'MIXED_NOXB_OT.IN', - FILE_NOXI_OT = 'MIXED_NOXI_OT.IN', - FILE_SS_OT = 'GISS_SS_OT.IN', - FILE_CO2_CONC = 'HISTRCP_CO2_CONC.IN', - FILE_CH4_CONC = 'HISTRCP_CH4_CONC.IN', - FILE_N2O_CONC = 'HISTRCP_N2O_CONC.IN', - FILE_VOLCANIC_RF = 'HIST_VOLCANIC_RF.MON', - FILE_SOLAR_RF = 'HISTRCP_SOLAR_RF.IN', - FILE_EXTRA_RF = '', - FILE_LANDUSE_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXT_RF = 'GISS_NOX_RF.IN', - CLOUD_WEIGHT_NOX = 1.567196e-02, - CLOUD_WEIGHT_BC = 1.655389e-02, - CLOUD_WEIGHT_OC = 7.451261e-03, - CLOUD_WEIGHT_SOX = 1.300000e-01, - CLOUD_WEIGHT_SS = 1.300000e-01, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-01, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = 'CF4', 'C2F6', 'C6F14', 'HFC23', 'HFC32', 'HFC43_10', 'HFC125', - 'HFC134a', 'HFC143a', 'HFC227ea', 'HFC245fa', 'SF6', - FILE_FGAS_EMIS = 'HISTRCP_CF4_EMIS.IN', 'HISTRCP_C2F6_EMIS.IN', 'HISTRCP_C6F14_EMIS.IN', - 'HISTRCP_HFC23_EMIS.IN', 'HISTRCP_HFC32_EMIS.IN', '', - 'HISTRCP_HFC125_EMIS.IN', 'HISTRCP_HFC134a_EMIS.IN', - 'HISTRCP_HFC143a_EMIS.IN', 'HISTRCP_HFC227EA_EMIS.IN', - 'HISTRCP_HFC245fa_EMIS.IN', 'HISTRCP_SF6_EMIS.IN', - FILE_FGAS_CONC = 'HISTRCP_CF4_CONC.IN', 'HISTRCP_C2F6_CONC.IN', 'HISTRCP_C6F14_CONC.IN', - 'HISTRCP_HFC23_CONC.IN', 'HISTRCP_HFC32_CONC.IN', 'HISTRCP_HFC43-10_CONC.IN', - 'HISTRCP_HFC125_CONC.IN', 'HISTRCP_HFC134a_CONC.IN', - 'HISTRCP_HFC143a_CONC.IN', 'HISTRCP_HFC227EA_CONC.IN', - 'HISTRCP_HFC245fa_CONC.IN', 'HISTRCP_SF6_CONC.IN', - FGAS_FORMULA = '(CF4)', '(C2F6)', '(C6F14)', '(CHF3)', '(CH2F2)', '(C5H2F10)', - '(CHF2CF3)', '(CH2FCF3)', '(CH3CF3)', '(C3HF7)', '(C3H3F5)', - '(SF6)', - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+00, 1.590000e+01, 29, - 14, 52, 3.420000e+01, 7.600000e+00, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+00, 1.590000e+01, 29, 14, 52, - 3.420000e+01, 7.600000e+00, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.680000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.680000e-01, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-01, 2.600000e-01, 4.900000e-01, - 1.900000e-01, 1.100000e-01, 4.000000e-01, - 2.300000e-01, 1.600000e-01, 1.300000e-01, - 2.600000e-01, 2.800000e-01, 5.200000e-01, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, - 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = 'CFC_11', 'CFC_12', 'CFC_113', 'CFC_114', 'CFC_115', 'CARB_TET', - 'MCF', 'HCFC_22', 'HCFC_141B', 'HCFC_142B', 'HALON1211', - 'HALON1202', 'HALON1301', 'HALON2402', 'CH3BR', 'CH3CL', - MHALO_FORMULA = '(CCL3F)', '(CCL2F2)', '(C2CL3F3)', '(C2CL2F4)', '(C2CLF5)', - '(CCL4)', '(CH3CCL3)', '(CHCLF2)', '(CH3CCL2F)', '(CH3CCLF2)', - '(CF2CLBR)', '(CBR2F2)', '(CF3BR)', '((CF2BR)2)', '(CH3BR)', - '(CH3CL)', - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-01, 7.500000e-01, 7.500000e-01, - 7.500000e-01, 1.060000e+00, 1.080000e+00, - 3.500000e-01, 7.200000e-01, 3.600000e-01, - 1.100000e+00, 8.000000e-01, 8.000000e-01, - 8.000000e-01, 1.080000e+00, 1.080000e+00, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+00, 1.790000e+01, - 16, 2.900000e+00, 65, 20, 7.000000e-01, 1.300000e+00, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+00, 12, 9.300000e+00, 1.790000e+01, - 0, 0, 0, 0, 1.700000e+00, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+01, - 0, 65, 4.857143e+01, 1.830000e+00, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-01, 3.200000e-01, 3.000000e-01, 3.100000e-01, - 1.800000e-01, 1.300000e-01, 6.000000e-02, 2.000000e-01, - 1.400000e-01, 2.000000e-01, 3.000000e-01, 0, - 3.200000e-01, 3.300000e-01, 1.000000e-02, 1.000000e-02, - MHALO_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.690000e-01, 9.690000e-01, - 9.690000e-01, 9.690000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.690000e-01, 9.490000e-01, - 9.690000e-01, 9.670000e-01, 9.490000e-01, 9.490000e-01, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, - 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = 'RCPODS_WMO2006_MixingRatios_A1.prn', - FILE_MHALO_EMIS = 'RCPODS_WMO2006_Emissions_RCP45.prn', - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-01, - GEN_AIR_GRAMMPROMOL = 2.898400e+01, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+00, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-01, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-01, 1, 1, 4.000000e-01, - GEN_RCPREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - GEN_RCPPLUSREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - RUN_ID = 3, -/ diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_TCRE_LOWEST.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_TCRE_LOWEST.CFG deleted file mode 100644 index 7cb87c471..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_TCRE_LOWEST.CFG +++ /dev/null @@ -1,412 +0,0 @@ -&NML_ALLCFGS - RUNNAME = 'RCPfinal', - RUNDATE = 'No Date specified.', - FILE_EMISSIONSCENARIO = 'RCP45', - FILE_TUNINGMODEL = 'C4MIP_BERN', - FILE_TUNINGMODEL_2 = 'USER', - SECTOR_INCLUDE = 'NOSECTOR', - FILE_SECTOR_EMIS = '', - BULKRUNMODUS = 'SINGLERUN', - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-02, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-02, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-01, - CO2_FERTILIZATION_FACTOR = 2.762800e-01, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-01, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-02, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-01, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-01, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-01, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-02, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-01, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = '3D-GFDL', - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-02, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+00, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 4.538979e-02, - CH4_PPB2TGCH4 = 2.780000e+00, - CH4_S = -3.200000e-01, - CH4_SCALEOHSENS = 1.401796e+00, - CH4_ANOX = 4.200000e-03, - CH4_ACO = -1.050000e-04, - CH4_AVOC = -3.150000e-04, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-01, - CH4_ADDEDSTRATH2O_PERCENT = 1.514836e-01, - CH4_RADEFF_WM2PERPPB = 3.468232e-02, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 1.284796e+02, - N2O_RADEFF_WM2PERPPB = 1.087760e-01, - N2O_PPB2TGN = 4.810000e+00, - N2O_S = -5.000000e-02, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 5.447526e-02, - TROPOZ_OZCH4 = 8.725279e+00, - TROPOZ_OZNOX = 1.250000e-01, - TROPOZ_OZCO = 7.849893e-04, - TROPOZ_OZVOC = 7.197220e-04, - STRATOZ_CLEXPON = 1.693989e+00, - STRATOZ_O3SCALE = -1.369588e-03, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+00, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+00, - AIR_BC_SCALE = 1.500000e+00, - RF_AIR_H2O_WM2 = 1.000000e-03, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-03, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-03, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 2.072878e+00, - CORE_FEEDBACK_QSENSITIVITY = 1.656200e-02, - CORE_VERTICALDIFFUSIVITY = 2.041801e+00, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-01, - CORE_VERTICALDIFF_TOP_DKDT = -8.035874e-01, - CORE_ADJUST_SST2OCNATM = 1.250000e+00, - CORE_DELQ2XCO2 = 3.841561e+00, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.280593e+00, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-01, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-01, - CORE_UPWELL_THRESH_TEMP_NH = 1.244006e+01, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 5.607948e+00, - CORE_HEATXCHANGE_NORTHSOUTH = 2.679194e+00, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1.143532e+00, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = 'GLOBE', - CORE_HEMISFRACTION_NH_LAND = 4.200000e-01, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-01, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-01, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-01, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-01, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-01, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+00, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-03, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+00, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-01, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-01, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+00, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-04, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+00, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-01, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-01, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-01, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-02, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = 'HIST_SEALEVEL_CHURCHWHITE2006_RF.IN', - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = 'ASCII', - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = 'JUMPSTART', - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = 'ALL', - RF_VOLCANIC_SCALE = 7.510035e-01, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 5.718636e-01, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 9.142577e-01, - RF_MHALOSUM_SCALE = 1.004074e+00, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -1.954909e-01, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -2.116074e-02, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 2.471043e-01, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -9.964417e-03, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = -1.495428e-02, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = -8.470785e-02, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 1.506301e-01, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -9.850379e-01, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-02, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 3.784089e-01, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -2.458193e-01, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = -3.774348e-02, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -4.989149e-01, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.497316e+00, 1.288709e+00, 1.506564e+00, 1.311039e+00, - RF_REGIONS_CH4 = 4.903749e-01, 4.777626e-01, 5.665751e-01, 3.775842e-01, - RF_REGIONS_CH4OXSTRATH2O = 3.701877e-02, 4.718993e-02, 7.873920e-02, 4.502531e-02, - RF_REGIONS_N2O = 1.417162e-01, 1.274479e-01, 1.688677e-01, 1.374615e-01, - RF_REGIONS_MHALO = 1.605066e-01, 1.644210e-01, 1.677379e-01, 1.587119e-01, - RF_REGIONS_TROPOZ = 4.354847e-01, 4.957969e-01, 1.677621e-01, 2.329081e-01, - RF_REGIONS_STRATOZ = -1.166136e-02, -2.311789e-02, -6.471787e-02, -2.314355e-01, - RF_REGIONS_DUST = -8.277590e-01, -1.465699e+00, -3.435604e-01, -5.787131e-01, - RF_REGIONS_SEASALT = -1.175350e+00, -2.037600e-01, -1.825320e+00, -2.020700e-01, - RF_REGIONS_FGAS = 1.790686e-01, 1.525812e-01, 1.415458e-01, 1.506602e-01, - RF_REGIONS_CLOUD_COVER = -1.332780e+00, -1.580600e+00, -5.294200e-01, - -8.112700e-01, - RF_REGIONS_CLOUD_ALBEDO = -9.969404e-01, -1.403577e+00, -3.456996e-01, - -6.234505e-01, - RF_REGIONS_AIRH2O = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CONTRAIL = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CIRRUS = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+00, - RF_EFFICACY_TROPOZ = 8.500000e-01, - RF_EFFICACY_AER_DIR = 9.000000e-01, - RF_EFFICACY_CLOUD_ALBEDO = 1.518190e+00, - RF_EFFICACY_CLOUD_COVER = 9.000000e-01, - RF_EFFICACY_SOLAR = 8.500000e-01, - RF_EFFICACY_VOLC = 9.500000e-01, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+00, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-01, - RF_EFFICACY_CIRRUS = 6.000000e-01, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = 'GISS_SOXNB_OT.IN', - FILE_SOXI_OT = 'GISS_SOXI_OT.IN', - FILE_SOXT_RF = 'GISS_SOX_RF.IN', - FILE_SOXI_EMIS = 'HISTRCP_SOXI_EMIS.IN', - FILE_SOXB_EMIS = 'HISTRCP_SOXB_EMIS.IN', - FILE_SOXN_EMIS = 'HIST_SOXN_EMIS.IN', - FILE_COI_EMIS = 'HISTRCP_COI_EMIS.IN', - FILE_COB_EMIS = 'HISTRCP_COB_EMIS.IN', - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-01, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = 'HISTRCP_BCI_EMIS.IN', - FILE_BCB_EMIS = 'HISTRCP_BCB_EMIS.IN', - FILE_OCB_EMIS = 'HISTRCP_OCB_EMIS.IN', - FILE_OCI_EMIS = 'HISTRCP_OCI_EMIS.IN', - FILE_BCB_OT = 'GISS_BCB_OT.IN', - FILE_BCI_OT = 'GISS_BCI_OT.IN', - FILE_OCB_OT = 'GISS_OCB_OT.IN', - FILE_OCI_OT = 'GISS_OCI_OT.IN', - FILE_OCN_OT = 'GISS_OCN_OT.IN', - FILE_BCSNOW_RF = 'GISS_BCSNOW_RF.IN', - FILE_BCB_RF = 'GISS_BCB_RF.IN', - FILE_BCI_RF = 'GISS_BCI_RF.IN', - FILE_OCB_RF = 'GISS_OCB_RF.IN', - FILE_OCI_RF = 'GISS_OCI_RF.IN', - FILE_CO2I_EMIS = 'HISTRCP_CO2I_EMIS.IN', - FILE_CO2B_EMIS = 'HISTRCP_CO2B_EMIS.IN', - FILE_CH4I_EMIS = 'HISTEDGAR_CH4I_EMIS.IN', - FILE_CH4B_EMIS = 'HISTEDGAR_CH4B_EMIS.IN', - FILE_CH4N_EMIS = '', - FILE_N2OI_EMIS = 'HISTEDGAR_N2OI_EMIS.IN', - FILE_N2OB_EMIS = 'HISTEDGAR_N2OB_EMIS.IN', - FILE_N2ON_EMIS = '', - FILE_NOXI_EMIS = 'HISTRCP_NOXI_EMIS.IN', - FILE_NOXB_EMIS = 'HISTRCP_NOXB_EMIS.IN', - FILE_NMVOCI_EMIS = 'HISTRCP_NMVOCI_EMIS.IN', - FILE_NMVOCB_EMIS = 'HISTRCP_NMVOCB_EMIS.IN', - FILE_MINERALDUST_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXB_OT = 'MIXED_NOXB_OT.IN', - FILE_NOXI_OT = 'MIXED_NOXI_OT.IN', - FILE_SS_OT = 'GISS_SS_OT.IN', - FILE_CO2_CONC = 'HISTRCP_CO2_CONC.IN', - FILE_CH4_CONC = 'HISTRCP_CH4_CONC.IN', - FILE_N2O_CONC = 'HISTRCP_N2O_CONC.IN', - FILE_VOLCANIC_RF = 'HIST_VOLCANIC_RF.MON', - FILE_SOLAR_RF = 'HISTRCP_SOLAR_RF.IN', - FILE_EXTRA_RF = '', - FILE_LANDUSE_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXT_RF = 'GISS_NOX_RF.IN', - CLOUD_WEIGHT_NOX = 7.164254e-02, - CLOUD_WEIGHT_BC = 1.511107e-02, - CLOUD_WEIGHT_OC = 1.126824e-01, - CLOUD_WEIGHT_SOX = 1.300000e-01, - CLOUD_WEIGHT_SS = 1.300000e-01, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-01, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = 'CF4', 'C2F6', 'C6F14', 'HFC23', 'HFC32', 'HFC43_10', 'HFC125', - 'HFC134a', 'HFC143a', 'HFC227ea', 'HFC245fa', 'SF6', - FILE_FGAS_EMIS = 'HISTRCP_CF4_EMIS.IN', 'HISTRCP_C2F6_EMIS.IN', 'HISTRCP_C6F14_EMIS.IN', - 'HISTRCP_HFC23_EMIS.IN', 'HISTRCP_HFC32_EMIS.IN', '', - 'HISTRCP_HFC125_EMIS.IN', 'HISTRCP_HFC134a_EMIS.IN', - 'HISTRCP_HFC143a_EMIS.IN', 'HISTRCP_HFC227EA_EMIS.IN', - 'HISTRCP_HFC245fa_EMIS.IN', 'HISTRCP_SF6_EMIS.IN', - FILE_FGAS_CONC = 'HISTRCP_CF4_CONC.IN', 'HISTRCP_C2F6_CONC.IN', 'HISTRCP_C6F14_CONC.IN', - 'HISTRCP_HFC23_CONC.IN', 'HISTRCP_HFC32_CONC.IN', 'HISTRCP_HFC43-10_CONC.IN', - 'HISTRCP_HFC125_CONC.IN', 'HISTRCP_HFC134a_CONC.IN', - 'HISTRCP_HFC143a_CONC.IN', 'HISTRCP_HFC227EA_CONC.IN', - 'HISTRCP_HFC245fa_CONC.IN', 'HISTRCP_SF6_CONC.IN', - FGAS_FORMULA = '(CF4)', '(C2F6)', '(C6F14)', '(CHF3)', '(CH2F2)', '(C5H2F10)', - '(CHF2CF3)', '(CH2FCF3)', '(CH3CF3)', '(C3HF7)', '(C3H3F5)', - '(SF6)', - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+00, 1.590000e+01, 29, - 14, 52, 3.420000e+01, 7.600000e+00, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+00, 1.590000e+01, 29, 14, 52, - 3.420000e+01, 7.600000e+00, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.680000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.680000e-01, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-01, 2.600000e-01, 4.900000e-01, - 1.900000e-01, 1.100000e-01, 4.000000e-01, - 2.300000e-01, 1.600000e-01, 1.300000e-01, - 2.600000e-01, 2.800000e-01, 5.200000e-01, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, - 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = 'CFC_11', 'CFC_12', 'CFC_113', 'CFC_114', 'CFC_115', 'CARB_TET', - 'MCF', 'HCFC_22', 'HCFC_141B', 'HCFC_142B', 'HALON1211', - 'HALON1202', 'HALON1301', 'HALON2402', 'CH3BR', 'CH3CL', - MHALO_FORMULA = '(CCL3F)', '(CCL2F2)', '(C2CL3F3)', '(C2CL2F4)', '(C2CLF5)', - '(CCL4)', '(CH3CCL3)', '(CHCLF2)', '(CH3CCL2F)', '(CH3CCLF2)', - '(CF2CLBR)', '(CBR2F2)', '(CF3BR)', '((CF2BR)2)', '(CH3BR)', - '(CH3CL)', - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-01, 7.500000e-01, 7.500000e-01, - 7.500000e-01, 1.060000e+00, 1.080000e+00, - 3.500000e-01, 7.200000e-01, 3.600000e-01, - 1.100000e+00, 8.000000e-01, 8.000000e-01, - 8.000000e-01, 1.080000e+00, 1.080000e+00, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+00, 1.790000e+01, - 16, 2.900000e+00, 65, 20, 7.000000e-01, 1.300000e+00, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+00, 12, 9.300000e+00, 1.790000e+01, - 0, 0, 0, 0, 1.700000e+00, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+01, - 0, 65, 4.857143e+01, 1.830000e+00, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-01, 3.200000e-01, 3.000000e-01, 3.100000e-01, - 1.800000e-01, 1.300000e-01, 6.000000e-02, 2.000000e-01, - 1.400000e-01, 2.000000e-01, 3.000000e-01, 0, - 3.200000e-01, 3.300000e-01, 1.000000e-02, 1.000000e-02, - MHALO_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.690000e-01, 9.690000e-01, - 9.690000e-01, 9.690000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.690000e-01, 9.490000e-01, - 9.690000e-01, 9.670000e-01, 9.490000e-01, 9.490000e-01, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, - 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = 'RCPODS_WMO2006_MixingRatios_A1.prn', - FILE_MHALO_EMIS = 'RCPODS_WMO2006_Emissions_RCP45.prn', - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-01, - GEN_AIR_GRAMMPROMOL = 2.898400e+01, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+00, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-01, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-01, 1, 1, 4.000000e-01, - GEN_RCPREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - GEN_RCPPLUSREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - RUN_ID = 3, -/ diff --git a/core/magicc/MAGCFG_STORE/MAGCFG_USER_TCRE_MEDIUM.CFG b/core/magicc/MAGCFG_STORE/MAGCFG_USER_TCRE_MEDIUM.CFG deleted file mode 100644 index c89d78c01..000000000 --- a/core/magicc/MAGCFG_STORE/MAGCFG_USER_TCRE_MEDIUM.CFG +++ /dev/null @@ -1,412 +0,0 @@ -&NML_ALLCFGS - RUNNAME = 'RCPfinal', - RUNDATE = 'No Date specified.', - FILE_EMISSIONSCENARIO = 'RCP45', - FILE_TUNINGMODEL = 'C4MIP_BERN', - FILE_TUNINGMODEL_2 = 'USER', - SECTOR_INCLUDE = 'NOSECTOR', - FILE_SECTOR_EMIS = '', - BULKRUNMODUS = 'SINGLERUN', - CO2_TEMPFEEDBACK_SWITCH = 1, - CO2_FEEDBACKFACTOR_GPP = 1.500000e-02, - CO2_FEEDBACKFACTOR_RESPIRATION = 4.000000e-02, - CO2_FEEDBACKFACTOR_DETRITUS = 0, - CO2_FEEDBACKFACTOR_SOIL = 1.500000e-01, - CO2_FERTILIZATION_FACTOR = 2.762800e-01, - CO2_FERTILIZATION_METHOD = 2, - CO2_GIFFORD_CONC_FOR_ZERONPP = 80, - CO2_TEMPFEEDBACK_YRSTART = 1900, - CO2_FERTILIZATION_YRSTART = 1900, - CO2_SWITCHFROMCONC2EMIS_YEAR = 2010, - CO2_PLANTPOOL_INITIAL = 750, - CO2_DETRITUSPOOL_INITIAL = 80, - CO2_SOILPOOL_INITIAL = 1450, - CO2_GPP_INITIAL = 76, - CO2_RESPIRATION_INITIAL = 14, - CO2_FRACTION_PLANT_2_DETRITUS = 9.800000e-01, - CO2_FRACTION_DETRITUS_2_SOIL = 5.000000e-02, - CO2_FRACTION_GPP_2_PLANT = 3.500000e-01, - CO2_FRACTION_GPP_2_DETRITUS = 6.000000e-01, - CO2_FRACTION_DEFOREST_PLANT = 7.000000e-01, - CO2_FRACTION_DEFOREST_DETRITUS = 5.000000e-02, - CO2_NORGRWTH_FRAC_DEFO = 5.000000e-01, - CO2_PREINDCO2CONC = 278, - CO2_PREINDCO2CONC_APPLY = 0, - CO2_GWP = 1, - OCEANCC_MODEL = '3D-GFDL', - OCEANCC_SCALE_GASXCHANGE = 1, - OCEANCC_SCALE_IMPULSERESPONSE = 1, - OCEANCC_TEMPFEEDBACK = 4.230000e-02, - OCEANCC_CONVLTN2INT_YRSAGO = 10, - CH4_LASTBUDGETYEAR = 2005, - CH4_INCL_CH4OX = 1, - CH4_TAUINIT = 9.600000e+00, - CH4_TAUSOIL = 160, - CH4_TAUSTRAT = 120, - CH4_INCLUDE_TEMPFEEDBACK = 1, - CH4_TAUTEMPSENSITIVITY = 2.809659e-02, - CH4_PPB2TGCH4 = 2.780000e+00, - CH4_S = -3.200000e-01, - CH4_SCALEOHSENS = 1.033069e+00, - CH4_ANOX = 4.200000e-03, - CH4_ACO = -1.050000e-04, - CH4_AVOC = -3.150000e-04, - CH4_TAUFEEDBACK_BYNOXVOCCO = 1, - CH4_FEED_YRSTART = 1990, - CH4_SWITCHFROMCONC2EMIS_YEAR = 2005, - CH4_APPLYFOSSFUELFRACTION = 0, - CH4_FOSSFUELFRACTION = 1.800000e-01, - CH4_ADDEDSTRATH2O_PERCENT = 1.424598e-01, - CH4_RADEFF_WM2PERPPB = 3.659383e-02, - CH4N2O_BUDGET_AVGYEARS = 10, - CH4_GWP = 21, - N2O_LASTBUDGETYEAR = 2005, - N2O_TAUINIT = 1.123163e+02, - N2O_RADEFF_WM2PERPPB = 1.277198e-01, - N2O_PPB2TGN = 4.810000e+00, - N2O_S = -5.000000e-02, - N2O_STRATMIXDELAY = 3, - N2O_FEED_YRSTART = 1930, - N2O_SWITCHFROMCONC2EMIS_YEAR = 2005, - N2O_GWP = 310, - TROPOZ_RADEFF_WM2PERDU = 4.352713e-02, - TROPOZ_OZCH4 = 2.502159e+00, - TROPOZ_OZNOX = 1.250000e-01, - TROPOZ_OZCO = 9.529815e-04, - TROPOZ_OZVOC = 5.995344e-03, - STRATOZ_CLEXPON = 1.220016e+00, - STRATOZ_O3SCALE = -2.146723e-03, - STRATOZ_THRESHOLD_YEAR = 1979, - AIR_TROPOZ_NOXAIR_SCALE = 1.500000e+00, - AIR_CH4_NOXAIR_SCALE = 2, - AIR_SOX_SCALE = 1.500000e+00, - AIR_BC_SCALE = 1.500000e+00, - RF_AIR_H2O_WM2 = 1.000000e-03, - RF_AIR_H2O_YR = 2004, - RF_AIR_CONTRAIL_WM2 = 1.000000e-03, - RF_AIR_CONTRAIL_YR = 2004, - RF_AIR_CIRRUS_WM2 = 1.000000e-03, - RF_AIR_CIRRUS_YR = 2004, - RF_AIR_CIRRUS_APPLYSATURATION = 1, - RF_AIR_CIRRUS_SCALEYR2MAX = 10, - AIR_TROPOZ_REFYR = 2004, - AIR_CH4_REFYR = 2004, - SOX_NATURAL_EMISSIONS = 14, - CORE_CLIMATESENSITIVITY = 3.843729e+00, - CORE_FEEDBACK_QSENSITIVITY = 3.965841e-02, - CORE_VERTICALDIFFUSIVITY = 2.685954e+00, - CORE_VERTICALDIFFUSIVITY_MIN = 1.000000e-01, - CORE_VERTICALDIFF_TOP_DKDT = -2.254281e-01, - CORE_ADJUST_SST2OCNATM = 1.250000e+00, - CORE_DELQ2XCO2 = 3.845483e+00, - CORE_USE_DEFAULT_DELQ2XCO2 = 0, - CORE_RLO = 1.296075e+00, - CORE_DEPENDENCE_RLO_ON_DT2X = 0, - CORE_MIXEDLAYER_DEPTH = 60, - CORE_POLARSINKWATER_TEMPRATIO = 2.000000e-01, - CORE_INITIAL_UPWELLING_RATE = 4, - CORE_UPWELLING_VARIABLE_PART = 7.000000e-01, - CORE_UPWELL_THRESH_TEMP_NH = 1.983984e+01, - CORE_UPWELL_THRESH_TEMP_SH = 8, - CORE_UPWELL_THRESH_ONEGLOBAL = 1, - CORE_HEATXCHANGE_LANDOCEAN = 2.136668e+00, - CORE_HEATXCHANGE_NORTHSOUTH = 4.969111e+00, - CORE_AMPLIFY_OCN2LAND_HEATXCHNG = 1.101314e+00, - CORE_SWITCH_OCN_TEMPPROFILE = 1, - CORE_UPWELLING_SCALING_METHOD = 'GLOBE', - CORE_HEMISFRACTION_NH_LAND = 4.200000e-01, - CORE_HEMISFRACTION_SH_LAND = 2.100000e-01, - CORE_OCN_NLEVELS = 50, - CORE_OCN_DEPTHDEPENDENT = 1, - CORE_HEAT_DEPTHS = 300, 700, 3000, - CORE_HEAT_TRENDPERIOD = 1957, 1996, - SLR_GSIC_ADDED_TEMPERATURE = 0, - SLR_GSIC_INITIAL_VOLUME_MM = 300, - SLR_GSIC_SENS_MMPYRDEG = 6.250000e-01, - SLR_GSIC_VOLUME_EXPONENT = 8.200000e-01, - SLR_GRNLND_PRECIP_MMPYRLOCDEG = 1.200000e-01, - SLR_GRNLND_ABLATION_MMPYRLOCDEG = 1.584000e-01, - SLR_GRNLND_ADDED_TEMP = 0, - SLR_GRNLND_GLOBE2LOCALTEMP = 1.500000e+00, - SLR_GRNLND_ALPHA_ABLATION = 1.308000e-03, - SLR_GRNLND_EXPONENT_ABLATION = 3.497000e+00, - SLR_GRNLND_INITIAL_VOLUME_MM = 7200, - SLR_GRNLND_VOLUME_EXPONENT = 5.000000e-01, - SLR_ANTRCTC_PRECIP_MMPYRLOCDEG = 4.000000e-01, - SLR_ANTRCTC_ABLAT_MMPYRLOCDEG = 0, - SLR_ANTRCTC_ADDED_TEMP = 0, - SLR_ANTRCTC_GLOBE2LOCALTEMP = 1.100000e+00, - SLR_ANTRCTC_ALPHA_ABLATION = 5.006000e-04, - SLR_ANTRCTC_EXPONENT_ABLATION = 3.849000e+00, - SLR_ANTRCTC_INITIAL_VOLUME_MM = 7200, - SLR_ANTRCTC_VOLUME_EXPONENT = 5.000000e-01, - SLR_MELTSINCELGM_MMPERYEAR = 2.500000e-01, - SLR_PERMAFROST_MMPERYEAR = 1.136000e-01, - SLR_SEDIMENT_TECTON_MMPYEAR = 2.500000e-02, - SLR_EXPANSION_SCALING = 1, - FILE_SLR_HISTORIC = 'HIST_SEALEVEL_CHURCHWHITE2006_RF.IN', - SLR_SWITCH_CALC2HIST = -10000, - OUT_EMISSIONS = 1, - OUT_GWPEMISSIONS = 1, - OUT_SUM_GWPEMISSIONS = 1, - OUT_CONCENTRATIONS = 1, - OUT_CARBONCYCLE = 0, - OUT_FORCING = 1, - OUT_TEMPERATURE = 0, - OUT_SEALEVEL = 0, - OUT_PARAMETERS = 1, - OUT_MISC = 0, - OUT_TIMESERIESMIX = 0, - OUT_RCPDATA = 1, - OUT_INVERSEEMIS = 1, - OUT_TEMPOCEANLAYERS = 0, - OUT_HEATUPTAKE = 0, - OUT_WARNINGS = 0, - OUT_AOGCMTUNING = 0, - OUT_CCYCLETUNING = 0, - OUT_OBSERVATIONALTUNING = 0, - OUT_KEYDATA_1 = 1, - OUT_KEYDATA_2 = 0, - OUT_ZERO_TEMP_PERIOD = 1961, 1990, - OUT_ZERO_HEAT_PERIOD = 1961, 1990, - OUT_CLIMSENSEFF_BASEPERIOD = 1950, 2000, - OUT_CLIMSENSEFF_FUTUREPERIOD = 2050, 2100, - OUT_ASCII_BINARY = 'ASCII', - RF_PREIND_REFERENCEYR = 1750, - RF_INITIALIZATION_METHOD = 'JUMPSTART', - RF_EXTRA_READ = 0, - RF_EXTRA_OFFSET = 0, - RF_EXTRA_FACTOR = 1, - RF_TOTAL_RUNMODUS = 'ALL', - RF_VOLCANIC_SCALE = 4.347524e-01, - RF_VOLCANIC_HISTORIC_MEANZERO = 1, - RF_VOLC_FUTR_MEANLASTXYEARS = 0, - RF_SOLAR_SCALE = 5.039020e-01, - RF_SOLAR_FUTURE_MEANLASTXYEARS = 11, - RF_FGASSUM_SCALE = 9.352535e-01, - RF_MHALOSUM_SCALE = 9.628737e-01, - RF_TOTAL_CONSTANTAFTERYR = 2150, - RF_TROPOZ_CONSTANTAFTERYR = 2150, - RF_STRATOZ_CONSTANTAFTERYR = 2150, - RF_MINERALDUST_CONSTANTAFTERYR = 2005, - RF_LANDUSE_CONSTANTAFTERYR = 2000, - RF_SOXI_DIR_YR = 2004, - RF_SOXI_DIR_WM2 = -2.384348e-01, - RF_NOXI_DIR_YR = 2004, - RF_NOXI_DIR_WM2 = -1.566074e-01, - RF_BCI_DIR_YR = 2004, - RF_BCI_DIR_WM2 = 2.220403e-01, - RF_OCI_DIR_YR = 2004, - RF_OCI_DIR_WM2 = -5.328598e-02, - RF_MINERALDUST_DIR_YR = 2004, - RF_MINERALDUST_DIR_WM2 = -1.056964e-01, - RF_LANDUSE_ALBEDO_YR = 2004, - RF_LANDUSE_ALBEDO_WM2 = 5.234556e-02, - RF_BCSNOW_ALBEDO_YR = 2004, - RF_BCSNOW_ALBEDO_WM2 = 8.778960e-02, - RF_CLOUD_ALBEDO_AER_YR = 2004, - RF_CLOUD_ALBEDO_AER_WM2 = -1.101560e+00, - RF_CLOUD_COVER_AER_YR = 2004, - RF_CLOUD_COVER_AER_WM2 = 0, - RF_BBAER_DIR_YR = 2004, - RF_BBAER_DIR_WM2 = 3.000000e-02, - RF_BBAER_DIR_APPLY = 1, - RF_BCB_DIR_YR = 2004, - RF_BCB_DIR_WM2 = 1.798129e-01, - RF_OCB_DIR_YR = 2004, - RF_OCB_DIR_WM2 = -2.194826e-01, - RF_NOXB_DIR_YR = 2004, - RF_NOXB_DIR_WM2 = -1.660279e-01, - RF_NOXB_DIR_APPLY = 1, - RF_SOXB_DIR_YR = 2004, - RF_SOXB_DIR_WM2 = -3.790486e-01, - RF_SOXB_DIR_APPLY = 1, - RF_REGIONS_CO2 = 1.300766e+00, 1.356401e+00, 1.312928e+00, 1.396284e+00, - RF_REGIONS_CH4 = 5.590241e-01, 4.109064e-01, 6.447936e-01, 4.045827e-01, - RF_REGIONS_CH4OXSTRATH2O = 3.704368e-02, 4.464406e-02, 8.035311e-02, 4.335868e-02, - RF_REGIONS_N2O = 1.630634e-01, 1.302121e-01, 1.473878e-01, 1.260378e-01, - RF_REGIONS_MHALO = 1.835121e-01, 1.783708e-01, 1.681008e-01, 1.537570e-01, - RF_REGIONS_TROPOZ = 4.453007e-01, 5.275533e-01, 1.733113e-01, 2.589550e-01, - RF_REGIONS_STRATOZ = -1.243026e-02, -2.257052e-02, -6.773546e-02, -2.244524e-01, - RF_REGIONS_DUST = -8.227563e-01, -1.483534e+00, -3.213107e-01, -5.921985e-01, - RF_REGIONS_SEASALT = -1.175350e+00, -2.037600e-01, -1.825320e+00, -2.020700e-01, - RF_REGIONS_FGAS = 1.685741e-01, 1.648852e-01, 1.515453e-01, 1.400666e-01, - RF_REGIONS_CLOUD_COVER = -1.332780e+00, -1.580600e+00, -5.294200e-01, - -8.112700e-01, - RF_REGIONS_CLOUD_ALBEDO = -9.439653e-01, -1.380785e+00, -3.340435e-01, - -6.562119e-01, - RF_REGIONS_AIRH2O = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CONTRAIL = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_CIRRUS = 4.656500e-01, 5.164600e-01, 1.768700e-01, 2.379300e-01, - RF_REGIONS_NORMYEAR = 2000, - RF_EFFICACY_CH4 = 1, - RF_EFFICACY_CH4OXSTRATH2O = 1, - RF_EFFICACY_N2O = 1, - RF_EFFICACY_STRATOZ = 1.250000e+00, - RF_EFFICACY_TROPOZ = 8.500000e-01, - RF_EFFICACY_AER_DIR = 9.000000e-01, - RF_EFFICACY_CLOUD_ALBEDO = 1.432281e+00, - RF_EFFICACY_CLOUD_COVER = 9.000000e-01, - RF_EFFICACY_SOLAR = 8.500000e-01, - RF_EFFICACY_VOLC = 9.500000e-01, - RF_EFFICACY_LANDUSE = 1, - RF_EFFICACY_BCSNOW = 1.700000e+00, - RF_EFFICACY_FGAS = 1, - RF_EFFICACY_MHALO = 1, - RF_EFFICACY_QXTRA = 1, - RF_EFFICACY_AIRH2O = 1, - RF_EFFICACY_CONTRAIL = 6.000000e-01, - RF_EFFICACY_CIRRUS = 6.000000e-01, - RF_EFFICACY_APPLY = 2, - SCEN_HISTADJUST_0NO1SCALE2SHIFT = 1, - FILE_SOXNB_OT = 'GISS_SOXNB_OT.IN', - FILE_SOXI_OT = 'GISS_SOXI_OT.IN', - FILE_SOXT_RF = 'GISS_SOX_RF.IN', - FILE_SOXI_EMIS = 'HISTRCP_SOXI_EMIS.IN', - FILE_SOXB_EMIS = 'HISTRCP_SOXB_EMIS.IN', - FILE_SOXN_EMIS = 'HIST_SOXN_EMIS.IN', - FILE_COI_EMIS = 'HISTRCP_COI_EMIS.IN', - FILE_COB_EMIS = 'HISTRCP_COB_EMIS.IN', - RATIOFACTOR_BCOC_CO_RATIO = 4.000000e-01, - RATIOFACTOR_BCOC_CO_YEAR = 2100, - BCOC_SWITCHFROMRF2EMIS_YEAR = 2000, - FILE_BCI_EMIS = 'HISTRCP_BCI_EMIS.IN', - FILE_BCB_EMIS = 'HISTRCP_BCB_EMIS.IN', - FILE_OCB_EMIS = 'HISTRCP_OCB_EMIS.IN', - FILE_OCI_EMIS = 'HISTRCP_OCI_EMIS.IN', - FILE_BCB_OT = 'GISS_BCB_OT.IN', - FILE_BCI_OT = 'GISS_BCI_OT.IN', - FILE_OCB_OT = 'GISS_OCB_OT.IN', - FILE_OCI_OT = 'GISS_OCI_OT.IN', - FILE_OCN_OT = 'GISS_OCN_OT.IN', - FILE_BCSNOW_RF = 'GISS_BCSNOW_RF.IN', - FILE_BCB_RF = 'GISS_BCB_RF.IN', - FILE_BCI_RF = 'GISS_BCI_RF.IN', - FILE_OCB_RF = 'GISS_OCB_RF.IN', - FILE_OCI_RF = 'GISS_OCI_RF.IN', - FILE_CO2I_EMIS = 'HISTRCP_CO2I_EMIS.IN', - FILE_CO2B_EMIS = 'HISTRCP_CO2B_EMIS.IN', - FILE_CH4I_EMIS = 'HISTEDGAR_CH4I_EMIS.IN', - FILE_CH4B_EMIS = 'HISTEDGAR_CH4B_EMIS.IN', - FILE_CH4N_EMIS = '', - FILE_N2OI_EMIS = 'HISTEDGAR_N2OI_EMIS.IN', - FILE_N2OB_EMIS = 'HISTEDGAR_N2OB_EMIS.IN', - FILE_N2ON_EMIS = '', - FILE_NOXI_EMIS = 'HISTRCP_NOXI_EMIS.IN', - FILE_NOXB_EMIS = 'HISTRCP_NOXB_EMIS.IN', - FILE_NMVOCI_EMIS = 'HISTRCP_NMVOCI_EMIS.IN', - FILE_NMVOCB_EMIS = 'HISTRCP_NMVOCB_EMIS.IN', - FILE_MINERALDUST_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXB_OT = 'MIXED_NOXB_OT.IN', - FILE_NOXI_OT = 'MIXED_NOXI_OT.IN', - FILE_SS_OT = 'GISS_SS_OT.IN', - FILE_CO2_CONC = 'HISTRCP_CO2_CONC.IN', - FILE_CH4_CONC = 'HISTRCP_CH4_CONC.IN', - FILE_N2O_CONC = 'HISTRCP_N2O_CONC.IN', - FILE_VOLCANIC_RF = 'HIST_VOLCANIC_RF.MON', - FILE_SOLAR_RF = 'HISTRCP_SOLAR_RF.IN', - FILE_EXTRA_RF = '', - FILE_LANDUSE_RF = 'GISS_LANDUSE_RF.IN', - FILE_NOXT_RF = 'GISS_NOX_RF.IN', - CLOUD_WEIGHT_NOX = 2.828088e-02, - CLOUD_WEIGHT_BC = 1.290208e-02, - CLOUD_WEIGHT_OC = 2.642483e-04, - CLOUD_WEIGHT_SOX = 1.300000e-01, - CLOUD_WEIGHT_SS = 1.300000e-01, - CLOUD_BCI2BCB_SOLUBLE_RATIO = 7.500000e-01, - CLOUD_APPLY_LIMIT_MAX = 0, - CLOUD_LIMIT_MAX = 0, - FGAS_NAMES = 'CF4', 'C2F6', 'C6F14', 'HFC23', 'HFC32', 'HFC43_10', 'HFC125', - 'HFC134a', 'HFC143a', 'HFC227ea', 'HFC245fa', 'SF6', - FILE_FGAS_EMIS = 'HISTRCP_CF4_EMIS.IN', 'HISTRCP_C2F6_EMIS.IN', 'HISTRCP_C6F14_EMIS.IN', - 'HISTRCP_HFC23_EMIS.IN', 'HISTRCP_HFC32_EMIS.IN', '', - 'HISTRCP_HFC125_EMIS.IN', 'HISTRCP_HFC134a_EMIS.IN', - 'HISTRCP_HFC143a_EMIS.IN', 'HISTRCP_HFC227EA_EMIS.IN', - 'HISTRCP_HFC245fa_EMIS.IN', 'HISTRCP_SF6_EMIS.IN', - FILE_FGAS_CONC = 'HISTRCP_CF4_CONC.IN', 'HISTRCP_C2F6_CONC.IN', 'HISTRCP_C6F14_CONC.IN', - 'HISTRCP_HFC23_CONC.IN', 'HISTRCP_HFC32_CONC.IN', 'HISTRCP_HFC43-10_CONC.IN', - 'HISTRCP_HFC125_CONC.IN', 'HISTRCP_HFC134a_CONC.IN', - 'HISTRCP_HFC143a_CONC.IN', 'HISTRCP_HFC227EA_CONC.IN', - 'HISTRCP_HFC245fa_CONC.IN', 'HISTRCP_SF6_CONC.IN', - FGAS_FORMULA = '(CF4)', '(C2F6)', '(C6F14)', '(CHF3)', '(CH2F2)', '(C5H2F10)', - '(CHF2CF3)', '(CH2FCF3)', '(CH3CF3)', '(C3HF7)', '(C3H3F5)', - '(SF6)', - FGAS_CL_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_F_ATOMS = 4, 6, 14, 3, 2, 10, 5, 4, 3, 7, 5, 6, - FGAS_H_ATOMS = 0, 0, 0, 1, 2, 2, 1, 2, 3, 1, 3, 0, - FGAS_C_ATOMS = 1, 2, 6, 1, 1, 5, 2, 2, 2, 3, 3, 0, - FGAS_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - FGAS_TAU_TOT = 50000, 10000, 3200, 270, 4.900000e+00, 1.590000e+01, 29, - 14, 52, 3.420000e+01, 7.600000e+00, 3200, - FGAS_TAU_OH = 50000, 0, 0, 270, 4.900000e+00, 1.590000e+01, 29, 14, 52, - 3.420000e+01, 7.600000e+00, 0, - FGAS_TAU_STRAT = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.680000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.490000e-01, 9.680000e-01, - FGAS_RADIATIVE_EFFICIENCY = 1.000000e-01, 2.600000e-01, 4.900000e-01, - 1.900000e-01, 1.100000e-01, 4.000000e-01, - 2.300000e-01, 1.600000e-01, 1.300000e-01, - 2.600000e-01, 2.800000e-01, 5.200000e-01, - FGAS_FRACT_RELEASEFACTOR = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - FGAS_GWP = 6500, 9200, 7400, 11700, 650, 1300, 2800, 1300, 3800, 2900, - 1030, 23900, - FGAS_USE_TAUOH_VAR = 1, - FGAS_USE_TAUSTRAT_VAR = 1, - FGAS_SWITCHFROMCONC2EMIS_YEAR = 2009, - FGAS_RF_REGIONSCALING_LOWERTAU = 1, - FGAS_RF_REGIONSCALING_UPPERTAU = 8, - MHALO_NAMES = 'CFC_11', 'CFC_12', 'CFC_113', 'CFC_114', 'CFC_115', 'CARB_TET', - 'MCF', 'HCFC_22', 'HCFC_141B', 'HCFC_142B', 'HALON1211', - 'HALON1202', 'HALON1301', 'HALON2402', 'CH3BR', 'CH3CL', - MHALO_FORMULA = '(CCL3F)', '(CCL2F2)', '(C2CL3F3)', '(C2CL2F4)', '(C2CLF5)', - '(CCL4)', '(CH3CCL3)', '(CHCLF2)', '(CH3CCL2F)', '(CH3CCLF2)', - '(CF2CLBR)', '(CBR2F2)', '(CF3BR)', '((CF2BR)2)', '(CH3BR)', - '(CH3CL)', - MHALO_CL_ATOMS = 3, 2, 3, 2, 1, 4, 3, 1, 2, 1, 1, 0, 0, 0, 0, 1, - MHALO_BR_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 0, - MHALO_F_ATOMS = 1, 2, 3, 4, 5, 0, 0, 2, 1, 2, 2, 2, 3, 4, 0, 0, - MHALO_H_ATOMS = 0, 0, 0, 0, 0, 0, 3, 1, 3, 3, 0, 0, 0, 0, 3, 3, - MHALO_C_ATOMS = 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, - MHALO_S_ATOMS = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - MHALO_FRACT_RELEASEFACTOR = 1, 6.000000e-01, 7.500000e-01, 7.500000e-01, - 7.500000e-01, 1.060000e+00, 1.080000e+00, - 3.500000e-01, 7.200000e-01, 3.600000e-01, - 1.100000e+00, 8.000000e-01, 8.000000e-01, - 8.000000e-01, 1.080000e+00, 1.080000e+00, - MHALO_TAU_TOT = 45, 100, 85, 300, 1700, 26, 5, 12, 9.300000e+00, 1.790000e+01, - 16, 2.900000e+00, 65, 20, 7.000000e-01, 1.300000e+00, - MHALO_TAU_OH = 0, 0, 0, 0, 0, 0, 5.700000e+00, 12, 9.300000e+00, 1.790000e+01, - 0, 0, 0, 0, 1.700000e+00, 0, - MHALO_TAU_STRAT = 45, 100, 85, 300, 1700, 26, 0, 0, 0, 0, 5.257000e+01, - 0, 65, 4.857143e+01, 1.830000e+00, 0, - MHALO_RADIAT_EFFICIENCY = 2.500000e-01, 3.200000e-01, 3.000000e-01, 3.100000e-01, - 1.800000e-01, 1.300000e-01, 6.000000e-02, 2.000000e-01, - 1.400000e-01, 2.000000e-01, 3.000000e-01, 0, - 3.200000e-01, 3.300000e-01, 1.000000e-02, 1.000000e-02, - MHALO_EFF_MIXBOXSIZE = 9.690000e-01, 9.690000e-01, 9.690000e-01, 9.690000e-01, - 9.690000e-01, 9.690000e-01, 9.490000e-01, 9.490000e-01, - 9.490000e-01, 9.490000e-01, 9.690000e-01, 9.490000e-01, - 9.690000e-01, 9.670000e-01, 9.490000e-01, 9.490000e-01, - MHALO_GWP = 3800, 8100, 4800, 10000, 7370, 1400, 146, 1500, 725, 1800, - 1890, 0, 5400, 1640, 5, 13, - MHALO_USE_TAUOH_VAR = 1, - MHALO_USE_TAUSTRAT_VAR = 1, - MHALO_SWITCH_CONC2EMIS_YR = 2008, - FILE_MHALO_CONC = 'RCPODS_WMO2006_MixingRatios_A1.prn', - FILE_MHALO_EMIS = 'RCPODS_WMO2006_Emissions_RCP45.prn', - MHALO_RF_BOXSCALE_LOWERTAU = 1, - MHALO_RF_BOXSCALE_UPPERTAU = 8, - MHALO_RELEASEFACTORC11 = 7.500000e-01, - GEN_AIR_GRAMMPROMOL = 2.898400e+01, - GEN_ATM_TOTMASS_1E21GRAMM = 5.133000e+00, - GEN_MERIDFLUX_CHNGPERDEG = 1.500000e-01, - GEN_CHANGE_MERIDIONALFLUX_YR = 1980, - STRATOZ_BR_VS_CL_SCALE = 45, - GEN_EESC_STRATMIXDELAY = 3, - GEN_SRESREGIONS2NH = 9.500000e-01, 1, 1, 4.000000e-01, - GEN_RCPREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - GEN_RCPPLUSREGIONS2NH = 9.000000e-01, 1, 8.000000e-01, 6.000000e-01, 3.000000e-01, - RUN_ID = 3, -/ diff --git a/core/magicc/magicc_scen_450.inc b/core/magicc/magicc_scen_450.inc deleted file mode 100644 index d25065e74..000000000 --- a/core/magicc/magicc_scen_450.inc +++ /dev/null @@ -1,153 +0,0 @@ -*** SOF ./core/magicc/magicc_scen_450.inc -Table magicc_default_data_450(RCP_regions_world_bunkers,tall,emiRCP) - FossilCO2 OtherCO2 CH4 N2O SOx CO NMVOC NOx BC OC NH3 CF4 C2F6 C6F14 HFC23 HFC32 HFC43-10 HFC125 HFC134a HFC143a HFC227ea HFC245fa SF6 -*** GtC GtC MtCH4 MtN2O-N MtS MtCO Mt MtN Mt Mt MtN kt kt kt kt kt kt kt kt kt kt kt kt - WORLD.2000 6.735000 1.148800 300.207000 7.456700 53.841300 1068.000900 210.623000 38.162300 7.804800 35.543400 40.018500 12.000000 2.375000 0.462400 10.394900 4.000000 0.000000 8.538100 75.039400 6.234100 1.951000 17.925700 5.538200 - WORLD.2005 7.971000 1.195500 315.902700 7.684200 56.719500 1061.525500 215.462900 38.794800 8.251200 36.391700 41.883700 11.605900 2.649500 0.435800 10.811700 10.993400 3.235200 13.759100 120.933400 12.448300 4.890000 26.888600 6.340800 - WORLD.2010 8.821400 1.056500 336.622800 7.838000 55.818000 1030.771100 217.149500 39.223300 8.623100 36.601700 43.667800 14.916700 4.924100 0.466600 9.522200 17.942100 6.453900 26.278700 157.042700 21.615500 8.979300 51.053400 6.623100 - WORLD.2015 9.054500 1.014650 296.695400 7.600650 50.015350 1006.708950 215.220050 37.916400 8.502600 36.679150 45.696100 13.566750 5.161200 0.325500 5.337300 39.292050 6.839700 57.813800 165.460850 42.994800 5.293500 41.687400 4.433650 - WORLD.2020 9.287600 0.972800 256.768000 7.363300 44.212700 982.646800 213.290600 36.609500 8.382100 36.756600 47.724400 12.216800 5.398300 0.184400 1.152400 60.642000 7.225500 89.348900 173.879000 64.374100 1.607700 32.321400 2.244200 - WORLD.2025 8.222250 0.880800 246.200100 7.334150 36.909350 954.307600 206.946200 34.087200 7.662350 36.121400 49.423850 9.455850 3.641900 0.148100 0.921900 66.338650 7.675450 99.124050 184.032300 69.964700 1.201500 17.747850 2.098250 - WORLD.2030 7.156900 0.788800 235.632200 7.305000 29.606000 925.968400 200.601800 31.564900 6.942600 35.486200 51.123300 6.694900 1.885500 0.111800 0.691400 72.035300 8.125400 108.899200 194.185600 75.555300 0.795300 3.174300 1.952300 - WORLD.2035 5.845900 0.638850 230.330350 7.241100 24.748350 901.954400 196.426950 30.785650 6.314300 33.750100 52.221750 5.873550 1.486550 0.112300 0.552400 76.373500 8.745050 116.930300 203.507400 79.639800 0.840700 1.587150 1.759950 - WORLD.2040 4.534900 0.488900 225.028500 7.177200 19.890700 877.940400 192.252100 30.006400 5.686000 32.014000 53.320200 5.052200 1.087600 0.112800 0.413400 80.711700 9.364700 124.961400 212.829200 83.724300 0.886100 0.000000 1.567600 - WORLD.2045 3.860200 0.345050 207.163300 6.711900 17.732600 849.076500 185.381650 29.454750 5.313250 30.993450 54.427950 3.845350 0.779400 0.110750 0.329850 77.659600 10.229950 122.049100 205.590100 80.406700 0.590950 0.000000 1.099900 - WORLD.2050 3.185500 0.201200 189.298100 6.246600 15.574500 820.212600 178.511200 28.903100 4.940500 29.972900 55.535700 2.638500 0.471200 0.108700 0.246300 74.607500 11.095200 119.136800 198.351000 77.089100 0.295800 0.000000 0.632200 - WORLD.2055 2.302350 0.408250 177.883000 5.982350 14.637100 799.700800 172.459350 28.049750 4.685150 29.840400 57.026500 2.407250 0.396950 0.108050 0.191900 79.346600 11.104100 128.966900 212.353900 81.841250 0.219000 0.000000 0.565350 - WORLD.2060 1.419200 0.615300 166.467900 5.718100 13.699700 779.189000 166.407500 27.196400 4.429800 29.707900 58.517300 2.176000 0.322700 0.107400 0.137500 84.085700 11.113000 138.797000 226.356800 86.593400 0.142200 0.000000 0.498500 - WORLD.2065 0.767400 0.576750 163.888200 5.729600 12.782900 745.840250 158.353850 25.600250 4.186400 28.884750 59.979400 2.156850 0.291800 0.107000 0.105250 88.982950 11.080050 148.989600 241.101600 91.050050 0.136850 0.000000 0.458400 - WORLD.2070 0.115600 0.538200 161.308500 5.741100 11.866100 712.491500 150.300200 24.004100 3.943000 28.061600 61.441500 2.137700 0.260900 0.106600 0.073000 93.880200 11.047100 159.182200 255.846400 95.506700 0.131500 0.000000 0.418300 - WORLD.2075 -0.158650 0.544000 158.192250 5.677250 10.810500 688.112550 144.461000 22.314900 3.808400 27.466150 62.413450 1.790850 0.206100 0.104900 0.055150 95.075750 11.002000 162.875500 260.773200 95.658250 0.125950 0.000000 0.367050 - WORLD.2080 -0.432900 0.549800 155.076000 5.613400 9.754900 663.733600 138.621800 20.625700 3.673800 26.870700 63.385400 1.444000 0.151300 0.103200 0.037300 96.271300 10.956900 166.568800 265.700000 95.809800 0.120400 0.000000 0.315800 - WORLD.2085 -0.651650 0.576100 151.757400 5.537050 8.790250 650.291250 134.931900 19.593950 3.609500 26.634300 64.352000 1.319850 0.121650 0.100200 0.018650 93.737450 10.854750 164.062500 261.273950 92.286300 0.113550 0.000000 0.250500 - WORLD.2090 -0.870400 0.602400 148.438800 5.460700 7.825600 636.848900 131.242000 18.562200 3.545200 26.397900 65.318600 1.195700 0.092000 0.097200 0.000000 91.203600 10.752600 161.556200 256.847900 88.762800 0.106700 0.000000 0.185200 - WORLD.2095 -0.900600 0.556800 145.245750 5.371500 7.140350 622.346350 128.376200 17.275900 3.451550 25.864500 66.278350 1.143900 0.088850 0.092900 0.000000 86.215200 10.579050 154.884950 246.120200 83.110050 0.098900 0.000000 0.114700 - WORLD.2100 -0.930800 0.511200 142.052700 5.282300 6.455100 607.843800 125.510400 15.989600 3.357900 25.331100 67.238100 1.092100 0.085700 0.088600 0.000000 81.226800 10.405500 148.213700 235.392500 77.457300 0.091100 0.000000 0.044200 - R5OECD.2000 3.191400 0.125900 60.702000 2.212500 14.265500 189.734600 37.761500 11.879900 1.247700 3.308200 9.041700 6.596300 1.399100 0.409200 5.783600 2.807900 0.000000 5.816700 55.289100 4.257000 1.803100 14.690400 3.387900 - R5OECD.2005 3.348200 0.125900 59.088600 2.132100 11.976900 146.014800 32.897500 9.885000 1.090500 3.073500 9.121200 6.315000 1.532000 0.383900 3.454700 6.756500 2.849100 7.906400 84.548800 7.185700 4.343900 22.035600 3.421900 - R5OECD.2010 3.451300 0.136300 60.091900 2.036600 10.101400 114.106500 30.482200 8.849600 1.123800 3.118500 9.102100 8.152900 2.786600 0.411100 2.452600 10.499200 5.684600 13.496300 102.265500 11.084100 7.567500 39.298400 3.382500 - R5OECD.2015 3.314650 0.108850 48.512200 1.832550 7.793450 110.057100 29.860250 7.857500 1.072850 3.102250 9.099200 7.118700 2.650150 0.286800 1.335100 22.748000 5.827800 29.177550 104.327850 21.475450 4.428850 31.592600 2.131150 - R5OECD.2020 3.178000 0.081400 36.932500 1.628500 5.485500 106.007700 29.238300 6.865400 1.021900 3.086000 9.096300 6.084500 2.513700 0.162500 0.217600 34.996800 5.971000 44.858800 106.390200 31.866800 1.290200 23.886800 0.879800 - R5OECD.2025 2.711300 0.074500 34.172300 1.614750 4.052000 99.177650 27.348700 5.877750 0.893500 3.133850 9.237850 4.595200 1.696200 0.130500 0.174050 34.521150 6.072350 45.740200 103.498600 31.689100 0.924850 12.985300 0.736900 - R5OECD.2030 2.244600 0.067600 31.412100 1.601000 2.618500 92.347600 25.459100 4.890100 0.765100 3.181700 9.379400 3.105900 0.878700 0.098500 0.130500 34.045500 6.173700 46.621600 100.607000 31.511400 0.559500 2.083800 0.594000 - R5OECD.2035 1.664650 0.081400 29.871500 1.571600 1.972200 84.691250 23.614650 4.297250 0.688700 3.039750 9.403400 2.679500 0.691400 0.098950 0.104300 32.085300 6.233500 45.272600 95.236100 29.937400 0.538200 1.041900 0.494850 - R5OECD.2040 1.084700 0.095200 28.330900 1.542200 1.325900 77.034900 21.770200 3.704400 0.612300 2.897800 9.427400 2.253100 0.504100 0.099400 0.078100 30.125100 6.293300 43.923600 89.865200 28.363400 0.516900 0.000000 0.395700 - R5OECD.2045 0.851500 0.047850 25.807450 1.466050 1.155600 70.594150 19.991250 3.331800 0.570250 2.821300 9.351350 1.698450 0.360200 0.097550 0.062300 26.272900 6.315150 39.299150 78.958550 24.916250 0.328000 0.000000 0.295750 - R5OECD.2050 0.618300 0.000500 23.284000 1.389900 0.985300 64.153400 18.212300 2.959200 0.528200 2.744800 9.275300 1.143800 0.216300 0.095700 0.046500 22.420700 6.337000 34.674700 68.051900 21.469100 0.139100 0.000000 0.195800 - R5OECD.2055 0.364700 0.076800 22.097800 1.325700 0.907900 61.836450 16.633000 2.853200 0.481300 2.795950 9.367750 1.031500 0.181050 0.095150 0.036250 21.443150 6.333900 34.065150 65.347350 20.696550 0.095650 0.000000 0.169100 - R5OECD.2060 0.111100 0.153100 20.911600 1.261500 0.830500 59.519500 15.053700 2.747200 0.434400 2.847100 9.460200 0.919200 0.145800 0.094600 0.026000 20.465600 6.330800 33.455600 62.642800 19.924000 0.052200 0.000000 0.142400 - R5OECD.2065 -0.100550 0.136100 20.623000 1.245950 0.775950 56.873800 13.544050 2.629500 0.394550 2.759950 9.529400 0.900350 0.130450 0.094250 0.019900 19.521900 6.327600 32.728300 59.959500 19.152900 0.044600 0.000000 0.126000 - R5OECD.2070 -0.312200 0.119100 20.334400 1.230400 0.721400 54.228100 12.034400 2.511800 0.354700 2.672800 9.598600 0.881500 0.115100 0.093900 0.013800 18.578200 6.324400 32.001000 57.276200 18.381800 0.037000 0.000000 0.109600 - R5OECD.2075 -0.340350 0.124150 20.000050 1.196700 0.683450 52.812900 11.332450 2.328050 0.338250 2.643300 9.597050 0.732350 0.089900 0.092400 0.010400 17.090700 6.342400 30.115050 52.905400 17.030250 0.031350 0.000000 0.093100 - R5OECD.2080 -0.368500 0.129200 19.665700 1.163000 0.645500 51.397700 10.630500 2.144300 0.321800 2.613800 9.595500 0.583200 0.064700 0.090900 0.007000 15.603200 6.360400 28.229100 48.534600 15.678700 0.025700 0.000000 0.076600 - R5OECD.2085 -0.386450 0.133600 19.158300 1.135800 0.631350 51.689050 10.442150 2.039900 0.325600 2.712050 9.673600 0.527300 0.050700 0.088250 0.003500 14.078650 6.378050 26.009700 43.980550 14.241600 0.021700 0.000000 0.059900 - R5OECD.2090 -0.404400 0.138000 18.650900 1.108600 0.617200 51.980400 10.253800 1.935500 0.329400 2.810300 9.751700 0.471400 0.036700 0.085600 0.000000 12.554100 6.395700 23.790300 39.426500 12.804500 0.017700 0.000000 0.043200 - R5OECD.2095 -0.428700 0.132500 17.916100 1.072600 0.602900 50.805950 10.068200 1.827200 0.320550 2.701250 9.770950 0.447950 0.035000 0.081850 0.000000 11.195650 6.385850 21.633750 35.310150 11.491700 0.014850 0.000000 0.026600 - R5OECD.2100 -0.453000 0.127000 17.181300 1.036600 0.588600 49.631500 9.882600 1.718900 0.311700 2.592200 9.790200 0.424500 0.033300 0.078100 0.000000 9.837200 6.376000 19.477200 31.193800 10.178900 0.012000 0.000000 0.010000 - R5REF.2000 0.823600 0.056400 29.725600 0.473300 7.740800 80.860200 17.859100 3.562200 0.566500 4.229500 4.109500 1.834700 0.092500 0.053200 0.191900 0.117000 0.000000 0.195700 3.047100 0.130900 0.097000 0.301200 0.485700 - R5REF.2005 0.892200 0.056400 29.631700 0.461000 7.216600 80.811700 19.057800 3.666800 0.633200 4.672500 4.026800 1.274000 0.072300 0.051900 0.051700 0.363700 0.088400 0.568800 5.687900 0.349700 0.379900 0.451800 0.594100 - R5REF.2010 0.866900 0.046100 26.789400 0.431700 6.466400 75.992700 18.701700 3.298100 0.607800 4.658400 4.058600 1.293500 0.091800 0.055600 0.006200 0.740900 0.176800 1.259500 8.629200 0.720600 0.867200 1.087400 0.516700 - R5REF.2015 0.832700 0.037000 23.628200 0.404250 5.163250 74.035500 18.457900 2.859000 0.590100 4.662700 4.096200 1.065000 0.089300 0.038800 0.004450 1.636850 0.214150 2.735250 8.061100 1.460650 0.508950 0.901850 0.344000 - R5REF.2020 0.798500 0.027900 20.467000 0.376800 3.860100 72.078300 18.214100 2.419900 0.572400 4.667000 4.133800 0.836500 0.086800 0.022000 0.002700 2.532800 0.251500 4.211000 7.493000 2.200700 0.150700 0.716300 0.171300 - R5REF.2025 0.669050 0.027800 18.939200 0.376450 2.913350 69.506250 17.717000 2.204850 0.504150 4.539250 4.204050 0.711900 0.066250 0.017650 0.002150 3.040300 0.293400 5.117500 8.690250 2.674450 0.120500 0.404250 0.145500 - R5REF.2030 0.539600 0.027700 17.411400 0.376100 1.966600 66.934200 17.219900 1.989800 0.435900 4.411500 4.274300 0.587300 0.045700 0.013300 0.001600 3.547800 0.335300 6.024000 9.887500 3.148200 0.090300 0.092200 0.119700 - R5REF.2035 0.427350 0.036250 16.713800 0.376900 1.687400 64.921500 16.967350 1.821450 0.395000 4.288500 4.326700 0.538100 0.040750 0.013350 0.001300 3.984850 0.419200 6.834050 11.132550 3.571550 0.101150 0.046100 0.105350 - R5REF.2040 0.315100 0.044800 16.016200 0.377700 1.408200 62.908800 16.714800 1.653100 0.354100 4.165500 4.379100 0.488900 0.035800 0.013400 0.001000 4.421900 0.503100 7.644100 12.377600 3.994900 0.112000 0.000000 0.091000 - R5REF.2045 0.276350 0.051150 14.500900 0.375250 1.191100 61.179600 16.086000 1.513000 0.333250 4.116600 4.425000 0.379600 0.027800 0.013150 0.000800 4.267600 0.585300 7.412700 12.026050 3.873950 0.073700 0.000000 0.065050 - R5REF.2050 0.237600 0.057500 12.985600 0.372800 0.974000 59.450400 15.457200 1.372900 0.312400 4.067700 4.470900 0.270300 0.019800 0.012900 0.000600 4.113300 0.667500 7.181300 11.674500 3.753000 0.035400 0.000000 0.039100 - R5REF.2055 0.177400 0.061600 12.276500 0.370250 0.832550 58.232050 14.723400 1.315800 0.297450 4.028800 4.552150 0.252200 0.018500 0.012850 0.000450 4.305250 0.725950 7.527350 12.182700 3.933850 0.025100 0.000000 0.033700 - R5REF.2060 0.117200 0.065700 11.567400 0.367700 0.691100 57.013700 13.989600 1.258700 0.282500 3.989900 4.633400 0.234100 0.017200 0.012800 0.000300 4.497200 0.784400 7.873400 12.690900 4.114700 0.014800 0.000000 0.028300 - R5REF.2065 0.046300 0.074450 11.846050 0.382450 0.562600 56.194050 13.188350 1.205000 0.276450 3.974100 4.764000 0.237150 0.017500 0.012750 0.000250 4.642850 0.846600 8.133400 13.060300 4.250550 0.013050 0.000000 0.024850 - R5REF.2070 -0.024600 0.083200 12.124700 0.397200 0.434100 55.374400 12.387100 1.151300 0.270400 3.958300 4.894600 0.240200 0.017800 0.012700 0.000200 4.788500 0.908800 8.393400 13.429700 4.386400 0.011300 0.000000 0.021400 - R5REF.2075 -0.052600 0.088650 12.173200 0.404650 0.417050 54.973100 11.822200 1.074500 0.267150 3.940400 5.004300 0.203950 0.015200 0.012500 0.000150 4.697300 0.965200 8.236050 13.162550 4.304200 0.009800 0.000000 0.017950 - R5REF.2080 -0.080600 0.094100 12.221700 0.412100 0.400000 54.571800 11.257300 0.997700 0.263900 3.922500 5.114000 0.167700 0.012600 0.012300 0.000100 4.606100 1.021600 8.078700 12.895400 4.222000 0.008300 0.000000 0.014500 - R5REF.2085 -0.103050 0.100600 12.153850 0.414500 0.389450 54.294950 10.897000 0.962550 0.261700 3.899850 5.175100 0.156550 0.011700 0.011950 0.000050 4.207950 1.061850 7.401050 11.833300 3.867850 0.006800 0.000000 0.011250 - R5REF.2090 -0.125500 0.107100 12.086000 0.416900 0.378900 54.018100 10.536700 0.927400 0.259500 3.877200 5.236200 0.145400 0.010800 0.011600 0.000000 3.809800 1.102100 6.723400 10.771200 3.513700 0.005300 0.000000 0.008000 - R5REF.2095 -0.141800 0.112450 12.096550 0.419700 0.373500 53.900300 10.360250 0.904650 0.258750 3.863750 5.298550 0.139750 0.010650 0.011100 0.000000 3.382400 1.120250 5.968350 9.581900 3.119100 0.004250 0.000000 0.004900 - R5REF.2100 -0.158100 0.117800 12.107100 0.422500 0.368100 53.782500 10.183800 0.881900 0.258000 3.850300 5.360900 0.134100 0.010500 0.010600 0.000000 2.955000 1.138400 5.213300 8.392600 2.724500 0.003200 0.000000 0.001800 - R5ASIA.2000 1.768200 0.355600 124.982100 2.545600 15.648400 397.439000 70.582900 7.993100 3.046800 11.636100 17.240400 2.083400 0.820900 0.000000 4.096800 0.867300 0.000000 1.413200 9.009700 1.037100 0.019700 2.245700 1.226500 - R5ASIA.2005 2.608200 0.445300 134.875600 2.715600 21.061100 416.787900 75.430300 9.709700 3.400200 11.719800 18.331600 2.276700 0.963800 0.000000 6.967900 3.035200 0.192000 3.025000 16.397800 2.824000 0.047800 3.368500 1.811700 - R5ASIA.2010 3.284500 0.420100 149.052200 2.884700 24.558200 439.689200 80.819100 11.352400 3.824200 12.512800 19.550500 3.143400 1.924200 0.000000 6.651400 4.892600 0.382700 6.822900 24.674800 5.838100 0.211900 8.333200 2.107200 - R5ASIA.2015 3.650400 0.374400 130.507050 2.883600 23.991750 431.841100 80.572750 11.551750 3.816250 12.674950 20.766700 3.276650 2.299900 0.000000 3.771750 10.801200 0.528500 16.239300 29.508000 12.631400 0.148650 7.311050 1.502350 - R5ASIA.2020 4.016300 0.328700 111.961900 2.882500 23.425300 423.993000 80.326400 11.751100 3.808300 12.837100 21.982900 3.409900 2.675600 0.000000 0.892100 16.709800 0.674300 25.655700 34.341200 19.424700 0.085400 6.288900 0.897500 - R5ASIA.2025 3.652600 0.256300 106.681750 2.880700 19.547750 406.609000 76.763850 10.984100 3.383400 12.341650 22.955300 2.506350 1.780050 0.000000 0.713700 21.240950 0.900100 31.195750 42.081200 23.152400 0.083700 3.557200 0.928300 - R5ASIA.2030 3.288900 0.183900 101.401600 2.878900 15.670200 389.225000 73.201300 10.217100 2.958500 11.846200 23.927700 1.602800 0.884500 0.000000 0.535300 25.772100 1.125900 36.735800 49.821200 26.880100 0.082000 0.825500 0.959100 - R5ASIA.2035 2.731450 0.133150 96.808150 2.867750 12.305950 370.885150 69.442400 9.654150 2.533250 10.847500 24.599750 1.373300 0.683600 0.000000 0.427700 30.163600 1.479150 42.019500 57.802950 30.121800 0.115200 0.412750 0.891850 - R5ASIA.2040 2.174000 0.082400 92.214700 2.856600 8.941700 352.545300 65.683500 9.091200 2.108000 9.848800 25.271800 1.143800 0.482700 0.000000 0.320100 34.555100 1.832400 47.303200 65.784700 33.363500 0.148400 0.000000 0.824600 - R5ASIA.2045 1.788950 0.094850 83.078800 2.679050 7.600750 332.480800 61.385700 8.929950 1.870600 9.228850 26.100000 0.864450 0.340100 0.000000 0.255350 34.617000 2.410200 47.072000 66.432050 32.557700 0.107850 0.000000 0.561850 - R5ASIA.2050 1.403900 0.107300 73.942900 2.501500 6.259800 312.416300 57.087900 8.768700 1.633200 8.608900 26.928200 0.585100 0.197500 0.000000 0.190600 34.678900 2.988000 46.840800 67.079400 31.751900 0.067300 0.000000 0.299100 - R5ASIA.2055 0.906600 0.120500 70.089050 2.416500 5.653450 294.227950 53.694250 9.046750 1.472300 8.300550 27.695700 0.530150 0.161550 0.000000 0.148500 37.506550 2.930300 50.583650 73.230850 33.513550 0.053200 0.000000 0.271800 - R5ASIA.2060 0.409300 0.133700 66.235200 2.331500 5.047100 276.039600 50.300600 9.324800 1.311400 7.992200 28.463200 0.475200 0.125600 0.000000 0.106400 40.334200 2.872600 54.326500 79.382300 35.275200 0.039100 0.000000 0.244500 - R5ASIA.2065 0.149500 0.124500 64.381800 2.356500 4.688450 260.218250 47.443050 9.140450 1.207900 7.668150 29.272150 0.468000 0.108550 0.000000 0.081450 43.010700 2.784850 57.857450 85.420950 36.655550 0.039950 0.000000 0.229600 - R5ASIA.2070 -0.110300 0.115300 62.528400 2.381500 4.329800 244.396900 44.585500 8.956100 1.104400 7.344100 30.081100 0.460800 0.091500 0.000000 0.056500 45.687200 2.697100 61.388400 91.459600 38.035900 0.040800 0.000000 0.214700 - R5ASIA.2075 -0.221700 0.121200 60.877450 2.380350 3.753050 234.283000 42.617650 8.161400 1.061750 7.168550 30.666950 0.385950 0.069350 0.000000 0.042650 46.390900 2.591050 62.226850 93.756350 37.578750 0.040650 0.000000 0.191200 - R5ASIA.2080 -0.333100 0.127100 59.226500 2.379200 3.176300 224.169100 40.649800 7.366700 1.019100 6.993000 31.252800 0.311100 0.047200 0.000000 0.028800 47.094600 2.485000 63.065300 96.053100 37.121600 0.040500 0.000000 0.167700 - R5ASIA.2085 -0.417250 0.136000 57.626900 2.359600 2.616500 216.447550 38.936150 6.640650 0.976950 6.765150 31.698150 0.281450 0.033950 0.000000 0.014400 45.428500 2.361850 61.001550 93.904700 34.954950 0.038750 0.000000 0.133000 - R5ASIA.2090 -0.501400 0.144900 56.027300 2.340000 2.056700 208.726000 37.222500 5.914600 0.934800 6.537300 32.143500 0.251800 0.020700 0.000000 0.000000 43.762400 2.238700 58.937800 91.756300 32.788300 0.037000 0.000000 0.098300 - R5ASIA.2095 -0.402350 0.136900 55.231250 2.310000 1.913850 203.294550 36.068350 5.202350 0.892850 6.362200 32.561500 0.244400 0.019650 0.000000 0.000000 40.409250 2.101600 54.916450 86.430900 29.693200 0.034150 0.000000 0.060650 - R5ASIA.2100 -0.303300 0.128900 54.435200 2.280000 1.771000 197.863100 34.914200 4.490100 0.850900 6.187100 32.979500 0.237000 0.018600 0.000000 0.000000 37.056100 1.964500 50.895100 81.105500 26.598100 0.031300 0.000000 0.023000 - R5MAF.2000 0.580800 0.246000 44.299100 1.180400 6.102400 285.959600 56.889800 5.539700 1.876600 11.148200 5.036300 0.733700 0.046400 0.000000 0.000000 0.079900 0.000000 0.680300 3.936500 0.449800 0.018800 0.352400 0.207500 - R5MAF.2005 0.710200 0.227300 49.627600 1.276900 7.036500 305.672900 60.460500 5.986400 2.036300 11.874800 5.475900 0.962600 0.065800 0.000000 0.000000 0.368500 0.052800 1.383300 7.490900 1.197700 0.061800 0.528600 0.237500 - R5MAF.2010 0.758400 0.109500 54.185500 1.322500 6.700600 287.228000 58.812700 5.884600 1.929500 10.974800 5.627800 1.415000 0.101200 0.000000 0.000000 0.831700 0.104900 2.845300 11.441100 2.263600 0.170900 1.193500 0.288700 - R5MAF.2015 0.780400 0.223050 51.170100 1.312050 6.629600 291.201950 59.215300 5.884100 2.007350 11.619800 6.101250 1.324750 0.102750 0.000000 0.000000 1.937200 0.134650 5.756500 12.410250 4.198900 0.106050 0.962200 0.206750 - R5MAF.2020 0.802400 0.336600 48.154700 1.301600 6.558600 295.175900 59.617900 5.883600 2.085200 12.264800 6.574700 1.234500 0.104300 0.000000 0.000000 3.042700 0.164400 8.667700 13.379400 6.134200 0.041200 0.730900 0.124800 - R5MAF.2025 0.746800 0.345800 48.462250 1.304500 5.892900 295.667100 59.852950 5.799400 2.038050 12.179000 6.899300 1.067350 0.082350 0.000000 0.000000 3.454450 0.204850 9.726150 14.960750 6.776600 0.035650 0.407200 0.115800 - R5MAF.2030 0.691200 0.355000 48.769800 1.307400 5.227200 296.158300 60.088000 5.715200 1.990900 12.093200 7.223900 0.900200 0.060400 0.000000 0.000000 3.866200 0.245300 10.784600 16.542100 7.419000 0.030100 0.083500 0.106800 - R5MAF.2035 0.654450 0.249550 50.874500 1.290300 4.903050 300.177900 61.386950 5.817400 1.940350 11.715150 7.420950 0.826250 0.054750 0.000000 0.000000 4.487700 0.306650 12.366900 19.024700 8.363700 0.040400 0.041750 0.100500 - R5MAF.2040 0.617700 0.144100 52.979200 1.273200 4.578900 304.197500 62.685900 5.919600 1.889800 11.337100 7.618000 0.752300 0.049100 0.000000 0.000000 5.109200 0.368000 13.949200 21.507300 9.308400 0.050700 0.000000 0.094200 - R5MAF.2045 0.604750 0.065800 50.465900 1.158950 4.558800 307.027100 63.383900 6.014150 1.887300 11.405750 7.815150 0.583650 0.038400 0.000000 0.000000 5.683800 0.459650 15.333000 23.764750 10.052050 0.038600 0.000000 0.067350 - R5MAF.2050 0.591800 -0.012500 47.952600 1.044700 4.538700 309.856700 64.081900 6.108700 1.884800 11.474400 8.012300 0.415000 0.027700 0.000000 0.000000 6.258400 0.551300 16.716800 26.022200 10.795700 0.026500 0.000000 0.040500 - R5MAF.2055 0.570450 0.083400 43.168350 0.989650 4.691100 309.155300 64.355750 6.451800 1.868350 11.509650 8.346900 0.386550 0.026100 0.000000 0.000000 7.835800 0.556950 20.650650 32.210850 13.060050 0.022700 0.000000 0.039850 - R5MAF.2060 0.549100 0.179300 38.384100 0.934600 4.843500 308.453900 64.629600 6.794900 1.851900 11.544900 8.681500 0.358100 0.024500 0.000000 0.000000 9.413200 0.562600 24.584500 38.399500 15.324400 0.018900 0.000000 0.039200 - R5MAF.2065 0.491750 0.162150 38.002950 0.933300 4.936600 297.563450 63.309150 7.136850 1.792850 11.289000 8.965000 0.362050 0.025150 0.000000 0.000000 11.310400 0.560500 29.150950 45.600300 17.775050 0.021150 0.000000 0.038450 - R5MAF.2070 0.434400 0.145000 37.621800 0.932000 5.029700 286.673000 61.988700 7.478800 1.733800 11.033100 9.248500 0.366000 0.025800 0.000000 0.000000 13.207600 0.558400 33.717400 52.801100 20.225700 0.023400 0.000000 0.037700 - R5MAF.2075 0.363150 0.135250 37.067200 0.917350 4.886850 277.083600 60.501600 7.553900 1.687950 10.821850 9.459600 0.310050 0.022200 0.000000 0.000000 14.698400 0.551700 37.049950 58.161100 21.728900 0.024950 0.000000 0.035300 - R5MAF.2080 0.291900 0.125500 36.512600 0.902700 4.744000 267.494200 59.014500 7.629000 1.642100 10.610600 9.670700 0.254100 0.018600 0.000000 0.000000 16.189200 0.545000 40.382500 63.521100 23.232100 0.026500 0.000000 0.032900 - R5MAF.2085 0.227150 0.107350 35.952150 0.883000 4.384550 260.280500 57.829000 7.497950 1.605650 10.400800 9.828000 0.236800 0.017400 0.000000 0.000000 17.138550 0.526550 42.223250 66.609500 23.724300 0.027250 0.000000 0.027700 - R5MAF.2090 0.162400 0.089200 35.391700 0.863300 4.025100 253.066800 56.643500 7.366900 1.569200 10.191000 9.985300 0.219500 0.016200 0.000000 0.000000 18.087900 0.508100 44.064000 69.697900 24.216500 0.028000 0.000000 0.022500 - R5MAF.2095 0.103550 0.065150 34.477800 0.842400 3.543700 247.037300 55.834600 6.996750 1.546600 10.081650 10.120700 0.210250 0.016000 0.000000 0.000000 18.475100 0.485700 44.458600 70.538050 23.828500 0.027800 0.000000 0.014450 - R5MAF.2100 0.044700 0.041100 33.563900 0.821500 3.062300 241.007800 55.025700 6.626600 1.524000 9.972300 10.256100 0.201000 0.015800 0.000000 0.000000 18.862300 0.463300 44.853200 71.378200 23.440500 0.027600 0.000000 0.006400 - R5LAM.2000 0.371000 0.364900 40.065600 1.044800 4.545100 112.822000 24.602700 2.905600 0.931100 5.082000 4.590700 0.752000 0.016000 0.000000 0.322600 0.127900 0.000000 0.432200 3.756900 0.359200 0.012300 0.336000 0.230600 - R5LAM.2005 0.412200 0.340600 42.197500 1.098500 3.694700 110.975000 24.404200 2.819200 0.926600 4.885700 4.928200 0.777600 0.015500 0.000000 0.337300 0.469600 0.052800 0.875600 6.808000 0.891200 0.056700 0.504000 0.275500 - R5LAM.2010 0.460300 0.344500 46.024900 1.162600 3.696700 112.390200 24.713700 2.830700 1.003100 5.201500 5.328800 0.912000 0.020500 0.000000 0.412100 0.977700 0.104900 1.854700 10.032200 1.709100 0.161900 1.140900 0.327900 - R5LAM.2015 0.476400 0.271350 42.375750 1.168300 3.513350 98.183750 23.543400 2.587750 0.908850 4.512200 5.632750 0.781700 0.019200 0.000000 0.226050 2.168750 0.134650 3.905250 11.153700 3.228400 0.101100 0.919750 0.249300 - R5LAM.2020 0.492500 0.198200 38.726600 1.174000 3.330000 83.977300 22.373100 2.344800 0.814600 3.822900 5.936700 0.651400 0.017900 0.000000 0.040000 3.359800 0.164400 5.955800 12.275200 4.747700 0.040300 0.698600 0.170700 - R5LAM.2025 0.442550 0.176450 37.419350 1.157800 3.180850 81.928000 21.922950 2.221900 0.763700 3.840450 6.127400 0.575050 0.017150 0.000000 0.032000 4.081800 0.204850 7.344450 14.801500 5.672150 0.036900 0.393950 0.171650 - R5LAM.2030 0.392600 0.154700 36.112100 1.141600 3.031700 79.878700 21.472800 2.099000 0.712800 3.858000 6.318100 0.498700 0.016400 0.000000 0.024000 4.803800 0.245300 8.733100 17.327800 6.596600 0.033500 0.089300 0.172600 - R5LAM.2035 0.368000 0.138600 35.640250 1.134500 2.964850 79.716550 21.612750 2.101200 0.690950 3.782850 6.471000 0.456400 0.016150 0.000000 0.019200 5.652100 0.306650 10.437200 20.311100 7.645350 0.045850 0.044650 0.167350 - R5LAM.2040 0.343400 0.122500 35.168400 1.127400 2.898000 79.554400 21.752700 2.103400 0.669100 3.707700 6.623900 0.414100 0.015900 0.000000 0.014400 6.500400 0.368000 12.141300 23.294400 8.694100 0.058200 0.000000 0.162100 - R5LAM.2045 0.338700 0.085450 33.150700 1.032500 2.689350 76.164450 21.022100 2.051500 0.612950 3.384550 6.736450 0.319200 0.012900 0.000000 0.011500 6.818250 0.459650 12.932250 24.408700 9.006750 0.042850 0.000000 0.109950 - R5LAM.2050 0.334000 0.048400 31.133000 0.937600 2.480700 72.774500 20.291500 1.999600 0.556800 3.061400 6.849000 0.224300 0.009900 0.000000 0.008600 7.136100 0.551300 13.723200 25.523000 9.319400 0.027500 0.000000 0.057800 - R5LAM.2055 0.283250 0.065900 30.251350 0.880200 2.223700 74.832350 20.038400 2.122550 0.542450 3.192450 7.064050 0.206850 0.009700 0.000000 0.006700 8.255750 0.556950 16.140100 29.382150 10.637250 0.022350 0.000000 0.050950 - R5LAM.2060 0.232500 0.083400 29.369700 0.822800 1.966700 76.890200 19.785300 2.245500 0.528100 3.323500 7.279100 0.189400 0.009500 0.000000 0.004800 9.375400 0.562600 18.557000 33.241300 11.955100 0.017200 0.000000 0.044100 - R5LAM.2065 0.180450 0.079500 29.034400 0.811400 1.516150 74.041850 18.932500 2.243800 0.492300 3.181100 7.448900 0.189250 0.010150 0.000000 0.003650 10.497050 0.560500 21.119550 37.060600 13.216000 0.018050 0.000000 0.039500 - R5LAM.2070 0.128400 0.075600 28.699100 0.800000 1.065600 71.193500 18.079700 2.242100 0.456500 3.038700 7.618700 0.189100 0.010800 0.000000 0.002500 11.618700 0.558400 23.682100 40.879900 14.476900 0.018900 0.000000 0.034900 - R5LAM.2075 0.092850 0.074850 28.074300 0.778200 0.809500 68.463350 17.242200 2.055700 0.427600 2.870950 7.685550 0.158450 0.009450 0.000000 0.001900 12.198400 0.551700 25.247600 42.787850 15.016150 0.019150 0.000000 0.029500 - R5LAM.2080 0.057300 0.074100 27.449500 0.756400 0.553400 65.733200 16.404700 1.869300 0.398700 2.703200 7.752400 0.127800 0.008100 0.000000 0.001300 12.778100 0.545000 26.813100 44.695800 15.555400 0.019400 0.000000 0.024100 - R5LAM.2085 0.027900 0.098650 26.866150 0.744150 0.544200 67.170200 16.097350 1.833100 0.412050 2.828900 7.977200 0.117700 0.007850 0.000000 0.000650 12.883750 0.526550 27.427000 44.945950 15.497600 0.019050 0.000000 0.018700 - R5LAM.2090 -0.001500 0.123200 26.282800 0.731900 0.535000 68.607200 15.790000 1.796900 0.425400 2.954600 8.202000 0.107600 0.007600 0.000000 0.000000 12.989400 0.508100 28.040900 45.196100 15.439800 0.018700 0.000000 0.013300 - R5LAM.2095 -0.031300 0.109850 25.524000 0.726800 0.505750 66.856000 15.259000 1.712400 0.407450 2.828350 8.526750 0.101500 0.007550 0.000000 0.000000 12.752850 0.485700 27.907900 44.259250 14.977550 0.017900 0.000000 0.008150 - R5LAM.2100 -0.061100 0.096500 24.765200 0.721700 0.476500 65.104800 14.728000 1.627900 0.389500 2.702100 8.851500 0.095400 0.007500 0.000000 0.000000 12.516300 0.463300 27.774900 43.322400 14.515300 0.017100 0.000000 0.003000 -BUNKERS.2000 0.000000 0.000000 0.432500 0.000000 5.539000 1.185400 2.927000 6.281800 0.136100 0.139500 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2005 0.000000 0.000000 0.481700 0.000000 5.733700 1.263200 3.212500 6.727700 0.164400 0.165400 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2010 0.000000 0.000000 0.479000 0.000000 4.294700 1.364500 3.620100 7.007900 0.134600 0.135700 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2015 0.000000 0.000000 0.502100 0.000000 2.924050 1.389500 3.570400 7.176300 0.107100 0.107250 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2020 0.000000 0.000000 0.525200 0.000000 1.553400 1.414500 3.520700 7.344700 0.079600 0.078800 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2025 0.000000 0.000000 0.525200 0.000000 1.322600 1.419550 3.340750 6.999200 0.079500 0.087150 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2030 0.000000 0.000000 0.525200 0.000000 1.091800 1.424600 3.160800 6.653700 0.079400 0.095500 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2035 0.000000 0.000000 0.422150 0.000000 0.914850 1.562050 3.402900 7.094150 0.066000 0.076300 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2040 0.000000 0.000000 0.319100 0.000000 0.737900 1.699500 3.645000 7.534600 0.052600 0.057100 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2045 0.000000 0.000000 0.159550 0.000000 0.536950 1.630450 3.512650 7.614350 0.038850 0.036400 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2050 0.000000 0.000000 0.000000 0.000000 0.336000 1.561400 3.380300 7.694100 0.025100 0.015700 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2055 0.000000 0.000000 0.000000 0.000000 0.328450 1.416650 3.014550 6.259650 0.023300 0.013000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2060 0.000000 0.000000 0.000000 0.000000 0.320900 1.271900 2.648800 4.825200 0.021500 0.010300 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2065 0.000000 0.000000 0.000000 0.000000 0.303250 0.948750 1.936800 3.244700 0.022350 0.012450 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2070 0.000000 0.000000 0.000000 0.000000 0.285600 0.625600 1.224800 1.664200 0.023200 0.014600 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2075 0.000000 0.000000 0.000000 0.000000 0.260600 0.496550 0.944900 1.141400 0.025700 0.021100 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2080 0.000000 0.000000 0.000000 0.000000 0.235600 0.367500 0.665000 0.618600 0.028200 0.027600 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2085 0.000000 0.000000 0.000000 0.000000 0.224150 0.408950 0.730200 0.619800 0.027550 0.027550 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2090 0.000000 0.000000 0.000000 0.000000 0.212700 0.450400 0.795400 0.621000 0.026900 0.027500 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2095 0.000000 0.000000 0.000000 0.000000 0.200700 0.452250 0.785750 0.632550 0.025300 0.027300 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2100 0.000000 0.000000 0.000000 0.000000 0.188700 0.454100 0.776100 0.644100 0.023700 0.027100 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -; -*** EOF ./core/magicc/magicc_scen_450.inc diff --git a/core/magicc/magicc_scen_550.inc b/core/magicc/magicc_scen_550.inc deleted file mode 100644 index 0d164703b..000000000 --- a/core/magicc/magicc_scen_550.inc +++ /dev/null @@ -1,153 +0,0 @@ -*** SOF ./core/magicc/magicc_scen_550.inc -Table magicc_default_data_550(RCP_regions_world_bunkers,tall,emiRCP) - FossilCO2 OtherCO2 CH4 N2O SOx CO NMVOC NOx BC OC NH3 CF4 C2F6 C6F14 HFC23 HFC32 HFC43-10 HFC125 HFC134a HFC143a HFC227ea HFC245fa SF6 -*** GtC GtC MtCH4 MtN2O-N MtS MtCO Mt MtN Mt Mt MtN kt kt kt kt kt kt kt kt kt kt kt kt - WORLD.2000 6.735000 1.148800 300.207000 7.456700 53.841300 1068.000900 210.623000 38.162300 7.804800 35.543400 40.018500 12.000000 2.375000 0.462400 10.394900 4.000000 0.000000 8.538100 75.039400 6.234100 1.951000 17.925700 5.538200 - WORLD.2005 7.971000 1.195500 315.902700 7.684200 56.719500 1061.525500 215.462900 38.794800 8.251200 36.391700 41.883700 11.605900 2.649500 0.435800 10.811700 10.993400 3.235200 13.759100 120.933400 12.448300 4.890000 26.888600 6.340800 - WORLD.2010 8.607400 0.910600 322.544700 7.868200 54.638700 1038.619100 208.378700 37.751700 8.117100 34.402400 42.415100 10.608600 2.309600 0.466600 9.522200 17.942100 6.453900 17.127000 142.731300 14.163100 6.212000 48.596000 5.655400 - WORLD.2015 9.239450 0.625750 329.026350 8.051750 52.555900 1014.386300 201.185050 36.713000 7.981300 32.386350 42.943150 9.525050 1.976050 0.325500 5.337300 39.292050 6.839700 24.204300 166.083450 15.914750 3.406150 70.303500 4.079050 - WORLD.2020 9.871500 0.340900 335.508000 8.235300 50.473100 990.153500 193.991400 35.674300 7.845500 30.370300 43.471200 8.441500 1.642500 0.184400 1.152400 60.642000 7.225500 31.281600 189.435600 17.666400 0.600300 92.011000 2.502700 - WORLD.2025 10.412400 0.278600 337.253000 8.403550 46.668950 989.953650 198.398700 35.218400 7.592850 29.724300 44.428400 8.443550 1.726350 0.148100 0.921900 66.338650 7.675450 31.521950 198.855700 19.062850 0.429400 93.888000 2.706800 - WORLD.2030 10.953300 0.216300 338.998000 8.571800 42.864800 989.753800 202.806000 34.762500 7.340200 29.078300 45.385600 8.445600 1.810200 0.111800 0.691400 72.035300 8.125400 31.762300 208.275800 20.459300 0.258500 95.765000 2.910900 - WORLD.2035 11.145650 0.207450 338.286250 8.630250 38.734450 970.000250 202.230200 33.664400 7.062600 28.484450 45.893350 8.554500 1.878100 0.112300 0.552400 76.373500 8.745050 31.571250 218.852400 21.875600 0.257900 96.340700 3.124000 - WORLD.2040 11.338000 0.198600 337.574500 8.688700 34.604100 950.246700 201.654400 32.566300 6.785000 27.890600 46.401100 8.663400 1.946000 0.112800 0.413400 80.711700 9.364700 31.380200 229.429000 23.291900 0.257300 96.916400 3.337100 - WORLD.2045 11.184650 0.223600 334.455750 8.638500 30.141500 911.509750 196.148750 30.824600 6.482250 27.348800 46.458250 8.899550 1.998600 0.110750 0.329850 77.659600 10.229950 31.045100 241.199950 24.705000 0.173200 96.190700 3.559350 - WORLD.2050 11.031300 0.248600 331.337000 8.588300 25.678900 872.772800 190.643100 29.082900 6.179500 26.807000 46.515400 9.135700 2.051200 0.108700 0.246300 74.607500 11.095200 30.710000 252.970900 26.118100 0.089100 95.465000 3.781600 - WORLD.2055 10.216250 0.216300 324.473350 8.547350 23.195150 825.664800 185.265900 27.317900 5.855450 25.847800 46.251800 9.020000 2.043050 0.108050 0.191900 79.346600 11.104100 28.465850 248.206900 25.828700 0.059900 90.870250 4.037300 - WORLD.2060 9.401200 0.184000 317.609700 8.506400 20.711400 778.556800 179.888700 25.552900 5.531400 24.888600 45.988200 8.904300 2.034900 0.107400 0.137500 84.085700 11.113000 26.221700 243.442900 25.539300 0.030700 86.275500 4.293000 - WORLD.2065 8.259700 0.143850 309.187200 8.432850 18.555050 726.099250 173.170150 23.881450 5.191200 23.820650 45.594800 8.954100 2.010900 0.107000 0.105250 88.982950 11.080050 25.105600 250.747700 26.792400 0.026150 83.576750 4.593900 - WORLD.2070 7.118200 0.103700 300.764700 8.359300 16.398700 673.641700 166.451600 22.210000 4.851000 22.752700 45.201400 9.003900 1.986900 0.106600 0.073000 93.880200 11.047100 23.989500 258.052500 28.045500 0.021600 80.878000 4.894800 - WORLD.2075 5.650200 0.055750 290.784150 8.253050 14.569800 615.830150 158.391500 20.632050 4.494750 21.576150 44.678000 9.234550 1.947400 0.104900 0.055150 95.075750 11.002000 23.762700 279.334400 30.917650 0.019650 80.075250 5.240850 - WORLD.2080 4.182200 0.007800 280.803600 8.146800 12.740900 558.018600 150.331400 19.054100 4.138500 20.399600 44.154600 9.465200 1.907900 0.103200 0.037300 96.271300 10.956900 23.535900 300.616300 33.789800 0.017700 79.272500 5.586900 - WORLD.2085 4.187400 0.017400 277.119000 8.138050 12.369150 537.838600 147.757000 18.804550 4.069400 20.149850 44.008250 10.023400 1.940600 0.100200 0.018650 93.737450 10.854750 23.528200 326.810150 36.858800 0.016700 80.176450 5.798750 - WORLD.2090 4.192600 0.027000 273.434400 8.129300 11.997400 517.658600 145.182600 18.555000 4.000300 19.900100 43.861900 10.581600 1.973300 0.097200 0.000000 91.203600 10.752600 23.520500 353.004000 39.927800 0.015700 81.080400 6.010600 - WORLD.2095 4.197787 0.036625 269.750212 8.120550 11.625650 497.479100 142.608162 18.305438 3.931175 19.650287 43.715275 11.171350 2.004800 0.092950 0.000000 86.215225 10.579038 23.263438 381.039562 43.099112 0.014887 81.984400 6.222475 - WORLD.2100 2.938700 0.046300 276.988800 6.662900 11.253800 477.299600 140.033800 18.055900 3.862100 19.400500 43.568700 0.044500 0.026500 0.005100 1.006600 87.243900 10.825100 24.666300 340.253200 26.644400 0.228000 82.015400 0.173200 - R5OECD.2000 3.191400 0.125900 60.702000 2.212500 14.265500 189.734600 37.761500 11.879900 1.247700 3.308200 9.041700 6.596300 1.399100 0.409200 5.783600 2.807900 0.000000 5.816700 55.289100 4.257000 1.803100 14.690400 3.387900 - R5OECD.2005 3.348200 0.125900 59.088600 2.132100 11.976900 146.014800 32.897500 9.885000 1.090500 3.073500 9.121200 6.315000 1.532000 0.383900 3.454700 6.756500 2.849100 7.906400 84.548800 7.185700 4.343900 22.035600 3.421900 - R5OECD.2010 3.303600 0.100300 58.848200 2.081200 10.202900 128.890900 30.819000 8.457200 0.996300 2.990700 9.337500 5.838400 1.348400 0.411100 2.452600 10.499200 5.684600 9.362300 96.487100 8.052000 5.405900 38.279000 3.056100 - R5OECD.2015 3.259050 0.074750 58.608200 2.029050 8.456650 110.668600 28.685300 7.041700 0.903550 2.906900 9.554250 5.318250 1.167500 0.286800 1.335100 22.748000 5.827800 12.734500 110.954500 8.920150 2.954250 54.522400 2.254900 - R5OECD.2020 3.214500 0.049200 58.368200 1.976900 6.710400 92.446300 26.551600 5.626200 0.810800 2.823100 9.771000 4.798100 0.986600 0.162500 0.217600 34.996800 5.971000 16.106700 125.421900 9.788300 0.502600 70.765800 1.453700 - R5OECD.2025 3.192800 0.071550 58.007750 2.014250 5.984000 83.909500 25.501750 5.085150 0.767350 2.771000 9.885250 4.556200 0.975600 0.130500 0.174050 34.521150 6.072350 15.566800 123.367150 9.543200 0.353500 70.808500 1.511150 - R5OECD.2030 3.171100 0.093900 57.647300 2.051600 5.257600 75.372700 24.451900 4.544100 0.723900 2.718900 9.999500 4.314300 0.964600 0.098500 0.130500 34.045500 6.173700 15.026900 121.312400 9.298100 0.204400 70.851200 1.568600 - R5OECD.2035 3.058400 0.091850 56.757300 2.068900 4.603450 70.931550 23.701850 4.125200 0.696850 2.764700 10.030450 4.168400 0.946100 0.098950 0.104300 32.085300 6.233500 14.407900 120.565200 9.208600 0.197400 70.094750 1.619000 - R5OECD.2040 2.945700 0.089800 55.867300 2.086200 3.949300 66.490400 22.951800 3.706300 0.669800 2.810500 10.061400 4.022500 0.927600 0.099400 0.078100 30.125100 6.293300 13.788900 119.818000 9.119100 0.190400 69.338300 1.669400 - R5OECD.2045 2.742350 0.095050 54.452500 2.082750 3.365450 66.620500 22.516450 3.407450 0.658700 2.955000 10.008650 3.987850 0.901700 0.097550 0.062300 26.272900 6.315150 13.216850 120.656800 9.185850 0.125700 67.782750 1.712850 - R5OECD.2050 2.539000 0.100300 53.037700 2.079300 2.781600 66.750600 22.081100 3.108600 0.647600 3.099500 9.955900 3.953200 0.875800 0.095700 0.046500 22.420700 6.337000 12.644800 121.495600 9.252600 0.061000 66.227200 1.756300 - R5OECD.2055 2.329350 0.086000 51.501800 2.064900 2.602650 63.940350 21.569200 2.941000 0.621600 3.002300 9.832950 3.614050 0.834500 0.095150 0.036250 21.443150 6.333900 11.335950 112.539550 8.499900 0.040050 62.358700 1.803150 - R5OECD.2060 2.119700 0.071700 49.965900 2.050500 2.423700 61.130100 21.057300 2.773400 0.595600 2.905100 9.710000 3.274900 0.793200 0.094600 0.026000 20.465600 6.330800 10.027100 103.583500 7.747200 0.019100 58.490200 1.850000 - R5OECD.2065 1.864450 0.057450 48.559650 2.030600 2.260850 57.980550 20.467400 2.616950 0.563850 2.772550 9.578000 3.075400 0.758200 0.094250 0.019900 19.521900 6.327600 9.125850 99.636350 7.471950 0.015350 56.105850 1.909250 - R5OECD.2070 1.609200 0.043200 47.153400 2.010700 2.098000 54.831000 19.877500 2.460500 0.532100 2.640000 9.446000 2.875900 0.723200 0.093900 0.013800 18.578200 6.324400 8.224600 95.689200 7.196700 0.011600 53.721500 1.968500 - R5OECD.2075 1.308250 0.029000 45.876750 1.985250 1.951200 51.342000 19.209600 2.315250 0.494650 2.472100 9.305000 2.834700 0.694300 0.092400 0.010400 17.090700 6.342400 7.645550 97.535000 7.401050 0.009650 52.821450 2.040150 - R5OECD.2080 1.007300 0.014800 44.600100 1.959800 1.804400 47.853000 18.541700 2.170000 0.457200 2.304200 9.164000 2.793500 0.665400 0.090900 0.007000 15.603200 6.360400 7.066500 99.380800 7.605400 0.007700 51.921400 2.111800 - R5OECD.2085 0.964000 0.015200 43.233000 1.966650 1.790500 48.125700 18.223750 2.155000 0.452550 2.322700 9.200700 2.838600 0.660000 0.088250 0.003500 14.078650 6.378050 6.717800 103.444200 7.949000 0.006500 51.908000 2.138350 - R5OECD.2090 0.920700 0.015600 41.865900 1.973500 1.776600 48.398400 17.905800 2.140000 0.447900 2.341200 9.237400 2.883700 0.654600 0.085600 0.000000 12.554100 6.395700 6.369100 107.507600 8.292600 0.005300 51.894600 2.164900 - R5OECD.2095 0.921825 0.021163 41.301838 1.971375 1.721537 46.511713 17.588300 2.111250 0.440213 2.311762 9.206525 3.044388 0.665037 0.081850 0.000000 11.867475 6.292450 6.299475 116.045850 8.951225 0.005050 52.473163 2.241213 - R5OECD.2100 0.645400 0.026700 42.410100 1.617500 1.666500 44.625100 17.270800 2.082500 0.432500 2.282400 9.175700 0.012100 0.008800 0.004500 0.000000 12.009100 6.438800 6.679300 103.624400 5.533700 0.077200 52.493000 0.062400 - R5REF.2000 0.823600 0.056400 29.725600 0.473300 7.740800 80.860200 17.859100 3.562200 0.566500 4.229500 4.109500 1.834700 0.092500 0.053200 0.191900 0.117000 0.000000 0.195700 3.047100 0.130900 0.097000 0.301200 0.485700 - R5REF.2005 0.892200 0.056400 29.631700 0.461000 7.216600 80.811700 19.057800 3.666800 0.633200 4.672500 4.026800 1.274000 0.072300 0.051900 0.051700 0.363700 0.088400 0.568800 5.687900 0.349700 0.379900 0.451800 0.594100 - R5REF.2010 0.881700 0.061200 31.126800 0.449000 6.583900 80.810400 19.087600 3.367000 0.596800 4.599400 4.043300 1.098300 0.059500 0.055600 0.006200 0.740900 0.176800 0.763200 7.441800 0.414300 0.532800 0.830200 0.503200 - R5REF.2015 0.871300 0.066050 32.570450 0.437200 5.928900 80.805750 19.112600 3.066150 0.558700 4.525200 4.055700 0.878400 0.048000 0.038800 0.004450 1.636850 0.214150 1.134150 8.453950 0.484700 0.294450 1.208550 0.403250 - R5REF.2020 0.860900 0.070900 34.014100 0.425400 5.273900 80.801100 19.137600 2.765300 0.520600 4.451000 4.068100 0.658500 0.036500 0.022000 0.002700 2.532800 0.251500 1.505100 9.466100 0.555100 0.056100 1.586900 0.303300 - R5REF.2025 0.848800 0.077600 32.817550 0.418450 4.840750 80.081150 19.193050 2.621400 0.503700 4.436750 4.020550 0.659500 0.034600 0.017650 0.002150 3.040300 0.293400 1.557000 10.185600 0.642050 0.040950 1.593300 0.324200 - R5REF.2030 0.836700 0.084300 31.621000 0.411500 4.407600 79.361200 19.248500 2.477500 0.486800 4.422500 3.973000 0.660500 0.032700 0.013300 0.001600 3.547800 0.335300 1.608900 10.905100 0.729000 0.025800 1.599700 0.345100 - R5REF.2035 0.808050 0.072100 31.052950 0.401250 3.900900 78.253800 19.289800 2.303100 0.469500 4.390350 3.895800 0.669950 0.030750 0.013350 0.001300 3.984850 0.419200 1.616600 11.444200 0.798550 0.025900 1.595950 0.370850 - R5REF.2040 0.779400 0.059900 30.484900 0.391000 3.394200 77.146400 19.331100 2.128700 0.452200 4.358200 3.818600 0.679400 0.028800 0.013400 0.001000 4.421900 0.503100 1.624300 11.983300 0.868100 0.026000 1.592200 0.396600 - R5REF.2045 0.734500 0.047650 30.509550 0.377650 2.810850 75.643000 19.357850 1.923600 0.434500 4.307850 3.714900 0.701250 0.026800 0.013150 0.000800 4.267600 0.585300 1.605950 12.313700 0.915500 0.017350 1.578200 0.427300 - R5REF.2050 0.689600 0.035400 30.534200 0.364300 2.227500 74.139600 19.384600 1.718500 0.416800 4.257500 3.611200 0.723100 0.024800 0.012900 0.000600 4.113300 0.667500 1.587600 12.644100 0.962900 0.008700 1.564200 0.458000 - R5REF.2055 0.615300 0.035350 25.317500 0.359100 1.930900 72.105700 18.480900 1.576800 0.395250 4.176850 3.569750 0.737550 0.022550 0.012850 0.000450 4.305250 0.725950 1.422400 12.168250 0.936850 0.005700 1.483950 0.486550 - R5REF.2060 0.541000 0.035300 20.100800 0.353900 1.634300 70.071800 17.577200 1.435100 0.373700 4.096200 3.528300 0.752000 0.020300 0.012800 0.000300 4.497200 0.784400 1.257200 11.692400 0.910800 0.002700 1.403700 0.515100 - R5REF.2065 0.464600 0.031650 17.116600 0.347250 1.409850 67.560150 16.781500 1.316850 0.352350 4.001600 3.476300 0.769150 0.018250 0.012750 0.000250 4.642850 0.846600 1.171550 11.739150 0.945550 0.002200 1.354550 0.545900 - R5REF.2070 0.388200 0.028000 14.132400 0.340600 1.185400 65.048500 15.985800 1.198600 0.331000 3.907000 3.424300 0.786300 0.016200 0.012700 0.000200 4.788500 0.908800 1.085900 11.785900 0.980300 0.001700 1.305400 0.576700 - R5REF.2075 0.309700 0.020750 13.380850 0.332450 1.033050 62.058800 15.298000 1.103700 0.309850 3.798400 3.361750 0.807100 0.014350 0.012500 0.000150 4.697300 0.965200 1.065350 12.420200 1.086300 0.001450 1.287300 0.609800 - R5REF.2080 0.231200 0.013500 12.629300 0.324300 0.880700 59.069100 14.610200 1.008800 0.288700 3.689800 3.299200 0.827900 0.012500 0.012300 0.000100 4.606100 1.021600 1.044800 13.054500 1.192300 0.001200 1.269200 0.642900 - R5REF.2085 0.225750 0.013750 13.227600 0.323100 0.850100 58.690450 14.668100 0.995000 0.287900 3.688500 3.290700 0.871700 0.011150 0.011950 0.000050 4.207950 1.061850 1.025550 13.741400 1.298350 0.001050 1.292050 0.660350 - R5REF.2090 0.220300 0.014000 13.825900 0.321900 0.819500 58.311800 14.726000 0.981200 0.287100 3.687200 3.282200 0.915500 0.009800 0.011600 0.000000 3.809800 1.102100 1.006300 14.428300 1.404400 0.000900 1.314900 0.677800 - R5REF.2095 0.220550 0.019000 13.639587 0.321588 0.794125 56.038675 14.464875 0.967950 0.282162 3.640887 3.271262 0.966562 0.009987 0.011100 0.000000 3.601425 1.084288 0.995363 15.574175 1.515900 0.000838 1.329587 0.701675 - R5REF.2100 0.154400 0.024000 14.005600 0.263800 0.768700 53.765500 14.203700 0.954800 0.277200 3.594600 3.260300 0.003900 0.000100 0.000600 0.000000 3.644400 1.109500 1.055400 13.907100 0.937200 0.012500 1.330100 0.019500 - R5ASIA.2000 1.768200 0.355600 124.982100 2.545600 15.648400 397.439000 70.582900 7.993100 3.046800 11.636100 17.240400 2.083400 0.820900 0.000000 4.096800 0.867300 0.000000 1.413200 9.009700 1.037100 0.019700 2.245700 1.226500 - R5ASIA.2005 2.608200 0.445300 134.875600 2.715600 21.061100 416.787900 75.430300 9.709700 3.400200 11.719800 18.331600 2.276700 0.963800 0.000000 6.967900 3.035200 0.192000 3.025000 16.397800 2.824000 0.047800 3.368500 1.811700 - R5ASIA.2010 3.150900 0.334000 136.766000 2.848800 21.543500 416.076100 74.587900 10.224400 3.427900 10.653300 18.516100 1.967400 0.832500 0.000000 6.651400 4.892600 0.382700 4.479400 21.017900 3.320600 0.115300 7.490800 1.594500 - R5ASIA.2015 3.693950 0.222700 138.613150 2.979050 22.031400 415.365000 73.748850 10.738600 3.455700 9.568000 18.701650 1.674250 0.702400 0.000000 3.771750 10.801200 0.528500 7.040500 25.457300 3.837550 0.069600 11.613050 1.003250 - R5ASIA.2020 4.237000 0.111400 140.460300 3.109300 22.519300 414.653900 72.909800 11.252800 3.483500 8.482700 18.887200 1.381100 0.572300 0.000000 0.892100 16.709800 0.674300 9.601600 29.896700 4.354500 0.023900 15.735300 0.412000 - R5ASIA.2025 4.710400 0.052000 141.176150 3.184950 20.092600 420.758450 74.541400 11.107700 3.287150 7.992200 19.558850 1.439300 0.668000 0.000000 0.713700 21.240950 0.900100 10.136550 37.820700 5.598950 0.020700 17.224150 0.476300 - R5ASIA.2030 5.183800 -0.007400 141.892000 3.260600 17.665900 426.863000 76.173000 10.962600 3.090800 7.501700 20.230500 1.497500 0.763700 0.000000 0.535300 25.772100 1.125900 10.671500 45.744700 6.843400 0.017500 18.713000 0.540600 - R5ASIA.2035 5.454350 -0.009800 141.282550 3.270150 15.243150 412.114300 74.027900 10.373050 2.873550 6.978000 20.600350 1.541900 0.852100 0.000000 0.427700 30.163600 1.479150 10.893750 53.134800 7.919350 0.021750 19.734250 0.608900 - R5ASIA.2040 5.724900 -0.012200 140.673100 3.279700 12.820400 397.365600 71.882800 9.783500 2.656300 6.454300 20.970200 1.586300 0.940500 0.000000 0.320100 34.555100 1.832400 11.116000 60.524900 8.995300 0.026000 20.755500 0.677200 - R5ASIA.2045 5.792300 -0.006250 138.781750 3.225600 10.403100 361.880000 65.998200 8.750400 2.417900 5.896850 21.034200 1.617750 1.021700 0.000000 0.255350 34.617000 2.410200 11.145200 67.109350 9.883400 0.019150 21.309200 0.749500 - R5ASIA.2050 5.859700 -0.000300 136.890400 3.171500 7.985800 326.394400 60.113600 7.717300 2.179500 5.339400 21.098200 1.649200 1.102900 0.000000 0.190600 34.678900 2.988000 11.174400 73.693800 10.771500 0.012300 21.862900 0.821800 - R5ASIA.2055 5.407050 -0.003150 135.549350 3.144600 6.838450 292.974800 54.853250 6.865450 1.968850 4.789950 20.940900 1.587400 1.140450 0.000000 0.148500 37.506550 2.930300 10.471250 76.013850 11.024300 0.008950 21.078950 0.896700 - R5ASIA.2060 4.954400 -0.006000 134.208300 3.117700 5.691100 259.555200 49.592900 6.013600 1.758200 4.240500 20.783600 1.525600 1.178000 0.000000 0.106400 40.334200 2.872600 9.768100 78.333900 11.277100 0.005600 20.295000 0.971600 - R5ASIA.2065 4.287500 -0.010650 131.200300 3.078600 4.808900 227.804250 45.285600 5.293650 1.571450 3.775800 20.572800 1.478050 1.193650 0.000000 0.081450 43.010700 2.784850 9.431400 84.319650 12.159450 0.005300 19.836900 1.055500 - R5ASIA.2070 3.620600 -0.015300 128.192300 3.039500 3.926700 196.053300 40.978300 4.573700 1.384700 3.311100 20.362000 1.430500 1.209300 0.000000 0.056500 45.687200 2.697100 9.094700 90.305400 13.041800 0.005000 19.378800 1.139400 - R5ASIA.2075 2.739550 -0.021750 123.518000 2.988150 3.309700 165.971050 37.623950 3.985650 1.221850 2.931200 20.097300 1.395250 1.203550 0.000000 0.042650 46.390900 2.591050 9.057350 100.533300 14.601100 0.005050 19.246600 1.232300 - R5ASIA.2080 1.858500 -0.028200 118.843700 2.936800 2.692700 135.888800 34.269600 3.397600 1.059000 2.551300 19.832600 1.360000 1.197800 0.000000 0.028800 47.094600 2.485000 9.020000 110.761200 16.160400 0.005100 19.114400 1.325200 - R5ASIA.2085 1.901600 -0.023850 116.404100 2.917550 2.680950 127.470700 33.620850 3.273050 1.036550 2.457000 19.678100 1.358450 1.239450 0.000000 0.014400 45.428500 2.361850 9.048150 121.817050 17.683500 0.005200 19.478650 1.363600 - R5ASIA.2090 1.944700 -0.019500 113.964500 2.898300 2.669200 119.052600 32.972100 3.148500 1.014100 2.362700 19.523600 1.356900 1.281100 0.000000 0.000000 43.762400 2.238700 9.076300 132.872900 19.206600 0.005300 19.842900 1.402000 - R5ASIA.2095 1.947138 -0.026437 112.429000 2.895175 2.586512 114.411663 32.387475 3.106125 0.996600 2.333012 19.458350 1.432525 1.301538 0.000000 0.000000 41.368837 2.202575 8.977113 143.425650 20.732100 0.005050 20.064087 1.451437 - R5ASIA.2100 1.363100 -0.033400 115.445900 2.375500 2.503800 109.770700 31.802800 3.063800 0.979100 2.303400 19.393100 0.005700 0.017200 0.000000 0.000000 41.862400 2.253800 9.518500 128.073400 12.816800 0.077100 20.071700 0.040400 - R5MAF.2000 0.580800 0.246000 44.299100 1.180400 6.102400 285.959600 56.889800 5.539700 1.876600 11.148200 5.036300 0.733700 0.046400 0.000000 0.000000 0.079900 0.000000 0.680300 3.936500 0.449800 0.018800 0.352400 0.207500 - R5MAF.2005 0.710200 0.227300 49.627600 1.276900 7.036500 305.672900 60.460500 5.986400 2.036300 11.874800 5.475900 0.962600 0.065800 0.000000 0.000000 0.368500 0.052800 1.383300 7.490900 1.197700 0.061800 0.528600 0.237500 - R5MAF.2010 0.836100 0.154400 52.513500 1.376000 7.269300 314.516900 59.512900 6.156200 2.090600 11.854500 5.568900 0.969800 0.054500 0.000000 0.000000 0.831700 0.104900 1.631200 9.815700 1.445300 0.092000 1.019100 0.250600 - R5MAF.2015 0.957200 0.081450 55.344700 1.478650 7.501600 323.368000 58.564800 6.326700 2.144150 11.833950 5.661000 0.973850 0.044250 0.000000 0.000000 1.937200 0.134650 2.228050 12.267000 1.701250 0.051900 1.509550 0.235200 - R5MAF.2020 1.078300 0.008500 58.175900 1.581300 7.733900 332.219100 57.616700 6.497200 2.197700 11.813400 5.753100 0.977900 0.034000 0.000000 0.000000 3.042700 0.164400 2.824900 14.718300 1.957200 0.011800 2.000000 0.219800 - R5MAF.2025 1.159700 0.007250 59.698150 1.633100 7.801450 335.282900 60.559100 6.589400 2.203500 11.743300 5.905450 1.106900 0.035850 0.000000 0.000000 3.454450 0.204850 2.913800 16.242050 2.122500 0.009500 2.224300 0.265600 - R5MAF.2030 1.241100 0.006000 61.220400 1.684900 7.869000 338.346700 63.501500 6.681600 2.209300 11.673200 6.057800 1.235900 0.037700 0.000000 0.000000 3.866200 0.245300 3.002700 17.765800 2.287800 0.007200 2.448600 0.311400 - R5MAF.2035 1.285350 0.015150 62.474750 1.727250 7.724750 339.389200 64.960400 6.683050 2.199600 11.615000 6.190750 1.364300 0.038550 0.000000 0.000000 4.487700 0.306650 3.072150 19.380750 2.439200 0.008450 2.624950 0.359300 - R5MAF.2040 1.329600 0.024300 63.729100 1.769600 7.580500 340.431700 66.419300 6.684500 2.189900 11.556800 6.323700 1.492700 0.039400 0.000000 0.000000 5.109200 0.368000 3.141600 20.995700 2.590600 0.009700 2.801300 0.407200 - R5MAF.2045 1.339300 0.044900 64.723700 1.801700 7.225300 339.449850 66.393700 6.594450 2.165050 11.510300 6.437500 1.618300 0.039450 0.000000 0.000000 5.683800 0.459650 3.215600 22.691100 2.726750 0.007100 2.929650 0.457150 - R5MAF.2050 1.349000 0.065500 65.718300 1.833800 6.870100 338.468000 66.368100 6.504400 2.140200 11.463800 6.551300 1.743900 0.039500 0.000000 0.000000 6.258400 0.551300 3.289600 24.386500 2.862900 0.004500 3.058000 0.507100 - R5MAF.2055 1.280450 0.055100 65.653800 1.837800 6.579550 333.211100 66.351450 6.419900 2.101200 11.314850 6.611500 1.911350 0.038200 0.000000 0.000000 7.835800 0.556950 3.256000 25.871300 2.997150 0.003350 3.135150 0.578000 - R5MAF.2060 1.211900 0.044700 65.589300 1.841800 6.289000 327.954200 66.334800 6.335400 2.062200 11.165900 6.671700 2.078800 0.036900 0.000000 0.000000 9.413200 0.562600 3.222400 27.356100 3.131400 0.002200 3.212300 0.648900 - R5MAF.2065 1.097800 0.034000 64.755700 1.835800 5.889350 316.687350 66.554650 6.154700 1.990550 10.873200 6.689600 2.263200 0.035100 0.000000 0.000000 11.310400 0.560500 3.347450 30.204500 3.441700 0.002200 3.342850 0.733350 - R5MAF.2070 0.983700 0.023300 63.922100 1.829800 5.489700 305.420500 66.774500 5.974000 1.918900 10.580500 6.707500 2.447600 0.033300 0.000000 0.000000 13.207600 0.558400 3.472500 33.052900 3.752000 0.002200 3.473400 0.817800 - R5MAF.2075 0.824000 0.012400 62.319050 1.813900 4.981100 288.139550 67.230900 5.697100 1.814650 10.144150 6.683150 2.649550 0.031150 0.000000 0.000000 14.698400 0.551700 3.726600 37.492100 4.249000 0.002300 3.657350 0.915850 - R5MAF.2080 0.664300 0.001500 60.716000 1.798000 4.472500 270.858600 67.687300 5.420200 1.710400 9.707800 6.658800 2.851500 0.029000 0.000000 0.000000 16.189200 0.545000 3.980700 41.931300 4.746000 0.002400 3.841300 1.013900 - R5MAF.2085 0.664900 0.003850 61.105100 1.804550 4.234750 260.411000 65.518250 5.288300 1.662750 9.537700 6.638750 3.180350 0.027600 0.000000 0.000000 17.138550 0.526550 4.208150 47.057550 5.295300 0.002550 4.197850 1.102050 - R5MAF.2090 0.665500 0.006200 61.494200 1.811100 3.997000 249.963400 63.349200 5.156400 1.615100 9.367600 6.618700 3.509200 0.026200 0.000000 0.000000 18.087900 0.508100 4.435600 52.183800 5.844600 0.002700 4.554400 1.190200 - R5MAF.2095 0.666312 0.008450 60.665638 1.809163 3.873125 240.219275 62.225888 5.087025 1.587163 9.249975 6.596575 3.704762 0.026638 0.000000 0.000000 17.098588 0.499850 4.387100 56.328238 6.308850 0.002575 4.605213 1.232138 - R5MAF.2100 0.466500 0.010600 62.293500 1.484400 3.749300 230.475200 61.102600 5.017700 1.559300 9.132400 6.574400 0.014800 0.000400 0.000000 0.000000 17.302600 0.511500 4.651700 50.298900 3.900200 0.039100 4.606900 0.034300 - R5LAM.2000 0.371000 0.364900 40.065600 1.044800 4.545100 112.822000 24.602700 2.905600 0.931100 5.082000 4.590700 0.752000 0.016000 0.000000 0.322600 0.127900 0.000000 0.432200 3.756900 0.359200 0.012300 0.336000 0.230600 - R5LAM.2005 0.412200 0.340600 42.197500 1.098500 3.694700 110.975000 24.404200 2.819200 0.926600 4.885700 4.928200 0.777600 0.015500 0.000000 0.337300 0.469600 0.052800 0.875600 6.808000 0.891200 0.056700 0.504000 0.275500 - R5LAM.2010 0.435100 0.260700 42.765500 1.113200 3.537600 97.042800 21.035500 2.690100 0.836400 4.134200 4.949400 0.734700 0.014700 0.000000 0.412100 0.977700 0.104900 0.890900 7.968700 0.930900 0.066100 0.976900 0.251000 - R5LAM.2015 0.457950 0.180750 43.321400 1.127850 3.365650 82.878400 17.614800 2.555100 0.745450 3.377250 4.970600 0.680350 0.013900 0.000000 0.226050 2.168750 0.134650 1.067100 8.950650 0.971100 0.036000 1.449900 0.182500 - R5LAM.2020 0.480800 0.100800 43.877300 1.142500 3.193700 68.714000 14.194100 2.420100 0.654500 2.620300 4.991800 0.626000 0.013100 0.000000 0.040000 3.359800 0.164400 1.243300 9.932600 1.011300 0.005900 1.922900 0.114000 - R5LAM.2025 0.500700 0.070150 44.883450 1.152850 3.115050 68.558000 14.823100 2.417050 0.646050 2.594500 5.058300 0.681700 0.012250 0.000000 0.032000 4.081800 0.204850 1.347800 11.240150 1.156150 0.004750 2.037700 0.129600 - R5LAM.2030 0.520600 0.039500 45.889600 1.163200 3.036400 68.402000 15.452100 2.414000 0.637600 2.568700 5.124800 0.737400 0.011400 0.000000 0.024000 4.803800 0.245300 1.452300 12.547700 1.301000 0.003600 2.152500 0.145200 - R5LAM.2035 0.539500 0.038200 45.937050 1.162700 2.903300 67.895300 16.147900 2.387850 0.626400 2.538150 5.176000 0.809900 0.010600 0.000000 0.019200 5.652100 0.306650 1.580850 14.327400 1.509900 0.004400 2.290800 0.165950 - R5LAM.2040 0.558400 0.036900 45.984500 1.162200 2.770200 67.388600 16.843700 2.361700 0.615200 2.507600 5.227200 0.882400 0.009800 0.000000 0.014400 6.500400 0.368000 1.709400 16.107100 1.718800 0.005200 2.429100 0.186700 - R5LAM.2045 0.576200 0.042300 45.102900 1.150800 2.577850 66.520700 17.607850 2.310950 0.601100 2.472200 5.263000 0.974350 0.009000 0.000000 0.011500 6.818250 0.459650 1.861450 18.428950 1.993550 0.003900 2.590850 0.212500 - R5LAM.2050 0.594000 0.047700 44.221300 1.139400 2.385500 65.652800 18.372000 2.260200 0.587000 2.436800 5.298800 1.066300 0.008200 0.000000 0.008600 7.136100 0.551300 2.013500 20.750800 2.268300 0.002600 2.752600 0.238300 - R5LAM.2055 0.584100 0.043050 45.497550 1.140950 2.169700 62.158350 19.793050 2.113250 0.557950 2.352200 5.296700 1.169600 0.007350 0.000000 0.006700 8.255750 0.556950 1.980150 21.613950 2.370550 0.001900 2.813500 0.272900 - R5LAM.2060 0.574200 0.038400 46.773800 1.142500 1.953900 58.663900 21.214100 1.966300 0.528900 2.267600 5.294600 1.272900 0.006500 0.000000 0.004800 9.375400 0.562600 1.946800 22.477100 2.472800 0.001200 2.874400 0.307500 - R5LAM.2065 0.545350 0.031500 46.587000 1.140550 1.758750 54.970900 20.092350 1.809000 0.500050 2.184750 5.278100 1.368200 0.005700 0.000000 0.003650 10.497050 0.560500 2.029250 24.848100 2.773750 0.001200 2.936600 0.350000 - R5LAM.2070 0.516500 0.024600 46.400200 1.138600 1.563600 51.277900 18.970600 1.651700 0.471200 2.101900 5.261600 1.463500 0.004900 0.000000 0.002500 11.618700 0.558400 2.111700 27.219100 3.074700 0.001200 2.998800 0.392500 - R5LAM.2075 0.468650 0.015400 44.750500 1.133250 1.389100 47.386500 15.306200 1.484050 0.442500 2.020750 5.230750 1.547850 0.004100 0.000000 0.001900 12.198400 0.551700 2.267850 31.353800 3.580250 0.001300 3.062450 0.442850 - R5LAM.2080 0.420800 0.006200 43.100800 1.127900 1.214600 43.495100 11.641800 1.316400 0.413800 1.939600 5.199900 1.632200 0.003300 0.000000 0.001300 12.778100 0.545000 2.424000 35.488500 4.085800 0.001400 3.126100 0.493200 - R5LAM.2085 0.431050 0.008500 42.225150 1.126250 1.198150 42.290200 12.082050 1.272200 0.413850 1.931250 5.199950 1.774250 0.002450 0.000000 0.000650 12.883750 0.526550 2.528550 40.749950 4.632750 0.001450 3.299850 0.534450 - R5LAM.2090 0.441300 0.010800 41.349500 1.124600 1.181700 41.085300 12.522300 1.228000 0.413900 1.922900 5.200000 1.916300 0.001600 0.000000 0.000000 12.989400 0.508100 2.633100 46.011400 5.179700 0.001500 3.473600 0.575700 - R5LAM.2095 0.441862 0.014612 40.792313 1.123350 1.145075 39.483675 12.300237 1.211437 0.406775 1.898775 5.182625 2.023112 0.001662 0.000000 0.000000 12.278963 0.499850 2.604350 49.665588 5.591075 0.001437 3.512350 0.595950 - R5LAM.2100 0.309300 0.018400 41.887000 0.921700 1.108500 37.882100 12.078200 1.194900 0.399600 1.874600 5.165200 0.008100 0.000000 0.000000 0.000000 12.425400 0.511500 2.761400 44.349400 3.456500 0.022100 3.513700 0.016600 -BUNKERS.2000 0.000000 0.000000 0.432500 0.000000 5.539000 1.185400 2.927000 6.281800 0.136100 0.139500 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2005 0.000000 0.000000 0.481700 0.000000 5.733700 1.263200 3.212500 6.727700 0.164400 0.165400 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2010 0.000000 0.000000 0.524800 0.000000 5.501500 1.281900 3.335900 6.856700 0.169200 0.170300 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2015 0.000000 0.000000 0.568500 0.000000 5.271700 1.300500 3.458750 6.984650 0.173750 0.175050 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2020 0.000000 0.000000 0.612200 0.000000 5.041900 1.319100 3.581600 7.112600 0.178300 0.179800 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2025 0.000000 0.000000 0.670000 0.000000 4.835100 1.363650 3.780250 7.397700 0.185000 0.186550 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2030 0.000000 0.000000 0.727800 0.000000 4.628300 1.408200 3.978900 7.682800 0.191700 0.193300 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2035 0.000000 0.000000 0.781650 0.000000 4.358850 1.416100 4.102350 7.792200 0.196700 0.198300 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2040 0.000000 0.000000 0.835500 0.000000 4.089400 1.424000 4.225800 7.901600 0.201700 0.203300 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2045 0.000000 0.000000 0.885300 0.000000 3.758850 1.395700 4.274800 7.837800 0.205050 0.206650 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2050 0.000000 0.000000 0.935100 0.000000 3.428300 1.367400 4.323800 7.774000 0.208400 0.210000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2055 0.000000 0.000000 0.953350 0.000000 3.073900 1.274500 4.218150 7.401550 0.210600 0.211600 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2060 0.000000 0.000000 0.971600 0.000000 2.719500 1.181600 4.112500 7.029100 0.212800 0.213200 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2065 0.000000 0.000000 0.968050 0.000000 2.427450 1.096000 3.988700 6.690250 0.213000 0.212700 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2070 0.000000 0.000000 0.964500 0.000000 2.135400 1.010400 3.864900 6.351400 0.213200 0.212200 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2075 0.000000 0.000000 0.939050 0.000000 1.905750 0.932200 3.722850 6.046250 0.211300 0.209600 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2080 0.000000 0.000000 0.913600 0.000000 1.676100 0.854000 3.580800 5.741100 0.209400 0.207000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2085 0.000000 0.000000 0.924000 0.000000 1.614750 0.850550 3.644000 5.821050 0.215750 0.212800 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2090 0.000000 0.000000 0.934400 0.000000 1.553400 0.847100 3.707200 5.901000 0.222100 0.218600 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2095 0.000000 0.000000 0.921837 0.000000 1.505275 0.814037 3.641450 5.821625 0.218225 0.215850 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2100 0.000000 0.000000 0.946600 0.000000 1.457100 0.781000 3.575700 5.742200 0.214400 0.213100 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -; -*** EOF ./core/magicc/magicc_scen_550.inc diff --git a/core/magicc/magicc_scen_bau.inc b/core/magicc/magicc_scen_bau.inc deleted file mode 100644 index 95962d532..000000000 --- a/core/magicc/magicc_scen_bau.inc +++ /dev/null @@ -1,153 +0,0 @@ -*** SOF ./core/magicc/magicc_scen_bau.inc -Table magicc_default_data_bau(RCP_regions_world_bunkers,tall,emiRCP) - FossilCO2 OtherCO2 CH4 N2O SOx CO NMVOC NOx BC OC NH3 CF4 C2F6 C6F14 HFC23 HFC32 HFC43-10 HFC125 HFC134a HFC143a HFC227ea HFC245fa SF6 -*** GtC GtC MtCH4 MtN2O-N MtS MtCO Mt MtN Mt Mt MtN kt kt kt kt kt kt kt kt kt kt kt kt - WORLD.2000 6.735000 1.148800 300.206900 7.456600 53.841200 1068.000800 210.623000 38.162300 7.804800 35.543500 40.018600 12.000100 2.374900 0.462400 10.394900 4.000000 0.000000 8.538100 75.039300 6.234000 1.950900 17.925700 5.538200 - WORLD.2005 7.971000 1.195500 315.902700 7.684100 56.719500 1061.525500 215.462800 38.794800 8.251200 36.391700 41.883700 11.605900 2.649400 0.435800 10.811600 10.993500 3.235100 13.759100 120.933400 12.448300 4.890100 26.888500 6.340700 - WORLD.2010 8.511500 0.877400 324.684900 8.185400 56.287900 1040.719400 215.026600 37.952500 8.135200 36.171500 43.722200 22.209700 2.602700 0.466600 9.522100 17.942100 6.453800 8.120900 146.301200 4.513800 8.820400 63.230600 7.770300 - WORLD.2015 8.730950 0.641850 318.167250 8.057500 53.037550 1033.059350 214.355300 36.761150 7.936500 36.123100 43.269000 22.541600 2.631350 0.325500 5.337250 39.292000 6.839550 8.505100 150.095900 5.033650 5.168000 64.468100 8.597850 - WORLD.2020 8.950400 0.406300 311.649600 7.929600 49.787200 1025.399300 213.684000 35.569800 7.737800 36.074700 42.815800 22.873500 2.660000 0.184400 1.152400 60.641900 7.225300 8.889300 153.890600 5.553500 1.515600 65.705600 9.425400 - WORLD.2025 9.472800 -0.075500 318.979800 8.373750 45.557750 1027.062950 215.028900 34.496900 7.622300 35.984850 44.600450 23.198950 2.684700 0.148100 0.921900 66.338650 7.675250 9.153700 156.505000 5.806300 1.108400 66.517200 9.513950 - WORLD.2030 9.995200 -0.557300 326.310000 8.817900 41.328300 1028.726600 216.373800 33.424000 7.506800 35.895000 46.385100 23.524400 2.709400 0.111800 0.691400 72.035400 8.125200 9.418100 159.119400 6.059100 0.701200 67.328800 9.602500 - WORLD.2035 10.774800 -0.635700 335.218350 9.273100 41.968000 1039.948250 219.524900 33.160300 7.456250 36.173550 48.209950 23.678850 2.669800 0.112350 0.552400 76.373550 8.744850 9.712050 161.374050 6.349050 0.704050 67.919600 9.644900 - WORLD.2040 11.554400 -0.714100 344.126700 9.728300 42.607700 1051.169900 222.676000 32.896600 7.405700 36.452100 50.034800 23.833300 2.630200 0.112900 0.413400 80.711700 9.364500 10.006000 163.628700 6.639000 0.706900 68.510400 9.687300 - WORLD.2045 12.299100 -0.588950 349.594000 10.132700 39.895650 1042.785950 221.526850 31.699150 7.245900 36.545650 51.588750 23.773050 2.590750 0.110800 0.329850 77.659550 10.229650 10.195450 165.366850 6.879200 0.457000 68.727950 9.733400 - WORLD.2050 13.043800 -0.463800 355.061300 10.537100 37.183600 1034.402000 220.377700 30.501700 7.086100 36.639200 53.142700 23.712800 2.551300 0.108700 0.246300 74.607400 11.094800 10.384900 167.105000 7.119400 0.207100 68.945500 9.779500 - WORLD.2055 13.934100 -0.361100 359.504700 10.949100 36.051450 1015.258050 217.239300 29.406300 6.776300 36.183850 54.962350 23.719050 2.515800 0.108000 0.191900 79.346500 11.103700 10.661500 169.536800 7.438500 0.146050 69.484950 9.853750 - WORLD.2060 14.824400 -0.258400 363.948100 11.361100 34.919300 996.114100 214.100900 28.310900 6.466500 35.728500 56.782000 23.725300 2.480300 0.107300 0.137500 84.085600 11.112600 10.938100 171.968600 7.757600 0.085000 70.024400 9.928000 - WORLD.2065 15.665200 -0.143850 361.950100 11.696150 28.610150 966.387950 209.179050 26.007150 6.080650 35.032350 58.339950 23.592400 2.500050 0.106950 0.105250 88.982900 11.079700 11.178900 173.945350 8.049550 0.075700 70.347650 10.005400 - WORLD.2070 16.506000 -0.029300 359.952100 12.031200 22.301000 936.661800 204.257200 23.703400 5.694800 34.336200 59.897900 23.459500 2.519800 0.106600 0.073000 93.880200 11.046800 11.419700 175.922100 8.341500 0.066400 70.670900 10.082800 - WORLD.2075 16.893300 0.107400 349.941300 12.196850 18.652600 904.846000 198.024950 21.811450 5.398600 33.838050 60.365700 23.197050 2.429400 0.104900 0.055150 95.075700 11.001750 11.579200 176.497150 8.554650 0.058650 70.347650 10.039450 - WORLD.2080 17.280600 0.244100 339.930500 12.362500 15.004200 873.030200 191.792700 19.919500 5.102400 33.339900 60.833500 22.934600 2.339000 0.103200 0.037300 96.271200 10.956700 11.738700 177.072200 8.767800 0.050900 70.024400 9.996100 - WORLD.2085 15.796850 0.243300 304.971850 12.361100 13.795800 852.907150 186.842250 18.946650 4.883900 33.006600 61.651450 22.437500 2.304350 0.100200 0.018650 93.737400 10.854600 11.759000 175.819000 8.883500 0.044350 68.891150 9.935500 - WORLD.2090 14.313100 0.242500 270.013200 12.359700 12.587400 832.784100 181.891800 17.973800 4.665400 32.673300 62.469400 21.940400 2.269700 0.097200 0.000000 91.203600 10.752500 11.779300 174.565800 8.999200 0.037800 67.757900 9.874900 - WORLD.2095 14.033200 0.211950 257.994300 12.314850 11.513050 812.504900 177.019750 17.029850 4.513450 32.419250 62.055600 21.369700 2.185700 0.092950 0.000000 86.215250 10.579000 11.739300 172.532800 9.049250 0.032550 66.409750 9.686000 - WORLD.2100 13.753300 0.181400 245.975400 12.270000 10.438700 792.225700 172.147700 16.085900 4.361500 32.165200 61.641800 20.799000 2.101700 0.088700 0.000000 81.226900 10.405500 11.699300 170.499800 9.099300 0.027300 65.061600 9.497100 - R5OECD.2000 3.191400 0.125900 60.702000 2.212500 14.265500 189.734600 37.761500 11.879900 1.247700 3.308200 9.041700 6.596300 1.399100 0.409200 5.783600 2.807900 0.000000 5.816700 55.289100 4.257000 1.803100 14.690400 3.387900 - R5OECD.2005 3.348200 0.125900 59.088600 2.132100 11.976900 146.014800 32.897500 9.885000 1.090500 3.073500 9.121200 6.315000 1.532000 0.383900 3.454700 6.756500 2.849100 7.906400 84.548800 7.185700 4.343900 22.035600 3.421900 - R5OECD.2010 3.434900 0.160300 59.408800 2.217300 11.649700 141.291100 31.977300 9.461500 1.034100 3.030100 9.419100 12.216000 1.520600 0.411000 2.452600 10.499200 5.684600 4.405700 98.971700 2.556900 7.552600 49.807100 4.192700 - R5OECD.2015 3.415700 0.139750 59.453050 2.160450 10.494800 136.059950 31.103650 8.771550 0.961700 2.982550 9.145500 12.596600 1.561300 0.286750 1.335100 22.748000 5.827800 4.440300 100.542000 2.803050 4.417600 50.170950 4.836300 - R5OECD.2020 3.396500 0.119200 59.497300 2.103600 9.339900 130.828800 30.230000 8.081600 0.889300 2.935000 8.871900 12.977200 1.602000 0.162500 0.217600 34.996800 5.971000 4.474900 102.112300 3.049200 1.282600 50.534800 5.479900 - R5OECD.2025 3.370700 0.018350 60.402000 2.211800 8.384650 124.673550 29.304300 7.437200 0.817150 2.822950 9.358500 12.474400 1.524150 0.130500 0.174100 34.521150 6.072350 4.385250 97.571650 2.881150 0.918300 50.174100 5.330150 - R5OECD.2030 3.344900 -0.082500 61.306700 2.320000 7.429400 118.518300 28.378600 6.792800 0.745000 2.710900 9.845100 11.971600 1.446300 0.098500 0.130600 34.045500 6.173700 4.295600 93.031000 2.713100 0.554000 49.813400 5.180400 - R5OECD.2035 3.346700 -0.087850 62.833450 2.429300 6.661350 113.601450 27.493350 6.175500 0.689200 2.664250 10.299300 11.488500 1.350500 0.098950 0.104350 32.085300 6.233500 4.243200 89.452900 2.633000 0.531900 49.414750 5.016400 - R5OECD.2040 3.348500 -0.093200 64.360200 2.538600 5.893300 108.684600 26.608100 5.558200 0.633400 2.617600 10.753500 11.005400 1.254700 0.099400 0.078100 30.125100 6.293300 4.190800 85.874800 2.552900 0.509800 49.016100 4.852400 - R5OECD.2045 3.318600 -0.056000 64.776150 2.612900 5.259300 103.923450 25.638200 5.032050 0.587950 2.585950 11.053050 10.600700 1.172250 0.097550 0.062300 26.272900 6.315150 4.117750 83.284750 2.514350 0.323250 48.423300 4.700400 - R5OECD.2050 3.288700 -0.018800 65.192100 2.687200 4.625300 99.162300 24.668300 4.505900 0.542500 2.554300 11.352600 10.196000 1.089800 0.095700 0.046500 22.420700 6.337000 4.044700 80.694700 2.475800 0.136700 47.830500 4.548400 - R5OECD.2055 3.264600 -0.000050 64.238150 2.726550 3.987900 92.759250 23.464650 4.003850 0.502050 2.534650 11.676000 9.438400 1.028450 0.095150 0.036250 21.443150 6.333900 3.992200 77.140450 2.393750 0.093900 47.652050 4.416900 - R5OECD.2060 3.240500 0.018700 63.284200 2.765900 3.350500 86.356200 22.261000 3.501800 0.461600 2.515000 11.999400 8.680800 0.967100 0.094600 0.026000 20.465600 6.330800 3.939700 73.586200 2.311700 0.051100 47.473600 4.285400 - R5OECD.2065 3.207800 -0.002500 60.664000 2.780550 2.588750 80.720300 21.162000 3.031300 0.427600 2.481800 12.280600 8.072850 0.942250 0.094250 0.019900 19.521900 6.327600 3.814550 69.582300 2.209750 0.043550 47.208050 4.174000 - R5OECD.2070 3.175100 -0.023700 58.043800 2.795200 1.827000 75.084400 20.063000 2.560800 0.393600 2.448600 12.561800 7.464900 0.917400 0.093900 0.013800 18.578200 6.324400 3.689400 65.578400 2.107800 0.036000 46.942500 4.062600 - R5OECD.2075 3.119250 -0.056750 55.152300 2.780850 1.487950 70.530700 19.072850 2.223400 0.368750 2.429800 12.658750 7.108700 0.866550 0.092400 0.010400 17.090700 6.342400 3.518200 62.179000 2.029450 0.030500 46.403750 3.924650 - R5OECD.2080 3.063400 -0.089800 52.260800 2.766500 1.148900 65.977000 18.082700 1.886000 0.343900 2.411000 12.755700 6.752500 0.815700 0.090900 0.007000 15.603200 6.360400 3.347000 58.779600 1.951100 0.025000 45.865000 3.786700 - R5OECD.2085 2.809800 -0.132000 45.502350 2.722000 0.988450 63.014900 17.344500 1.720050 0.327900 2.402950 13.086100 6.362700 0.784250 0.088250 0.003500 14.078650 6.378050 3.216750 56.033500 1.904350 0.021100 44.616800 3.676350 - R5OECD.2090 2.556200 -0.174200 38.743900 2.677500 0.828000 60.052800 16.606300 1.554100 0.311900 2.394900 13.416500 5.972900 0.752800 0.085600 0.000000 12.554100 6.395700 3.086500 53.287400 1.857600 0.017200 43.368600 3.566000 - R5OECD.2095 2.345950 -0.185650 36.241950 2.629750 0.667050 57.647100 15.908900 1.414100 0.301050 2.388100 13.267450 5.615600 0.708600 0.081850 0.000000 11.195650 6.385850 2.964550 50.808050 1.811950 0.014400 42.041000 3.424750 - R5OECD.2100 2.135700 -0.197100 33.740000 2.582000 0.506100 55.241400 15.211500 1.274100 0.290200 2.381300 13.118400 5.258300 0.664400 0.078100 0.000000 9.837200 6.376000 2.842600 48.328700 1.766300 0.011600 40.713400 3.283500 - R5REF.2000 0.823600 0.056400 29.725600 0.473300 7.740800 80.860200 17.859100 3.562200 0.566500 4.229500 4.109500 1.834700 0.092500 0.053200 0.191900 0.117000 0.000000 0.195700 3.047100 0.130900 0.097000 0.301200 0.485700 - R5REF.2005 0.892200 0.056400 29.631700 0.461000 7.216600 80.811700 19.057800 3.666800 0.633200 4.672500 4.026800 1.274000 0.072300 0.051900 0.051700 0.363700 0.088400 0.568800 5.687900 0.349700 0.379900 0.451800 0.594100 - R5REF.2010 0.956900 0.033600 29.827400 0.477800 6.358100 79.006000 18.276600 3.393500 0.621900 4.684100 4.041200 2.270000 0.067100 0.055600 0.006200 0.740900 0.176800 0.364500 7.641100 0.134600 0.891300 1.080100 0.685800 - R5REF.2015 0.925050 0.015000 28.418750 0.478350 5.492950 76.734650 17.796200 3.224250 0.587850 4.587200 3.949250 1.999350 0.063650 0.038800 0.004450 1.636850 0.214150 0.400050 7.686400 0.158350 0.527650 1.106600 0.910850 - R5REF.2020 0.893200 -0.003600 27.010100 0.478900 4.627800 74.463300 17.315800 3.055000 0.553800 4.490300 3.857300 1.728700 0.060200 0.022000 0.002700 2.532800 0.251500 0.435600 7.731700 0.182100 0.164000 1.133100 1.135900 - R5REF.2025 0.880100 -0.021700 25.870000 0.496450 4.182950 72.921950 16.919300 2.863250 0.523300 4.404250 3.901250 1.744950 0.055250 0.017650 0.002150 3.040300 0.293400 0.462300 8.066700 0.204650 0.134300 1.128800 1.134100 - R5REF.2030 0.867000 -0.039800 24.729900 0.514000 3.738100 71.380600 16.522800 2.671500 0.492800 4.318200 3.945200 1.761200 0.050300 0.013300 0.001600 3.547800 0.335300 0.489000 8.401700 0.227200 0.104600 1.124500 1.132300 - R5REF.2035 0.855450 -0.040400 24.185200 0.533350 2.973150 70.043800 16.129550 2.362750 0.465650 4.253300 4.036050 1.770000 0.045300 0.013350 0.001250 3.984850 0.419250 0.510950 8.518300 0.243900 0.121500 1.124900 1.138900 - R5REF.2040 0.843900 -0.041000 23.640500 0.552700 2.208200 68.707000 15.736300 2.054000 0.438500 4.188400 4.126900 1.778800 0.040300 0.013400 0.000900 4.421900 0.503200 0.532900 8.634900 0.260600 0.138400 1.125300 1.145500 - R5REF.2045 0.835100 -0.035700 22.720600 0.570800 1.870700 67.721250 15.387300 1.851600 0.417100 4.151750 4.209250 1.781900 0.036250 0.013150 0.000750 4.267600 0.585400 0.543050 8.539700 0.268000 0.092650 1.127400 1.162000 - R5REF.2050 0.826300 -0.030400 21.800700 0.588900 1.533200 66.735500 15.038300 1.649200 0.395700 4.115100 4.291600 1.785000 0.032200 0.012900 0.000600 4.113300 0.667600 0.553200 8.444500 0.275400 0.046900 1.129500 1.178500 - R5REF.2055 0.848950 -0.026600 21.694700 0.593500 1.383200 66.084600 14.784350 1.547950 0.378150 4.092150 4.369450 1.850200 0.029100 0.012850 0.000450 4.305250 0.726050 0.546450 8.396950 0.281800 0.034000 1.134300 1.182150 - R5REF.2060 0.871600 -0.022800 21.588700 0.598100 1.233200 65.433700 14.530400 1.446700 0.360600 4.069200 4.447300 1.915400 0.026000 0.012800 0.000300 4.497200 0.784500 0.539700 8.349400 0.288200 0.021100 1.139100 1.185800 - R5REF.2065 0.967600 -0.018050 20.158700 0.593750 1.022250 64.987250 14.260450 1.306250 0.346400 4.059700 4.443450 1.945000 0.023850 0.012750 0.000250 4.642850 0.846700 0.534650 8.231100 0.294550 0.019350 1.139800 1.184300 - R5REF.2070 1.063600 -0.013300 18.728700 0.589400 0.811300 64.540800 13.990500 1.165800 0.332200 4.050200 4.439600 1.974600 0.021700 0.012700 0.000200 4.788500 0.908900 0.529600 8.112800 0.300900 0.017600 1.140500 1.182800 - R5REF.2075 1.090300 -0.007950 18.651700 0.574800 0.681500 64.173300 13.758150 1.062700 0.322700 4.054700 4.305450 1.964350 0.018900 0.012500 0.000150 4.697300 0.965250 0.530000 7.929550 0.308550 0.015750 1.130750 1.164150 - R5REF.2080 1.117000 -0.002600 18.574700 0.560200 0.551700 63.805800 13.525800 0.959600 0.313200 4.059200 4.171300 1.954100 0.016100 0.012300 0.000100 4.606100 1.021600 0.530400 7.746300 0.316200 0.013900 1.121000 1.145500 - R5REF.2085 1.040250 -0.002200 17.192750 0.559500 0.529900 63.813800 13.361200 0.939850 0.308150 4.073850 4.180900 1.913200 0.014000 0.011950 0.000050 4.207950 1.061850 0.519750 7.455200 0.318100 0.011900 1.109800 1.127500 - R5REF.2090 0.963500 -0.001800 15.810800 0.558800 0.508100 63.821800 13.196600 0.920100 0.303100 4.088500 4.190500 1.872300 0.011900 0.011600 0.000000 3.809800 1.102100 0.509100 7.164100 0.320000 0.009900 1.098600 1.109500 - R5REF.2095 0.984250 -0.003350 14.375000 0.556000 0.499600 63.500850 13.043300 0.897550 0.299250 4.094850 4.136500 1.826800 0.009500 0.011100 0.000000 3.382400 1.120250 0.497900 6.888250 0.320350 0.008250 1.083200 1.078950 - R5REF.2100 1.005000 -0.004900 12.939200 0.553200 0.491100 63.179900 12.890000 0.875000 0.295400 4.101200 4.082500 1.781300 0.007100 0.010600 0.000000 2.955000 1.138400 0.486700 6.612400 0.320700 0.006600 1.067800 1.048400 - R5ASIA.2000 1.768200 0.355600 124.982100 2.545600 15.648400 397.439000 70.582900 7.993100 3.046800 11.636100 17.240400 2.083400 0.820900 0.000000 4.096800 0.867300 0.000000 1.413200 9.009700 1.037100 0.019700 2.245700 1.226500 - R5ASIA.2005 2.608200 0.445300 134.875600 2.715600 21.061100 416.787900 75.430300 9.709700 3.400200 11.719800 18.331600 2.276700 0.963800 0.000000 6.967900 3.035200 0.192000 3.025000 16.397800 2.824000 0.047800 3.368500 1.811700 - R5ASIA.2010 2.923400 0.418600 136.403500 2.915200 23.048000 415.895600 74.433800 10.400500 3.467300 11.879000 19.353700 4.179400 0.938600 0.000000 6.651300 4.892600 0.382600 2.144200 21.504500 1.063700 0.115300 9.746500 2.210800 - R5ASIA.2015 3.140500 0.412450 133.337450 2.986450 22.852750 421.611200 75.079050 10.676250 3.439050 12.047400 19.807150 4.037100 0.933650 0.000000 3.771650 10.801200 0.528450 2.469350 22.842600 1.224450 0.069800 10.491500 1.890150 - R5ASIA.2020 3.357600 0.406300 130.271400 3.057700 22.657500 427.326800 75.724300 10.952000 3.410800 12.215800 20.260600 3.894800 0.928700 0.000000 0.892000 16.709800 0.674300 2.794500 24.180700 1.385200 0.024300 11.236500 1.569500 - R5ASIA.2025 3.771450 0.350650 134.606900 3.208350 20.349650 443.786650 78.270350 10.940100 3.461750 12.529200 21.084150 4.161100 1.036200 0.000000 0.713600 21.240950 0.900050 3.032500 29.473700 1.719100 0.020050 12.196350 1.686850 - R5ASIA.2030 4.185300 0.295000 138.942400 3.359000 18.041800 460.246500 80.816400 10.928200 3.512700 12.842600 21.907700 4.427400 1.143700 0.000000 0.535200 25.772100 1.125800 3.270500 34.766700 2.053000 0.015800 13.156200 1.804200 - R5ASIA.2035 4.765050 0.294250 142.368350 3.494350 20.817750 479.461900 84.006000 11.869200 3.603950 13.355350 22.661150 4.563600 1.207100 0.000000 0.427600 30.163600 1.479000 3.477000 38.855850 2.324500 0.018700 13.914100 1.896700 - R5ASIA.2040 5.344800 0.293500 145.794300 3.629700 23.593700 498.677300 87.195600 12.810200 3.695200 13.868100 23.414600 4.699800 1.270500 0.000000 0.320000 34.555100 1.832200 3.683500 42.945000 2.596000 0.021600 14.672000 1.989200 - R5ASIA.2045 5.898450 0.301000 148.105700 3.731750 22.518700 502.948350 88.241350 12.710150 3.649750 14.043700 24.056850 4.676200 1.320400 0.000000 0.255300 34.617000 2.409950 3.810150 45.700400 2.783000 0.014750 15.230650 2.070000 - R5ASIA.2050 6.452100 0.308500 150.417100 3.833800 21.443700 507.219400 89.287100 12.610100 3.604300 14.219300 24.699100 4.652600 1.370300 0.000000 0.190600 34.678900 2.987700 3.936800 48.455800 2.970000 0.007900 15.789300 2.150800 - R5ASIA.2055 7.028100 0.303800 152.340000 3.941000 21.690800 498.373300 88.778100 12.470550 3.379150 13.745350 25.286700 4.544800 1.402200 0.000000 0.148550 37.506550 2.930050 4.087750 51.797150 3.213750 0.005850 16.130650 2.212650 - R5ASIA.2060 7.604100 0.299100 154.262900 4.048200 21.937900 489.527200 88.269100 12.331000 3.154000 13.271400 25.874300 4.437000 1.434100 0.000000 0.106500 40.334200 2.872400 4.238700 55.138500 3.457500 0.003800 16.472000 2.274500 - R5ASIA.2065 8.021100 0.294500 154.662200 4.131650 17.404100 468.337150 85.934150 10.932900 2.843450 12.538350 26.510000 4.245000 1.483100 0.000000 0.081500 43.010700 2.784650 4.359150 58.277400 3.681750 0.003600 16.702500 2.325500 - R5ASIA.2070 8.438100 0.289900 155.061500 4.215100 12.870300 447.147100 83.599200 9.534800 2.532900 11.805300 27.145700 4.053000 1.532100 0.000000 0.056500 45.687200 2.696900 4.479600 61.416300 3.906000 0.003400 16.933000 2.376500 - R5ASIA.2075 8.629050 0.322750 150.660150 4.304700 10.427800 420.700050 79.915600 8.569900 2.293500 11.237450 27.608950 3.793550 1.499550 0.000000 0.042650 46.390900 2.590900 4.547600 63.282350 4.059350 0.003200 16.908700 2.388950 - R5ASIA.2080 8.820000 0.355600 146.258800 4.394300 7.985300 394.253000 76.232000 7.605000 2.054100 10.669600 28.072200 3.534100 1.467000 0.000000 0.028800 47.094600 2.484900 4.615600 65.148400 4.212700 0.003000 16.884400 2.401400 - R5ASIA.2085 8.011450 0.378950 136.411750 4.316450 7.271850 376.865000 73.442700 7.090400 1.868150 10.232700 27.389400 3.236150 1.469700 0.000000 0.014400 45.428500 2.361800 4.614450 65.406750 4.275950 0.002700 16.733400 2.367650 - R5ASIA.2090 7.202900 0.402300 126.564700 4.238600 6.558400 359.477000 70.653400 6.575800 1.682200 9.795800 26.706600 2.938200 1.472400 0.000000 0.000000 43.762400 2.238700 4.613300 65.665100 4.339200 0.002400 16.582400 2.333900 - R5ASIA.2095 6.910150 0.391150 121.397250 4.184650 6.006650 343.081550 68.208300 6.109600 1.564350 9.525250 26.317800 2.658150 1.439600 0.000000 0.000000 40.409250 2.101600 4.590900 65.459850 4.370200 0.002150 16.364700 2.273200 - R5ASIA.2100 6.617400 0.380000 116.229800 4.130700 5.454900 326.686100 65.763200 5.643400 1.446500 9.254700 25.929000 2.378100 1.406800 0.000000 0.000000 37.056100 1.964500 4.568500 65.254600 4.401200 0.001900 16.147000 2.212500 - R5MAF.2000 0.580800 0.246000 44.299100 1.180400 6.102400 285.959600 56.889800 5.539700 1.876600 11.148200 5.036300 0.733700 0.046400 0.000000 0.000000 0.079900 0.000000 0.680300 3.936500 0.449800 0.018800 0.352400 0.207500 - R5MAF.2005 0.710200 0.227300 49.627600 1.276900 7.036500 305.672900 60.460500 5.986400 2.036300 11.874800 5.475900 0.962600 0.065800 0.000000 0.000000 0.368500 0.052800 1.383300 7.490900 1.197700 0.061800 0.528600 0.237500 - R5MAF.2010 0.774900 -0.002700 55.641200 1.394400 6.628400 296.563100 64.003900 5.711100 1.978500 11.663600 5.673400 2.019800 0.061700 0.000000 0.000000 0.831700 0.104900 0.786200 10.024700 0.462100 0.136000 1.325700 0.336300 - R5MAF.2015 0.836100 -0.181700 56.242650 1.359250 6.240050 290.952800 64.617250 5.583450 1.955900 11.591900 5.677750 2.316850 0.058850 0.000000 0.000000 1.937200 0.134600 0.811450 10.935600 0.541000 0.079650 1.376850 0.573050 - R5MAF.2020 0.897300 -0.360700 56.844100 1.324100 5.851700 285.342500 65.230600 5.455800 1.933300 11.520200 5.682100 2.613900 0.056000 0.000000 0.000000 3.042700 0.164300 0.836700 11.846500 0.619900 0.023300 1.428000 0.809800 - R5MAF.2025 1.028450 -0.548250 60.007750 1.444700 5.938850 280.360100 65.636050 5.475100 1.909000 11.415300 5.958900 2.994000 0.056800 0.000000 0.000000 3.454450 0.204750 0.890200 12.630450 0.651200 0.018250 1.574600 0.907600 - R5MAF.2030 1.159600 -0.735800 63.171400 1.565300 6.026000 275.377700 66.041500 5.494400 1.884700 11.310400 6.235700 3.374100 0.057600 0.000000 0.000000 3.866200 0.245200 0.943700 13.414400 0.682500 0.013200 1.721200 1.005400 - R5MAF.2035 1.310750 -0.731750 67.386450 1.693300 5.819350 275.611450 67.490800 5.434500 1.863450 11.277000 6.533850 3.691700 0.056250 0.000000 0.000000 4.487700 0.306550 1.008200 14.102550 0.712850 0.015650 1.850550 1.081150 - R5MAF.2040 1.461900 -0.727700 71.601500 1.821300 5.612700 275.845200 68.940100 5.374600 1.842200 11.243600 6.832000 4.009300 0.054900 0.000000 0.000000 5.109200 0.367900 1.072700 14.790700 0.743200 0.018100 1.979900 1.156900 - R5MAF.2045 1.649050 -0.673250 74.950450 1.964350 5.366850 269.454000 68.152500 5.305450 1.821200 11.237700 7.114600 4.211650 0.052800 0.000000 0.000000 5.683800 0.459550 1.134750 15.356400 0.764000 0.013050 2.094000 1.220400 - R5MAF.2050 1.836200 -0.618800 78.299400 2.107400 5.121000 263.062800 67.364900 5.236300 1.800200 11.231800 7.397200 4.414000 0.050700 0.000000 0.000000 6.258400 0.551200 1.196800 15.922100 0.784800 0.008000 2.208100 1.283900 - R5MAF.2055 2.091850 -0.561750 80.637600 2.263800 4.876900 260.143100 66.301250 5.203250 1.793450 11.301850 7.742700 4.914200 0.048650 0.000000 0.000000 7.835800 0.556850 1.320000 17.528000 0.870000 0.006450 2.407450 1.376550 - R5MAF.2060 2.347500 -0.504700 82.975800 2.420200 4.632800 257.223400 65.237600 5.170200 1.786700 11.371900 8.088200 5.414400 0.046600 0.000000 0.000000 9.413200 0.562500 1.443200 19.133900 0.955200 0.004900 2.606800 1.469200 - R5MAF.2065 2.647050 -0.407650 83.853000 2.570400 4.374000 255.174350 64.230500 5.239900 1.777750 11.450800 8.333000 5.836850 0.045200 0.000000 0.000000 11.310400 0.560400 1.601450 20.748350 1.037100 0.005150 2.820650 1.559500 - R5MAF.2070 2.946600 -0.310600 84.730200 2.720600 4.115200 253.125300 63.223400 5.309600 1.768800 11.529700 8.577800 6.259300 0.043800 0.000000 0.000000 13.207600 0.558300 1.759700 22.362800 1.119000 0.005400 3.034500 1.649800 - R5MAF.2075 3.118950 -0.247050 82.831800 2.839450 3.651300 252.913150 62.030300 5.168650 1.759850 11.607050 8.774250 6.538500 0.040300 0.000000 0.000000 14.698400 0.551550 1.921300 23.467700 1.176250 0.005450 3.213500 1.713450 - R5MAF.2080 3.291300 -0.183500 80.933400 2.958300 3.187400 252.701000 60.837200 5.027700 1.750900 11.684400 8.970700 6.817700 0.036800 0.000000 0.000000 16.189200 0.544800 2.082900 24.572600 1.233500 0.005500 3.392500 1.777100 - R5MAF.2085 3.124450 -0.173100 69.541450 3.063700 3.056950 252.747800 59.499000 4.997100 1.746750 11.765350 9.437350 7.021550 0.033850 0.000000 0.000000 17.138550 0.526400 2.183500 25.155750 1.275950 0.005350 3.598950 1.846650 - R5MAF.2090 2.957600 -0.162700 58.149500 3.169100 2.926500 252.794600 58.160800 4.966500 1.742600 11.846300 9.904000 7.225400 0.030900 0.000000 0.000000 18.087900 0.508000 2.284100 25.738900 1.318400 0.005200 3.805400 1.916200 - R5MAF.2095 3.147200 -0.170650 56.658050 3.239450 2.727800 252.066550 56.665200 4.889250 1.731200 11.868650 10.078050 7.339600 0.027150 0.000000 0.000000 18.475100 0.485650 2.358550 26.055400 1.345850 0.004950 3.969700 1.946750 - R5MAF.2100 3.336800 -0.178600 55.166600 3.309800 2.529100 251.338500 55.169600 4.812000 1.719800 11.891000 10.252100 7.453800 0.023400 0.000000 0.000000 18.862300 0.463300 2.433000 26.371900 1.373300 0.004700 4.134000 1.977300 - R5LAM.2000 0.371000 0.364900 40.065600 1.044800 4.545100 112.822000 24.602700 2.905600 0.931100 5.082000 4.590700 0.752000 0.016000 0.000000 0.322600 0.127900 0.000000 0.432200 3.756900 0.359200 0.012300 0.336000 0.230600 - R5LAM.2005 0.412200 0.340600 42.197500 1.098500 3.694700 110.975000 24.404200 2.819200 0.926600 4.885700 4.928200 0.777600 0.015500 0.000000 0.337300 0.469600 0.052800 0.875600 6.808000 0.891200 0.056700 0.504000 0.275500 - R5LAM.2010 0.421600 0.267600 42.935700 1.180700 3.402800 106.777900 23.263000 2.606900 0.882500 4.765400 5.234900 1.524600 0.014700 0.000000 0.412100 0.977700 0.104900 0.420200 8.159200 0.296400 0.125100 1.271200 0.344700 - R5LAM.2015 0.413700 0.256350 40.255000 1.073000 3.263100 106.589800 22.818600 2.452950 0.855300 4.779800 4.689450 1.591750 0.013900 0.000000 0.226100 2.168750 0.134600 0.383900 8.089350 0.306800 0.073250 1.322200 0.387500 - R5LAM.2020 0.405800 0.245100 37.574300 0.965300 3.123400 106.401700 22.374200 2.299000 0.828100 4.794200 4.144000 1.658900 0.013100 0.000000 0.040100 3.359800 0.164300 0.347600 8.019500 0.317200 0.021400 1.373200 0.430300 - R5LAM.2025 0.422050 0.125450 37.628850 1.012450 2.859200 104.335050 22.101000 2.236500 0.798300 4.704300 4.297700 1.824550 0.012250 0.000000 0.032050 4.081800 0.204750 0.383450 8.762500 0.350200 0.017500 1.443300 0.455300 - R5LAM.2030 0.438300 0.005800 37.683400 1.059600 2.595000 102.268400 21.827800 2.174000 0.768500 4.614400 4.451400 1.990200 0.011400 0.000000 0.024000 4.803800 0.245200 0.419300 9.505500 0.383200 0.013600 1.513400 0.480300 - R5LAM.2035 0.496750 -0.069950 37.964900 1.122800 2.488150 100.340400 21.671200 2.101050 0.739300 4.533950 4.679550 2.165100 0.010600 0.000000 0.019150 5.652100 0.306550 0.472700 10.444350 0.434700 0.016300 1.615300 0.511800 - R5LAM.2040 0.555200 -0.145700 38.246400 1.186000 2.381300 98.412400 21.514600 2.028100 0.710100 4.453500 4.907700 2.340000 0.009800 0.000000 0.014300 6.500400 0.367900 0.526100 11.383200 0.486200 0.019000 1.717200 0.543300 - R5LAM.2045 0.597850 -0.125000 38.568200 1.252900 2.259350 97.956050 21.552500 1.964500 0.692250 4.454700 5.154950 2.502600 0.009000 0.000000 0.011450 6.818250 0.459550 0.589750 12.485550 0.549750 0.013250 1.852650 0.580600 - R5LAM.2050 0.640500 -0.104300 38.890000 1.319800 2.137400 97.499700 21.590400 1.900900 0.674400 4.455900 5.402200 2.665200 0.008200 0.000000 0.008600 7.136100 0.551200 0.653400 13.587900 0.613300 0.007500 1.988100 0.617900 - R5LAM.2055 0.700600 -0.076500 40.146150 1.424250 2.072400 97.240500 21.618200 1.849200 0.661600 4.454400 5.887500 2.971450 0.007350 0.000000 0.006700 8.255750 0.556850 0.715050 14.674200 0.679150 0.005800 2.160550 0.665600 - R5LAM.2060 0.760700 -0.048700 41.402300 1.528700 2.007400 96.981300 21.646000 1.797500 0.648800 4.452900 6.372800 3.277700 0.006500 0.000000 0.004800 9.375400 0.562500 0.776700 15.760500 0.745000 0.004100 2.333000 0.713300 - R5LAM.2065 0.821650 -0.010150 42.195800 1.619800 1.695100 96.636850 21.579650 1.714150 0.636800 4.459700 6.772900 3.492700 0.005700 0.000000 0.003700 10.497050 0.560400 0.869100 17.106200 0.826400 0.004000 2.476750 0.762150 - R5LAM.2070 0.882600 0.028400 42.989300 1.710900 1.382800 96.292400 21.513300 1.630800 0.624800 4.466500 7.173000 3.707700 0.004900 0.000000 0.002600 11.618700 0.558300 0.961500 18.451900 0.907800 0.003900 2.620500 0.811000 - R5LAM.2075 0.935750 0.096400 42.266650 1.697050 1.291200 96.110100 21.521900 1.574000 0.616500 4.478050 7.018300 3.792000 0.004100 0.000000 0.001950 12.198400 0.551550 1.062100 19.638550 0.981050 0.003750 2.691000 0.848250 - R5LAM.2080 0.988900 0.164400 41.544000 1.683200 1.199600 95.927800 21.530500 1.517200 0.608200 4.489600 6.863600 3.876300 0.003300 0.000000 0.001300 12.778100 0.544800 1.162700 20.825200 1.054300 0.003600 2.761500 0.885500 - R5LAM.2085 0.810900 0.171650 35.977950 1.699450 1.135750 96.136000 21.708900 1.477300 0.604500 4.509000 7.557700 3.903950 0.002450 0.000000 0.000650 12.883750 0.526400 1.224550 21.767700 1.109100 0.003350 2.832200 0.917450 - R5LAM.2090 0.632900 0.178900 30.411900 1.715700 1.071900 96.344200 21.887300 1.437400 0.600800 4.528400 8.251800 3.931600 0.001600 0.000000 0.000000 12.989400 0.508000 1.286400 22.710200 1.163900 0.003100 2.902900 0.949400 - R5LAM.2095 0.645650 0.180450 29.006850 1.705000 1.013450 95.947750 21.912000 1.398950 0.595700 4.525600 8.255800 3.929550 0.000800 0.000000 0.000000 12.752850 0.485650 1.327450 23.321200 1.200850 0.002850 2.951150 0.962450 - R5LAM.2100 0.658400 0.182000 27.601800 1.694300 0.955000 95.551300 21.936700 1.360500 0.590600 4.522800 8.259800 3.927500 0.000000 0.000000 0.000000 12.516300 0.463300 1.368500 23.932200 1.237800 0.002600 2.999400 0.975500 -BUNKERS.2000 0.000000 0.000000 0.432500 0.000000 5.539000 1.185400 2.927000 6.281800 0.136100 0.139500 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2005 0.000000 0.000000 0.481700 0.000000 5.733700 1.263200 3.212500 6.727700 0.164400 0.165400 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2010 0.000000 0.000000 0.468200 0.000000 5.200800 1.185800 3.072000 6.379000 0.150900 0.149300 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2015 0.000000 0.000000 0.460300 0.000000 4.693850 1.111000 2.940550 6.052650 0.136700 0.134250 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2020 0.000000 0.000000 0.452400 0.000000 4.186900 1.036200 2.809100 5.726300 0.122500 0.119200 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2025 0.000000 0.000000 0.464300 0.000000 3.842450 0.985700 2.797800 5.544650 0.112750 0.108850 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2030 0.000000 0.000000 0.476200 0.000000 3.498000 0.935200 2.786500 5.363000 0.103000 0.098500 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2035 0.000000 0.000000 0.480000 0.000000 3.208200 0.889300 2.733900 5.217250 0.094650 0.089650 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2040 0.000000 0.000000 0.483800 0.000000 2.918400 0.843400 2.681300 5.071500 0.086300 0.080800 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2045 0.000000 0.000000 0.472900 0.000000 2.620700 0.782850 2.555000 4.835400 0.077650 0.071800 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2050 0.000000 0.000000 0.462000 0.000000 2.323000 0.722300 2.428700 4.599300 0.069000 0.062800 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2055 0.000000 0.000000 0.448100 0.000000 2.040250 0.657300 2.292750 4.331500 0.061900 0.055450 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2060 0.000000 0.000000 0.434200 0.000000 1.757500 0.592300 2.156800 4.063700 0.054800 0.048100 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2065 0.000000 0.000000 0.416400 0.000000 1.525950 0.532050 2.012300 3.782650 0.048650 0.042000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2070 0.000000 0.000000 0.398600 0.000000 1.294400 0.471800 1.867800 3.501600 0.042500 0.035900 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2075 0.000000 0.000000 0.378700 0.000000 1.112850 0.418700 1.726150 3.212800 0.037300 0.031000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2080 0.000000 0.000000 0.358800 0.000000 0.931300 0.365600 1.584500 2.924000 0.032100 0.026100 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2085 0.000000 0.000000 0.345600 0.000000 0.812900 0.329650 1.485950 2.721950 0.028450 0.022750 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2090 0.000000 0.000000 0.332400 0.000000 0.694500 0.293700 1.387400 2.519900 0.024800 0.019400 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2095 0.000000 0.000000 0.315200 0.000000 0.598500 0.261100 1.282050 2.320400 0.021900 0.016800 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -BUNKERS.2100 0.000000 0.000000 0.298000 0.000000 0.502500 0.228500 1.176700 2.120900 0.019000 0.014200 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -; -*** EOF ./core/magicc/magicc_scen_bau.inc diff --git a/main.gms b/main.gms index 9902d8e42..0e077d2d4 100755 --- a/main.gms +++ b/main.gms @@ -1910,7 +1910,6 @@ $include "./core/loop.gms"; $ifthen.c_skip_output %c_skip_output% == "off" $include "./core/output.gms"; $batinclude "./modules/include.gms" output -$include "./core/magicc.gms"; !!connection to MAGICC, needed for post-processing $endif.c_skip_output *** EOF ./main.gms diff --git a/modules/15_climate/magicc7_ar6/postsolve.gms b/modules/15_climate/magicc7_ar6/postsolve.gms index 2236f2130..af2cb83a6 100644 --- a/modules/15_climate/magicc7_ar6/postsolve.gms +++ b/modules/15_climate/magicc7_ar6/postsolve.gms @@ -7,7 +7,6 @@ *** SOF ./modules/15_climate/magicc7_ar6/postsolve.gms ***--------------------------------------------------------------------------- -*' The MAGICC scenario generation is set in `./core/magicc.gms`, but runs here. *' MAGICC is run and its output is read using different current R scripts in the external MAGICC folder *' that are copied to each run's folder during the preparation phase. Different parametrizations of MAGICC can also be chosen with `cm_magicc_config`, *' and are also handled during the preparation phase From e51263579b49c513cff8049d14ecdf68e90a40eb Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Mon, 11 Nov 2024 11:00:15 +0100 Subject: [PATCH 699/875] add upper and lower bounds for 2025 electrolysis capacities based on current and announced global projects, bounds distributed to regions by GDP share for now --- core/bounds.gms | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/core/bounds.gms b/core/bounds.gms index bd7cb1686..abec0ea76 100755 --- a/core/bounds.gms +++ b/core/bounds.gms @@ -288,6 +288,21 @@ loop(te$(sameas(te,"ngcc") OR sameas(te,"ngt") OR sameas(te,"gaschp")), vm_cap.lo("2020",regi,te,"1")$pm_histCap("2020",regi,te) = 0.95 * pm_histCap("2020",regi,te); ); + +*** bounds on near-term electrolysis capacities +*' set lower and upper bounds for 2025 based on projects annoucements +*' from IEA Hydryogen project database: +*' https://www.iea.org/data-and-statistics/data-product/hydrogen-production-and-infrastructure-projects-database +*' distribute to regions via GDP share +*' in future this should be differentiated by region based on regionalized input data of project announcements +*' 2 GW(el) at least globally in 2025, about operational capacity as of 2023 +vm_cap.lo("2025",regi,"elh2","1")= 2 * pm_eta_conv("2025",regi,"elh2")*pm_gdp("2025",regi) + / sum(regi2,pm_gdp("2025",regi2)) * 1e-3; +*' 10 GW(el) at maximum globally in 2025 +vm_cap.up("2025",regi,"elh2","1")= 10 * pm_eta_conv("2025",regi,"elh2")*pm_gdp("2025",regi) + / sum(regi2,pm_gdp("2025",regi2)) * 1e-3; + + *** fix emissions to historical emissions in 2010 *** RP: turned off in March 2018, as it produces substantial negative side-effects (requiring strong early retirement in 2010, which influences the future investments even in Reference scenarios) *** vm_emiTe.up("2010",regi,"co2") = p_boundEmi("2010",regi) ; From f9e789387171d47ecef1564ea58dacad3e65128f Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Mon, 11 Nov 2024 11:02:18 +0100 Subject: [PATCH 700/875] clean up bounds in CCU module and insert bounds for near-term capacities of CCU technologies: lower and upper bounds for synthetic liquids based on global IEA project annoucements, distributed by GDP share to regions for now. No synthetic gas capacities before 2030. --- modules/39_CCU/on/bounds.gms | 43 +++++++++++++++++++++++++----------- 1 file changed, 30 insertions(+), 13 deletions(-) diff --git a/modules/39_CCU/on/bounds.gms b/modules/39_CCU/on/bounds.gms index ac5eb5e14..66f8a7abd 100644 --- a/modules/39_CCU/on/bounds.gms +++ b/modules/39_CCU/on/bounds.gms @@ -6,23 +6,40 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/39_CCU/on/bounds.gms -*** ------------------------------------------------------------------------------------------------------------- -***LP* Narrowing down the solution space for vm_co2capture for CCU -*** ------------------------------------------------------------------------------------------------------------- +*' no CCU technologies (liquid synfuel, synthetic gas) before 2025 +vm_cap.up(t,regi,te_ccu39,"1")$(t.val lt 2025) = 0; -vm_co2capture.up(t,regi,"cco2","ico2","ccsinje","1") = 50; +*' no synthetic gas production before 2030 +vm_cap.up(t,regi,"h22ch4","1")$(t.val lt 2030) = 0; -*** FS: overwrite bounds of se2se technologies in core/bounds.gms and set synfuel lower bounds only from 2035 on -*** (they are only there in case the solver misses to see the technologies) -vm_cap.lo(t,regi,te_ccu39,"1")=0; -vm_cap.lo(t,regi,te_ccu39,"1")$(t.val gt 2031)=1e-7; +*' upper bounds for near-term trends on liquid synfuels (CCU-fuels) 2025 and 2030 +*' based on project announcements from IEA database +*' https://www.iea.org/data-and-statistics/data-product/hydrogen-production-and-infrastructure-projects-database +*' distribute to regions via GDP share +*' in future this should be differentiated by region based on regionalized input data of project announcements +*' 0.5 TWh/yr liquid synfuel production globally at minimum in 2025 +*' corresponds to projects operational as of 2024 +vm_cap.lo("2025",regi,"MeOH","1")= 0.5 / pm_cf("2025",regi,"MeOH") / 8760 + * pm_gdp("2025",regi) + / sum(regi2,pm_gdp("2025",regi2)); -*** CCU technologies will not be used at scale before 2030 -vm_cap.up(t,regi,te_ccu39,"1")$(t.val le 2025)=1e-6; -*** CCU technologies will not be used at scale in 2030 (for non potential exporting regions) -vm_cap.up(t,regi,te_ccu39,"1")$((t.val eq 2030) and (not(sameas(regi,"SSA") or sameas(regi,"LAM") or sameas(regi,"MEA"))))=1e-6; -*** FS: switch off CCU in baseline runs (as CO2 capture technologies teCCS are also switched off) +*' 5 TWh/yr liquid synfuel production globally at maximum in 2025 +*' corresponds to about half of project announcements from IEA database +vm_cap.up("2025",regi,"MeOH","1")= 5 / pm_cf("2025",regi,"MeOH") / 8760 + * pm_gdp("2025",regi) + / sum(regi2,pm_gdp("2025",regi2)); + + + +*' 30 TWh/yr liquid synfuel production globally at maximum in 2030, +*' corresponds to about half of project announcements from IEA database +vm_cap.up("2030",regi,"MeOH","1")= 30 / pm_cf("2030",regi,"MeOH") / 8760 + * pm_gdp("2030",regi) + / sum(regi2,pm_gdp("2030",regi2)); + + +*** switch off CCU in baseline runs (as CO2 capture technologies teCCS are also switched off) if(cm_emiscen = 1, vm_cap.fx(t,regi,te_ccu39,rlf) = 0; ); From 681088b21240ace6f4cc5a1cb89b07d270768282 Mon Sep 17 00:00:00 2001 From: David Klein Date: Mon, 11 Nov 2024 11:00:28 +0100 Subject: [PATCH 701/875] MAgPIE coupling: use defaults from MAgPIE's default.cfg for list of MAgPIE outputs --- start_coupled.R | 1 - 1 file changed, 1 deletion(-) diff --git a/start_coupled.R b/start_coupled.R index f9fff54df..8cd2e86cd 100644 --- a/start_coupled.R +++ b/start_coupled.R @@ -42,7 +42,6 @@ start_coupled <- function(path_remind, path_magpie, cfg_rem, cfg_mag, runname, m cfg_mag <- check_config(cfg_mag, file.path(path_magpie, "config", "default.cfg"), file.path(path_magpie,"modules")) cfg_mag$sequential <- TRUE cfg_mag$force_replace <- TRUE - cfg_mag$output <- c("rds_report") # ,"remind","report") # rds_report: MAgPIE4; remind,report: MAgPIE3 (glo.modelstat.csv) # if provided use ghg prices for land (MAgPIE) from a different REMIND run than the one MAgPIE runs coupled to use_external_ghgprices <- ifelse(is.na(cfg_mag$path_to_report_ghgprices), FALSE, TRUE) From e7ab330b56980403df0cb4faabc2cbe6b375b38e Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Mon, 11 Nov 2024 11:48:50 +0000 Subject: [PATCH 702/875] Release development version 3.3.2.dev919 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 7fbf50a2e..f90581e8b 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev916" -date-released: 2024-11-07 +version: "3.3.2.dev919" +date-released: 2024-11-11 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index b7c836cad..5d4c7cdc2 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev916" +cfg$model_version <- "3.3.2.dev919" #### settings #### cfg$gms <- list() From 463d1e89deaf38d0bd99dc0a9b8b7bc5be552192 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Mon, 11 Nov 2024 12:26:28 +0000 Subject: [PATCH 703/875] Release development version 3.3.2.dev922 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index f90581e8b..7e9dc97e8 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev919" +version: "3.3.2.dev922" date-released: 2024-11-11 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 5d4c7cdc2..4025caef1 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev919" +cfg$model_version <- "3.3.2.dev922" #### settings #### cfg$gms <- list() From e921050d550c268e33b79fdd727662c4608a1cc6 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Mon, 11 Nov 2024 22:22:34 +0100 Subject: [PATCH 704/875] update X-to-Liquids and X-to-Gas technoeconomic parameters and add documentation for existing parameters, mainly biomass technologies --- core/input/generisdata_tech.prn | 46 ++++++++++++++++++++++++++++----- 1 file changed, 40 insertions(+), 6 deletions(-) diff --git a/core/input/generisdata_tech.prn b/core/input/generisdata_tech.prn index a236c1989..97202eac2 100644 --- a/core/input/generisdata_tech.prn +++ b/core/input/generisdata_tech.prn @@ -16,7 +16,7 @@ $offtext ngcc ngccc ngt gastr gaschp gashp gash2 gash2c gasftrec gasftcrec tech_stat 2 0 1 2 3 -inco0 950 1350 500 60 1200 400 900 1400 2030 2400 +inco0 950 1350 500 60 1200 400 900 1400 1600 1700 constrTme 3 3 2 1 3 2 2 2 3 3 mix0 0.70 0.00 0.00 0.00 eta 0.57 0.49 0.38 1.00 0.47 0.80 0.73 0.70 0.73 0.70 @@ -45,12 +45,12 @@ lifetime 40 40 40 40 40 + biotr biotrmod biochp biohp bioigcc bioigccc biogas biogasc bioh2 bioh2c bioethl bioeths biodiesel bioftrec bioftcrec tech_stat 1 3 1 3 2 3 2 3 3 -inco0 10 300 3000 550 2450 3150 1200 1230 1680 2040 2860 590 160 3000 3600 +inco0 10 300 3000 550 2450 3150 1200 1230 1680 2040 2860 590 160 2800 3100 constrTme 0 1 4 2 4 5 4 4 4 4 4 2 2 4 5 mix0 0.00 eta 1.00 0.95 0.35 0.72 0.39 0.28 0.55 0.55 0.59 0.55 0.36 0.55 0.93 0.41 0.41 omf 0.03 0.04 0.04 0.04 0.04 0.04 0.06 0.07 0.08 0.07 0.11 0.05 0.05 0.06 -omv 30.11 25.00 31.50 50.50 10.90 12.80 10.60 10.60 97.27 38.99 5.05 10.60 +omv 30.11 25.00 31.50 50.50 10.90 12.80 10.60 10.60 97.27 38.99 5.05 10.60 10.60 lifetime 35 35 40 40 40 40 40 40 35 35 35 35 35 35 35 @@ -70,12 +70,12 @@ luse + elh2 dot dhp h2turb h2curt h2turbVRE elh2VRE h22ch4 MeOH tech_stat 4 5 5 5 3 3 -inco0 1350 480 360 510 700 510 0.1 700 1300 +inco0 1350 480 360 510 700 510 0.1 700 800 constrTme 2 2 1 2 2 2 1 2 2 mix0 eta 0.73 0.30 0.80 0.40 0.62 0.40 0.73 0.8 0.7 -omf 0.05 0.03 0.03 0.03 0.05 0.03 0.00 0.04 0.05 -omv 3 12 12 24 0 24 3 25 +omf 0.05 0.03 0.03 0.03 0.05 0.03 0.00 0.03 0.03 +omv 3 12 12 24 0 24 12 12 lifetime 30 25 25 30 30 30 30 30 30 incolearn 1200 ccap0 0.0065 @@ -197,6 +197,40 @@ Ueckerdt et al. (2021), https://doi.org/10.1038/s41558-021-01032-7, Fig. S3). Assume floor cost: 100 EUR/kW(el) 100 EUR/kW(el) / 0.75 (long-term elh2 efficiency) * 1.1 (EUR to USD, 2015) ~ 150 USD/kW(H2) -> incolearn = 1200 +(CCU-based) Fischer-Tropsch Synthesis (H2-to-Liquids) - MeOH +inco0: 800 USD/kW following Agora (2018), Figs. 16-17, +https://www.agora-energiewende.de/fileadmin/Projekte/2017/SynKost_2050/Agora_SynKost_Study_EN_WEB.pdf +omf/omv: choose same as for refineries +eta: 0.7, following Agora (2018) and Tremel et al. (2015), https://doi.org/10.1016/j.ijhydene.2015.01.097 + +Methanation (H2-to-Gas) - h22ch4 +inco0: 700 USD/kW, long-term value following review by Agora (2018), Fig. 13, +https://www.agora-energiewende.de/fileadmin/Projekte/2017/SynKost_2050/Agora_SynKost_Study_EN_WEB.pdf +omf: 0.03 of CAPEX, following Agora (2018) +omv: choose same as for refineries +eta: 0.8, following Agora (2018), p. 67 + + +Bio-based Fischer-Tropsch Synthesis (Biomass-to-Liquids) - bioftrec +(Biomass gasification + FT synthesis) +inco0: 2800 USD/kW, following Liu et al. (2011), Table 7 gives CAPEX per kW(input), convert with 0.41 efficiency +eta: 0.41, following Liu et al., Fig. 11 + + +Bio-based Fischer-Tropsch Synthesis (Biomass-to-Liquids) with carbon capture - bioftcrec +(Biomass gasification + FT synthesis) +inco0: 3100 USD/kW, 300 USD/kW mark-up for CO2 capture +eta: 0.41, same as without carbon capture + +Biomass Methanation (Biomass-to-Gas) - biogas +inco0: 1200 USD/kW, following e.g. Aranda et al. (2014) +https://www.biosng.com/fileadmin/biosng/user/documents/reports/The_Economy_of_Large_Scale_Biomass_to_Bio-Methane.pdf +eta: 0.55, following Michailos et al. (2019), https://doi.org/10.1016/j.bej.2019.107290 + +Biomass Methanation (Biomass-to-Gas) with carbon capture - biogasc +inco: 1230 USD/kW, add 30 USD/kW for carbon capture +eta: 0.55, same as without carbon capture + Direct Air Capture - dac learning parameterization: Assume that 3 MtCO2/yr DAC capacity installed gobally by 2025 (https://www.iea.org/reports/direct-air-capture) From 236f5974ccacef90dfe7f5c95afcfb26f6682b5b Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Mon, 11 Nov 2024 22:23:34 +0100 Subject: [PATCH 705/875] make capture rates of X-to-Liquids and X-to-Gas technologies consistent with X-to-H2 and H2-to-Liquids/Gases parameterization, increases co2 capture rates in particular of bioftcrec and biogasc --- core/input/generisdata_emi.prn | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/core/input/generisdata_emi.prn b/core/input/generisdata_emi.prn index a162c1501..0a6eae546 100644 --- a/core/input/generisdata_emi.prn +++ b/core/input/generisdata_emi.prn @@ -15,7 +15,7 @@ pegas.seh2.gash2 15.3 0.00315 pegas.seh2.gash2c 1.5 13.8 0.00315 pegas.sehe.gashp 15.3 0.00315 pegas.seliqfos.gasftrec 15.3 -pegas.seliqfos.gasftcrec 13.8 1.5 +pegas.seliqfos.gasftcrec 15.1 0.2 pecoal.seel.igcc 26.1 0.04415 pecoal.seel.pc 26.1 0.04415 pecoal.seel.igccc 2.6 23.5 0.04415 @@ -24,13 +24,13 @@ pecoal.sehe.coalhp 26.1 0.04415 pecoal.seh2.coalh2 26.1 0.04415 pecoal.seh2.coalh2c 2.6 23.5 0.04415 pecoal.seliqfos.coalftrec 26.1 -pecoal.seliqfos.coalftcrec 7.8 18.3 +pecoal.seliqfos.coalftcrec 10.3 15.8 pecoal.sesofos.coaltr 26.1 0.04415 pecoal.segafos.coalgas 26.1 0.04415 pebiolc.seel.bioigccc -20.0 20.0 pebiolc.seel.bioigcc -pebiolc.segabio.biogasc -9.5 9.5 -pebiolc.seliqbio.bioftcrec -12.0 12.0 +pebiolc.segabio.biogasc -14.1 14.1 +pebiolc.seliqbio.bioftcrec -14.6 14.6 pebiolc.seh2.bioh2c -22.5 22.5 pebiolc.seel.biochp pebiolc.seh2.bioh2 @@ -43,4 +43,24 @@ peoil.seel.dot 20 0.01892 seh2.segasyn.h22ch4 0.395 seh2.seliqsyn.MeOH 0.53 +$ontext +Parameterization of CO2 Capture Rates of X-to-Liquids and X-to-Gas technologies including carbon capture: +The capture rates need to be consistent with the capture rate of X-to-H2 technologies +and the carbon efficiency (carbon in output / carbon in input) of CCU-Technologies (see ./modules/39_CCU/on/datainput.gms) +that convert H2 + CO2 to Liquids/Gases. +For the capture rate of the combined process, we take into account the parameterization of the individual steps: +1. Production of synthesis gas/h2, here we assume 90% capture rate in line with our parameterization of +Bio-to-H2 (bioh2c), Gas-to-H2 (gash2c) with carbon capture technologies +2. Conversion of synthesis gas to liquid fuels / methane via Fischer-Tropsch synthesis / methanation +at a carbon efficiency of 95% in line with the CCU technologies. +We calculate the CO2 capture rates of the X-to-Liquids and X-to-Gas technologies as +the difference between the captured carbon of the first step and the carbon used in the second step: +Capture Rate(tech) = Emifac(input) * 0.9 - Emifac(output) / 0.95 * Efficiency(tech) +Technology-specific CO2 capture rates: +Capture Rate(bioftcrec) = 25 GtC/ZJ * 0.9 - 18.4 GtC/ZJ(FE) / 0.95 * 0.41 ~ 14.6 GtC/ZJ(PE) (58% of carbon input) +Capture Rate(biogasc) = 25 GtC/ZJ * 0.9 - 14.6 GtC/ZJ(FE) / 0.95 * 0.55 ~ 14.1 GtC/ZJ(PE) (56% of carbon input) +Capture Rate(coalftcrec) = 26.1 GtC/ZJ * 0.9 - 18.4 GtC/ZJ(FE) / 0.95 * 0.4 ~ 15.8 GtC/ZJ(PE) (60% of carbon input) +Capture Rate(gasftcrec) = 15.3 GtC/ZJ * 0.9 - 18.4 GtC/ZJ(FE) / 0.95 * 0.7 ~ 0.2 GtC/ZJ(PE) (1.3% of carbon input) +$offtext + *** EOF ./core/input/generisdata_emi.prn From 59c4373187676fce463244b537e9e0fb680c4582 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Mon, 11 Nov 2024 22:24:38 +0100 Subject: [PATCH 706/875] add carbon efficiency to CCU technologies such that only 0.95 of carbon input end up in carbon output of fuel --- modules/39_CCU/on/datainput.gms | 14 +++++++++++--- modules/39_CCU/on/declarations.gms | 8 +++++--- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/modules/39_CCU/on/datainput.gms b/modules/39_CCU/on/datainput.gms index 3785b41d8..9ca269864 100644 --- a/modules/39_CCU/on/datainput.gms +++ b/modules/39_CCU/on/datainput.gms @@ -6,8 +6,16 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/39_CCU/on/datainput.gms -*** FS: set CO2 demand of CCU technologies to emission factor of liquids and gases per unit SE -p39_co2_dem(t,regi,"seh2","segasyn","h22ch4") = pm_emifac(t,regi,"segafos","fegas","tdfosgas","co2"); -p39_co2_dem(t,regi,"seh2","seliqsyn","MeOH") = pm_emifac(t,regi,"seliqfos","fedie","tdfosdie","co2"); !! choose diesel as fuel for HDVt where synfuels most relevant +*** carbon efficiency of synthetic liquids (FT synthesis) and synthetic gas production (methanation) +*** set to 0.95 following Mar Pérez-Fortes et al. (2016), https://doi.org/10.1016/j.apenergy.2015.07.067, +*** who assess this for methanol-CCU plant with similar processes as our CCU technologies +p39_carbon_efficiency(t,regi,"MeOH") = 0.95; +p39_carbon_efficiency(t,regi,"h22ch4") = 0.95; + +*** CO2 demand of CCU technologies: emission factor of liquids and gases per unit SE divided by carbon efficiency of CCU technology +p39_co2_dem(t,regi,"seh2","segasyn","h22ch4") = pm_emifac(t,regi,"segafos","fegas","tdfosgas","co2") / p39_carbon_efficiency(t,regi,"h22ch4"); +p39_co2_dem(t,regi,"seh2","seliqsyn","MeOH") = pm_emifac(t,regi,"seliqfos","fedie","tdfosdie","co2") / p39_carbon_efficiency(t,regi,"MeOH"); !! choose diesel as fuel for HDVt where synfuels most relevant + + *** EOF ./modules/39_CCU/on/datainput.gms diff --git a/modules/39_CCU/on/declarations.gms b/modules/39_CCU/on/declarations.gms index 743489c12..35ab3f391 100644 --- a/modules/39_CCU/on/declarations.gms +++ b/modules/39_CCU/on/declarations.gms @@ -7,13 +7,15 @@ *** SOF ./modules/39_CCU/on/declarations.gms parameters +p39_carbon_efficiency(ttot,all_regi,all_te) "Carbon efficiency of CCU technologies, carbon content of output fuel divided by carbon input into production process [share]" p39_co2_dem(ttot,all_regi,all_enty,all_enty,all_te) "CO2 demand of CCU technologies [tC/TWa (output)]" + ; positive variables -vm_co2CCUshort(ttot,all_regi,all_enty,all_enty,all_te,rlf) "CO2 captured in CCU te that have a persistence for co2 storage shorter than 5 years [GtC/a]" -v39_shSynLiq(ttot,all_regi) "Share of synthetic liquids in all SE liquids [0..1]" -v39_shSynGas(ttot,all_regi) "Share of synthetic gas in all SE gases [0..1]" +vm_co2CCUshort(ttot,all_regi,all_enty,all_enty,all_te,rlf) "CO2 captured in CCU te that have a persistence for co2 storage shorter than 5 years [GtC/a]" +v39_shSynLiq(ttot,all_regi) "Share of synthetic liquids in all SE liquids [0..1]" +v39_shSynGas(ttot,all_regi) "Share of synthetic gas in all SE gases [0..1]" ; equations From f302e38ca1b3825af64f7f274aef7b2dfdfb93b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tonn=20R=C3=BCter?= Date: Tue, 12 Nov 2024 14:25:27 +0100 Subject: [PATCH 707/875] Removed magicc coupling from core --- core/magicc.gms | 193 ------------------------------------------------ 1 file changed, 193 deletions(-) delete mode 100644 core/magicc.gms diff --git a/core/magicc.gms b/core/magicc.gms deleted file mode 100644 index 879ad1d2e..000000000 --- a/core/magicc.gms +++ /dev/null @@ -1,193 +0,0 @@ -*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./core/magicc.gms -*** FILE magicc.gms *** -$ontext -This connects REMIND with the MAGICC model. - -TODO -- more documentation -- document MAGICC_scen_*.inc files -- document excel files and upload to tutorials -$offtext - -$ifthen %cm_rcp_scen% == "rcp20" p_MAGICC_emi(tall,RCP_regions_world,emiRCP) = magicc_default_data_450(RCP_regions_world,tall,emiRCP); -$elseif %cm_rcp_scen% == "rcp26" p_MAGICC_emi(tall,RCP_regions_world,emiRCP) = magicc_default_data_450(RCP_regions_world,tall,emiRCP); -$elseif %cm_rcp_scen% == "rcp37" p_MAGICC_emi(tall,RCP_regions_world,emiRCP) = magicc_default_data_550(RCP_regions_world,tall,emiRCP); -$elseif %cm_rcp_scen% == "rcp45" p_MAGICC_emi(tall,RCP_regions_world,emiRCP) = magicc_default_data_550(RCP_regions_world,tall,emiRCP); -$elseif %cm_rcp_scen% == "rcp60" p_MAGICC_emi(tall,RCP_regions_world,emiRCP) = magicc_default_data_bau(RCP_regions_world,tall,emiRCP); -$elseif %cm_rcp_scen% == "rcp85" p_MAGICC_emi(tall,RCP_regions_world,emiRCP) = magicc_default_data_bau(RCP_regions_world,tall,emiRCP); -$elseif %cm_rcp_scen% == "none" p_MAGICC_emi(tall,RCP_regions_world,emiRCP) = magicc_default_data_bau(RCP_regions_world,tall,emiRCP); -$else p_MAGICC_emi(tall,RCP_regions_world,emiRCP) = magicc_default_data_bau(RCP_regions_world,tall,emiRCP); -$endif - -*** populate data -p_MAGICC_emi(ttot,RCP_regions_world,"FossilCO2")$(ttot.val ge 2005) -= -sum(regi, - (vm_emiTe.l(ttot,regi,"co2")) - * p_regi_2_MAGICC_regions(regi,RCP_regions_world) -); - -p_MAGICC_emi(ttot,RCP_regions_world,"OtherCO2")$(ttot.val ge 2005) -= -sum(regi, - (vm_emiMac.l(ttot,regi,"co2") + vm_emiCdr.l(ttot,regi,"co2")) - * p_regi_2_MAGICC_regions(regi,RCP_regions_world) -); - -p_MAGICC_emi(ttot,RCP_regions_world,"CH4")$(ttot.val ge 2005) -= -sum(regi, - vm_emiAll.l(ttot,regi,"ch4") - * p_regi_2_MAGICC_regions(regi,RCP_regions_world) -); - -p_MAGICC_emi(ttot,RCP_regions_world,"N2O")$(ttot.val ge 2005) -= -sum(regi, - vm_emiAll.l(ttot,regi,"n2o") - * p_regi_2_MAGICC_regions(regi,RCP_regions_world) -); - -***--------------------------- F-gases ------------------------------- -loop(emiFgas2emiRCP(enty,emiRCP), - p_MAGICC_emi(ttot,RCP_regions_world,emiRCP)$(ttot.val ge 2005) - = - sum(regi, - vm_emiFgas.L(ttot,regi,enty) - * p_regi_2_MAGICC_regions(regi,RCP_regions_world) - ); -); - -***--------------------------- emiRCP2emiREMIND ---------------------- -loop(emiRCP2emiREMIND(emiRCP,enty3), - p_MAGICC_emi(ttot,RCP_regions_world_bunkers,emiRCP)$( ttot.val ge 2005 ) - = - (sum(regi, - p_regi_2_MAGICC_regions(regi,RCP_regions_world_bunkers) - * ( sum(all_sectorEmi, pm_emiAPexsolve(ttot,regi,all_sectorEmi,emiRCP) - ) - + pm_emiAPexo(ttot,regi,enty3,"AgWasteBurning") - + pm_emiAPexo(ttot,regi,enty3,"Agriculture") - + pm_emiAPexo(ttot,regi,enty3,"ForestBurning") - + pm_emiAPexo(ttot,regi,enty3,"GrasslandBurning") - + pm_emiAPexo(ttot,regi,enty3,"Waste") - ) - ) - + ( pm_emiAPexoGlob(ttot,enty3,"Aviation") - + pm_emiAPexoGlob(ttot,enty3,"InternationalShipping") - )$( sameas(RCP_regions_world_bunkers,"WORLD") - OR sameas(RCP_regions_world_bunkers,"BUNKERS") ) - ) - * (1 - (1 - s_NO2_2_N)$( sameas(enty3,"NOx"))) - ; -); - -*** interpolate first periods -loop(emiRCP, - loop(RCP_regions_world, - p_MAGICC_emi("2001",RCP_regions_world,emiRCP) - = - 0.8 * p_MAGICC_emi("2000",RCP_regions_world,emiRCP) - + 0.2 * p_MAGICC_emi("2005",RCP_regions_world,emiRCP) - ; - - p_MAGICC_emi("2002",RCP_regions_world,emiRCP) - = - 0.6 * p_MAGICC_emi("2000",RCP_regions_world,emiRCP) - + 0.4 * p_MAGICC_emi("2005",RCP_regions_world,emiRCP) - ; - - p_MAGICC_emi("2003",RCP_regions_world,emiRCP) - = - 0.4 * p_MAGICC_emi("2000",RCP_regions_world,emiRCP) - + 0.6 * p_MAGICC_emi("2005",RCP_regions_world,emiRCP) - ; - - p_MAGICC_emi("2004",RCP_regions_world,emiRCP) - = - 0.2 * p_MAGICC_emi("2000",RCP_regions_world,emiRCP) - + 0.8 * p_MAGICC_emi("2005",RCP_regions_world,emiRCP) - ; - ) -); - -*** generate MAGICC scenario file -put magicc_scenario - -*** MAGICC scenario files are based on the following template -$ontext -line description -1 N_SCEN_DATALINES - number of data lines, correspondes to periods -2 SCEN_SPECIALCODES - number describing the data present - 1x seems to do nothing - 2x 4 SRES regions - 3x 5 RCP regions - 4x 5 RCP regions plus bunkers - x1 8 gases and aerosols ) unsure how this relates - x2 11 gases and aerosols ) to the actual data files -3 NAME - scenario name -4 DESCRIPTION - scenario description -5 NOTES - usually creation date -6 empty -7 REGION HEADER - region name (RCP_regions_world) -8 COLUMN HEADINGS - YEARS and quantity names (emiRCP) -9 UNITS - quantity units (emiRCP2unitsMagicc) -... data - -lines 7 - 9 repeat for each region -$offtext - -put " 24" /; -put " 41" /; -put " %c_expname%" /; -put " MAGICC sceanrio file generated by REMIND core/magicc.gms" /; -put " Date created:", system.date, " ", system.time /; -put /; - -loop(RCP_regions_world_bunkers, - put " ", RCP_regions_world_bunkers.tl /; - - put " Years" - loop((numberEmiRCP,emiRCP2order(emiRCP,numberEmiRCP)), - put emiRCP.tl:>11; - ); - put /; - - put " Yrs" - loop((numberEmiRCP,emiRCP2order(emiRCP,numberEmiRCP), - emiRCP2unitsMagicc(emiRCP,unitsMagicc)), - put unitsMagicc.tl:>11; - ); - put /; - - loop(t_magiccttot$( t_magiccttot.val ge 2000 ), - put t_magiccttot.tl:>11; - loop((numberEmiRCP,emiRCP2order(emiRCP,numberEmiRCP)), - put p_MAGICC_emi(t_magiccttot,RCP_regions_world_bunkers,emiRCP):>11:4; - ) - put /; - ); - - put /; - put /; -); - -putclose magicc_scenario - -*** write sed scripts to edit MAGICC configuration files -put magicc_sed_script - -put 's| FILE_EMISSIONSCENARIO.*| FILE_EMISSIONSCENARIO = "REMIND_%c_expname%",|g' /; -put 's| RUNNAME.*| RUNNAME = "%c_expname%",|g' /; -put 's| RUNDATE.*| RUNDATE = "%system.date%",|g' /; -put 's| RF_SOLAR_SCALE =.*| RF_SOLAR_SCALE = 0,|g' /; - -putclose magicc_sed_script; - -*** EOF ./core/magicc.gms From 56281809d1862e9f9cf5540ccc1434850a8a0e21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tonn=20R=C3=BCter?= Date: Tue, 12 Nov 2024 17:38:20 +0100 Subject: [PATCH 708/875] Fixed make examples, clarified some statements --- tutorials/15_Using_Python.md | 45 ++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 23 deletions(-) diff --git a/tutorials/15_Using_Python.md b/tutorials/15_Using_Python.md index 3d14a71e7..579e1703a 100644 --- a/tutorials/15_Using_Python.md +++ b/tutorials/15_Using_Python.md @@ -6,18 +6,17 @@ Python is a high-level, interpreted programming language known for its readabili ## REMIND Python Doctrine -Python support is enabled by default in REMIND and is necessary for some climate assessment reporting. This can be verified in the `default.cfg` file where `cfg$pythonEnabled` is set to `"on"`. Users need to set the `cfg$pythonPath` variable to point to the appropriate Python environment. On the PIK cluster, the `conda` environment can be found in `/p/projects/rd3mod/python/environments/scm_magicc7_hpc/`. It is best practice to clone this default environment into one's home directory when using the PIK cluster, see [`make` commands below](#environment-creation-integrity-and-archiving). Further management of the Python environment, such as updating Python packages environments, is a responsibility of the user. +Python support is enabled by default in REMIND and is necessary to couple to specialized models, e.g. for climate assessment reporting. This can be verified in the `default.cfg` file where `cfg$pythonEnabled` is set to `"on"`. Users need to set the `cfg$pythonPath` variable to point to an appropriate Python environment. On the PIK cluster, the `conda` environment can be found in `/p/projects/rd3mod/python/environments/scm_magicc7_hpc/`. It is best practice to clone this default environment into one's home directory when using the PIK cluster, see [`make` commands below](#environment-creation-integrity-and-archiving). Further management of the Python environment, such as updating Python packages environments, is a responsibility of the user. -REMIND scripts do not alter the Python environment, ensuring that the environment remains stable and predictable throughout the usage of REMIND. For repeatability, Python environments are archived for every run. This ensures that the exact environment used for a specific run can be recreated if needed to ensure repeatability. In case a virtual environment is used, REMIND activates it automatically, ensuring the correct environment is in use. Before starting a REMIND run, checks ensure that all necessary dependencies are available. +REMIND scripts do not alter the Python environment, ensuring that the environment remains stable and predictable throughout the usage of REMIND. For repeatability a lockfile is generated for each REMIND run that archives the state of the Python environment. This ensures that the exact environment used for a specific run can be recreated if needed to ensure repeatability. In case a virtual Python environment like `conda` or `venv` is used, the user needs to make sure to activate it before starting a REMIND run. After starting a REMIND run, checks ensure that all necessary dependencies are available. ### Environment Creation, Integrity, and Archiving -REMIND supports using your system Python installation via `pip`, but also `venv` and `conda` *virtual Python environments*. Among these, `conda` is the preferred option due to its ease of use and robust package management. For more details on installing Conda, refer to the [Installing Conda](#installing-conda) section. +REMIND supports using your system Python installation via `pip`, but also *virtual Python environments* like `conda` and `venv`. Among these, `conda` is the preferred option due to its ease of use and robust package management. For more details on installing `conda`, refer to the [Installing `conda`](#installing-conda) section. The provided Makefile includes targets to create or clone a Python environment: -- `make conda-create`: Creates a new Conda environment based on the `py_requirements.txt` file. -- `make conda-clone`: Clones an existing Conda environment. -- `make pip-create`: Installs all of REMIND's Python dependencies using `pip` based on the `config/py_requirements.txt` file. *Note*: Only use this when you are managing a non-`conda` environment. +- `make clone-conda`: Clones an existing `conda` environment. Note: Users of the PIK cluster should activate the default environment at `/p/projects/rd3mod/python/environments/scm_magicc7_hpc/`, then use `make conda-clone` to create their own version +- `make create-conda`: Creates a new `conda` environment based on the `py_requirements.txt` file. ### Leveraging `reticulate` @@ -29,7 +28,7 @@ When using REMIND, you might encounter warnings about the inability to verify th ## REMIND & Anaconda -Conda is an open-source package and environment management system for Windows, macOS, and Linux. It simplifies installing and managing Python dependencies and environments, making it ideal for running REMIND. For users running REMIND on their desktop, any Python installation will do; however, we recommend using Conda for its ease of managing dependencies and environments. +`conda` is an open-source package and environment management system for Windows, macOS, and Linux. It simplifies installing and managing Python dependencies and environments, making it ideal for running REMIND. For users running REMIND on their desktop, any Python installation will do; however, we recommend using `conda` for its ease of managing dependencies and environments. ### `conda` Environment for REMIND/MAGICC7 Operation on the Cluster @@ -42,7 +41,7 @@ To ensure `climate-assessment` and `MAGICC7` are available when running REMIND o module load anaconda/2023.09 ``` -2. Configure the terminal prompt to avoid unnecessary length. This only has to run once! +2. *Optional:* Configure the terminal prompt to avoid unnecessary length. This only has to run once! ```sh conda config --set env_prompt '({name})' ``` @@ -61,16 +60,16 @@ Rscript output.R and navigate through the selection process as usual. -### Installing Conda +### Installing `conda` -This is not necessary when running REMIND on the PIK cluster. If you are on a Desktop machine or are using another shared computing infrastructure, ask your local IT department if `conda` is available for your system. For Desktop users here's a brief overview of how to install Conda. Follow these steps: +This is not necessary when running REMIND on the PIK cluster. If you are on a Desktop machine or are using another shared computing infrastructure, ask your local IT department if `conda` is available for your system. For Desktop users here's a brief overview of how to install `conda`. Follow these steps: -1. **Download the Conda installer**: - - For Anaconda (includes Conda and many scientific packages): [Anaconda Distribution](https://www.anaconda.com/products/distribution#download-section) - - For Miniconda (a minimal installer for Conda): [Miniconda Distribution](https://docs.conda.io/en/latest/miniconda.html) +1. **Download the `conda` installer**: + - *Recommended*: For Miniconda (a minimal installer for `conda`): [Miniconda Distribution](https://docs.conda.io/en/latest/miniconda.html) + - *Optional*: For Anaconda (includes `conda` and many scientific packages): [Anaconda Distribution](https://www.anaconda.com/products/distribution#download-section) 2. **Run the installer**: - - On Windows, double-click the `.exe` file. Follow the instructions + - On Windows, double-click the `.exe` file - On macOS and Linux, open a terminal and run: ```sh bash path/to/installer.sh @@ -83,9 +82,9 @@ This is not necessary when running REMIND on the PIK cluster. If you are on a De conda --version ``` -### Creating a Conda Environment from `py_requirements.txt` +### Creating a `conda` Environment from `py_requirements.txt` -To create a new Conda environment from the `config/py_requirements.txt` file that comes with REMIND, you can use the `make create-conda` target in the Makefile. This will create a new Conda environment with Python 3.11 and the packages specified in the requirements file. +To create a new `conda` environment from the `config/py_requirements.txt` file that comes with REMIND, you can use the `make create-conda` target in the Makefile. This will create a new `conda` environment with Python 3.11 and the packages specified in the requirements file. - Create a new environment with the default name `remind` in the default directory (`$HOME/.conda/envs`): ```sh @@ -109,22 +108,22 @@ To create a new Conda environment from the `config/py_requirements.txt` file tha ### Cloning the REMIND `conda` environment on the PIK cluster -To clone a Conda environment, you can use the `make clone-conda-env` target in the Makefile. This will clone the specified Conda environment or the active environment to a new environment in the user's home directory or a specified destination. +To clone a `conda` environment, you can use the `make clone-conda` target in the Makefile. This will clone the specified `conda` environment or the active environment to a new environment in the user's home directory or a specified destination. - Clone the active environment: ```sh - make clone-conda-env + make clone-conda ``` - Clone a specified environment: ```sh - make clone-conda-env ENV=my_env + make clone-conda ENV=my_env ``` - Clone a specified environment to a custom directory: ```sh - make clone-conda-env ENV=my_env DEST=~/my_custom_directory + make clone-conda ENV=my_env DEST=~/my_custom_directory ``` -#### Renaming a Conda Environment +#### Renaming a `conda` Environment If you need to rename the cloned environment, follow these steps: 1. Activate the cloned environment: @@ -132,7 +131,7 @@ If you need to rename the cloned environment, follow these steps: conda activate /path/to/cloned-env ``` -2. Export the environment to a YAML file: +2. Export the environment state to a YAML file: ```sh conda env export > cloned-env.yml ``` @@ -147,4 +146,4 @@ If you need to rename the cloned environment, follow these steps: conda remove --prefix /path/to/cloned-env --all ``` -These steps ensure that the environment is properly renamed without breaking Conda's environment management \ No newline at end of file +These steps ensure that the environment is properly renamed without breaking `conda`'s environment management \ No newline at end of file From c825f9e3074e40203ea36fc2aba87876ff8897fa Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Wed, 13 Nov 2024 12:11:10 +0100 Subject: [PATCH 709/875] set slower default ramp-up of electrolysis tax for EU regions --- main.gms | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/main.gms b/main.gms index 77e381b79..4770732df 100755 --- a/main.gms +++ b/main.gms @@ -1513,14 +1513,19 @@ $setGlobal cm_PriceDurSlope_elh2 GLO 15 !! def = GLO 15 $setGlobal cm_trade_SE_exog off !! def off *** This allows to manually adjust the ramp-up curve of the SE tax on electricity. It is mainly used for taxing electricity going into electrolysis for green hydrogen production. *** The ramp-up curve is a logistic function that determines how fast taxes increase with increasing share of technology in total power demand. -*** This essentially makes an assumption about to what extend the power demand of electrolysis will be taxed and how much tax exemptions there will be at low shares of green hydrogen production. +*** This essentially makes an assumption about to what extend the power demand of electrolysis will be taxed and how much tax exemptions there will be at low shares of green hydrogen production *** The parameter a defines how fast the tax increases with increasing share, with 4/a being the percentage point range over which the tax value increases from 12% to 88% -*** The parameter b defines at which share the tax is halfway between the value at 0 share and the maximum value (defined by a region's electricity tax and the electricity grid cost) that it converges to for high shares. +*** The parameter b defines at which share the tax is halfway between the value at 0 share and +*** the maximum value (defined by a region's electricity tax and the electricity grid cost) that it converges to for high shares. *** Example use: *** cm_SEtaxRampUpParam = "GLO.elh2.a 0.2, GLO.elh2.b 20" sets the logistic function parameter values a=0.2 and b=20 for electrolysis (elh2) to all model regions (GLO). *** cm_SEtaxRampUpParam = "off" disables v21_tau_SE_tax +*** Default: +*** cm_SEtaxRampUpParam = "GLO.elh2.a 0.2, GLO.elh2.b 20, EUR_regi.elh2.a 0.15, EUR_regi.elh2.b 40" +*** This means that electrolysis tax is at half of electricity taxation at 40% electrolysis share in power demand for European regions, and half at 20% share for the rest of the world. +*** We anticipate this lower taxation share in Europe, because Europe has particularly high electricity taxes compared to the rest of the world. *** For details, please see ./modules/21_tax/on/equations.gms. -$setGlobal cm_SEtaxRampUpParam GLO.elh2.a 0.2, GLO.elh2.b 20 !! def = GLO.elh2.a 0.2, GLO.elh2.b 20 +$setGlobal cm_SEtaxRampUpParam GLO.elh2.a 0.2, GLO.elh2.b 20, EUR_regi.elh2.a 0.15, EUR_regi.elh2.b 40 !! def = GLO.elh2.a 0.2, GLO.elh2.b 20, EUR_regi.elh2.a 0.15, EUR_regi.elh2.b 40 *** cm_EnSecScen "switch for running an ARIADNE energy security scenario, introducing a tax on PE fossil energy in Germany" *** switch on energy security scenario for Germany (used in ARIADNE project), sets tax on fossil PE *** switch to activate energy security scenario assumptions for Germany including additional tax on gas/oil From 2b59623fe214e8315d4b8d8d3c5341a17b76c233 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Wed, 13 Nov 2024 12:13:44 +0100 Subject: [PATCH 710/875] set higher flexibility subsidy for electrolysis by default to better fit flexibility effect derived from Enertile scenario data --- main.gms | 7 +++++-- modules/32_power/IntC/datainput.gms | 12 +++++++----- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/main.gms b/main.gms index 4770732df..850c765af 100755 --- a/main.gms +++ b/main.gms @@ -1499,9 +1499,12 @@ $setGlobal cm_import_EU off !! def off *** (off) no ARIADNE-specific H2 imports for Germany $setGlobal cm_import_ariadne off !! def off *** cm_PriceDurSlope_elh2, slope of price duration curve for electrolysis (increase means more flexibility subsidy for electrolysis H2) +*** It parameterizes how much the electricity price for electrolysis is reduced relative to the annual average electricity price *** This switch only has an effect if the flexibility tax is on by cm_flex_tax set to 1 -*** Default value is based on data from German Langfristszenarien (see ./modules/32_power/IntC/datainput.gms). -$setGlobal cm_PriceDurSlope_elh2 GLO 15 !! def = GLO 15 +*** Default value is based on data from German Langfristszenarien derived by the power system model Enertile. +*** It is derived by fitting a linear function to capture the relation between electrolysis electricity price and electrolysis share in total electricity demand +*** See https://github.com/remindmodel/development_issues/issues/404 for details. +$setGlobal cm_PriceDurSlope_elh2 GLO 20 !! def = GLO 20 *** cm_trade_SE_exog *** set exogenous SE trade scenarios (requires se_trade realization of modul 24 to be active) *** e.g. "2030.2050.MEA.DEU.seh2 0.5", means import of SE hydrogen from MEA to Germany from 2050 onwards of 0.5 EJ/yr, diff --git a/modules/32_power/IntC/datainput.gms b/modules/32_power/IntC/datainput.gms index fad62cf0d..c62d02dba 100644 --- a/modules/32_power/IntC/datainput.gms +++ b/modules/32_power/IntC/datainput.gms @@ -70,14 +70,16 @@ p32_shThresholdTotVREAddIntCost(t)$(t.val > 2045) = 95; p32_FactorAddIntCostTotVRE = 1.5; -*** Flexibility Tax Parameter +*** Flexibility Tax Parameters +*** The flexibility tax for electrolysis reduces the electricity price electrolysis sees via a subsidy. It is determined by two parameters +*** 1) p32_PriceDurSlope determines the minimum electricity price of electrolysis (relative to average elec. price) at an electrolysis share in electricity demand of 0 (and high VRE share) +*** 2) p32_flexSeelShare_slope determines the slope of the linear function at which the electrolysis el. price increases at higher electrolysis shares *** Both flexibility tax parameters are based on a regression analysis with hourly dispatch data from high-VRE scenarios of the Langfristszenarien -*** for Germany provided by the Enertile power system model. -*** See: https://langfristszenarien.de/enertile-explorer-de/szenario-explorer/angebot.php +*** for Germany provided by the Enertile power system model ( https://langfristszenarien.de/enertile-explorer-de/szenario-explorer/angebot.php). +*** See https://github.com/remindmodel/development_issues/issues/404 for details. -*** This parameter determines by the maximum electricity price reduction for electrolysis at 100% VRE share and 0% share of electrolysis in total electricity demand. -*** Standard value is derived based on the regression of the German Langfristzenarien. +*** p32_PriceDurSlope can be chosen by a switch. The standard value can be found in main.gms. parameter f32_cm_PriceDurSlope_elh2(ext_regi) "slope of price duration curve for electrolysis [#]" / %cm_PriceDurSlope_elh2% /; p32_PriceDurSlope(regi,"elh2") = f32_cm_PriceDurSlope_elh2("GLO"); loop(ext_regi$f32_cm_PriceDurSlope_elh2(ext_regi), From 13e6cda70f4c149892e6884fdd8e8a81beec2d5f Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Wed, 13 Nov 2024 12:15:41 +0100 Subject: [PATCH 711/875] remove trailing white spaces --- main.gms | 12 ++++++------ modules/32_power/IntC/datainput.gms | 10 +++++----- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/main.gms b/main.gms index 850c765af..8144c97cc 100755 --- a/main.gms +++ b/main.gms @@ -371,14 +371,14 @@ $setglobal emicapregi none !! def = none *' *' This module defines the carbon price pm_taxCO2eq, with behaviour across regions governed by similar principles (e.g. global targets, or all following NDC or NPi policies). *' -*' * (diffExp2Lin) and (diffLin2Lin): standard carbonprice realizations for ambitious climate policy scenarios [REMIND default for peak budget runs: diffLin2Lin in combination with iterative_target_adj = 9], +*' * (diffExp2Lin) and (diffLin2Lin): standard carbonprice realizations for ambitious climate policy scenarios [REMIND default for peak budget runs: diffLin2Lin in combination with iterative_target_adj = 9], *' * three main design choices: *' * [diff]: level of regional carbonprice differentiation in 2030 determined by cm_co2_tax_spread (default = 10); quadratic phase-in to reach globally uniform carbonprices in cm_CO2priceRegConvEndYr *' * [Exp or Lin]: functional form of carbonprice path for developed regions: *' * [Exp]: exponential increase with rate given by cm_co2_tax_growth, (initial) value in cm_startyear is given by cm_co2_tax_startyear *' * [Lin]: linear increase starting at historical level given by cm_co2_tax_hist in year cm_year_co2_tax_hist, (initial) value in cm_startyear set by cm_co2_tax_startyear *' * [2Lin]: post-peak behaviour depending on cm_iterative_target_adj -*' * [9]: after the (endogenously adjusted) peak year, carbonprice path increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant) +*' * [9]: after the (endogenously adjusted) peak year, carbonprice path increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant) *' * [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 @@ -389,7 +389,7 @@ $setglobal emicapregi none !! def = none *' * (NPi): National Policies Implemented, extrapolation of historical (until 2020) carbon prices *' * (none): no tax policy (combined with all emiscens except emiscen = 9) -*** (exponential) is superseded by (diffExp2Lin): For a globally uniform, exponentially increasing carbonprice path until end of century [in combination with cm_iterative_target_adj = 0 or 5], set cm_co2_tax_spread = 1, set cm_peakBudgYr = 2110, and choose the initial carbonprice in cm_startyear via cm_co2_tax_startyear. +*** (exponential) is superseded by (diffExp2Lin): For a globally uniform, exponentially increasing carbonprice path until end of century [in combination with cm_iterative_target_adj = 0 or 5], set cm_co2_tax_spread = 1, set cm_peakBudgYr = 2110, and choose the initial carbonprice in cm_startyear via cm_co2_tax_startyear. *** (linear) is superseded by (diffLin2Lin): For a globally uniform, linearly increasing carbonprice path until end of century [in combination with cm_iterative_target_adj = 0 or 5], set cm_co2_tax_spread = 1, set cm_peakBudgYr = 2110, and choose the initial carbonprice in cm_startyear via cm_co2_tax_startyear. [Adjust historical reference point (cm_year_co2_tax_hist, cm_co2_tax_hist) if needed.] $setglobal carbonprice none !! def = none @@ -911,7 +911,7 @@ parameter ; cm_33_EW_upScalingRateLimit = 0.2; !! def = 20% !! regexp = is.nonnegative -parameter +parameter cm_33_EW_shortTermLimit "Limit on 2030 potential for enhanced weathering, defined as % of land on which EW is applied. Default 0.5% of land" ; cm_33_EW_shortTermLimit = 0.005; !! def = 0.5% !! regexp = is.nonnegative @@ -1518,14 +1518,14 @@ $setGlobal cm_trade_SE_exog off !! def off *** The ramp-up curve is a logistic function that determines how fast taxes increase with increasing share of technology in total power demand. *** This essentially makes an assumption about to what extend the power demand of electrolysis will be taxed and how much tax exemptions there will be at low shares of green hydrogen production *** The parameter a defines how fast the tax increases with increasing share, with 4/a being the percentage point range over which the tax value increases from 12% to 88% -*** The parameter b defines at which share the tax is halfway between the value at 0 share and +*** The parameter b defines at which share the tax is halfway between the value at 0 share and *** the maximum value (defined by a region's electricity tax and the electricity grid cost) that it converges to for high shares. *** Example use: *** cm_SEtaxRampUpParam = "GLO.elh2.a 0.2, GLO.elh2.b 20" sets the logistic function parameter values a=0.2 and b=20 for electrolysis (elh2) to all model regions (GLO). *** cm_SEtaxRampUpParam = "off" disables v21_tau_SE_tax *** Default: *** cm_SEtaxRampUpParam = "GLO.elh2.a 0.2, GLO.elh2.b 20, EUR_regi.elh2.a 0.15, EUR_regi.elh2.b 40" -*** This means that electrolysis tax is at half of electricity taxation at 40% electrolysis share in power demand for European regions, and half at 20% share for the rest of the world. +*** This means that electrolysis tax is at half of electricity taxation at 40% electrolysis share in power demand for European regions, and half at 20% share for the rest of the world. *** We anticipate this lower taxation share in Europe, because Europe has particularly high electricity taxes compared to the rest of the world. *** For details, please see ./modules/21_tax/on/equations.gms. $setGlobal cm_SEtaxRampUpParam GLO.elh2.a 0.2, GLO.elh2.b 20, EUR_regi.elh2.a 0.15, EUR_regi.elh2.b 40 !! def = GLO.elh2.a 0.2, GLO.elh2.b 20, EUR_regi.elh2.a 0.15, EUR_regi.elh2.b 40 diff --git a/modules/32_power/IntC/datainput.gms b/modules/32_power/IntC/datainput.gms index c62d02dba..f914d9920 100644 --- a/modules/32_power/IntC/datainput.gms +++ b/modules/32_power/IntC/datainput.gms @@ -38,10 +38,10 @@ $offdelim ; *** windoffshore-todo -*** allow input data with either "wind" or "windon" until mrremind is updated +*** allow input data with either "wind" or "windon" until mrremind is updated f32_factorStorage(all_regi,"windon") $ (f32_factorStorage(all_regi,"windon") eq 0) = f32_factorStorage(all_regi,"wind"); f32_factorStorage(all_regi,"windoff") = f32_factorStorage(all_regi,"windon"); -f32_factorStorage(all_regi,"windon") = 1.35 * f32_factorStorage(all_regi,"windon"); +f32_factorStorage(all_regi,"windon") = 1.35 * f32_factorStorage(all_regi,"windon"); p32_factorStorage(all_regi,teVRE) = f32_factorStorage(all_regi,teVRE); @@ -60,7 +60,7 @@ $include "./modules/32_power/IntC/input/f32_storageCap.prn" p32_storageCap(te,char) = f32_storageCap(char,te); display p32_storageCap; -*** set total VRE share threshold above which additional integration challenges arise: +*** set total VRE share threshold above which additional integration challenges arise: p32_shThresholdTotVREAddIntCost(t)$(t.val < 2030) = 50; p32_shThresholdTotVREAddIntCost("2030") = 60; p32_shThresholdTotVREAddIntCost("2035") = 70; @@ -76,7 +76,7 @@ p32_FactorAddIntCostTotVRE = 1.5; *** 1) p32_PriceDurSlope determines the minimum electricity price of electrolysis (relative to average elec. price) at an electrolysis share in electricity demand of 0 (and high VRE share) *** 2) p32_flexSeelShare_slope determines the slope of the linear function at which the electrolysis el. price increases at higher electrolysis shares *** Both flexibility tax parameters are based on a regression analysis with hourly dispatch data from high-VRE scenarios of the Langfristszenarien -*** for Germany provided by the Enertile power system model ( https://langfristszenarien.de/enertile-explorer-de/szenario-explorer/angebot.php). +*** for Germany provided by the Enertile power system model ( https://langfristszenarien.de/enertile-explorer-de/szenario-explorer/angebot.php). *** See https://github.com/remindmodel/development_issues/issues/404 for details. *** p32_PriceDurSlope can be chosen by a switch. The standard value can be found in main.gms. @@ -86,7 +86,7 @@ loop(ext_regi$f32_cm_PriceDurSlope_elh2(ext_regi), loop(regi$regi_groupExt(ext_regi,regi), p32_PriceDurSlope(regi,"elh2") = f32_cm_PriceDurSlope_elh2(ext_regi); ); -); +); *** Slope of increase of electricity price for electrolysis with increasing share of electrolysis in power system *** The value of 1.1 is derived from the regression of the German Langfristzenarien. From 7b95a910fa692fa1de23771770354313952dffcf Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Wed, 13 Nov 2024 13:25:24 +0100 Subject: [PATCH 712/875] formating changes required by code check --- core/declarations.gms | 2 +- core/equations.gms | 6 +++--- core/postsolve.gms | 4 ++-- modules/39_CCU/off/not_used.txt | 3 ++- modules/39_CCU/on/not_used.txt | 1 - 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/core/declarations.gms b/core/declarations.gms index ca4253635..d08980e13 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -414,7 +414,7 @@ vm_costAddTeInv(tall,all_regi,all_te,emi_sectors) "additional sector-specific vm_co2CCS(ttot,all_regi,all_enty,all_enty,all_te,rlf) "all different ccs. [GtC/a]" -vm_co2capture(ttot,all_regi,all_enty,all_enty,all_te,rlf) "all captured CO2. [GtC/a]" +v_co2capture(ttot,all_regi,all_enty,all_enty,all_te,rlf) "all captured CO2. [GtC/a]" v_co2capturevalve(ttot,all_regi) "CO2 emitted right after capture [GtC/a] (in q_balCCUvsCCS to account for different lifetimes of capture and CCU/CCS te and capacities)" v_prodUe (ttot,all_regi,all_enty,all_enty,all_te) "Useful energy production [TWa]" diff --git a/core/equations.gms b/core/equations.gms index 438947d8e..78fb8ac84 100644 --- a/core/equations.gms +++ b/core/equations.gms @@ -744,7 +744,7 @@ q_emiCdrAll(t,regi).. ) * ( !! scaled by the fraction that gets stored geologically sum(teCCS2rlf(te, rlf), vm_co2CCS(t, regi, "cco2", "ico2", te, rlf)) - / (sum(teCCS2rlf(te, rlf), vm_co2capture(t, regi, "cco2", "ico2", "ccsinje", rlf)) + sm_eps) + / (sum(teCCS2rlf(te, rlf), v_co2capture(t, regi, "cco2", "ico2", "ccsinje", rlf)) + sm_eps) ) !! net negative emissions from co2luc - p_macBaseMagpieNegCo2(t,regi) @@ -829,7 +829,7 @@ q_budgetCO2eqGlob$(cm_emiscen=6).. *' Definition of carbon capture : ***--------------------------------------------------------------------------- q_balcapture(t,regi,ccs2te(ccsCo2(enty),enty2,te)) .. - sum(teCCS2rlf(te,rlf), vm_co2capture(t,regi,enty,enty2,te,rlf)) + sum(teCCS2rlf(te,rlf), v_co2capture(t,regi,enty,enty2,te,rlf)) =e= !! carbon captured in energy sector sum(emi2te(enty3,enty4,te2,enty), @@ -852,7 +852,7 @@ q_balcapture(t,regi,ccs2te(ccsCo2(enty),enty2,te)) .. *' atmosphere) ***--------------------------------------------------------------------------- q_balCCUvsCCS(t,regi) .. - sum(teCCS2rlf(te,rlf), vm_co2capture(t,regi,"cco2","ico2",te,rlf)) + sum(teCCS2rlf(te,rlf), v_co2capture(t,regi,"cco2","ico2",te,rlf)) =e= sum(teCCS2rlf(te,rlf), vm_co2CCS(t,regi,"cco2","ico2",te,rlf)) + sum(teCCU2rlf(te,rlf), vm_co2CCUshort(t,regi,"cco2","ccuco2short",te,rlf)) diff --git a/core/postsolve.gms b/core/postsolve.gms index 12a35b130..a369000d1 100644 --- a/core/postsolve.gms +++ b/core/postsolve.gms @@ -581,7 +581,7 @@ pm_PEPrice(ttot,regi,entyPe)$(abs (qm_budget.m(ttot,regi)) gt sm_eps) = q_balPe.m(ttot,regi,entyPe) / qm_budget.m(ttot,regi); *** calculate share of stored CO2 from captured CO2 -pm_share_CCS_CCO2(t,regi) = sum(teCCS2rlf(te,rlf), vm_co2CCS.l(t,regi,"cco2","ico2",te,rlf)) / (sum(teCCS2rlf(te,rlf), vm_co2capture.l(t,regi,"cco2","ico2",te,rlf))+sm_eps); +pm_share_CCS_CCO2(t,regi) = sum(teCCS2rlf(te,rlf), vm_co2CCS.l(t,regi,"cco2","ico2",te,rlf)) / (sum(teCCS2rlf(te,rlf), v_co2capture.l(t,regi,"cco2","ico2",te,rlf))+sm_eps); *** emissions reporting helper parameters o_emissions_bunkers(ttot,regi,emi)$(ttot.val ge 2005) = @@ -732,7 +732,7 @@ o_emissions_other(ttot,regi,emi)$(ttot.val ge 2005) = ***Carbon Management|Carbon Capture (Mt CO2/yr) o_capture(ttot,regi,"co2")$(ttot.val ge 2005) = sum(teCCS2rlf(te,rlf), - vm_co2capture.l(ttot,regi,"cco2","ico2","ccsinje",rlf) + v_co2capture.l(ttot,regi,"cco2","ico2","ccsinje",rlf) )*o_emi_conv("co2"); ***Carbon Management|Carbon Capture|Process|Energy (Mt CO2/yr) diff --git a/modules/39_CCU/off/not_used.txt b/modules/39_CCU/off/not_used.txt index d5dc3e529..bf31f4346 100644 --- a/modules/39_CCU/off/not_used.txt +++ b/modules/39_CCU/off/not_used.txt @@ -10,4 +10,5 @@ pm_emifac,input,questionnaire cm_emiscen,input,questionnaire cm_shSynGas,input,questionnaire vm_prodSe,input,questionnaire -vm_co2capture,input,questionnaire +pm_gdp,input,not used +pm_cf,input,not used diff --git a/modules/39_CCU/on/not_used.txt b/modules/39_CCU/on/not_used.txt index 536c29ad0..85ff9312e 100644 --- a/modules/39_CCU/on/not_used.txt +++ b/modules/39_CCU/on/not_used.txt @@ -5,4 +5,3 @@ # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de name,type,reason - From 425c0870a4d23f18493dfdf75abeef0eef1f1f10 Mon Sep 17 00:00:00 2001 From: tabeado Date: Wed, 13 Nov 2024 14:22:48 +0100 Subject: [PATCH 713/875] fix BECCS capacities in 2020 to zero --- core/bounds.gms | 3 +++ 1 file changed, 3 insertions(+) diff --git a/core/bounds.gms b/core/bounds.gms index bd7cb1686..27c46baca 100755 --- a/core/bounds.gms +++ b/core/bounds.gms @@ -288,6 +288,9 @@ loop(te$(sameas(te,"ngcc") OR sameas(te,"ngt") OR sameas(te,"gaschp")), vm_cap.lo("2020",regi,te,"1")$pm_histCap("2020",regi,te) = 0.95 * pm_histCap("2020",regi,te); ); +*** fix capacities for BECCS technologies to zero in 2020 +vm_cap.fx("2020",regi,te,rlf)$(sameas(te,"bioigccc") OR sameas(te,"bioftcrec") OR sameas(te,"bioh2c") OR sameas(te,"biogasc")) = 0; + *** fix emissions to historical emissions in 2010 *** RP: turned off in March 2018, as it produces substantial negative side-effects (requiring strong early retirement in 2010, which influences the future investments even in Reference scenarios) *** vm_emiTe.up("2010",regi,"co2") = p_boundEmi("2010",regi) ; From 7c04187bc684076df36b9d9b9df63a7746e78568 Mon Sep 17 00:00:00 2001 From: tabeado Date: Wed, 13 Nov 2024 16:27:58 +0100 Subject: [PATCH 714/875] refined description --- core/bounds.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/bounds.gms b/core/bounds.gms index 27c46baca..e380c8da9 100755 --- a/core/bounds.gms +++ b/core/bounds.gms @@ -288,7 +288,7 @@ loop(te$(sameas(te,"ngcc") OR sameas(te,"ngt") OR sameas(te,"gaschp")), vm_cap.lo("2020",regi,te,"1")$pm_histCap("2020",regi,te) = 0.95 * pm_histCap("2020",regi,te); ); -*** fix capacities for BECCS technologies to zero in 2020 +*** fix capacities for advanced bio carbon capture technologies to zero in 2020 (i.e. no BECCS in 2020) vm_cap.fx("2020",regi,te,rlf)$(sameas(te,"bioigccc") OR sameas(te,"bioftcrec") OR sameas(te,"bioh2c") OR sameas(te,"biogasc")) = 0; *** fix emissions to historical emissions in 2010 From 36a759613ec6e4fdbd464663a9b23c4a9e58330a Mon Sep 17 00:00:00 2001 From: tabeado Date: Wed, 13 Nov 2024 17:00:55 +0100 Subject: [PATCH 715/875] generalize formulation of BECC technologies --- core/bounds.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/bounds.gms b/core/bounds.gms index e380c8da9..c07ecfa7b 100755 --- a/core/bounds.gms +++ b/core/bounds.gms @@ -289,7 +289,7 @@ loop(te$(sameas(te,"ngcc") OR sameas(te,"ngt") OR sameas(te,"gaschp")), ); *** fix capacities for advanced bio carbon capture technologies to zero in 2020 (i.e. no BECCS in 2020) -vm_cap.fx("2020",regi,te,rlf)$(sameas(te,"bioigccc") OR sameas(te,"bioftcrec") OR sameas(te,"bioh2c") OR sameas(te,"biogasc")) = 0; +vm_cap.fx("2020",regi,te,rlf)$(teBio(te) AND teCCS(te)) = 0; *** fix emissions to historical emissions in 2010 *** RP: turned off in March 2018, as it produces substantial negative side-effects (requiring strong early retirement in 2010, which influences the future investments even in Reference scenarios) From 9032c903391e9eb160191f2a4849d7a4d4cf7b2f Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Wed, 13 Nov 2024 16:35:32 +0000 Subject: [PATCH 716/875] Release development version 3.3.2.dev927 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 7e9dc97e8..32019f3a5 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev922" -date-released: 2024-11-11 +version: "3.3.2.dev927" +date-released: 2024-11-13 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 4025caef1..f1596fadc 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev922" +cfg$model_version <- "3.3.2.dev927" #### settings #### cfg$gms <- list() From 430cb24e472c681d0d4666f8134a7e09ed7c72f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tonn=20R=C3=BCter?= Date: Thu, 14 Nov 2024 10:40:05 +0100 Subject: [PATCH 717/875] Deleted scenarios mentioning magicc as climate realization --- config/scenario_config_NGFS_v5.csv | 53 +----------------------------- 1 file changed, 1 insertion(+), 52 deletions(-) diff --git a/config/scenario_config_NGFS_v5.csv b/config/scenario_config_NGFS_v5.csv index 24b49edba..fd4b2f821 100644 --- a/config/scenario_config_NGFS_v5.csv +++ b/config/scenario_config_NGFS_v5.csv @@ -22,55 +22,4 @@ o_lowdem_KLW_d50;KLW;o_lowdem;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;KotzW o_2c_KLW_d50;KLW;o_2c;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;KotzWenzItr;/p/projects/rd3mod/climate-assessment-files/parsets/RCP26_50.json;;on;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;h_cpol;h_cpol_KLW_d50;;o_2c_KLW_d50: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kotz and Wenz (2024) are internalized in the optimization using the 50th percentile of RCP2.6. d_delfrag_KLW_d50;KLW;d_delfrag;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;KotzWenzItr;/p/projects/rd3mod/climate-assessment-files/parsets/RCP26_50.json;;on;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;h_cpol_KLW_d50;h_cpol_KLW_d50;;d_delfrag_KLW_d50: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kotz and Wenz (2024) are internalized in the optimization using the 50th percentile of RCP2.6. d_strain_KLW_d50;KLW;d_strain;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;KotzWenzItr;/p/projects/rd3mod/climate-assessment-files/parsets/RCP45_50.json;;on;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;h_cpol_KLW_d50;h_cpol_KLW_d50;;d_strain_KLW_d50: Fragmented World. Damages from climate change based on Kotz and Wenz (2024) are internalized in the optimization using the 50th percentile of RCP4.5. -d_rap_KLW_d50;0;d_rap;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;KotzWenzItr;/p/projects/rd3mod/climate-assessment-files/parsets/RCP20_50.json;;on;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;h_cpol;h_cpol_KLW_d50;;d_rap_KLW_d50: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kotz and Wenz (2024) are internalized in the optimization using the 50th percentile of RCP2.6. -# ___WITH_DAMAGES_old_NGFSv4___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-Base_d50;0;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KWLike;0;;;RCP26_50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d50: 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -SSP2-Base_d95;0;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KWLike;0;;;RCP26_95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d95: 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -SSP2-Base_d50high;d50high;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KW_SE;1.96;;;RCP26_50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d50: 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -SSP2-Base_d95high;d95high;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KW_SE;1.96;;;RCP26_95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d95: 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -h_cpol_d50;d50;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d50: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -h_cpol_d95;d95;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_95;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d95: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -h_cpol_d50high;d50high;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d50high: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -h_cpol_d95high;d95high;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;;RCP26_95;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d95high: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -h_ndc_d50;d50;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d50;SSP2-Base;h_ndc_d50: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -h_ndc_d95;d95;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_95;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d95;SSP2-Base;h_ndc_d95: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -h_ndc_d50high;d50high;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d50high;SSP2-Base;h_ndc_d50high: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -h_ndc_d95high;d95high;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;;RCP26_95;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d95high;SSP2-Base;h_ndc_d95high: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -o_1p5c_d50;d50;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d50;;o_1p5c_d50: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_1p5c_d95;d95;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d95;;o_1p5c_d95: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_1p5c_d50high;d50high;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d50high;;o_1p5c_d50high: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_1p5c_d95high;d95high;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d95high;;o_1p5c_d95high: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_1p5c_d50_cpricereg;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_d50_cpricereg: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_1p5c_d95_cpricereg;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_d95_cpricereg: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_1p5c_dni50;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_dni50: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -o_1p5c_dni95;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_95;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_dni95: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -o_lowdem_d50;d50;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d50;;o_lowdem_d50 -o_lowdem_d95;d95;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d95;;o_lowdem_d95 -o_lowdem_d50high;d50high;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d50high;;o_lowdem_d50high -o_lowdem_d95high;d95high;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d95high;;o_lowdem_d95high -o_2c_d50;d50;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d50;;o_2c_d50: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_2c_d95;d95;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d95;;o_2c_d95: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_2c_d50high;d50high;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d50high;;o_2c_d50high: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_2c_d95high;d95high;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d95high;;o_2c_d95high: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_2c_d50_cpricereg;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_d50_cpricereg: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. The Social Cost of Carbon is regional rather than globally uniform. -o_2c_d95_cpricereg;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_d95_cpricereg: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. The Social Cost of Carbon is regional rather than globally uniform. -o_2c_dni50;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_dni50: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -o_2c_dni50_fixCprice;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;0;;1050;exogenous;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_dni50_fixCprice: a test run fixing the carbon price to the one from the fully integrated o_2c_d50 scenario -o_2c_fixCprice;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;off;0;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;0;;1050;exogenous;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_fixCprice: a test run fixing the carbon price to the one from the fully integrated o_2c scenario -o_2c_dni95;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_95;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_dni95: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -d_delfrag_d50;d50;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d50;h_cpol_d50;;d_delfrag_d50: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -d_delfrag_d95;d95;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d95;h_cpol_d95;;d_delfrag_d95: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -d_delfrag_d50high;d50high;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d50high;h_cpol_d50high;;d_delfrag_d50high: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -d_delfrag_d95high;d95high;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d95high;h_cpol_d95high;;d_delfrag_d95high: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -d_strain_d50;d50;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d50;h_cpol_d50;;d_strain_d50: Fragmented World -d_strain_d95;d95;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d95;h_cpol_d95;;d_strain_d95: Fragmented World -d_strain_d50high;d50high;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d50high;h_cpol_d50high;;d_strain_d50high: Fragmented World -d_strain_d95high;d95high;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d95high;h_cpol_d95high;;d_strain_d95high: Fragmented World -d_rap_d50;d50;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d50;;d_rap_d50: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -d_rap_d95;d95;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d95;;d_rap_d95: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -d_rap_d50high;d50high;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d50high;;d_rap_d50high: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -d_rap_d95high;d95high;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d95high;;d_rap_d95high: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_cba_d50;d50;h_cpol;;;;;;load;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50;on;;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;;2025;o_2c;h_cpol_noUkr;h_cpol_d50;;o_cba_d50: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_cba_d95;d95;h_cpol;;;;;;load;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;;2025;o_2c;h_cpol_noUkr;h_cpol_d95;;o_cba_d95: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_cba_d50high;d50high;h_cpol;;;;;;load;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;;2025;o_2c;h_cpol_noUkr;h_cpol_d50high;;o_cba_d50high: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_cba_d95high;d95high;h_cpol;;;;;;load;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;;2025;o_2c;h_cpol_noUkr;h_cpol_d95high;;o_cba_d95high: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +d_rap_KLW_d50;0;d_rap;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;KotzWenzItr;/p/projects/rd3mod/climate-assessment-files/parsets/RCP20_50.json;;on;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;h_cpol;h_cpol_KLW_d50;;d_rap_KLW_d50: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kotz and Wenz (2024) are internalized in the optimization using the 50th percentile of RCP2.6. \ No newline at end of file From 52e3077e592746b32c94db9b15ecb10d3e8110f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tonn=20R=C3=BCter?= Date: Thu, 14 Nov 2024 10:59:28 +0100 Subject: [PATCH 718/875] Rm'ed sm_budgetCO2eqGlob, pm_budgetCO2eq from climate module not_used.txt --- modules/15_climate/magicc7_ar6/not_used.txt | 4 +--- modules/15_climate/off/not_used.txt | 5 +---- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/modules/15_climate/magicc7_ar6/not_used.txt b/modules/15_climate/magicc7_ar6/not_used.txt index 6adb7cf31..85ff9312e 100644 --- a/modules/15_climate/magicc7_ar6/not_used.txt +++ b/modules/15_climate/magicc7_ar6/not_used.txt @@ -4,6 +4,4 @@ # | AGPL-3.0, you are granted additional permissions described in the # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de -name, type, reason -sm_budgetCO2eqGlob, parameter, Deprecated -pm_budgetCO2eq, parameter, Deprecated +name,type,reason diff --git a/modules/15_climate/off/not_used.txt b/modules/15_climate/off/not_used.txt index a7bd128b7..4d0b9af8c 100644 --- a/modules/15_climate/off/not_used.txt +++ b/modules/15_climate/off/not_used.txt @@ -4,14 +4,11 @@ # | AGPL-3.0, you are granted additional permissions described in the # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de -name, type, reason -sm_budgetCO2eqGlob, parameter, ?? +name,type,reason pm_taxCO2eq, parameter, ?? -pm_budgetCO2eq, parameter, ?? cm_emiscen, switch, ??? cm_startyear, switch, ??? cm_iterative_target_adj, switch, ??? pm_globalMeanTemperatureZeroed1900,input,questionnaire pm_temperatureImpulseResponseCO2,input,questionnaire pm_globalMeanTemperature,input,questionnaire - From 2eb53e346a962b131b9ce3a64a997cd0a242be03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tonn=20R=C3=BCter?= Date: Thu, 14 Nov 2024 11:39:35 +0100 Subject: [PATCH 719/875] Renamed pm_emiAPex[o, oGlob, solve] to prefix p11_ as it is only used in 11_aerosols --- modules/11_aerosols/exoGAINS/datainput.gms | 68 +++++++++---------- modules/11_aerosols/exoGAINS/declarations.gms | 4 +- modules/11_aerosols/exoGAINS/postsolve.gms | 14 ++-- 3 files changed, 43 insertions(+), 43 deletions(-) diff --git a/modules/11_aerosols/exoGAINS/datainput.gms b/modules/11_aerosols/exoGAINS/datainput.gms index 3623fa108..87b4d93fc 100644 --- a/modules/11_aerosols/exoGAINS/datainput.gms +++ b/modules/11_aerosols/exoGAINS/datainput.gms @@ -32,13 +32,13 @@ p11_emiAPexoAgricult(t,regi,enty,all_exogEmi) = f11_emiAPexoAgricult(t,regi,enty if ( (cm_startyear gt 2005), -Execute_Loadpoint 'input_ref' pm_emiAPexo = pm_emiAPexo; +Execute_Loadpoint 'input_ref' p11_emiAPexo = p11_emiAPexo; ); -pm_emiAPexo(t,regi,enty,"Agriculture") = p11_emiAPexoAgricult(t,regi,enty,"Agriculture"); -pm_emiAPexo(t,regi,enty,"AgWasteBurning") = p11_emiAPexoAgricult(t,regi,enty,"AgWasteBurning"); -pm_emiAPexo(t,regi,enty,"ForestBurning") = p11_emiAPexoAgricult(t,regi,enty,"ForestBurning"); -pm_emiAPexo(t,regi,enty,"GrasslandBurning") = p11_emiAPexoAgricult(t,regi,enty,"GrasslandBurning"); +p11_emiAPexo(t,regi,enty,"Agriculture") = p11_emiAPexoAgricult(t,regi,enty,"Agriculture"); +p11_emiAPexo(t,regi,enty,"AgWasteBurning") = p11_emiAPexoAgricult(t,regi,enty,"AgWasteBurning"); +p11_emiAPexo(t,regi,enty,"ForestBurning") = p11_emiAPexoAgricult(t,regi,enty,"ForestBurning"); +p11_emiAPexo(t,regi,enty,"GrasslandBurning") = p11_emiAPexoAgricult(t,regi,enty,"GrasslandBurning"); parameter f11_emiAPexoGlob(tall,all_rcp_scen,all_enty,all_exogEmi) "exogenous emissions for aviation and international shipping from RCP scenarios" @@ -47,7 +47,7 @@ $ondelim $include "./modules/11_aerosols/exoGAINS/input/f11_emiAPexoGlob.cs4r"; $offdelim /; -pm_emiAPexoGlob(ttot,enty,all_exogEmi) = f11_emiAPexoGlob(ttot,"rcp60",enty,all_exogEmi); +p11_emiAPexoGlob(ttot,enty,all_exogEmi) = f11_emiAPexoGlob(ttot,"rcp60",enty,all_exogEmi); parameter f11_emiAPexo(tall,all_regi,all_rcp_scen,all_enty,all_exogEmi) "exogenous emissions from RCP scenarios" / @@ -55,10 +55,10 @@ $ondelim $include "./modules/11_aerosols/exoGAINS/input/f11_emiAPexo.cs4r" $offdelim /; -pm_emiAPexo(ttot,regi,enty,"Waste") = f11_emiAPexo(ttot,regi,"rcp60",enty,"Waste"); -display pm_emiAPexoGlob,pm_emiAPexo; +p11_emiAPexo(ttot,regi,enty,"Waste") = f11_emiAPexo(ttot,regi,"rcp60",enty,"Waste"); +display p11_emiAPexoGlob,p11_emiAPexo; -parameter pm_emiAPexsolve(tall,all_regi,all_sectorEmi,emiRCP) "???"; +parameter p11_emiAPexsolve(tall,all_regi,all_sectorEmi,emiRCP) "???"; parameter f11_emiAPexsolve(tall,all_regi,all_sectorEmi,emiRCP,all_APscen) "ECLIPSE emission factors of air pollutants" / $ondelim @@ -66,33 +66,33 @@ $include "./modules/11_aerosols/exoGAINS/input/f11_emiAPexsolve.cs4r" $offdelim / ; -pm_emiAPexsolve(tall,all_regi,all_sectorEmi,emiRCP) = f11_emiAPexsolve(tall,all_regi,all_sectorEmi,emiRCP,"%cm_APscen%"); +p11_emiAPexsolve(tall,all_regi,all_sectorEmi,emiRCP) = f11_emiAPexsolve(tall,all_regi,all_sectorEmi,emiRCP,"%cm_APscen%"); *JS* exogenous air pollutant emissions from land use, land use change, and industry processes -pm_emiExog(t,regi,"SO2") = pm_emiAPexo(t,regi,"SO2","AgWasteBurning") - + pm_emiAPexo(t,regi,"SO2","Agriculture") - + pm_emiAPexo(t,regi,"SO2","ForestBurning") - + pm_emiAPexo(t,regi,"SO2","GrasslandBurning") - + pm_emiAPexo(t,regi,"SO2","Waste") - + pm_emiAPexsolve(t,regi,"solvents","SOx") - + pm_emiAPexsolve(t,regi,"extraction","SOx") - + pm_emiAPexsolve(t,regi,"indprocess","SOx"); -pm_emiExog(t,regi,"BC") = pm_emiAPexo(t,regi,"BC","AgWasteBurning") - + pm_emiAPexo(t,regi,"BC","Agriculture") - + pm_emiAPexo(t,regi,"BC","ForestBurning") - + pm_emiAPexo(t,regi,"BC","GrasslandBurning") - + pm_emiAPexo(t,regi,"BC","Waste") - + pm_emiAPexsolve(t,regi,"solvents","BC") - + pm_emiAPexsolve(t,regi,"extraction","BC") - + pm_emiAPexsolve(t,regi,"indprocess","BC"); -pm_emiExog(t,regi,"OC") = pm_emiAPexo(t,regi,"OC","AgWasteBurning") - + pm_emiAPexo(t,regi,"OC","Agriculture") - + pm_emiAPexo(t,regi,"OC","ForestBurning") - + pm_emiAPexo(t,regi,"OC","GrasslandBurning") - + pm_emiAPexo(t,regi,"OC","Waste") - + pm_emiAPexsolve(t,regi,"solvents","OC") - + pm_emiAPexsolve(t,regi,"extraction","OC") - + pm_emiAPexsolve(t,regi,"indprocess","OC"); +pm_emiExog(t,regi,"SO2") = p11_emiAPexo(t,regi,"SO2","AgWasteBurning") + + p11_emiAPexo(t,regi,"SO2","Agriculture") + + p11_emiAPexo(t,regi,"SO2","ForestBurning") + + p11_emiAPexo(t,regi,"SO2","GrasslandBurning") + + p11_emiAPexo(t,regi,"SO2","Waste") + + p11_emiAPexsolve(t,regi,"solvents","SOx") + + p11_emiAPexsolve(t,regi,"extraction","SOx") + + p11_emiAPexsolve(t,regi,"indprocess","SOx"); +pm_emiExog(t,regi,"BC") = p11_emiAPexo(t,regi,"BC","AgWasteBurning") + + p11_emiAPexo(t,regi,"BC","Agriculture") + + p11_emiAPexo(t,regi,"BC","ForestBurning") + + p11_emiAPexo(t,regi,"BC","GrasslandBurning") + + p11_emiAPexo(t,regi,"BC","Waste") + + p11_emiAPexsolve(t,regi,"solvents","BC") + + p11_emiAPexsolve(t,regi,"extraction","BC") + + p11_emiAPexsolve(t,regi,"indprocess","BC"); +pm_emiExog(t,regi,"OC") = p11_emiAPexo(t,regi,"OC","AgWasteBurning") + + p11_emiAPexo(t,regi,"OC","Agriculture") + + p11_emiAPexo(t,regi,"OC","ForestBurning") + + p11_emiAPexo(t,regi,"OC","GrasslandBurning") + + p11_emiAPexo(t,regi,"OC","Waste") + + p11_emiAPexsolve(t,regi,"solvents","OC") + + p11_emiAPexsolve(t,regi,"extraction","OC") + + p11_emiAPexsolve(t,regi,"indprocess","OC"); display p11_emiFacAP; display pm_emiExog; diff --git a/modules/11_aerosols/exoGAINS/declarations.gms b/modules/11_aerosols/exoGAINS/declarations.gms index 8dab5fef0..165e88a51 100644 --- a/modules/11_aerosols/exoGAINS/declarations.gms +++ b/modules/11_aerosols/exoGAINS/declarations.gms @@ -18,8 +18,8 @@ p11_emiAPexsolveGDX(tall,all_regi,all_sectorEmi,emiRCP) p11_emiAPexoAgricult(ttot,all_regi,all_enty,all_exogEmi) "Air pollution generated by exoGAINSAirpollutants.R" -pm_emiAPexo(ttot,all_regi,all_enty,all_exogEmi) "exogenous emissions from RCP scenarios" -pm_emiAPexoGlob(ttot,all_enty,all_exogEmi) "exogenous emissions for aviation and international shipping from RCP scenarios" +p11_emiAPexo(ttot,all_regi,all_enty,all_exogEmi) "exogenous emissions from RCP scenarios" +p11_emiAPexoGlob(ttot,all_enty,all_exogEmi) "exogenous emissions for aviation and international shipping from RCP scenarios" ; equations diff --git a/modules/11_aerosols/exoGAINS/postsolve.gms b/modules/11_aerosols/exoGAINS/postsolve.gms index e01e9b3f6..765ab32c4 100644 --- a/modules/11_aerosols/exoGAINS/postsolve.gms +++ b/modules/11_aerosols/exoGAINS/postsolve.gms @@ -21,17 +21,17 @@ if((o_modelstat le 2), *** Calculate AP emissions Execute "Rscript exoGAINSAirpollutants.R"; -*** Read input ref results for tall with following dimensions: pm_emiAPexsolve(tall,all_regi,all_sectorEmi,emiRCP) +*** Read input ref results for tall with following dimensions: p11_emiAPexsolve(tall,all_regi,all_sectorEmi,emiRCP) if((cm_startyear gt 2005), -Execute_Loadpoint 'input_ref' p11_emiAPexsolveGDX = pm_emiAPexsolve; -pm_emiAPexsolve(tall,regi,all_sectorEmi,emiRCP) = p11_emiAPexsolveGDX(tall,regi,all_sectorEmi,emiRCP); +Execute_Loadpoint 'input_ref' p11_emiAPexsolveGDX = p11_emiAPexsolve; +p11_emiAPexsolve(tall,regi,all_sectorEmi,emiRCP) = p11_emiAPexsolveGDX(tall,regi,all_sectorEmi,emiRCP); ); -*** Read result with following dimensions: pm_emiAPexsolve(t,all_regi,all_sectorEmi,emiRCP) -Execute_Loadpoint 'pm_emiAPexsolve' p11_emiAPexsolveGDX = pm_emiAPexsolve; -pm_emiAPexsolve(t,regi,all_sectorEmi,emiRCP) = p11_emiAPexsolveGDX(t,regi,all_sectorEmi,emiRCP); +*** Read result with following dimensions: p11_emiAPexsolve(t,all_regi,all_sectorEmi,emiRCP) +Execute_Loadpoint 'p11_emiAPexsolve' p11_emiAPexsolveGDX = p11_emiAPexsolve; +p11_emiAPexsolve(t,regi,all_sectorEmi,emiRCP) = p11_emiAPexsolveGDX(t,regi,all_sectorEmi,emiRCP); -display pm_emiAPexsolve; +display p11_emiAPexsolve; ); *** EOF ./modules/11_aerosols/exoGAINS/postsolve.gms From 3a643189d05a198b867062777ed746ca8ec5b238 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tonn=20R=C3=BCter?= Date: Thu, 14 Nov 2024 11:49:51 +0100 Subject: [PATCH 720/875] Write "p11_emiAPexsolve" instead of "pm_emiAPexsolve" --- scripts/input/exoGAINSAirpollutants.R | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/input/exoGAINSAirpollutants.R b/scripts/input/exoGAINSAirpollutants.R index d7494b6a0..e1b1504e6 100644 --- a/scripts/input/exoGAINSAirpollutants.R +++ b/scripts/input/exoGAINSAirpollutants.R @@ -192,7 +192,7 @@ out <- E_rem[,,all_sectorEmi]["GLO",,invert=TRUE] # construct attributes that are required by writeGDX gdxdata <- list() -gdxdata$name <- "pm_emiAPexsolve" +gdxdata$name <- "p11_emiAPexsolve" gdxdata$type <- "parameter" gdxdata$form <- "sparse" gdxdata$domains <- c("tall", "all_regi", "all_sectorEmi", "emiRCP") @@ -201,8 +201,8 @@ gdxdata$domains <- c("tall", "all_regi", "all_sectorEmi", "emiRCP") # add newly created attributes to existing ones attributes(out) <- c(attributes(out),list(gdxdata =gdxdata)) -# Write gdx with following dimensions: pm_emiAPexsolve(tall,all_regi,all_sectorEmi,emiRCP) -writeGDX(out,file="pm_emiAPexsolve.gdx",period_with_y = FALSE) +# Write gdx with following dimensions: p11_emiAPexsolve(tall,all_regi,all_sectorEmi,emiRCP) +writeGDX(out,file="p11_emiAPexsolve",period_with_y = FALSE) # Use this to produce file with start values for REMIND #out_cs4r <- add_dimension(out,add = "ssp", nm = ssp_scenario,dim=3.3) From 98f90d01bd6320a842e82a24ee3dbb036aa1c568 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Thu, 14 Nov 2024 13:49:58 +0100 Subject: [PATCH 721/875] * new input data (rev7.13) includign new MAgPIE emulators * add new scenarios to all_demScen and all_LU_emi_scen --- config/default.cfg | 2 +- core/sets.gms | 22 ++++++++++++---------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/config/default.cfg b/config/default.cfg index f1596fadc..62d917853 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -28,7 +28,7 @@ cfg$regionmapping <- "config/regionmappingH12.csv" cfg$extramappings_historic <- "" #### Current input data revision (.) #### -cfg$inputRevision <- "7.11" +cfg$inputRevision <- "7.13" #### Current CES parameter and GDX revision (commit hash) #### cfg$CESandGDXversion <- "84b10b9308f97fae38923762b840b8dffd456568" diff --git a/core/sets.gms b/core/sets.gms index 54f85cfe2..31e79cd7e 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -79,6 +79,7 @@ gdp_SSP2EU_CAMP_strong "CAMPAIGNers scenario with high ambition lifestyle change gdp_SSP2_demDiffer_IKEA "Demand reduction in Global North (CAZ,EUR,JPN,NEU,USA) and demand increase in Emerging regions (IND,LAM,OAS,SSA). Reduction follows the factor f of demRedStrong scenario, while increase uses factor 2-f." gdp_SSP2_demRedStrong "edget internal demScen, might be removed soon" gdp_SSP2_demRedWeak +gdp_SSP2_highDemDEU / all_GDPpcScen "all possible GDP per capita scenarios (GDP and Population from the same SSP-scenario" @@ -135,16 +136,17 @@ SLCF_building_transport all_LU_emi_scen "all emission baselines for CH4 and N2O land use emissions from MAgPIE" / - SDP "very low emissions (from SDP scenario in MAgPIE)" - SDP_EI - SDP_MC - SDP_RC - SSP1 "low emissions (from SSP1 scenario in MAgPIE)" - SSP2 "medium emissions (from SSP2 scenario in MAgPIE)" - SSP2EU - SSP3 "currently not available" - SSP4 "currently not available" - SSP5 "high emissions (from SSP5 scenario in MAgPIE)" +SDP "very low emissions (from SDP scenario in MAgPIE)" +SDP_EI +SDP_MC +SDP_RC +SSP1 "low emissions (from SSP1 scenario in MAgPIE)" +SSP2 "medium emissions (from SSP2 scenario in MAgPIE)" +SSP2EU +SSP2_lowEn +SSP3 "currently not available" +SSP4 "currently not available" +SSP5 "high emissions (from SSP5 scenario in MAgPIE)" / all_fossilScen "all possible scenarios for fossils" From dd65cb3e570af96ed66578c1632a6973ce840c8a Mon Sep 17 00:00:00 2001 From: robertpietzcker <61154412+robertpietzcker@users.noreply.github.com> Date: Thu, 14 Nov 2024 15:38:45 +0100 Subject: [PATCH 722/875] Update PV in generisdata_tech.prn --- core/input/generisdata_tech.prn | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/input/generisdata_tech.prn b/core/input/generisdata_tech.prn index ff9cd9f9e..9683aa68c 100644 --- a/core/input/generisdata_tech.prn +++ b/core/input/generisdata_tech.prn @@ -62,9 +62,9 @@ mix0 eta 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 omf 0.04 0.06 0.025 0.02 0.03 0.02 0.025 lifetime 30 25 130 25 25 30 25 30 -incolearn 2000 4000 5060 8760 +incolearn 2000 4000 5110 8760 ccap0 0.06 0.0007 0.005 0.0002 -learn 0.108 0.12 0.207 0.103 +learn 0.108 0.12 0.25 0.103 luse 0.09 0.021 From 309d73519ce9219959b7f7068bcbf52bb0c63491 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Thu, 14 Nov 2024 15:40:42 +0100 Subject: [PATCH 723/875] update scenario_config.csv for cm_LU_emi_scen for SSP1 and SSP2_lowEn --- config/scenario_config.csv | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/config/scenario_config.csv b/config/scenario_config.csv index db03d2c2c..a2e0eb9a0 100644 --- a/config/scenario_config.csv +++ b/config/scenario_config.csv @@ -22,17 +22,17 @@ SSP3-NPi;0;;;;;rcp45;3;;0;NPi;;;;;9;;;1;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;; SSP3-PkBudg1000;0;;;;;rcp26;9;;1000;diffLin2Lin;45;2080;;2100;9;;;1;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix3ICEban;2030;;SSP2-NPi;;;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. SSP3-rollBack;0;;;;;rcp45;9;;;NPiexpo;;;;;9;;;1;0.9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix1;2030;;SSP2-NPi;;; # H12 SSP1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP1-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;;;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. -SSP1-NDC;1,AMT,compileInTests;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;;;;;;2;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix2;2030;;SSP2-NPi;SSP1-NPi;SSP1-NPi;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. -SSP1-NPi;1,AMT;;;;;rcp45;3;;0;NPi;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;;;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP1-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;;;;;;2;;1;feelhpb 1.05, fehob 1.75, feheb 0.1;manual;feh2_otherInd 1.04, feelhth_otherInd 0.4, feh2_cement 2.0, feelhth_chemicals 1.3, feh2_chemicals 1.04;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SDP;0.5;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SSP2-NPi;;;SSP1-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP1-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;;;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;;;;;;2;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SDP;0.5;1;forcing_SSP1;MFR;Mix3ICEban;2030;;SSP2-NPi;;;SSP1-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP1-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;;;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. +SSP1-NDC;1,AMT,compileInTests;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;;;;;;2;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2;2030;;SSP2-NPi;SSP1-NPi;SSP1-NPi;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. +SSP1-NPi;1,AMT;;;;;rcp45;3;;0;NPi;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;;;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP1-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;;;;;;2;;1;feelhpb 1.05, fehob 1.75, feheb 0.1;manual;feh2_otherInd 1.04, feelhth_otherInd 0.4, feh2_cement 2.0, feelhth_chemicals 1.3, feh2_chemicals 1.04;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SSP2-NPi;;;SSP1-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP1-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;;;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;;;;;;2;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix3ICEban;2030;;SSP2-NPi;;;SSP1-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. # H12 SSP2 lowEnergy;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2_lowEn-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;9;;;;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2_lowEn-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. -SSP2_lowEn-NDC;1,AMT;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;9;;;;;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;;;;;;Mix2;2025;;SSP2-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. 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. -SSP2_lowEn-NPi;1,AMT;;;;;rcp45;3;;0;NPi;;;;;9;;;;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2_lowEn-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2_lowEn-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;;9;;;;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi;;;SSP2_lowEn-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2_lowEn-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;;;9;;;;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-NPi;;;SSP2_lowEn-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP2_lowEn-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;9;;;;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix1;2005;;;;;SSP2_lowEn-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. +SSP2_lowEn-NDC;1,AMT;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;9;;;;;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix2;2025;;SSP2-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. 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. +SSP2_lowEn-NPi;1,AMT;;;;;rcp45;3;;0;NPi;;;;;9;;;;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix1;2005;;;;;SSP2_lowEn-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2_lowEn-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;;9;;;;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;Mix4ICEban;2030;;SSP2-NPi;;;SSP2_lowEn-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2_lowEn-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;;;9;;;;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;Mix3ICEban;2030;;SSP2-NPi;;;SSP2_lowEn-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. # H12 SSP5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP5-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;9;;;1;;1.75;;;;;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. SSP5-NDC;1;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;9;;;1;;1.75;;;;;;3;2;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2;2030;;SSP2-NPi;SSP5-NPi;SSP5-NPi;SSP5-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. 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. From 7fe161e1c6a1b4b44584d60e8e558c6077d118c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tonn=20R=C3=BCter?= Date: Thu, 14 Nov 2024 16:07:10 +0100 Subject: [PATCH 724/875] File consisted entirely of comments --- modules/15_climate/magicc7_ar6/sets.gms | 22 ---------------------- 1 file changed, 22 deletions(-) delete mode 100644 modules/15_climate/magicc7_ar6/sets.gms diff --git a/modules/15_climate/magicc7_ar6/sets.gms b/modules/15_climate/magicc7_ar6/sets.gms deleted file mode 100644 index 66bf911d6..000000000 --- a/modules/15_climate/magicc7_ar6/sets.gms +++ /dev/null @@ -1,22 +0,0 @@ -*** | (C) 2006-2024 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/15_climate/magicc7_ar6/sets.gms -$ontext -TODO: Rename - t_magiccttot MAGICC_ttot - t_magicc MAGICC_t - t_extra MAGICC_t_avg - - RCP_regions_world_bunkers MAGICC_RCP_regions_world_bunkers - RCP_regions_world MAGICC_RCP_regions_world - - emiRCP2unitsMagicc MAGICC_emissions_units - -$offtext - - -*** EOF ./modules/15_climate/magicc7_ar6/sets.gms From c4e353fccbc59a9155ec0c1f50c1fc6e02eda1f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tonn=20R=C3=BCter?= Date: Thu, 14 Nov 2024 16:07:44 +0100 Subject: [PATCH 725/875] References removed files based on cm_rcp_scen settings --- modules/15_climate/magicc7_ar6/datainput.gms | 8 -------- 1 file changed, 8 deletions(-) diff --git a/modules/15_climate/magicc7_ar6/datainput.gms b/modules/15_climate/magicc7_ar6/datainput.gms index 8499141e6..638561dad 100644 --- a/modules/15_climate/magicc7_ar6/datainput.gms +++ b/modules/15_climate/magicc7_ar6/datainput.gms @@ -43,14 +43,6 @@ s15_gr_forc_kyo = 0; p15_forc_magicc(tall) = 0; -$if %cm_rcp_scen% == "rcp26" $include "./modules/15_climate/magicc/input/data_oghgf_rcp3pd.inc"; -$if %cm_rcp_scen% == "rcp37" $include "./modules/15_climate/magicc/input/data_oghgf_rcp45.inc"; -$if %cm_rcp_scen% == "rcp45" $include "./modules/15_climate/magicc/input/data_oghgf_rcp45.inc"; -$if %cm_rcp_scen% == "rcp60" $include "./modules/15_climate/magicc/input/data_oghgf_rcp6.inc"; -$if %cm_rcp_scen% == "rcp85" $include "./modules/15_climate/magicc/input/data_oghgf_rcp85.inc"; -$if %cm_rcp_scen% == "rcp20" $include "./modules/15_climate/magicc/input/data_oghgf_rcp3pd.inc"; -$if %cm_rcp_scen% == "none" $include "./modules/15_climate/magicc/input/data_oghgf_rcp6.inc"; - pm_emicapglob(ttot) = 0; *** parameter pm_emicapglob is read in depending on cm_rcp_scen and cm_multigasscen From 680f773950bbb9b154e0c67da39a760bb7a27e7c Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Thu, 14 Nov 2024 15:11:24 +0000 Subject: [PATCH 726/875] Release development version 3.3.2.dev939 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 32019f3a5..da60affae 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev927" -date-released: 2024-11-13 +version: "3.3.2.dev939" +date-released: 2024-11-14 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index aeb094fdb..d5a7e9e62 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev927" +cfg$model_version <- "3.3.2.dev939" #### settings #### cfg$gms <- list() From a1577a68dc1bf6c292dcdda8aec78d5576ad57dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Fri, 15 Nov 2024 09:18:36 +0100 Subject: [PATCH 727/875] Set OAE assumptions to default for SSP2-EcBudg400 --- config/scenario_config.csv | 82 +++++++++++++++++++------------------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/config/scenario_config.csv b/config/scenario_config.csv index db03d2c2c..97d5701aa 100644 --- a/config/scenario_config.csv +++ b/config/scenario_config.csv @@ -1,41 +1,41 @@ -title;start;CES_parameters;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_startyear;cm_peakBudgYr;cm_co2_tax_spread;cm_CO2priceRegConvEndYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_co2_tax_growth;cm_bioenergy_SustTax;cm_33EW;cm_33OAE;cm_33_OAE_eff;cm_33_OAE_scen;cm_frac_NetNegEmi;c_ccsinjecratescen;c_ccscapratescen;c_changeProdCost;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description -# H12 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-NPi-calibrate;calibrate,AMT,compileInTests;calibrate;14;;;rcp45;;;0;NPi;;;;;9;;;;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-NDC;1,AMT,2;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;9;;;;;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2030;;SSP2-NPi;SSP2-NPi;SSP2-NPi;SSP2-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. -SSP2-NPi;1,AMT,compileInTests,2;;;;;rcp45;3;;0;NPi;;;;;9;;;;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-PkBudg500;1,AMT,2;;;;;rcp20;9;globallyOptimal;500;diffLin2Lin;200;2045;;;9;;;;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be well below 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-PkBudg650;1,AMT,2;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;;9;;;;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-PkBudg1000;1,AMT,2;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;;;9;;;;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -SSP2-EcBudg400;1,AMT,2;;;;;rcp26;5;globallyOptimal;400;diffExp2Lin;70;;20;2070;9;;;;;;1;1;0.9;0;0;;;1;;;;2060.GLO 0.9;NDC;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2035;;SSP2-NPi;;SSP2-NPi;SSP2-EcBudg400: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes an end-of-century budget of 400 Gt CO2 on total CO2 emissions from 2020 to 2100. This is a high overshoot scenario with delayed climate policy. -# EU21 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-EU21-NPi-calibrate;calibrate;calibrate;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;0;NPi;;;;;9;;;;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-EU21-Base;1,AMT,compileInTests,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;;;;0;;;;;;;;off;;;;;;;;;;;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix1;2005;;;;;SSP2-EU21-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-EU21-NDC;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;globallyOptimal;0;NDC;;;;;9;;;;;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2030;;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-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. -SSP2-EU21-NPi;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;;;9;;;;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-EU21-PkBudg500;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;500;diffLin2Lin;200;2045;;;9;;;;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg500: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-EU21-PkBudg650;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;;9;;;;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg650: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-EU21-PkBudg1000;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;;;9;;;;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg1050: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -# H12 SSP3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP3-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;9;;;1;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. -SSP3-NDC;0;;;;;rcp45;3;;0;NDC;;;;;9;;;1;;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2;2030;;SSP2-NPi;SSP3-NPi;SSP3-NPi;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. 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. -SSP3-NPi;0;;;;;rcp45;3;;0;NPi;;;;;9;;;1;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP3-PkBudg1000;0;;;;;rcp26;9;;1000;diffLin2Lin;45;2080;;2100;9;;;1;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix3ICEban;2030;;SSP2-NPi;;;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -SSP3-rollBack;0;;;;;rcp45;9;;;NPiexpo;;;;;9;;;1;0.9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix1;2030;;SSP2-NPi;;; -# H12 SSP1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP1-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;;;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. -SSP1-NDC;1,AMT,compileInTests;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;;;;;;2;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix2;2030;;SSP2-NPi;SSP1-NPi;SSP1-NPi;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. -SSP1-NPi;1,AMT;;;;;rcp45;3;;0;NPi;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;;;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP1-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;;;;;;2;;1;feelhpb 1.05, fehob 1.75, feheb 0.1;manual;feh2_otherInd 1.04, feelhth_otherInd 0.4, feh2_cement 2.0, feelhth_chemicals 1.3, feh2_chemicals 1.04;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SDP;0.5;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SSP2-NPi;;;SSP1-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP1-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;;;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;;;;;;2;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SDP;0.5;1;forcing_SSP1;MFR;Mix3ICEban;2030;;SSP2-NPi;;;SSP1-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -# H12 SSP2 lowEnergy;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2_lowEn-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;9;;;;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2_lowEn-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. -SSP2_lowEn-NDC;1,AMT;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;9;;;;;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;;;;;;Mix2;2025;;SSP2-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. 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. -SSP2_lowEn-NPi;1,AMT;;;;;rcp45;3;;0;NPi;;;;;9;;;;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2_lowEn-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2_lowEn-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;;9;;;;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi;;;SSP2_lowEn-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2_lowEn-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;;;9;;;;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-NPi;;;SSP2_lowEn-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -# H12 SSP5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP5-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;9;;;1;;1.75;;;;;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. -SSP5-NDC;1;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;9;;;1;;1.75;;;;;;3;2;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2;2030;;SSP2-NPi;SSP5-NPi;SSP5-NPi;SSP5-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. 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. -SSP5-NPi;1;;;;;rcp45;3;;0;NPi;;;;;9;;;1;;1.75;;;;;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP5-PkBudg650;1;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;;9;;;1;;1.75;;;;;;3;2;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix4ICEban;2030;;SSP2-NPi;;;SSP5-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP5-PkBudg1000;1,compileInTests;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;;;9;;;1;;1.75;;;;;;3;2;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix3ICEban;2030;;SSP2-NPi;;;SSP5-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +title;start;CES_parameters;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_startyear;cm_peakBudgYr;cm_co2_tax_spread;cm_CO2priceRegConvEndYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_co2_tax_growth;cm_bioenergy_SustTax;cm_33EW;cm_33OAE;cm_frac_NetNegEmi;c_ccsinjecratescen;c_ccscapratescen;c_changeProdCost;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description +# H12 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2-NPi-calibrate;calibrate,AMT,compileInTests;calibrate;14;;;rcp45;;;0;NPi;;;;;9;;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-NDC;1,AMT,2;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;9;;;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2030;;SSP2-NPi;SSP2-NPi;SSP2-NPi;SSP2-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. +SSP2-NPi;1,AMT,compileInTests,2;;;;;rcp45;3;;0;NPi;;;;;9;;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-PkBudg500;1,AMT,2;;;;;rcp20;9;globallyOptimal;500;diffLin2Lin;200;2045;;;9;;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be well below 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-PkBudg650;1,AMT,2;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;;9;;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-PkBudg1000;1,AMT,2;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;;;9;;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP2-EcBudg400;1,AMT,2;;;;;rcp26;5;globallyOptimal;400;diffExp2Lin;70;;20;2070;9;;;;;;1;1;0;;;1;;;;2060.GLO 0.9;NDC;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2035;;SSP2-NPi;;SSP2-NPi;SSP2-EcBudg400: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes an end-of-century budget of 400 Gt CO2 on total CO2 emissions from 2020 to 2100. This is a high overshoot scenario with delayed climate policy. +# EU21 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2-EU21-NPi-calibrate;calibrate;calibrate;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;0;NPi;;;;;9;;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-EU21-Base;1,AMT,compileInTests,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;;;;0;;;;;;;;off;;;;;;;;;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix1;2005;;;;;SSP2-EU21-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-EU21-NDC;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;globallyOptimal;0;NDC;;;;;9;;;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2030;;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-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. +SSP2-EU21-NPi;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;;;9;;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-EU21-PkBudg500;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;500;diffLin2Lin;200;2045;;;9;;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg500: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-EU21-PkBudg650;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;;9;;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg650: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-EU21-PkBudg1000;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;;;9;;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg1050: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +# H12 SSP3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP3-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;9;;;1;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. +SSP3-NDC;0;;;;;rcp45;3;;0;NDC;;;;;9;;;1;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2;2030;;SSP2-NPi;SSP3-NPi;SSP3-NPi;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. 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. +SSP3-NPi;0;;;;;rcp45;3;;0;NPi;;;;;9;;;1;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP3-PkBudg1000;0;;;;;rcp26;9;;1000;diffLin2Lin;45;2080;;2100;9;;;1;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix3ICEban;2030;;SSP2-NPi;;;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP3-rollBack;0;;;;;rcp45;9;;;NPiexpo;;;;;9;;;1;0.9;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix1;2030;;SSP2-NPi;;; +# H12 SSP1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP1-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. +SSP1-NDC;1,AMT,compileInTests;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;;;;2;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix2;2030;;SSP2-NPi;SSP1-NPi;SSP1-NPi;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. +SSP1-NPi;1,AMT;;;;;rcp45;3;;0;NPi;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SDP;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP1-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;;;;2;;1;feelhpb 1.05, fehob 1.75, feheb 0.1;manual;feh2_otherInd 1.04, feelhth_otherInd 0.4, feh2_cement 2.0, feelhth_chemicals 1.3, feh2_chemicals 1.04;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SDP;0.5;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SSP2-NPi;;;SSP1-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP1-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;;;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;;;;2;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SDP;0.5;1;forcing_SSP1;MFR;Mix3ICEban;2030;;SSP2-NPi;;;SSP1-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +# H12 SSP2 lowEnergy;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2_lowEn-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;9;;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2_lowEn-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. +SSP2_lowEn-NDC;1,AMT;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;9;;;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;;;;;;Mix2;2025;;SSP2-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. 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. +SSP2_lowEn-NPi;1,AMT;;;;;rcp45;3;;0;NPi;;;;;9;;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2_lowEn-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2_lowEn-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;;9;;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi;;;SSP2_lowEn-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2_lowEn-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;;;9;;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-NPi;;;SSP2_lowEn-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +# H12 SSP5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP5-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;9;;;1;;1.75;;;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. +SSP5-NDC;1;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;9;;;1;;1.75;;;;3;2;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2;2030;;SSP2-NPi;SSP5-NPi;SSP5-NPi;SSP5-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. 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. +SSP5-NPi;1;;;;;rcp45;3;;0;NPi;;;;;9;;;1;;1.75;;;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP5-PkBudg650;1;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;;9;;;1;;1.75;;;;3;2;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix4ICEban;2030;;SSP2-NPi;;;SSP5-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP5-PkBudg1000;1,compileInTests;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;;;9;;;1;;1.75;;;;3;2;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix3ICEban;2030;;SSP2-NPi;;;SSP5-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. From 64701880f724c3fce421ed609a48a3fb645a214f Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Fri, 15 Nov 2024 11:11:01 +0100 Subject: [PATCH 728/875] enhance documentation of electrolysis in generisdata_tech.prn --- core/input/generisdata_tech.prn | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/input/generisdata_tech.prn b/core/input/generisdata_tech.prn index af258eaad..89cf87bae 100644 --- a/core/input/generisdata_tech.prn +++ b/core/input/generisdata_tech.prn @@ -188,11 +188,11 @@ Explanations: Electrolysis - elh2 learning parameterization: -Initialize learning curve for electrolysis at 0.5 GW(el) installed globally at CAPEX of 3000 USD/kW(el) in 2020. +Initialize learning curve for electrolysis at 0.5 GW(el) installed globally at CAPEX of 2300 USD/kW(el) in 2020. Based on Ramboll 2023, https://energycentral.com/system/files/ece/nodes/658117/ghpp.pdf and IEA 2024 Hydrogen Review, https://www.iea.org/reports/global-hydrogen-review-2024 -0.5 GW(el) * 0.65 (elh2 efficiency) * 1e-3 ~ 0.00077 TW(H2) = ccap0 -2300 USD/kW(el) / 0.65 (elh2 efficiency) ~ 3500 USD/kW(H2) = inco0 +0.5 GW(el) * 0.65 (elh2 efficiency) * 1e-3 ~ 0.00077 TW(H2) = ccap0 (for 2020) +2300 USD/kW(el) / 0.65 (elh2 efficiency) ~ 3500 USD/kW(H2) = inco0 (for 2020) Assume floor cost: 100 USD/kW(el) 100 USD/kW(el) / 0.75 (long-term elh2 efficiency) ~ 133 USD/kW(H2) -> incolearn = 3370 From 7ae165a4f7351798d0786375c47af482249caa43 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Fri, 15 Nov 2024 11:12:05 +0100 Subject: [PATCH 729/875] adapt electrolysis parameter also in generisdata_tech_SSP1.prn and generisdata_tech_SSP5.prn --- core/input/generisdata_tech_SSP1.prn | 8 ++++---- core/input/generisdata_tech_SSP5.prn | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/core/input/generisdata_tech_SSP1.prn b/core/input/generisdata_tech_SSP1.prn index aa5dddcfb..eb7f3f979 100644 --- a/core/input/generisdata_tech_SSP1.prn +++ b/core/input/generisdata_tech_SSP1.prn @@ -68,16 +68,16 @@ learn 0.108 0.12 0 luse 0.09 0.021 + elh2 dot dhp h2turb h2curt h2turbVRE elh2VRE h22ch4 MeOH -tech_stat 4 5 5 5 3 3 -inco0 2000 480 360 510 700 510 0.1 700 800 +tech_stat 3 5 5 5 3 3 +inco0 3500 480 360 510 700 510 0.1 700 800 constrTme 2 2 1 2 2 1 1 2 2 mix0 eta 0.73 0.30 0.80 0.40 0.62 0.40 0.73 0.8 0.7 omf 0.05 0.03 0.03 0.03 0.05 0.00 0.00 0.03 0.03 omv 3 12 12 24 0 3 12 lifetime 30 25 25 30 30 30 30 30 30 -incolearn 1500 -ccap0 0.013 +incolearn 3370 +ccap0 0.00077 learn 0.15 + tdels tdbiogas tdfosgas tdbiohos tdfoshos tdh2s tdh2t diff --git a/core/input/generisdata_tech_SSP5.prn b/core/input/generisdata_tech_SSP5.prn index 74f837c23..a3240dbd4 100644 --- a/core/input/generisdata_tech_SSP5.prn +++ b/core/input/generisdata_tech_SSP5.prn @@ -67,16 +67,16 @@ learn 0.084 0.096 luse 0.09 0.021 + elh2 dot dhp h2turb h2curt h2turbVRE elh2VRE h22ch4 MeOH -tech_stat 4 5 5 5 3 3 -inco0 2000 480 360 510 700 510 0.1 700 800 +tech_stat 3 5 5 5 3 3 +inco0 3500 480 360 510 700 510 0.1 700 800 constrTme 2 2 1 2 2 1 1 2 2 mix0 eta 0.73 0.30 0.80 0.40 0.62 0.40 0.73 0.8 0.7 omf 0.05 0.03 0.03 0.03 0.05 0.00 0.00 0.03 0.03 omv 3 12 12 24 0 3 12 lifetime 30 25 25 30 30 30 30 30 30 -incolearn 1500 -ccap0 0.013 +incolearn 3370 +ccap0 0.00077 learn 0.15 + tdels tdbiogas tdfosgas tdbiohos tdfoshos tdh2s tdh2t From 1d4d02b83583525c8c3ae832d30cde89d0dd7e2c Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Fri, 15 Nov 2024 11:12:33 +0100 Subject: [PATCH 730/875] update changelog --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8cd9ee1e8..90300f731 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - **core** changed adjustment cost of geohe (central heat pumps), elh2 (electrolysis), MeOH (FT-Synthesis: H2-to-Liquids) and h22ch4 (methanation: H2-to-Gas) to better reflect upscaling dynamics [[#1823](https://github.com/remindmodel/remind/pull/1823)] +- **core** increase electrolysis CAPEX and slightly adjust default setting for electrolysis taxation and flexibility benefit, + add near-term bounds for electrolysis and synthetic fuel deployment + [[#1882](https://github.com/remindmodel/remind/pull/1882)] ### added - **32_power** increase minimum required dispatchable back-up capacity for VRE integration From 18725dba26708d4ea79192b54a800d57e9d24857 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Fri, 15 Nov 2024 10:21:09 +0000 Subject: [PATCH 731/875] Release development version 3.3.2.dev942 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index da60affae..904db84f2 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev939" -date-released: 2024-11-14 +version: "3.3.2.dev942" +date-released: 2024-11-15 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index d5a7e9e62..b95110e76 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev939" +cfg$model_version <- "3.3.2.dev942" #### settings #### cfg$gms <- list() From 05334d2b2775e9f2e36dcf92e14a2a088b1dd61f Mon Sep 17 00:00:00 2001 From: robertpietzcker <61154412+robertpietzcker@users.noreply.github.com> Date: Fri, 15 Nov 2024 13:19:41 +0100 Subject: [PATCH 732/875] updatewind --- core/input/generisdata_tech.prn | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/input/generisdata_tech.prn b/core/input/generisdata_tech.prn index 9683aa68c..4670e758c 100644 --- a/core/input/generisdata_tech.prn +++ b/core/input/generisdata_tech.prn @@ -62,9 +62,9 @@ mix0 eta 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 omf 0.04 0.06 0.025 0.02 0.03 0.02 0.025 lifetime 30 25 130 25 25 30 25 30 -incolearn 2000 4000 5110 8760 +incolearn 2200 4000 5110 8760 ccap0 0.06 0.0007 0.005 0.0002 -learn 0.108 0.12 0.25 0.103 +learn 0.12 0.12 0.25 0.103 luse 0.09 0.021 From 9d747b8fb29be72a6605ec01c4ad16d44a65d667 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Mon, 18 Nov 2024 11:24:24 +0100 Subject: [PATCH 733/875] use rcp45 for all biomass curves in 2005 and 2010 instead of baseline --- modules/30_biomass/magpie_40/datainput.gms | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/30_biomass/magpie_40/datainput.gms b/modules/30_biomass/magpie_40/datainput.gms index 123d5fedc..f4c52ee9b 100644 --- a/modules/30_biomass/magpie_40/datainput.gms +++ b/modules/30_biomass/magpie_40/datainput.gms @@ -88,8 +88,8 @@ i30_bioen_price_b(ttot,regi)$(regi_group("EUR_regi",regi)) = cm_BioSupply_Adjust *RP* in 2005 and 2010, we always want to use bau values loop(ttot$( (ttot.val = 2005) OR (ttot.val = 2010) ), - i30_bioen_price_a(ttot,regi) = f30_bioen_price(ttot,regi,"%cm_LU_emi_scen%","none","a"); - i30_bioen_price_b(ttot,regi) = f30_bioen_price(ttot,regi,"%cm_LU_emi_scen%","none","b"); + i30_bioen_price_a(ttot,regi) = f30_bioen_price(ttot,regi,"%cm_LU_emi_scen%","rcp45","a"); + i30_bioen_price_b(ttot,regi) = f30_bioen_price(ttot,regi,"%cm_LU_emi_scen%","rcp45","b"); ); display i30_bioen_price_a, i30_bioen_price_b; From e5d2f3f4dadbaf6125231173c0ab701ae62268db Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Mon, 18 Nov 2024 11:41:50 +0100 Subject: [PATCH 734/875] add SSP2_lowEn to cm_LU_emi_scen --- main.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.gms b/main.gms index b1737f45b..954e3d2b0 100755 --- a/main.gms +++ b/main.gms @@ -1250,7 +1250,7 @@ $setglobal c_tech_earlyreti_rate GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.( *** (SSP2): emissions (from SSP2 scenario in MAgPIE) *** (SSP5): emissions (from SSP5 scenario in MAgPIE) *** (SDP): -$setglobal cm_LU_emi_scen SSP2 !! def = SSP2 !! regexp = SSP(1|2|3|5)|SDP +$setglobal cm_LU_emi_scen SSP2 !! def = SSP2 !! regexp = SSP(1|2|3|5)|SDP |SSP2_lowEn *** cm_regi_bioenergy_EFTax "region(s) in which bioenergy is charged with an emission-factor-based tax" *** This switch has only an effect if 21_tax is on and cm_bioenergy_EF_for_tax *** is not zero. It reads in the regions that are affected by the emission- From c41b43862a7ccc62dc5b60ea0ca87a13e8a31c3b Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Mon, 18 Nov 2024 11:55:57 +0100 Subject: [PATCH 735/875] add data for SSP2_lowEn for p_efFossilFuelExtr(regi,"pebiolc","n2obio") --- core/datainput.gms | 1 + 1 file changed, 1 insertion(+) diff --git a/core/datainput.gms b/core/datainput.gms index 65785bd47..bb207474c 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -959,6 +959,7 @@ $offdelim $if %cm_LU_emi_scen% == "SSP1" p_efFossilFuelExtr(regi,"pebiolc","n2obio") = 0.0047/sm_EJ_2_TWa; $if %cm_LU_emi_scen% == "SSP2" p_efFossilFuelExtr(regi,"pebiolc","n2obio") = 0.0079/sm_EJ_2_TWa; +$if %cm_LU_emi_scen% == "SSP2_lowEn" p_efFossilFuelExtr(regi,"pebiolc","n2obio") = 0.0079/sm_EJ_2_TWa; $if %cm_LU_emi_scen% == "SSP3" p_efFossilFuelExtr(regi,"pebiolc","n2obio") = 0.0079/sm_EJ_2_TWa; $if %cm_LU_emi_scen% == "SSP5" p_efFossilFuelExtr(regi,"pebiolc","n2obio") = 0.0066/sm_EJ_2_TWa; $if %cm_LU_emi_scen% == "SDP" p_efFossilFuelExtr(regi,"pebiolc","n2obio") = 0.0047/sm_EJ_2_TWa; From 5f9dd9b898f0434cdf64b38db0db8eac40c61dc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20Medeiros=20Abrah=C3=A3o?= <30908904+gabriel-abrahao@users.noreply.github.com> Date: Mon, 18 Nov 2024 14:15:16 +0100 Subject: [PATCH 736/875] Cleanup --- scripts/input/climate_assessment_run.R | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/scripts/input/climate_assessment_run.R b/scripts/input/climate_assessment_run.R index ce74d091d..59b8c7b84 100644 --- a/scripts/input/climate_assessment_run.R +++ b/scripts/input/climate_assessment_run.R @@ -227,14 +227,7 @@ runClimateEmulatorCmd <- paste( "--scenario-batch-size", 1, "--probabilistic-file", probabilisticFile ) -# runClimateEmulatorCmd <- paste( -# "python", file.path(scriptsDir, "run_clim.py"), -# normalizePath(file.path(climateTempDir, paste0(baseFn, "_harmonized_infilled.csv"))), -# climateTempDir, -# "--num-cfgs", nparsets, -# "--scenario-batch-size", 1, -# "--probabilistic-file", probabilisticFile -# ) + # Get conda environment folder condaDir <- "/p/projects/rd3mod/python/environments/scm_magicc7" From d4d6f8e300819f74450aaa578e5e1ace6ede48b0 Mon Sep 17 00:00:00 2001 From: Falk Benke Date: Mon, 18 Nov 2024 16:27:42 +0100 Subject: [PATCH 737/875] update tutorial chapter 8 on advanced model outputs --- .../08_Advanced_AnalysingModelOutputs.Rmd | 182 +++++++++--------- 1 file changed, 92 insertions(+), 90 deletions(-) diff --git a/tutorials/08_Advanced_AnalysingModelOutputs.Rmd b/tutorials/08_Advanced_AnalysingModelOutputs.Rmd index 45176e927..a1a65c402 100644 --- a/tutorials/08_Advanced_AnalysingModelOutputs.Rmd +++ b/tutorials/08_Advanced_AnalysingModelOutputs.Rmd @@ -1,11 +1,3 @@ - --- title: 'How to analyse model output (importing, processing, and plotting data) ' author: "David Klein" @@ -19,16 +11,26 @@ vignette: | This is a [R Markdown](http://rmarkdown.rstudio.com) Notebook. When you execute code within the notebook, the results appear beneath the code. + +```{r} +knitr::opts_chunk$set( + message = FALSE, + warning = FALSE, + fig.width = 15, + fig.height = 10 +) +``` + # Download demonstration data Before starting the tutorial we need to download the sample data that we are going to use from PIK's RSE server. A REMIND run normally produces/contains these files. ```{r} -download.file("http://rse.pik-potsdam.de/data/example/fulldata.gdx", "fulldata.gdx", mode="wb") + +download.file("http://rse.pik-potsdam.de/data/example/fulldata.gdx", "fulldata.gdx", mode = "wb") download.file("http://rse.pik-potsdam.de/data/example/REMIND_generic_BAU.mif", "REMIND_generic_BAU.mif") download.file("http://rse.pik-potsdam.de/data/example/REMIND_generic_RCP20.mif", "REMIND_generic_RCP20.mif") download.file("http://rse.pik-potsdam.de/data/example/REMIND_generic_RCP26.mif", "REMIND_generic_RCP26.mif") -download.file("http://rse.pik-potsdam.de/data/example/historical.mif", "historical.mif") ``` @@ -38,10 +40,14 @@ Import REMIND results from mif files using `read.report`. If you provide multipl ```{r} library(magclass) -rem <- read.report(c("REMIND_generic_BAU.mif", - "REMIND_generic_RCP20.mif", - "REMIND_generic_RCP26.mif"), - as.list = FALSE) +rem <- read.report( + c( + "REMIND_generic_BAU.mif", + "REMIND_generic_RCP20.mif", + "REMIND_generic_RCP26.mif" + ), + as.list = FALSE +) ``` Magclass objects have a standardized structure: regions in the first dimension, years in the second dimension, variable names in the third dimension. If your data has additional dimensions (such as *model* or *scenario*) they are added as a sub-dimension to the third dimension of the magpie object. The sub-dimension are separated by dots: @@ -53,32 +59,34 @@ str(rem) Select years before and including 2100 ```{r} -rem <- rem[,getYears(rem)<="y2100",] +rem <- rem[, getYears(rem) <= "y2100", ] ``` Select only primary energy carriers ```{r} -var_PE <- c("PE|+|Coal", - "PE|+|Oil", - "PE|+|Gas", - "PE|+|Biomass", - "PE|+|Nuclear", - "PE|+|Hydro", - "PE|+|Wind", - "PE|+|Solar", - "PE|+|Geothermal") +var_PE <- c( + "PE|+|Coal", + "PE|+|Oil", + "PE|+|Gas", + "PE|+|Biomass", + "PE|+|Nuclear", + "PE|+|Hydro", + "PE|+|Wind", + "PE|+|Solar", + "PE|+|Geothermal" +) # add same unit for all variables (works only if units are identical for all variables, otherwise you would have to provide the units individually) -var_PE <- paste(var_PE,"(EJ/yr)") +var_PE <- paste(var_PE, "(EJ/yr)") -rem_PE <- rem[,,var_PE] +rem_PE <- rem[, , var_PE] ``` -`fulldim` lists all elements of the object +`getItems` lists all elements of the object ```{r} -fulldim(rem_PE) +getItems(rem_PE) ``` # Plot data @@ -89,7 +97,7 @@ fulldim(rem_PE) ```{r} library(mip) -p <- mipArea(rem_PE["GLO",,invert=TRUE]) +p <- mipArea(rem_PE["GLO", , invert = TRUE]) print(p) ``` @@ -97,13 +105,13 @@ Save the plot to a png file using `ggsave` from the ggplot2 package. We have to ```{r} library(ggplot2) -ggsave(filename = "PE.png",plot = p, width=15, height=10, scale = 2, units = "cm") +ggsave(filename = "PE.png", plot = p, width = 15, height = 10, scale = 2, units = "cm") ``` `mipArea` returns a regular ggplot object you can customize. To demonstrate this we override the default theme with theme_grey and a tiny font size, move the legend to the top, and reverse the faceting. This gives a rather ugly plot: ```{r} -p + theme_grey(base_size=8) + theme(legend.position="top") + facet_grid(region~scenario) +p + theme_grey(base_size = 8) + theme(legend.position = "top") + facet_grid(region ~ scenario) ``` ## Bar plot @@ -120,13 +128,14 @@ dat <- dat %>% filter(Region != "GLO") or using magclass ```{r} -dat <- as.ggplot(rem_PE[,2050,]["GLO",,invert=TRUE]) +dat <- as.ggplot(rem_PE[, 2050, ]["GLO", , invert = TRUE]) head(dat) ``` Generate a raw bar plot without specific adjustments ```{r} -ggplot() + geom_col(data=dat,aes(x=Data1,y=Value,fill=Data3)) +ggplot() + + geom_col(data = dat, aes(x = Data1, y = Value, fill = Data3)) ``` We use the `plotstyle` function to define default colors for our entities. This ensures that in all our plots a particular entity will be displayed with the same color. Now, retrieve these default colors for the primary energy carriers using `plotstyle`. Therefore, shorten variable names, so that they match the names defined in plotstyle. The full names of the elements stored in the third dimension of the magpie object would be @@ -137,18 +146,18 @@ head(getNames(rem_PE)) We only want to shorten the *variable names* (stored in the third sub-dimension), not the model and scenario names. Therefore, specify the number of the sub-dimension: ```{r} -head(getNames(rem_PE,dim=3)) +head(getNames(rem_PE, dim = 3)) ``` Now use gsub and regular expressions to remove the "PE|+|" and the units: ```{r} -getNames(rem_PE,dim=3) <- gsub("PE\\|\\+\\|(.*) \\(EJ\\/yr\\)$","\\1",getNames(rem_PE,dim=3)) -getNames(rem_PE,dim=3) +getNames(rem_PE, dim = 3) <- gsub("PE\\|\\+\\|(.*) \\(EJ\\/yr\\)$", "\\1", getNames(rem_PE, dim = 3)) +getNames(rem_PE, dim = 3) ``` For these names there are colors defined in `plotstyle`. Retrieve these colors ```{R} -mycolors <- plotstyle(getNames(rem_PE,dim=3)) +mycolors <- plotstyle(getNames(rem_PE, dim = 3)) print(mycolors) ``` @@ -159,12 +168,12 @@ showcolors(mycolors) Generate plot ```{r} -dat <- as.ggplot(rem_PE[,2050,]["GLO",,invert=TRUE],useDimNames=FALSE) +dat <- as.ggplot(rem_PE[, 2050, ]["GLO", , invert = TRUE], useDimNames = FALSE) p <- ggplot() + - geom_col(data=dat,aes(x=Data1,y=Value,fill=Data3)) + - scale_fill_manual(values = mycolors, name ="All Colors Are Beautiful") + - labs(title = "Primary Energy", subtitle = "in 2050", x = "Scenario", y ="EJ/yr") + + geom_col(data = dat, aes(x = Data1, y = Value, fill = Data3)) + + scale_fill_manual(values = mycolors, name = "All Colors Are Beautiful") + + labs(title = "Primary Energy", subtitle = "in 2050", x = "Scenario", y = "EJ/yr") + facet_wrap(~Region) print(p) ``` @@ -175,90 +184,84 @@ print(p) Another plot example, this time plotting emissions. ```{r} -var_EMI <- c("Emi|CO2|Fossil Fuels and Industry|Cement process", - "Emi|CO2|Fossil Fuels and Industry|Demand", - "Emi|CO2|Fossil Fuels and Industry|Energy Supply", - "Emi|CO2|Land-Use Change") +var_EMI <- c( + "Emi|CO2|Fossil Fuels and Industry|Cement process", + "Emi|CO2|Fossil Fuels and Industry|Demand", + "Emi|CO2|Fossil Fuels and Industry|Energy Supply", + "Emi|CO2|Land-Use Change" +) -var_EMI <- paste(var_EMI,"(Mt CO2/yr)") +var_EMI <- paste(var_EMI, "(Mt CO2/yr)") -rem_EMI <- rem[,,var_EMI] +rem_EMI <- rem[, , var_EMI] ``` First, just because it's so beautiful and easy using `mipArea`, the area plot again (this time with negative values): ```{r} -mipArea(rem_EMI["GLO",,]) +mipArea(rem_EMI["GLO", , ]) ``` Creating a basic line plot with ggplot is almost as easy ```{r} -ggplot (as.ggplot(rem["GLO",,"Emi|CO2 (Mt CO2/yr)"])) + geom_line(aes(x=Year,y=Value,color=Data1)) + - labs(title = "CO2 emissions", x = "", y ="Mt CO2/yr") +ggplot(as.ggplot(rem["GLO", , "Emi|CO2 (Mt CO2/yr)"])) + + geom_line(aes(x = Year, y = Value, color = Data1)) + + labs(title = "CO2 emissions", x = "", y = "Mt CO2/yr") ``` -If you have historical values at hand you can use `mipLineHistorical` to validate your model data. Read historical data. Select years from 1950 on. Remove global data from both data sets (for nicer y-scaling). Select total CO2 emissions for model data. The function selects the same variables from the historical data if available. - -```{r} -history <- read.report("historical.mif",as.list=FALSE) -history <- history["GLO",,,invert=TRUE][,getYears(history)>="y1950",][,,"IEA"] -mipLineHistorical(x = rem[,,"Emi|CO2 (Mt CO2/yr)"][,,"BAU"]["GLO",,,invert=TRUE], x_hist = history,size=8) -``` - - # Calculating and adding a new variable Let's see whether we can calculate per capita emissions. First, we have to find out, if our data set contains something like population data. We apply `pmatch` and `getNames` to find out if there is a variable that has 'pop' in its name. ```{r} -getNames(rem[,,"Pop",pmatch=TRUE]) +getNames(rem[, , "Pop", pmatch = TRUE]) ``` Oh, yes. So, let's simply calculate the per capita emissions. ```{r} -emi_cap <- rem_EMI / rem[,,"Population (million)"] +emi_cap <- rem_EMI / rem[, , "Population (million)"] ``` magclass automatically matches regions, years, scenarios, and models. It also automatically assigns names to the resulting variable by combining the variable names of the two source objects. The resulting names look like this now: ```{r} -getNames(emi_cap[,,1]) +getNames(emi_cap[, , 1]) ``` Let's provide better names. First, we remove the 4th sub-dimension, since all names are identical: ```{r} -emi_cap <- collapseNames(emi_cap,collapsedim = 4) +emi_cap <- collapseNames(emi_cap, collapsedim = 4) ``` We could have got the same if we had removed the "Population (million)" above before dividing: ```{r} -emi_cap <- rem_EMI / collapseNames(rem[,,"Population (million)"]) -getNames(emi_cap[,,1]) +emi_cap <- rem_EMI / collapseNames(rem[, , "Population (million)"]) +getNames(emi_cap[, , 1]) ``` Now, we rename the emission variables by replacing "Emi" with "Per capita emission" and correcting the unit ```{r} -getNames(emi_cap,dim=3) <- gsub("Emi|","Per capita emissions|",getNames(emi_cap,dim=3),fixed = TRUE) -getNames(emi_cap,dim=3) <- gsub("(Mt CO2/yr)","(t CO2/yr/cap)",getNames(emi_cap,dim=3),fixed = TRUE) +getNames(emi_cap, dim = 3) <- gsub("Emi|", "Per capita emissions|", getNames(emi_cap, dim = 3), fixed = TRUE) +getNames(emi_cap, dim = 3) <- gsub("(Mt CO2/yr)", "(t CO2/yr/cap)", getNames(emi_cap, dim = 3), fixed = TRUE) ``` Now we can add the new variable to the full report ```{r} -rem <- mbind(rem,emi_cap) +rem <- mbind(rem, emi_cap) ``` Finally, plot the freshly calculated per-capita emissions. When selecting the variables use `pmatch=TRUE` to retrieve all variables that have this string in their name. Useful in this case, because we do not need to provide the detailed sector names. Distinguish scenarios (column "Data1" in the data frame that `as.ggplot` produces) by line type and variables (Data3) by color. ```{r} -ggplot (as.ggplot(rem[,,"Per capita emissions",pmatch=TRUE])) + - geom_line(aes(x=Year,y=Value,color=Data3,linetype=Data1)) + - facet_grid(~Region) + - theme(legend.position="bottom") + - guides(color = guide_legend(nrow = 4),linetype=guide_legend(nrow = 3)) +ggplot(as.ggplot(rem[, , "Per capita emissions", pmatch = TRUE])) + + geom_line(aes(x = Year, y = Value, color = Data3, linetype = Data1)) + + facet_grid(~Region) + + theme(legend.position = "bottom") + + guides(color = guide_legend(nrow = 4), linetype = guide_legend(nrow = 3)) ``` @@ -267,20 +270,20 @@ ggplot (as.ggplot(rem[,,"Per capita emissions",pmatch=TRUE])) + In the following we are only talking about the third dimension of a magpie object, which can contain further sub-dimensions. We want to add a new sub-dimension distinguishing gases. Add a new sub-dimension with the name "gas" and the variable "CO2" ```{r} -rem_EMI <- add_dimension(rem_EMI, dim = 3.3, add = "gas", nm="CO2") +rem_EMI <- add_dimension(rem_EMI, dim = 3.3, add = "gas", nm = "CO2") str(rem_EMI) ``` Add a new element to the dimension just created ```{r} -rem_EMI <- add_columns(rem_EMI,addnm = "CH4",dim=3.3) +rem_EMI <- add_columns(rem_EMI, addnm = "CH4", dim = 3.3) ``` Now, remove the obsolete "Emi|CO2|" part from the old names ```{r} -getNames(rem_EMI,dim=3) <- gsub("Emi\\|CO2\\|","",getNames(rem_EMI,dim=3)) +getNames(rem_EMI, dim = 3) <- gsub("Emi\\|CO2\\|", "", getNames(rem_EMI, dim = 3)) str(rem_EMI) ``` @@ -290,46 +293,45 @@ If the variable or parameter you are interested in is not yet part of the REMIND ```{r} library(gdx) -rem_gdx <- readGDX(gdx = "fulldata.gdx","vm_emiAll",field = "l",format = "first_found") +rem_gdx <- readGDX(gdx = "fulldata.gdx", "vm_emiAll", field = "l", format = "first_found") str(rem_gdx) ``` *vm_emiAll* does not include global values. We calculate them with `dimSums` summing over the regions (first dimension) and append them using `mbind`. ```{r} -rem_gdx <- mbind(rem_gdx,dimSums(rem_gdx,dim = 1)) -getItems(rem_gdx,dim = 1)<-sub("dummy","GLO",getRegions(rem_gdx)) +rem_gdx <- mbind(rem_gdx, dimSums(rem_gdx, dim = 1)) +getItems(rem_gdx, dim = 1) <- sub("dummy", "GLO", getRegions(rem_gdx)) ``` *vm_emiAll* is defined for all entities, but for most of them it is zero. Let's find the entities for which it contains data. We use the year 2050 as an indicator: ```{r} -non_zero_vars <- getNames(rem_gdx)[rem_gdx["GLO",2050,]!=0] +non_zero_vars <- getNames(rem_gdx)[rem_gdx["GLO", 2050, ] != 0] ``` Before plotting we have to rename the dimensions of the magclass object to names that mipArea (and the underlying quitte class) requires ```{r} -getSets(rem_gdx) <- c("region","year","variable") - -mipArea(rem_gdx["GLO", getYears(rem_gdx)>="y2005" & getYears(rem_gdx) <="y2100", non_zero_vars]) +getSets(rem_gdx) <- c("region", "year", "variable") +mipArea(rem_gdx["GLO", getYears(rem_gdx) >= "y2005" & getYears(rem_gdx) <= "y2100", non_zero_vars]) ``` Now, let's pick Kyoto gases only and get the units right. Define vector with names of Kyoto gases ```{r} -kyo <- c("co2","n2o","ch4") +kyo <- c("co2", "n2o", "ch4") ``` Create a new magclass object with the same regions and years as *rem_gdx* and Kyoto gases as variables ```{r} -conversion <- new.magpie(cells_and_regions = getRegions(rem_gdx),years = getYears(rem_gdx),names = kyo) +conversion <- new.magpie(cells_and_regions = getRegions(rem_gdx), years = getYears(rem_gdx), names = kyo) -conversion[,,"co2"] <- 1 * 1000 * 44/12 # GtC -> Mt CO2 -conversion[,,"ch4"] <- 34 # Mt CH4 -> Mt CO2_eq -conversion[,,"n2o"] <- 298 * 44/18 # Mt N2O-N -> Mt CO2_eq +conversion[, , "co2"] <- 1 * 1000 * 44 / 12 # GtC -> Mt CO2 +conversion[, , "ch4"] <- 34 # Mt CH4 -> Mt CO2_eq +conversion[, , "n2o"] <- 298 * 44 / 18 # Mt N2O-N -> Mt CO2_eq str(conversion) ``` @@ -337,7 +339,7 @@ str(conversion) Now, that the magpie objects have the same structure, multiplication is easy ```{r} -rem_gdx[,,kyo] <- rem_gdx[,,kyo] * conversion +rem_gdx[, , kyo] <- rem_gdx[, , kyo] * conversion -mipArea(rem_gdx["GLO",getYears(rem_gdx)>="y2005" & getYears(rem_gdx) <="y2100",kyo]) + labs(title = "Emissions", subtitle = "Kyoto gases", y ="Mt CO2eq/yr") +mipArea(rem_gdx["GLO", getYears(rem_gdx) >= "y2005" & getYears(rem_gdx) <= "y2100", kyo]) + labs(title = "Emissions", subtitle = "Kyoto gases", y = "Mt CO2eq/yr") ``` From 374f0fcb925e8854e31de5aca61fcdd1984c89ea Mon Sep 17 00:00:00 2001 From: Falk Benke Date: Mon, 18 Nov 2024 16:29:10 +0100 Subject: [PATCH 738/875] remove copyright header from Rmd tutorial files --- tutorials/08a_Advanced_CreatingSimpleDashboard.Rmd | 8 -------- 1 file changed, 8 deletions(-) diff --git a/tutorials/08a_Advanced_CreatingSimpleDashboard.Rmd b/tutorials/08a_Advanced_CreatingSimpleDashboard.Rmd index 714ff5e30..63fe6cf0e 100644 --- a/tutorials/08a_Advanced_CreatingSimpleDashboard.Rmd +++ b/tutorials/08a_Advanced_CreatingSimpleDashboard.Rmd @@ -1,11 +1,3 @@ - --- title: "Simple Dashboard" author: "Renato Rodrigues" From 3e47564d43f27a75a0ce96b8c171c473e35d854e Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Mon, 18 Nov 2024 15:41:09 +0000 Subject: [PATCH 739/875] Release development version 3.3.2.dev947 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 904db84f2..9e3eeb7b5 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev942" -date-released: 2024-11-15 +version: "3.3.2.dev947" +date-released: 2024-11-18 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index b95110e76..2e1dddf83 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev942" +cfg$model_version <- "3.3.2.dev947" #### settings #### cfg$gms <- list() From 904345465af01c5bf4334e8f11502799682bf880 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Mon, 18 Nov 2024 16:54:32 +0000 Subject: [PATCH 740/875] Release development version 3.3.2.dev951 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 9e3eeb7b5..761744dfe 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev947" +version: "3.3.2.dev951" date-released: 2024-11-18 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 2e1dddf83..899dc52c8 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev947" +cfg$model_version <- "3.3.2.dev951" #### settings #### cfg$gms <- list() From 480ffa8010f20e991e0e3443bdf2c3753a5a28fb Mon Sep 17 00:00:00 2001 From: rahelMA Date: Tue, 19 Nov 2024 09:47:37 +0100 Subject: [PATCH 741/875] adjusted NPi2025 realizations with linear growth or exponetial --- config/scenario_config_ELEVATE2p3.csv | 36 +++++++++---------- modules/45_carbonprice/NPi2025/datainput.gms | 23 ++++++++++++ .../{NPi2025_EUR55 => NPi2025}/not_used.txt | 0 .../45_carbonprice/NPi2025/realization.gms | 15 ++++++++ .../datainput.gms | 4 +-- .../45_carbonprice/NPi2025expo/not_used.txt | 34 ++++++++++++++++++ .../realization.gms | 6 ++-- modules/45_carbonprice/module.gms | 3 +- 8 files changed, 97 insertions(+), 24 deletions(-) create mode 100755 modules/45_carbonprice/NPi2025/datainput.gms rename modules/45_carbonprice/{NPi2025_EUR55 => NPi2025}/not_used.txt (100%) create mode 100755 modules/45_carbonprice/NPi2025/realization.gms rename modules/45_carbonprice/{NPi2025_EUR55 => NPi2025expo}/datainput.gms (90%) create mode 100755 modules/45_carbonprice/NPi2025expo/not_used.txt rename modules/45_carbonprice/{NPi2025_EUR55 => NPi2025expo}/realization.gms (83%) diff --git a/config/scenario_config_ELEVATE2p3.csv b/config/scenario_config_ELEVATE2p3.csv index cd6225b43..b1be54552 100755 --- a/config/scenario_config_ELEVATE2p3.csv +++ b/config/scenario_config_ELEVATE2p3.csv @@ -1,18 +1,18 @@ -title;start;slurmConfig;cm_wasteIncinerationCCSshare;cm_EDGEtr_scen;cm_reducCostB;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;carbonpriceRegi;cm_netZeroScen;cm_co2_tax_startyear;cm_peakBudgYr;cm_taxCO2inc_after_peakBudgYr;cm_emiscen;cm_co2_tax_growth;cm_maxProdBiolc;techpol;cm_multigasscen;cm_startyear;path_gdx_carbonprice;path_gdx;path_gdx_refpolicycost;path_gdx_bau;description -SSP2-Base;0;9;;Mix1;none;none;0;off;0;none;none;;-1;2100;3;1;1.05;off;none;2;2005;;;;;SSP2-Base: 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. -ELV_CurPol_T44;0;9;;Mix3;none;rcp45;3;off;0;NPi;none;;1;2100;3;9;1.05;100;NPi2018;3;2005;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030. In the default setting carbon prices converges after 2030 over all regions to $25 eoc. -ELV_NDC2030_T44;1;9;;Mix3;none;rcp45;3;globallyOptimal;0;NDC;none;;1;2100;3;9;1.05;100;NDC;3;2025;;;ELV-SSP2-CP-D1;ELV-SSP2-CP-D1;ELV_NDC2030_T44: 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. -ELV-SSP2-NDC-D0;1;9;;Mix3;none;rcp45;3;globallyOptimal;0;NPiexpo;none;;1;2100;3;9;1;100;NDC;3;2035;;ELV_NDC2030_T44;ELV_NDC2030_T44;;ELV-SSP2-NDC-D0: 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 constant throughout the rest of the century. -ELV-SSP2-NDC-D1;1;9;;Mix3;none;rcp45;3;globallyOptimal;0;NPiexpo;none;;1;2100;3;9;1.01;100;NDC;3;2035;;ELV_NDC2030_T44;ELV_NDC2030_T44;;ELV-SSP2-NDC-D1: 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 increases by 1%. -ELV-SSP2-NDC-D3;1;9;;Mix3;none;rcp45;3;globallyOptimal;0;NPiexpo;none;;1;2100;3;9;1.03;100;NDC;3;2035;;ELV_NDC2030_T44;ELV_NDC2030_T44;;ELV-SSP2-NDC-D3: 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 increases by 3%. -ELV-SSP2-LTS;1;9;2050.GLO 0.5;Mix3;none;rcp26;3;globallyOptimal;0;NDC;netZero;ELEVATE2p3;1;2100;3;9;1.05;100;NDC;3;2025;;ELV-SSP2-CP-D1;ELV-SSP2-CP-D1;ELV-SSP2-CP-D1;ELV_LTS_T44: High uncoordinated ambition (named as Glasgow in the ENGAGE 4.5 runs. The Glasgow scenario considers the NDC pledges and the mid-century strategy pledges (net-zero) announced at COP26 in Glasgow.) -ELV-SSP2-NDC-LTS;1;9;2050.GLO 0.5;Mix3;none;rcp26;3;globallyOptimal;0;exogenous;netZero;ELEVATE2p3;1;2100;3;9;1.05;100;NDC;3;2035;ELV_NDC2030_T44;ELV_NDC2030_T44;ELV_NDC2030_T44;ELV-SSP2-CP-D1;ELV-SSP2-NDC-LTS: The scenario reaches NDC pleages in 2030 and converges to the Glasgow mid-century pledges. -ELV-SSP2-1150;1;9;2050.GLO 0.5;Mix3;heatpumps;rcp26;7;globallyOptimal;1150;expoLinear;none;;163;2080;3;9;1.05;100;NDC;2;2030;;;ELV_NDC2030_T44;;ELV-SSP2-1150: net-zero budget Szenarien for 2 degree C global scenario without overshoot -ELV-SSP2-400Feoc;1;9;2050.GLO 0.9;Mix3;heatpumps;rcp20;5;globallyOptimal;400;expoLinear;none;;163;2080;3;9;1.05;100;NDC;2;2030;;ELV_NDC2030_T44;ELV_NDC2030_T44;;ELV-SSP2-400F: full century 1.5 degree C global scenario allowing for overshoot. -ELV-SSP2-CP-D0;1;9;;Mix3;none;rcp45;3;off;0;NPi2025_EUR55;none;;1;2100;3;9;1;100;NPi2018;3;2005;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030 with new expert guess for 2025 and 2030 (EUR only). After 2030 each region keeps the carbon price constant. -ELV-SSP2-CP-D1;1;9;;Mix3;none;rcp45;3;off;0;NPi2025_EUR55;none;;1;2100;3;9;1.01;100;NPi2018;3;2005;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030 with new expert guess for 2025 and 2030 (EUR only). After 2030 each region increases their carbon price by 1%. -ELV-SSP2-CP-D3;1;9;;Mix3;none;rcp45;3;off;0;NPi2025_EUR55;none;;1;2100;3;9;1.03;100;NPi2018;3;2005;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030 with new expert guess for 2025 and 2030 (EUR only). After 2030 each region increases their carbon price by 3%. -ELV-SSP2-CP-D1_Mix1;1;9;;Mix1ICEban;none;rcp45;3;off;0;NPi2025_EUR55;none;;1;2100;3;9;1.01;100;NPi2018;3;2005;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030 with new expert guess for 2025 and 2030 (EUR only). After 2030 each region increases their carbon price by 1%. -ELV-SSP2-CP-D1_Mix2;1;9;;Mix2ICEban;none;rcp45;3;off;0;NPi2025_EUR55;none;;1;2100;3;9;1.01;100;NPi2018;3;2005;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030 with new expert guess for 2025 and 2030 (EUR only). After 2030 each region increases their carbon price by 1%. -ELV_CurPol_T44_Mix1;1;9;;Mix1ICEban;none;rcp45;3;off;0;NPi;none;;1;2100;3;9;1.05;100;NPi2018;3;2005;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030. In the default setting carbon prices converges after 2030 over all regions to $25 eoc. -ELV_CurPol_T44_Mix2;1;9;;Mix2ICEban;none;rcp45;3;off;0;NPi;none;;1;2100;3;9;1.05;100;NPi2018;3;2005;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030. In the default setting carbon prices converges after 2030 over all regions to $25 eoc. +title;start;slurmConfig;cm_wasteIncinerationCCSshare;cm_EDGEtr_scen;cm_reducCostB;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;regipol;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;carbonpriceRegi;cm_netZeroScen;cm_co2_tax_startyear;cm_peakBudgYr;cm_taxCO2inc_after_peakBudgYr;cm_emiscen;cm_co2_tax_growth;cm_maxProdBiolc;techpol;cm_multigasscen;cm_startyear;path_gdx_carbonprice;path_gdx;path_gdx_refpolicycost;path_gdx_ref;path_gdx_bau;description +SSP2-Base;0;9;;Mix1;none;none;0;off;0;none;;;;;none;;-1;2100;3;1;1.05;off;none;2;2005;;;;;;SSP2-Base: 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. +ELV_CurPol_T44;0;9;;Mix3;none;rcp45;3;off;0;NPi;;;;;none;;1;2100;3;9;1.05;100;NPi2018;3;2005;;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030. In the default setting carbon prices converges after 2030 over all regions to $25 eoc. +ELV_NDC2030_T44;1;9;;Mix3;none;rcp45;3;globallyOptimal;0;NDC;;;;;none;;1;2100;3;9;1.05;100;NDC;3;2025;;;ELV_CurPol_T44;ELV_CurPol_T44;ELV_CurPol_T44;ELV_NDC2030_T44: 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. +ELV_NDC2030_cm2030;1;9;;Mix3;none;rcp45;3;globallyOptimal;0;NDC;;;;;none;;1;2100;3;9;1.05;100;NDC;3;2030;;;ELV_CurPol_T44_NPi2025;ELV_CurPol_T44_NPi2025;ELV_CurPol_T44_NPi2025;ELV_NDC2030_T44: 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. +ELV_NDC2030_cm2025;1;9;;Mix3;none;rcp45;3;globallyOptimal;0;NDC;;;;;none;;1;2100;3;9;1.05;100;NDC;3;2025;;;ELV_CurPol_T44_NPi2025;ELV_CurPol_T44_NPi2025;ELV_CurPol_T44_NPi2025;ELV_NDC2030_T44: 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. +ELV-SSP2-NDC-D0;1;9;;Mix3;none;rcp45;3;globallyOptimal;0;NPiexpo;;;;;none;;1;2100;3;9;1;100;NDC;3;2035;;ELV_NDC2030_T44;ELV_NDC2030_T44;;;ELV-SSP2-NDC-D0: 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 constant throughout the rest of the century. +ELV-SSP2-NDC-D1;1;9;;Mix3;none;rcp45;3;globallyOptimal;0;NPiexpo;;;;;none;;1;2100;3;9;1.01;100;NDC;3;2035;;ELV_NDC2030_T44;ELV_NDC2030_T44;;;ELV-SSP2-NDC-D1: 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 increases by 1%. +ELV-SSP2-NDC-D3;1;9;;Mix3;none;rcp45;3;globallyOptimal;0;NPiexpo;;;;;none;;1;2100;3;9;1.03;100;NDC;3;2035;;ELV_NDC2030_T44;ELV_NDC2030_T44;;;ELV-SSP2-NDC-D3: 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 increases by 3%. +ELV-SSP2-LTS;1;9;2050.GLO 0.5;Mix3;none;rcp26;3;globallyOptimal;0;NDC;;;;;netZero;ELEVATE2p3;1;2100;3;9;1.05;100;NDC;3;2025;;ELV-SSP2-CP-D1;ELV-SSP2-CP-D1;;ELV-SSP2-CP-D1;ELV_LTS_T44: High uncoordinated ambition (named as Glasgow in the ENGAGE 4.5 runs. The Glasgow scenario considers the NDC pledges and the mid-century strategy pledges (net-zero) announced at COP26 in Glasgow.) +ELV-SSP2-NDC-LTS;1;9;2050.GLO 0.5;Mix3;none;rcp26;3;globallyOptimal;0;exogenous;;;;;netZero;ELEVATE2p3;1;2100;3;9;1.05;100;NDC;3;2035;ELV_NDC2030_T44;ELV_NDC2030_T44;ELV_NDC2030_T44;;ELV-SSP2-CP-D1;ELV-SSP2-NDC-LTS: The scenario reaches NDC pleages in 2030 and converges to the Glasgow mid-century pledges. +ELV-SSP2-1150;1;9;2050.GLO 0.5;Mix3;heatpumps;rcp26;7;globallyOptimal;1150;expoLinear;;;;;none;;163;2080;3;9;1.05;100;NDC;2;2030;;;ELV_NDC2030_T44;;;ELV-SSP2-1150: net-zero budget Szenarien for 2 degree C global scenario without overshoot +ELV-SSP2-400Feoc;1;9;2050.GLO 0.9;Mix3;heatpumps;rcp20;5;globallyOptimal;400;expoLinear;;;;;none;;163;2080;3;9;1.05;100;NDC;2;2030;;ELV_NDC2030_T44;ELV_NDC2030_T44;;;ELV-SSP2-400F: full century 1.5 degree C global scenario allowing for overshoot. +ELV-SSP2-CP-D0;1;9;;Mix2ICEban;none;rcp45;3;off;0;NPi2025expo;;;;;none;;1;2100;3;9;1;100;NPi2018;3;2005;;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030 with new expert guess for 2025 and 2030 (EUR only). After 2030 each region keeps the carbon price constant. +ELV-SSP2-CP-D1;1;9;;Mix2ICEban;none;rcp45;3;off;0;NPi2025expo;;;;;none;;1;2100;3;9;1.01;100;NPi2018;3;2005;;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030 with new expert guess for 2025 and 2030 (EUR only). After 2030 each region increases their carbon price by 1%. +ELV-SSP2-CP-D3;1;9;;Mix2ICEban;none;rcp45;3;off;0;NPi2025expo;;;;;none;;1;2100;3;9;1.03;100;NPi2018;3;2005;;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030 with new expert guess for 2025 and 2030 (EUR only). After 2030 each region increases their carbon price by 3%. +ELV_CurPol_T44_NPi2025;1;9;;Mix2ICEban;none;rcp45;3;off;0;NPi2025;;;;;none;;1;2100;3;9;1;100;NPi2018;3;2005;;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030. In the default setting carbon prices converges after 2030 over all regions to $25 eoc. +ELV_CurPol_T44_NPi2025_regi;1;9;;Mix2ICEban;none;rcp45;3;off;0;NPi2025;regiCarbonPrice;on;on;EUR_regi, NEU_regi;;;1;2100;3;9;1;100;NPi2018;3;2005;;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030. In the default setting carbon prices converges after 2030 over all regions to $25 eoc. diff --git a/modules/45_carbonprice/NPi2025/datainput.gms b/modules/45_carbonprice/NPi2025/datainput.gms new file mode 100755 index 000000000..e858e41c4 --- /dev/null +++ b/modules/45_carbonprice/NPi2025/datainput.gms @@ -0,0 +1,23 @@ +*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | authors, and contributors see CITATION.cff file. This file is part +*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +*** | AGPL-3.0, you are granted additional permissions described in the +*** | REMIND License Exception, version 1.0 (see LICENSE file). +*** | Contact: remind@pik-potsdam.de +*** SOF ./modules/45_carbonprice/NPi2025/datainput.gms + +***---------------------------- +*** CO2 Tax level growing exponentially from 2025 value taken from input data +***---------------------------- + +pm_taxCO2eq(ttot,regi)$(ttot.val le 2025) = fm_taxCO2eqHist(ttot,regi) * sm_DptCO2_2_TDpGtC; + +pm_taxCO2eq(t,regi)$(t.val gt 2025) = sum(ttot, pm_taxCO2eq(ttot,regi)$(ttot.val eq 2025)) + (t.val - 2025) * (20/75) * sm_DptCO2_2_TDpGtC; + +loop(ext_regi$sameas(ext_regi, "EUR_regi"), + pm_taxCO2eq(t,regi)$(t.val ge 2030 AND regi_group(ext_regi,regi)) = (fm_taxCO2eqHist("2030",regi)+ (t.val - 2030) * (20/75)) * sm_DptCO2_2_TDpGtC; + ); + +pm_taxCO2eq(t,regi)$(t.val gt 2110) = pm_taxCO2eq("2110",regi); !! to prevent huge taxes after 2110 and the resulting convergence problems, set taxes after 2110 equal to 2110 value + +*** EOF ./modules/45_carbonprice/NPi2025/datainput.gms diff --git a/modules/45_carbonprice/NPi2025_EUR55/not_used.txt b/modules/45_carbonprice/NPi2025/not_used.txt similarity index 100% rename from modules/45_carbonprice/NPi2025_EUR55/not_used.txt rename to modules/45_carbonprice/NPi2025/not_used.txt diff --git a/modules/45_carbonprice/NPi2025/realization.gms b/modules/45_carbonprice/NPi2025/realization.gms new file mode 100755 index 000000000..722abe7f9 --- /dev/null +++ b/modules/45_carbonprice/NPi2025/realization.gms @@ -0,0 +1,15 @@ +*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | authors, and contributors see CITATION.cff file. This file is part +*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +*** | AGPL-3.0, you are granted additional permissions described in the +*** | REMIND License Exception, version 1.0 (see LICENSE file). +*** | Contact: remind@pik-potsdam.de +*** SOF ./modules/45_carbonprice/NPi2025/realization.gms + +*' @description: This realization takes the carbon prices until 2025 from the input data (for EUR until 2030) and implements a linear growth up to 20US until 2100 afterwards + +*####################### R SECTION START (PHASES) ############################## +$Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/NPi2025/datainput.gms" +*######################## R SECTION END (PHASES) ############################### + +*** EOF ./modules/45_carbonprice/NPi2025/realization.gms diff --git a/modules/45_carbonprice/NPi2025_EUR55/datainput.gms b/modules/45_carbonprice/NPi2025expo/datainput.gms similarity index 90% rename from modules/45_carbonprice/NPi2025_EUR55/datainput.gms rename to modules/45_carbonprice/NPi2025expo/datainput.gms index 531c7ec75..13af2b12c 100755 --- a/modules/45_carbonprice/NPi2025_EUR55/datainput.gms +++ b/modules/45_carbonprice/NPi2025expo/datainput.gms @@ -4,7 +4,7 @@ *** | AGPL-3.0, you are granted additional permissions described in the *** | REMIND License Exception, version 1.0 (see LICENSE file). *** | Contact: remind@pik-potsdam.de -*** SOF ./modules/45_carbonprice/NPi2025_EUR55/datainput.gms +*** SOF ./modules/45_carbonprice/NPi2025expo/datainput.gms ***---------------------------- *** CO2 Tax level growing exponentially from 2025 value taken from input data @@ -20,4 +20,4 @@ loop(ext_regi$sameas(ext_regi, "EUR_regi"), pm_taxCO2eq(t,regi)$(t.val gt 2110) = pm_taxCO2eq("2110",regi); !! to prevent huge taxes after 2110 and the resulting convergence problems, set taxes after 2110 equal to 2110 value -*** EOF ./modules/45_carbonprice/NPi2025_EUR55/datainput.gms +*** EOF ./modules/45_carbonprice/NPi2025expo/datainput.gms diff --git a/modules/45_carbonprice/NPi2025expo/not_used.txt b/modules/45_carbonprice/NPi2025expo/not_used.txt new file mode 100755 index 000000000..57c09d7f0 --- /dev/null +++ b/modules/45_carbonprice/NPi2025expo/not_used.txt @@ -0,0 +1,34 @@ +# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +# | authors, and contributors see CITATION.cff file. This file is part +# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +# | AGPL-3.0, you are granted additional permissions described in the +# | REMIND License Exception, version 1.0 (see LICENSE file). +# | Contact: remind@pik-potsdam.de +name,type,reason +cm_emiscen, switch, ??? +sm_c_2_co2,switch, ??? +pm_ttot_val,parameter,??? +cm_startyear,switch,??? +cm_iterative_target_adj,switch,??? +cm_expoLinear_yearStart,switch,??? +vm_co2eq,variable,??? +vm_emiFgas,input,questionnaire +pm_globalMeanTemperature,input,questionnaire +pm_temperatureImpulseResponseCO2,input,questionnaire +pm_consPC,input,questionnaire +pm_GDPGross,input,questionnaire +pm_prtp,input,questionnaire +cm_carbonprice_temperatureLimit,input,questionnaire +pm_ttot_2_tall,input,questionnaire +pm_shPPPMER,input,questionnaire +pm_pop,input,questionnaire +pm_gdp,input,questionnaire +cm_CO2priceRegConvEndYr,input,questionnaire +cm_NDC_divergentScenario,input,questionnaire +vm_demFeSector,input,questionnaire +pm_emifac,input,questionnaire +cm_co2_tax_spread,input,not needed +cm_peakBudgYr,input,not needed +cm_co2_tax_startyear,input,not needed +cm_taxCO2inc_after_peakBudgYr,input,not needed +sm_D2005_2_D2017,input,not needed diff --git a/modules/45_carbonprice/NPi2025_EUR55/realization.gms b/modules/45_carbonprice/NPi2025expo/realization.gms similarity index 83% rename from modules/45_carbonprice/NPi2025_EUR55/realization.gms rename to modules/45_carbonprice/NPi2025expo/realization.gms index 988f2b07a..51f02991c 100755 --- a/modules/45_carbonprice/NPi2025_EUR55/realization.gms +++ b/modules/45_carbonprice/NPi2025expo/realization.gms @@ -4,12 +4,12 @@ *** | AGPL-3.0, you are granted additional permissions described in the *** | REMIND License Exception, version 1.0 (see LICENSE file). *** | Contact: remind@pik-potsdam.de -*** SOF ./modules/45_carbonprice/NPi2025_EUR55/realization.gms +*** SOF ./modules/45_carbonprice/NPi2025expo/realization.gms *' @description: This realization takes the carbon prices until 2025 from the input data (for EUR until 2030) and implements an exponentially growing path afterwards *####################### R SECTION START (PHASES) ############################## -$Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/NPi2025_EUR55/datainput.gms" +$Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/NPi2025expo/datainput.gms" *######################## R SECTION END (PHASES) ############################### -*** EOF ./modules/45_carbonprice/NPi2025_EUR55/realization.gms +*** EOF ./modules/45_carbonprice/NPi2025expo/realization.gms diff --git a/modules/45_carbonprice/module.gms b/modules/45_carbonprice/module.gms index dd45e9903..c38c6ed53 100644 --- a/modules/45_carbonprice/module.gms +++ b/modules/45_carbonprice/module.gms @@ -23,7 +23,8 @@ *###################### R SECTION START (MODULETYPES) ########################## $Ifi "%carbonprice%" == "NDC" $include "./modules/45_carbonprice/NDC/realization.gms" $Ifi "%carbonprice%" == "NPi" $include "./modules/45_carbonprice/NPi/realization.gms" -$Ifi "%carbonprice%" == "NPi2025_EUR55" $include "./modules/45_carbonprice/NPi2025_EUR55/realization.gms" +$Ifi "%carbonprice%" == "NPi2025" $include "./modules/45_carbonprice/NPi2025/realization.gms" +$Ifi "%carbonprice%" == "NPi2025expo" $include "./modules/45_carbonprice/NPi2025expo/realization.gms" $Ifi "%carbonprice%" == "NPiexpo" $include "./modules/45_carbonprice/NPiexpo/realization.gms" $Ifi "%carbonprice%" == "diffExp2Lin" $include "./modules/45_carbonprice/diffExp2Lin/realization.gms" $Ifi "%carbonprice%" == "diffLin2Lin" $include "./modules/45_carbonprice/diffLin2Lin/realization.gms" From b4846317b0507ffd9aa6e12286cfaba4447da64a Mon Sep 17 00:00:00 2001 From: rahelMA Date: Tue, 19 Nov 2024 10:22:41 +0100 Subject: [PATCH 742/875] complete not_used --- modules/45_carbonprice/NPi2025/not_used.txt | 1 + modules/45_carbonprice/NPi2025/realization.gms | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/45_carbonprice/NPi2025/not_used.txt b/modules/45_carbonprice/NPi2025/not_used.txt index 57c09d7f0..e7ef905e1 100755 --- a/modules/45_carbonprice/NPi2025/not_used.txt +++ b/modules/45_carbonprice/NPi2025/not_used.txt @@ -32,3 +32,4 @@ cm_peakBudgYr,input,not needed cm_co2_tax_startyear,input,not needed cm_taxCO2inc_after_peakBudgYr,input,not needed sm_D2005_2_D2017,input,not needed +cm_co2_tax_growth, input,not needed diff --git a/modules/45_carbonprice/NPi2025/realization.gms b/modules/45_carbonprice/NPi2025/realization.gms index 722abe7f9..933278ca7 100755 --- a/modules/45_carbonprice/NPi2025/realization.gms +++ b/modules/45_carbonprice/NPi2025/realization.gms @@ -6,7 +6,7 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/45_carbonprice/NPi2025/realization.gms -*' @description: This realization takes the carbon prices until 2025 from the input data (for EUR until 2030) and implements a linear growth up to 20US until 2100 afterwards +*' @description: This realization uses the carbon prices from the input (/p/projects/rd3mod/inputdata/sources/ExpertGuess) data up to 2025 (and for EUR, up to 2030) and assumes a linear increase to 20 USD by 2100. *####################### R SECTION START (PHASES) ############################## $Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/NPi2025/datainput.gms" From 7c6c250aa7963979f4e619d77007ad391809d8f1 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Tue, 19 Nov 2024 14:44:18 +0100 Subject: [PATCH 743/875] * new CES parameter and gdx files for SSP2, SSP-EU21, SSP1, SSP3, SSP5 and SSP2_lowEn, calibration runs: /p/tmp/lavinia/REMIND/REMIND_calibration_2024_11_18/remind * updating CHANGELOG.md --- CHANGELOG.md | 1 + config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8cd9ee1e8..ce6a879e6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### input data/calibration - new input data rev6.84 [[#1757](https://github.com/remindmodel/remind/pull/1757)] - new input data rev6.95 in US$2017[[#1812]] (https://github.com/remindmodel/remind/pull/1812) +- new input data rev7.13 including new MAgPIE emulators [[#1886]] (https://github.com/remindmodel/remind/pull/1886) - CES parameter and gdx files calibrated with new default diffLin2Lin for NPi [[#1747](https://github.com/remindmodel/remind/pull/1747)] and [[#1757](https://github.com/remindmodel/remind/pull/1757)] diff --git a/config/default.cfg b/config/default.cfg index 6c3989a97..472ffeb89 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -31,7 +31,7 @@ cfg$extramappings_historic <- "" cfg$inputRevision <- "7.13" #### Current CES parameter and GDX revision (commit hash) #### -cfg$CESandGDXversion <- "84b10b9308f97fae38923762b840b8dffd456568" +cfg$CESandGDXversion <- "914fb7db0701f0c5b4f4f1314dea1e8401ce11a6" #### Force the model to download new input data #### cfg$force_download <- FALSE From 4e49a993e14ef28901f8de6a07e30580725d0a1d Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 19 Nov 2024 14:18:17 +0000 Subject: [PATCH 744/875] Release development version 3.3.2.dev961 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 761744dfe..287ba233e 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev951" -date-released: 2024-11-18 +version: "3.3.2.dev961" +date-released: 2024-11-19 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 472ffeb89..c654f0b52 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev951" +cfg$model_version <- "3.3.2.dev961" #### settings #### cfg$gms <- list() From cfd20e99309ae900edab1c201a7635deff5715d7 Mon Sep 17 00:00:00 2001 From: RahelMA <115071991+RahelMA@users.noreply.github.com> Date: Tue, 19 Nov 2024 19:33:43 +0100 Subject: [PATCH 745/875] Update modules/45_carbonprice/NPi2025/realization.gms MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Laurin Köhler-Schindler <163062134+laurinks@users.noreply.github.com> --- modules/45_carbonprice/NPi2025/realization.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/45_carbonprice/NPi2025/realization.gms b/modules/45_carbonprice/NPi2025/realization.gms index 933278ca7..dae15f412 100755 --- a/modules/45_carbonprice/NPi2025/realization.gms +++ b/modules/45_carbonprice/NPi2025/realization.gms @@ -6,7 +6,7 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/45_carbonprice/NPi2025/realization.gms -*' @description: This realization uses the carbon prices from the input (/p/projects/rd3mod/inputdata/sources/ExpertGuess) data up to 2025 (and for EUR, up to 2030) and assumes a linear increase to 20 USD by 2100. +*' @description: This realization uses the carbon prices from the input (/p/projects/rd3mod/inputdata/sources/ExpertGuess) data up to 2025 (and for EUR, up to 2030) and thereafter assumes a linear increase to 20 USD in the period from 2025 to 2100. *####################### R SECTION START (PHASES) ############################## $Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/NPi2025/datainput.gms" From 28f4a3986fb29c7e775209cb7210dc9db98e5a5d Mon Sep 17 00:00:00 2001 From: rahelMA Date: Tue, 19 Nov 2024 20:02:23 +0100 Subject: [PATCH 746/875] adjust changelog --- CHANGELOG.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8cd9ee1e8..19bc3f4c3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -37,8 +37,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). [[#1777](https://github.com/remindmodel/remind/pull/1777)] - **45_carbonprice** added realizations diffExp2Lin and diffLin2Lin [[#1723](https://github.com/remindmodel/remind/pull/1723)] --_**45_carbonprice** added realizations NPi2025_EUR55 and NPiexpo - [[#1851](https://github.com/remindmodel/remind/pull/1851)] +- **45_carbonprice** added realizations NPi2025, NPi2025expo and NPiexpo + [[#1851](https://github.com/remindmodel/remind/pull/1851)] and + [[#1888](https://github.com/remindmodel/remind/pull/1888)] - **50_damages**, **51_internalizeDamages** add KotzWenz realization based on Kotz & Wenz (2024) [[#1601](https://github.com/remindmodel/remind/pull/1601)] - **config** add ELEVATE2p3 config From a8d11cb393f06c5ec0d8809558de50b08fa7f829 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 19 Nov 2024 19:28:17 +0000 Subject: [PATCH 747/875] Release development version 3.3.2.dev967 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 287ba233e..cac207902 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev961" +version: "3.3.2.dev967" date-released: 2024-11-19 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index c654f0b52..6f4d27c0e 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev961" +cfg$model_version <- "3.3.2.dev967" #### settings #### cfg$gms <- list() From 69e212fff2d658bfa37fd9f1c5a71730f62b5997 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Tue, 19 Nov 2024 22:36:20 +0100 Subject: [PATCH 748/875] Refactoring of 45_carbonprice and increased flexibility for carbonprice differentiation --- CHANGELOG.md | 4 +- config/scenario_config.csv | 87 ++-- .../scenario_config_21_EU11_2040_target.csv | 386 +++++++------- config/scenario_config_21_EU11_ARIADNE.csv | 4 +- config/scenario_config_21_EU11_ECEMF.csv | 108 ++-- config/scenario_config_DeepEl.csv | 18 +- config/scenario_config_EL2p0DeepDive.csv | 78 +-- config/scenario_config_ELEVATE2p3.csv | 2 +- config/scenario_config_ELEVATE4p4.csv | 52 +- config/scenario_config_IKEA.csv | 46 +- config/scenario_config_NGFS_v5.csv | 152 +++--- config/scenario_config_coupled.csv | 3 + core/datainput.gms | 7 +- core/declarations.gms | 25 +- core/postsolve.gms | 477 +----------------- core/preloop.gms | 13 - main.gms | 161 +++--- modules/45_carbonprice/NDC/not_used.txt | 20 +- modules/45_carbonprice/NPi/not_used.txt | 20 +- modules/45_carbonprice/NPi2025/not_used.txt | 20 +- .../45_carbonprice/NPi2025expo/datainput.gms | 4 +- .../45_carbonprice/NPi2025expo/not_used.txt | 18 +- modules/45_carbonprice/NPiexpo/datainput.gms | 2 +- modules/45_carbonprice/NPiexpo/not_used.txt | 18 +- .../45_carbonprice/diffExp2Lin/datainput.gms | 98 ---- .../diffExp2Lin/declarations.gms | 32 -- .../45_carbonprice/diffExp2Lin/not_used.txt | 25 - .../45_carbonprice/diffExp2Lin/postsolve.gms | 33 -- .../diffExp2Lin/realization.gms | 28 - .../45_carbonprice/diffLin2Lin/datainput.gms | 139 ----- .../diffLin2Lin/declarations.gms | 37 -- .../45_carbonprice/diffLin2Lin/postsolve.gms | 47 -- .../diffLin2Lin/realization.gms | 29 -- modules/45_carbonprice/exogenous/not_used.txt | 20 +- .../45_carbonprice/expoLinear/datainput.gms | 23 +- .../expoLinear/declarations.gms | 4 +- .../45_carbonprice/expoLinear/not_used.txt | 17 +- .../45_carbonprice/expoLinear/realization.gms | 1 + .../functionalForm/datainput.gms | 225 +++++++++ .../functionalForm/declarations.gms | 86 ++++ .../not_used.txt | 4 - .../functionalForm/postsolve.gms | 428 ++++++++++++++++ .../functionalForm/realization.gms | 46 ++ modules/45_carbonprice/module.gms | 11 +- modules/45_carbonprice/none/not_used.txt | 20 +- .../temperatureNotToExceed/not_used.txt | 20 +- modules/80_optimization/nash/postsolve.gms | 6 +- modules/80_optimization/negishi/not_used.txt | 6 +- .../80_optimization/testOneRegi/not_used.txt | 6 +- modules/81_codePerformance/on/presolve.gms | 8 +- scripts/start/checkFixCfg.R | 4 + scripts/start/readCheckScenarioConfig.R | 16 +- tests/testthat/test_01-checkFixCfg.R | 4 +- 53 files changed, 1535 insertions(+), 1613 deletions(-) delete mode 100644 modules/45_carbonprice/diffExp2Lin/datainput.gms delete mode 100644 modules/45_carbonprice/diffExp2Lin/declarations.gms delete mode 100644 modules/45_carbonprice/diffExp2Lin/not_used.txt delete mode 100644 modules/45_carbonprice/diffExp2Lin/postsolve.gms delete mode 100644 modules/45_carbonprice/diffExp2Lin/realization.gms delete mode 100644 modules/45_carbonprice/diffLin2Lin/datainput.gms delete mode 100644 modules/45_carbonprice/diffLin2Lin/declarations.gms delete mode 100644 modules/45_carbonprice/diffLin2Lin/postsolve.gms delete mode 100644 modules/45_carbonprice/diffLin2Lin/realization.gms create mode 100644 modules/45_carbonprice/functionalForm/datainput.gms create mode 100644 modules/45_carbonprice/functionalForm/declarations.gms rename modules/45_carbonprice/{diffLin2Lin => functionalForm}/not_used.txt (87%) create mode 100644 modules/45_carbonprice/functionalForm/postsolve.gms create mode 100644 modules/45_carbonprice/functionalForm/realization.gms diff --git a/CHANGELOG.md b/CHANGELOG.md index a576a4bd2..f588fbd10 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -36,8 +36,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). [[#1789](https://github.com/remindmodel/remind/pull/1789)] - **33_CDR** added ocean alkalinity enhancement to the CDR portfolio (OAE is turned off by default) [[#1777](https://github.com/remindmodel/remind/pull/1777)] -- **45_carbonprice** added realizations diffExp2Lin and diffLin2Lin - [[#1723](https://github.com/remindmodel/remind/pull/1723)] +- **45_carbonprice** added realization functionalForm + [[#1874](https://github.com/remindmodel/remind/pull/1874)] and [[#1723](https://github.com/remindmodel/remind/pull/1723)] - **45_carbonprice** added realizations NPi2025, NPi2025expo and NPiexpo [[#1851](https://github.com/remindmodel/remind/pull/1851)] and [[#1888](https://github.com/remindmodel/remind/pull/1888)] diff --git a/config/scenario_config.csv b/config/scenario_config.csv index a2e0eb9a0..bf06719b3 100644 --- a/config/scenario_config.csv +++ b/config/scenario_config.csv @@ -1,41 +1,46 @@ -title;start;CES_parameters;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_startyear;cm_peakBudgYr;cm_co2_tax_spread;cm_CO2priceRegConvEndYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_co2_tax_growth;cm_bioenergy_SustTax;cm_33EW;cm_33OAE;cm_33_OAE_eff;cm_33_OAE_scen;cm_frac_NetNegEmi;c_ccsinjecratescen;c_ccscapratescen;c_changeProdCost;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description -# H12 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-NPi-calibrate;calibrate,AMT,compileInTests;calibrate;14;;;rcp45;;;0;NPi;;;;;9;;;;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-NDC;1,AMT,2;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;9;;;;;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2030;;SSP2-NPi;SSP2-NPi;SSP2-NPi;SSP2-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. -SSP2-NPi;1,AMT,compileInTests,2;;;;;rcp45;3;;0;NPi;;;;;9;;;;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-PkBudg500;1,AMT,2;;;;;rcp20;9;globallyOptimal;500;diffLin2Lin;200;2045;;;9;;;;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be well below 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-PkBudg650;1,AMT,2;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;;9;;;;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-PkBudg1000;1,AMT,2;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;;;9;;;;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-NPi;;SSP2-NPi;SSP2-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -SSP2-EcBudg400;1,AMT,2;;;;;rcp26;5;globallyOptimal;400;diffExp2Lin;70;;20;2070;9;;;;;;1;1;0.9;0;0;;;1;;;;2060.GLO 0.9;NDC;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2035;;SSP2-NPi;;SSP2-NPi;SSP2-EcBudg400: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes an end-of-century budget of 400 Gt CO2 on total CO2 emissions from 2020 to 2100. This is a high overshoot scenario with delayed climate policy. -# EU21 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-EU21-NPi-calibrate;calibrate;calibrate;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;0;NPi;;;;;9;;;;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-EU21-Base;1,AMT,compileInTests,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;;;;0;;;;;;;;off;;;;;;;;;;;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix1;2005;;;;;SSP2-EU21-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-EU21-NDC;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;globallyOptimal;0;NDC;;;;;9;;;;;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2030;;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-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. -SSP2-EU21-NPi;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;;;9;;;;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-EU21-PkBudg500;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;500;diffLin2Lin;200;2045;;;9;;;;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg500: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-EU21-PkBudg650;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;;9;;;;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg650: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-EU21-PkBudg1000;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;;;9;;;;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-EU21-NPi;;SSP2-EU21-NPi;SSP2-EU21-PkBudg1050: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -# H12 SSP3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP3-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;9;;;1;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. -SSP3-NDC;0;;;;;rcp45;3;;0;NDC;;;;;9;;;1;;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2;2030;;SSP2-NPi;SSP3-NPi;SSP3-NPi;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. 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. -SSP3-NPi;0;;;;;rcp45;3;;0;NPi;;;;;9;;;1;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP3-PkBudg1000;0;;;;;rcp26;9;;1000;diffLin2Lin;45;2080;;2100;9;;;1;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix3ICEban;2030;;SSP2-NPi;;;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -SSP3-rollBack;0;;;;;rcp45;9;;;NPiexpo;;;;;9;;;1;0.9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix1;2030;;SSP2-NPi;;; -# H12 SSP1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP1-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;;;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. -SSP1-NDC;1,AMT,compileInTests;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;;;;;;2;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2;2030;;SSP2-NPi;SSP1-NPi;SSP1-NPi;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. -SSP1-NPi;1,AMT;;;;;rcp45;3;;0;NPi;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.025;1.75;;;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP1-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;;;;;;2;;1;feelhpb 1.05, fehob 1.75, feheb 0.1;manual;feh2_otherInd 1.04, feelhth_otherInd 0.4, feh2_cement 2.0, feelhth_chemicals 1.3, feh2_chemicals 1.04;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SSP2-NPi;;;SSP1-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP1-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;;;9;GLO 0.12, EUR_regi 0.16;;2;1.025;1.75;;;;;;2;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix3ICEban;2030;;SSP2-NPi;;;SSP1-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -# H12 SSP2 lowEnergy;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2_lowEn-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;9;;;;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix1;2005;;;;;SSP2_lowEn-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. -SSP2_lowEn-NDC;1,AMT;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;9;;;;;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix2;2025;;SSP2-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. 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. -SSP2_lowEn-NPi;1,AMT;;;;;rcp45;3;;0;NPi;;;;;9;;;;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix1;2005;;;;;SSP2_lowEn-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2_lowEn-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;;9;;;;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;Mix4ICEban;2030;;SSP2-NPi;;;SSP2_lowEn-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2_lowEn-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;;;9;;;;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;Mix3ICEban;2030;;SSP2-NPi;;;SSP2_lowEn-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -# H12 SSP5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP5-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;9;;;1;;1.75;;;;;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. -SSP5-NDC;1;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;9;;;1;;1.75;;;;;;3;2;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2;2030;;SSP2-NPi;SSP5-NPi;SSP5-NPi;SSP5-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. 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. -SSP5-NPi;1;;;;;rcp45;3;;0;NPi;;;;;9;;;1;;1.75;;;;;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP5-PkBudg650;1;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;;;9;;;1;;1.75;;;;;;3;2;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix4ICEban;2030;;SSP2-NPi;;;SSP5-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP5-PkBudg1000;1,compileInTests;;;;;rcp26;9;globallyOptimal;1000;diffLin2Lin;45;2080;;;9;;;1;;1.75;;;;;;3;2;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix3ICEban;2030;;SSP2-NPi;;;SSP5-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +title;start;CES_parameters;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_budgetCO2from2020;carbonprice;cm_taxCO2_functionalForm;cm_taxCO2_expGrowth;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_regiDiff;cm_taxCO2_regiDiff_endYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_bioenergy_SustTax;cm_33EW;cm_33OAE;cm_frac_NetNegEmi;c_ccsinjecratescen;c_ccscapratescen;c_changeProdCost;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description +# H12 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2-NPi-calibrate;calibrate,AMT,compileInTests;calibrate;14;;;rcp45;;;0;NPi;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-NDC;1,AMT,2;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2030;;SSP2-NPi2025;SSP2-NPi;SSP2-NPi;SSP2-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. +SSP2-NPi;1,AMT,compileInTests,2;;;;;rcp45;3;;0;NPi;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-NPi2025;1,AMT,2;;;;;rcp45;3;;0;NPi2025;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-PkBudg500;1,AMT,2;;;;;rcp20;9;globallyOptimal;500;functionalForm;;;200;2045;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;SSP2-NPi;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be well below 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-PkBudg650;1,AMT,2;;;;;rcp20;9;globallyOptimal;650;functionalForm;;;100;2055;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;SSP2-NPi;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-PkBudg1000;1,AMT,2;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;;75;2080;;;9;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-NPi2025;;SSP2-NPi;SSP2-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP2-EcBudg400;1,AMT,2;;;;;rcp26;5;globallyOptimal;400;functionalForm;exponential;;70;;initialSpread20;GLO 2070;9;;;;;1;1;0;;;1;;;;2060.GLO 0.9;NDC;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2035;;SSP2-NPi2025;;SSP2-NPi;SSP2-EcBudg400: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes an end-of-century budget of 400 Gt CO2 on total CO2 emissions from 2020 to 2100. This is a high overshoot scenario with delayed climate policy. +# EU21 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2-EU21-NPi-calibrate;calibrate;calibrate;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;0;NPi;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-EU21-Base;1,AMT,compileInTests,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;;;;0;;;;;;;;;;off;;;;;;;;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix1;2005;;;;;SSP2-EU21-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-EU21-NDC;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2030;;SSP2-EU21-NPi2025;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-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. +SSP2-EU21-NPi;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-EU21-NPi2025;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi2025;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-EU21-PkBudg500;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;500;functionalForm;;;200;2045;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi;SSP2-EU21-PkBudg500: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-EU21-PkBudg650;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;;;100;2055;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi;SSP2-EU21-PkBudg650: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-EU21-PkBudg1000;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;9;globallyOptimal;1000;functionalForm;;;75;2080;;;9;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi;SSP2-EU21-PkBudg1050: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +# H12 SSP3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP3-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. +SSP3-NDC;0;;;;;rcp45;3;;0;NDC;;;;;;;9;;;1;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2;2030;;SSP2-NPi2025;SSP3-NPi;SSP3-NPi;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. 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. +SSP3-NPi;0;;;;;rcp45;3;;0;NPi;;;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP3-PkBudg1000;0;;;;;rcp26;9;;1000;functionalForm;;;55;2080;;GLO 2100;9;;;1;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix3ICEban;2030;;SSP2-NPi2025;;;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP3-rollBack;0;;;;;rcp45;3;;0;NPiexpo;;0.9;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix1;2030;;SSP2-NPi2025;;; +# H12 SSP1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP1-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;1.025;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. +SSP1-NDC;1,AMT,compileInTests;;;;;rcp45;3;globallyOptimal;0;NDC;;1.025;;;;;9;GLO 0.12, EUR_regi 0.16;;2;1.75;;;;2;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2;2030;;SSP2-NPi2025;SSP1-NPi;SSP1-NPi;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. +SSP1-NPi;1,AMT;;;;;rcp45;3;;0;NPi;;1.025;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP1-NPi2025;1,AMT;;;;;rcp45;3;;0;NPi2025;;1.025;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP1-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;functionalForm;;1.025;100;2055;;;9;GLO 0.12, EUR_regi 0.16;;2;1.75;;;;2;;1;feelhpb 1.05, fehob 1.75, feheb 0.1;manual;feh2_otherInd 1.04, feelhth_otherInd 0.4, feh2_cement 2.0, feelhth_chemicals 1.3, feh2_chemicals 1.04;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SSP2-NPi2025;;;SSP1-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP1-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;1.025;75;2080;;;9;GLO 0.12, EUR_regi 0.16;;2;1.75;;;;2;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix3ICEban;2030;;SSP2-NPi2025;;;SSP1-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +# H12 SSP2 lowEnergy;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2_lowEn-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix1;2005;;;;;SSP2_lowEn-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. +SSP2_lowEn-NDC;1,AMT;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix2;2025;;SSP2-NPi2025;SSP2_lowEn-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. 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. +SSP2_lowEn-NPi;1,AMT;;;;;rcp45;3;;0;NPi;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix1;2005;;;;;SSP2_lowEn-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2_lowEn-NPi2025;1,AMT;;;;;rcp45;3;;0;NPi2025;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix1;2005;;;;;SSP2_lowEn-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2_lowEn-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;functionalForm;;;100;2055;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;;SSP2_lowEn-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2_lowEn-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;;75;2080;;;9;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;Mix3ICEban;2030;;SSP2-NPi2025;;;SSP2_lowEn-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +# H12 SSP5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP5-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;;;9;;;1;1.75;;;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. +SSP5-NDC;1;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;;;1;1.75;;;;3;2;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2;2030;;SSP2-NPi2025;SSP5-NPi;SSP5-NPi;SSP5-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. 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. +SSP5-NPi;1;;;;;rcp45;3;;0;NPi;;;;;;;9;;;1;1.75;;;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP5-NPi2025;1;;;;;rcp45;3;;0;NPi2025;;;;;;;9;;;1;1.75;;;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP5-PkBudg650;1;;;;;rcp20;9;globallyOptimal;650;functionalForm;;;100;2055;;;9;;;1;1.75;;;;3;2;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix4ICEban;2030;;SSP2-NPi2025;;;SSP5-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP5-PkBudg1000;1,compileInTests;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;;75;2080;;;9;;;1;1.75;;;;3;2;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix3ICEban;2030;;SSP2-NPi2025;;;SSP5-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. diff --git a/config/scenario_config_21_EU11_2040_target.csv b/config/scenario_config_21_EU11_2040_target.csv index e2e5a8acb..be59a4bce 100644 --- a/config/scenario_config_21_EU11_2040_target.csv +++ b/config/scenario_config_21_EU11_2040_target.csv @@ -1,214 +1,214 @@ -title;start;c_tech_CO2capturerate;cm_limitSolidsFossilRegi;cm_INCONV_PENALTY_FESwitch;cm_seFeSectorShareDevMethod;c_seFeSectorShareDevUnit;c_seFeSectorShareDevScale;c_ccsinjecratescen;trade;cm_import_EU;cm_implicitQttyTargetType;cm_implicitQttyTarget;regipol;cm_emiMktTarget;cm_emiMktTarget_tolerance;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_EDGEtr_scen;cm_wasteIncinerationCCSshare;cm_SEtaxRampUpParam;cm_regiExoPrice;CES_parameters;optimization;cm_nash_mode;c_testOneRegi_region;c_keep_iteration_gdxes;cm_abortOnConsecFail;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_startyear;cm_peakBudgYr;cm_emiscen;techpol;cm_multigasscen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;description;cm_PriceDurSlope_elh2;cm_adj_coeff;cm_inco0Factor +title;start;c_tech_CO2capturerate;cm_limitSolidsFossilRegi;cm_INCONV_PENALTY_FESwitch;cm_seFeSectorShareDevMethod;c_seFeSectorShareDevUnit;c_seFeSectorShareDevScale;c_ccsinjecratescen;trade;cm_import_EU;cm_implicitQttyTargetType;cm_implicitQttyTarget;regipol;cm_emiMktTarget;cm_emiMktTarget_tolerance;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_EDGEtr_scen;cm_wasteIncinerationCCSshare;cm_SEtaxRampUpParam;cm_regiExoPrice;CES_parameters;optimization;cm_nash_mode;c_testOneRegi_region;c_keep_iteration_gdxes;cm_abortOnConsecFail;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_budgetCO2from2020;carbonprice;cm_taxCO2_startyear;cm_peakBudgYr;cm_emiscen;techpol;cm_multigasscen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;description;cm_PriceDurSlope_elh2;cm_adj_coeff;cm_inco0Factor xx_Calib;0,calib;;;;sqSectorAvrgShare;;;;;;;;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;Mix1;;;;calibrate;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;0;NPi;;;9;NPi2018;3;2005;;;;Npi;;; xx_Npi;0,npi;;EUR_regi;;sqSectorAvrgShare;;;;;;;;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;Mix1;;;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;9;NPi2018;3;2005;;;;Npi;;; # Policy Scenarios EU27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ## 55% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_Nzero_55_bio4;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Npi;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_bio7p5;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Npi;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_bio12;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Npi;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_bio20;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Npi;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_eedEff_bio4;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio4;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_eedEff_bio7p5;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_eedEff_bio12;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio12;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_eedEff_bio20;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio20;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_ff55Eff_bio4;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio4;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_ff55Eff_bio7p5;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_ff55Eff_bio12;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio12;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_ff55Eff_bio20;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio20;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_RpEUEff_bio4;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio4;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_RpEUEff_bio7p5;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_RpEUEff_bio12;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio12;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_RpEUEff_bio20;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bio4;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Npi;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bio7p5;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Npi;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bio12;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Npi;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bio20;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Npi;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio4;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio7p5;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio12;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio20;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio4;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio7p5;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio12;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio20;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio4;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio7p5;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio12;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio20;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio20;xx_Npi;xx_Npi;;GLO 20;; ## 57% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_Nzero_57_bio4;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio4;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_bio7p5;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_bio12;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio12;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_bio20;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio20;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_eedEff_bio4;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio4;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_eedEff_bio7p5;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_eedEff_bio12;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio12;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_eedEff_bio20;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_ff55Eff_bio4;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio4;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_ff55Eff_bio7p5;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_ff55Eff_bio12;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio12;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_ff55Eff_bio20;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_RpEUEff_bio4;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio4;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_RpEUEff_bio7p5;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_RpEUEff_bio12;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio12;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_RpEUEff_bio20;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bio4;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bio7p5;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bio12;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bio20;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio4;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio7p5;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio12;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio20;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio4;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio7p5;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio12;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio20;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio4;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio7p5;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio12;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio20;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio20;xx_Npi;xx_Npi;;GLO 20;; ## 59% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_Nzero_59_bio4;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;20;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio4;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_bio7p5;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_bio12;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;20;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio12;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_bio20;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_eedEff_bio4;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_eedEff_bio7p5;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_eedEff_bio12;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio12;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_eedEff_bio20;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_ff55Eff_bio4;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_ff55Eff_bio7p5;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_ff55Eff_bio12;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio12;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_ff55Eff_bio20;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_RpEUEff_bio4;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_RpEUEff_bio7p5;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_RpEUEff_bio12;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio12;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_RpEUEff_bio20;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio4;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;20;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio7p5;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio12;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;20;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio20;0,prio;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio4;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio7p5;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio12;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio20;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio4;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio7p5;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio12;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio20;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio4;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio7p5;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio12;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio20;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio20;xx_Npi;xx_Npi;;GLO 20;; # Limited Carbon capture;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ## limCC - 55% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_Nzero_55_bio4_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio4;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_bio7p5_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_bioxx_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio12;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_bio20_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio20;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_eedEff_bio4_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_eedEff_bio7p5_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_eedEff_bioxx_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_eedEff_bio20_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_ff55Eff_bio4_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_ff55Eff_bio7p5_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_ff55Eff_bioxx_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_ff55Eff_bio20_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_RpEUEff_bio4_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_RpEUEff_bio7p5_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_RpEUEff_bioxx_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_RpEUEff_bio20_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bio4_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bio7p5_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bioxx_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bio20_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio4_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio7p5_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bioxx_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio20_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio4_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio7p5_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bioxx_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio20_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio4_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio7p5_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bioxx_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio20_limCC;0,g1;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; ## limCC - 57% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_Nzero_57_bio4_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio4;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_bio7p5_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_bioxx_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio12;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_bio20_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_eedEff_bio4_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_eedEff_bio7p5_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_eedEff_bioxx_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_eedEff_bio20_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_ff55Eff_bio4_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_ff55Eff_bio7p5_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_ff55Eff_bioxx_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_ff55Eff_bio20_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_RpEUEff_bio4_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_RpEUEff_bio7p5_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_RpEUEff_bioxx_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_RpEUEff_bio20_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bio4_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bio7p5_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bioxx_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bio20_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio4_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio7p5_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bioxx_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio20_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio4_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio7p5_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bioxx_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio20_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio4_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio7p5_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bioxx_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio20_limCC;0,g2;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; ## limCC - 59% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_Nzero_59_bio4_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_bio7p5_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_bioxx_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio12;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_bio20_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_eedEff_bio4_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_eedEff_bio7p5_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_eedEff_bioxx_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_eedEff_bio20_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_ff55Eff_bio4_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_ff55Eff_bio7p5_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_ff55Eff_bioxx_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_ff55Eff_bio20_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_RpEUEff_bio4_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_RpEUEff_bio7p5_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_RpEUEff_bioxx_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_RpEUEff_bio20_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio4_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio7p5_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bioxx_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio20_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio4_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio7p5_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bioxx_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio20_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio4_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio7p5_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bioxx_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio20_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio4_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004, DEU 0.01;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio7p5_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bioxx_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limCC;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio20_limCC;0,g3;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;2;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limCC;xx_Npi;xx_Npi;;GLO 20;; # Limited Variable Renewables;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ## limRES - 55% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_Nzero_55_bio4_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio4;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_bio7p5_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_bioxx_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio12;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_bio20_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio20;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_eedEff_bio4_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_eedEff_bio7p5_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_eedEff_bioxx_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_eedEff_bio20_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_ff55Eff_bio4_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_ff55Eff_bio7p5_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_ff55Eff_bioxx_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_ff55Eff_bio20_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_RpEUEff_bio4_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_RpEUEff_bio7p5_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_RpEUEff_bioxx_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_RpEUEff_bio20_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bio4_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bio7p5_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bioxx_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bio20_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio4_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio7p5_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bioxx_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio20_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio4_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio7p5_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bioxx_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio20_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio4_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio7p5_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bioxx_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio20_limVRE;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; ## limRES - 57% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_Nzero_57_bio4_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio4;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_bio7p5_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_bioxx_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio12;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_bio20_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_eedEff_bio4_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_eedEff_bio7p5_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_eedEff_bioxx_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_eedEff_bio20_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_ff55Eff_bio4_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_ff55Eff_bio7p5_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_ff55Eff_bioxx_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_ff55Eff_bio20_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_RpEUEff_bio4_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_RpEUEff_bio7p5_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_RpEUEff_bioxx_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_RpEUEff_bio20_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bio4_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bio7p5_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bioxx_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bio20_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio4_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio7p5_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bioxx_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio20_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio4_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio7p5_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bioxx_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio20_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio4_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio7p5_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bioxx_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio20_limVRE;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; ## limRES - 59% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_Nzero_59_bio4_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_bio7p5_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_bioxx_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio12;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_bio20_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_eedEff_bio4_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_eedEff_bio7p5_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_eedEff_bioxx_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_eedEff_bio20_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_ff55Eff_bio4_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_ff55Eff_bio7p5_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_ff55Eff_bioxx_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_ff55Eff_bio20_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_RpEUEff_bio4_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_RpEUEff_bio7p5_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_RpEUEff_bioxx_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_RpEUEff_bio20_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio4_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio7p5_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bioxx_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio20_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio4_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio7p5_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bioxx_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_eedEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio20_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_eedEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio4_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio7p5_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bioxx_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_ff55Eff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio20_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_ff55Eff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio4_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio4, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio7p5_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio7p5, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bioxx_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero;scenario;EU27_RpEUEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limVRE;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio20_limVRE;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;nzero_bio;scenario;EU27_RpEUEff, EU27_bio12, EU27_limVRE;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.2, GLO.elh2.b 20, EU27_regi.elh2.a 0.15, EU27_regi.elh2.b 40;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limVRE;xx_Npi;xx_Npi;;GLO 20;; # Limited Hydrogen and E-fuels;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ## limH2 - 55% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_Nzero_55_bio4_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio4;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_bio7p5_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_bioxx_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio12;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_bio20_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio20;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_eedEff_bio4_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_eedEff_bio7p5_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_eedEff_bioxx_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_eedEff_bio20_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_ff55Eff_bio4_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_ff55Eff_bio7p5_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_ff55Eff_bioxx_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_ff55Eff_bio20_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_RpEUEff_bio4_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_RpEUEff_bio7p5_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_RpEUEff_bioxx_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_55_RpEUEff_bio20_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_55_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bio4_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bio7p5_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bioxx_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_bio20_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio4_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio7p5_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bioxx_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_eedEff_bio20_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio4_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio7p5_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bioxx_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_ff55Eff_bio20_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio4_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio7p5_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bioxx_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_55_RpEUEff_bio20_limH2;0,g4;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.191, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_55_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; ## limH2 - 57% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_Nzero_57_bio4_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio4;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_bio7p5_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_bioxx_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio12;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_bio20_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_eedEff_bio4_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_eedEff_bio7p5_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_eedEff_bioxx_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_eedEff_bio20_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_ff55Eff_bio4_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_ff55Eff_bio7p5_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_ff55Eff_bioxx_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_ff55Eff_bio20_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_RpEUEff_bio4_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_RpEUEff_bio7p5_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_RpEUEff_bioxx_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_57_RpEUEff_bio20_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bio4_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bio7p5_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bioxx_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_bio20_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio4_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio7p5_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bioxx_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_eedEff_bio20_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio4_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio7p5_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bioxx_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_ff55Eff_bio20_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio4_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio7p5_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bioxx_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_57_RpEUEff_bio20_limH2;0,g5;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.094, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_57_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; ## limH2 - 59% reduction by 2030;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_Nzero_59_bio4_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_bio7p5_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_bioxx_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio12;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_bio20_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_eedEff_bio4_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_eedEff_bio7p5_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_eedEff_bioxx_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_eedEff_bio20_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_ff55Eff_bio4_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_ff55Eff_bio7p5_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_ff55Eff_bioxx_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_ff55Eff_bio20_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_RpEUEff_bio4_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_RpEUEff_bio7p5_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_RpEUEff_bioxx_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; -xx_Nzero_59_RpEUEff_bio20_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio4_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio4;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio7p5_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bioxx_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio12;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_bio20_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio20;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio4_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio7p5_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bioxx_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_eedEff_bio20_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_eedEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio4_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio7p5_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bioxx_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_ff55Eff_bio20_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_ff55Eff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio4_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio4;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio4_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio7p5_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio7p5;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio7p5_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bioxx_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bioxx_limH2;xx_Npi;xx_Npi;;GLO 20;; +xx_Nzero_59_RpEUEff_bio20_limH2;0,g6;bioftcrec 0.6;EUR_regi;;sqSectorAvrgShare;;;;se_trade;high_bio;scenario;EU27_RpEUEff, EU27_bio12;regiCarbonPrice;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 1.997, 2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.42, (2035.2050.EU27_regi, 2035.2045.DEU, 2020.2050.UKI).all.year.netGHG_LULUCFGrassi 0.0001;GLO 0.004;on;on;EUR_regi, NEU_regi;Mix4ICEban;2050.GLO 0.9;GLO.elh2.a 0.4, GLO.elh2.b 10;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;75;2055;9;NDC;;2025;xx_Nzero_59_bio20_limH2;xx_Npi;xx_Npi;;GLO 20;; # Test Runs;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; xx_Npi_DEU;0,DEUtest;;EUR_regi;;;;;;;;;;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;Mix1;;;;;testOneRegi;;DEU;1;1;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;9;NPi2018;3;2005;;;;Npi;;; xx_Npi_IND;0,INDtest;;;;;;;;;;;;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;Mix1;;;;;testOneRegi;;IND;1;1;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;9;NPi2018;3;2005;;;;Npi;;; diff --git a/config/scenario_config_21_EU11_ARIADNE.csv b/config/scenario_config_21_EU11_ARIADNE.csv index 0353339df..2b64f5ee3 100755 --- a/config/scenario_config_21_EU11_ARIADNE.csv +++ b/config/scenario_config_21_EU11_ARIADNE.csv @@ -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_startyear;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 +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;cm_budgetCO2from2020;carbonprice;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_IncAfterPeakBudgYr;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 # _____Reference Runs_____;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Calib_EU_NPi;0;;Calibration Run with National Policies Implemented (NPI);calibrate;;;;;;;;;se_trade;;;;;;;;;DEU 1.1, EU27_regi 7.5;;EU27_regi.pebiolc.worldPricemarkup 10;1;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;NPi;1;;;NPi2018;regiCarbonPrice;;;;on;on;Mix1;9;3;;;;2005;; NPi;0;Calib_EU_NPi;National Policies implemented;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -6,7 +6,7 @@ Calib_EU_Npi_lowDem;0;Calib_EU_NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Npi_lowDem;0;Calib_EU_Npi_lowDem;;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; # ____ Standard Scenarios______;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; CurrentPolicies;0;NPi;Current Policies Scenario for Germany including latest credible developments from Fit for 55 and Ampel government;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.045, 2035.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;;;;2;;high;0;DEU 1.1, EU27_regi 7.5;;EU27_regi.pebiolc.worldPricemarkup 10;1;;EUR_regi, NEU_regi;;off;;;fehob 1.75, enhb 0.5;;;ariadne_bal;;;manual; 2050 . GLO . (ue_cement, ue_steel_primary, ue_steel_secondary) 0.75, 2100 . GLO . (ue_chemicals, ue_otherInd) 0.90, 2100 . DEU . (ue_otherInd, ue_cement, ue_chemicals) 0.01;;;;;;;;;;;;;;;;;EU27_regi.(2025 65,2030 94,2035 124,2040 141,2045 162,2050 175,2055 175,2060 175,2070 175,2080 175,2090 175,2100 175,2110 175,2130 175,2150 175);;;;;Mix3;;;;;;2025;;NPi -KN2045_Bal_v4;0;;Standard Ariadne scenario with -55% GHG in 2030 and GHG neutrality goal in 2050 for EU (incl. EU LULUCF sink), -65% GHG in 2030 and GHG neutrality goal in 2045 for Germany;;;;;;;;;globallyOptimal;se_trade;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.366, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;2;;high;0;DEU 1.1, EU27_regi 7.5;;EU27_regi.pebiolc.worldPricemarkup 10;1;;EUR_regi, NEU_regi;;off;;;fehob 1.75, enhb 0.5;manual;feelhth_otherInd 1.3;ariadne_bal;;;manual; 2050 . GLO . (ue_cement, ue_steel_primary, ue_steel_secondary) 0.75, 2100 . GLO . (ue_chemicals, ue_otherInd) 0.90, 2100 . DEU . (ue_otherInd, ue_cement, ue_chemicals) 0.01;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;650;diffLin2Lin;100;2080;3;;regiCarbonPrice;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;0.003;on;on;Mix4;9;;;;;2025;;NPi +KN2045_Bal_v4;0;;Standard Ariadne scenario with -55% GHG in 2030 and GHG neutrality goal in 2050 for EU (incl. EU LULUCF sink), -65% GHG in 2030 and GHG neutrality goal in 2045 for Germany;;;;;;;;;globallyOptimal;se_trade;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.366, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;2;;high;0;DEU 1.1, EU27_regi 7.5;;EU27_regi.pebiolc.worldPricemarkup 10;1;;EUR_regi, NEU_regi;;off;;;fehob 1.75, enhb 0.5;manual;feelhth_otherInd 1.3;ariadne_bal;;;manual; 2050 . GLO . (ue_cement, ue_steel_primary, ue_steel_secondary) 0.75, 2100 . GLO . (ue_chemicals, ue_otherInd) 0.90, 2100 . DEU . (ue_otherInd, ue_cement, ue_chemicals) 0.01;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;650;functionalForm;100;2080;3;;regiCarbonPrice;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;0.003;on;on;Mix4;9;;;;;2025;;NPi KN2045_Elec_v4;0;KN2045_Bal_v4;Scenario with high electrification, low H2 and synfuel imports;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.183, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5;;feh2_otherInd 0.7, feelhth_otherInd 0.9, feh2_cement 2.2, feh2_chemicals 1.05;;;;;;;2040.build.feels 0.7, 2040.build.fegas 1.3, 2040.indst.feels 0.7, 2040.indst.fegas 1.3, 2040.indst.fehos 1.3, 2040.trans.feelt 0.7, 2040.trans.fepet 1.3, 2040.trans.fedie 1.3;tdh2s 3, tdh2t 3;;;;;;;;;;;;;;;;;;;;;;;;;;; KN2045_H2_v4;0;KN2045_Bal_v4;Scenario with high H2 and synfuel use, high H2 and synfuel imports;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2035.2045.ESW.DEU.seh2 0.732, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;20;;0.1;;feelhpb 2.3, feelrhb 0.87, fehob 1.75, enhb 0.5;;feh2_otherInd 0.01, feelhth_otherInd 1.6, feh2_cement 0.43, feelhth_chemicals 1.6, feh2_chemicals 0.43;;;;;;;2040.build.feels 1.3, 2040.build.fegas 1.3, 2040.indst.feels 1.3, 2040.indst.fegas 1.3, 2040.indst.fehos 1.3, 2040.trans.feelt 1.3, 2040.trans.fepet 1.3, 2040.trans.fedie 1.3, 2040.trans.feh2t 0.7;tdh2s 0.5, tdh2t 0.5;;;;;;;;;;;;;;;;;;;HydrHype4;;;;;;;; # ____ Energy Security Scenarios___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/config/scenario_config_21_EU11_ECEMF.csv b/config/scenario_config_21_EU11_ECEMF.csv index 4c9636ffc..be47036b7 100644 --- a/config/scenario_config_21_EU11_ECEMF.csv +++ b/config/scenario_config_21_EU11_ECEMF.csv @@ -1,54 +1,54 @@ -title;start;CES_parameters;optimization;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_startyear;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;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;water;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description;cm_loadFromGDX_implicitQttyTargetTax;cm_implicitPriceTarget;cm_implicitPePriceTarget;cm_VREminShare;c_regi_nucscen;cm_incolearn;cm_learnRate;cm_regiExoPrice;c_testOneRegi_region;cm_nash_mode;c_keep_iteration_gdxes;cm_abortOnConsecFail;cm_emiMktTarget_tolerance -# _____default_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_DIAG-NPI;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;;9;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;heat;Mix1;2005;;;;;SSP2-EU21-NPi: This National Policies Implemented (Npi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi is identical to the NDC scenario until 2020 but assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies.;;;;;;;;;;;1;; -# _____pure_carbon_pricing_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_DIAG-C80-gr5;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-NPI;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;GLO.(2025 34,2030 44,2035 56,2040 71,2045 91,2050 116,2055 148,2060 190,2070 309,2080 503,2090 819,2100 1334,2110 1334,2130 1334,2150 1334);;;;; -xx_DIAG-C0to80-gr5;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-NPI;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;GLO.(2025 0.001,2030 0.001,2035 0.001,2040 71,2045 91,2050 116,2055 148,2060 190,2070 309,2080 503,2090 819,2100 1334,2110 1334,2130 1334,2150 1334);;;;; -xx_DIAG-C400-lin;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-NPI;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; -# _____NZero_DIAG_scenario_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_DIAG-NZero;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-NPI;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; -# _____C400-lin_tech_constraint_scenarios_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_DIAG-C400-lin-LimBio;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).GLO.tax.t.PE.biomass 3.17, (2035,2040,2045,2050).EUR_regi.tax.t.PE.biomass 0.22;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; -xx_DIAG-C400-lin-LimCCS;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, (2035,2040,2045,2050).GLO.tax.t.CCS.all 2000, (2035,2040,2045,2050).EUR_regi.tax.t.CCS.all 250;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; -xx_DIAG-C400-lin-LimNuclear;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;5;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW;;;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; -# _____C400-lin_DIAG_paradigm_shift_scenarios_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_DIAG-C400-lin-HighVRE;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;2050.EUR_regi 0.7;;wind 2300, windoff 4700, spv 5060;wind 0.9, windoff 0.9, spv 0.9;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; -xx_DIAG-C400-lin-HighElectrification;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;elecPrice;;;;;wind 0.820125, windoff 0.91125, spv 0.95;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; -xx_DIAG-C400-lin-HighElec-Supply;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, 2050.EUR_regi.sub.t.SE.electricity 0.913;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; -xx_DIAG-C400-lin-HighH2;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;H2Price;;;;;;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; -xx_DIAG-C400-lin-ResidualFossil;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;highFossilPrice;;;;;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; -xx_DIAG-C400-lin-HighEff;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; -# _____NZero_scenario_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_WP1_Nzero;0,WP1;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-NPI;xx_DIAG-NPI;xx_DIAG-NPI;;same as xx_DIAG-Nzero;;;;;;;;;;;;; -# _____NZero_tech_constraint_scenarios_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_WP1_NZero-LimBio;0,WP1;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).GLO.tax.t.PE.biomass 3.17, (2035,2040,2045,2050).EUR_regi.tax.t.PE.biomass 0.22;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; -xx_WP1_NZero-LimCCS;0,WP1;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, (2035,2040,2045,2050).GLO.tax.t.CCS.all 2000, (2035,2040,2045,2050).EUR_regi.tax.t.CCS.all 250;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; -xx_WP1_NZero-LimNuclear;0,WP1;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;5;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW;;;;;;;; -# _____WP5p3_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_WP5_Base;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;;9;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;heat;Mix1;2005;;;;;same as xx_DIAG-NPI;;;;;;;;;;;1;; -xx_WP5_OPT-CP;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix3;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;;;;;; -xx_WP5_OPT-CP-LimBio;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).GLO.tax.t.PE.biomass 3.17, (2035,2040,2045,2050).EUR_regi.tax.t.PE.biomass 0.22;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix3;2025;xx_WP5_OPT-CP;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; -xx_WP5_OPT-CP-LimCCS;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, (2035,2040,2045,2050).GLO.tax.t.CCS.all 3000, (2035,2040,2045,2050).EUR_regi.tax.t.CCS.all 250;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix3;2025;xx_WP5_OPT-CP;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; -xx_WP5_OPT-CP-LimNuclear;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;5;;;;;;;;heat;Mix3;2025;xx_WP5_OPT-CP;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW;;;;;;;; -# xx_WP5_OPT-CP-LimRES;0;;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_WP5_OPT-REG;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;;;;;; -xx_WP5_OPT-REG-LimBio;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).GLO.tax.t.PE.biomass 3.17, (2035,2040,2045,2050).EUR_regi.tax.t.PE.biomass 0.22;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP5_OPT-REG;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; -xx_WP5_OPT-REG-LimCCS;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, (2035,2040,2045,2050).GLO.tax.t.CCS.all 3000, (2035,2040,2045,2050).EUR_regi.tax.t.CCS.all 250;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP5_OPT-REG;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; -xx_WP5_OPT-REG-LimNuclear;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;5;;;;;;;;heat;Mix4;2025;xx_WP5_OPT-REG;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW;;;;;;;; -# xx_WP5_OPT-REG-LimRES;0;;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_WP5_RAP-CP;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix3;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;;;;;; -xx_WP5_RAP-CP-LimBio;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).GLO.tax.t.PE.biomass 3.17, (2035,2040,2045,2050).EUR_regi.tax.t.PE.biomass 0.22;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix3;2025;xx_WP5_RAP-CP;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; -xx_WP5_RAP-CP-LimCCS;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, (2035,2040,2045,2050).GLO.tax.t.CCS.all 3000, (2035,2040,2045,2050).EUR_regi.tax.t.CCS.all 250;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix3;2025;xx_WP5_RAP-CP;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; -xx_WP5_RAP-CP-LimNuclear;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;5;;;;;;;;heat;Mix3;2025;xx_WP5_RAP-CP;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW;;;;;;;; -# xx_WP5_RAP-CP-LimRES;0;;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -xx_WP5_RAP-REG;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;;;;;; -xx_WP5_RAP-REG-LimBio;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).GLO.tax.t.PE.biomass 3.17, (2035,2040,2045,2050).EUR_regi.tax.t.PE.biomass 0.22;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP5_RAP-REG;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; -xx_WP5_RAP-REG-LimCCS;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, (2035,2040,2045,2050).GLO.tax.t.CCS.all 3000, (2035,2040,2045,2050).EUR_regi.tax.t.CCS.all 250;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP5_RAP-REG;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; -xx_WP5_RAP-REG-LimNuclear;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;5;;;;;;;;heat;Mix4;2025;xx_WP5_RAP-REG;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW;;;;;;;; -# xx_WP5_RAP-REG-LimRES;0;;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -# _____tests_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3.543.046.358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -test_WP1_Nzero_DEU;0,WP1;;testOneRegi;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-NPI;xx_DIAG-NPI;xx_DIAG-NPI;;same as xx_DIAG-Nzero;;;;;;;;;DEU;1;1;1; -xx_WP1_Nzero_highPrecision_10tCO2eq;0,test;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;same as xx_DIAG-Nzero;;;;;;;;;;;;;GLO 0.002 -xx_WP1_Nzero_highPrecision_5tCO2eq;0,test;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;same as xx_DIAG-Nzero;;;;;;;;;;;;;GLO 0.001 -xx_WP1_Nzero_highPrecision_1tCO2eq;0,test;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;same as xx_DIAG-Nzero;;;;;;;;;;;;;GLO 0.0002 -xx_WP1_Nzero_highPrecision_0p4tCO2eq;0,test;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;same as xx_DIAG-Nzero;;;;;;;;;;;;;GLO 0.00008 +title;start;CES_parameters;optimization;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_budgetCO2from2020;carbonprice;cm_taxCO2_startyear;cm_peakBudgYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_bioenergy_SustTax;cm_maxProdBiolc;c_ccsinjecratescen;c_ccscapratescen;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;water;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description;cm_loadFromGDX_implicitQttyTargetTax;cm_implicitPriceTarget;cm_implicitPePriceTarget;cm_VREminShare;c_regi_nucscen;cm_incolearn;cm_learnRate;cm_regiExoPrice;c_testOneRegi_region;cm_nash_mode;c_keep_iteration_gdxes;cm_abortOnConsecFail;cm_emiMktTarget_tolerance +# _____default_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_DIAG-NPI;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;9;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;heat;Mix1;2005;;;;;SSP2-EU21-NPi: This National Policies Implemented (Npi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi is identical to the NDC scenario until 2020 but assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies.;;;;;;;;;;;1;; +# _____pure_carbon_pricing_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_DIAG-C80-gr5;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-NPI;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;GLO.(2025 34,2030 44,2035 56,2040 71,2045 91,2050 116,2055 148,2060 190,2070 309,2080 503,2090 819,2100 1334,2110 1334,2130 1334,2150 1334);;;;; +xx_DIAG-C0to80-gr5;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-NPI;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;GLO.(2025 0.001,2030 0.001,2035 0.001,2040 71,2045 91,2050 116,2055 148,2060 190,2070 309,2080 503,2090 819,2100 1334,2110 1334,2130 1334,2150 1334);;;;; +xx_DIAG-C400-lin;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-NPI;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; +# _____NZero_DIAG_scenario_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_DIAG-NZero;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-NPI;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; +# _____C400-lin_tech_constraint_scenarios_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_DIAG-C400-lin-LimBio;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).GLO.tax.t.PE.biomass 3.17, (2035,2040,2045,2050).EUR_regi.tax.t.PE.biomass 0.22;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; +xx_DIAG-C400-lin-LimCCS;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, (2035,2040,2045,2050).GLO.tax.t.CCS.all 2000, (2035,2040,2045,2050).EUR_regi.tax.t.CCS.all 250;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; +xx_DIAG-C400-lin-LimNuclear;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;5;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW;;;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; +# _____C400-lin_DIAG_paradigm_shift_scenarios_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_DIAG-C400-lin-HighVRE;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;2050.EUR_regi 0.7;;wind 2300, windoff 4700, spv 5060;wind 0.9, windoff 0.9, spv 0.9;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; +xx_DIAG-C400-lin-HighElectrification;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;elecPrice;;;;;wind 0.820125, windoff 0.91125, spv 0.95;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; +xx_DIAG-C400-lin-HighElec-Supply;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, 2050.EUR_regi.sub.t.SE.electricity 0.913;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; +xx_DIAG-C400-lin-HighH2;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;H2Price;;;;;;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; +xx_DIAG-C400-lin-ResidualFossil;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;highFossilPrice;;;;;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; +xx_DIAG-C400-lin-HighEff;0,DIAG;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;;globallyOptimal;0;NPi;;;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-C400-lin;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;GLO.(2025 116,2030 196,2035 277,2040 357,2045 438,2050 518,2055 598,2060 679,2070 839,2080 1000,2090 1161,2100 1321,2110 1321,2130 1321,2150 1321);;;;; +# _____NZero_scenario_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_WP1_Nzero;0,WP1;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-NPI;xx_DIAG-NPI;xx_DIAG-NPI;;same as xx_DIAG-Nzero;;;;;;;;;;;;; +# _____NZero_tech_constraint_scenarios_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_WP1_NZero-LimBio;0,WP1;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).GLO.tax.t.PE.biomass 3.17, (2035,2040,2045,2050).EUR_regi.tax.t.PE.biomass 0.22;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; +xx_WP1_NZero-LimCCS;0,WP1;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, (2035,2040,2045,2050).GLO.tax.t.CCS.all 2000, (2035,2040,2045,2050).EUR_regi.tax.t.CCS.all 250;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; +xx_WP1_NZero-LimNuclear;0,WP1;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;5;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW;;;;;;;; +# _____WP5p3_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_WP5_Base;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;9;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;heat;Mix1;2005;;;;;same as xx_DIAG-NPI;;;;;;;;;;;1;; +xx_WP5_OPT-CP;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix3;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;;;;;; +xx_WP5_OPT-CP-LimBio;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).GLO.tax.t.PE.biomass 3.17, (2035,2040,2045,2050).EUR_regi.tax.t.PE.biomass 0.22;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix3;2025;xx_WP5_OPT-CP;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; +xx_WP5_OPT-CP-LimCCS;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, (2035,2040,2045,2050).GLO.tax.t.CCS.all 3000, (2035,2040,2045,2050).EUR_regi.tax.t.CCS.all 250;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix3;2025;xx_WP5_OPT-CP;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; +xx_WP5_OPT-CP-LimNuclear;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;5;;;;;;;;heat;Mix3;2025;xx_WP5_OPT-CP;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW;;;;;;;; +# xx_WP5_OPT-CP-LimRES;0;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_WP5_OPT-REG;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;;;;;; +xx_WP5_OPT-REG-LimBio;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).GLO.tax.t.PE.biomass 3.17, (2035,2040,2045,2050).EUR_regi.tax.t.PE.biomass 0.22;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP5_OPT-REG;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; +xx_WP5_OPT-REG-LimCCS;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, (2035,2040,2045,2050).GLO.tax.t.CCS.all 3000, (2035,2040,2045,2050).EUR_regi.tax.t.CCS.all 250;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP5_OPT-REG;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; +xx_WP5_OPT-REG-LimNuclear;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.691, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;5;;;;;;;;heat;Mix4;2025;xx_WP5_OPT-REG;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW;;;;;;;; +# xx_WP5_OPT-REG-LimRES;0;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_WP5_RAP-CP;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix3;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;;;;;; +xx_WP5_RAP-CP-LimBio;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).GLO.tax.t.PE.biomass 3.17, (2035,2040,2045,2050).EUR_regi.tax.t.PE.biomass 0.22;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix3;2025;xx_WP5_RAP-CP;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; +xx_WP5_RAP-CP-LimCCS;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, (2035,2040,2045,2050).GLO.tax.t.CCS.all 3000, (2035,2040,2045,2050).EUR_regi.tax.t.CCS.all 250;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix3;2025;xx_WP5_RAP-CP;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; +xx_WP5_RAP-CP-LimNuclear;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NPi2018;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;5;;;;;;;;heat;Mix3;2025;xx_WP5_RAP-CP;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW;;;;;;;; +# xx_WP5_RAP-CP-LimRES;0;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +xx_WP5_RAP-REG;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;;;;;;;;;;;;;; +xx_WP5_RAP-REG-LimBio;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).GLO.tax.t.PE.biomass 3.17, (2035,2040,2045,2050).EUR_regi.tax.t.PE.biomass 0.22;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP5_RAP-REG;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; +xx_WP5_RAP-REG-LimCCS;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825, (2035,2040,2045,2050).GLO.tax.t.CCS.all 3000, (2035,2040,2045,2050).EUR_regi.tax.t.CCS.all 250;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP5_RAP-REG;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;;;;;;;;; +xx_WP5_RAP-REG-LimNuclear;0,WP5p3;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EU27_regi.tax.t.FE_wo_n_e.all 1.1235, (2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2040.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 0.321, 2045.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;5;;;;;;;;heat;Mix4;2025;xx_WP5_RAP-REG;xx_DIAG-NPI;xx_DIAG-NPI;;;on;;;;ENC,EWN,ECS,ESC,ECE,FRA,DEU,UKI,ESW;;;;;;;; +# xx_WP5_RAP-REG-LimRES;0;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +# _____tests_____;0;;;;;;;;;;;;;;;;;;;;;;;;;;;3.543.046.358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +test_WP1_Nzero_DEU;0,WP1;;testOneRegi;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_DIAG-NPI;xx_DIAG-NPI;xx_DIAG-NPI;;same as xx_DIAG-Nzero;;;;;;;;;DEU;1;1;1; +xx_WP1_Nzero_highPrecision_10tCO2eq;0,test;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;same as xx_DIAG-Nzero;;;;;;;;;;;;;GLO 0.002 +xx_WP1_Nzero_highPrecision_5tCO2eq;0,test;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;same as xx_DIAG-Nzero;;;;;;;;;;;;;GLO 0.001 +xx_WP1_Nzero_highPrecision_1tCO2eq;0,test;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;same as xx_DIAG-Nzero;;;;;;;;;;;;;GLO 0.0002 +xx_WP1_Nzero_highPrecision_0p4tCO2eq;0,test;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;(2035,2040,2045,2050).EU27_regi.tax.t.PE.biomass 0.237825;2020.2030.EU27_regi.all.year.netGHG_LULUCFGrassi_intraRegBunker 2.122, 2035.2050.EU27_regi.all.year.netGHG_LULUCFGrassi 0.01;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;heat;Mix4;2025;xx_WP1_Nzero;xx_DIAG-NPI;xx_DIAG-NPI;;same as xx_DIAG-Nzero;;;;;;;;;;;;;GLO 0.00008 diff --git a/config/scenario_config_DeepEl.csv b/config/scenario_config_DeepEl.csv index 290b9ba63..72f10af23 100644 --- a/config/scenario_config_DeepEl.csv +++ b/config/scenario_config_DeepEl.csv @@ -1,9 +1,9 @@ -title;start;CES_parameters;optimization;slurmConfig;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_VRE_supply_assumptions;cm_wasteIncinerationCCSshare;c_budgetCO2from2020;carbonprice;cm_co2_tax_startyear;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 -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 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-NPi-calibrate-DeepEl;1;calibrate;;14;rcp45;;;0;;0;NPi;1;2100;;9;;;;NPi2018;regiCarbonPrice;on;on;3;;heat;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-Base-DeepEl;1;;;1;;;;0;;0;;;2100;;;off;;;;;;;;;heat;Mix1;2005;;;;;SSP2-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-NPi-DeepEl;1;;;1;rcp45;3;;0;;0;NPi;1;2100;;9;;;;NPi2018;regiCarbonPrice;on;on;3;;heat;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi is identical to the NDC scenario until 2020 but assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-NDC-DeepEl;1;;;1;rcp45;3;globallyOptimal;0;;0;NDC;1;2100;;9;;;;NDC;regiCarbonPrice;on;on;3;;heat;Mix2;2025;;SSP2-NPi-DeepEl;SSP2-NPi-DeepEl;;SSP2-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. -SSP2-PkBudg500-DeepEl;1;;;1;rcp20;9;globallyOptimal;1;2050.GLO 0.9;500;diffLin2Lin;100;2080;;9;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, IND_regi.pc 0.13;100;5;NDC;regiCarbonPrice;on;on;2;1;heat;Mix4;2025;;SSP2-NPi-DeepEl;;;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5 C scenario, peak warming is allowed to be at or slightly above 1.5 C, at median climate sensitivity but returns to values below 1.5 C in at least 67 % of scenarios by the end of the century. -SSP2-PkBudg1150-DeepEl;1;;;1;rcp26;9;globallyOptimal;1;2050.GLO 0.5;1150;diffLin2Lin;60;2100;;9;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, IND_regi.pc 0.13;100;5;NDC;regiCarbonPrice;on;on;2;1;heat;Mix4;2025;;SSP2-NPi-DeepEl;;;SSP2-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2 C scenario, peak warming is allowed to be at or slightly above 2 C, at median climate sensitivity but returns to values below 2 C in at least 67 % of scenarios by the end of the century. +title;start;CES_parameters;optimization;slurmConfig;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_VRE_supply_assumptions;cm_wasteIncinerationCCSshare;cm_budgetCO2from2020;carbonprice;cm_taxCO2_startyear;cm_peakBudgYr;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 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2-NPi-calibrate-DeepEl;1;calibrate;;14;rcp45;;;0;;0;NPi;1;2100;9;;;;NPi2018;regiCarbonPrice;on;on;3;;heat;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-Base-DeepEl;1;;;1;;;;0;;0;;;2100;;off;;;;;;;;;heat;Mix1;2005;;;;;SSP2-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-NPi-DeepEl;1;;;1;rcp45;3;;0;;0;NPi;1;2100;9;;;;NPi2018;regiCarbonPrice;on;on;3;;heat;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi is identical to the NDC scenario until 2020 but assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-NDC-DeepEl;1;;;1;rcp45;3;globallyOptimal;0;;0;NDC;1;2100;9;;;;NDC;regiCarbonPrice;on;on;3;;heat;Mix2;2025;;SSP2-NPi-DeepEl;SSP2-NPi-DeepEl;;SSP2-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. +SSP2-PkBudg500-DeepEl;1;;;1;rcp20;9;globallyOptimal;1;2050.GLO 0.9;500;functionalForm;100;2080;9;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, IND_regi.pc 0.13;100;5;NDC;regiCarbonPrice;on;on;2;1;heat;Mix4;2025;;SSP2-NPi-DeepEl;;;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5 C scenario, peak warming is allowed to be at or slightly above 1.5 C, at median climate sensitivity but returns to values below 1.5 C in at least 67 % of scenarios by the end of the century. +SSP2-PkBudg1150-DeepEl;1;;;1;rcp26;9;globallyOptimal;1;2050.GLO 0.5;1150;functionalForm;60;2100;9;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, IND_regi.pc 0.13;100;5;NDC;regiCarbonPrice;on;on;2;1;heat;Mix4;2025;;SSP2-NPi-DeepEl;;;SSP2-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2 C scenario, peak warming is allowed to be at or slightly above 2 C, at median climate sensitivity but returns to values below 2 C in at least 67 % of scenarios by the end of the century. diff --git a/config/scenario_config_EL2p0DeepDive.csv b/config/scenario_config_EL2p0DeepDive.csv index 9ba7f1c8d..a3aaf1ece 100644 --- a/config/scenario_config_EL2p0DeepDive.csv +++ b/config/scenario_config_EL2p0DeepDive.csv @@ -1,39 +1,39 @@ -title;start;path_gdx_carbonprice;cm_bioenergy_SustTax;CES_parameters;optimization;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_startyear;cm_peakBudgYr;cm_CO2priceRegConvEndYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_co2_tax_growth;cm_maxProdBiolc;c_ccsinjecratescen;c_ccscapratescen;cm_subsec_model_steel;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;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description -SSP2EU-NPi-calibrate;calibrate,AMT,compileInTests;;1.5;calibrate;;14;;;rcp45;;;0;NPi;;;;9;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2EU-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2EU-Base;1,AMT;;1.5;;;;;;;;;0;;;;;;;off;;;;;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix1;2005;;;;;SSP2EU-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2EU-NDC;1,AMT;;1.5;;;;;;rcp45;3;globallyOptimal;0;NDC;;;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2025;;SSP2EU-NPi;SSP2EU-NPi;;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. -SSP2EU-NPi;1,AMT,compileInTests;;1.5;;;;;;rcp45;3;;0;NPi;;;;9;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2EU-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2EU-noDSPkB500-noDS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;diffLin2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 500 -SSP2EU-DSPkB500-DS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;diffLin2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 500 -SSP2EU-noDSPkB500-DS_betax_DeepDive;1,AMT;SSP2EU-noDSPkB500-noDS_betax_DeepDive;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 without diet change, but includes diet change in magpie -SSP2EU-DSPkB500-noDS_betax_DeepDive;1,AMT;SSP2EU-DSPkB500-DS_betax_DeepDive;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 with diet change, but does not include diet change in magpie -SSP2EU-noDSPkB650-noDS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 650 -SSP2EU-DSPkB650-DS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 650 -SSP2EU-noDSPkB650-DS_betax_DeepDive;1,AMT;SSP2EU-noDSPkB650-noDS_betax_DeepDive;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 without diet change, but includes diet change in magpie -SSP2EU-DSPkB650-noDS_betax_DeepDive;1,AMT;SSP2EU-DSPkB650-DS_betax_DeepDive;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 with diet change, but does not include diet change in magpie -SSP2EU-noDSPkB1050-noDS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;diffLin2Lin;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 1050 -SSP2EU-DSPkB1050-DS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;diffLin2Lin;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 1050 -SSP2EU-noDSPkB1050-DS_betax_DeepDive;1,AMT;SSP2EU-noDSPkB1050-noDS_betax_DeepDive;1.5;;;;;;rcp26;9;globallyOptimal;1050;exogenous;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 1050 without diet change, but includes diet change in magpie -SSP2EU-DSPkB1050-noDS_betax_DeepDive;1,AMT;SSP2EU-DSPkB1050-DS_betax_DeepDive;1.5;;;;;;rcp26;9;globallyOptimal;1050;exogenous;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 1050 with diet change, but does not include diet change in magpie -SSP2EU-noDSPkB500-noDS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;diffLin2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 500 -SSP2EU-DSPkB500-DS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;diffLin2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 500 -SSP2EU-noDSPkB500-DS_betax_AgMIP;1,AMT;SSP2EU-noDSPkB500-noDS_betax_AgMIP;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 without diet change, but includes diet change in magpie -SSP2EU-DSPkB500-noDS_betax_AgMIP;1,AMT;SSP2EU-DSPkB500-DS_betax_AgMIP;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 with diet change, but does not include diet change in magpie -SSP2EU-noDSPkB650-noDS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 650 -SSP2EU-DSPkB650-DS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 650 -SSP2EU-noDSPkB650-DS_betax_AgMIP;1,AMT;SSP2EU-noDSPkB650-noDS_betax_AgMIP;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 without diet change, but includes diet change in magpie -SSP2EU-DSPkB650-noDS_betax_AgMIP;1,AMT;SSP2EU-DSPkB650-DS_betax_AgMIP;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 with diet change, but does not include diet change in magpie -SSP2EU-noDSPkB1050-noDS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;diffLin2Lin;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 1050 -SSP2EU-DSPkB1050-DS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;diffLin2Lin;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 1050 -SSP2EU-noDSPkB1050-DS_betax_AgMIP;1,AMT;SSP2EU-noDSPkB1050-noDS_betax_AgMIP;1.5;;;;;;rcp26;9;globallyOptimal;1050;exogenous;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 1050 without diet change, but includes diet change in magpie -SSP2EU-DSPkB1050-noDS_betax_AgMIP;1,AMT;SSP2EU-DSPkB1050-DS_betax_AgMIP;1.5;;;;;;rcp26;9;globallyOptimal;1050;exogenous;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 1050 with diet change, but does not include diet change in magpie -SSP2EU-noDSPkB500-noDS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;diffLin2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 500 -SSP2EU-DSPkB500-DS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;diffLin2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 500 -SSP2EU-noDSPkB500-DS_betax_DeepDive_noNDC;1,AMT;SSP2EU-noDSPkB500-noDS_betax_DeepDive_noNDC;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 without diet change, but includes diet change in magpie -SSP2EU-DSPkB500-noDS_betax_DeepDive_noNDC;1,AMT;SSP2EU-DSPkB500-DS_betax_DeepDive_noNDC;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 with diet change, but does not include diet change in magpie -SSP2EU-noDSPkB650-noDS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 650 -SSP2EU-DSPkB650-DS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;diffLin2Lin;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 650 -SSP2EU-noDSPkB650-DS_betax_DeepDive_noNDC;1,AMT;SSP2EU-noDSPkB650-noDS_betax_DeepDive_noNDC;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 without diet change, but includes diet change in magpie -SSP2EU-DSPkB650-noDS_betax_DeepDive_noNDC;1,AMT;SSP2EU-DSPkB650-DS_betax_DeepDive_noNDC;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 with diet change, but does not include diet change in magpie -SSP2EU-noDSPkB1050-noDS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;diffLin2Lin;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 1050 -SSP2EU-DSPkB1050-DS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;diffLin2Lin;60;2100;;9;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 1050 +title;start;path_gdx_carbonprice;cm_bioenergy_SustTax;CES_parameters;optimization;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_budgetCO2from2020;carbonprice;cm_taxCO2_startyear;cm_peakBudgYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_maxProdBiolc;c_ccsinjecratescen;c_ccscapratescen;cm_subsec_model_steel;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;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description +SSP2EU-NPi-calibrate;calibrate,AMT,compileInTests;;1.5;calibrate;;14;;;rcp45;;;0;NPi;;;9;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2EU-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2EU-Base;1,AMT;;1.5;;;;;;;;;0;;;;;;off;;;;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix1;2005;;;;;SSP2EU-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2EU-NDC;1,AMT;;1.5;;;;;;rcp45;3;globallyOptimal;0;NDC;;;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2025;;SSP2EU-NPi;SSP2EU-NPi;;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. +SSP2EU-NPi;1,AMT,compileInTests;;1.5;;;;;;rcp45;3;;0;NPi;;;9;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2EU-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2EU-noDSPkB500-noDS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;functionalForm;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 500 +SSP2EU-DSPkB500-DS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;functionalForm;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 500 +SSP2EU-noDSPkB500-DS_betax_DeepDive;1,AMT;SSP2EU-noDSPkB500-noDS_betax_DeepDive;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 without diet change, but includes diet change in magpie +SSP2EU-DSPkB500-noDS_betax_DeepDive;1,AMT;SSP2EU-DSPkB500-DS_betax_DeepDive;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 with diet change, but does not include diet change in magpie +SSP2EU-noDSPkB650-noDS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 650 +SSP2EU-DSPkB650-DS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 650 +SSP2EU-noDSPkB650-DS_betax_DeepDive;1,AMT;SSP2EU-noDSPkB650-noDS_betax_DeepDive;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 without diet change, but includes diet change in magpie +SSP2EU-DSPkB650-noDS_betax_DeepDive;1,AMT;SSP2EU-DSPkB650-DS_betax_DeepDive;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 with diet change, but does not include diet change in magpie +SSP2EU-noDSPkB1050-noDS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;functionalForm;60;2100;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 1050 +SSP2EU-DSPkB1050-DS_betax_DeepDive;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;functionalForm;60;2100;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 1050 +SSP2EU-noDSPkB1050-DS_betax_DeepDive;1,AMT;SSP2EU-noDSPkB1050-noDS_betax_DeepDive;1.5;;;;;;rcp26;9;globallyOptimal;1050;exogenous;60;2100;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 1050 without diet change, but includes diet change in magpie +SSP2EU-DSPkB1050-noDS_betax_DeepDive;1,AMT;SSP2EU-DSPkB1050-DS_betax_DeepDive;1.5;;;;;;rcp26;9;globallyOptimal;1050;exogenous;60;2100;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 1050 with diet change, but does not include diet change in magpie +SSP2EU-noDSPkB500-noDS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;functionalForm;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 500 +SSP2EU-DSPkB500-DS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;functionalForm;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 500 +SSP2EU-noDSPkB500-DS_betax_AgMIP;1,AMT;SSP2EU-noDSPkB500-noDS_betax_AgMIP;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 without diet change, but includes diet change in magpie +SSP2EU-DSPkB500-noDS_betax_AgMIP;1,AMT;SSP2EU-DSPkB500-DS_betax_AgMIP;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 with diet change, but does not include diet change in magpie +SSP2EU-noDSPkB650-noDS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 650 +SSP2EU-DSPkB650-DS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 650 +SSP2EU-noDSPkB650-DS_betax_AgMIP;1,AMT;SSP2EU-noDSPkB650-noDS_betax_AgMIP;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 without diet change, but includes diet change in magpie +SSP2EU-DSPkB650-noDS_betax_AgMIP;1,AMT;SSP2EU-DSPkB650-DS_betax_AgMIP;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 with diet change, but does not include diet change in magpie +SSP2EU-noDSPkB1050-noDS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;functionalForm;60;2100;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 1050 +SSP2EU-DSPkB1050-DS_betax_AgMIP;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;functionalForm;60;2100;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 1050 +SSP2EU-noDSPkB1050-DS_betax_AgMIP;1,AMT;SSP2EU-noDSPkB1050-noDS_betax_AgMIP;1.5;;;;;;rcp26;9;globallyOptimal;1050;exogenous;60;2100;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 1050 without diet change, but includes diet change in magpie +SSP2EU-DSPkB1050-noDS_betax_AgMIP;1,AMT;SSP2EU-DSPkB1050-DS_betax_AgMIP;1.5;;;;;;rcp26;9;globallyOptimal;1050;exogenous;60;2100;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 1050 with diet change, but does not include diet change in magpie +SSP2EU-noDSPkB500-noDS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;functionalForm;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 500 +SSP2EU-DSPkB500-DS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;500;functionalForm;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 500 +SSP2EU-noDSPkB500-DS_betax_DeepDive_noNDC;1,AMT;SSP2EU-noDSPkB500-noDS_betax_DeepDive_noNDC;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 without diet change, but includes diet change in magpie +SSP2EU-DSPkB500-noDS_betax_DeepDive_noNDC;1,AMT;SSP2EU-DSPkB500-DS_betax_DeepDive_noNDC;1.5;;;;;;rcp20;9;globallyOptimal;500;exogenous;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 500 with diet change, but does not include diet change in magpie +SSP2EU-noDSPkB650-noDS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 650 +SSP2EU-DSPkB650-DS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp20;9;globallyOptimal;650;functionalForm;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 650 +SSP2EU-noDSPkB650-DS_betax_DeepDive_noNDC;1,AMT;SSP2EU-noDSPkB650-noDS_betax_DeepDive_noNDC;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 without diet change, but includes diet change in magpie +SSP2EU-DSPkB650-noDS_betax_DeepDive_noNDC;1,AMT;SSP2EU-DSPkB650-DS_betax_DeepDive_noNDC;1.5;;;;;;rcp20;9;globallyOptimal;650;exogenous;100;2080;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4;2025;;SSP2EU-NPi;;;This is a run that uses an exogenous ghg price that reaches a budget of 650 with diet change, but does not include diet change in magpie +SSP2EU-noDSPkB1050-noDS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;functionalForm;60;2100;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run without diet change and a mitigation budget of 1050 +SSP2EU-DSPkB1050-DS_betax_DeepDive_noNDC;1,AMT;;1.5;;;;;;rcp26;9;globallyOptimal;1050;functionalForm;60;2100;9;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3;2025;;SSP2EU-NPi;;;This is a ghg price determining run with diet change and a mitigation budget of 1050 diff --git a/config/scenario_config_ELEVATE2p3.csv b/config/scenario_config_ELEVATE2p3.csv index b1be54552..c3cc0635d 100755 --- a/config/scenario_config_ELEVATE2p3.csv +++ b/config/scenario_config_ELEVATE2p3.csv @@ -1,4 +1,4 @@ -title;start;slurmConfig;cm_wasteIncinerationCCSshare;cm_EDGEtr_scen;cm_reducCostB;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;regipol;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;carbonpriceRegi;cm_netZeroScen;cm_co2_tax_startyear;cm_peakBudgYr;cm_taxCO2inc_after_peakBudgYr;cm_emiscen;cm_co2_tax_growth;cm_maxProdBiolc;techpol;cm_multigasscen;cm_startyear;path_gdx_carbonprice;path_gdx;path_gdx_refpolicycost;path_gdx_ref;path_gdx_bau;description +title;start;slurmConfig;cm_wasteIncinerationCCSshare;cm_EDGEtr_scen;cm_reducCostB;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_budgetCO2from2020;carbonprice;regipol;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;carbonpriceRegi;cm_netZeroScen;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_IncAfterPeakBudgYr;cm_emiscen;cm_taxCO2_expGrowth;cm_maxProdBiolc;techpol;cm_multigasscen;cm_startyear;path_gdx_carbonprice;path_gdx;path_gdx_refpolicycost;path_gdx_ref;path_gdx_bau;description SSP2-Base;0;9;;Mix1;none;none;0;off;0;none;;;;;none;;-1;2100;3;1;1.05;off;none;2;2005;;;;;;SSP2-Base: 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. ELV_CurPol_T44;0;9;;Mix3;none;rcp45;3;off;0;NPi;;;;;none;;1;2100;3;9;1.05;100;NPi2018;3;2005;;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030. In the default setting carbon prices converges after 2030 over all regions to $25 eoc. ELV_NDC2030_T44;1;9;;Mix3;none;rcp45;3;globallyOptimal;0;NDC;;;;;none;;1;2100;3;9;1.05;100;NDC;3;2025;;;ELV_CurPol_T44;ELV_CurPol_T44;ELV_CurPol_T44;ELV_NDC2030_T44: 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_ELEVATE4p4.csv b/config/scenario_config_ELEVATE4p4.csv index 474e56d4c..a140c7133 100755 --- a/config/scenario_config_ELEVATE4p4.csv +++ b/config/scenario_config_ELEVATE4p4.csv @@ -1,26 +1,26 @@ -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_startyear;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 -SSP2-Base_bIT;0;5;off;;none;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;1;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. -ELV_CurPol_nTecC_T44;1;5;off;;none;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;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;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030. -ELV_CurPol_T44;1;5;off;;none;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;1;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;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030. -ELV_NDC2030_T44;1;5;off;;none;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;1;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;;;ELV_CurPol_T44;ELV_CurPol_T44;ELV_NDC2030_T44: 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. -ELV_NDC2030_nTecC_T44;1;5;off;;none;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;1;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;;;ELV_CurPol_T44;ELV_CurPol_T44;ELV_NDC2030_nTecC_T44: NDCs with no cooperation on technology learning (fixing the foreign capacity in technology learning to the level of 2020). -ELV_NPi2020_700_T44;0;5;off;;none;uncalibrated;0;RCP26_50;on;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.9;0;1;Mix3;heatpumps;0.01;1;off;1.5;rcp26;7;globallyOptimal;1;660;expoLinear;none;;100;2080;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;;;ELV_NDC2030_T44;;ELV_NPi2020_700f_T45: full century 1.5 degree C global scenario -ELV_NPi2020_700f_T44;0;5;off;;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.9;0;1;Mix3;heatpumps;0.01;1;off;1.5;rcp26;9;globallyOptimal;1;660;expoLinear;none;;100;2080;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;;;ELV_NDC2030_T44;;ELV_NPi2020_700f_T45: full century 1.5 degree C global scenario -ELV_NDC2030_intax_T44;1;5;off;GLO.(pecoal,pegas,peoil).CO2taxmarkup 1;none;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;1;0;exogenous;none;;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;ELV_NDC2030_T44;;ELV_CurPol_T44;;ELV_NDC2030_intax_T44: NDC with extra national tax on imported CO2 emissions (i.e emissions associated to imports of energy carriers) using national carbon tax as the value to tax imports. -ELV_NDC2030_intax_rc_T44;1;5;off;GLO.(pecoal,pegas,peoil).CO2taxmarkup 1;REdirect;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;1;0;exogenous;none;;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;ELV_NDC2030_T44;;ELV_NDC2030_intax_T44;;ELV_NDC2030_intax_rc_T44: same as NDC_intax but with import tax revenue recycling to additional investments in wind, solar and storage. -ELV_NDC2030_intax_nTecC_T44;1;5;off;GLO.(pecoal,pegas,peoil).CO2taxmarkup 1;none;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;0;exogenous;none;;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;ELV_NDC2030_T44;;ELV_CurPol_T44;;ELV_NDC2030_intax_nTecC_T44: NDC_intax and no cooperation on technology learning (fixing the foreign capacity in technology learning to the level of 2020). -ELV_NDC2030_intax_nTecC_rc_T44;1;5;off;GLO.(pecoal,pegas,peoil).CO2taxmarkup 1;REdirect;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;0;exogenous;none;;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;ELV_NDC2030_T44;;ELV_NDC2030_intax_nTecC_T44;;ELV_NDC2030_intax_nTecC_rc_T44: same as NDC_intax_nTecC but with import tax revenue recycling to additional investments in wind, solar and storage. -ELV_NDC2030_avtax_T44;1;5;off;GLO.(pecoal,pegas,peoil).avCO2taxmarkup 1;none;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;1;0;exogenous;none;;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;ELV_NDC2030_T44;;ELV_CurPol_T44;;ELV_NDC2030_avtax_T44: NDC with extra tax on imported CO2 emissions (i.e emissions associated to imports of energy carriers) using the max between average worldwide carbon tax or national carbon tax as the value to tax imports. -ELV_NDC2030_avtax_rc_T44;1;5;off;GLO.(pecoal,pegas,peoil).avCO2taxmarkup 1;REdirect;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;1;0;exogenous;none;;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;ELV_NDC2030_T44;;ELV_NDC2030_avtax_T44;;ELV_NDC2030_avtax_rc_T44: same as NDC_avtax but with import tax revenue recycling to additional investments in wind, solar and storage. -ELV_NDC2030_avtax_nTecC_T44;1;5;off;GLO.(pecoal,pegas,peoil).avCO2taxmarkup 1;none;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;0;exogenous;none;;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;ELV_NDC2030_T44;;ELV_CurPol_T44;;ELV_NDC2030_avtax_nTecC_T44: same as NDC_avtax and no cooperation on technology learning (fixing the foreign capacity in technology learning to the level of 2020). -ELV_NDC2030_avtax_nTecC_rc_T44;1;5;off;GLO.(pecoal,pegas,peoil).avCO2taxmarkup 1;REdirect;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;0;exogenous;none;;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;ELV_NDC2030_T44;;ELV_NDC2030_avtax_nTecC_T44;;ELV_NDC2030_avtax_nTecC_rc_T44: same as NDC_avtax_nTecC but with import tax revenue recycling to additional investments in wind, solar and storage. -ELV_LTS_T44;1;5;off;;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;globallyOptimal;1;0;NDC;netZero;NGFS_v4;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;;;ELV_NDC2030_T44;ELV_CurPol_T44;ELV_LTS_T44: High uncoordinated ambition (named as Glasgow in the ENGAGE 4.5 runs. The Glasgow scenario considers the NDC pledges and the mid-century strategy pledges (net-zero) announced at COP26 in Glasgow.) -ELV_LTS_nTecC_T44;1;5;off;;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;off;1;0;NDC;netZero;NGFS_v4;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;;;ELV_NDC2030_T44;ELV_CurPol_T44;ELV_LTS_nTecC_T44: LTS with no cooperation on technology learning. -ELV_LTS_intax_T44;1;5;off;GLO.(pecoal,pegas,peoil).CO2taxmarkup 1;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;globallyOptimal;1;0;exogenous;none;;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;ELV_LTS_T44;;ELV_NDC2030_intax_T44;;ELV_LTS_intax_T44: LTS with extra national tax on imported CO2 emissions (i.e emissions associated to imports of energy carriers) using national carbon tax as the value to tax imports. -ELV_LTS_intax_rc_T44;1;5;off;GLO.(pecoal,pegas,peoil).CO2taxmarkup 1;REdirect;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;globallyOptimal;1;0;exogenous;none;;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;ELV_LTS_T44;;ELV_LTS_intax_T44;;ELV_LTS_intax_rc_T44: same as LTS_intax but with import tax revenue recycling to additional investments in wind, solar and storage. -ELV_LTS_intax_nTecC_T44;1;5;off;GLO.(pecoal,pegas,peoil).CO2taxmarkup 1;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;off;0;0;exogenous;none;;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;ELV_LTS_T44;;ELV_NDC2030_intax_nTecC_T44;;ELV_LTS_intax_nTecC_T44: LTS_intax and no cooperation on technology learning (fixing the foreign capacity in technology learning to the level of 2020). -ELV_LTS_intax_nTecC_rc_T44;1;5;off;GLO.(pecoal,pegas,peoil).CO2taxmarkup 1;REdirect;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;off;0;0;exogenous;none;;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;ELV_LTS_T44;;ELV_LTS_intax_nTecC_T44;;ELV_LTS_intax_nTecC_rc_T44: LTS_intax_nTecC but with import tax revenue recycling to additional investments in wind, solar and storage. -ELV_LTS_avtax_T44;1;5;off;GLO.(pecoal,pegas,peoil).avCO2taxmarkup 1;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;globallyOptimal;1;0;exogenous;none;;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;ELV_LTS_T44;;ELV_NDC2030_avtax_T44;;ELV_LTS_avtax_T44: LTS with extra tax on imported CO2 emissions (i.e emissions associated to imports of energy carriers) using the max between average worldwide carbon tax or national carbon tax as the value to tax imports. -ELV_LTS_avtax_rc_T44;1;5;off;GLO.(pecoal,pegas,peoil).avCO2taxmarkup 1;REdirect;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;globallyOptimal;1;0;exogenous;none;;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;ELV_LTS_T44;;ELV_LTS_avtax_T44;;ELV_LTS_avtax_rc_T44: same as LTS_avtax but with import tax revenue recycling to additional investments in wind, solar and storage. -ELV_LTS_avtax_nTecC_T44;1;5;off;GLO.(pecoal,pegas,peoil).avCO2taxmarkup 1;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;off;0;0;exogenous;none;;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;ELV_LTS_T44;;ELV_NDC2030_avtax_nTecC_T44;;ELV_LTS_avtax_nTecC_T44: same as LTS_avtax and no cooperation on technology learning (fixing the foreign capacity in technology learning to the level of 2020). -ELV_LTS_avtax_nTecC_rc_T44;1;5;off;GLO.(pecoal,pegas,peoil).avCO2taxmarkup 1;REdirect;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;off;0;0;exogenous;none;;1;2100;3;2050;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;ELV_LTS_T44;ELV_LTS_avtax_nTecC_T44;ELV_LTS_avtax_nTecC_T44;;ELV_LTS_avtax_nTecC_rc_T44: LTS_avtax_nTecC but with import tax revenue recycling to additional investments in wind, solar and storage. +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;cm_budgetCO2from2020;carbonprice;carbonpriceRegi;cm_netZeroScen;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_IncAfterPeakBudgYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_taxCO2_expGrowth;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 +SSP2-Base_bIT;0;5;off;;none;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;1;0;none;none;;-1;2100;3;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. +ELV_CurPol_nTecC_T44;1;5;off;;none;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;0;NPi;none;;1;2100;3;9;;;3;1.05;100;1;NPi2018;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2005;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030. +ELV_CurPol_T44;1;5;off;;none;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;1;0;NPi;none;;1;2100;3;9;;;3;1.05;100;1;NPi2018;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2005;;;;;ELV_CurPol_T44: The Current Policies scenarios describe energy, climate and economic projections for the period until 2030. +ELV_NDC2030_T44;1;5;off;;none;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;1;0;NDC;none;;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;;;ELV_CurPol_T44;ELV_CurPol_T44;ELV_NDC2030_T44: 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. +ELV_NDC2030_nTecC_T44;1;5;off;;none;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;1;0;NDC;none;;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;;;ELV_CurPol_T44;ELV_CurPol_T44;ELV_NDC2030_nTecC_T44: NDCs with no cooperation on technology learning (fixing the foreign capacity in technology learning to the level of 2020). +ELV_NPi2020_700_T44;0;5;off;;none;uncalibrated;0;RCP26_50;on;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.9;0;1;Mix3;heatpumps;0.01;1;off;1.5;rcp26;7;globallyOptimal;1;660;expoLinear;none;;100;2080;3;9;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;;;ELV_NDC2030_T44;;ELV_NPi2020_700f_T45: full century 1.5 degree C global scenario +ELV_NPi2020_700f_T44;0;5;off;;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.9;0;1;Mix3;heatpumps;0.01;1;off;1.5;rcp26;9;globallyOptimal;1;660;expoLinear;none;;100;2080;3;9;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;;;ELV_NDC2030_T44;;ELV_NPi2020_700f_T45: full century 1.5 degree C global scenario +ELV_NDC2030_intax_T44;1;5;off;GLO.(pecoal,pegas,peoil).CO2taxmarkup 1;none;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;1;0;exogenous;none;;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;ELV_NDC2030_T44;;ELV_CurPol_T44;;ELV_NDC2030_intax_T44: NDC with extra national tax on imported CO2 emissions (i.e emissions associated to imports of energy carriers) using national carbon tax as the value to tax imports. +ELV_NDC2030_intax_rc_T44;1;5;off;GLO.(pecoal,pegas,peoil).CO2taxmarkup 1;REdirect;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;1;0;exogenous;none;;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;ELV_NDC2030_T44;;ELV_NDC2030_intax_T44;;ELV_NDC2030_intax_rc_T44: same as NDC_intax but with import tax revenue recycling to additional investments in wind, solar and storage. +ELV_NDC2030_intax_nTecC_T44;1;5;off;GLO.(pecoal,pegas,peoil).CO2taxmarkup 1;none;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;0;exogenous;none;;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;ELV_NDC2030_T44;;ELV_CurPol_T44;;ELV_NDC2030_intax_nTecC_T44: NDC_intax and no cooperation on technology learning (fixing the foreign capacity in technology learning to the level of 2020). +ELV_NDC2030_intax_nTecC_rc_T44;1;5;off;GLO.(pecoal,pegas,peoil).CO2taxmarkup 1;REdirect;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;0;exogenous;none;;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;ELV_NDC2030_T44;;ELV_NDC2030_intax_nTecC_T44;;ELV_NDC2030_intax_nTecC_rc_T44: same as NDC_intax_nTecC but with import tax revenue recycling to additional investments in wind, solar and storage. +ELV_NDC2030_avtax_T44;1;5;off;GLO.(pecoal,pegas,peoil).avCO2taxmarkup 1;none;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;1;0;exogenous;none;;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;ELV_NDC2030_T44;;ELV_CurPol_T44;;ELV_NDC2030_avtax_T44: NDC with extra tax on imported CO2 emissions (i.e emissions associated to imports of energy carriers) using the max between average worldwide carbon tax or national carbon tax as the value to tax imports. +ELV_NDC2030_avtax_rc_T44;1;5;off;GLO.(pecoal,pegas,peoil).avCO2taxmarkup 1;REdirect;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;1;0;exogenous;none;;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;ELV_NDC2030_T44;;ELV_NDC2030_avtax_T44;;ELV_NDC2030_avtax_rc_T44: same as NDC_avtax but with import tax revenue recycling to additional investments in wind, solar and storage. +ELV_NDC2030_avtax_nTecC_T44;1;5;off;GLO.(pecoal,pegas,peoil).avCO2taxmarkup 1;none;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;0;exogenous;none;;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;ELV_NDC2030_T44;;ELV_CurPol_T44;;ELV_NDC2030_avtax_nTecC_T44: same as NDC_avtax and no cooperation on technology learning (fixing the foreign capacity in technology learning to the level of 2020). +ELV_NDC2030_avtax_nTecC_rc_T44;1;5;off;GLO.(pecoal,pegas,peoil).avCO2taxmarkup 1;REdirect;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;0;exogenous;none;;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2025;ELV_NDC2030_T44;;ELV_NDC2030_avtax_nTecC_T44;;ELV_NDC2030_avtax_nTecC_rc_T44: same as NDC_avtax_nTecC but with import tax revenue recycling to additional investments in wind, solar and storage. +ELV_LTS_T44;1;5;off;;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;globallyOptimal;1;0;NDC;netZero;NGFS_v4;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;;;ELV_NDC2030_T44;ELV_CurPol_T44;ELV_LTS_T44: High uncoordinated ambition (named as Glasgow in the ENGAGE 4.5 runs. The Glasgow scenario considers the NDC pledges and the mid-century strategy pledges (net-zero) announced at COP26 in Glasgow.) +ELV_LTS_nTecC_T44;1;5;off;;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;off;1;0;NDC;netZero;NGFS_v4;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;;;ELV_NDC2030_T44;ELV_CurPol_T44;ELV_LTS_nTecC_T44: LTS with no cooperation on technology learning. +ELV_LTS_intax_T44;1;5;off;GLO.(pecoal,pegas,peoil).CO2taxmarkup 1;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;globallyOptimal;1;0;exogenous;none;;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;ELV_LTS_T44;;ELV_NDC2030_intax_T44;;ELV_LTS_intax_T44: LTS with extra national tax on imported CO2 emissions (i.e emissions associated to imports of energy carriers) using national carbon tax as the value to tax imports. +ELV_LTS_intax_rc_T44;1;5;off;GLO.(pecoal,pegas,peoil).CO2taxmarkup 1;REdirect;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;globallyOptimal;1;0;exogenous;none;;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;ELV_LTS_T44;;ELV_LTS_intax_T44;;ELV_LTS_intax_rc_T44: same as LTS_intax but with import tax revenue recycling to additional investments in wind, solar and storage. +ELV_LTS_intax_nTecC_T44;1;5;off;GLO.(pecoal,pegas,peoil).CO2taxmarkup 1;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;off;0;0;exogenous;none;;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;ELV_LTS_T44;;ELV_NDC2030_intax_nTecC_T44;;ELV_LTS_intax_nTecC_T44: LTS_intax and no cooperation on technology learning (fixing the foreign capacity in technology learning to the level of 2020). +ELV_LTS_intax_nTecC_rc_T44;1;5;off;GLO.(pecoal,pegas,peoil).CO2taxmarkup 1;REdirect;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;off;0;0;exogenous;none;;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;ELV_LTS_T44;;ELV_LTS_intax_nTecC_T44;;ELV_LTS_intax_nTecC_rc_T44: LTS_intax_nTecC but with import tax revenue recycling to additional investments in wind, solar and storage. +ELV_LTS_avtax_T44;1;5;off;GLO.(pecoal,pegas,peoil).avCO2taxmarkup 1;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;globallyOptimal;1;0;exogenous;none;;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;ELV_LTS_T44;;ELV_NDC2030_avtax_T44;;ELV_LTS_avtax_T44: LTS with extra tax on imported CO2 emissions (i.e emissions associated to imports of energy carriers) using the max between average worldwide carbon tax or national carbon tax as the value to tax imports. +ELV_LTS_avtax_rc_T44;1;5;off;GLO.(pecoal,pegas,peoil).avCO2taxmarkup 1;REdirect;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;globallyOptimal;1;0;exogenous;none;;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;ELV_LTS_T44;;ELV_LTS_avtax_T44;;ELV_LTS_avtax_rc_T44: same as LTS_avtax but with import tax revenue recycling to additional investments in wind, solar and storage. +ELV_LTS_avtax_nTecC_T44;1;5;off;GLO.(pecoal,pegas,peoil).avCO2taxmarkup 1;none;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;off;0;0;exogenous;none;;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;ELV_LTS_T44;;ELV_NDC2030_avtax_nTecC_T44;;ELV_LTS_avtax_nTecC_T44: same as LTS_avtax and no cooperation on technology learning (fixing the foreign capacity in technology learning to the level of 2020). +ELV_LTS_avtax_nTecC_rc_T44;1;5;off;GLO.(pecoal,pegas,peoil).avCO2taxmarkup 1;REdirect;uncalibrated;0;RCP26_50;off;HowardNonCatastrophic;30;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix3;none;0.01;1;off;1.5;rcp26;3;off;0;0;exogenous;none;;1;2100;3;9;;;3;1.05;100;1;NDC;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;2030;ELV_LTS_T44;ELV_LTS_avtax_nTecC_T44;ELV_LTS_avtax_nTecC_T44;;ELV_LTS_avtax_nTecC_rc_T44: LTS_avtax_nTecC but with import tax revenue recycling to additional investments in wind, solar and storage. diff --git a/config/scenario_config_IKEA.csv b/config/scenario_config_IKEA.csv index 6a30031fd..d75bf10e2 100644 --- a/config/scenario_config_IKEA.csv +++ b/config/scenario_config_IKEA.csv @@ -1,38 +1,38 @@ -title;start;CES_parameters;.comment;optimization;cm_iteration_max;cm_nash_autoconverge;cm_nash_mode;cm_calibration_string;c_testOneRegi_region;c_keep_iteration_gdxes;slurmConfig;c_changeProdCost;c_SlackMultiplier;cm_rcp_scen;cm_floorCostScen;cm_iterative_target_adj;cm_CO2priceRegConvEndYr;cm_flex_tax;cm_VRE_supply_assumptions;subsidizeLearning;c_budgetCO2from2020;carbonprice;cm_co2_tax_startyear;cm_peakBudgYr;cm_emiscen;cm_nucscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_tradecostBio;cm_bioenergy_SustTax;cm_maxProdBiolc;c_ccsinjecratescen;cm_CESMkup_build;cm_CESMkup_ind;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;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;.comment;optimization;cm_iteration_max;cm_nash_autoconverge;cm_nash_mode;cm_calibration_string;c_testOneRegi_region;c_keep_iteration_gdxes;slurmConfig;c_changeProdCost;c_SlackMultiplier;cm_rcp_scen;cm_floorCostScen;cm_iterative_target_adj;cm_taxCO2_regiDiff_endYr;cm_flex_tax;cm_VRE_supply_assumptions;subsidizeLearning;cm_budgetCO2from2020;carbonprice;cm_taxCO2_startyear;cm_peakBudgYr;cm_emiscen;cm_nucscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_tradecostBio;cm_bioenergy_SustTax;cm_maxProdBiolc;c_ccsinjecratescen;cm_CESMkup_build;cm_CESMkup_ind;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;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_floor1;0;;default global floor cost;testOneRegi;;;;;CHA;0;8;;;;default;;;0;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;testOneRegi-Base: This is a test scenario which only runs a single region, not to be used in production. testOneRegi-Base_floor2;0;;floor cost preserves price structure;testOneRegi;;;;;CHA;0;8;;;;pricestruc;;;0;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;testOneRegi-Base: This is a test scenario which only runs a single region, not to be used in production. testOneRegi-Base_floor3;0;;floor cost simulates tech transfer;testOneRegi;;;;;CHA;0;8;;;;techtrans;;;0;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;testOneRegi-Base: This is a test scenario which only runs a single region, not to be used in production. -testOneRegi-Base_500_debug;0;;floor cost simulates tech transfer;testOneRegi;;;1;default;REF;0;8;;;rcp20;default;9;2100;0;0;globallyOptimal;500;diffLin2Lin;100;2080;9;2;GLO 0.04, 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.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 25,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 180,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;testOneRegi-Base: This is a test scenario which only runs a single region, not to be used in production. +testOneRegi-Base_500_debug;0;;floor cost simulates tech transfer;testOneRegi;;;1;default;REF;0;8;;;rcp20;default;9;GLO 2100;0;0;globallyOptimal;500;functionalForm;100;2080;9;2;GLO 0.04, 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.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;;5;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 25,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 180,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;testOneRegi-Base: This is a test scenario which only runs a single region, not to be used in production. # H12 SSP2EU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP2-NPi-calibrate;0;calibrate;;;;;;;;1;1;;;rcp45;default;;;0;0;;0;NPi;-1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;3;;heat;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. SSP2-NPi-calibrate_floor2;0;calibrate;;;;;;;;1;1;;;rcp45;pricestruc;;;0;0;;0;NPi;-1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;3;;heat;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. SSP2-NPi-calibrate_floor3;0;calibrate;;;;;;;;1;1;;;rcp45;techtrans;;;0;0;;0;NPi;-1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;3;;heat;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. SSP2-NPi;0;;floor cost default;;;;;default;;1;5;;;rcp45;default;3;;0;0;;0;NPi;1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;3;;heat;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (Npi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi is identical to the NDC scenario until 2020 but assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. SSP2-NDC;0;;floor cost default;;;;;default;;1;5;;;rcp45;default;3;;0;0;globallyOptimal;0;NDC;1;2100;9;2;GLO 0.05, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;3;;heat;Mix2;2030;;SSP2-NPi;SSP2-NPi;;SSP2-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. -SSP2-PkBudg1150;0;;floor cost default;;;;;default;;1;5;;;rcp26;default;9;2100;1;1;globallyOptimal;1150;diffLin2Lin;60;2100;9;2;GLO 0.06, 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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;SSP2-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a weel below 2??C scenario, peak warming is allowed to be at or slightly above 2??C, at median climate sensitivity but returns to values below 2??C in at least 67?% of scenarios by the end of the century. -SSP2-PkBudg650;0;;floor cost default;;;2;;default;;1;5;;;rcp20;default;9;2100;1;1;globallyOptimal;650;diffLin2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2-PkBudg620;0;;floor cost default;;;2;;default;;1;5;;;rcp20;default;9;2100;1;1;globallyOptimal;620;diffLin2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;SSP2-PkBudg620: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2-PkBudg590;0;;floor cost default;;;2;;default;;1;5;;;rcp20;default;9;2100;1;1;globallyOptimal;590;diffLin2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;SSP2-PkBudg590: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2-PkBudg560;0;;floor cost default;;;2;;default;;1;5;;;rcp20;default;9;2100;1;1;globallyOptimal;560;diffLin2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;SSP2-PkBudg550: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2-PkBudg530;0;;floor cost default;;;2;;default;;1;5;;;rcp20;default;9;2100;1;1;globallyOptimal;530;diffLin2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg1150;0;;floor cost default;;;;;default;;1;5;;;rcp26;default;9;GLO 2100;1;1;globallyOptimal;1150;functionalForm;60;2100;9;2;GLO 0.06, 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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;SSP2-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a weel below 2??C scenario, peak warming is allowed to be at or slightly above 2??C, at median climate sensitivity but returns to values below 2??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg650;0;;floor cost default;;;2;;default;;1;5;;;rcp20;default;9;GLO 2100;1;1;globallyOptimal;650;functionalForm;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg620;0;;floor cost default;;;2;;default;;1;5;;;rcp20;default;9;GLO 2100;1;1;globallyOptimal;620;functionalForm;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;SSP2-PkBudg620: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg590;0;;floor cost default;;;2;;default;;1;5;;;rcp20;default;9;GLO 2100;1;1;globallyOptimal;590;functionalForm;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;SSP2-PkBudg590: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg560;0;;floor cost default;;;2;;default;;1;5;;;rcp20;default;9;GLO 2100;1;1;globallyOptimal;560;functionalForm;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;SSP2-PkBudg550: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg530;0;;floor cost default;;;2;;default;;1;5;;;rcp20;default;9;GLO 2100;1;1;globallyOptimal;530;functionalForm;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi;SSP2-NPi;;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. SSP2-NPi_floor2;0;;floor cost preserves price structure;;;;;pricestruc;;1;5;;;rcp45;pricestruc;3;;0;0;;0;NPi;1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;3;;heat;Mix1;2030;;;;;SSP2-NPi: This National Policies Implemented (Npi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi is identical to the NDC scenario until 2020 but assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. SSP2-NDC_floor2;0;;floor cost preserves price structure;;;;;pricestruc;;1;5;;;rcp45;pricestruc;3;;0;0;globallyOptimal;0;NDC;1;2100;9;2;GLO 0.05, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;3;;heat;Mix2;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;;SSP2-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. -SSP2-PkBudg500_floor2;0;;floor cost preserves price structure;;;;;pricestruc;;1;5;;;rcp20;pricestruc;9;2100;0;0;globallyOptimal;500;diffLin2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2-PkBudg650_floor2;0;;floor cost preserves price structure;;;;;pricestruc;;1;5;;;rcp20;pricestruc;9;2100;0;0;globallyOptimal;650;diffLin2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2-PkBudg1150_floor2;0;;floor cost preserves price structure;;;;;pricestruc;;1;5;;;rcp26;pricestruc;9;2100;0;0;globallyOptimal;1150;diffLin2Lin;60;2100;9;2;GLO 0.06, 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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;;SSP2-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a weel below 2??C scenario, peak warming is allowed to be at or slightly above 2??C, at median climate sensitivity but returns to values below 2??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg500_floor2;0;;floor cost preserves price structure;;;;;pricestruc;;1;5;;;rcp20;pricestruc;9;GLO 2100;0;0;globallyOptimal;500;functionalForm;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg650_floor2;0;;floor cost preserves price structure;;;;;pricestruc;;1;5;;;rcp20;pricestruc;9;GLO 2100;0;0;globallyOptimal;650;functionalForm;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg1150_floor2;0;;floor cost preserves price structure;;;;;pricestruc;;1;5;;;rcp26;pricestruc;9;GLO 2100;0;0;globallyOptimal;1150;functionalForm;60;2100;9;2;GLO 0.06, 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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;;SSP2-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a weel below 2??C scenario, peak warming is allowed to be at or slightly above 2??C, at median climate sensitivity but returns to values below 2??C in at least 67?% of scenarios by the end of the century. SSP2-NPi_floor3;0;;floor cost simulates tech transfer;;;;;techtrans;;1;5;;;rcp45;techtrans;3;;0;0;;0;NPi;1;2100;9;2;GLO 0.04, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;3;;heat;Mix1;2030;;;;;SSP2-NPi: This National Policies Implemented (Npi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi is identical to the NDC scenario until 2020 but assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. SSP2-NDC_floor3;0;;floor cost simulates tech transfer;;;;;techtrans;;1;5;;;rcp45;techtrans;3;;0;0;globallyOptimal;0;NDC;1;2100;9;2;GLO 0.05, EUR_regi 0.15;CHA_regi.pc 0.001, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, CHA_regi.coalchp 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;3;;heat;Mix2;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;;SSP2-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. -SSP2-PkBudg500_floor3;0;;floor cost simulates tech transfer;;;;;techtrans;;1;5;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;500;diffLin2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2-PkBudg650_floor3;0;;floor cost simulates tech transfer;;;;;techtrans;;1;5;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;650;diffLin2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2-PkBudg1150_floor3;0;;floor cost simulates tech transfer;;;;;techtrans;;1;1;;;rcp26;techtrans;9;2100;0;0;globallyOptimal;1150;diffLin2Lin;60;2100;9;2;GLO 0.06, 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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;;SSP2-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a weel below 2??C scenario, peak warming is allowed to be at or slightly above 2??C, at median climate sensitivity but returns to values below 2??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg500_floor3;0;;floor cost simulates tech transfer;;;;;techtrans;;1;5;;;rcp20;techtrans;9;GLO 2100;0;0;globallyOptimal;500;functionalForm;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg650_floor3;0;;floor cost simulates tech transfer;;;;;techtrans;;1;5;;;rcp20;techtrans;9;GLO 2100;0;0;globallyOptimal;650;functionalForm;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg1150_floor3;0;;floor cost simulates tech transfer;;;;;techtrans;;1;1;;;rcp26;techtrans;9;GLO 2100;0;0;globallyOptimal;1150;functionalForm;60;2100;9;2;GLO 0.06, 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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;;SSP2-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a weel below 2??C scenario, peak warming is allowed to be at or slightly above 2??C, at median climate sensitivity but returns to values below 2??C in at least 67?% of scenarios by the end of the century. # H12 SSP2EU budget scenarios;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-PkBudg600_cost_budget1_2030bionu;0;;south abate less, north abate more;;;2;;pricestruc;;1;5;;;rcp20;pricestruc;9;2100;0;0;globallyOptimal;600;diffLin2Lin;100;2080;9;2;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.04, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;2020.2060.EUR.all.budget.netCO2 23,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 130,2020.2050.CHA.all.year.netGHG 0.1,2020.2070.JPN.all.budget.netCO2 8.5,2020.2070.CAZ.all.budget.netCO2 4.5,2020.2070.NEU.all.budget.netCO2 7.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;; -SSP2-PkBudg600_cost_budget2_2030bionu;0;;south abate less, north abate more;;;2;;pricestruc;;1;5;;;rcp20;pricestruc;9;2100;0;0;globallyOptimal;600;diffLin2Lin;100;2080;9;2;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.04, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;2020.2060.EUR.all.budget.netCO2 23,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 130,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;; -SSP2-PkBudg600_cost_budget5_2030bionu;0;;south abate less, north abate more;;;2;;techtrans;;1;5;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;600;diffLin2Lin;100;2080;9;2;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.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 25,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 180,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;; -SSP2-PkBudg620_cost_budget5_2030bionu;0;;south abate less, north abate more;;;2;;techtrans;;1;5;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;620;diffLin2Lin;100;2080;9;2;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.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 25,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 180,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;; -SSP2-PkBudg650_cost_budget5_2030bionu;0;;south abate less, north abate more;;;2;;techtrans;;1;5;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;650;diffLin2Lin;100;2080;9;2;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.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 25,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 180,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;; -SSP2-PkBudg600_cost_year_2030;0;;north abate less, south abate more;;;2;;techtrans;;1;5;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;600;diffLin2Lin;100;2080;9;2;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.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.04, (IND_regi, SSA_regi, OAS_regi).coalchp 0.04;;;;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2050.CHA.all.budget.netCO2 180, 2020.2050.EUR.all.year.netGHG_LULUCFGrassi 0.1, 2020.2050.USA.all.year.netGHG_LULUCFGrassi 0.1;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;; -SSP2-PkBudg590_budget_year_2030;0;;north abate less, south abate more;;;2;;techtrans;;1;5;;;rcp20;techtrans;9;2100;0;0;globallyOptimal;590;diffLin2Lin;100;2080;9;2;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.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.04, (IND_regi, SSA_regi, OAS_regi).coalchp 0.04;;;;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 40,2020.2050.USA.all.budget.netCO2 57,2020.2050.CHA.all.budget.netCO2 180;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;; +SSP2-PkBudg600_cost_budget1_2030bionu;0;;south abate less, north abate more;;;2;;pricestruc;;1;5;;;rcp20;pricestruc;9;GLO 2100;0;0;globallyOptimal;600;functionalForm;100;2080;9;2;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.04, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;2020.2060.EUR.all.budget.netCO2 23,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 130,2020.2050.CHA.all.year.netGHG 0.1,2020.2070.JPN.all.budget.netCO2 8.5,2020.2070.CAZ.all.budget.netCO2 4.5,2020.2070.NEU.all.budget.netCO2 7.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;; +SSP2-PkBudg600_cost_budget2_2030bionu;0;;south abate less, north abate more;;;2;;pricestruc;;1;5;;;rcp20;pricestruc;9;GLO 2100;0;0;globallyOptimal;600;functionalForm;100;2080;9;2;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.04, IND_regi.pc 0.001, SSA_regi.pc 0.001, OAS_regi.pc 0.001, IND_regi.coalchp 0.001, SSA_regi.coalchp 0.001, OAS_regi.coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809, 2050.GLO.tax.t.CCS.biomass 2000;2020.2060.EUR.all.budget.netCO2 23,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 130,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;; +SSP2-PkBudg600_cost_budget5_2030bionu;0;;south abate less, north abate more;;;2;;techtrans;;1;5;;;rcp20;techtrans;9;GLO 2100;0;0;globallyOptimal;600;functionalForm;100;2080;9;2;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.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 25,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 180,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;; +SSP2-PkBudg620_cost_budget5_2030bionu;0;;south abate less, north abate more;;;2;;techtrans;;1;5;;;rcp20;techtrans;9;GLO 2100;0;0;globallyOptimal;620;functionalForm;100;2080;9;2;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.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 25,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 180,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;; +SSP2-PkBudg650_cost_budget5_2030bionu;0;;south abate less, north abate more;;;2;;techtrans;;1;5;;;rcp20;techtrans;9;GLO 2100;0;0;globallyOptimal;650;functionalForm;100;2080;9;2;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.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 25,2020.2050.USA.all.budget.netCO2 37,2020.2050.CHA.all.budget.netCO2 180,2020.2070.JPN.all.budget.netCO2 7,2020.2070.CAZ.all.budget.netCO2 3.5,2020.2070.NEU.all.budget.netCO2 8.5;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;; +SSP2-PkBudg600_cost_year_2030;0;;north abate less, south abate more;;;2;;techtrans;;1;5;;;rcp20;techtrans;9;GLO 2100;0;0;globallyOptimal;600;functionalForm;100;2080;9;2;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.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.04, (IND_regi, SSA_regi, OAS_regi).coalchp 0.04;;;;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2050.CHA.all.budget.netCO2 180, 2020.2050.EUR.all.year.netGHG_LULUCFGrassi 0.1, 2020.2050.USA.all.year.netGHG_LULUCFGrassi 0.1;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;; +SSP2-PkBudg590_budget_year_2030;0;;north abate less, south abate more;;;2;;techtrans;;1;5;;;rcp20;techtrans;9;GLO 2100;0;0;globallyOptimal;590;functionalForm;100;2080;9;2;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.25, CHA_regi.pc 0.04, (IND_regi, SSA_regi, OAS_regi).pc 0.04, (IND_regi, SSA_regi, OAS_regi).coalchp 0.04;;;;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2060.EUR.all.budget.netCO2 40,2020.2050.USA.all.budget.netCO2 57,2020.2050.CHA.all.budget.netCO2 180;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor3;SSP2-NPi_floor3;; # H12 SSP2 demand scenarios;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-PkBudg650_floor2_demInc;0;;floor cost preserves price structure;;;;;pricestruc;;1;5;;;rcp20;pricestruc;9;2100;0;0;globallyOptimal;650;diffLin2Lin;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. -SSP2-PkBudg1150_floor2_demInc;0;;floor cost preserves price structure;;;;;pricestruc;;1;5;;;rcp26;pricestruc;9;2100;0;0;globallyOptimal;1150;diffLin2Lin;60;2100;9;2;GLO 0.06, 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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;;SSP2-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a weel below 2??C scenario, peak warming is allowed to be at or slightly above 2??C, at median climate sensitivity but returns to values below 2??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg650_floor2_demInc;0;;floor cost preserves price structure;;;;;pricestruc;;1;5;;;rcp20;pricestruc;9;GLO 2100;0;0;globallyOptimal;650;functionalForm;100;2080;9;2;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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5??C scenario, peak warming is allowed to be at or slightly above 1.5??C, at median climate sensitivity but returns to values below 1.5??C in at least 67?% of scenarios by the end of the century. +SSP2-PkBudg1150_floor2_demInc;0;;floor cost preserves price structure;;;;;pricestruc;;1;5;;;rcp26;pricestruc;9;GLO 2100;0;0;globallyOptimal;1150;functionalForm;60;2100;9;2;GLO 0.06, 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.04, (IND_regi, SSA_regi, OAS_regi).pc 0.001, (IND_regi, SSA_regi, OAS_regi).coalchp 0.001;;;75;2;feelhpb 1.05, fehob 1.75, feheb 0.35;feh2_otherInd 1.05, feelhth_otherInd 0.43, feh2_cement 2.2, feelhth_chemicals 1.4, feh2_chemicals 1.05, fehos_cement 2.2;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;1;heat;Mix4;2030;;SSP2-NPi_floor2;SSP2-NPi_floor2;;SSP2-PkBudg1150: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt?CO2 on total CO2 emissions from 2015 to 2100. This is a weel below 2??C scenario, peak warming is allowed to be at or slightly above 2??C, at median climate sensitivity but returns to values below 2??C in at least 67?% of scenarios by the end of the century. diff --git a/config/scenario_config_NGFS_v5.csv b/config/scenario_config_NGFS_v5.csv index 24b49edba..8b3240892 100644 --- a/config/scenario_config_NGFS_v5.csv +++ b/config/scenario_config_NGFS_v5.csv @@ -1,76 +1,76 @@ -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;climate_assessment_magicc_prob_file_iteration;cm_magicc_config;cm_magicc_temperatureImpulseResponse;cm_KotzWenzPerc;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;cm_CO2TaxSectorMarkup;c_ccsinjecratescen;c_ccsinjecrateRegi;cm_33DAC;cm_33EW;cm_bioenergy_SustTax;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;c_budgetCO2from2020;carbonprice;carbonpriceRegi;regipol;cm_implicitQttyTarget;cm_implicitQttyTarget_tolerance;cm_NDC_version;cm_netZeroScen;cm_co2_tax_startyear;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;fixOnRefAuto;cm_startyear;path_gdx;path_gdx_ref;path_gdx_refpolicycost;path_gdx_bau;description -# ___Calibration___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;initial value;initial value;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-Base_covidCalib;0;;;gdp_SSP2;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -# ___Baselines___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-Base;0;;;gdp_SSP2;medOil;medGas;medCoal;load;5;off;off;uncalibrated;off;0;off;;RCP26_50;off;;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;;0;1;Mix1;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;TRUE;2005;;;;;SSP2-Base: 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. -# ___NO_DAMAGES___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -h_cpol_noUkr;NGFS;SSP2-Base;;;;;;;;;;;;;;;;;;;30;;;;;;;;;;;Mix2;none;;;;;0;0;1.5;rcp45;3;off;0;NPi;none;;;;;;1;2100;;2050;9;;;3;1.05;100;;NPi2018;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;;2005;;;;;h_cpol: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. -h_cpol;NGFS;h_cpol_noUkr;EUR.pegas.worldPricemarkup 0.5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;;h_cpol_noUkr;;; -h_ndc;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Mix3;none;;;1;;;;1.5;rcp45;3;globallyOptimal;0;NDC;none;;;;;;1;2100;3;2050;;;;;;;;NDC;;;;3;;;;;;;;2025;;h_cpol_noUkr;h_cpol;h_cpol_noUkr;h_ndc: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. -o_1p5c;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;Mix4;heatpumps;;;1;;;;1.5;rcp20;9;globallyOptimal;560;diffLin2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 4300, 2080.GLO.tax.t.CCS.biomass 4300;0.1;;;150;2045;6;2050;;;;;;;;NDC;;;;2;;;;;;;;2025;;h_cpol_noUkr;h_cpol;;o_1p5c: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. -o_lowdem;NGFS;o_1p5c;;gdp_SSP2_lowEn;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;;;;;;GLO 0.00125, CAZ_regi 0.0045, CHA_regi 0.004, EUR_regi 0.0045, IND_regi 0.004, JPN_regi 0.002, USA_regi 0.002;;;;;;;560;diffLin2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 3800, 2080.GLO.tax.t.CCS.biomass 3800;0.1;;;;;1;;;;;;;;;;;;;;;;;;;;;2025;;h_cpol_noUkr;h_cpol;;o_lowdem: Low Demand scenario -o_2c;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.5;;;Mix4;heatpumps;;;1;;;;1.5;rcp26;9;globallyOptimal;1050;diffLin2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 2300, 2080.GLO.tax.t.CCS.biomass 2300;;;NGFS_v4_20pc;100;2080;3;2050;;;;;;;;NDC;;;;2;;;;;;;;2025;;h_cpol_noUkr;h_cpol;;o_2c: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. -d_delfrag;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.5;;;Mix3;heatpumps;;;;GLO 0.00125, CAZ_regi 0.0045, CHA_regi 0.004, EUR_regi 0.0045, IND_regi 0.004, JPN_regi 0.002, USA_regi 0.002;;;1.5;rcp26;9;globallyOptimal;1010;diffLin2Lin;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 2300, 2080.GLO.tax.t.CCS.biomass 2300;;;;100;2080;;2050;;;;;;;;NDC;;;;2;;;;;;;;2035;;h_cpol;h_cpol;;d_delfrag: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. -d_strain;NGFS;d_delfrag;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3;off;;NPi;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 2300, 2080.GLO.tax.t.CCS.biomass 2300;;;NGFS_v4_20pc;1;2100;;;;;;;;;;;;;;;;;;;;;;2035;;h_cpol;h_cpol;;d_strain: Fragmented world -d_rap;0;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;Mix4;heatpumps;;GLO.trans 2, GLO.build 2;2;;;;1.5;rcp20;9;globallyOptimal;560;diffLin2Lin;none;;;;;;150;2045;3;2050;;;;;;;;NDC;;;;2;;;;;;;;2025;;h_cpol_noUkr;h_cpol;;d_rap: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. -# ___WITH_DAMAGES___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -h_cpol_KLW_d50;KLW;h_cpol;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;off;/p/projects/rd3mod/climate-assessment-files/parsets/RCP45_50.json;;off;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;;h_cpol;;;h_cpol_KLW_d50: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP4.5. -h_ndc_KLW_d50;KLW;h_ndc;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;off;/p/projects/rd3mod/climate-assessment-files/parsets/RCP45_50.json;;off;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;;h_cpol;h_cpol_KLW_d50;;h_ndc_KLW_d50: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP4.5. -o_1p5c_KLW_d50;KLW;o_1p5c;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;KotzWenzItr;/p/projects/rd3mod/climate-assessment-files/parsets/RCP20_50.json;;on;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;h_cpol;h_cpol_KLW_d50;;o_1p5c_KLW_d50: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kotz and Wenz (2024) are internalized in the optimization using the 50th percentile of RCP2.0. -o_lowdem_KLW_d50;KLW;o_lowdem;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;KotzWenzItr;/p/projects/rd3mod/climate-assessment-files/parsets/RCP20_50.json;;on;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;h_cpol;h_cpol_KLW_d50;;o_lowdem_KLW_d50: Low Demand scenario. Damages from climate change based on Kotz and Wenz (2024) are internalized in the optimization using the 50th percentile of RCP2.0. -o_2c_KLW_d50;KLW;o_2c;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;KotzWenzItr;/p/projects/rd3mod/climate-assessment-files/parsets/RCP26_50.json;;on;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;h_cpol;h_cpol_KLW_d50;;o_2c_KLW_d50: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kotz and Wenz (2024) are internalized in the optimization using the 50th percentile of RCP2.6. -d_delfrag_KLW_d50;KLW;d_delfrag;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;KotzWenzItr;/p/projects/rd3mod/climate-assessment-files/parsets/RCP26_50.json;;on;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;h_cpol_KLW_d50;h_cpol_KLW_d50;;d_delfrag_KLW_d50: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kotz and Wenz (2024) are internalized in the optimization using the 50th percentile of RCP2.6. -d_strain_KLW_d50;KLW;d_strain;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;KotzWenzItr;/p/projects/rd3mod/climate-assessment-files/parsets/RCP45_50.json;;on;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;h_cpol_KLW_d50;h_cpol_KLW_d50;;d_strain_KLW_d50: Fragmented World. Damages from climate change based on Kotz and Wenz (2024) are internalized in the optimization using the 50th percentile of RCP4.5. -d_rap_KLW_d50;0;d_rap;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;KotzWenzItr;/p/projects/rd3mod/climate-assessment-files/parsets/RCP20_50.json;;on;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;h_cpol;h_cpol_KLW_d50;;d_rap_KLW_d50: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kotz and Wenz (2024) are internalized in the optimization using the 50th percentile of RCP2.6. -# ___WITH_DAMAGES_old_NGFSv4___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-Base_d50;0;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KWLike;0;;;RCP26_50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d50: 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -SSP2-Base_d95;0;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KWLike;0;;;RCP26_95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d95: 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -SSP2-Base_d50high;d50high;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KW_SE;1.96;;;RCP26_50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d50: 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -SSP2-Base_d95high;d95high;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KW_SE;1.96;;;RCP26_95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d95: 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -h_cpol_d50;d50;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d50: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -h_cpol_d95;d95;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_95;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d95: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -h_cpol_d50high;d50high;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d50high: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -h_cpol_d95high;d95high;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;;RCP26_95;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d95high: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -h_ndc_d50;d50;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d50;SSP2-Base;h_ndc_d50: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -h_ndc_d95;d95;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_95;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d95;SSP2-Base;h_ndc_d95: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -h_ndc_d50high;d50high;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d50high;SSP2-Base;h_ndc_d50high: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -h_ndc_d95high;d95high;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;;RCP26_95;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d95high;SSP2-Base;h_ndc_d95high: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -o_1p5c_d50;d50;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d50;;o_1p5c_d50: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_1p5c_d95;d95;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d95;;o_1p5c_d95: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_1p5c_d50high;d50high;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d50high;;o_1p5c_d50high: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_1p5c_d95high;d95high;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d95high;;o_1p5c_d95high: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_1p5c_d50_cpricereg;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_d50_cpricereg: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_1p5c_d95_cpricereg;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_d95_cpricereg: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_1p5c_dni50;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_dni50: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -o_1p5c_dni95;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_95;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_dni95: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -o_lowdem_d50;d50;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d50;;o_lowdem_d50 -o_lowdem_d95;d95;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d95;;o_lowdem_d95 -o_lowdem_d50high;d50high;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d50high;;o_lowdem_d50high -o_lowdem_d95high;d95high;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d95high;;o_lowdem_d95high -o_2c_d50;d50;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d50;;o_2c_d50: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_2c_d95;d95;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d95;;o_2c_d95: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_2c_d50high;d50high;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d50high;;o_2c_d50high: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_2c_d95high;d95high;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d95high;;o_2c_d95high: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_2c_d50_cpricereg;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_d50_cpricereg: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. The Social Cost of Carbon is regional rather than globally uniform. -o_2c_d95_cpricereg;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_d95_cpricereg: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. The Social Cost of Carbon is regional rather than globally uniform. -o_2c_dni50;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_dni50: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -o_2c_dni50_fixCprice;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;0;;1050;exogenous;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_dni50_fixCprice: a test run fixing the carbon price to the one from the fully integrated o_2c_d50 scenario -o_2c_fixCprice;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;off;0;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;0;;1050;exogenous;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_fixCprice: a test run fixing the carbon price to the one from the fully integrated o_2c scenario -o_2c_dni95;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_95;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_dni95: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -d_delfrag_d50;d50;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d50;h_cpol_d50;;d_delfrag_d50: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -d_delfrag_d95;d95;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d95;h_cpol_d95;;d_delfrag_d95: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -d_delfrag_d50high;d50high;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d50high;h_cpol_d50high;;d_delfrag_d50high: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -d_delfrag_d95high;d95high;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d95high;h_cpol_d95high;;d_delfrag_d95high: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -d_strain_d50;d50;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d50;h_cpol_d50;;d_strain_d50: Fragmented World -d_strain_d95;d95;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d95;h_cpol_d95;;d_strain_d95: Fragmented World -d_strain_d50high;d50high;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d50high;h_cpol_d50high;;d_strain_d50high: Fragmented World -d_strain_d95high;d95high;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d95high;h_cpol_d95high;;d_strain_d95high: Fragmented World -d_rap_d50;d50;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d50;;d_rap_d50: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -d_rap_d95;d95;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d95;;d_rap_d95: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -d_rap_d50high;d50high;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d50high;;d_rap_d50high: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -d_rap_d95high;d95high;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d95high;;d_rap_d95high: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_cba_d50;d50;h_cpol;;;;;;load;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50;on;;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;;2025;o_2c;h_cpol_noUkr;h_cpol_d50;;o_cba_d50: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_cba_d95;d95;h_cpol;;;;;;load;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;;2025;o_2c;h_cpol_noUkr;h_cpol_d95;;o_cba_d95: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_cba_d50high;d50high;h_cpol;;;;;;load;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;;2025;o_2c;h_cpol_noUkr;h_cpol_d50high;;o_cba_d50high: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_cba_d95high;d95high;h_cpol;;;;;;load;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;2050;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;;2025;o_2c;h_cpol_noUkr;h_cpol_d95high;;o_cba_d95high: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +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;climate_assessment_magicc_prob_file_iteration;cm_magicc_config;cm_magicc_temperatureImpulseResponse;cm_KotzWenzPerc;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;cm_CO2TaxSectorMarkup;c_ccsinjecratescen;c_ccsinjecrateRegi;cm_33DAC;cm_33EW;cm_bioenergy_SustTax;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_budgetCO2from2020;carbonprice;carbonpriceRegi;regipol;cm_implicitQttyTarget;cm_implicitQttyTarget_tolerance;cm_NDC_version;cm_netZeroScen;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_IncAfterPeakBudgYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_taxCO2_expGrowth;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;fixOnRefAuto;cm_startyear;path_gdx;path_gdx_ref;path_gdx_refpolicycost;path_gdx_bau;description +# ___Calibration___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;initial value;initial value;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2-Base_covidCalib;0;;;gdp_SSP2;;;;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;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +# ___Baselines___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2-Base;0;;;gdp_SSP2;medOil;medGas;medCoal;load;5;off;off;uncalibrated;off;0;off;;RCP26_50;off;;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;;0;1;Mix1;none;0.01;;1;;;;1.5;none;0;off;0;none;none;;;;;;-1;2100;3;1;;;3;1.05;off;1;none;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;TRUE;2005;;;;;SSP2-Base: 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. +# ___NO_DAMAGES___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +h_cpol_noUkr;NGFS;SSP2-Base;;;;;;;;;;;;;;;;;;;30;;;;;;;;;;;Mix2;none;;;;;0;0;1.5;rcp45;3;off;0;NPi;none;;;;;;1;2100;;9;;;3;1.05;100;;NPi2018;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;heat;;2005;;;;;h_cpol: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. +h_cpol;NGFS;h_cpol_noUkr;EUR.pegas.worldPricemarkup 0.5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;;h_cpol_noUkr;;; +h_ndc;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Mix3;none;;;1;;;;1.5;rcp45;3;globallyOptimal;0;NDC;none;;;;;;1;2100;3;;;;;;;;NDC;;;;3;;;;;;;;2025;;h_cpol_noUkr;h_cpol;h_cpol_noUkr;h_ndc: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. +o_1p5c;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;Mix4;heatpumps;;;1;;;;1.5;rcp20;9;globallyOptimal;560;functionalForm;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 4300, 2080.GLO.tax.t.CCS.biomass 4300;0.1;;;150;2045;6;;;;;;;;NDC;;;;2;;;;;;;;2025;;h_cpol_noUkr;h_cpol;;o_1p5c: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. +o_lowdem;NGFS;o_1p5c;;gdp_SSP2_lowEn;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;;;;;;GLO 0.00125, CAZ_regi 0.0045, CHA_regi 0.004, EUR_regi 0.0045, IND_regi 0.004, JPN_regi 0.002, USA_regi 0.002;;;;;;;560;functionalForm;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 3800, 2080.GLO.tax.t.CCS.biomass 3800;0.1;;;;;1;;;;;;;;;;;;;;;;;;;;2025;;h_cpol_noUkr;h_cpol;;o_lowdem: Low Demand scenario +o_2c;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.5;;;Mix4;heatpumps;;;1;;;;1.5;rcp26;9;globallyOptimal;1050;functionalForm;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 2300, 2080.GLO.tax.t.CCS.biomass 2300;;;NGFS_v4_20pc;100;2080;3;;;;;;;;NDC;;;;2;;;;;;;;2025;;h_cpol_noUkr;h_cpol;;o_2c: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. +d_delfrag;NGFS;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.5;;;Mix3;heatpumps;;;;GLO 0.00125, CAZ_regi 0.0045, CHA_regi 0.004, EUR_regi 0.0045, IND_regi 0.004, JPN_regi 0.002, USA_regi 0.002;;;1.5;rcp26;9;globallyOptimal;1010;functionalForm;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 2300, 2080.GLO.tax.t.CCS.biomass 2300;;;;100;2080;;;;;;;;;NDC;;;;2;;;;;;;;2035;;h_cpol;h_cpol;;d_delfrag: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. +d_strain;NGFS;d_delfrag;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3;off;;NPi;netZero;regiCarbonPrice;2060.GLO.tax.t.CCS.biomass 2300, 2080.GLO.tax.t.CCS.biomass 2300;;;NGFS_v4_20pc;1;2100;;;;;;;;;;;;;;;;;;;;;2035;;h_cpol;h_cpol;;d_strain: Fragmented world +d_rap;0;h_cpol;;;;;;;;;;;;;;;;;;;;;;;;;;;2050.GLO 0.9;;;Mix4;heatpumps;;GLO.trans 2, GLO.build 2;2;;;;1.5;rcp20;9;globallyOptimal;560;functionalForm;none;;;;;;150;2045;3;;;;;;;;NDC;;;;2;;;;;;;;2025;;h_cpol_noUkr;h_cpol;;d_rap: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. +# ___WITH_DAMAGES___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +h_cpol_KLW_d50;KLW;h_cpol;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;off;/p/projects/rd3mod/climate-assessment-files/parsets/RCP45_50.json;;off;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;;h_cpol;;;h_cpol_KLW_d50: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP4.5. +h_ndc_KLW_d50;KLW;h_ndc;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;off;/p/projects/rd3mod/climate-assessment-files/parsets/RCP45_50.json;;off;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;;h_cpol;h_cpol_KLW_d50;;h_ndc_KLW_d50: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP4.5. +o_1p5c_KLW_d50;KLW;o_1p5c;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;KotzWenzItr;/p/projects/rd3mod/climate-assessment-files/parsets/RCP20_50.json;;on;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;h_cpol;h_cpol_KLW_d50;;o_1p5c_KLW_d50: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kotz and Wenz (2024) are internalized in the optimization using the 50th percentile of RCP2.0. +o_lowdem_KLW_d50;KLW;o_lowdem;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;KotzWenzItr;/p/projects/rd3mod/climate-assessment-files/parsets/RCP20_50.json;;on;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;h_cpol;h_cpol_KLW_d50;;o_lowdem_KLW_d50: Low Demand scenario. Damages from climate change based on Kotz and Wenz (2024) are internalized in the optimization using the 50th percentile of RCP2.0. +o_2c_KLW_d50;KLW;o_2c;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;KotzWenzItr;/p/projects/rd3mod/climate-assessment-files/parsets/RCP26_50.json;;on;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;h_cpol;h_cpol_KLW_d50;;o_2c_KLW_d50: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kotz and Wenz (2024) are internalized in the optimization using the 50th percentile of RCP2.6. +d_delfrag_KLW_d50;KLW;d_delfrag;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;KotzWenzItr;/p/projects/rd3mod/climate-assessment-files/parsets/RCP26_50.json;;on;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;h_cpol_KLW_d50;h_cpol_KLW_d50;;d_delfrag_KLW_d50: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kotz and Wenz (2024) are internalized in the optimization using the 50th percentile of RCP2.6. +d_strain_KLW_d50;KLW;d_strain;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;KotzWenzItr;/p/projects/rd3mod/climate-assessment-files/parsets/RCP45_50.json;;on;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;h_cpol_KLW_d50;h_cpol_KLW_d50;;d_strain_KLW_d50: Fragmented World. Damages from climate change based on Kotz and Wenz (2024) are internalized in the optimization using the 50th percentile of RCP4.5. +d_rap_KLW_d50;0;d_rap;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;KotzWenzItr;/p/projects/rd3mod/climate-assessment-files/parsets/RCP20_50.json;;on;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;h_cpol;h_cpol_KLW_d50;;d_rap_KLW_d50: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kotz and Wenz (2024) are internalized in the optimization using the 50th percentile of RCP2.6. +# ___WITH_DAMAGES_old_NGFSv4___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2-Base_d50;0;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KWLike;0;;;RCP26_50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d50: 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. +SSP2-Base_d95;0;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KWLike;0;;;RCP26_95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d95: 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. +SSP2-Base_d50high;d50high;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KW_SE;1.96;;;RCP26_50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d50: 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. +SSP2-Base_d95high;d95high;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KW_SE;1.96;;;RCP26_95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d95: 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. +h_cpol_d50;d50;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d50: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. +h_cpol_d95;d95;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_95;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d95: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. +h_cpol_d50high;d50high;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d50high: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. +h_cpol_d95high;d95high;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;;RCP26_95;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d95high: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. +h_ndc_d50;d50;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d50;SSP2-Base;h_ndc_d50: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. +h_ndc_d95;d95;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_95;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d95;SSP2-Base;h_ndc_d95: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. +h_ndc_d50high;d50high;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d50high;SSP2-Base;h_ndc_d50high: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. +h_ndc_d95high;d95high;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;;RCP26_95;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d95high;SSP2-Base;h_ndc_d95high: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. +o_1p5c_d50;d50;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d50;;o_1p5c_d50: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +o_1p5c_d95;d95;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d95;;o_1p5c_d95: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +o_1p5c_d50high;d50high;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d50high;;o_1p5c_d50high: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +o_1p5c_d95high;d95high;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d95high;;o_1p5c_d95high: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +o_1p5c_d50_cpricereg;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_d50_cpricereg: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +o_1p5c_d95_cpricereg;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_d95_cpricereg: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +o_1p5c_dni50;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_dni50: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. +o_1p5c_dni95;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_95;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_dni95: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. +o_lowdem_d50;d50;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d50;;o_lowdem_d50 +o_lowdem_d95;d95;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d95;;o_lowdem_d95 +o_lowdem_d50high;d50high;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d50high;;o_lowdem_d50high +o_lowdem_d95high;d95high;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d95high;;o_lowdem_d95high +o_2c_d50;d50;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d50;;o_2c_d50: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +o_2c_d95;d95;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d95;;o_2c_d95: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +o_2c_d50high;d50high;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d50high;;o_2c_d50high: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +o_2c_d95high;d95high;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d95high;;o_2c_d95high: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +o_2c_d50_cpricereg;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_d50_cpricereg: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. The Social Cost of Carbon is regional rather than globally uniform. +o_2c_d95_cpricereg;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_d95_cpricereg: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. The Social Cost of Carbon is regional rather than globally uniform. +o_2c_dni50;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_dni50: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. +o_2c_dni50_fixCprice;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;0;;1050;exogenous;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_dni50_fixCprice: a test run fixing the carbon price to the one from the fully integrated o_2c_d50 scenario +o_2c_fixCprice;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;off;0;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;0;;1050;exogenous;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_fixCprice: a test run fixing the carbon price to the one from the fully integrated o_2c scenario +o_2c_dni95;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_95;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_dni95: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. +d_delfrag_d50;d50;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d50;h_cpol_d50;;d_delfrag_d50: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +d_delfrag_d95;d95;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d95;h_cpol_d95;;d_delfrag_d95: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +d_delfrag_d50high;d50high;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d50high;h_cpol_d50high;;d_delfrag_d50high: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +d_delfrag_d95high;d95high;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d95high;h_cpol_d95high;;d_delfrag_d95high: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +d_strain_d50;d50;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d50;h_cpol_d50;;d_strain_d50: Fragmented World +d_strain_d95;d95;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d95;h_cpol_d95;;d_strain_d95: Fragmented World +d_strain_d50high;d50high;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d50high;h_cpol_d50high;;d_strain_d50high: Fragmented World +d_strain_d95high;d95high;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d95high;h_cpol_d95high;;d_strain_d95high: Fragmented World +d_rap_d50;d50;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d50;;d_rap_d50: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +d_rap_d95;d95;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d95;;d_rap_d95: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +d_rap_d50high;d50high;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d50high;;d_rap_d50high: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +d_rap_d95high;d95high;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d95high;;d_rap_d95high: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +o_cba_d50;d50;h_cpol;;;;;;load;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50;on;;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;;2025;o_2c;h_cpol_noUkr;h_cpol_d50;;o_cba_d50: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +o_cba_d95;d95;h_cpol;;;;;;load;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;;2025;o_2c;h_cpol_noUkr;h_cpol_d95;;o_cba_d95: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. +o_cba_d50high;d50high;h_cpol;;;;;;load;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;;2025;o_2c;h_cpol_noUkr;h_cpol_d50high;;o_cba_d50high: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. +o_cba_d95high;d95high;h_cpol;;;;;;load;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;;2025;o_2c;h_cpol_noUkr;h_cpol_d95high;;o_cba_d95high: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. diff --git a/config/scenario_config_coupled.csv b/config/scenario_config_coupled.csv index 6c984964c..af27e8ef8 100644 --- a/config/scenario_config_coupled.csv +++ b/config/scenario_config_coupled.csv @@ -3,14 +3,17 @@ SDP_MC-NPi;0;;;;SDP-MC|NPI|nocc_hist;y2150;;; SDP_MC-PkBudg650;0;;;;SDP-MC|NDC|nocc_hist;y2030;;; SSP1-NDC;0;;;;SSP1|NDC|nocc_hist;y2150;;; SSP1-NPi;0;;;;SSP1|NPI|nocc_hist;y2150;;; +SSP1-NPi2025;0;;;;SSP1|NPI|nocc_hist;y2150;;; SSP1-PkBudg1050;0;;;;SSP1|NDC|nocc_hist;y2030;;; SSP1-PkBudg650;0;;;;SSP1|NDC|nocc_hist;y2030;;; SSP2-Base;0;;;;SSP2|NPI|nocc_hist;y2150;;; SSP2-NDC;0;;;;SSP2|NDC|nocc_hist;y2150;;; SSP2-NPi;0;;;;SSP2|NPI|nocc_hist;y2150;;; +SSP2-NPi2025;0;;;;SSP2|NPI|nocc_hist;y2150;;; SSP2-PkBudg1050;0;;;;SSP2|NDC|nocc_hist;y2030;;; SSP2-PkBudg650;0;;;;SSP2|NDC|nocc_hist;y2030;;; SSP5-NDC;0;;;;SSP5|NDC|nocc_hist;y2150;;; SSP5-NPi;0;;;;SSP5|NPI|nocc_hist;y2150;;; +SSP5-NPi2025;0;;;;SSP5|NPI|nocc_hist;y2150;;; SSP5-PkBudg1050;0;;;;SSP5|NDC|nocc_hist;y2030;;; SSP5-PkBudg650;0;;;;SSP5|NDC|nocc_hist;y2030;;; diff --git a/core/datainput.gms b/core/datainput.gms index bb207474c..1511b6b32 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -25,8 +25,9 @@ pm_temperatureImpulseResponseCO2(tall,tall) = 0; vm_demFeForEs.L(t,regi,entyFe,esty,teEs) = 0; vm_demFeForEs.L(t,regi,fe2es(entyFe,esty,teEs)) = 0.1; -pm_taxCO2eq_iterationdiff(t,regi) = 0; -pm_taxCO2eq_iterationdiff_tmp(t,regi) = 0; +*** -------- initial declaration of parameters for iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff(t) = 0; +pm_taxCO2eq_anchor_iterationdiff_tmp(t) = 0; *------------------------------------------------------------------------------------ *** calculations based on sets @@ -1557,8 +1558,6 @@ loop(te, ); -*** -------- initial declaration of parameters for iterative target adjustment -o_reached_until2150pricepath(iteration) = 0; *** ---- FE demand trajectories for calibration ------------------------------- *** also used for limiting secondary steel demand in baseline and policy diff --git a/core/declarations.gms b/core/declarations.gms index db4e382f7..0f1c8ce50 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -28,11 +28,9 @@ pm_gdp_gdx(tall,all_regi) "GDP path from gdx, updated p_inv_gdx(tall,all_regi) "macro-investments path from gdx, updated iteratively." pm_taxCO2eq(ttot,all_regi) "CO2 tax path in T$/GtC = $/kgC. To get $/tCO2, multiply with 272 [T$/GtC]" pm_taxCO2eqRegi(tall,all_regi) "additional regional CO2 tax path in T$/GtC = $/kgC. To get $/tCO2, multiply with 272 [T$/GtC]" +pm_taxCO2eq_anchor_iterationdiff(ttot) "help parameter for iterative adjustment of taxes" +pm_taxCO2eq_anchor_iterationdiff_tmp(ttot) "help parameter for iterative adjustment of taxes" pm_taxCO2eqSum(tall,all_regi) "sum of pm_taxCO2eq, pm_taxCO2eqRegi, pm_taxCO2eqSCC in T$/GtC = $/kgC. To get $/tCO2, multiply with 272 [T$/GtC]" -p_taxCO2eq_iteration(iteration,ttot,all_regi) "save CO2eq tax used in iteration" -pm_taxCO2eq_iterationdiff(ttot,all_regi) "help parameter for iterative adjustment of taxes" -pm_taxCO2eq_iterationdiff_tmp(ttot,all_regi) "help parameter for iterative adjustment of taxes" -o_taxCO2eq_iterDiff_Itr(iteration,all_regi) "track p_taxCO2eq_iterationdiff over iterations" pm_taxemiMkt(ttot,all_regi,all_emiMkt) "CO2 or CO2eq region and emission market specific emission tax" pm_taxemiMkt_iteration(iteration,ttot,all_regi,all_emiMkt) "CO2 or CO2eq region and emission market specific emission tax per iteration" pm_emissionsForeign(tall,all_regi,all_enty) "total emissions of other regions (nash relevant)" @@ -51,21 +49,6 @@ pm_esCapCost(tall,all_regi,all_teEs) "Capital energy cost per un pm_cesdata_sigma(ttot,all_in) "elasticities of substitution." p_r(ttot,all_regi) "calculating capital interest rate" -o_diff_to_Budg(iteration) "Difference between actual CO2 budget and target CO2 budget" -o_totCO2emi_peakBudgYr(iteration) "Total CO2 emissions in the peakBudgYr" -o_peakBudgYr_Itr(iteration) "Year in which the CO2 budget is supposed to peak. Is changed in iterative_target_adjust = 9" -o_factorRescale_taxCO2_afterPeakBudgYr(iteration) "Multiplicative factor for rescaling the CO2 price in the year after peakBudgYr - only needed if flip-flopping of peakBudgYr occurs" -o_delay_increase_peakBudgYear(iteration) "Counter that tracks if flip-flopping of peakBudgYr happened. Starts an inner loop to try and overcome this" -o_reached_until2150pricepath(iteration) "Counter that tracks if the inner loop of increasing the CO2 price AFTER peakBudgYr goes beyond the initial trajectory" -p_taxCO2eq_until2150(ttot,all_regi) "CO2 price trajectory continued until 2150 - as if there was no change in trajectory after peakBudgYr. Needed to recalculate CO2 price trajectory after peakBudgYr was shifted right" -o_totCO2emi_allYrs(ttot,iteration) "Global CO2 emissions over time and iterations. Needed to check the procedure to find the peakBudgYr" -o_change_totCO2emi_peakBudgYr "Measure for how much the CO2 emissions change around the peakBudgYr" -p_factorRescale_taxCO2(iteration) "Multiplicative factor for rescaling the CO2 price to reach the target" -p_factorRescale_taxCO2_Funneled(iteration) "Multiplicative factor for rescaling the CO2 price to reach the target - limited by an iteration-dependent funnel" -o_taxCO2eq_Itr_1regi(ttot,iteration) "CO2 taxed in the last region, tracked over iterations for debugging" -o_pkBudgYr_flipflop(iteration) "Counter that tracks if flipfloping of cm_peakBudgYr occured in the last iterations" -o_taxCO2eq_afterPeakShiftLoop_Itr_1regi(ttot, iteration) "CO2 taxed in the last region, after the loop that shifts peakBudgYr, tracked over iterations for debugging" - ***---------------------------------------------------------------------------------------- ***-----------------------------------------------ESM module------------------------------- pm_emiExog(tall,all_regi,all_enty) "exogenous emissions" @@ -126,7 +109,6 @@ $endif.tech_CO2capturerate pm_EN_demand_from_initialcap2(all_regi,all_enty) "PE demand resulting from the initialcap routine. [EJ, Uranium: MT U3O8]" pm_budgetCO2eq(all_regi) "budget for regional energy-emissions in period 1" -p_actualbudgetco2(tall) "actual level of cumulated emissions starting from 2020 [GtCO2]" pm_dataccs(all_regi,char,rlf) "maximum CO2 storage capacity using CCS technology. [GtC]" pm_ccsinjecrate(all_regi) "Regional CCS injection rate factor. 1/a." @@ -649,9 +631,6 @@ sm_endBudgetCO2eq "end time step of emission sm_budgetCO2eqGlob "budget for global energy-emissions in period 1" p_emi_budget1_gdx "budget for global energy-emissions in period 1 from gdx, may overwrite default values" -s_actualbudgetco2 "actual level of 2020-2100 cumulated emissions, including all CO2 for last iteration" -s_actualbudgetco2_last "actual level of 2020-2100 cumulated emissions for previous iteration" /0/ - sm_globalBudget_dev "actual level of global cumulated emissions budget divided by target budget" sm_eps "small number: 1e-9 " /1e-9/ diff --git a/core/postsolve.gms b/core/postsolve.gms index 12a35b130..0cf67cf39 100644 --- a/core/postsolve.gms +++ b/core/postsolve.gms @@ -8,8 +8,7 @@ *-------------------------------calculate regional permit prices----------------------------------- -*** saving CO2 tax used in this iteration -p_taxCO2eq_iteration(iteration,ttot,regi) = pm_taxCO2eq(ttot,regi); +*** saving pm_taxemiMkt used in this iteration pm_taxemiMkt_iteration(iteration,ttot,regi,emiMkt) = pm_taxemiMkt(ttot,regi,emiMkt); if( (cm_emiscen eq 6), @@ -22,480 +21,6 @@ $endif.neg pm_taxCO2eqSum(ttot,regi)$(ttot.val < 2025) = pm_taxCO2eq(ttot,regi); ); -if(cm_iterative_target_adj eq 4, -*JeS* Iteratively update regional CO2 tax trajectories / regional CO2 budget to reach the FF&I budget target (s_actualbudgetco2 runs from 2020-2100, not peak budget) -*KK* for a time step of 5 years, the budget is calculated as 3 * 2020 + ts(2025-2090) + 8 * 2100; -*** 10-pm_ts("2090")/2 and pm_ts("2020")/2 are the time periods that haven't been taken into account in the sum over ttot. -*** 0.5 year of emissions is added for the two boundaries, such that the budget is calculated for 81 years. -s_actualbudgetco2 = sum(ttot$(ttot.val le 2090 AND ttot.val > 2020), (sum(regi, vm_emiTe.l(ttot,regi,"co2") + vm_emiMacSector.l(ttot,regi,"co2cement_process")) * sm_c_2_co2 * pm_ts(ttot))) - + sum(regi, vm_emiTe.l("2100",regi,"co2") + vm_emiMacSector.l("2100",regi,"co2cement_process")) * sm_c_2_co2 * (10 - pm_ts("2090")/2 + 0.5) - + sum(regi, vm_emiTe.l("2020",regi,"co2") + vm_emiMacSector.l("2020",regi,"co2cement_process")) * sm_c_2_co2 * (pm_ts("2020")/2 + 0.5); -display s_actualbudgetco2; - - if (cm_emiscen eq 6, - if(o_modelstat eq 2 AND ord(iteration) 2020), (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_ts(ttot))) - + sum(regi, vm_emiTe.l("2100",regi,"co2") + vm_emiCdr.l("2100",regi,"co2") + vm_emiMac.l("2100",regi,"co2")) * sm_c_2_co2 * (10 - pm_ts("2090")/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); - -display s_actualbudgetco2; - - if (cm_emiscen eq 6, - if(o_modelstat eq 2 AND ord(iteration) 0 AND abs(c_budgetCO2from2020 - s_actualbudgetco2) ge 0.5, !!only for optimal iterations, and not after the last one, and only if budget still possitive, and only if target not yet reached - sm_globalBudget_dev = s_actualbudgetco2 / c_budgetCO2from2020; -*** make sure that iteration converges: -*** use multiplicative for budgets higher than 1200 Gt; for lower budgets, use multiplicative adjustment only for first 3 iterations, - if(ord(iteration) lt 3 or c_budgetCO2from2020 > 1200, - !! 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) = pm_taxCO2eq(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 - 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) = 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); - pm_taxCO2eq_iterationdiff(t,regi) = pm_taxCO2eq_iterationdiff_tmp(t,regi); - ); - o_taxCO2eq_iterDiff_Itr(iteration,regi) = pm_taxCO2eq_iterationdiff("2030",regi); - else - if(s_actualbudgetco2 > 0 or abs(c_budgetCO2from2020 - s_actualbudgetco2) < 2, !! if model was not optimal, or if budget already reached, keep tax constant - pm_taxCO2eq(t,regi) = pm_taxCO2eq(t,regi); - o_taxCO2eq_iterDiff_Itr(iteration,regi) = 0; - else -*** if budget has turned negative, reduce CO2 price by 20% - pm_taxCO2eq_iterationdiff(t,regi) = -0.2*pm_taxCO2eq(t,regi); - pm_taxCO2eq(t,regi) = pm_taxCO2eq(t,regi) + pm_taxCO2eq_iterationdiff(t,regi); - o_taxCO2eq_iterDiff_Itr(iteration,regi) = pm_taxCO2eq_iterationdiff("2030",regi); - ); - ); - display o_taxCO2eq_iterDiff_Itr; - - pm_taxCO2eq(t,regi)$(t.val gt 2110) = pm_taxCO2eq("2110",regi); !! to prevent huge taxes after 2110 and the resulting convergence problems, set taxes after 2110 equal to 2110 value - display pm_taxCO2eq; - ); -); - -if(cm_iterative_target_adj eq 6, -*JeS* Iteratively update regional CO2 tax trajectories / regional CO2 budget to reach the target for global peak budget - -*KK* p_actualbudgetco2 for ttot > 2020. It includes emissions from 2020 to ttot (including ttot). -*** (ttot.val - (ttot - 1).val)/2 and pm_ts("2020")/2 are the time periods that haven't been taken into account in the sum over ttot2. -*** 0.5 year of emissions is added for the two boundaries, such that the budget includes emissions in ttot. -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,p_actualbudgetco2(t)); -display s_actualbudgetco2; - - if (cm_emiscen eq 6, - if(o_modelstat eq 2 AND ord(iteration) 0 AND abs(c_budgetCO2from2020 - s_actualbudgetco2) ge 0.5, !!only for optimal iterations, and not after the last one, and only if budget still possitive, and only if target not yet reached -*** make sure that iteration converges: -*** use multiplicative for budgets higher than 1200 Gt; for lower budgets, use multiplicative adjustment only for first 3 iterations, - if(ord(iteration) lt 3 or c_budgetCO2from2020 > 1200, - !! 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) = pm_taxCO2eq(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 - 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) = 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); - pm_taxCO2eq_iterationdiff(t,regi) = pm_taxCO2eq_iterationdiff_tmp(t,regi); - ); - o_taxCO2eq_iterDiff_Itr(iteration,regi) = pm_taxCO2eq_iterationdiff("2030",regi); - else - if(s_actualbudgetco2 > 0 or abs(c_budgetCO2from2020 - s_actualbudgetco2) < 2, !! if model was not optimal, or if budget already reached, keep tax constant - pm_taxCO2eq(t,regi) = pm_taxCO2eq(t,regi); - o_taxCO2eq_iterDiff_Itr(iteration,regi) = 0; - else -*** if budget has turned negative, reduce CO2 price by 20% - pm_taxCO2eq_iterationdiff(t,regi) = -0.2*pm_taxCO2eq(t,regi); - pm_taxCO2eq(t,regi) = pm_taxCO2eq(t,regi) + pm_taxCO2eq_iterationdiff(t,regi); - o_taxCO2eq_iterDiff_Itr(iteration,regi) = pm_taxCO2eq_iterationdiff("2030",regi); - ); - ); - display o_taxCO2eq_iterDiff_Itr; - - pm_taxCO2eq(t,regi)$(t.val gt 2110) = pm_taxCO2eq("2110",regi); !! to prevent huge taxes after 2110 and the resulting convergence problems, set taxes after 2110 equal to 2110 value - display pm_taxCO2eq; - ); -); - -*** --------------------------------------------------------------------------------------------------------------- -*** ENGAGE peakBudg formulation that works with several CO2 price path realizations of module 45 --------------------- -*** it results in a peak budget with zero net CO2 emissions afterwards -*** --------------------------------------------------------------------------------------------------------------- -if(cm_iterative_target_adj eq 7, -*JeS/CB* Iteratively update regional CO2 tax trajectories / regional CO2 budget to reach the target for global peak budget, but make sure CO2 emissions afterward are close to zero on the global level - -*** Save the original functional form of the CO2 price trajectory so values for all times can be accessed even if the peakBudgYr is shifted. - if( iteration.val eq 1, - p_taxCO2eq_until2150(t,regi) = pm_taxCO2eq(t,regi); - ); - -*KK* p_actualbudgetco2 for ttot > 2020. It includes emissions from 2020 to ttot (including ttot). -*** (ttot.val - (ttot - 1).val)/2 and pm_ts("2020")/2 are the time periods that haven't been taken into account in the sum over ttot2. -*** 0.5 year of emissions is added for the two boundaries, such that the budget includes emissions in ttot. -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)); - - - o_peakBudgYr_Itr(iteration) = cm_peakBudgYr; - -display s_actualbudgetco2; -display p_actualbudgetco2; - - if (cm_emiscen eq 9, - if(o_modelstat eq 2 AND ord(iteration) 0 AND abs(c_budgetCO2from2020 - s_actualbudgetco2) ge 0.5, !!only for optimal iterations, and not after the last one, and only if budget still possitive, and only if target not yet reached - display pm_taxCO2eq; -*** make sure that iteration converges: -*** use multiplicative for budgets higher than 1600 Gt; for lower budgets, use multiplicative adjustment only for first 3 iterations, - 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) ; - 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 - 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) + - 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 - ); - o_taxCO2eq_iterDiff_Itr(iteration,regi) = pm_taxCO2eq_iterationdiff("2030",regi); - display o_taxCO2eq_iterDiff_Itr; - else - if(s_actualbudgetco2 > 0 or abs(c_budgetCO2from2020 - s_actualbudgetco2) < 2, !! if model was not optimal, or if budget already reached, keep tax constant - pm_taxCO2eq(t,regi) = pm_taxCO2eq(t,regi); - else -*** if budget has turned negative, reduce CO2 price by 20% - pm_taxCO2eq(t,regi) = 0.8*pm_taxCO2eq(t,regi); - 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); - -*** check if cm_peakBudgYr is correct: if global emissions already negative, move cm_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_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. - - display cm_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( 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 - 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 - 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 - display "shift peakBudgYr right"; - 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(t,regi); - ); - ); - - else !! don't do anything if the peakBudgYr is already at the corner values (2040, 2100) or if the emissions in the peakBudgYr are close to 0 - o_peakBudgYr_Itr(iteration+1) = o_peakBudgYr_Itr(iteration) - ); - ); - cm_peakBudgYr = o_peakBudgYr_Itr(iteration+1); - display cm_peakBudgYr; - ); - - - - - - pm_taxCO2eq(t,regi)$(t.val gt 2110) = pm_taxCO2eq("2110",regi); !! to prevent huge taxes after 2110 and the resulting convergence problems, set taxes after 2110 equal to 2110 value - display pm_taxCO2eq; - ); -); - - -*** --------------------------------------------------------------------------------------------------------------- -*** new peakBudg formulation that works with several CO2 price path realizations of module 45 --------------------- -*** it results in a peak budget with linear increase by 2$/yr afterwards -*** --------------------------------------------------------------------------------------------------------------- - -if (cm_iterative_target_adj eq 9, -*' Update Iteratively update regional CO2 tax trajectories / regional CO2 budget to reach the target for global peak budget, with a linear increase afterwards given by `cm_taxCO2inc_after_peakBudgYr`. The -*' peak budget year is determined automatically (within the time window 2040--2100) - -*' `p_actualbudgetco2(ttot)` includes emissions from 2020 to `ttot` (inclusive). - p_actualbudgetco2(ttot)$( 2020 lt ttot.val ) - = sum((regi,ttot2)$( 2020 le ttot2.val AND ttot2.val le ttot.val ), - ( vm_emiTe.l(ttot2,regi,"co2") - + vm_emiCdr.l(ttot2,regi,"co2") - + vm_emiMac.l(ttot2,regi,"co2") - ) - * ( !! second half of the 2020 period: 2020-22 - (pm_ts(ttot2) / 2 + 0.5)$( ttot2.val eq 2020 ) - !! entire middle periods - + (pm_ts(ttot2))$( 2020 lt ttot2.val AND ttot2.val lt ttot.val ) - !! first half of the final period, until the end of the middle year - + ((pm_ttot_val(ttot) - pm_ttot_val(ttot-1)) / 2 + 0.5)$( - ttot2.val eq ttot.val ) - ) - ) - * sm_c_2_co2; - - s_actualbudgetco2 = smax(t$( t.val le cm_peakBudgYr ), p_actualbudgetco2(t)); - - o_peakBudgYr_Itr(iteration) = cm_peakBudgYr; - - display s_actualbudgetco2, p_actualbudgetco2; - - if(cm_emiscen eq 9, - -*** --------A: calculate the new CO2 price path, the CO2 tax rescale factor---------------------------------------------------------- - - if(o_modelstat eq 2 AND ord(iteration) < cm_iteration_max AND s_actualbudgetco2 > 0 AND abs(c_budgetCO2from2020 - s_actualbudgetco2) ge 2, !!only for optimal iterations, and not after the last one, and only if budget still possitive, and only if target not yet reached - display pm_taxCO2eq; - - if( ( ( p_actualbudgetco2("2100") > 1.1 * s_actualbudgetco2 ) AND ( abs(c_budgetCO2from2020 - s_actualbudgetco2) < 50 ) AND (iteration.val < 12) ), - 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 -*** 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; - ); - -*** --------A1: for that, calculate the CO2 tax rescale factor--- - - if(iteration.val lt 10, - p_factorRescale_taxCO2(iteration) = max(0.1, (s_actualbudgetco2/c_budgetCO2from2020) ) ** 3; - else - p_factorRescale_taxCO2(iteration) = max(0.1, (s_actualbudgetco2/c_budgetCO2from2020) ) ** 2; - ); - p_factorRescale_taxCO2_Funneled(iteration) = - max(min( 2 * EXP( -0.15 * iteration.val ) + 1.01 ,p_factorRescale_taxCO2(iteration)), - 1/ ( 2 * EXP( -0.15 * iteration.val ) + 1.01) - ); - - 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 - ); - - display p_factorRescale_taxCO2, p_factorRescale_taxCO2_Funneled; - - o_taxCO2eq_iterDiff_Itr(iteration,regi) = pm_taxCO2eq_iterationdiff("2030",regi); - loop(regi, !! not a nice solution to having only the price of one regi display (for better visibility), but this way it overwrites again and again until the value from the last regi remain - o_taxCO2eq_Itr_1regi(t,iteration+1) = pm_taxCO2eq(t,regi); - ); - - display o_taxCO2eq_iterDiff_Itr, o_taxCO2eq_Itr_1regi; - - - else !! if(o_modelstat eq 2 AND ord(iteration) 0 AND abs(c_budgetCO2from2020 )) - if(s_actualbudgetco2 > 0 or abs(c_budgetCO2from2020 - s_actualbudgetco2) < 2, !! if model was not optimal, or if budget already reached, keep tax constant - p_factorRescale_taxCO2(iteration) = 1; - p_factorRescale_taxCO2_Funneled(iteration) = 1; - p_taxCO2eq_until2150(t,regi) = p_taxCO2eq_until2150(t,regi); !! nothing changes - else -*** if budget has turned negative, reduce CO2 price by 20% - p_factorRescale_taxCO2(iteration) = 0.8; - p_factorRescale_taxCO2_Funneled(iteration) = p_factorRescale_taxCO2(iteration); - - p_taxCO2eq_until2150(t,regi) = p_factorRescale_taxCO2(iteration) * p_taxCO2eq_until2150(t,regi); - pm_taxCO2eq(t,regi) = p_factorRescale_taxCO2(iteration) * pm_taxCO2eq(t,regi); - ); - ); !! if(o_modelstat eq 2 AND ord(iteration) 0 AND abs(c_budgetCO2from2020 - s_actualbudgetco2) ge 2, - - display pm_taxCO2eq, p_taxCO2eq_until2150; - - -*** -------B: checking the peak timing, if cm_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_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. - - display cm_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: - 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"; - - !! check if the target year was just shifted back left after being shifted right before - if ( (iteration.val > 2) AND ( o_peakBudgYr_Itr(iteration - 1) > o_peakBudgYr_Itr(iteration) ) AND ( o_peakBudgYr_Itr(iteration - 2) = o_peakBudgYr_Itr(iteration) ), - o_pkBudgYr_flipflop(iteration) = 1; - 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 - 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 - - 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 - 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: - o_delay_increase_peakBudgYear(iteration) = 1; - elseif ( o_delay_increase_peakBudgYear(iteration) eq 1 ), - display "still in separate loop trying to resolve flip-flop behavior"; - o_peakBudgYr_Itr(iteration+1) = o_peakBudgYr_Itr(iteration); !! keep current peakBudgYr, - else - display "shift peakBudgYr right"; - 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 - ); - ); - - else !! don't do anything if the peakBudgYr is already at the corner values (2040, 2100) or if the emissions in the peakBudgYr are close enough to 0 (within the range of +/- o_change_totCO2emi_peakBudgYr) - o_peakBudgYr_Itr(iteration+1) = o_peakBudgYr_Itr(iteration) - ); - ); - cm_peakBudgYr = o_peakBudgYr_Itr(iteration+1); - display cm_peakBudgYr; - ); - - pm_taxCO2eq(t,regi)$(t.val le cm_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 - 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(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. - - !! in case the normal linear extension still is not enough to get emissions to 0 after the peakBudgYr, shift peakBudgYr right again: - if( ( o_reached_until2150pricepath(iteration-1) eq 1 ) AND ( o_totCO2emi_peakBudgYr(iteration) > (0.1 + o_change_totCO2emi_peakBudgYr(iteration)) ), - display "price in following year reached original path in previous iteration and is still not enough -> shift peakBudgYr to right"; - 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 - pm_taxCO2eq(t2,regi) = p_taxCO2eq_until2150(t2,regi) ; !! set CO2 price in t2 to value in the "continuous path" - - 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"; - 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); - 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 - o_peakBudgYr_Itr(iteration+1) = o_peakBudgYr_Itr(iteration); - pm_taxCO2eq(t2,regi) = max(pm_taxCO2eq(ttot,regi), !! at least as high as the price in the peakBudgYr - pm_taxCO2eq(t2,regi) * (o_factorRescale_taxCO2_afterPeakBudgYr(iteration) / p_factorRescale_taxCO2_Funneled(iteration) ) !! the full path was already rescaled by p_factorRescale_taxCO2_Funneled, so adjust the second rescaling - ); - 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 - 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 - - ); !! 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 - ); !! if o_delay_increase_peakBudgYear(iteration) = 1, !! if there was a flip-floping in the previous iterations, try to solve this - - - loop(regi, !! not a nice solution to having only the price of one regi display (for better visibility), but this way it overwrites again and again until the value from the last regi remain - o_taxCO2eq_afterPeakShiftLoop_Itr_1regi(t,iteration+1) = pm_taxCO2eq(t,regi); - ); - - display o_delay_increase_peakBudgYear, o_reached_until2150pricepath, pm_taxCO2eq, o_peakBudgYr_Itr, o_taxCO2eq_afterPeakShiftLoop_Itr_1regi, o_pkBudgYr_flipflop, cm_peakBudgYr; - ); !! if cm_emiscen eq 9, -); !! if cm_iterative_target_adj eq 9, - -***------ end of "cm_iterative_target_adj" variants----------------------------------------- - - -*** for having it available in next iteration, too: -s_actualbudgetco2_last = s_actualbudgetco2; - ***----------------------------------------------- *RP* calculate shares of SE used for different FEs ***----------------------------------------------- diff --git a/core/preloop.gms b/core/preloop.gms index e50a39f82..6491c2992 100644 --- a/core/preloop.gms +++ b/core/preloop.gms @@ -75,19 +75,6 @@ pm_vintage_in(regi,"1",te) = pm_vintage_in(regi,"1",te) * max((pm_histfegrowth(r pm_vintage_in(regi,"6",te) = pm_vintage_in(regi,"6",te) * max(((pm_histfegrowth(regi,entyFe)- 0.005 + 1/fm_dataglob("lifetime",te))/(1/fm_dataglob("lifetime",te)) + 1)* 0.75, 0.2); ); -*RP -*** First adjustment of CO2 price path for peakBudget runs (set by cm_iterative_target_adj eq 9) -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 - ); -); - -display p_taxCO2eq_until2150, pm_taxCO2eq; - *** The N2O emissions generated during biomass production in agriculture (in MAgPIE) *** are represented in REMIND by applying the n2obio emission factor (zero in coupled runs) diff --git a/main.gms b/main.gms index 954e3d2b0..c41843d7f 100755 --- a/main.gms +++ b/main.gms @@ -268,7 +268,7 @@ $setGlobal climate off !! def = off *'--------------------- 16_downscaleTemperature -------------------------- *' *' * (off) -*' * (CMIP5): downscale GMT to regional temperature based on CMIP5 data (between iterations, no runtime impact). [Requires climate = off, cm_rcp_scen = none, iterative_target_adj = 9] curved convergence of CO2 prices between regions until cm_CO2priceRegConvEndYr; developed countries have linear path through (cm_year_co2_tax_hist, cm_co2_tax_hist) and (cm_startyear, cm_co2_tax_startyear); +*' * (CMIP5): downscale GMT to regional temperature based on CMIP5 data (between iterations, no runtime impact). [Requires climate = off, cm_rcp_scen = none, iterative_target_adj = 9] curved convergence of CO2 prices between regions until cm_taxCO2_regiDiff_endYr; developed countries have linear path through (cm_taxCO2_historicalYr, cm_taxCO2_historical) and (cm_startyear, cm_taxCO2_startyear); $setGlobal downscaleTemperature off !! def = off *'--------------------- 20_growth ------------------------------------------ *' @@ -371,26 +371,30 @@ $setglobal emicapregi none !! def = none *' *' This module defines the carbon price pm_taxCO2eq, with behaviour across regions governed by similar principles (e.g. global targets, or all following NDC or NPi policies). *' -*' * (diffExp2Lin) and (diffLin2Lin): standard carbonprice realizations for ambitious climate policy scenarios [REMIND default for peak budget runs: diffLin2Lin in combination with iterative_target_adj = 9], -*' * three main design choices: -*' * [diff]: level of regional carbonprice differentiation in 2030 determined by cm_co2_tax_spread (default = 10); quadratic phase-in to reach globally uniform carbonprices in cm_CO2priceRegConvEndYr -*' * [Exp or Lin]: functional form of carbonprice path for developed regions: -*' * [Exp]: exponential increase with rate given by cm_co2_tax_growth, (initial) value in cm_startyear is given by cm_co2_tax_startyear -*' * [Lin]: linear increase starting at historical level given by cm_co2_tax_hist in year cm_year_co2_tax_hist, (initial) value in cm_startyear set by cm_co2_tax_startyear -*' * [2Lin]: post-peak behaviour depending on cm_iterative_target_adj -*' * [9]: after the (endogenously adjusted) peak year, carbonprice path increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant) -*' * [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] +*' * Carbon price trajectory follows a prescribed functional form (linear/exponential) - either until peak year or until end-of-century - +*' * and can be endogenously adjusted to meet CO2 budget targets - either peak or end-of-century - that are formulated in terms of total cumulated CO2 emissions from 2020 (cm_budgetCO2from2020). +*' * Flexible choices for regional carbon price differentiation. +*' * Four main design choices: +*' * [Global anchor trajectory]: The realization uses a global anchor trajectory based on which the regional carbon price trajectories are defined. +*' * The functional form (linear/exponential) of the global anchor trajectory is chosen via cm_taxCO2_functionalForm [default = linear]. +*' * The (initial) carbon price in cm_startyear is chosen via cm_taxCO2_startyear. This value is endogenously adjusted to meet CO2 budget targets if cm_iterative_target_adj is set to 5, 7, or 9. +*' * (linear): The linear curve is determined by the two points (cm_taxCO2_historicalYr, cm_taxCO2_historical) and (cm_startyear, cm_taxCO2_startyear). +*' * By default, cm_taxCO2_historicalYr is the last timestep before cm_startyear, and cm_taxCO2_historical is the carbon price in that timestep in the reference run (path_gdx_ref) - computed as the maximum of pm_taxCO2eq over all regions. +*' * (exponential): The exponential curve is determined by exponential growth rate (cm_taxCO2_expGrowth). +*' * [Post-peak behaviour]: The global anchor trajectory can be adjusted after reaching the peak of global CO2 emissions in cm_peakBudgYr. See cm_iterative_target_adj and 45_carbonprice/functionalForm/realization.gms for details. +*' * [Regional differentiation]: Regional carbon price differentiation relative to global anchor trajectory is chosen via cm_taxCO2_regiDiff [default = initialSpread10]. +*' * [Interpolation from path_gdx_ref]: To smoothen a potential jump of carbon prices in cm_startyear, an interpolation between (a) the carbon prices before cm_startyear procided by path_gdx_ref and (b) the carbon prices from cm_startyear onward defined by parts I-III can be chosen via cm_taxCO2_interpolation [default = off]. +*' * In addition, the carbon prices provided by path_gdx_ref can be used as a lower bound based on the switch cm_taxCO2_lowerBound_path_gdx_ref [def = on]. *' * (expoLinear): 4.5% exponential increase until cm_expoLinear_yearStart, transitioning into linear increase thereafter *' * (exogenous): carbon price is specified using an external input file or using the switch cm_regiExoPrice. Requires cm_emiscen = 9 and cm_iterative_target_adj = 0 -*' * (temperatureNotToExceed): [test and verify before using it!] Find the optimal carbon carbon tax (set cm_emiscen = 1, iterative_target_adj = 9] curved convergence of CO2 prices between regions until cm_CO2priceRegConvEndYr; developed countries have linear path through (cm_year_co2_tax_hist, cm_co2_tax_hist) and (cm_startyear, cm_co2_tax_startyear); +*' * (temperatureNotToExceed): [test and verify before using it!] Find the optimal carbon carbon tax (set cm_emiscen = 1, iterative_target_adj = 9] curved convergence of CO2 prices between regions until cm_taxCO2_regiDiff_endYr; developed countries have linear path through (cm_taxCO2_historicalYr, cm_taxCO2_historical) and (cm_startyear, cm_taxCO2_startyear); *' * (NDC): implements a carbon price trajectory consistent with the NDC targets (up to 2030) and a trajectory of comparable ambition post 2030 (1.25%/yr price increase and regional convergence of carbon price). Choose version using cm_NDC_version "2023_cond", "2023_uncond", or replace 2023 by 2022, 2021 or 2018 to get all NDC published until end of these years. *' * (NPi): National Policies Implemented, extrapolation of historical (until 2020) carbon prices *' * (none): no tax policy (combined with all emiscens except emiscen = 9) -*** (exponential) is superseded by (diffExp2Lin): For a globally uniform, exponentially increasing carbonprice path until end of century [in combination with cm_iterative_target_adj = 0 or 5], set cm_co2_tax_spread = 1, set cm_peakBudgYr = 2110, and choose the initial carbonprice in cm_startyear via cm_co2_tax_startyear. -*** (linear) is superseded by (diffLin2Lin): For a globally uniform, linearly increasing carbonprice path until end of century [in combination with cm_iterative_target_adj = 0 or 5], set cm_co2_tax_spread = 1, set cm_peakBudgYr = 2110, and choose the initial carbonprice in cm_startyear via cm_co2_tax_startyear. [Adjust historical reference point (cm_year_co2_tax_hist, cm_co2_tax_hist) if needed.] +*** (exponential) is superseded by (functionalForm): For a globally uniform, exponentially increasing carbonprice path until end of century [in combination with cm_iterative_target_adj = 0 or 5], set cm_taxCO2_functionalForm = exponential, cm_taxCO2_regiDiff = none, cm_taxCO2_interpolation = off, cm_taxCO2_lowerBound_path_gdx_ref = off, cm_peakBudgYr = 2110, and choose the initial carbonprice in cm_startyear via cm_taxCO2_startyear. +*** (linear) is superseded by (functionalForm): For a globally uniform, linearly increasing carbonprice path until end of century [in combination with cm_iterative_target_adj = 0 or 5], set cm_taxCO2_functionalForm = linear, cm_taxCO2_regiDiff = none, cm_taxCO2_interpolation = off, cm_taxCO2_lowerBound_path_gdx_ref = off, cm_peakBudgYr = 2110, and choose the initial carbonprice in cm_startyear via cm_taxCO2_startyear. [Adjust historical reference point (cm_taxCO2_historicalYr, cm_taxCO2_historical) if needed.] $setglobal carbonprice none !! def = none *'--------------------- 46_carbonpriceRegi --------------------------------- @@ -507,23 +511,42 @@ parameter *' * (1): BAU *' * (4): emission time path *' * (6): budget -*' * (9): tax scenario (requires running module 21_tax "on"), tax level controlled by module 45_carbonprice and cm_co2_tax_startyear, other GHG etc. controlled by cm_rcp_scen +*' * (9): tax scenario (requires running module 21_tax "on"), tax level controlled by module 45_carbonprice and cm_taxCO2_startyear, other GHG etc. controlled by cm_rcp_scen *' * (10): used for cost-benefit analysis *' *JeS* WARNING: data for cm_emiscen 4 only exists for multigas_scen 2 bau scenarios and for multigas_scen 1 -*' 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" ; - cm_co2_tax_startyear = -1; !! def = -1 !! regexp = -1|is.nonnegative + cm_taxCO2_startyear = -1; !! def = -1 !! regexp = -1|is.nonnegative *' * (-1): default setting equivalent to no carbon tax -*' * (any number >= 0): co2 tax in start year [if cm_iterative_target_adj eq 0]; -*' * initialization of co2 tax in start year [if cm_iterative_target_adj ne 0] -*' +*' * (any number >= 0): CO2 tax in start year [if cm_iterative_target_adj eq 0]; +*' * 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" ; - 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 + cm_budgetCO2from2020 "CO2 budget for all economic sectors starting from 2020 (GtCO2). It can be either peak budget, but can also be an end-of-century budget" +; + cm_budgetCO2from2020 = 1150; !! def = 1150 +*' budgets from AR6 for 2020-2100 (including 2020), for 1.5 C: 500 Gt CO2 peak budget (400 Gt CO2 end of century), for 2 C: 1150 Gt CO2 +parameter + cm_peakBudgYr "date of net-zero CO2 emissions for peak budget runs without overshoot" +; + cm_peakBudgYr = 2050; !! def = 2050 +*' 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" +; + cm_taxCO2_IncAfterPeakBudgYr = 0; !! def = 0 . For weak targets (higher than 1100 Peak Budget), this value might need to increased to prevent continually increasing temperatures +*' +parameter + cm_expoLinear_yearStart "time at which carbon price increases linearly instead of exponentially" +; + cm_expoLinear_yearStart = 2050; !! def = 2050 +*' parameter c_macscen "scenario switch on whether or not to use MAC (Marginal Abatement Cost) for certain sectors not related to direct combustion of fossil fuel, e.g. fugitive emissions from old mines, forestry, agriculture and cement" ; @@ -825,15 +848,13 @@ parameter parameter cm_iterative_target_adj "settings on iterative adjustment for CO2 tax based on in-iteration emission or forcing level. Allow iteratively generated endogenous global CO2 tax under peak budget constraint or end-of-century budget constraint." ; - cm_iterative_target_adj = 0; !! def = 0 !! regexp = 0|2|3|4|5|6|7|9 + cm_iterative_target_adj = 0; !! def = 0 !! regexp = 0|2|3|5|7|9 *' * (0): no iterative adjustment of CO2 tax (terminology: CO2 price and CO2 tax in REMIND is used interchangeably) *' * (2): iterative adjustment of CO2 tax or cumulative emission based on climate forcing calculated by climate model magicc, for runs with budget or CO2 tax constraints. See ./modules/45_carbonprice/NDC/postsolve.gms for direct algorithm *' * (3): [requires 45_carbonprice = NDC and emiscen = 9] iterative adjustment of CO2 tax based on 2025 or 2030 regionally differentiated emissions, for runs with emission budget or CO2 tax constraints. See ./modules/45_carbonprice/NDC/postsolve.gms for direct algorithm -*' * (4): iterative adjustment of CO2 tax based on CO2 FF&I cumulative emission budget (i.e. without landuse emissions) (2020-2100), for runs with emission budget or CO2 tax constraints. See core/postsolve.gms for direct algorithms for runs with budget or CO2 tax constraints -*' * (5): iterative adjustment of CO2 tax based on economy-wide CO2 cumulative emission budget(2020-2100), for runs with emission budget or CO2 tax constraints. See core/postsolve.gms for direct algorithms -*' * (6): iterative adjustment of CO2 tax based on economy-wide CO2 cumulative emission peak budget, for runs with emission budget or CO2 tax constraints. See core/postsolve.gms for direct algorithms -*' * (7): iterative adjustment of CO2 tax based on economy-wide CO2 cumulative emission peak budget, for runs with emission budget or CO2 tax constraints. Features: results in a peak budget with zero net CO2 emissions after peak budget is reached. See core/postsolve.gms for direct algorithms -*' * (9): [require the right settings in 45_carbonprice] iterative adjustment of CO2 tax based on economy-wide CO2 cumulative emission peak budget, for runs with emission budget or CO2 tax constraints. Features: 1) after the year when budget peaks, CO2 tax has an annual increase by cm_taxCO2inc_after_peakBudgYr, 2) automatically shifts cm_peakBudgYr to find the correct year of budget peaking for a given budget. For REMIND version v2.1 or above. +*' * (5): [requires 45_carbonprice = functionalForm and emiscen = 9] iterative adjustment of CO2 tax based on economy-wide CO2 cumulative emission budget(2020-2100), for runs with emission budget or CO2 tax constraints. [see 45_carbonprice/functionalForm/postsolve.gms for direct algorithm] +*' * (7): [requires 45_carbonprice = functionalForm and emiscen = 9] iterative adjustment of CO2 tax based on economy-wide CO2 cumulative emission peak budget, for runs with emission budget or CO2 tax constraints. Features: results in a peak budget with zero net CO2 emissions after peak budget is reached. See core/postsolve.gms for direct algorithms [see 45_carbonprice/functionalForm/postsolve.gms for direct algorithm] +*' * (9): [requires 45_carbonprice = functionalForm and emiscen = 9] iterative adjustment of CO2 tax based on economy-wide CO2 cumulative emission peak budget, for runs with emission budget or CO2 tax constraints. Features: 1) after the year when budget peaks, CO2 tax has an annual increase by cm_taxCO2_IncAfterPeakBudgYr, 2) automatically shifts cm_peakBudgYr to find the correct year of budget peaking for a given budget. [see 45_carbonprice/functionalForm/postsolve.gms for direct algorithm] *' parameter cm_NDC_divergentScenario "choose scenario about convergence of CO2eq prices [45_carbonprice = NDC]" @@ -915,22 +936,7 @@ parameter cm_33_EW_shortTermLimit "Limit on 2030 potential for enhanced weathering, defined as % of land on which EW is applied. Default 0.5% of land" ; cm_33_EW_shortTermLimit = 0.005; !! def = 0.5% !! regexp = is.nonnegative - -parameter - cm_expoLinear_yearStart "time at which carbon price increases linearly instead of exponentially" -; - cm_expoLinear_yearStart = 2050; !! def = 2050 -*' -parameter - c_budgetCO2from2020FFI "carbon budget for CO2 emissions starting from 2020 from fossil fuels & industry (FFI), i.e. without land-use (in GtCO2). It can be either peak budget, but can also be an end-of-century budget" -; - c_budgetCO2from2020FFI = 700; !! def = 700 *' -parameter - c_budgetCO2from2020 "CO2 budget for all economic sectors starting from 2020 (GtCO2). It can be either peak budget, but can also be an end-of-century budget" -; - c_budgetCO2from2020 = 1150; !! def = 1150 -*' budgets from AR6 for 2020-2100 (including 2020), for 1.5 C: 500 Gt CO2 peak budget (400 Gt CO2 end of century), for 2 C: 1150 Gt CO2 parameter cm_postTargetIncrease "carbon price increase per year after regipol emission target is reached (euro per tCO2)" ; @@ -1018,31 +1024,6 @@ parameter ; cm_H2InBuildOnlyAfter = 2150; !! def = 2150 (rule out H2 in buildings) *' For all years until the given year, FE demand for H2 in buildings is set to zero -parameter - cm_peakBudgYr "date of net-zero CO2 emissions for peak budget runs without overshoot" -; - cm_peakBudgYr = 2050; !! def = 2050 -*' time of net-zero CO2 emissions (peak budget) -*' endogenous adjustment by algorithms in core/postsolve.gms requires (emiscen = 9) and (cm_iterative_target_adj = 7 or 9) -parameter - cm_taxCO2inc_after_peakBudgYr "annual increase of CO2 tax 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 -*' -parameter - cm_CO2priceRegConvEndYr "Year at which regional CO2 taxes converge in module 45 for realizations with differentiated carbon prices" -; - cm_CO2priceRegConvEndYr = 2050; !! def = 2050 -*' -parameter - cm_co2_tax_spread "spread of carbon prices in 2030 given as a factor" -; - cm_co2_tax_spread = 10; !! def = 10 !! regexp = 1|10|20 -*' Initial spread of carbon prices (in 2030) between the regions with highest respectively lowest GDP per capita (PPP) -*' * (1 - uniform) Uniform carbon pricing, i.e. no differentiation -*' * (10 - medium) Spread of carbon prices in 2025 is equal to 10 -*' * (20 - strong) Spread of carbon prices in 2025 is equal to 20 - parameter c_teNoLearngConvEndYr "Year at which regional costs of non-learning technologies converge" ; @@ -1693,14 +1674,38 @@ $setGlobal cm_CESMkup_ind_data "" !! def = "" $setGlobal cm_fxIndUe off !! def = off !! regexp = off|on $setGlobal cm_fxIndUeReg "" !! def = "" -*' * cm_co2_tax_hist "switch for setting historical level of CO2 tax (in $ per t CO2eq) that is used as starting point in diffLin2Lin of 45_carbonprice" -*' * (gdx_ref): level of CO2 tax (defined as maximum of pm_taxCO2eq over all regions) from path_gdx_ref in cm_year_co2_tax_hist -*' * (any number >= 0): level of co2 tax in cm_co2_tax_hist_year -$setglobal cm_co2_tax_hist gdx_ref !! def = "gdx_ref" !! regexp = gdx_ref|is.nonnegative -*' * cm_year_co2_tax_hist "switch for setting the year of cm_co2_tax_hist" -*' * (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" +*** (linear): The linear curve is determined by the two points (cm_taxCO2_historicalYr, cm_taxCO2_historical) and (cm_startyear, cm_taxCO2_startyear). +*** (exponential): The exponential curve is determined by the point (cm_startyear, cm_taxCO2_startyear) and the exponential growth rate (cm_taxCO2_expGrowth). +$setglobal cm_taxCO2_functionalForm linear !! def = "linear" !! regexp = linear|exponential +*** cm_taxCO2_historical "switch for setting historical level of CO2 tax (in $ per t CO2eq) that is used if functional form is linear" +*** (gdx_ref): level of CO2 tax (defined as maximum of pm_taxCO2eq over all regions) from path_gdx_ref in cm_taxCO2_historicalYr +*** (any number >= 0): level of co2 tax in cm_taxCO2_historicalYr +$setglobal cm_taxCO2_historical gdx_ref !! def = "gdx_ref" !! regexp = gdx_ref|is.nonnegative +*** cm_taxCO2_historicalYr "switch for setting the year of cm_taxCO2_historical" +*** (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_taxCO2_historical) is provided (e.g. 2024) +$setglobal cm_taxCO2_historicalYr last !! def = "last" !! regexp = last|is.nonnegative +*** cm_taxCO2_regiDiff "switch for choosing the regional carbon price differentiation scheme in 45_carbonprice/functionalForm" +*** (none): No regional differetiation, i.e. uniform carbon pricing +*** (initialSpread10): Maximal initial spread of carbon prices in 2030 between OECD regions and poorest region is equal to 10. Initial spread for each region determined based on GDP per capita (PPP) in 2015. Carbon prices converge using quadratic phase-in until cm_taxCO2_regiDiff_endYr (default = 2050). +*** (initialSpread20): Maximal initial spread of carbon prices in 2030 between OECD regions and poorest region is equal to 20. Initial spread for each region determined based on GDP per capita (PPP) in 2015. Carbon prices converge using quadratic phase-in until cm_taxCO2_regiDiff_endYr (default = 2050). +*** (gdpSpread): Regional differentiation based on GDP per capita (PPP) throughout the century. Uses current GDP per capita (PPP) of OECD countries - around 50'000 US$2017 - as threshold for application of full carbon price. +$setglobal cm_taxCO2_regiDiff initialSpread10 !! def = "initialSpread10" !! regexp = none|initialSpread10|initialSpread20|gdpSpread +*** cm_taxCO2_regiDiff_endYr "switch for choosing convergence year of regionally differentiated carbon prices when using initialSpread10 or initialSpread20 in 45_carbonprice/functionalForm" +*** Setting cm_taxCO2_regiDiff_endYr to GLO 2050, IND 2070, SSA 2100 means that convergence year is delayed for IND to 2070 and for SSA to 2100 +$setglobal cm_taxCO2_regiDiff_endYr "GLO 2050" !! def = "GLO 2050" +*** cm_co2_tax_interpolation "switch for interpolation between (a) carbonprice trajectory given by path_gdx_ref and (b) carbonprice trajectory defined in 45_carbonprice" +*** (off): no interpolation, i.e. (b) is used from cm_startyear onward +*** (one_step): linear interpolation within 10 years between (a) and (b). For example, if cm_startyear = 2030, it uses (a) until 2025, the average of (a) and (b) in 2030, and (b) from 2035. +*** (two_steps): linear interpolation within 15 years between (a) and (b). For example, if cm_startyear = 2030, it uses (a) until 2025, weighted averages of (a) and (b) in 2030 and 2035, and (b) from 2040. +*** Setting cm_co2_tax_interpolation to GLO.2025.2050 2, EUR.2025.2040 1 means that interpolation between (a) and (b) in quadratic [exponent = 2], starts in 2025, and ends in 2050 for all regions, except for Europe that has linear interpolation [exponent = 1] starting in 2025 and ending in 2040 +$setglobal cm_taxCO2_interpolation off !! def = "one_step" +*** cm_taxCO2_lowerBound_path_gdx_ref "switch for choosing if carbon price trajectories from path_gdx_ref are used as lower bound" +*** (on): carbon price trajectories (pm_taxCO2eq) from path_gdx_ref is used as lower bound for pm_taxCO2eq +*** (off): no lower bound +$setglobal cm_taxCO2_lowerBound_path_gdx_ref on !! def = "on" !! regexp = on|off + *** cm_ind_energy_limit Switch for setting upper limits on industry energy *** efficiency improvements. See ./modules/37_subsectors/datainput.gms for diff --git a/modules/45_carbonprice/NDC/not_used.txt b/modules/45_carbonprice/NDC/not_used.txt index fc180917b..f55431927 100644 --- a/modules/45_carbonprice/NDC/not_used.txt +++ b/modules/45_carbonprice/NDC/not_used.txt @@ -7,7 +7,6 @@ name,type,reason cm_emiscen, switch, ??? pm_ttot_val,parameter,??? -cm_co2_tax_growth,switch,??? cm_expoLinear_yearStart,switch,??? pm_globalMeanTemperature,input,questionnaire pm_temperatureImpulseResponseCO2,input,questionnaire @@ -19,9 +18,20 @@ pm_ttot_2_tall,input,questionnaire pm_shPPPMER,input,questionnaire pm_pop,input,questionnaire pm_gdp,input,questionnaire -cm_CO2priceRegConvEndYr,input,questionnaire -cm_co2_tax_spread,switch,no carbon price differentiation in this realization -cm_co2_tax_startyear,input,added by codeCheck cm_peakBudgYr,input,added by codeCheck -cm_taxCO2inc_after_peakBudgYr,input,added by codeCheck fm_taxCO2eqHist,input,not needed +sm_budgetCO2eqGlob,input,no iterative target adjustment +sm_globalBudget_dev,input,no iterative target adjustment +vm_emiTe,input,no iterative target adjustment +vm_emiCdr,input,no iterative target adjustment +vm_emiMac,input,no iterative target adjustment +vm_emiAll,input,no iterative target adjustment +pm_budgetCO2eq,input,no iterative target adjustment +pm_ts,input,no iterative target adjustment +cm_iteration_max,input,no iterative target adjustment +cm_taxCO2_startyear,input,added by codeCheck +cm_taxCO2_expGrowth,input,added by codeCheck +cm_taxCO2_IncAfterPeakBudgYr,input,added by codeCheck +cm_budgetCO2from2020,input,no iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff,input,no iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff_tmp,input,no iterative target adjustment diff --git a/modules/45_carbonprice/NPi/not_used.txt b/modules/45_carbonprice/NPi/not_used.txt index 8a85cb636..70c968d89 100644 --- a/modules/45_carbonprice/NPi/not_used.txt +++ b/modules/45_carbonprice/NPi/not_used.txt @@ -7,7 +7,6 @@ name,type,reason cm_emiscen, switch, ??? pm_ttot_val,parameter,??? -cm_co2_tax_growth,switch,??? cm_expoLinear_yearStart,switch,??? pm_globalMeanTemperature,input,questionnaire pm_temperatureImpulseResponseCO2,input,questionnaire @@ -23,13 +22,24 @@ cm_iterative_target_adj,input,questionnaire pm_shPPPMER,input,questionnaire pm_pop,input,questionnaire pm_gdp,input,questionnaire -cm_CO2priceRegConvEndYr,input,questionnaire cm_NDC_divergentScenario,input,questionnaire vm_demFeSector,input,questionnaire pm_emifac,input,questionnaire cm_startyear,input,added by codeCheck -cm_co2_tax_spread,input,no carbon price differentiation in this realization -cm_co2_tax_startyear,input,added by codeCheck cm_peakBudgYr,input,added by codeCheck -cm_taxCO2inc_after_peakBudgYr,input,added by codeCheck fm_taxCO2eqHist,input,not needed +sm_budgetCO2eqGlob,input,no iterative target adjustment +sm_globalBudget_dev,input,no iterative target adjustment +vm_emiTe,input,no iterative target adjustment +vm_emiCdr,input,no iterative target adjustment +vm_emiMac,input,no iterative target adjustment +vm_emiAll,input,no iterative target adjustment +pm_budgetCO2eq,input,no iterative target adjustment +pm_ts,input,no iterative target adjustment +cm_iteration_max,input,no iterative target adjustment +cm_taxCO2_startyear,input,added by codeCheck +cm_taxCO2_expGrowth,input,added by codeCheck +cm_taxCO2_IncAfterPeakBudgYr,input,added by codeCheck +cm_budgetCO2from2020,input,no iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff,input,no iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff_tmp,input,no iterative target adjustment diff --git a/modules/45_carbonprice/NPi2025/not_used.txt b/modules/45_carbonprice/NPi2025/not_used.txt index e7ef905e1..5bcbd0b85 100755 --- a/modules/45_carbonprice/NPi2025/not_used.txt +++ b/modules/45_carbonprice/NPi2025/not_used.txt @@ -23,13 +23,23 @@ pm_ttot_2_tall,input,questionnaire pm_shPPPMER,input,questionnaire pm_pop,input,questionnaire pm_gdp,input,questionnaire -cm_CO2priceRegConvEndYr,input,questionnaire cm_NDC_divergentScenario,input,questionnaire vm_demFeSector,input,questionnaire pm_emifac,input,questionnaire -cm_co2_tax_spread,input,not needed cm_peakBudgYr,input,not needed -cm_co2_tax_startyear,input,not needed -cm_taxCO2inc_after_peakBudgYr,input,not needed sm_D2005_2_D2017,input,not needed -cm_co2_tax_growth, input,not needed +sm_budgetCO2eqGlob,input,added by codeCheck +sm_globalBudget_dev,input,added by codeCheck +vm_emiTe,input,added by codeCheck +vm_emiCdr,input,added by codeCheck +vm_emiMac,input,added by codeCheck +vm_emiAll,input,added by codeCheck +pm_taxCO2eq_anchor_iterationdiff,input,added by codeCheck +pm_taxCO2eq_anchor_iterationdiff_tmp,input,added by codeCheck +pm_budgetCO2eq,input,added by codeCheck +pm_ts,input,added by codeCheck +cm_iteration_max,input,added by codeCheck +cm_taxCO2_startyear,input,added by codeCheck +cm_taxCO2_expGrowth,input,added by codeCheck +cm_budgetCO2from2020,input,added by codeCheck +cm_taxCO2_IncAfterPeakBudgYr,input,added by codeCheck diff --git a/modules/45_carbonprice/NPi2025expo/datainput.gms b/modules/45_carbonprice/NPi2025expo/datainput.gms index 13af2b12c..394c63083 100755 --- a/modules/45_carbonprice/NPi2025expo/datainput.gms +++ b/modules/45_carbonprice/NPi2025expo/datainput.gms @@ -12,10 +12,10 @@ pm_taxCO2eq(ttot,regi)$(ttot.val le 2025) = fm_taxCO2eqHist(ttot,regi) * sm_DptCO2_2_TDpGtC; -pm_taxCO2eq(t,regi)$(t.val gt 2025) = sum(ttot, pm_taxCO2eq(ttot,regi)$(ttot.val eq 2025)) * cm_co2_tax_growth**(t.val - 2025); +pm_taxCO2eq(t,regi)$(t.val gt 2025) = sum(ttot, pm_taxCO2eq(ttot,regi)$(ttot.val eq 2025)) * cm_taxCO2_expGrowth**(t.val - 2025); loop(ext_regi$sameas(ext_regi, "EUR_regi"), - pm_taxCO2eq(t,regi)$(t.val ge 2030 AND regi_group(ext_regi,regi)) = fm_taxCO2eqHist("2030",regi) * sm_DptCO2_2_TDpGtC * cm_co2_tax_growth**(t.val - 2030); + pm_taxCO2eq(t,regi)$(t.val ge 2030 AND regi_group(ext_regi,regi)) = fm_taxCO2eqHist("2030",regi) * sm_DptCO2_2_TDpGtC * cm_taxCO2_expGrowth**(t.val - 2030); ); pm_taxCO2eq(t,regi)$(t.val gt 2110) = pm_taxCO2eq("2110",regi); !! to prevent huge taxes after 2110 and the resulting convergence problems, set taxes after 2110 equal to 2110 value diff --git a/modules/45_carbonprice/NPi2025expo/not_used.txt b/modules/45_carbonprice/NPi2025expo/not_used.txt index 57c09d7f0..ef3c5f10e 100755 --- a/modules/45_carbonprice/NPi2025expo/not_used.txt +++ b/modules/45_carbonprice/NPi2025expo/not_used.txt @@ -23,12 +23,22 @@ pm_ttot_2_tall,input,questionnaire pm_shPPPMER,input,questionnaire pm_pop,input,questionnaire pm_gdp,input,questionnaire -cm_CO2priceRegConvEndYr,input,questionnaire cm_NDC_divergentScenario,input,questionnaire vm_demFeSector,input,questionnaire pm_emifac,input,questionnaire -cm_co2_tax_spread,input,not needed cm_peakBudgYr,input,not needed -cm_co2_tax_startyear,input,not needed -cm_taxCO2inc_after_peakBudgYr,input,not needed sm_D2005_2_D2017,input,not needed +sm_budgetCO2eqGlob,input,no iterative target adjustment +sm_globalBudget_dev,input,no iterative target adjustment +vm_emiTe,input,no iterative target adjustment +vm_emiCdr,input,no iterative target adjustment +vm_emiMac,input,no iterative target adjustment +vm_emiAll,input,no iterative target adjustment +pm_budgetCO2eq,input,no iterative target adjustment +pm_ts,input,no iterative target adjustment +cm_iteration_max,input,no iterative target adjustment +cm_taxCO2_startyear,input,added by codeCheck +cm_taxCO2_IncAfterPeakBudgYr,input,added by codeCheck +cm_budgetCO2from2020,input,no iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff,input,no iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff_tmp,input,no iterative target adjustment diff --git a/modules/45_carbonprice/NPiexpo/datainput.gms b/modules/45_carbonprice/NPiexpo/datainput.gms index 108cac05b..00ce621b9 100644 --- a/modules/45_carbonprice/NPiexpo/datainput.gms +++ b/modules/45_carbonprice/NPiexpo/datainput.gms @@ -14,7 +14,7 @@ Execute_Loadpoint "input_ref" pm_taxCO2eq = pm_taxCO2eq; *** calculate pm_taxCO2eq for year before startyear -pm_taxCO2eq(t,regi) = sum(ttot, pm_taxCO2eq(ttot,regi)$(ttot.val eq smax(ttot2$( ttot2.val lt cm_startyear ), ttot2.val))) * cm_co2_tax_growth**(t.val-smax(ttot2$( ttot2.val lt cm_startyear ), ttot2.val)); +pm_taxCO2eq(t,regi) = sum(ttot, pm_taxCO2eq(ttot,regi)$(ttot.val eq smax(ttot2$( ttot2.val lt cm_startyear ), ttot2.val))) * cm_taxCO2_expGrowth**(t.val-smax(ttot2$( ttot2.val lt cm_startyear ), ttot2.val)); pm_taxCO2eq(t,regi)$(t.val gt 2110) = pm_taxCO2eq("2110",regi); !! to prevent huge taxes after 2110 and the resulting convergence problems, set taxes after 2110 equal to 2110 value diff --git a/modules/45_carbonprice/NPiexpo/not_used.txt b/modules/45_carbonprice/NPiexpo/not_used.txt index a8a0fa0a3..be908a924 100644 --- a/modules/45_carbonprice/NPiexpo/not_used.txt +++ b/modules/45_carbonprice/NPiexpo/not_used.txt @@ -22,14 +22,24 @@ pm_ttot_2_tall,input,questionnaire pm_shPPPMER,input,questionnaire pm_pop,input,questionnaire pm_gdp,input,questionnaire -cm_CO2priceRegConvEndYr,input,questionnaire cm_NDC_divergentScenario,input,questionnaire vm_demFeSector,input,questionnaire pm_emifac,input,questionnaire sm_DptCO2_2_TDpGtC,input,added by codeCheck cm_peakBudgYr,input,added by codeCheck -cm_co2_tax_startyear,input,added by codeCheck fm_taxCO2eqHist,input,not needed sm_D2005_2_D2017,input,not needed -cm_taxCO2inc_after_peakBudgYr,input,not needed -cm_co2_tax_spread,input,not needed +sm_budgetCO2eqGlob,input,no iterative target adjustment +sm_globalBudget_dev,input,no iterative target adjustment +vm_emiTe,input,no iterative target adjustment +vm_emiCdr,input,no iterative target adjustment +vm_emiMac,input,no iterative target adjustment +vm_emiAll,input,no iterative target adjustment +pm_budgetCO2eq,input,no iterative target adjustment +pm_ts,input,no iterative target adjustment +cm_iteration_max,input,no iterative target adjustment +cm_taxCO2_startyear,input,added by codeCheck +cm_taxCO2_IncAfterPeakBudgYr,input,added by codeCheck +cm_budgetCO2from2020,input,no iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff,input,no iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff_tmp,input,no iterative target adjustment diff --git a/modules/45_carbonprice/diffExp2Lin/datainput.gms b/modules/45_carbonprice/diffExp2Lin/datainput.gms deleted file mode 100644 index 1405c4445..000000000 --- a/modules/45_carbonprice/diffExp2Lin/datainput.gms +++ /dev/null @@ -1,98 +0,0 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/45_carbonprice/diffExp2Lin/datainput.gms -***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -*** diff: regional prices are initially differentiated by GDP/capita and converge using quadratic phase-in until cm_CO2priceRegConvEndYr (default = 2050), globally uniform price thereafter, -*** level of regional carbon price differentiation (uniform, medium, strong) can be chosen via cm_co2_tax_spread -*** Exp: carbon price of developed regions increases exponentially with rate given by cm_co2_tax_growth (default = 4.5 percent), -*** initial value in cm_startyear is given by cm_co2_tax_startyear (if iterative_target_adj != 0, this value will be adjusted to meet prescribed CO2 budget) -*** 2Lin: (with iterative_target_adj = 9): after the peak year (initial value given by cm_peakBudgYr, will be adjusted by algorithm in core/postsolve.gms), -*** carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant) -*** (with iterative_target_adj = 5): carbon price of developed countries keeps increasing exponentially until end of century, i.e. no change after peak year -*** (with iterative_target_adj = 0): after year given by cm_peakBudgYr (default = 2050), carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant), -*** for exponentially increasing carbon price until end of century, set cm_peakBudgYr = 2110 -***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - - -*** Step 1: Define regional multiplicative factors between regional CO2 price and CO2 price of the developed countries -*** Warning regarding code changes: This first step also appears in diffLin2Lin and should be changed simultaneously. - -*** Step 1.1: Define initial regional multiplicative CO2 price factors - -*** based on GDP per capita (in 1e3 $ PPP 2005) in 2015 (benchmark year kept at 2015 since 2020 not suitable) -p45_gdppcap2015_PPP(regi) = pm_gdp("2015",regi)/pm_shPPPMER(regi) / pm_pop("2015",regi); - -*** Selection of differentiation scheme via cm_co2_tax_spread -if(cm_co2_tax_spread eq 1, -p45_phasein_ratio(regi) = 1; !! all regions -); - -if(cm_co2_tax_spread eq 10, -p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) le 3.5) = 0.1; !! SSA -p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 3.5 and p45_gdppcap2015_PPP(regi) le 5) = 0.2; !! IND -p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 5 and p45_gdppcap2015_PPP(regi) le 10) = 0.3; !! OAS -p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 10 and p45_gdppcap2015_PPP(regi) le 15) = 0.5; !! CHA, LAM, MEA -p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 15 and p45_gdppcap2015_PPP(regi) le 20) = 0.7; !! REF -p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 20) = 1; !! EUR, JPN, USA, CAZ, NEU -); - -if(cm_co2_tax_spread eq 20, -p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) le 3.5) = 0.05; !! SSA -p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 3.5 and p45_gdppcap2015_PPP(regi) le 5) = 0.1; !! IND -p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 5 and p45_gdppcap2015_PPP(regi) le 10) = 0.2; !! OAS -p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 10 and p45_gdppcap2015_PPP(regi) le 15) = 0.4; !! CHA, LAM, MEA -p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 15 and p45_gdppcap2015_PPP(regi) le 20) = 0.6; !! REF -p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 20) = 1; !! EUR, JPN, USA, CAZ, NEU -); - -*** Step 1.2: Create regional multiplicative CO2 price factors for quadratic convergence between s45_CO2priceRegConvStartYr and cm_CO2priceRegConvEndYr - -*** Set year until which initial ratios of CO2 prices are applied and after which convergence starts to 2030 -s45_CO2priceRegConvStartYr = 2030; -*** Set regional CO2 price factor equal to p45_phasein_ratio until s45_CO2priceRegConvStartYr: -p45_regCO2priceFactor(t,regi)$(t.val le s45_CO2priceRegConvStartYr) = p45_phasein_ratio(regi); -*** Create quadratic phase-in between s45_CO2priceRegConvStartYr and cm_CO2priceRegConvEndYr: -loop(t$((t.val gt s45_CO2priceRegConvStartYr) and (t.val le cm_CO2priceRegConvEndYr)), - p45_regCO2priceFactor(t,regi) = - min(1, - max(0, - p45_phasein_ratio(regi) + (1 - p45_phasein_ratio(regi)) * Power( (t.val - s45_CO2priceRegConvStartYr) / (cm_CO2priceRegConvEndYr - s45_CO2priceRegConvStartYr), 2) - ) - ); -); -*** Set regional CO2 price factor equal to 1 after cm_CO2priceRegConvEndYr: -p45_regCO2priceFactor(t,regi)$(t.val gt cm_CO2priceRegConvEndYr) = 1; - -display p45_gdppcap2015_PPP, p45_phasein_ratio, p45_regCO2priceFactor; - -*** Step 2: Create CO2 price trajectory for developed countries - -if(cm_co2_tax_startyear gt 0, -*** convert tax value in start year from $/t CO2eq to T$/GtC - s45_co2_tax_startyear = cm_co2_tax_startyear * sm_DptCO2_2_TDpGtC; -else - abort "please initialize cm_co2_tax_startyear by setting it to a positive value" -); - -*** price increases exponentially with growth rate cm_co2_tax_growth from s45_co2_tax_startyear in startyear -p45_CO2priceTrajDeveloped(t) = s45_co2_tax_startyear * cm_co2_tax_growth**(t.val-cm_startyear); -*** for peak budget runs (if cm_iterative_target_adj = 6|7|9), the adjustment of the CO2 price trajectory after the peak year is made in core/postsolve.gms -*** for runs without iterative carbon price adjustment (if cm_iterative_target_adj = 0), price increases linearly after year given by cm_peakBudgYr (for exponentially increasing carbon price until end of century, set cm_peakBudgYr = 2110) -if((cm_iterative_target_adj eq 0), - p45_CO2priceTrajDeveloped(t)$(t.val gt cm_peakBudgYr) - = sum(t2$(t2.val eq cm_peakBudgYr), p45_CO2priceTrajDeveloped(t2)) - + (t.val - cm_peakBudgYr) * cm_taxCO2inc_after_peakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by cm_taxCO2inc_after_peakBudgYr per year -); -*** set taxes constant after 2110 to prevent huge taxes after 2110 and the resulting convergence problems, -p45_CO2priceTrajDeveloped(t)$(t.val gt 2110) = p45_CO2priceTrajDeveloped("2110"); -display p45_CO2priceTrajDeveloped; - -*** Step 3: Create regional CO2 price trajectories using 1) regional multiplicative CO2 price factors and 2) CO2 price trajectory for developed countries -pm_taxCO2eq(t,regi) = p45_regCO2priceFactor(t,regi) * p45_CO2priceTrajDeveloped(t); -display pm_taxCO2eq; - -*** EOF ./modules/45_carbonprice/diffExp2Lin/datainput.gms diff --git a/modules/45_carbonprice/diffExp2Lin/declarations.gms b/modules/45_carbonprice/diffExp2Lin/declarations.gms deleted file mode 100644 index 14caa13ea..000000000 --- a/modules/45_carbonprice/diffExp2Lin/declarations.gms +++ /dev/null @@ -1,32 +0,0 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/45_carbonprice/diffExp2Lin/declarations.gms -***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -*** diff: regional prices are initially differentiated by GDP/capita and converge using quadratic phase-in until cm_CO2priceRegConvEndYr (default = 2050), globally uniform price thereafter, -*** level of regional carbon price differentiation (uniform, medium, strong) can be chosen via cm_co2_tax_spread -*** Exp: carbon price of developed regions increases exponentially with rate given by cm_co2_tax_growth (default = 4.5 percent), -*** initial value in cm_startyear is given by cm_co2_tax_startyear (if iterative_target_adj != 0, this value will be adjusted to meet prescribed CO2 budget) -*** 2Lin: (with iterative_target_adj = 9): after the peak year (initial value given by cm_peakBudgYr, will be adjusted by algorithm in core/postsolve.gms), -*** carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant) -*** (with iterative_target_adj = 5): carbon price of developed countries keeps increasing exponentially until end of century, i.e. no change after peak year -*** (with iterative_target_adj = 0): after year given by cm_peakBudgYr (default = 2050), carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant), -*** for exponentially increasing carbon price until end of century, set cm_peakBudgYr = 2110 -***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -parameters -p45_gdppcap2015_PPP(all_regi) "2015 GDP per capita (k $ PPP 2005)" -p45_phasein_ratio(all_regi) "inital ratio of CO2 price to that of developed region" - -p45_regCO2priceFactor(ttot,all_regi) "regional multiplicative factor to the CO2 price of the developed countries" -p45_CO2priceTrajDeveloped(ttot) "CO2 price trajectory for developed/rich countries" -; - -scalars -s45_co2_tax_startyear "level of CO2 tax in start year converted from $/t CO2eq to T$/GtC" -s45_CO2priceRegConvStartYr "year until which initial ratios of CO2 prices are applied and after which convergence starts" -; - -*** EOF ./modules/45_carbonprice/diffExp2Lin/declarations.gms diff --git a/modules/45_carbonprice/diffExp2Lin/not_used.txt b/modules/45_carbonprice/diffExp2Lin/not_used.txt deleted file mode 100644 index d347aa06e..000000000 --- a/modules/45_carbonprice/diffExp2Lin/not_used.txt +++ /dev/null @@ -1,25 +0,0 @@ -# | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -# | authors, and contributors see CITATION.cff file. This file is part -# | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -# | AGPL-3.0, you are granted additional permissions described in the -# | REMIND License Exception, version 1.0 (see LICENSE file). -# | Contact: remind@pik-potsdam.de -name,type,reason -cm_emiscen, switch, ??? -sm_c_2_co2,switch, ??? -pm_ttot_val,parameter,??? -cm_expoLinear_yearStart,switch,??? -vm_co2eq,variable,??? -vm_emiFgas,input,questionnaire -pm_globalMeanTemperature,input,questionnaire -pm_temperatureImpulseResponseCO2,input,questionnaire -pm_consPC,input,questionnaire -pm_GDPGross,input,questionnaire -pm_prtp,input,questionnaire -cm_carbonprice_temperatureLimit,input,questionnaire -pm_ttot_2_tall,input,questionnaire -cm_NDC_divergentScenario,input,questionnaire -vm_demFeSector,input,questionnaire -pm_emifac,input,questionnaire -sm_D2005_2_D2017,input,not needed -fm_taxCO2eqHist,input,not needed diff --git a/modules/45_carbonprice/diffExp2Lin/postsolve.gms b/modules/45_carbonprice/diffExp2Lin/postsolve.gms deleted file mode 100644 index 934ecdb15..000000000 --- a/modules/45_carbonprice/diffExp2Lin/postsolve.gms +++ /dev/null @@ -1,33 +0,0 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/45_carbonprice/diffExp2Lin/postsolve.gms -***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -*** diff: regional prices are initially differentiated by GDP/capita and converge using quadratic phase-in until cm_CO2priceRegConvEndYr (default = 2050), globally uniform price thereafter, -*** level of regional carbon price differentiation (uniform, medium, strong) can be chosen via cm_co2_tax_spread -*** Exp: carbon price of developed regions increases exponentially with rate given by cm_co2_tax_growth (default = 4.5 percent), -*** initial value in cm_startyear is given by cm_co2_tax_startyear (if iterative_target_adj != 0, this value will be adjusted to meet prescribed CO2 budget) -*** 2Lin: (with iterative_target_adj = 9): after the peak year (initial value given by cm_peakBudgYr, will be adjusted by algorithm in core/postsolve.gms), -*** carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant) -*** (with iterative_target_adj = 5): carbon price of developed countries keeps increasing exponentially until end of century, i.e. no change after peak year -*** (with iterative_target_adj = 0): after year given by cm_peakBudgYr (default = 2050), carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant), -*** for exponentially increasing carbon price until end of century, set cm_peakBudgYr = 2110 -***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - -*** if CO2 price is iteratively adjusted (i.e. cm_iterative_target_adj != 0), -if((cm_iterative_target_adj ne 0), -*** re-create the regional differentation using path from developed countries as the basis. -*** This doesn't need to be a loop, but it will be correct for any cycle of the loop, so also for the last cycle. - loop(regi$(p45_gdppcap2015_PPP(regi) gt 20), - p45_CO2priceTrajDeveloped(t) = pm_taxCO2eq(t,regi); - ); - -*** quadratic transition to global price - starting point depends on GDP/cap -pm_taxCO2eq(t,regi) = p45_regCO2priceFactor(t,regi) * p45_CO2priceTrajDeveloped(t); - -display pm_taxCO2eq; -); -*** EOF ./modules/45_carbonprice/diffExp2Lin/postsolve.gms diff --git a/modules/45_carbonprice/diffExp2Lin/realization.gms b/modules/45_carbonprice/diffExp2Lin/realization.gms deleted file mode 100644 index 877ddbc4c..000000000 --- a/modules/45_carbonprice/diffExp2Lin/realization.gms +++ /dev/null @@ -1,28 +0,0 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/45_carbonprice/diffExp2Lin/realization.gms - -*' @description: This realization implements exponentially increasing carbon price - either until end of century 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. - -***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -*** diff: regional prices are initially differentiated by GDP/capita and converge using quadratic phase-in until cm_CO2priceRegConvEndYr (default = 2050), globally uniform price thereafter, -*** level of regional carbon price differentiation (uniform, medium, strong) can be chosen via cm_co2_tax_spread -*** Exp: carbon price of developed regions increases exponentially with rate given by cm_co2_tax_growth (default = 4.5 percent), -*** initial value in cm_startyear is given by cm_co2_tax_startyear (if iterative_target_adj != 0, this value will be adjusted to meet prescribed CO2 budget) -*** 2Lin: (with iterative_target_adj = 9): after the peak year (initial value given by cm_peakBudgYr, will be adjusted by algorithm in core/postsolve.gms), -*** carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant) -*** (with iterative_target_adj = 5): carbon price of developed countries keeps increasing exponentially until end of century, i.e. no change after peak year -*** (with iterative_target_adj = 0): after year given by cm_peakBudgYr (default = 2050), carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant), -*** for exponentially increasing carbon price until end of century, set cm_peakBudgYr = 2110 -***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - -*####################### R SECTION START (PHASES) ############################## -$Ifi "%phase%" == "declarations" $include "./modules/45_carbonprice/diffExp2Lin/declarations.gms" -$Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/diffExp2Lin/datainput.gms" -$Ifi "%phase%" == "postsolve" $include "./modules/45_carbonprice/diffExp2Lin/postsolve.gms" -*######################## R SECTION END (PHASES) ############################### -*** EOF ./modules/45_carbonprice/diffExp2Lin/realization.gms diff --git a/modules/45_carbonprice/diffLin2Lin/datainput.gms b/modules/45_carbonprice/diffLin2Lin/datainput.gms deleted file mode 100644 index a2d7cb26b..000000000 --- a/modules/45_carbonprice/diffLin2Lin/datainput.gms +++ /dev/null @@ -1,139 +0,0 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/45_carbonprice/diffLin2Lin/datainput.gms -***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -*** diff: regional prices are initially differentiated by GDP/capita and converge using quadratic phase-in until cm_CO2priceRegConvEndYr (default = 2050), globally uniform price thereafter, -*** level of regional carbon price differentiation (uniform, medium, strong) can be chosen via cm_co2_tax_spread -*** Lin: carbon price of developed regions increases linearly starting at historical level given by cm_co2_tax_hist in year cm_year_co2_tax_hist -*** initial value in cm_startyear is given by cm_co2_tax_startyear (if iterative_target_adj != 0, this value will be adjusted to meet prescribed CO2 budget) -*** 2Lin: (with iterative_target_adj = 9): after the peak year (initial value given by cm_peakBudgYr, will be adjusted by algorithm in core/postsolve.gms), -*** carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant) -*** (with iterative_target_adj = 5): carbon price of developed countries keeps increasing linearly (with same slope) until end of century, i.e. no change after peak year -*** (with iterative_target_adj = 0): after year given by cm_peakBudgYr (default = 2050), carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant), -*** for linearly increasing carbon price (with same slope) until end of century, set cm_peakBudgYr = 2110 -***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - -*** Step 1: Define regional multiplicative factors between regional CO2 price and CO2 price of the developed countries -*** Warning regarding code changes: This first step also appears in diffLin2Lin and should be changed simultaneously. - -*** Step 1.1: Define initial regional multiplicative CO2 price factors - -*** based on GDP per capita (in 1e3 $ PPP 2005) in 2015 (benchmark year kept at 2015 since 2020 not suitable) -p45_gdppcap2015_PPP(regi) = pm_gdp("2015",regi)/pm_shPPPMER(regi) / pm_pop("2015",regi); - -*** Selection of differentiation scheme via cm_co2_tax_spread -if(cm_co2_tax_spread eq 1, -p45_phasein_ratio(regi) = 1; !! all regions -); - -if(cm_co2_tax_spread eq 10, -p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) le 3.5) = 0.1; !! SSA -p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 3.5 and p45_gdppcap2015_PPP(regi) le 5) = 0.2; !! IND -p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 5 and p45_gdppcap2015_PPP(regi) le 10) = 0.3; !! OAS -p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 10 and p45_gdppcap2015_PPP(regi) le 15) = 0.5; !! CHA, LAM, MEA -p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 15 and p45_gdppcap2015_PPP(regi) le 20) = 0.7; !! REF -p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 20) = 1; !! EUR, JPN, USA, CAZ, NEU -); - -if(cm_co2_tax_spread eq 20, -p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) le 3.5) = 0.05; !! SSA -p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 3.5 and p45_gdppcap2015_PPP(regi) le 5) = 0.1; !! IND -p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 5 and p45_gdppcap2015_PPP(regi) le 10) = 0.2; !! OAS -p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 10 and p45_gdppcap2015_PPP(regi) le 15) = 0.4; !! CHA, LAM, MEA -p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 15 and p45_gdppcap2015_PPP(regi) le 20) = 0.6; !! REF -p45_phasein_ratio(regi)$(p45_gdppcap2015_PPP(regi) gt 20) = 1; !! EUR, JPN, USA, CAZ, NEU -); - -*** Step 1.2: Create regional multiplicative CO2 price factors for quadratic convergence between s45_CO2priceRegConvStartYr and cm_CO2priceRegConvEndYr - -*** Set year until which initial ratios of CO2 prices are applied and after which convergence starts to 2030 -s45_CO2priceRegConvStartYr = 2030; -*** Set regional CO2 price factor equal to p45_phasein_ratio until s45_CO2priceRegConvStartYr: -p45_regCO2priceFactor(t,regi)$(t.val le s45_CO2priceRegConvStartYr) = p45_phasein_ratio(regi); -*** Create quadratic phase-in between s45_CO2priceRegConvStartYr and cm_CO2priceRegConvEndYr: -loop(t$((t.val gt s45_CO2priceRegConvStartYr) and (t.val le cm_CO2priceRegConvEndYr)), - p45_regCO2priceFactor(t,regi) = - min(1, - max(0, - p45_phasein_ratio(regi) + (1 - p45_phasein_ratio(regi)) * Power( (t.val - s45_CO2priceRegConvStartYr) / (cm_CO2priceRegConvEndYr - s45_CO2priceRegConvStartYr), 2) - ) - ); -); -*** Set regional CO2 price factor equal to 1 after cm_CO2priceRegConvEndYr: -p45_regCO2priceFactor(t,regi)$(t.val gt cm_CO2priceRegConvEndYr) = 1; - -display p45_gdppcap2015_PPP, p45_phasein_ratio, p45_regCO2priceFactor; - - -*** Step 2: Define CO2 price trajectory for developed countries - -*** Step 2.1: Determine starting point for linear CO2 price trajectory: (s45_year_co2_tax_hist,s45_co2_tax_hist) -*** Set s45_year_co2_tax_hist based on the switch cm_year_co2_tax_hist -$ifthen "%cm_year_co2_tax_hist%" == "last" -*** Choose s45_year_co2_tax_hist to be the last time period before start year -s45_year_co2_tax_hist = smax(ttot$( ttot.val lt cm_startyear ), ttot.val); -$else -*** Set s45_year_co2_tax_hist to be the value provided by the switch -s45_year_co2_tax_hist = %cm_year_co2_tax_hist%; -$endif -*** Check validity of s45_year_co2_tax_hist -if((s45_year_co2_tax_hist lt 2005) or (s45_year_co2_tax_hist ge cm_startyear), - abort "please choose cm_year_co2_tax_hist to be at least 2005 and strictly smaller than cm_startyear" -); -display s45_year_co2_tax_hist; - -*** Set s45_co2_tax_hist based on the switch cm_co2_tax_hist -$ifthen "%cm_co2_tax_hist%" == "gdx_ref" -*** Check that s45_year_co2_tax_hist is an element of ttot -if(sum(ttot$(ttot.val eq s45_year_co2_tax_hist),1)=0, - abort "please choose cm_year_co2_tax_hist to be last or an element of ttot" -); -*** Read pm_taxCO2eq from path_gdx_ref -Execute_Loadpoint 'input_ref' p45_tau_CO2_tax_gdx_ref = pm_taxCO2eq; -*** Extract level of co2 tax in cm_year_co2_tax_hist (defined as maximum of pm_taxCO2eq over all regions) -s45_co2_tax_hist = smax( regi , sum ( ttot$(ttot.val eq s45_year_co2_tax_hist) , p45_tau_CO2_tax_gdx_ref(ttot,regi) ) ); -$else -*** Set s45_co2_tax_hist to be the value provided by the switch, converted from $/t CO2eq to T$/GtC -s45_co2_tax_hist = %cm_co2_tax_hist% * sm_DptCO2_2_TDpGtC; -$endif -display s45_co2_tax_hist; - -*** Step 2.2: Create CO2 price trajectory for developed countries - -if(cm_co2_tax_startyear gt 0, -*** convert tax value in start year from $/t CO2eq to T$/GtC - s45_co2_tax_startyear = cm_co2_tax_startyear * sm_DptCO2_2_TDpGtC; -else - abort "please initialize cm_co2_tax_startyear by setting it to a positive value" -); -*** make sure that the initial CO2 price trajectory is increasing -if(s45_co2_tax_startyear lt s45_co2_tax_hist, - abort "please choose a value for cm_co2_tax_startyear that is larger than the value provided by cm_co2_tax_hist" -); -display s45_co2_tax_startyear; - -*** price increases linearly from s45_co2_tax_hist in s45_year_co2_tax_hist until peak budget year (if cm_iterative_target_adj = 6|7|9) or until end of century (otherwise) -*** define linear curve through the points (s45_year_co2_tax_hist, s45_co2_tax_hist) and (cm_startyear, s45_co2_tax_startyear) -p45_CO2priceTrajDeveloped(t) = s45_co2_tax_hist - + (s45_co2_tax_startyear - s45_co2_tax_hist) / (cm_startyear - s45_year_co2_tax_hist) !! Yearly increase of CO2 price - * (t.val - s45_year_co2_tax_hist) ; -*** for peak budget runs (if cm_iterative_target_adj = 6|7|9), the adjustment of the CO2 price trajectory after the peak year is made in core/postsolve.gms -*** for runs without iterative carbon price adjustment (if cm_iterative_target_adj = 0), price increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr after year given by cm_peakBudgYr (for linearly increasing carbon price (with same slope) until end of century, set cm_peakBudgYr = 2110) -if((cm_iterative_target_adj eq 0), - p45_CO2priceTrajDeveloped(t)$(t.val gt cm_peakBudgYr) - = sum(t2$(t2.val eq cm_peakBudgYr), p45_CO2priceTrajDeveloped(t2)) - + (t.val - cm_peakBudgYr) * cm_taxCO2inc_after_peakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by cm_taxCO2inc_after_peakBudgYr per year -); -*** set taxes after 2110 equal to 2110 value -p45_CO2priceTrajDeveloped(t)$(t.val gt 2110) = p45_CO2priceTrajDeveloped("2110"); -display p45_CO2priceTrajDeveloped; - -*** Step 3: Create regional CO2 price trajectories using 1) regional multiplicative CO2 price factors and 2) CO2 price trajectory for developed countries -pm_taxCO2eq(t,regi) = p45_regCO2priceFactor(t,regi) * p45_CO2priceTrajDeveloped(t); -display pm_taxCO2eq; - -*** EOF ./modules/45_carbonprice/diffLin2Lin/datainput.gms diff --git a/modules/45_carbonprice/diffLin2Lin/declarations.gms b/modules/45_carbonprice/diffLin2Lin/declarations.gms deleted file mode 100644 index 5f20c2004..000000000 --- a/modules/45_carbonprice/diffLin2Lin/declarations.gms +++ /dev/null @@ -1,37 +0,0 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/45_carbonprice/diffLin2Lin/declarations.gms -***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -*** diff: regional prices are initially differentiated by GDP/capita and converge using quadratic phase-in until cm_CO2priceRegConvEndYr (default = 2050), globally uniform price thereafter, -*** level of regional carbon price differentiation (uniform, medium, strong) can be chosen via cm_co2_tax_spread -*** Lin: carbon price of developed regions increases linearly starting at historical level given by cm_co2_tax_hist in year cm_year_co2_tax_hist -*** initial value in cm_startyear is given by cm_co2_tax_startyear (if iterative_target_adj != 0, this value will be adjusted to meet prescribed CO2 budget) -*** 2Lin: (with iterative_target_adj = 9): after the peak year (initial value given by cm_peakBudgYr, will be adjusted by algorithm in core/postsolve.gms), -*** carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant) -*** (with iterative_target_adj = 5): carbon price of developed countries keeps increasing linearly (with same slope) until end of century, i.e. no change after peak year -*** (with iterative_target_adj = 0): after year given by cm_peakBudgYr (default = 2050), carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant), -*** for linearly increasing carbon price (with same slope) until end of century, set cm_peakBudgYr = 2110 -***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - -parameters -p45_gdppcap2015_PPP(all_regi) "2015 GDP per capita (k $ PPP 2005)" -p45_phasein_ratio(all_regi) "inital ratio of CO2 price to that of developed region" - -p45_regCO2priceFactor(ttot,all_regi) "regional multiplicative factor to the CO2 price of the developed countries" -p45_CO2priceTrajDeveloped(ttot) "CO2 price trajectory for developed/rich countries" - -p45_tau_CO2_tax_gdx_ref(ttot,all_regi) "tax path from path_gdx_ref" -; - -scalars -s45_year_co2_tax_hist "year of s45_co2_tax_hist" -s45_co2_tax_hist "historical level of CO2 tax converted from $/t CO2eq to T$/GtC" -s45_co2_tax_startyear "level of CO2 tax in start year converted from $/t CO2eq to T$/GtC" -s45_CO2priceRegConvStartYr "year until which initial ratios of CO2 prices are applied and after which convergence starts" -; - -*** EOF ./modules/45_carbonprice/diffLin2Lin/declarations.gms diff --git a/modules/45_carbonprice/diffLin2Lin/postsolve.gms b/modules/45_carbonprice/diffLin2Lin/postsolve.gms deleted file mode 100644 index 0e7835767..000000000 --- a/modules/45_carbonprice/diffLin2Lin/postsolve.gms +++ /dev/null @@ -1,47 +0,0 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/45_carbonprice/diffLin2Lin/postsolve.gms -***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -*** diff: regional prices are initially differentiated by GDP/capita and converge using quadratic phase-in until cm_CO2priceRegConvEndYr (default = 2050), globally uniform price thereafter, -*** level of regional carbon price differentiation (uniform, medium, strong) can be chosen via cm_co2_tax_spread -*** Lin: carbon price of developed regions increases linearly starting at historical level given by cm_co2_tax_hist in year cm_year_co2_tax_hist -*** initial value in cm_startyear is given by cm_co2_tax_startyear (if iterative_target_adj != 0, this value will be adjusted to meet prescribed CO2 budget) -*** 2Lin: (with iterative_target_adj = 9): after the peak year (initial value given by cm_peakBudgYr, will be adjusted by algorithm in core/postsolve.gms), -*** carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant) -*** (with iterative_target_adj = 5): carbon price of developed countries keeps increasing linearly (with same slope) until end of century, i.e. no change after peak year -*** (with iterative_target_adj = 0): after year given by cm_peakBudgYr (default = 2050), carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant), -*** for linearly increasing carbon price (with same slope) until end of century, set cm_peakBudgYr = 2110 -***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - -*** if CO2 price is iteratively adjusted (i.e. cm_iterative_target_adj != 0), -if((cm_iterative_target_adj ne 0), -*** re-create the linear carbon price trajectory for developed countries to ensure that it -*** starts at historical level given by cm_co2_tax_hist in year cm_year_co2_tax_hist, and -*** ends at the endogenously adjusted tax level in the peak year (with iterative_target_adj = 6|7|9) or in 2110 (otherwise) -if((cm_iterative_target_adj eq 6) or (cm_iterative_target_adj eq 7) or (cm_iterative_target_adj eq 9), - loop(regi$(p45_gdppcap2015_PPP(regi) gt 20), !! This doesn't need to be a loop, but it will be correct for any cycle of the loop, so also for the last cycle. - p45_CO2priceTrajDeveloped(t)$(t.val le cm_peakBudgYr) - = s45_co2_tax_hist - + (sum(t2$(t2.val eq cm_peakBudgYr), pm_taxCO2eq(t2,regi)) - s45_co2_tax_hist) / (cm_peakBudgYr - s45_year_co2_tax_hist) !! Yearly increase of CO2 price that interpolates between s45_co2_tax_hist in s45_year_co2_tax_hist and pm_taxCO2eq in peak year - * (t.val - s45_year_co2_tax_hist) ; - p45_CO2priceTrajDeveloped(t)$(t.val gt cm_peakBudgYr) = pm_taxCO2eq(t,regi); - ); - else - loop(regi$(p45_gdppcap2015_PPP(regi) gt 20), !! This doesn't need to be a loop, but it will be correct for any cycle of the loop, so also for the last cycle. - p45_CO2priceTrajDeveloped(t)$(t.val le 2110) - = s45_co2_tax_hist - + (pm_taxCO2eq("2110",regi) - s45_co2_tax_hist) / (2110 - s45_year_co2_tax_hist) !! Yearly increase of CO2 price that interpolates between s45_co2_tax_hist in s45_year_co2_tax_hist and pm_taxCO2eq in 2110 - * (t.val - s45_year_co2_tax_hist) ; - p45_CO2priceTrajDeveloped(t)$(t.val gt 2110) = pm_taxCO2eq(t,regi); - ); -); - -*** Re-create the regional CO2 price trajectories using 1) regional multiplicative CO2 price factors and 2) CO2 price trajectory for developped countries -pm_taxCO2eq(t,regi) = p45_regCO2priceFactor(t,regi) * p45_CO2priceTrajDeveloped(t); -display pm_taxCO2eq; -); -*** EOF ./modules/45_carbonprice/diffLin2Lin/postsolve.gms diff --git a/modules/45_carbonprice/diffLin2Lin/realization.gms b/modules/45_carbonprice/diffLin2Lin/realization.gms deleted file mode 100644 index 24a9ba102..000000000 --- a/modules/45_carbonprice/diffLin2Lin/realization.gms +++ /dev/null @@ -1,29 +0,0 @@ -*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) -*** | authors, and contributors see CITATION.cff file. This file is part -*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of -*** | AGPL-3.0, you are granted additional permissions described in the -*** | REMIND License Exception, version 1.0 (see LICENSE file). -*** | Contact: remind@pik-potsdam.de -*** SOF ./modules/45_carbonprice/diffLin2Lin/realization.gms - -*' @description: This realization implements linearly increasing carbon price - either until end of century 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. - -***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -*** diff: regional prices are initially differentiated by GDP/capita and converge using quadratic phase-in until cm_CO2priceRegConvEndYr (default = 2050), globally uniform price thereafter, -*** level of regional carbon price differentiation (uniform, medium, strong) can be chosen via cm_co2_tax_spread -*** Lin: carbon price of developed regions increases linearly starting at historical level given by cm_co2_tax_hist in year cm_year_co2_tax_hist -*** initial value in cm_startyear is given by cm_co2_tax_startyear (if iterative_target_adj != 0, this value will be adjusted to meet prescribed CO2 budget) -*** 2Lin: (with iterative_target_adj = 9): after the peak year (initial value given by cm_peakBudgYr, will be adjusted by algorithm in core/postsolve.gms), -*** carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant) -*** (with iterative_target_adj = 5): carbon price of developed countries keeps increasing linearly (with same slope) until end of century, i.e. no change after peak year -*** (with iterative_target_adj = 0): after year given by cm_peakBudgYr (default = 2050), carbon price of developed countries increases linearly with fixed annual increase given by cm_taxCO2inc_after_peakBudgYr (default = 0, i.e. constant), -*** for linearly increasing carbon price (with same slope) until end of century, set cm_peakBudgYr = 2110 -***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - -*####################### R SECTION START (PHASES) ############################## -$Ifi "%phase%" == "declarations" $include "./modules/45_carbonprice/diffLin2Lin/declarations.gms" -$Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/diffLin2Lin/datainput.gms" -$Ifi "%phase%" == "postsolve" $include "./modules/45_carbonprice/diffLin2Lin/postsolve.gms" -*######################## R SECTION END (PHASES) ############################### - -*** EOF ./modules/45_carbonprice/diffLin2Lin/realization.gms diff --git a/modules/45_carbonprice/exogenous/not_used.txt b/modules/45_carbonprice/exogenous/not_used.txt index b23d8b978..1c046562f 100644 --- a/modules/45_carbonprice/exogenous/not_used.txt +++ b/modules/45_carbonprice/exogenous/not_used.txt @@ -7,7 +7,6 @@ name,type,reason sm_c_2_co2,switch, ??? pm_ttot_val,parameter,??? -cm_co2_tax_growth,switch,??? cm_expoLinear_yearStart,switch,??? vm_co2eq,variable,??? vm_emiFgas,input,questionnaire @@ -21,15 +20,26 @@ pm_ttot_2_tall,input,questionnaire pm_shPPPMER,input,questionnaire pm_pop,input,questionnaire pm_gdp,input,questionnaire -cm_CO2priceRegConvEndYr,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 -cm_co2_tax_spread,switch,no carbon price differentiation in this realization -cm_co2_tax_startyear,input,added by codeCheck cm_peakBudgYr,input,added by codeCheck -cm_taxCO2inc_after_peakBudgYr,input,added by codeCheck sm_D2005_2_D2017,input,not needed fm_taxCO2eqHist,input,not needed +sm_budgetCO2eqGlob,input,no iterative target adjustment +sm_globalBudget_dev,input,no iterative target adjustment +vm_emiTe,input,no iterative target adjustment +vm_emiCdr,input,no iterative target adjustment +vm_emiMac,input,no iterative target adjustment +vm_emiAll,input,no iterative target adjustment +pm_budgetCO2eq,input,no iterative target adjustment +pm_ts,input,no iterative target adjustment +cm_iteration_max,input,no iterative target adjustment +cm_taxCO2_startyear,input,added by codeCheck +cm_taxCO2_expGrowth,input,added by codeCheck +cm_taxCO2_IncAfterPeakBudgYr,input,added by codeCheck +cm_budgetCO2from2020,input,no iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff,input,no iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff_tmp,input,no iterative target adjustment diff --git a/modules/45_carbonprice/expoLinear/datainput.gms b/modules/45_carbonprice/expoLinear/datainput.gms index 56a34c881..aadc34404 100644 --- a/modules/45_carbonprice/expoLinear/datainput.gms +++ b/modules/45_carbonprice/expoLinear/datainput.gms @@ -6,28 +6,33 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/45_carbonprice/expoLinear/datainput.gms -*** Carbon price increases exponentially with rate given by cm_co2_tax_growth (default = 4.5%) %) until cm_expoLinear_yearStart (defaults to 2060) +*** Carbon price increases exponentially with rate given by cm_taxCO2_expGrowth (default = 4.5%) %) until cm_expoLinear_yearStart (defaults to 2060) *** and then transitions into linear growth (with slope given by last timestep before cm_expoLinear_yearStart). +*** Not compatible with iterative adjustment of CO2 tax [i.e. requires cm_iterative_target_adj = 0] +*** Check that cm_iterative_target_adj is equal to 0 +if( cm_iterative_target_adj ne 0, + abort "The realization 45_carbonprice/expoLinear is only compatible with cm_iterative_target_adj = 0. Please adjust config file accordingly" +); -if(cm_co2_tax_startyear le 0, - abort "please choose a valid cm_co2_tax_startyear" -elseif cm_co2_tax_startyear gt 0, +if(cm_taxCO2_startyear le 0, + abort "please choose a valid cm_taxCO2_startyear" +elseif cm_taxCO2_startyear gt 0, *** convert tax value from $/t CO2eq to T$/GtC - s45_co2_tax_startyear = cm_co2_tax_startyear * sm_DptCO2_2_TDpGtC; + s45_taxCO2_startyear = cm_taxCO2_startyear * sm_DptCO2_2_TDpGtC; ); *** calculate tax path until cm_expoLinear_yearStart (defaults to 2060) -pm_taxCO2eq(t,regi) = s45_co2_tax_startyear*cm_co2_tax_growth**(t.val-cm_startyear); +pm_taxCO2eq(t,regi) = s45_taxCO2_startyear*cm_taxCO2_expGrowth**(t.val-cm_startyear); *** use linear tax path from cm_expoLinear_yearStart on (with slope given by last timestep before cm_expoLinear_yearStart) -p45_tau_co2_tax_inc(regi) = sum(ttot$(ttot.val eq cm_expoLinear_yearStart), +p45_taxCO2eq_expoLinearIncrease(regi) = sum(ttot$(ttot.val eq cm_expoLinear_yearStart), ((pm_taxCO2eq(ttot, regi) - pm_taxCO2eq(ttot - 1, regi)) / (pm_ttot_val(ttot) - pm_ttot_val(ttot - 1)))); !! Using ttot to make use of pm_ttot_val pm_taxCO2eq(t,regi)$(t.val gt cm_expoLinear_yearStart) = sum(t2$(t2.val eq cm_expoLinear_yearStart), pm_taxCO2eq(t2, regi)) - + p45_tau_co2_tax_inc(regi) * (t.val - cm_expoLinear_yearStart); + + p45_taxCO2eq_expoLinearIncrease(regi) * (t.val - cm_expoLinear_yearStart); *** set carbon price constant after 2110 to prevent huge carbon prices which lead to convergence problems pm_taxCO2eq(t,regi)$(t.val gt 2110) = pm_taxCO2eq("2110",regi); display pm_taxCO2eq; -display p45_tau_co2_tax_inc; +display p45_taxCO2eq_expoLinearIncrease; *** EOF ./modules/45_carbonprice/expoLinear/datainput.gms diff --git a/modules/45_carbonprice/expoLinear/declarations.gms b/modules/45_carbonprice/expoLinear/declarations.gms index 6f149acf7..aaa563e02 100644 --- a/modules/45_carbonprice/expoLinear/declarations.gms +++ b/modules/45_carbonprice/expoLinear/declarations.gms @@ -7,10 +7,10 @@ *** SOF ./modules/45_carbonprice/expoLinear/declarations.gms scalar -s45_co2_tax_startyear "level of CO2 tax in start year [T$/GtC]" +s45_taxCO2_startyear "CO2 tax provided by cm_taxCO2_startyear converted from $/t CO2eq to T$/GtC" ; parameter -p45_tau_co2_tax_inc(all_regi) "Linear annual increase in carbon price [T$/GtC/yr]" +p45_taxCO2eq_expoLinearIncrease(all_regi) "Linear annual increase in carbon price [T$/GtC/yr] right before cm_expoLinear_yearStart" ; *** EOF ./modules/45_carbonprice/expoLinear/declarations.gms diff --git a/modules/45_carbonprice/expoLinear/not_used.txt b/modules/45_carbonprice/expoLinear/not_used.txt index e399a95dd..6262db85f 100644 --- a/modules/45_carbonprice/expoLinear/not_used.txt +++ b/modules/45_carbonprice/expoLinear/not_used.txt @@ -7,7 +7,6 @@ name,type,reason sm_c_2_co2,switch, ??? cm_emiscen,switch,??? -cm_iterative_target_adj,switch,??? vm_co2eq,variable,??? vm_emiFgas,input,questionnaire pm_globalMeanTemperature,input,questionnaire @@ -20,12 +19,22 @@ pm_ttot_2_tall,input,questionnaire pm_shPPPMER,input,questionnaire pm_pop,input,questionnaire pm_gdp,input,questionnaire -cm_CO2priceRegConvEndYr,input,questionnaire cm_NDC_divergentScenario,input,questionnaire vm_demFeSector,input,questionnaire pm_emifac,input,questionnaire -cm_co2_tax_spread,input,No carbon price differentiation in this realization cm_peakBudgYr,input,added by codeCheck -cm_taxCO2inc_after_peakBudgYr,input,added by codeCheck sm_D2005_2_D2017,input,not needed fm_taxCO2eqHist,input,not needed +sm_budgetCO2eqGlob,input,no iterative target adjustment +sm_globalBudget_dev,input,no iterative target adjustment +vm_emiTe,input,no iterative target adjustment +vm_emiCdr,input,no iterative target adjustment +vm_emiMac,input,no iterative target adjustment +vm_emiAll,input,no iterative target adjustment +pm_budgetCO2eq,input,no iterative target adjustment +pm_ts,input,no iterative target adjustment +cm_iteration_max,input,no iterative target adjustment +cm_taxCO2_IncAfterPeakBudgYr,input,added by codeCheck +cm_budgetCO2from2020,input,no iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff,input,no iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff_tmp,input,no iterative target adjustment diff --git a/modules/45_carbonprice/expoLinear/realization.gms b/modules/45_carbonprice/expoLinear/realization.gms index dd65eb081..ee18e258e 100644 --- a/modules/45_carbonprice/expoLinear/realization.gms +++ b/modules/45_carbonprice/expoLinear/realization.gms @@ -15,6 +15,7 @@ *' A Hotelling price path can only be considered optimal until the time of net-zero emissions. *' Afterwards, a moderate carbon price increase is sufficient to avoid a return of fossil fuels. *' Therefore, we choose an exponentially increasing carbon price until the expected time of net-zero emissions and a linear increase at the rate of 2050 or 2060 afterwards. +*** Not compatible with iterative adjustment of CO2 tax [i.e. requires cm_iterative_target_adj = 0] *####################### R SECTION START (PHASES) ############################## $Ifi "%phase%" == "declarations" $include "./modules/45_carbonprice/expoLinear/declarations.gms" diff --git a/modules/45_carbonprice/functionalForm/datainput.gms b/modules/45_carbonprice/functionalForm/datainput.gms new file mode 100644 index 000000000..b55afb1c6 --- /dev/null +++ b/modules/45_carbonprice/functionalForm/datainput.gms @@ -0,0 +1,225 @@ +*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | authors, and contributors see CITATION.cff file. This file is part +*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +*** | AGPL-3.0, you are granted additional permissions described in the +*** | REMIND License Exception, version 1.0 (see LICENSE file). +*** | Contact: remind@pik-potsdam.de +*** SOF ./modules/45_carbonprice/functionalForm/datainput.gms + +*** Check that cm_iterative_target_adj is equal to 0, 5, 7, or 9 +if( not ((cm_iterative_target_adj = 0) or (cm_iterative_target_adj eq 5) or (cm_iterative_target_adj eq 7) or (cm_iterative_target_adj eq 9) ), + abort "The realization 45_carbonprice/functionalForm is only compatible with cm_iterative_target_adj = 0, 5, 7 or 9. Please adjust config file accordingly" +); + +*** Read pm_taxCO2eq from path_gdx_ref +Execute_Loadpoint 'input_ref' p45_taxCO2eq_path_gdx_ref = pm_taxCO2eq; +display p45_taxCO2eq_path_gdx_ref; + +*** -------- initial declaration of parameters for iterative target adjustment +o45_reached_until2150pricepath(iteration) = 0; + + +***----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +*** Part I (Global anchor trajectory): The functional form (linear/exponential) of the global anchor trajectory is chosen via cm_taxCO2_functionalForm. +*** The (initial) carbon price in cm_startyear is chosen via cm_taxCO2_startyear. This value is endogenously adjusted to meet CO2 budget targets if cm_iterative_target_adj is set to 5, 7, or 9. +*** (linear): The linear curve is determined by the two points (cm_taxCO2_historicalYr, cm_taxCO2_historical) and (cm_startyear, cm_taxCO2_startyear). +*** By default, cm_taxCO2_historicalYr is the last timestep before cm_startyear, and cm_taxCO2_historical is the carbon price in that timestep in the reference run (path_gdx_ref) - computed as the maximum of pm_taxCO2eq over all regions. +*** (exponential): The exponential curve is determined by exponential growth rate (cm_taxCO2_expGrowth). +***----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*** Convert tax value in start year from $/t CO2eq to T$/GtC +s45_taxCO2_startyear = cm_taxCO2_startyear * sm_DptCO2_2_TDpGtC; +*** Check that tax value in start year is strictly positive +if(s45_taxCO2_startyear le 0, + abort "please initialize cm_taxCO2_startyear by setting it to a positive value" +); + +$ifThen.taxCO2globalAnchor "%cm_taxCO2_functionalForm%" == "exponential" +*** price increases exponentially with growth rate cm_taxCO2_expGrowth from s45_taxCO2_startyear in startyear +p45_taxCO2eq_anchor(t) = s45_taxCO2_startyear * cm_taxCO2_expGrowth**(t.val - cm_startyear); +$elseIf.taxCO2globalAnchor "%cm_taxCO2_functionalForm%" == "linear" +*** Step I.1: Determine the point (s45_taxCO2_historicalYr, s45_taxCO2_historical) + +*** Set s45_taxCO2_historicalYr based on the switch cm_taxCO2_historicalYr +$ifthen.taxCO2historicalYr "%cm_taxCO2_historicalYr%" == "last" +*** Choose s45_taxCO2_historicalYr to be the last time period before start year +s45_taxCO2_historicalYr = smax(ttot$( ttot.val lt cm_startyear ), ttot.val); +$else.taxCO2historicalYr +*** Set s45_taxCO2_historicalYr to be the value provided by the switch +s45_taxCO2_historicalYr = %cm_taxCO2_historicalYr%; +$endif.taxCO2historicalYr +*** Check validity of s45_taxCO2_historicalYr +if((s45_taxCO2_historicalYr lt 2005) or (s45_taxCO2_historicalYr ge cm_startyear), + abort "please choose cm_taxCO2_historicalYr to be at least 2005 and strictly smaller than cm_startyear" +); +display s45_taxCO2_historicalYr; + +*** Set s45_taxCO2_historical based on the switch cm_taxCO2_historical +$ifthen.taxCO2historial "%cm_taxCO2_historical%" == "gdx_ref" +*** Check that s45_taxCO2_historicalYr is an element of ttot +if(sum(ttot$(ttot.val eq s45_taxCO2_historicalYr),1)=0, + abort "please choose cm_taxCO2_historicalYr to be last or an element of ttot" +); +*** Extract level of carbon price in s45_taxCO2_historicalYr (defined as maximum of pm_taxCO2eq over all regions) +s45_taxCO2_historical = smax( regi , sum ( ttot$(ttot.val eq s45_taxCO2_historicalYr) , p45_taxCO2eq_path_gdx_ref(ttot,regi) ) ); +$else.taxCO2historial +*** Set s45_taxCO2_historical to be the value provided by the switch, converted from $/t CO2eq to T$/GtC +s45_taxCO2_historical = %cm_taxCO2_historical% * sm_DptCO2_2_TDpGtC; +$endif.taxCO2historial +display s45_taxCO2_historical; +*** Make sure that initial carbon price trajectory is non-decreasing +if(s45_taxCO2_startyear lt s45_taxCO2_historical, + display s45_taxCO2_startyear; + abort "please make sure that cm_taxCO2_startyear is at least as large as the value provided by cm_taxCO2_historical" +); + +*** Step I.2: Create linear global anchor trajectory through the points (s45_taxCO2_historicalYr, s45_taxCO2_historical) and (cm_startyear, s45_taxCO2_startyear) +p45_taxCO2eq_anchor(t) = s45_taxCO2_historical + + (s45_taxCO2_startyear - s45_taxCO2_historical) / (cm_startyear - s45_taxCO2_historicalYr) !! Yearly increase of carbon price + * (t.val - s45_taxCO2_historicalYr) ; +$endIf.taxCO2globalAnchor + +***------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +*** Part II (Post-peak behaviour): The global anchor trajectory can be adjusted after reaching the peak of global CO2 emissions in cm_peakBudgYr. +*** The (initial) choice of cm_peakBudgYr is endogenously adjusted if cm_iterative_target_adj is set to 7 or 9. +*** (with iterative_target_adj = 0): after cm_peakBudgYr, the global anchor trajectory increases linearly with fixed annual increase given by cm_taxCO2_IncAfterPeakBudgYr (default = 0, i.e. constant), +*** set cm_peakBudgYr = 2110 to avoid adjustment +*** (with iterative_target_adj = 5): no adjustment to the functional form after cm_peakBudgYr +*** (with iterative_target_adj = 7): after cm_peakBudgYr, the global anchor trajectory is adjusted so that global net CO2 emissions stay close to zero +*** (with iterative_target_adj = 9): after cm_peakBudgYr, the global anchor trajectory increases linearly with fixed annual increase given by cm_taxCO2_IncAfterPeakBudgYr (default = 0, i.e. constant) +***------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*** Save the original form of the global anchor trajectory so that it can be accessed if cm_peakBudgYr is shifted to the right +p45_taxCO2eq_anchor_until2150(t) = p45_taxCO2eq_anchor(t); + +*** Adjust global anchor trajectory so that after cm_peakBudgYr, it increases linearly with fixed annual increase given by cm_taxCO2_IncAfterPeakBudgYr +if((cm_iterative_target_adj = 0) or (cm_iterative_target_adj = 9), + p45_taxCO2eq_anchor(t)$(t.val gt cm_peakBudgYr) = sum(t2$(t2.val eq cm_peakBudgYr), p45_taxCO2eq_anchor_until2150(t2)) !! CO2 tax in peak budget year + + (t.val - cm_peakBudgYr) * cm_taxCO2_IncAfterPeakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by cm_taxCO2inc_after_peakBudgYr per year +); + +*** Always set carbon price constant after 2110 to prevent huge taxes after 2110 and the resulting convergence problems +p45_taxCO2eq_anchor(t)$(t.val gt 2110) = p45_taxCO2eq_anchor("2110"); +display p45_taxCO2eq_anchor_until2150, p45_taxCO2eq_anchor; + +***----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +*** Part III (Regional differentiation): Regional carbon price differentiation relative to global anchor trajectory is chosen via cm_taxCO2_regiDiff. +*** (none): No regional differetiation, i.e. uniform carbon pricing +*** (initialSpread10): Maximal initial spread of carbon prices in 2030 between OECD regions and poorest region is equal to 10. Initial spread for each region determined based on GDP per capita (PPP) in 2015. Carbon prices converge using quadratic phase-in until cm_taxCO2_regiDiff_endYr (default = 2050). +*** (initialSpread20): Maximal initial spread of carbon prices in 2030 between OECD regions and poorest region is equal to 20. Initial spread for each region determined based on GDP per capita (PPP) in 2015. Carbon prices converge using quadratic phase-in until cm_taxCO2_regiDiff_endYr (default = 2050). +*** (gdpSpread): Regional differentiation based on GDP per capita (PPP) throughout the century. Uses current GDP per capita (PPP) of OECD countries - around 50'000 US$2017 - as threshold for application of full carbon price. +***----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*** Compute GDP per capita (in 1e3 $ PPP 2017) +p45_gdppcap_PPP(ttot,regi)$(ttot.val ge 2005) = pm_gdp(ttot,regi) / pm_shPPPMER(regi) / pm_pop(ttot,regi); +display p45_gdppcap_PPP; + +*** Define p45_regiDiff_convFactor based on chosen differentiation scheme +$ifThen.taxCO2regiDiff3 "%cm_taxCO2_regiDiff%" == "none" +p45_regiDiff_convFactor(t,regi) = 1; +$elseIf.taxCO2regiDiff3 "%cm_taxCO2_regiDiff%" == "gdpSpread" +*** Set s45_regiDiff_gdpThreshold (in 1e3 $ PPP 2017) +s45_regiDiff_gdpThreshold = 50; +*** Compute ratio between GDP per capita (in 1e3 $ PPP 2017) and s45_regiDiff_gdpThreshold, and upper bound it by 1 +p45_regiDiff_convFactor(t,regi) = min(p45_gdppcap_PPP(t,regi) / 50 , 1); +$else.taxCO2regiDiff3 +$ifThen.taxCO2regiDiff4 "%cm_taxCO2_regiDiff%" == "initialSpread10" +*** Define p45_regiDiff_initialRatio for maximal initial spread equal to 10 +p45_regiDiff_initialRatio(regi)$(p45_gdppcap_PPP("2015",regi) le 3.5) = 0.1; !! SSA +p45_regiDiff_initialRatio(regi)$(p45_gdppcap_PPP("2015",regi) gt 3.5 and p45_gdppcap_PPP("2015",regi) le 5) = 0.2; !! IND +p45_regiDiff_initialRatio(regi)$(p45_gdppcap_PPP("2015",regi) gt 5 and p45_gdppcap_PPP("2015",regi) le 10) = 0.3; !! OAS +p45_regiDiff_initialRatio(regi)$(p45_gdppcap_PPP("2015",regi) gt 10 and p45_gdppcap_PPP("2015",regi) le 15) = 0.5; !! CHA, LAM, MEA +p45_regiDiff_initialRatio(regi)$(p45_gdppcap_PPP("2015",regi) gt 15 and p45_gdppcap_PPP("2015",regi) le 20) = 0.7; !! REF +p45_regiDiff_initialRatio(regi)$(p45_gdppcap_PPP("2015",regi) gt 20) = 1; !! EUR, JPN, USA, CAZ, NEU +$elseIf.taxCO2regiDiff4 "%cm_taxCO2_regiDiff%" == "initialSpread20" +*** Define p45_regiDiff_initialRatio for maximal initial spread equal to 20 +p45_regiDiff_initialRatio(regi)$(p45_gdppcap_PPP("2015",regi) le 3.5) = 0.05; !! SSA +p45_regiDiff_initialRatio(regi)$(p45_gdppcap_PPP("2015",regi) gt 3.5 and p45_gdppcap_PPP("2015",regi) le 5) = 0.1; !! IND +p45_regiDiff_initialRatio(regi)$(p45_gdppcap_PPP("2015",regi) gt 5 and p45_gdppcap_PPP("2015",regi) le 10) = 0.2; !! OAS +p45_regiDiff_initialRatio(regi)$(p45_gdppcap_PPP("2015",regi) gt 10 and p45_gdppcap_PPP("2015",regi) le 15) = 0.4; !! CHA, LAM, MEA +p45_regiDiff_initialRatio(regi)$(p45_gdppcap_PPP("2015",regi) gt 15 and p45_gdppcap_PPP("2015",regi) le 20) = 0.6; !! REF +p45_regiDiff_initialRatio(regi)$(p45_gdppcap_PPP("2015",regi) gt 20) = 1; !! EUR, JPN, USA, CAZ, NEU +$endIf.taxCO2regiDiff4 +*** Set s45_regiDiff_startYr +s45_regiDiff_startYr = 2030; +*** Set p45_regiDiff_endYr based on data provided by switch cm_taxCO2_regiDiff_endYr +loop((ext_regi)$p45_regiDiff_endYr_data(ext_regi), + loop(regi$regi_groupExt(ext_regi,regi), + p45_regiDiff_endYr(regi) = p45_regiDiff_endYr_data(ext_regi); + ); +); +*** Set convergence factor equal to p45_regiDiff_initialRatio before s45_regiDiff_startYr: +p45_regiDiff_convFactor(t,regi)$(t.val lt s45_regiDiff_startYr) = p45_regiDiff_initialRatio(regi); +*** Set convergence factor equal to 1 from p45_regiDiff_endYr: +p45_regiDiff_convFactor(t,regi)$(t.val ge p45_regiDiff_endYr(regi)) = 1; +*** Create quadratic convergence between s45_regiDiff_startYr and p45_regiDiff_endYr: +loop((t,regi)$((t.val ge s45_regiDiff_startYr) and (t.val lt p45_regiDiff_endYr(regi))), + p45_regiDiff_convFactor(t,regi) = + min(1, + max(0, + p45_regiDiff_initialRatio(regi) + (1 - p45_regiDiff_initialRatio(regi)) * Power( (t.val - s45_regiDiff_startYr) / (p45_regiDiff_endYr(regi) - s45_regiDiff_startYr), 2) + ) + ); +); +display p45_regiDiff_initialRatio, p45_regiDiff_endYr; +$endIf.taxCO2regiDiff3 + +***Create regionally differentiated carbon price trajectories based on global anchor trajectory and p45_regiDiff_convFactor +p45_taxCO2eq_regiDiff(t,regi) = p45_regiDiff_convFactor(t,regi) * p45_taxCO2eq_anchor(t); +display p45_regiDiff_convFactor, p45_taxCO2eq_regiDiff; + +***--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +*** Part IV (Interpolation from path_gdx_ref): To smoothen a potential jump of carbon prices in cm_startyear, an interpolation between (a) the carbon prices before cm_startyear provided by path_gdx_ref and (b) the carbon prices from cm_startyear onward defined by parts I-III can be chosen via cm_taxCO2_interpolation. +*** In addition, the carbon prices provided by path_gdx_ref are used as lower bound if switch cm_taxCO2_lowerBound_path_gdx_ref is on. +*** (off): no interpolation, i.e. (b) is used from cm_startyear onward +*** (one_step): linear interpolation within 10 years between (a) and (b). For example, if cm_startyear = 2030, it uses (a) until 2025, the average of (a) and (b) in 2030, and (b) from 2035. +*** (two_steps): linear interpolation within 15 years between (a) and (b). For example, if cm_startyear = 2030, it uses (a) until 2025, weighted averages of (a) and (b) in 2030 and 2035, and (b) from 2040. +*** For manual settings, see description of the switch +***--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*** Step IV.1: Set parameters for interpolation +*** Set linear interpolation as default +p45_interpolation_exponent(regi) = 1; +*** Set last timestep before cm_startyear as default for interpolation start +p45_interpolation_startYr(regi) = smax(ttot$( ttot.val lt cm_startyear ), ttot.val); + +$ifThen.CO2taxInterpolation2 "%cm_taxCO2_interpolation%" == "off" +*** No interpolation +p45_interpolation_endYr(regi) = p45_interpolation_startYr(regi); +$elseIf.CO2taxInterpolation2 "%cm_taxCO2_interpolation%" == "one_step" +*** Interpolation in 10 years, i.e. one intermediate step +p45_interpolation_endYr(regi) = smin(ttot$( ttot.val ge cm_startyear + 5), ttot.val); +$elseIf.CO2taxInterpolation2 "%cm_taxCO2_interpolation%" == "two_steps" +*** Interpolation in 15 years, i.e. two intermediate steps +p45_interpolation_endYr(regi) = smin(ttot$( ttot.val ge cm_startyear + 10), ttot.val); +$else.CO2taxInterpolation2 +*** Overwrite with p45_interpolation_exponent, p45_interpolation_startYr, and p45_interpolation_endYr according to manual settings +loop((ext_regi,ttot,ttot2)$p45_interpolation_data(ext_regi,ttot,ttot2), + loop(regi$regi_groupExt(ext_regi,regi), + p45_interpolation_exponent(regi) = p45_interpolation_data(ext_regi,ttot,ttot2); + p45_interpolation_startYr(regi) = ttot.val; + p45_interpolation_endYr(regi) = ttot2.val; + ); +); +$endIf.CO2taxInterpolation2 +display p45_interpolation_exponent, p45_interpolation_startYr, p45_interpolation_endYr; + +*** Step IV.2: Create interpolation +loop(regi, + pm_taxCO2eq(ttot,regi) = p45_taxCO2eq_path_gdx_ref(ttot,regi); !! Initialize pm_taxCO2eq with p45_taxCO2eq_path_gdx_ref. Then overwrite all time steps after cm_startyear and p45_interpolation_startYr(regi) + pm_taxCO2eq(t,regi)$((t.val ge p45_interpolation_startYr(regi)) and (t.val lt p45_interpolation_endYr(regi))) = + sum(ttot2$(ttot2.val eq p45_interpolation_startYr(regi)), p45_taxCO2eq_path_gdx_ref(ttot2,regi)) !! value of p45_taxCO2eq_path_gdx_ref in p45_interpolation_startYr + * (1 - rPower( (t.val - p45_interpolation_startYr(regi)) / (p45_interpolation_endYr(regi) - p45_interpolation_startYr(regi)), p45_interpolation_exponent(regi))) + + sum(t2$(t2.val eq p45_interpolation_endYr(regi)), p45_taxCO2eq_regiDiff(t2,regi)) !! value of p45_taxCO2eq_regiDiff in p45_interpolation_endYr + * rPower( (t.val - p45_interpolation_startYr(regi)) / (p45_interpolation_endYr(regi) - p45_interpolation_startYr(regi)), p45_interpolation_exponent(regi)); + pm_taxCO2eq(t,regi)$(t.val ge p45_interpolation_endYr(regi)) = p45_taxCO2eq_regiDiff(t,regi); +); +display pm_taxCO2eq; + +*** Step IV.3: Lower bound pm_taxCO2eq by p45_taxCO2eq_path_gdx_ref if switch cm_taxCO2_lowerBound_path_gdx_ref is on +$ifthen.lowerBound "%cm_taxCO2_lowerBound_path_gdx_ref%" == "on" + pm_taxCO2eq(t,regi) = max(pm_taxCO2eq(t,regi), p45_taxCO2eq_path_gdx_ref(t,regi)); +$endIf.lowerBound +display pm_taxCO2eq; + +*** EOF ./modules/45_carbonprice/functionalForm/datainput.gms diff --git a/modules/45_carbonprice/functionalForm/declarations.gms b/modules/45_carbonprice/functionalForm/declarations.gms new file mode 100644 index 000000000..35a5a9837 --- /dev/null +++ b/modules/45_carbonprice/functionalForm/declarations.gms @@ -0,0 +1,86 @@ +*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | authors, and contributors see CITATION.cff file. This file is part +*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +*** | AGPL-3.0, you are granted additional permissions described in the +*** | REMIND License Exception, version 1.0 (see LICENSE file). +*** | Contact: remind@pik-potsdam.de +*** SOF ./modules/45_carbonprice/functionalForm/declarations.gms + +scalars +s45_taxCO2_startyear "CO2 tax provided by cm_taxCO2_startyear converted from $/t CO2eq to T$/GtC" + +$ifThen.taxCO2functionalForm1 "%cm_taxCO2_functionalForm%" == "linear" +s45_taxCO2_historical "historical level of CO2 tax converted from $/t CO2eq to T$/GtC" +s45_taxCO2_historicalYr "year of s45_taxCO2_historical" +$endIf.taxCO2functionalForm1 + +$ifThen.taxCO2regiDiff1 "%cm_taxCO2_regiDiff%" == "none" +$elseIf.taxCO2regiDiff1 "%cm_taxCO2_regiDiff%" == "gdpSpread" +s45_regiDiff_gdpThreshold "reference value for GDP per capita (1e3 $ PPP 2017) above which carbon price from global anchor trajectory is fully applied" +$else.taxCO2regiDiff1 +s45_regiDiff_startYr "year until which initial ratios of CO2 prices are applied and after which convergence starts" +$endIf.taxCO2regiDiff1 +; + +parameters +p45_taxCO2eq_anchor(ttot) "global anchor trajectory for regional CO2 price trajectories in T$/GtC = $/kgC" +p45_taxCO2eq_anchor_until2150(ttot) "global anchor trajectory continued until 2150 - as if there was no change in trajectory after cm_peakBudgYr. Needed if cm_peakBudgYr was shifted right" +p45_taxCO2eq_regiDiff(ttot,all_regi) "regional differentiated CO2 price trajectories in T$/GtC = $/kgC, used as intermediate step in deriving pm_taxCO2eq from p45_taxCO2eq_anchor" +p45_taxCO2eq_path_gdx_ref(ttot,all_regi) "CO2 tax trajectories from path_gdx_ref" + +p45_gdppcap_PPP(ttot,all_regi) "GDP per capita (1e3 $ PPP 2017)" +p45_regiDiff_convFactor(ttot,all_regi) "convergence factor for regional differentiation" +*** Only declaring additional parameters if cm_taxCO2_regiDiff is set to initialSpread10 or initialSpread20 +$ifThen.taxCO2regiDiff2 "%cm_taxCO2_regiDiff%" == "none" +$elseIf.taxCO2regiDiff2 "%cm_taxCO2_regiDiff%" == "gdpSpread" +$else.taxCO2regiDiff2 +p45_regiDiff_initialRatio(all_regi) "inital ratio between global anchor and regional differentiated CO2 price trajectories" +p45_regiDiff_endYr(all_regi) "end year of regional differentiation, i.e. regional carbon price equal to global anchor trajectory thereafter" +p45_regiDiff_endYr_data(ext_regi) "data provided by switch cm_taxCO2_regiDiff_endYr" +/ %cm_taxCO2_regiDiff_endYr% / +$endIf.taxCO2regiDiff2 + +p45_interpolation_startYr(all_regi) "start year of interpolation from p45_taxCO2eq_path_gdx_ref to p45_taxCO2eq_regiDiff" +p45_interpolation_endYr(all_regi) "end year of interpolation from p45_taxCO2eq_path_gdx_ref to p45_taxCO2eq_regiDiff" +p45_interpolation_exponent(all_regi) "interpolation exponent" +*** Only assigning values to p45_interpolation_data if cm_taxCO2_interpolation is not set to off, one_step, or two_steps +$ifThen.taxCO2interpolation1 "%cm_taxCO2_interpolation%" == "off" +$elseIf.taxCO2interpolation1 "%cm_taxCO2_interpolation%" == "one_step" +$elseIf.taxCO2interpolation1 "%cm_taxCO2_interpolation%" == "two_steps" +$else.taxCO2interpolation1 +p45_interpolation_data(ext_regi,ttot,ttot2) "regional exponent and timewindow for interpolation" +/ %cm_taxCO2_interpolation% / +$endIf.taxCO2interpolation1 +; + + + +*** Scalars only used in functionForm/postsolve.gms +scalars +s45_actualbudgetco2 "actual level of 2020-2100 cumulated emissions, including all CO2 for last iteration" +s45_actualbudgetco2_last "actual level of 2020-2100 cumulated emissions for previous iteration" /0/ +; + +*** Parameters only used in functionForm/postsolve.gms +parameters +p45_actualbudgetco2(ttot) "actual level of cumulated emissions starting from 2020 [GtCO2]" + +p45_taxCO2eq_iteration(iteration,ttot,all_regi) "save pm_taxCO2eq from each iteration for debugging" +p45_taxCO2eq_anchor_iteration(iteration,ttot) "save p45_taxCO2eq_anchor from each iteration for debugging" +o45_taxCO2eq_anchor_iterDiff_Itr(iteration) "track pm_taxCO2eq_anchor_iterationdiff over iterations" + +o45_diff_to_Budg(iteration) "Difference between actual CO2 budget and target CO2 budget" +o45_totCO2emi_peakBudgYr(iteration) "Total CO2 emissions in the peakBudgYr" +o45_peakBudgYr_Itr(iteration) "Year in which the CO2 budget is supposed to peak. Is changed in iterative_target_adjust = 9" +o45_factorRescale_taxCO2_afterPeakBudgYr(iteration) "Multiplicative factor for rescaling the CO2 price in the year after peakBudgYr - only needed if flip-flopping of peakBudgYr occurs" +o45_delay_increase_peakBudgYear(iteration) "Counter that tracks if flip-flopping of peakBudgYr happened. Starts an inner loop to try and overcome this" +o45_reached_until2150pricepath(iteration) "Counter that tracks if the inner loop of increasing the CO2 price AFTER peakBudgYr goes beyond the initial trajectory" +o45_totCO2emi_allYrs(ttot,iteration) "Global CO2 emissions over time and iterations. Needed to check the procedure to find the peakBudgYr" +o45_change_totCO2emi_peakBudgYr(iteration) "Measure for how much the CO2 emissions change around the peakBudgYr" +p45_factorRescale_taxCO2(iteration) "Multiplicative factor for rescaling the CO2 price to reach the target" +p45_factorRescale_taxCO2_Funneled(iteration) "Multiplicative factor for rescaling the CO2 price to reach the target - limited by an iteration-dependent funnel" +o45_pkBudgYr_flipflop(iteration) "Counter that tracks if flipfloping of cm_peakBudgYr occured in the last iterations" +; + + +*** EOF ./modules/45_carbonprice/functionalForm/declarations.gms diff --git a/modules/45_carbonprice/diffLin2Lin/not_used.txt b/modules/45_carbonprice/functionalForm/not_used.txt similarity index 87% rename from modules/45_carbonprice/diffLin2Lin/not_used.txt rename to modules/45_carbonprice/functionalForm/not_used.txt index a9cf44fe2..07e57f96a 100644 --- a/modules/45_carbonprice/diffLin2Lin/not_used.txt +++ b/modules/45_carbonprice/functionalForm/not_used.txt @@ -5,16 +5,12 @@ # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de name,type,reason -sm_c_2_co2,input,questionnaire vm_co2eq,input,questionnaire vm_emiFgas,input,questionnaire pm_globalMeanTemperature,input,questionnaire pm_temperatureImpulseResponseCO2,input,questionnaire pm_GDPGross,input,questionnaire -pm_ttot_val,input,questionnaire pm_ttot_2_tall,input,questionnaire -cm_emiscen,input,questionnaire -cm_co2_tax_growth,input,questionnaire cm_expoLinear_yearStart,input,questionnaire cm_carbonprice_temperatureLimit,input,questionnaire cm_NDC_divergentScenario,input,questionnaire diff --git a/modules/45_carbonprice/functionalForm/postsolve.gms b/modules/45_carbonprice/functionalForm/postsolve.gms new file mode 100644 index 000000000..9755f0fb2 --- /dev/null +++ b/modules/45_carbonprice/functionalForm/postsolve.gms @@ -0,0 +1,428 @@ +*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | authors, and contributors see CITATION.cff file. This file is part +*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +*** | AGPL-3.0, you are granted additional permissions described in the +*** | REMIND License Exception, version 1.0 (see LICENSE file). +*** | Contact: remind@pik-potsdam.de +*** SOF ./modules/45_carbonprice/functionalForm/postsolve.gms + +*** Only run postsolve if cm_iterative_target_adj is not equal to 0. +if((cm_iterative_target_adj ne 0), + +***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +*** Part I and II (Global anchor trajectory and post-peak behaviour): Adjustment of global anchor trajectory to meet (peak or end-of-century) CO2 budget target prescribed via cm_budgetCO2from2020. +*** If iterative_target_adj = 7 or 9, cm_peakBudgYr also adjusted. +***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*** Algorithm for end-of-century CO2 budget targets +if(cm_iterative_target_adj eq 5, +*JeS* Iteratively update regional CO2 tax trajectories / regional CO2 budget to reach the global emission budget (s45_actualbudgetco2 runs from 2020-2100, not peak budget) +*KK* for a time step of 5 years, the budget is calculated as 3 * 2020 + ts(2025-2090) + 5.5 * 2100; +*** 10-pm_ts("2090")/2 and pm_ts("2020")/2 are the time periods that haven't been taken into account in the sum over ttot. +*** 0.5 year of emissions is added for the two boundaries, such that the budget is calculated for 81 years. +s45_actualbudgetco2 = sum(ttot$(ttot.val le 2090 AND ttot.val > 2020), (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_ts(ttot))) + + sum(regi, vm_emiTe.l("2100",regi,"co2") + vm_emiCdr.l("2100",regi,"co2") + vm_emiMac.l("2100",regi,"co2")) * sm_c_2_co2 * (10 - pm_ts("2090")/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); +display s45_actualbudgetco2; + + if (cm_emiscen eq 6, + if(o_modelstat eq 2 AND ord(iteration) 0 AND abs(cm_budgetCO2from2020 - s45_actualbudgetco2) ge 0.5, !!only for optimal iterations, and not after the last one, and only if budget still possitive, and only if target not yet reached + sm_globalBudget_dev = s45_actualbudgetco2 / cm_budgetCO2from2020; +*** make sure that iteration converges: +*** use multiplicative for budgets higher than 1200 Gt; for lower budgets, use multiplicative adjustment only for first 3 iterations, + if(ord(iteration) lt 3 or cm_budgetCO2from2020 > 1200, + !! change in CO2 price through adjustment: new price - old price; needed for adjustment option 2 + pm_taxCO2eq_anchor_iterationdiff(t) = p45_taxCO2eq_anchor(t) * min(max((s45_actualbudgetco2/cm_budgetCO2from2020)** (25/(2 * iteration.val + 23)),0.5+iteration.val/208),2 - iteration.val/102) - p45_taxCO2eq_anchor(t); + p45_taxCO2eq_anchor(t) = p45_taxCO2eq_anchor(t) + pm_taxCO2eq_anchor_iterationdiff(t) ; +*** 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 p45_taxCO2eq_anchor cancel out -> only the difference term + pm_taxCO2eq_anchor_iterationdiff_tmp(t) = + max(pm_taxCO2eq_anchor_iterationdiff(t) * min(max((cm_budgetCO2from2020 - s45_actualbudgetco2)/(s45_actualbudgetco2 - s45_actualbudgetco2_last),-2),2),-p45_taxCO2eq_anchor(t)/2); + p45_taxCO2eq_anchor(t) = p45_taxCO2eq_anchor(t) + + max(pm_taxCO2eq_anchor_iterationdiff(t) * min(max((cm_budgetCO2from2020 - s45_actualbudgetco2)/(s45_actualbudgetco2 - s45_actualbudgetco2_last),-2),2),-p45_taxCO2eq_anchor(t)/2); + pm_taxCO2eq_anchor_iterationdiff(t) = pm_taxCO2eq_anchor_iterationdiff_tmp(t); + ); + o45_taxCO2eq_anchor_iterDiff_Itr(iteration) = pm_taxCO2eq_anchor_iterationdiff("2100"); + else + if(s45_actualbudgetco2 > 0 or abs(cm_budgetCO2from2020 - s45_actualbudgetco2) < 2, !! if model was not optimal, or if budget already reached, keep tax constant + p45_taxCO2eq_anchor(t) = p45_taxCO2eq_anchor(t); + o45_taxCO2eq_anchor_iterDiff_Itr(iteration) = 0; + else +*** if budget has turned negative, reduce CO2 price by 20% + pm_taxCO2eq_anchor_iterationdiff(t) = -0.2*p45_taxCO2eq_anchor(t); + p45_taxCO2eq_anchor(t) = p45_taxCO2eq_anchor(t) + pm_taxCO2eq_anchor_iterationdiff(t); + o45_taxCO2eq_anchor_iterDiff_Itr(iteration) = pm_taxCO2eq_anchor_iterationdiff("2100"); + ); + ); + display o45_taxCO2eq_anchor_iterDiff_Itr; +*** If functionalForm is linear, re-adjust global anchor trajectory to go through the point (cm_taxCO2_historicalYr, cm_taxCO2_historical) +$ifThen.taxCO2functionalForm2 "%cm_taxCO2_functionalForm%" == "linear" +p45_taxCO2eq_anchor(t)$(t.val lt 2110) = s45_taxCO2_historical + + (p45_taxCO2eq_anchor("2110") - s45_taxCO2_historical) / (2110 - s45_taxCO2_historicalYr) !! Yearly increase of CO2 price that interpolates between cm_taxCO2_historical in cm_taxCO2_historicalYr and p45_taxCO2eq_anchor in 2110 + * (t.val - s45_taxCO2_historicalYr) ; +p45_taxCO2eq_anchor(t)$(t.val gt 2110) = p45_taxCO2eq_anchor("2110"); +$endIf.taxCO2functionalForm2 + ); +); + +*** Algorithm for ENGAGE peakBudg formulation that results in a peak budget with zero net CO2 emissions afterwards +if(cm_iterative_target_adj eq 7, +*JeS/CB* Iteratively update regional CO2 tax trajectories / regional CO2 budget to reach the target for global peak budget, but make sure CO2 emissions afterward are close to zero on the global level +*KK* p45_actualbudgetco2 for ttot > 2020. It includes emissions from 2020 to ttot (including ttot). +*** (ttot.val - (ttot - 1).val)/2 and pm_ts("2020")/2 are the time periods that haven't been taken into account in the sum over ttot2. +*** 0.5 year of emissions is added for the two boundaries, such that the budget includes emissions in ttot. +p45_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); +s45_actualbudgetco2 = smax(t$(t.val le cm_peakBudgYr AND t.val le 2100),p45_actualbudgetco2(t)); + +o45_peakBudgYr_Itr(iteration) = cm_peakBudgYr; + +display s45_actualbudgetco2, p45_actualbudgetco2; + + if (cm_emiscen eq 9, + if(o_modelstat eq 2 AND ord(iteration) 0 AND abs(cm_budgetCO2from2020 - s45_actualbudgetco2) ge 0.5, !!only for optimal iterations, and not after the last one, and only if budget still possitive, and only if target not yet reached + display p45_taxCO2eq_anchor; +*** make sure that iteration converges: +*** use multiplicative for budgets higher than 1600 Gt; for lower budgets, use multiplicative adjustment only for first 3 iterations, + if(ord(iteration) lt 3 or cm_budgetCO2from2020 > 1600, + !! change in CO2 price through adjustment: new price - old price; needed for adjustment option 2 + pm_taxCO2eq_anchor_iterationdiff(t) = p45_taxCO2eq_anchor(t) * min(max((s45_actualbudgetco2/cm_budgetCO2from2020)** (25/(2 * iteration.val + 23)),0.5+iteration.val/208),2 - iteration.val/102) - p45_taxCO2eq_anchor(t); + p45_taxCO2eq_anchor(t)$(t.val le cm_peakBudgYr) = p45_taxCO2eq_anchor(t) + pm_taxCO2eq_anchor_iterationdiff(t) ; + p45_taxCO2eq_anchor_until2150(t) = p45_taxCO2eq_anchor_until2150(t) + pm_taxCO2eq_anchor_iterationdiff(t) ; +*** 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 "p45_taxCO2eq_anchor" cancel out -> only the difference term + !! until cm_peakBudgYr: expolinear price trajectory + pm_taxCO2eq_anchor_iterationdiff_tmp(t) = + max(pm_taxCO2eq_anchor_iterationdiff(t) * min(max((cm_budgetCO2from2020 - s45_actualbudgetco2)/(s45_actualbudgetco2 - s45_actualbudgetco2_last),-2),2),-p45_taxCO2eq_anchor(t)/2); + p45_taxCO2eq_anchor(t)$(t.val le cm_peakBudgYr) = p45_taxCO2eq_anchor(t) + + max(pm_taxCO2eq_anchor_iterationdiff(t) * min(max((cm_budgetCO2from2020 - s45_actualbudgetco2)/(s45_actualbudgetco2 - s45_actualbudgetco2_last),-2),2),-p45_taxCO2eq_anchor(t)/2); + p45_taxCO2eq_anchor_until2150(t) = p45_taxCO2eq_anchor_until2150(t) + + max(pm_taxCO2eq_anchor_iterationdiff(t) * min(max((cm_budgetCO2from2020 - s45_actualbudgetco2)/(s45_actualbudgetco2 - s45_actualbudgetco2_last),-2),2),-p45_taxCO2eq_anchor_until2150(t)/2); + pm_taxCO2eq_anchor_iterationdiff(t) = pm_taxCO2eq_anchor_iterationdiff_tmp(t); + !! 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 + ); + o45_taxCO2eq_anchor_iterDiff_Itr(iteration) = pm_taxCO2eq_anchor_iterationdiff("2100"); + display o45_taxCO2eq_anchor_iterDiff_Itr; + else + if(s45_actualbudgetco2 > 0 or abs(cm_budgetCO2from2020 - s45_actualbudgetco2) < 2, !! if model was not optimal, or if budget already reached, keep tax constant + p45_taxCO2eq_anchor(t) = p45_taxCO2eq_anchor(t); + else +*** if budget has turned negative, reduce CO2 price by 20% + p45_taxCO2eq_anchor(t) = 0.8*p45_taxCO2eq_anchor(t); + p45_taxCO2eq_anchor_until2150(t) = 0.8*p45_taxCO2eq_anchor_until2150(t); + ); + ); +*** after cm_peakBudgYr: always adjust to bring emissions close to zero + p45_taxCO2eq_anchor(t)$(t.val gt cm_peakBudgYr) = p45_taxCO2eq_anchor(t) + p45_taxCO2eq_anchor(t)*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 +*** similar code block as used in iterative-adjust 9 below (credit to RP) + o45_diff_to_Budg(iteration) = (cm_budgetCO2from2020 - s45_actualbudgetco2); + o45_totCO2emi_peakBudgYr(iteration) = sum(t$(t.val = cm_peakBudgYr), sum(regi2, vm_emiAll.l(t,regi2,"co2")) ); + o45_totCO2emi_allYrs(t,iteration) = sum(regi2, vm_emiAll.l(t,regi2,"co2") ); + o45_change_totCO2emi_peakBudgYr(iteration) = sum(ttot$(ttot.val = cm_peakBudgYr), (o45_totCO2emi_allYrs(ttot-1,iteration) - o45_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, o45_diff_to_Budg, o45_peakBudgYr_Itr, o45_totCO2emi_allYrs, o45_totCO2emi_peakBudgYr, o45_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( abs(o45_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( ( (o45_totCO2emi_peakBudgYr(iteration) < -(0.1 + o45_change_totCO2emi_peakBudgYr(iteration)) ) AND (cm_peakBudgYr > 2040) ), !! no peaking time before 2040 + if( ( (o45_totCO2emi_peakBudgYr(iteration) < -(0.1) ) AND (cm_peakBudgYr > 2040) ), !! no peaking time before 2040 + display "shift peakBudgYr left"; + o45_peakBudgYr_Itr(iteration+1) = pm_ttot_val(ttot - 1); +*** p45_taxCO2eq_anchor(t)$(t.val gt pm_ttot_val(ttot - 1)) = p45_taxCO2eq_anchor_until2150(ttot-1) + (t.val - pm_ttot_val(ttot - 1)) * cm_taxCO2_IncAfterPeakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by cm_taxCO2_IncAfterPeakBudgYr 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)),p45_taxCO2eq_anchor(t2))) > sum(regi,sum(t2$(t2.val = pm_ttot_val(ttot+1)),p45_taxCO2eq_anchor_until2150(t2)))*1.2 ) AND (cm_peakBudgYr < 2100) ), !! if peaking time would be after 2100, keep 2100 budget year + if( (iteration.val > 2) AND ( o45_peakBudgYr_Itr(iteration - 1) > o45_peakBudgYr_Itr(iteration) ) AND ( o45_peakBudgYr_Itr(iteration - 2) = o45_peakBudgYr_Itr(iteration) ) , !! if the target year was just shifted left after being shifted right + o45_peakBudgYr_Itr(iteration+1) = o45_peakBudgYr_Itr(iteration); !! don't shift right again immediately + else + display "shift peakBudgYr right"; + o45_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)), + p45_taxCO2eq_anchor(t) = p45_taxCO2eq_anchor_until2150(t); + ); + ); + + else !! don't do anything if the peakBudgYr is already at the corner values (2040, 2100) or if the emissions in the peakBudgYr are close to 0 + o45_peakBudgYr_Itr(iteration+1) = o45_peakBudgYr_Itr(iteration) + ); + ); + cm_peakBudgYr = o45_peakBudgYr_Itr(iteration+1); + display cm_peakBudgYr; + ); +*** If functionalForm is linear, re-adjust global anchor trajectory to go through the point (cm_taxCO2_historicalYr, cm_taxCO2_historical) +$ifThen.taxCO2functionalForm3 "%cm_taxCO2_functionalForm%" == "linear" +p45_taxCO2eq_anchor_until2150(t) = s45_taxCO2_historical + + (sum(t2$(t2.val eq cm_peakBudgYr), p45_taxCO2eq_anchor_until2150(t2)) - s45_taxCO2_historical) / (cm_peakBudgYr - s45_taxCO2_historicalYr) !! Yearly increase of CO2 price that interpolates between cm_taxCO2_historical in cm_taxCO2_historicalYr and p45_taxCO2eq_anchor_until2150 in peak year + * (t.val - s45_taxCO2_historicalYr) ; +p45_taxCO2eq_anchor(t)$(t.val le cm_peakBudgYr) = p45_taxCO2eq_anchor_until2150(t); +p45_taxCO2eq_anchor(t)$(t.val gt 2110) = p45_taxCO2eq_anchor("2110"); +***TODO: CHECK IF ALGORITHM DOES WHAT IS EXPECTED. CURRENTLY NO RE-ADJUSTMENT OF GLOBAL ANCHOR TRAJECTORY BETWEEN PEAK YEAR AND 2110 AS NO SUCH ADJUSTMENT WAS CONTAINED IN ORIGINAL ALGORITHM +$endIf.taxCO2functionalForm3 + ); + display p45_taxCO2eq_anchor_until2150, p45_taxCO2eq_anchor; +); + + +*** Algorithm for new peakBudg formulation that results in a peak budget with linear increase given by cm_taxCO2_IncAfterPeakBudgYr +if (cm_iterative_target_adj eq 9, +*' Iteratively update regional CO2 tax trajectories / regional CO2 budget to reach the target for global peak budget, with a linear increase afterwards given by cm_taxCO2_IncAfterPeakBudgYr. The +*' peak budget year is determined automatically (within the time window 2040--2100) + +*' `p45_actualbudgetco2(ttot)` includes emissions from 2020 to `ttot` (inclusive). + p45_actualbudgetco2(ttot)$( 2020 lt ttot.val ) + = sum((regi,ttot2)$( 2020 le ttot2.val AND ttot2.val le ttot.val ), + ( vm_emiTe.l(ttot2,regi,"co2") + + vm_emiCdr.l(ttot2,regi,"co2") + + vm_emiMac.l(ttot2,regi,"co2") + ) + * ( !! second half of the 2020 period: 2020-22 + (pm_ts(ttot2) / 2 + 0.5)$( ttot2.val eq 2020 ) + !! entire middle periods + + (pm_ts(ttot2))$( 2020 lt ttot2.val AND ttot2.val lt ttot.val ) + !! first half of the final period, until the end of the middle year + + ((pm_ttot_val(ttot) - pm_ttot_val(ttot-1)) / 2 + 0.5)$( + ttot2.val eq ttot.val ) + ) + ) + * sm_c_2_co2; + + s45_actualbudgetco2 = smax(t$( t.val le cm_peakBudgYr ), p45_actualbudgetco2(t)); + + o45_peakBudgYr_Itr(iteration) = cm_peakBudgYr; + + display s45_actualbudgetco2, p45_actualbudgetco2; + + if(cm_emiscen eq 9, + +*** --------A: calculate the new CO2 price path, the CO2 tax rescale factor---------------------------------------------------------- + + if(o_modelstat eq 2 AND ord(iteration) < cm_iteration_max AND s45_actualbudgetco2 > 0 AND abs(cm_budgetCO2from2020 - s45_actualbudgetco2) ge 2, !!only for optimal iterations, and not after the last one, and only if budget still possitive, and only if target not yet reached + display p45_taxCO2eq_anchor; + + if( ( ( p45_actualbudgetco2("2100") > 1.1 * s45_actualbudgetco2 ) AND ( abs(cm_budgetCO2from2020 - s45_actualbudgetco2) < 50 ) AND (iteration.val < 12) ), + 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"; + s45_actualbudgetco2 = 0.5 * (p45_actualbudgetco2("2100") + s45_actualbudgetco2); !! due to the potential strong jump in cm_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; + ); + +*** --------A1: for that, calculate the CO2 tax rescale factor--- + + if(iteration.val lt 10, + p45_factorRescale_taxCO2(iteration) = max(0.1, (s45_actualbudgetco2/cm_budgetCO2from2020) ) ** 3; + else + p45_factorRescale_taxCO2(iteration) = max(0.1, (s45_actualbudgetco2/cm_budgetCO2from2020) ) ** 2; + ); + p45_factorRescale_taxCO2_Funneled(iteration) = + max(min( 2 * EXP( -0.15 * iteration.val ) + 1.01 ,p45_factorRescale_taxCO2(iteration)), + 1/ ( 2 * EXP( -0.15 * iteration.val ) + 1.01) + ); + + pm_taxCO2eq_anchor_iterationdiff(t) = max(1* sm_DptCO2_2_TDpGtC, p45_taxCO2eq_anchor(t) * p45_factorRescale_taxCO2_Funneled(iteration) ) - p45_taxCO2eq_anchor(t); + p45_taxCO2eq_anchor_until2150(t) = max(1* sm_DptCO2_2_TDpGtC, p45_taxCO2eq_anchor_until2150(t) * p45_factorRescale_taxCO2_Funneled(iteration) ); + p45_taxCO2eq_anchor(t) = max(1* sm_DptCO2_2_TDpGtC, p45_taxCO2eq_anchor(t) * p45_factorRescale_taxCO2_Funneled(iteration) ); !! rescale co2tax + loop(t2$(t2.val eq cm_peakBudgYr), +*** Note: Adjustment of starting point linear curve is done at the end + p45_taxCO2eq_anchor(t)$(t.val gt cm_peakBudgYr) = p45_taxCO2eq_anchor_until2150(t2) + (t.val - t2.val) * cm_taxCO2_IncAfterPeakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by cm_taxCO2_IncAfterPeakBudgYr per year + ); + + display p45_factorRescale_taxCO2, p45_factorRescale_taxCO2_Funneled; + + o45_taxCO2eq_anchor_iterDiff_Itr(iteration) = pm_taxCO2eq_anchor_iterationdiff("2100"); + + display o45_taxCO2eq_anchor_iterDiff_Itr; + + + else !! if(o_modelstat eq 2 AND ord(iteration) 0 AND abs(cm_budgetCO2from2020 )) + if(s45_actualbudgetco2 > 0 or abs(cm_budgetCO2from2020 - s45_actualbudgetco2) < 2, !! if model was not optimal, or if budget already reached, keep tax constant + p45_factorRescale_taxCO2(iteration) = 1; + p45_factorRescale_taxCO2_Funneled(iteration) = 1; + p45_taxCO2eq_anchor_until2150(t) = p45_taxCO2eq_anchor_until2150(t); !! nothing changes + else +*** if budget has turned negative, reduce CO2 price by 20% + p45_factorRescale_taxCO2(iteration) = 0.8; + p45_factorRescale_taxCO2_Funneled(iteration) = p45_factorRescale_taxCO2(iteration); + + p45_taxCO2eq_anchor_until2150(t) = p45_factorRescale_taxCO2(iteration) * p45_taxCO2eq_anchor_until2150(t); + p45_taxCO2eq_anchor(t) = p45_factorRescale_taxCO2(iteration) * p45_taxCO2eq_anchor(t); + ); + ); !! if(o_modelstat eq 2 AND ord(iteration) 0 AND abs(cm_budgetCO2from2020 - s45_actualbudgetco2) ge 2, + + display p45_taxCO2eq_anchor, p45_taxCO2eq_anchor_until2150; + + +*** -------B: checking the peak timing, if cm_peakBudgYr is still correct or needs to be shifted----------------------- + + o45_diff_to_Budg(iteration) = (cm_budgetCO2from2020 - s45_actualbudgetco2); + o45_totCO2emi_peakBudgYr(iteration) = sum(t$(t.val = cm_peakBudgYr), sum(regi2, vm_emiAll.l(t,regi2,"co2")) ); + o45_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 + o45_change_totCO2emi_peakBudgYr(iteration) = sum(ttot$(ttot.val = cm_peakBudgYr), (o45_totCO2emi_allYrs(ttot-1,iteration) - o45_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, o45_diff_to_Budg, o45_peakBudgYr_Itr, o45_totCO2emi_allYrs, o45_totCO2emi_peakBudgYr, o45_change_totCO2emi_peakBudgYr; + + +*** ----B1: check if cm_peakBudgYr should be shifted left or right: + if( abs(o45_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"; + + !! check if the target year was just shifted back left after being shifted right before + if ( (iteration.val > 2) AND ( o45_peakBudgYr_Itr(iteration - 1) > o45_peakBudgYr_Itr(iteration) ) AND ( o45_peakBudgYr_Itr(iteration - 2) = o45_peakBudgYr_Itr(iteration) ), + o45_pkBudgYr_flipflop(iteration) = 1; + display "flipflop observed (before loop)"; + ); + + loop(ttot$(ttot.val = cm_peakBudgYr), !! look at the peak timing + if( ( (o45_totCO2emi_peakBudgYr(iteration) < -(0.1 + o45_change_totCO2emi_peakBudgYr(iteration)) ) AND (cm_peakBudgYr > 2040) ), !! no peaking time before 2040 + display "shift peakBudgYr left"; + o45_peakBudgYr_Itr(iteration+1) = pm_ttot_val(ttot - 1); + p45_taxCO2eq_anchor(t)$(t.val gt pm_ttot_val(ttot - 1)) = p45_taxCO2eq_anchor_until2150(ttot-1) + (t.val - pm_ttot_val(ttot - 1)) * cm_taxCO2_IncAfterPeakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by cm_taxCO2_IncAfterPeakBudgYr per year after peakBudgYr + + elseif ( ( o45_totCO2emi_peakBudgYr(iteration) > (0.1 + o45_change_totCO2emi_peakBudgYr(iteration)) ) AND (cm_peakBudgYr < 2100) ), !! if peaking time would be after 2100, keep 2100 budget year + if( (o45_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"; + o45_peakBudgYr_Itr(iteration+1) = o45_peakBudgYr_Itr(iteration); !! don't shift right again immediately, but go into a different loop: + o45_delay_increase_peakBudgYear(iteration) = 1; + elseif ( o45_delay_increase_peakBudgYear(iteration) eq 1 ), + display "still in separate loop trying to resolve flip-flop behavior"; + o45_peakBudgYr_Itr(iteration+1) = o45_peakBudgYr_Itr(iteration); !! keep current peakBudgYr, + else + display "shift peakBudgYr right"; + o45_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)), + p45_taxCO2eq_anchor(t) = p45_taxCO2eq_anchor_until2150(ttot+1) + + (t.val - pm_ttot_val(ttot + 1)) * cm_taxCO2_IncAfterPeakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by cm_taxCO2_IncAfterPeakBudgYr per year + ); + ); + + else !! don't do anything if the peakBudgYr is already at the corner values (2040, 2100) or if the emissions in the peakBudgYr are close enough to 0 (within the range of +/- o45_change_totCO2emi_peakBudgYr) + o45_peakBudgYr_Itr(iteration+1) = o45_peakBudgYr_Itr(iteration) + ); + ); + cm_peakBudgYr = o45_peakBudgYr_Itr(iteration+1); + display cm_peakBudgYr; + ); +*** Note: Adjustment of starting point linear curve is done at the end + p45_taxCO2eq_anchor(t)$(t.val le cm_peakBudgYr) = p45_taxCO2eq_anchor_until2150(t); !! 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 + if (o45_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(t2$(t2.val eq pm_ttot_val(ttot+1)), !! set t2 to the following time step + o45_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. + + !! in case the normal linear extension still is not enough to get emissions to 0 after the peakBudgYr, shift peakBudgYr right again: + if( ( o45_reached_until2150pricepath(iteration-1) eq 1 ) AND ( o45_totCO2emi_peakBudgYr(iteration) > (0.1 + o45_change_totCO2emi_peakBudgYr(iteration)) ), + display "price in following year reached original path in previous iteration and is still not enough -> shift peakBudgYr to right"; + o45_delay_increase_peakBudgYear(iteration+1) = 0; !! probably is not necessary + o45_reached_until2150pricepath(iteration) = 0; + o45_peakBudgYr_Itr(iteration+1) = t2.val; !! shift PeakBudgYear to the following time step + p45_taxCO2eq_anchor(t2) = p45_taxCO2eq_anchor_until2150(t2) ; !! set CO2 price in t2 to value in the "continuous path" + + elseif ( ( o45_reached_until2150pricepath(iteration-1) eq 1 ) AND ( o45_totCO2emi_peakBudgYr(iteration) < (0.1 + o45_change_totCO2emi_peakBudgYr(iteration)) ) ), + display "New intermediate price in timestep after cm_peakBudgYr is sufficient to stabilize peaking year - go back to normal loop"; + o45_delay_increase_peakBudgYear(iteration+1) = 0; !! probably is not necessary + o45_reached_until2150pricepath(iteration) = 0; + o45_peakBudgYr_Itr(iteration+1) = o45_peakBudgYr_Itr(iteration); + 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, + o45_delay_increase_peakBudgYear(iteration+1) = 1; !! make sure next iteration peakBudgYr is not shifted right again + o45_peakBudgYr_Itr(iteration+1) = o45_peakBudgYr_Itr(iteration); + p45_taxCO2eq_anchor(t2) = max(p45_taxCO2eq_anchor(ttot), !! at least as high as the price in the peakBudgYr + p45_taxCO2eq_anchor(t2) * (o45_factorRescale_taxCO2_afterPeakBudgYr(iteration) / p45_factorRescale_taxCO2_Funneled(iteration) ) !! the full path was already rescaled by p45_factorRescale_taxCO2_Funneled, so adjust the second rescaling + ); + loop(regi, !! this loop is necessary to allow the <-comparison in the next if statement + if( p45_taxCO2eq_anchor_until2150(t2) < p45_taxCO2eq_anchor(t2) , !! 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%"; + p45_taxCO2eq_anchor(t2) = 0.99 * p45_taxCO2eq_anchor_until2150(t2); !! 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 + o45_reached_until2150pricepath(iteration) = 1; !! upward CO2 price correction reached the continued price path - check in next iteration if this is high enough. + ); + ); + ); + + display o45_factorRescale_taxCO2_afterPeakBudgYr; + p45_taxCO2eq_anchor(t)$(t.val gt t2.val) = p45_taxCO2eq_anchor(t2) + (t.val - t2.val) * cm_taxCO2_IncAfterPeakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by cm_taxCO2_IncAfterPeakBudgYr 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 = o45_peakBudgYr_Itr(iteration+1); !! this has to happen outside the loop, otherwise the loop condition might be true twice + ); !! if o45_delay_increase_peakBudgYear(iteration) = 1, !! if there was a flip-floping in the previous iterations, try to solve this + +*** If functionalForm is linear, re-adjust global anchor trajectory to go through the point (cm_taxCO2_historicalYr, cm_taxCO2_historical) +$ifThen.taxCO2functionalForm4 "%cm_taxCO2_functionalForm%" == "linear" +p45_taxCO2eq_anchor_until2150(t) = s45_taxCO2_historical + + (sum(t2$(t2.val eq cm_peakBudgYr), p45_taxCO2eq_anchor(t2)) - s45_taxCO2_historical) / (cm_peakBudgYr - s45_taxCO2_historicalYr) !! Yearly increase of CO2 price that interpolates between cm_taxCO2_historical in cm_taxCO2_historicalYr and p45_taxCO2eq_anchor in peak year + * (t.val - s45_taxCO2_historicalYr) ; +p45_taxCO2eq_anchor(t)$(t.val le cm_peakBudgYr) = p45_taxCO2eq_anchor_until2150(t); +p45_taxCO2eq_anchor(t)$(t.val gt cm_peakBudgYr) = sum(t2$(t2.val eq cm_peakBudgYr), p45_taxCO2eq_anchor_until2150(t2)) !! CO2 tax in peak budget year + + (t.val - cm_peakBudgYr) * cm_taxCO2_IncAfterPeakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by cm_taxCO2inc_after_peakBudgYr per year +p45_taxCO2eq_anchor(t)$(t.val gt 2110) = p45_taxCO2eq_anchor("2110"); +$endIf.taxCO2functionalForm4 + + display p45_taxCO2eq_anchor, p45_taxCO2eq_anchor_until2150, o45_delay_increase_peakBudgYear, o45_reached_until2150pricepath, o45_peakBudgYr_Itr, o45_pkBudgYr_flipflop, cm_peakBudgYr; + ); !! if cm_emiscen eq 9, +); !! if cm_iterative_target_adj eq 9, + +*** Save s45_actualbudgetco2 for having it available in next iteration: +s45_actualbudgetco2_last = s45_actualbudgetco2; + + +***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +*** Part III (Regional differentiation): Re-create regional carbon price trajectories p45_taxCO2eq_regiDiff using p45_taxCO2eq_anchor (updated in parts I-II above) and p45_regiDiff_convFactor (computed in datainput) +***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +p45_taxCO2eq_regiDiff(t,regi) = p45_regiDiff_convFactor(t,regi) * p45_taxCO2eq_anchor(t); +display p45_taxCO2eq_regiDiff; + +***------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ +*** Part IV (Interpolation from path_gdx_ref): Re-create interpolation based on p45_taxCO2eq_regiDiff (updated in part III above) and p45_interpolation_exponent, p45_interpolation_startYr, p45_interpolation_endYr (computed in datainput) +***----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*** Re-reate interpolation for all timesteps after cm_startyear +loop(regi, + pm_taxCO2eq(t,regi)$(t.val lt p45_interpolation_startYr(regi)) = p45_taxCO2eq_path_gdx_ref(t,regi); + pm_taxCO2eq(t,regi)$((t.val ge p45_interpolation_startYr(regi)) and (t.val lt p45_interpolation_endYr(regi))) = + sum(ttot2$(ttot2.val eq p45_interpolation_startYr(regi)), p45_taxCO2eq_path_gdx_ref(ttot2,regi)) !! value of p45_taxCO2eq_path_gdx_ref in p45_interpolation_startYr + * (1 - rPower( (t.val - p45_interpolation_startYr(regi)) / (p45_interpolation_endYr(regi) - p45_interpolation_startYr(regi)), p45_interpolation_exponent(regi))) + + sum(t2$(t2.val eq p45_interpolation_endYr(regi)), p45_taxCO2eq_regiDiff(t2,regi)) !! value of p45_taxCO2eq_regiDiff in p45_interpolation_endYr + * rPower( (t.val - p45_interpolation_startYr(regi)) / (p45_interpolation_endYr(regi) - p45_interpolation_startYr(regi)), p45_interpolation_exponent(regi)); + pm_taxCO2eq(t,regi)$(t.val ge p45_interpolation_endYr(regi)) = p45_taxCO2eq_regiDiff(t,regi); +); +display pm_taxCO2eq; + +*** Re-introduce lower bound pm_taxCO2eq by p45_taxCO2eq_path_gdx_ref if switch cm_taxCO2_lowerBound_path_gdx_ref is on +$ifthen.lowerBound "%cm_taxCO2_lowerBound_path_gdx_ref%" == "on" + pm_taxCO2eq(t,regi) = max(pm_taxCO2eq(t,regi), p45_taxCO2eq_path_gdx_ref(t,regi)); +$endIf.lowerBound +display pm_taxCO2eq; + +*** Save pm_taxCO2eq and p45_taxCO2eq_anchor over iterations for debugging +p45_taxCO2eq_iteration(iteration,ttot,regi) = pm_taxCO2eq(ttot,regi); +p45_taxCO2eq_anchor_iteration(iteration,t) = p45_taxCO2eq_anchor(t); + +); +*** EOF ./modules/45_carbonprice/functionalForm/postsolve.gms diff --git a/modules/45_carbonprice/functionalForm/realization.gms b/modules/45_carbonprice/functionalForm/realization.gms new file mode 100644 index 000000000..82a99be30 --- /dev/null +++ b/modules/45_carbonprice/functionalForm/realization.gms @@ -0,0 +1,46 @@ +*** | (C) 2006-2023 Potsdam Institute for Climate Impact Research (PIK) +*** | authors, and contributors see CITATION.cff file. This file is part +*** | of REMIND and licensed under AGPL-3.0-or-later. Under Section 7 of +*** | AGPL-3.0, you are granted additional permissions described in the +*** | REMIND License Exception, version 1.0 (see LICENSE file). +*** | Contact: remind@pik-potsdam.de +*** SOF ./modules/45_carbonprice/functionalForm/realization.gms + +*' @description: Carbon price trajectory follows a prescribed functional form (linear/exponential) - either until peak year or until end-of-century - +*' and can be endogenously adjusted to meet CO2 budget targets - either peak or end-of-century - that are formulated in terms of total cumulated CO2 emissions from 2020 (c_budgetCO2from2020). +*' Flexible choices for regional carbon price differentiation. + +***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +*** The realization uses a global anchor trajectory based on which the regional carbon price trajectories are defined. +*** Part I (Global anchor trajectory): The functional form (linear/exponential) of the global anchor trajectory is chosen via cm_taxCO2_functionalForm. +*** The (initial) carbon price in cm_startyear is chosen via cm_taxCO2_startyear. This value is endogenously adjusted to meet CO2 budget targets if cm_iterative_target_adj is set to 5, 7, or 9. +*** (linear): The linear curve is determined by the two points (cm_taxCO2_historicalYr, cm_taxCO2_historical) and (cm_startyear, cm_taxCO2_startyear). +*** By default, cm_taxCO2_historicalYr is the last timestep before cm_startyear, and cm_taxCO2_historical is the carbon price in that timestep in the reference run (path_gdx_ref) - computed as the maximum of pm_taxCO2eq over all regions. +*** (exponential): The exponential curve is determined by exponential growth rate (cm_taxCO2_expGrowth). +*** Part II (Post-peak behaviour): The global anchor trajectory can be adjusted after reaching the peak of global CO2 emissions in cm_peakBudgYr. +*** The (initial) choice of cm_peakBudgYr is endogenously adjusted if cm_iterative_target_adj is set to 7 or 9. +*** (with iterative_target_adj = 0): after cm_peakBudgYr, the global anchor trajectory increases linearly with fixed annual increase given by cm_taxCO2_IncAfterPeakBudgYr (default = 0, i.e. constant), +*** set cm_peakBudgYr = 2110 to avoid adjustment +*** (with iterative_target_adj = 5): no adjustment to the functional form after cm_peakBudgYr +*** (with iterative_target_adj = 7): after cm_peakBudgYr, the global anchor trajectory is adjusted so that global net CO2 emissions stay close to zero +*** (with iterative_target_adj = 9): after cm_peakBudgYr, the global anchor trajectory increases linearly with fixed annual increase given by cm_taxCO2_IncAfterPeakBudgYr (default = 0, i.e. constant) +*** Part III (Regional differentiation): Regional carbon price differentiation relative to global anchor trajectory is chosen via cm_taxCO2_regiDiff. +*** (none): No regional differetiation, i.e. uniform carbon pricing +*** (initialSpread10): Maximal initial spread of carbon prices in 2030 between OECD regions and poorest region is equal to 10. Initial spread for each region determined based on GDP per capita (PPP) in 2015. Carbon prices converge using quadratic phase-in until cm_taxCO2_regiDiff_endYr (default = 2050). +*** (initialSpread20): Maximal initial spread of carbon prices in 2030 between OECD regions and poorest region is equal to 20. Initial spread for each region determined based on GDP per capita (PPP) in 2015. Carbon prices converge using quadratic phase-in until cm_taxCO2_regiDiff_endYr (default = 2050). +*** (gdpSpread): Regional differentiation based on GDP per capita (PPP) throughout the century. Uses current GDP per capita (PPP) of OECD countries - around 50'000 US$2017 - as threshold for application of full carbon price. +*** Part IV (Interpolation from path_gdx_ref): To smoothen a potential jump of carbon prices in cm_startyear, an interpolation between (a) the carbon prices before cm_startyear provided by path_gdx_ref and (b) the carbon prices from cm_startyear onward defined by parts I-III can be chosen via cm_taxCO2_interpolation +*** In addition, the carbon prices provided by path_gdx_ref are used as lower bound if switch cm_taxCO2_lowerBound_path_gdx_ref is on. +*** (off): no interpolation, i.e. (b) is used from cm_startyear onward +*** (one_step): linear interpolation within 10 years between (a) and (b). For example, if cm_startyear = 2030, it uses (a) until 2025, the average of (a) and (b) in 2030, and (b) from 2035. +*** (two_steps): linear interpolation within 15 years between (a) and (b). For example, if cm_startyear = 2030, it uses (a) until 2025, weighted averages of (a) and (b) in 2030 and 2035, and (b) from 2040. +*** For manual settings, see description of the switch +***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*####################### R SECTION START (PHASES) ############################## +$Ifi "%phase%" == "declarations" $include "./modules/45_carbonprice/functionalForm/declarations.gms" +$Ifi "%phase%" == "datainput" $include "./modules/45_carbonprice/functionalForm/datainput.gms" +$Ifi "%phase%" == "postsolve" $include "./modules/45_carbonprice/functionalForm/postsolve.gms" +*######################## R SECTION END (PHASES) ############################### + +*** EOF ./modules/45_carbonprice/functionalForm/realization.gms diff --git a/modules/45_carbonprice/module.gms b/modules/45_carbonprice/module.gms index c38c6ed53..1ac3c0eab 100644 --- a/modules/45_carbonprice/module.gms +++ b/modules/45_carbonprice/module.gms @@ -9,16 +9,16 @@ *' @title Carbonprice *' *' @description -*' The carbonprice module sets (exogenously given price path or predefined level in start year and linear/exponential increase afterwards) -*' or adjusts carbon price trajectories between iterations s.t. the desired climate policy targets are met. The carbon price is the main indicator -*' to reflect the increase in climate policy ambition over time. +*' The carbonprice module sets or adjusts carbon price trajectories between iterations s.t. the desired climate policy targets are met. +*' Carbon price trajectories either (a) follow a prescribed funtional form (linear/exponential), (b) relect NPi or NDC targets, or (c) are set exogenously. +*' The carbon price is the main indicator to reflect the change in climate policy ambition over time. *' Carbon prices are potentially defined by three modules: *' - 45_carbonprice: define the carbon price necessary to reach global emission targets following specific price trajectories. *' - 46_carbonpriceRegi: add a markup pm_taxCO2eqRegi to 45_carbonprice estimations to reach specific NDC or net zero targets *' - 47_regipol: under the regiCarbonPrice realisation, define more detailed region or emissions market specific targets, overwriting the all other carbon prices for selected regions. -*' @authors Christoph Bertram, Gunnar Luderer, Robert Pietzcker +*' @authors Christoph Bertram, Laurin Koehler-Schindler, Gunnar Luderer, Rahel Mandaroux, Robert Pietzcker, Oliver Richters *###################### R SECTION START (MODULETYPES) ########################## $Ifi "%carbonprice%" == "NDC" $include "./modules/45_carbonprice/NDC/realization.gms" @@ -26,10 +26,9 @@ $Ifi "%carbonprice%" == "NPi" $include "./modules/45_carbonprice/NPi/realization $Ifi "%carbonprice%" == "NPi2025" $include "./modules/45_carbonprice/NPi2025/realization.gms" $Ifi "%carbonprice%" == "NPi2025expo" $include "./modules/45_carbonprice/NPi2025expo/realization.gms" $Ifi "%carbonprice%" == "NPiexpo" $include "./modules/45_carbonprice/NPiexpo/realization.gms" -$Ifi "%carbonprice%" == "diffExp2Lin" $include "./modules/45_carbonprice/diffExp2Lin/realization.gms" -$Ifi "%carbonprice%" == "diffLin2Lin" $include "./modules/45_carbonprice/diffLin2Lin/realization.gms" $Ifi "%carbonprice%" == "exogenous" $include "./modules/45_carbonprice/exogenous/realization.gms" $Ifi "%carbonprice%" == "expoLinear" $include "./modules/45_carbonprice/expoLinear/realization.gms" +$Ifi "%carbonprice%" == "functionalForm" $include "./modules/45_carbonprice/functionalForm/realization.gms" $Ifi "%carbonprice%" == "none" $include "./modules/45_carbonprice/none/realization.gms" $Ifi "%carbonprice%" == "temperatureNotToExceed" $include "./modules/45_carbonprice/temperatureNotToExceed/realization.gms" *###################### R SECTION END (MODULETYPES) ############################ diff --git a/modules/45_carbonprice/none/not_used.txt b/modules/45_carbonprice/none/not_used.txt index 78701ac4b..138db4c18 100644 --- a/modules/45_carbonprice/none/not_used.txt +++ b/modules/45_carbonprice/none/not_used.txt @@ -8,7 +8,6 @@ name,type,reason cm_emiscen, switch, ??? sm_c_2_co2,switch, ??? pm_ttot_val,parameter,??? -cm_co2_tax_growth,switch,??? cm_startyear,switch,??? cm_iterative_target_adj,switch,??? cm_expoLinear_yearStart,switch,??? @@ -25,13 +24,24 @@ pm_ttot_2_tall,input,questionnaire pm_shPPPMER,input,questionnaire pm_pop,input,questionnaire pm_gdp,input,questionnaire -cm_CO2priceRegConvEndYr,input,questionnaire cm_NDC_divergentScenario,input,questionnaire vm_demFeSector,input,questionnaire pm_emifac,input,questionnaire -cm_co2_tax_spread,input,no carbon price differentiation in this realization -cm_co2_tax_startyear,input,added by codeCheck cm_peakBudgYr,input,added by codeCheck -cm_taxCO2inc_after_peakBudgYr,input,added by codeCheck sm_D2005_2_D2017,input,not needed fm_taxCO2eqHist,input,not needed +sm_budgetCO2eqGlob,input,no iterative target adjustment +sm_globalBudget_dev,input,no iterative target adjustment +vm_emiTe,input,no iterative target adjustment +vm_emiCdr,input,no iterative target adjustment +vm_emiMac,input,no iterative target adjustment +vm_emiAll,input,no iterative target adjustment +pm_budgetCO2eq,input,no iterative target adjustment +pm_ts,input,no iterative target adjustment +cm_iteration_max,input,no iterative target adjustment +cm_taxCO2_startyear,input,added by codeCheck +cm_taxCO2_expGrowth,input,added by codeCheck +cm_taxCO2_IncAfterPeakBudgYr,input,added by codeCheck +cm_budgetCO2from2020,input,no iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff,input,no iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff_tmp,input,no iterative target adjustment diff --git a/modules/45_carbonprice/temperatureNotToExceed/not_used.txt b/modules/45_carbonprice/temperatureNotToExceed/not_used.txt index 5e5f48dba..346ec7493 100644 --- a/modules/45_carbonprice/temperatureNotToExceed/not_used.txt +++ b/modules/45_carbonprice/temperatureNotToExceed/not_used.txt @@ -10,20 +10,30 @@ sm_DptCO2_2_TDpGtC,input,questionnaire vm_co2eq,input,questionnaire vm_emiFgas,input,questionnaire pm_ttot_val,input,questionnaire -cm_co2_tax_growth,input,questionnaire cm_startyear,input,questionnaire cm_iterative_target_adj,input,questionnaire cm_expoLinear_yearStart,input,questionnaire pm_shPPPMER,input,questionnaire pm_pop,input,questionnaire pm_gdp,input,questionnaire -cm_CO2priceRegConvEndYr,input,questionnaire cm_NDC_divergentScenario,input,questionnaire vm_demFeSector,input,questionnaire pm_emifac,input,questionnaire -cm_co2_tax_spread,input,no carbon price differentiation in this realization -cm_co2_tax_startyear,input,added by codeCheck cm_peakBudgYr,input,added by codeCheck -cm_taxCO2inc_after_peakBudgYr,input,added by codeCheck sm_D2005_2_D2017,input,not needed fm_taxCO2eqHist,input,not needed +sm_budgetCO2eqGlob,input,no iterative target adjustment +sm_globalBudget_dev,input,no iterative target adjustment +vm_emiTe,input,no iterative target adjustment +vm_emiCdr,input,no iterative target adjustment +vm_emiMac,input,no iterative target adjustment +vm_emiAll,input,no iterative target adjustment +pm_budgetCO2eq,input,no iterative target adjustment +pm_ts,input,no iterative target adjustment +cm_iteration_max,input,no iterative target adjustment +cm_taxCO2_startyear,input,added by codeCheck +cm_taxCO2_expGrowth,input,added by codeCheck +cm_taxCO2_IncAfterPeakBudgYr,input,added by codeCheck +cm_budgetCO2from2020,input,no iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff,input,no iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff_tmp,input,no iterative target adjustment diff --git a/modules/80_optimization/nash/postsolve.gms b/modules/80_optimization/nash/postsolve.gms index 3502ac928..6026a0aad 100644 --- a/modules/80_optimization/nash/postsolve.gms +++ b/modules/80_optimization/nash/postsolve.gms @@ -442,7 +442,7 @@ display "Reasons for non-convergence in this iteration (if not yet converged)"; if(sameas(convMessage80, "target"), display "#### 6.) A global climate target has not been reached yet."; display "#### check out sm_globalBudget_dev, it must within 0.99 and 1.01 to reach convergence, as well as"; - display "#### pm_taxCO2eq_iterationdiff_tmp and pm_taxCO2eq_iterationdiff in diagnostics section below."; + display "#### pm_taxCO2eq_anchor_iterationdiff_tmp and pm_taxCO2eq_anchor_iterationdiff in diagnostics section below."; display "#### The two parameters give the difference in carbon price in $/GtC to the last iteration."; display sm_globalBudget_dev; ); @@ -507,7 +507,7 @@ display p80_surplus; OPTION decimals = 3; display "Tax difference to last iteration for global targets of core/postsolve"; -display pm_taxCO2eq_iterationdiff_tmp, pm_taxCO2eq_iterationdiff; +display pm_taxCO2eq_anchor_iterationdiff_tmp, pm_taxCO2eq_anchor_iterationdiff; *RP* display effect of additional convergence push display "display effect of additional convergence push"; @@ -555,7 +555,7 @@ if( (s80_bool eq 0) and (iteration.val eq cm_iteration_max), !! reached max if(sameas(convMessage80, "target"), display "#### 6.) A global climate target has not been reached yet."; display "#### check out sm_globalBudget_dev, must within 0.99 and 1.01 to reach convergence, as well as"; - display "#### pm_taxCO2eq_iterationdiff_tmp and pm_taxCO2eq_iterationdiff in diagnostics section below."; + display "#### pm_taxCO2eq_anchor_iterationdiff_tmp and pm_taxCO2eq_anchor_iterationdiff in diagnostics section below."; display "#### The two parameters give the difference in carbon price in $/GtC to the last iteration."; display sm_globalBudget_dev; ); diff --git a/modules/80_optimization/negishi/not_used.txt b/modules/80_optimization/negishi/not_used.txt index 7a2674037..b49e00084 100644 --- a/modules/80_optimization/negishi/not_used.txt +++ b/modules/80_optimization/negishi/not_used.txt @@ -4,7 +4,7 @@ # | AGPL-3.0, you are granted additional permissions described in the # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de -name, type, reason +name,type,reason cm_abortOnConsecFail, switch, ??? cm_iteration_max, switch, ??? cm_keep_presolve_gdxes, switch, not needed @@ -43,8 +43,6 @@ pm_implicitQttyTarget_isLimited, parameter, ??? pm_implicitQttyTarget, parameter, ??? pm_nfa_start, input, questionnaire pm_shPerm, parameter, ??? -pm_taxCO2eq_iterationdiff, input, questionnaire -pm_taxCO2eq_iterationdiff_tmp, input, questionnaire pm_taxemiMkt_iteration, input, ?? pm_Xport0, parameter, ??? qm_co2eqCum, equation, ??? @@ -69,3 +67,5 @@ sm_CES_calibration_iteration, scalar, only needed during calibration w cm_maxFadeOutPriceAnticip, parameter, ??? cm_LearningSpillover, input, learning spillover only implemented in nash pm_allTargetsConverged, parameter, only relevant for nash +pm_taxCO2eq_anchor_iterationdiff,input,no iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff_tmp,input,added by codeCheck diff --git a/modules/80_optimization/testOneRegi/not_used.txt b/modules/80_optimization/testOneRegi/not_used.txt index 6af647eb0..e6c220d21 100644 --- a/modules/80_optimization/testOneRegi/not_used.txt +++ b/modules/80_optimization/testOneRegi/not_used.txt @@ -4,7 +4,7 @@ # | AGPL-3.0, you are granted additional permissions described in the # | REMIND License Exception, version 1.0 (see LICENSE file). # | Contact: remind@pik-potsdam.de -name, type, reason +name,type,reason pm_pop, parameter, ??? vm_emiTe, variable, ??? sm_EJ_2_TWa, scalar, ??? @@ -39,8 +39,6 @@ pm_nfa_start, input, questionnaire vm_dummyBudget, input, questionnaire vm_cesIO, variable, ??? cm_TaxConvCheck, variable, ?? -pm_taxCO2eq_iterationdiff, input, ?? -pm_taxCO2eq_iterationdiff_tmp, input, ?? sm_globalBudget_dev, input, ?? pm_factorRescaleemiMktCO2Tax, input, ?? pm_emiMktTarget, input, ?? @@ -65,3 +63,5 @@ pm_gmt_conv, parameter, ??? cm_tempConvergence, switch, not needed cm_LearningSpillover, input, learning spillover only implemented in nash pm_allTargetsConverged, parameter, only relevant for nash +pm_taxCO2eq_anchor_iterationdiff,input,no iterative target adjustment +pm_taxCO2eq_anchor_iterationdiff_tmp,input,added by codeCheck diff --git a/modules/81_codePerformance/on/presolve.gms b/modules/81_codePerformance/on/presolve.gms index 1efeb9895..da243c551 100644 --- a/modules/81_codePerformance/on/presolve.gms +++ b/modules/81_codePerformance/on/presolve.gms @@ -9,15 +9,15 @@ LOOP(run $(ord(run)<(c81_runs+1)), IF(MOD(ord(run)+2,3) EQ 0, -cm_co2_tax_startyear = 0; +cm_taxCO2_startyear = 0; ELSEIF MOD(ord(run)+2,3) EQ 1, -cm_co2_tax_startyear = 30; +cm_taxCO2_startyear = 30; ELSEIF MOD(ord(run)+2,3) EQ 2, -cm_co2_tax_startyear = 150; +cm_taxCO2_startyear = 150; ); *** Globally uniform, exponentially increasing carbonprice starting from the tax level (exogenously defined above) in the start year -pm_taxCO2eq(t,regi) = cm_co2_tax_startyear * sm_DptCO2_2_TDpGtC * cm_co2_tax_growth**(t.val-cm_startyear); +pm_taxCO2eq(t,regi) = cm_taxCO2_startyear * sm_DptCO2_2_TDpGtC * cm_taxCO2_expGrowth**(t.val-cm_startyear); pm_taxCO2eq("2005",regi)=0; display pm_taxCO2eq; diff --git a/scripts/start/checkFixCfg.R b/scripts/start/checkFixCfg.R index 7966f7cfd..8b9c53692 100644 --- a/scripts/start/checkFixCfg.R +++ b/scripts/start/checkFixCfg.R @@ -107,6 +107,10 @@ checkFixCfg <- function(cfg, remindPath = ".", testmode = FALSE) { if (! isTRUE(cfg$gms$cm_rcp_scen %in% c("none","rcp20","rcp26","rcp45") )) { warning("Chosen RCP scenario '", cfg$gms$cm_rcp_scen, "' might currently not be fully operational: test and verify before using it!") } + # check if cm_iterative_target_adj 5, 7, or 9 is used without carbonprice being set to functionalForm + if (isTRUE(cfg$gms$cm_iterative_target_adj %in% c("5","7","9")) && ! isTRUE(cfg$gms$carbonprice == "functionalForm") ) { + warning("Chosen iterative target adjustment algorithm '", cfg$gms$cm_iterative_target_adj, "' will not be applied without using realization 45_carbonprice/functionalForm!") + } # Make sure that an input_bau.gdx has been specified if needed. isBauneeded <- isTRUE(length(unlist(lapply(names(needBau), function(x) intersect(cfg$gms[[x]], needBau[[x]])))) > 0) if (isBauneeded) { diff --git a/scripts/start/readCheckScenarioConfig.R b/scripts/start/readCheckScenarioConfig.R index 075697525..e2c5be9b9 100644 --- a/scripts/start/readCheckScenarioConfig.R +++ b/scripts/start/readCheckScenarioConfig.R @@ -155,9 +155,11 @@ readCheckScenarioConfig <- function(filename, remindPath = ".", testmode = FALSE if (length(unknownColumnNames) > 0) { message("") forbiddenColumnNames <- list( # specify forbidden column name and what should be done with it - "c_budgetCO2" = "Rename to c_budgetCO2from2020, adapt emission budgets, see https://github.com/remindmodel/remind/pull/640", + "c_budgetCO2" = "Rename to cm_budgetCO2from2020, adapt emission budgets, see https://github.com/remindmodel/remind/pull/640", + "c_budgetCO2from2020" = "Rename to cm_budgetCO2from2020, see https://github.com/remindmodel/remind/pull/1874", + "c_budgetCO2from2020FFI" = "Deleted, use cm_budgetCO2from2020 instead, and adapt emission budgets, see https://github.com/remindmodel/remind/pull/1874", "c_peakBudgYr" = "Rename to cm_peakBudgYr, see https://github.com/remindmodel/remind/pull/1747", - "c_budgetCO2FFI" = "Rename to c_budgetCO2from2020FFI, adapt emission budgets, see https://github.com/remindmodel/remind/pull/640", + "c_budgetCO2FFI" = "Deleted, use cm_budgetCO2from2020 instead, and adapt emission budgets, see https://github.com/remindmodel/remind/pull/1874", "cm_bioenergy_tax" = "Rename to cm_bioenergy_SustTax, see https://github.com/remindmodel/remind/pull/1003", "cm_bioenergymaxscen" = "Use more flexible cm_maxProdBiolc switch instead, see https://github.com/remindmodel/remind/pull/1054", "cm_tradecost_bio" = "Use more flexible cm_tradecostBio switch, see https://github.com/remindmodel/remind/pull/1054", @@ -174,13 +176,19 @@ readCheckScenarioConfig <- function(filename, remindPath = ".", testmode = FALSE "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_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", - "c_taxCO2inc_after_peakBudgYr" = "Rename to cm_taxCO2inc_after_peakBudgYr, see https://github.com/remindmodel/remind/pull/1776", + "c_taxCO2inc_after_peakBudgYr" = "Rename to cm_taxCO2_IncAfterPeakBudgYr, see https://github.com/remindmodel/remind/pull/1874", + "cm_taxCO2inc_after_peakBudgYr" = "Rename to cm_taxCO2_IncAfterPeakBudgYr, see https://github.com/remindmodel/remind/pull/1874", "c_solscen" = "Deleted, not used anymore, see https://github.com/remindmodel/remind/pull/1515", "cm_regNetNegCO2" = "Deleted, not used, see https://github.com/remindmodel/remind/pull/1517", "cm_solwindenergyscen" = "Deleted, not used, see https://github.com/remindmodel/remind/pull/1532", "cm_wind_offshore" = "Deleted, not used, see https://github.com/remindmodel/development_issues/issues/272", "cm_co2_tax_2020" = "Use cm_co2_tax_startyear instead, see https://github.com/remindmodel/remind/pull/1858", + "cm_co2_tax_startyear" = "Rename to cm_taxCO2_startyear, see https://github.com/remindmodel/remind/pull/1874", + "cm_co2_tax_growth" = "Rename to cm_taxCO2_expGrowth, see https://github.com/remindmodel/remind/pull/1874", + "cm_co2_tax_spread" = "Use cm_taxCO2_regiDiff instead, see https://github.com/remindmodel/remind/pull/1874", + "cm_co2_tax_hist" = "Rename to cm_taxCO2_historical, see https://github.com/remindmodel/remind/pull/1874", + "cm_year_co2_tax_hist" = "Rename to cm_taxCO2_historicalYr, see https://github.com/remindmodel/remind/pull/1874", + "cm_CO2priceRegConvEndYr" = "Use cm_taxCO2_regiDiff_endYr instead, see https://github.com/remindmodel/remind/pull/1874", NULL) for (i in intersect(names(forbiddenColumnNames), unknownColumnNames)) { msg <- paste0("Column name ", i, " in remind settings is outdated. ", forbiddenColumnNames[i]) diff --git a/tests/testthat/test_01-checkFixCfg.R b/tests/testthat/test_01-checkFixCfg.R index 384ee3e3a..3d4b51479 100644 --- a/tests/testthat/test_01-checkFixCfg.R +++ b/tests/testthat/test_01-checkFixCfg.R @@ -14,7 +14,7 @@ test_that("checkFixCfg works", { "cm_emiscen" = "123", "cm_nash_autoconverge" = "NA", "cm_gs_ew" = "2.2.2", - "cm_co2_tax_growth" = "333++", + "cm_taxCO2_expGrowth" = "333++", "c_macscen" = "-1", "cm_keep_presolve_gdxes" = "1.1", "cm_startyear" = "1985", @@ -22,7 +22,7 @@ test_that("checkFixCfg works", { "cm_rcp_scen" = "apocalypse", "c_testOneRegi_region" = "LOONG", "c_shGreenH2" = "1.5", - "cm_co2_tax_startyear" = "-2", + "cm_taxCO2_startyear" = "-2", NULL) cfg <- savecfg From 163ae8acd8a58f02c3feec07b1e8c98027fc2a70 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Wed, 20 Nov 2024 08:28:35 +0000 Subject: [PATCH 749/875] Release development version 3.3.2.dev981 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index cac207902..c1a87fb74 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev967" -date-released: 2024-11-19 +version: "3.3.2.dev981" +date-released: 2024-11-20 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 6f4d27c0e..8854e2b28 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev967" +cfg$model_version <- "3.3.2.dev981" #### settings #### cfg$gms <- list() From 7e08315635c95e99801babc3bfdd13a2991d6b3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Wed, 20 Nov 2024 15:02:38 +0100 Subject: [PATCH 750/875] Added SSP3-NPi2025 (previously forgotten) and remove growth rate from SSP1 scenarios as it is not used --- config/scenario_config.csv | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/config/scenario_config.csv b/config/scenario_config.csv index bf06719b3..b5055211b 100644 --- a/config/scenario_config.csv +++ b/config/scenario_config.csv @@ -3,7 +3,7 @@ title;start;CES_parameters;slurmConfig;regionmapping;extramappings_historic;cm_r SSP2-NPi-calibrate;calibrate,AMT,compileInTests;calibrate;14;;;rcp45;;;0;NPi;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. SSP2-NDC;1,AMT,2;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2030;;SSP2-NPi2025;SSP2-NPi;SSP2-NPi;SSP2-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. SSP2-NPi;1,AMT,compileInTests,2;;;;;rcp45;3;;0;NPi;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-NPi2025;1,AMT,2;;;;;rcp45;3;;0;NPi2025;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-NPi2025;1,AMT,2;;;;;rcp45;3;;0;NPi2025;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. SSP2-PkBudg500;1,AMT,2;;;;;rcp20;9;globallyOptimal;500;functionalForm;;;200;2045;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;SSP2-NPi;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be well below 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. SSP2-PkBudg650;1,AMT,2;;;;;rcp20;9;globallyOptimal;650;functionalForm;;;100;2055;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;SSP2-NPi;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. SSP2-PkBudg1000;1,AMT,2;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;;75;2080;;;9;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-NPi2025;;SSP2-NPi;SSP2-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. @@ -13,7 +13,7 @@ SSP2-EU21-NPi-calibrate;calibrate;calibrate;14;./config/regionmapping_21_EU11.cs SSP2-EU21-Base;1,AMT,compileInTests,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;;;;0;;;;;;;;;;off;;;;;;;;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix1;2005;;;;;SSP2-EU21-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. SSP2-EU21-NDC;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2030;;SSP2-EU21-NPi2025;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-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. SSP2-EU21-NPi;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-EU21-NPi2025;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi2025;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-EU21-NPi2025;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi2025;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. SSP2-EU21-PkBudg500;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;500;functionalForm;;;200;2045;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi;SSP2-EU21-PkBudg500: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. SSP2-EU21-PkBudg650;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;;;100;2055;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi;SSP2-EU21-PkBudg650: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. SSP2-EU21-PkBudg1000;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;9;globallyOptimal;1000;functionalForm;;;75;2080;;;9;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi;SSP2-EU21-PkBudg1050: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. @@ -21,26 +21,27 @@ SSP2-EU21-PkBudg1000;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extra SSP3-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. SSP3-NDC;0;;;;;rcp45;3;;0;NDC;;;;;;;9;;;1;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2;2030;;SSP2-NPi2025;SSP3-NPi;SSP3-NPi;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. 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. SSP3-NPi;0;;;;;rcp45;3;;0;NPi;;;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP3-PkBudg1000;0;;;;;rcp26;9;;1000;functionalForm;;;55;2080;;GLO 2100;9;;;1;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix3ICEban;2030;;SSP2-NPi2025;;;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP3-NPi2025;0;;;;;rcp45;3;;0;NPi2025;;;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP3-PkBudg1000;0;;;;;rcp26;9;;1000;functionalForm;;;75;2080;;GLO 2100;9;;;1;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix3ICEban;2030;;SSP2-NPi2025;;;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. SSP3-rollBack;0;;;;;rcp45;3;;0;NPiexpo;;0.9;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix1;2030;;SSP2-NPi2025;;; # H12 SSP1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP1-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;1.025;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. -SSP1-NDC;1,AMT,compileInTests;;;;;rcp45;3;globallyOptimal;0;NDC;;1.025;;;;;9;GLO 0.12, EUR_regi 0.16;;2;1.75;;;;2;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2;2030;;SSP2-NPi2025;SSP1-NPi;SSP1-NPi;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. -SSP1-NPi;1,AMT;;;;;rcp45;3;;0;NPi;;1.025;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP1-NPi2025;1,AMT;;;;;rcp45;3;;0;NPi2025;;1.025;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP1-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;functionalForm;;1.025;100;2055;;;9;GLO 0.12, EUR_regi 0.16;;2;1.75;;;;2;;1;feelhpb 1.05, fehob 1.75, feheb 0.1;manual;feh2_otherInd 1.04, feelhth_otherInd 0.4, feh2_cement 2.0, feelhth_chemicals 1.3, feh2_chemicals 1.04;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SSP2-NPi2025;;;SSP1-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP1-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;1.025;75;2080;;;9;GLO 0.12, EUR_regi 0.16;;2;1.75;;;;2;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix3ICEban;2030;;SSP2-NPi2025;;;SSP1-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP1-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. +SSP1-NDC;1,AMT,compileInTests;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;GLO 0.12, EUR_regi 0.16;;2;1.75;;;;2;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2;2030;;SSP2-NPi2025;SSP1-NPi;SSP1-NPi;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. +SSP1-NPi;1,AMT;;;;;rcp45;3;;0;NPi;;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP1-NPi2025;1,AMT;;;;;rcp45;3;;0;NPi2025;;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP1-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;functionalForm;;;100;2055;;;9;GLO 0.12, EUR_regi 0.16;;2;1.75;;;;2;;1;feelhpb 1.05, fehob 1.75, feheb 0.1;manual;feh2_otherInd 1.04, feelhth_otherInd 0.4, feh2_cement 2.0, feelhth_chemicals 1.3, feh2_chemicals 1.04;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SSP2-NPi2025;;;SSP1-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP1-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;;75;2080;;;9;GLO 0.12, EUR_regi 0.16;;2;1.75;;;;2;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix3ICEban;2030;;SSP2-NPi2025;;;SSP1-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. # H12 SSP2 lowEnergy;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP2_lowEn-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix1;2005;;;;;SSP2_lowEn-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. SSP2_lowEn-NDC;1,AMT;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix2;2025;;SSP2-NPi2025;SSP2_lowEn-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. 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. SSP2_lowEn-NPi;1,AMT;;;;;rcp45;3;;0;NPi;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix1;2005;;;;;SSP2_lowEn-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2_lowEn-NPi2025;1,AMT;;;;;rcp45;3;;0;NPi2025;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix1;2005;;;;;SSP2_lowEn-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2_lowEn-NPi2025;1,AMT;;;;;rcp45;3;;0;NPi2025;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix1;2005;;;;;SSP2_lowEn-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. SSP2_lowEn-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;functionalForm;;;100;2055;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;;SSP2_lowEn-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. SSP2_lowEn-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;;75;2080;;;9;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;Mix3ICEban;2030;;SSP2-NPi2025;;;SSP2_lowEn-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. # H12 SSP5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP5-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;;;9;;;1;1.75;;;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. SSP5-NDC;1;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;;;1;1.75;;;;3;2;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2;2030;;SSP2-NPi2025;SSP5-NPi;SSP5-NPi;SSP5-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. 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. SSP5-NPi;1;;;;;rcp45;3;;0;NPi;;;;;;;9;;;1;1.75;;;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP5-NPi2025;1;;;;;rcp45;3;;0;NPi2025;;;;;;;9;;;1;1.75;;;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP5-NPi2025;1;;;;;rcp45;3;;0;NPi2025;;;;;;;9;;;1;1.75;;;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. SSP5-PkBudg650;1;;;;;rcp20;9;globallyOptimal;650;functionalForm;;;100;2055;;;9;;;1;1.75;;;;3;2;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix4ICEban;2030;;SSP2-NPi2025;;;SSP5-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. SSP5-PkBudg1000;1,compileInTests;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;;75;2080;;;9;;;1;1.75;;;;3;2;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix3ICEban;2030;;SSP2-NPi2025;;;SSP5-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. From 857b71849c8c2221d64af48c8859cc4d9b2e7084 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Wed, 20 Nov 2024 15:08:16 +0100 Subject: [PATCH 751/875] Typo fixed: Set NDC start year for SSP2-lowEn to 2030 --- config/scenario_config.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/scenario_config.csv b/config/scenario_config.csv index b5055211b..83e50f3d1 100644 --- a/config/scenario_config.csv +++ b/config/scenario_config.csv @@ -33,7 +33,7 @@ SSP1-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;functionalForm;;;100;2055;; SSP1-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;;75;2080;;;9;GLO 0.12, EUR_regi 0.16;;2;1.75;;;;2;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix3ICEban;2030;;SSP2-NPi2025;;;SSP1-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. # H12 SSP2 lowEnergy;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP2_lowEn-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix1;2005;;;;;SSP2_lowEn-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. -SSP2_lowEn-NDC;1,AMT;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix2;2025;;SSP2-NPi2025;SSP2_lowEn-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. 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. +SSP2_lowEn-NDC;1,AMT;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix2;2030;;SSP2-NPi2025;SSP2_lowEn-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. 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. SSP2_lowEn-NPi;1,AMT;;;;;rcp45;3;;0;NPi;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix1;2005;;;;;SSP2_lowEn-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. SSP2_lowEn-NPi2025;1,AMT;;;;;rcp45;3;;0;NPi2025;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix1;2005;;;;;SSP2_lowEn-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. SSP2_lowEn-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;functionalForm;;;100;2055;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;;SSP2_lowEn-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. From 298d36a1838c785f9110fd424196dc63eef9b2e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tonn=20R=C3=BCter?= Date: Wed, 20 Nov 2024 16:38:26 +0100 Subject: [PATCH 752/875] Rm'ed time sets t_magiccttot, t_magicc --- core/sets.gms | 7 ------- core/sets_calculations.gms | 6 ------ 2 files changed, 13 deletions(-) diff --git a/core/sets.gms b/core/sets.gms index 54f85cfe2..0bef13b34 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -1135,13 +1135,6 @@ t(ttot) $ (ttot.val ge cm_startyear) = Yes; tsu(ttot) $ (ttot.val lt 2005) = Yes; display ttot; -*** time sets used for MAGICC -Sets - t_magiccttot(tall) "time periods including spin-up" - t_magicc(tall) "time periods exported to magicc" - t_extra(tall) "averaging between REMIND and MAGICC" / 2000 * 2004 / -; - diff --git a/core/sets_calculations.gms b/core/sets_calculations.gms index 05505be58..45176259b 100644 --- a/core/sets_calculations.gms +++ b/core/sets_calculations.gms @@ -164,12 +164,6 @@ loop(all_regi, ); ); -*** MAGICC related sets -t_magiccttot(tall) = ttot(tall) + t_extra(tall); -t_magicc(t_magiccttot)$(t_magiccttot.val ge 2005) = Yes; - -display "MAGICC related sets", t_magicc, t_extra, t; - *** Alias of mapping en2en2(enty,enty2,te) = en2en(enty,enty2,te); From 909d499ee659677493d42a71b629c1db90b14ef7 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Wed, 20 Nov 2024 15:38:48 +0000 Subject: [PATCH 753/875] Release development version 3.3.2.dev988 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index c1a87fb74..0ee9c7a52 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev981" +version: "3.3.2.dev988" date-released: 2024-11-20 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 8854e2b28..170d03455 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev981" +cfg$model_version <- "3.3.2.dev988" #### settings #### cfg$gms <- list() From bfc8b7f0ee4803ab21137fb077bf15f9719171c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tonn=20R=C3=BCter?= Date: Wed, 20 Nov 2024 16:41:02 +0100 Subject: [PATCH 754/875] Rm'ed unitsMagicc, emiRCP2emiREMIND, emiFgas2emiRCP, emiRCP2unitsMagicc --- core/sets.gms | 74 --------------------------------------------------- 1 file changed, 74 deletions(-) diff --git a/core/sets.gms b/core/sets.gms index 0bef13b34..c97dd2aac 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -2211,18 +2211,6 @@ xirog "parameters decribing exhaustible extraction coss including long-run *** This is a work-around to ensure emissions are printed in correct order. numberEmiRCP "number of emission types" / 1 * 23 / - unitsMagicc "units used for MAGICC" - / - GtC - kt - Mt - MtCH4 - MtCO - MtN - MtN2O-N - MtS - / - ***----------------------------------------------------------------------------- *** Definition of the main characteristics set 'char': ***----------------------------------------------------------------------------- @@ -2952,68 +2940,6 @@ sectorEndoEmi2te(all_enty,all_enty,all_te,sectorEndoEmi) "map sectors to techn seliqfos.fepet.tdfospet.trans seliqsyn.fepet.tdsynpet.trans / -emiRCP2emiREMIND "mapping between emission types expected by MAGICC and provided by REMIND" -/ - CO . CO - NMVOC . VOC - NOx . NOx - SOx . SO2 - BC . BC - OC . OC -/ -emiFgas2emiRCP(all_enty,emiRCP) "match F-gases to MAGICC emissions" -/ - emiFgasCF4 . CF4 - emiFgasC2F6 . C2F6 - emiFgasC6F14 . C6F14 - emiFgasHFC23 . HFC23 - emiFgasHFC32 . HFC32 - emiFgasHFC43-10 . HFC43-10 - emiFgasHFC125 . HFC125 - emiFgasHFC134a . HFC134a - emiFgasHFC143a . HFC143a - emiFgasHFC227ea . HFC227ea - emiFgasHFC245fa . HFC245fa - emiFgasSF6 . SF6 -/ -emiRCP2order "order of emission types expected by MAGICC" -/ - FossilCO2 . 1 - OtherCO2 . 2 - CH4 . 3 - N2O . 4 - SOx . 5 - CO . 6 - NMVOC . 7 - NOx . 8 - BC . 9 - OC . 10 - NH3 . 11 - CF4 . 12 - C2F6 . 13 - C6F14 . 14 - HFC23 . 15 - HFC32 . 16 - HFC43-10 . 17 - HFC125 . 18 - HFC134a . 19 - HFC143a . 20 - HFC227ea . 21 - HFC245fa . 22 - SF6 . 23 -/ - -emiRCP2unitsMagicc(emiRCP,unitsMagicc) "match units to emission types" -/ - (FossilCO2,OtherCO2) . GtC - (CH4) . MtCH4 - (N2O) . MtN2O-N - (SOx) . MtS - (CO) . MtCO - (NH3,NOx) . MtN - (NMVOC,BC,OC) . Mt - (CF4,C2F6,C6F14,HFC23,HFC32,HFC43-10,HFC125,HFC134a,HFC143a,HFC227ea,HFC245fa,SF6) . kt -/ From a5b77a6fff8ee7f68b58659b76e102f2ee0a8b5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tonn=20R=C3=BCter?= Date: Wed, 20 Nov 2024 16:51:29 +0100 Subject: [PATCH 755/875] Rm'ed p_MAGICC_emi --- core/declarations.gms | 3 --- scripts/utils/gdx_rename.sh | 1 - 2 files changed, 4 deletions(-) diff --git a/core/declarations.gms b/core/declarations.gms index db4e382f7..aeb8317a2 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -285,9 +285,6 @@ pm_temperatureImpulseResponseCO2(tall,tall) "temperature impulse respon pm_taxCO2eqSCC(ttot,all_regi) "carbon tax component due to damages (social cost of carbon) " pm_GDPGross(tall,all_regi) "gross GDP (before damages)" -***---------------------------------------------------------------------------------------- -*** ----- Parameters needed for MAGICC ---------------------------------------------------- -p_MAGICC_emi(tall,RCP_regions_world_bunkers,emiRCP) "emission data to export" ***---------------------------------------------------------------------------------------- ***---------------------------parameter for output----------------------------------------- o_DirlcoCCS(ttot,all_regi,all_te) "Annuity per sequestered CO2 by CCS technology, calc. from investment costs and fixOM. [$/tCO2]" diff --git a/scripts/utils/gdx_rename.sh b/scripts/utils/gdx_rename.sh index d08bf586d..6fa060292 100644 --- a/scripts/utils/gdx_rename.sh +++ b/scripts/utils/gdx_rename.sh @@ -49,7 +49,6 @@ gdx <- args[[1]] # renaming parameter and variables if (length(args) == 1) { gdx_rename(gdx, - magicc_emi = 'p_MAGICC_emi', ts = 'pm_ts', s_earlyreti = 'sm_earlyreti', s_tgn2pgc = 'sm_tgn2pgc', From c966597d5b3fad5613ff1a16b2065d3725181ced Mon Sep 17 00:00:00 2001 From: Leon Merfort <58845874+merfort@users.noreply.github.com> Date: Thu, 21 Nov 2024 10:19:43 +0100 Subject: [PATCH 756/875] Hotfix: restrict 1st gen. biofuels from 2030 on --- modules/30_biomass/magpie_40/bounds.gms | 26 ++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/modules/30_biomass/magpie_40/bounds.gms b/modules/30_biomass/magpie_40/bounds.gms index c3a13e4bb..03e53bb04 100644 --- a/modules/30_biomass/magpie_40/bounds.gms +++ b/modules/30_biomass/magpie_40/bounds.gms @@ -10,20 +10,24 @@ *** ------------------------------------------------------------- *' #### Bounds on 1st generation biomass annual production *** ------------------------------------------------------------- - -*' Prescribe upper and lower limit for first generation biomass from 2045 on, so REMIND has freedom before. -*' To avoid infeasibilities it was necessary to modify the initial vintage structure for bioeths. -*' FS: changed the bounds to start only in 2045 in REMIND-EU to rule out some infeasibilities with EDGE-T -*' -vm_fuExtr.up(t,regi,"pebios","5")$(t.val ge 2045) = p30_datapebio(regi,"pebios","5","maxprod",t); -vm_fuExtr.up(t,regi,"pebioil","5")$(t.val ge 2045) = p30_datapebio(regi,"pebioil","5","maxprod",t); +*' Prescribe upper and lower limit for first generation biomass from 2030 on, +*' so REMIND has some freedom before. After 2030 the production of 1st +*' generation biofuels should be fixed (within a 90-100% range to avoid +*' infeasibilities), since production values are exogenously harmonized with +*' MAgPIE. +*' Note: these bounds need to be updated since they are, in some regions, too +*' strict to be compatible with historically installed capacities, such that +*' the bounds in its current form can only be satisfied in combination with +*' early retirement. +vm_fuExtr.up(t,regi,"pebios","5")$(t.val ge 2030) = p30_datapebio(regi,"pebios","5","maxprod",t); +vm_fuExtr.up(t,regi,"pebioil","5")$(t.val ge 2030) = p30_datapebio(regi,"pebioil","5","maxprod",t); if(cm_1stgen_phaseout=0, - vm_fuExtr.lo(t,regi,"pebios","5")$(t.val ge 2045) = 0.9 * p30_datapebio(regi,"pebios","5","maxprod",t); - vm_fuExtr.lo(t,regi,"pebioil","5")$(t.val ge 2045) = 0.9 * p30_datapebio(regi,"pebioil","5","maxprod",t); + vm_fuExtr.lo(t,regi,"pebios","5")$(t.val ge 2030) = 0.9 * p30_datapebio(regi,"pebios","5","maxprod",t); + vm_fuExtr.lo(t,regi,"pebioil","5")$(t.val ge 2030) = 0.9 * p30_datapebio(regi,"pebioil","5","maxprod",t); else - vm_fuExtr.lo(t,regi,"pebios","5")$(t.val eq 2045) = 0.9 * p30_datapebio(regi,"pebios","5","maxprod",t); - vm_fuExtr.lo(t,regi,"pebioil","5")$(t.val eq 2045) = 0.9 * p30_datapebio(regi,"pebioil","5","maxprod",t); + vm_fuExtr.lo(t,regi,"pebios","5")$(t.val eq 2030) = 0.9 * p30_datapebio(regi,"pebios","5","maxprod",t); + vm_fuExtr.lo(t,regi,"pebioil","5")$(t.val eq 2030) = 0.9 * p30_datapebio(regi,"pebioil","5","maxprod",t); ); From e0dd52dc515405983d011d2224d9f8dc8b352adb Mon Sep 17 00:00:00 2001 From: Nico Bauer Date: Thu, 21 Nov 2024 10:31:17 +0100 Subject: [PATCH 757/875] *NB* make imperfect capital markets work again! (i) pm_ies declarations changed/moved, (ii) imperfect/equations.gms changed to avoid error message, (iii) added csenario_config for SSP3 --- config/scenario_config_SSP3.csv | 11 +++++++++++ core/declarations.gms | 1 + modules/23_capitalMarket/debt_limit/declarations.gms | 1 - modules/23_capitalMarket/imperfect/datainput.gms | 3 ++- modules/23_capitalMarket/imperfect/equations.gms | 2 -- 5 files changed, 14 insertions(+), 4 deletions(-) create mode 100644 config/scenario_config_SSP3.csv diff --git a/config/scenario_config_SSP3.csv b/config/scenario_config_SSP3.csv new file mode 100644 index 000000000..2e45d76c5 --- /dev/null +++ b/config/scenario_config_SSP3.csv @@ -0,0 +1,11 @@ +title;start;CES_parameters;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;cm_prtpScen;subsidizeLearning;capitalMarket;c_budgetCO2from2020;carbonprice;cm_co2_tax_startyear;cm_peakBudgYr;cm_co2_tax_spread;cm_CO2priceRegConvEndYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_co2_tax_growth;cm_bioenergy_SustTax;cm_33EW;cm_33OAE;cm_33_OAE_eff;cm_33_OAE_scen;cm_frac_NetNegEmi;c_ccsinjecratescen;c_ccscapratescen;c_changeProdCost;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description +# H12 SSP3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP3-NPi-calibrate;0;calibrate;14;;;rcp45;;3;;;0;NPi;;;;;9;;;1;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. +SSP3-NPi-calibrate_stage1;0;calibrate;14;;;rcp45;;3;;;0;NPi;;;;;9;;;1;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. +SSP3-NPi-calibrate_stage2;0;calibrate;14;;;rcp45;;3;;;0;NPi;;;;;9;;;1;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. +SSP3-NPi-calibrate_stage3;0;calibrate;14;;;rcp45;;3;;imperfect;0;NPi;;;;;9;;;1;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. +SSP3-NPi-calibrate_stage4;1;calibrate;14;;;rcp45;;3;;;0;NPi;;;;;9;;;1;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;4;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. +SSP3-NDC;0;;;;;rcp45;3;3;;;0;NDC;;;;;9;;;1;;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2;2030;;SSP2-NPi;SSP3-NPi;SSP3-NPi;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. 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. +SSP3-NPi;0;;;;;rcp45;3;3;;;0;NPi;;;;;9;;;1;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP3-PkBudg1000;0;;;;;rcp26;9;3;;;1000;diffLin2Lin;45;2080;;2100;9;;;1;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix3ICEban;2030;;SSP2-NPi;;;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP3-rollBack;0;;;;;rcp45;9;3;;;;NPi;;;;;9;;;1;0.9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix1;2030;;SSP2-NPi;;; diff --git a/core/declarations.gms b/core/declarations.gms index ed8022b74..f99f2ff9a 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -19,6 +19,7 @@ parameters ***prices pm_pvp(ttot,all_enty) "Price on commodity markets", p_pvpRef(ttot,all_enty) "Price on commodity markets - imported from REF gdx", +pm_ies(all_regi) "intertemporal elasticity of substitution", p_pvpRegiBeforeStartYear(ttot,all_regi,all_enty) "prices of traded commodities before start year - regional. only used for permit trade" diff --git a/modules/23_capitalMarket/debt_limit/declarations.gms b/modules/23_capitalMarket/debt_limit/declarations.gms index 898d82666..d98c404a0 100644 --- a/modules/23_capitalMarket/debt_limit/declarations.gms +++ b/modules/23_capitalMarket/debt_limit/declarations.gms @@ -8,7 +8,6 @@ Parameters -pm_ies(all_regi) "intertemporal elasticity of substitution" pm_risk_premium(all_regi) "risk premium that lowers the use of capital imports" ; diff --git a/modules/23_capitalMarket/imperfect/datainput.gms b/modules/23_capitalMarket/imperfect/datainput.gms index 054312d47..ae19b5940 100644 --- a/modules/23_capitalMarket/imperfect/datainput.gms +++ b/modules/23_capitalMarket/imperfect/datainput.gms @@ -9,13 +9,14 @@ *** ML 20181220* substitution elasticity and time preference adjusted to get initial consumption that matches historic consumption shares *** be careful with changing time preferences as this parameter is used also outside the welfare function -parameter pm_ies(all_regi) "intertemporal elasticity of substitution" +parameter pm_ies_differentiated(all_regi) "intertemporal elasticity of substitution" / $ondelim $include "./modules/23_capitalMarket/imperfect/input/pm_ies.cs4r" $offdelim / ; +pm_ies(regi) = pm_ies_differentiated(regi); parameter p23_prtp(all_regi) " regionally differentiated pure rate of time preference" / diff --git a/modules/23_capitalMarket/imperfect/equations.gms b/modules/23_capitalMarket/imperfect/equations.gms index c592b9bb9..a0b86a326 100644 --- a/modules/23_capitalMarket/imperfect/equations.gms +++ b/modules/23_capitalMarket/imperfect/equations.gms @@ -16,7 +16,6 @@ q23_limit_debt(t,regi).. sum(ttot$(ttot.val le t.val), sum(trade$(NOT tradeSe(trade)), (pm_pvp(ttot,trade)/(pm_pvp("2005","good") + 0.000000001))*(vm_Mport(ttot,regi,trade)- vm_Xport(ttot,regi,trade))) + sum(tradeSe, pm_MPortsPrice(ttot,regi,tradeSe) * vm_Mport(ttot,regi,tradeSe)) - sum(tradeSe, pm_XPortsPrice(ttot,regi,tradeSe) * vm_Xport(ttot,regi,tradeSe)) - + vm_budgetTradeM(t,regi) - vm_budgetTradeX(t,regi) ) ; @@ -28,7 +27,6 @@ q23_limit_debt_growth(t,regi).. + sum(tradePe, (pm_pvp(t,tradePe)/(pm_pvp(t,"good")+0.000000001))*(vm_Mport(t,regi,tradePe)- vm_Xport(t,regi,tradePe))) + (pm_pvp(t,"perm")/(pm_pvp(t,"good")+0.000000001)) * (vm_Mport(t,regi,"perm") - vm_Xport(t,regi,"perm")) + sum(tradeSe, pm_MPortsPrice(t,regi,tradeSe) * vm_Mport(t,regi,tradeSe)) - sum(tradeSe, pm_XPortsPrice(t,regi,tradeSe) * vm_Xport(t,regi,tradeSe)) - + vm_budgetTradeM(t,regi) - vm_budgetTradeX(t,regi) ; *' @stop From 4c0aa0dab8b2afa1cbca28a90f76cbf7e3143e90 Mon Sep 17 00:00:00 2001 From: Nico Bauer Date: Thu, 21 Nov 2024 10:47:19 +0100 Subject: [PATCH 758/875] *NB* clean-up --- modules/23_capitalMarket/debt_limit/not_used.txt | 1 + modules/23_capitalMarket/imperfect/datainput.gms | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/23_capitalMarket/debt_limit/not_used.txt b/modules/23_capitalMarket/debt_limit/not_used.txt index 6c76d5031..d3a484987 100644 --- a/modules/23_capitalMarket/debt_limit/not_used.txt +++ b/modules/23_capitalMarket/debt_limit/not_used.txt @@ -7,3 +7,4 @@ name,type,reason pm_prtp,input,questionnaire cm_prtpScen,input,questionnaire +p23_ies_differentiated,input,questionaire diff --git a/modules/23_capitalMarket/imperfect/datainput.gms b/modules/23_capitalMarket/imperfect/datainput.gms index ae19b5940..a1aa635aa 100644 --- a/modules/23_capitalMarket/imperfect/datainput.gms +++ b/modules/23_capitalMarket/imperfect/datainput.gms @@ -9,14 +9,14 @@ *** ML 20181220* substitution elasticity and time preference adjusted to get initial consumption that matches historic consumption shares *** be careful with changing time preferences as this parameter is used also outside the welfare function -parameter pm_ies_differentiated(all_regi) "intertemporal elasticity of substitution" +parameter p23_ies_differentiated(all_regi) "intertemporal elasticity of substitution" / $ondelim $include "./modules/23_capitalMarket/imperfect/input/pm_ies.cs4r" $offdelim / ; -pm_ies(regi) = pm_ies_differentiated(regi); +pm_ies(regi) = p23_ies_differentiated(regi); parameter p23_prtp(all_regi) " regionally differentiated pure rate of time preference" / From 6fbb4dbe989e8bc11cd41d5fe30725f61cace213 Mon Sep 17 00:00:00 2001 From: Leon Merfort <58845874+merfort@users.noreply.github.com> Date: Thu, 21 Nov 2024 11:46:43 +0100 Subject: [PATCH 759/875] Update changelog --- CHANGELOG.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6a1b83958..305d85936 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -86,7 +86,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - **scripts** REMIND-MAgPIE start scripts now correctly use all non-gms cfg switches [[#1768](https://github.com/remindmodel/remind/pull/1768)] - **scripts** limit slurm runtime of output.R scripts to 2 hours - [[1783](https://github.com/remindmodel/remind/pull/1783)] + [[#1783](https://github.com/remindmodel/remind/pull/1783)] +- **30_biomass** reset 1st gen. biofuel bound from 2045 to 2030 + [[#1890](https://github.com/remindmodel/remind/pull/1890)] ### removed - **45_carbonprice** removed superseded realizations linear, exponential and diffCurvPhaseIn2Lin From 65b1ca042b1c3d433fce27bd351fafb03c66f9af Mon Sep 17 00:00:00 2001 From: Nico Bauer Date: Thu, 21 Nov 2024 11:48:47 +0100 Subject: [PATCH 760/875] *NB* clean-up --- modules/23_capitalMarket/debt_limit/not_used.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/23_capitalMarket/debt_limit/not_used.txt b/modules/23_capitalMarket/debt_limit/not_used.txt index d3a484987..4ce82227b 100644 --- a/modules/23_capitalMarket/debt_limit/not_used.txt +++ b/modules/23_capitalMarket/debt_limit/not_used.txt @@ -8,3 +8,4 @@ name,type,reason pm_prtp,input,questionnaire cm_prtpScen,input,questionnaire p23_ies_differentiated,input,questionaire +pm_ies,input,questionaire From 679f3e21dd8d02d91e2e5e0193e6fcc1430d7c74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Thu, 21 Nov 2024 12:31:27 +0100 Subject: [PATCH 761/875] Last fixes for 45_refactoring --- .../functionalForm/realization.gms | 52 +++++++++---------- scripts/start/readCheckScenarioConfig.R | 3 ++ standalone/MOFEX/MOFEX.gms | 16 +++--- standalone/template.gms | 8 +-- standalone/trade/trade.gms | 16 +++--- 5 files changed, 49 insertions(+), 46 deletions(-) diff --git a/modules/45_carbonprice/functionalForm/realization.gms b/modules/45_carbonprice/functionalForm/realization.gms index 82a99be30..106d3250c 100644 --- a/modules/45_carbonprice/functionalForm/realization.gms +++ b/modules/45_carbonprice/functionalForm/realization.gms @@ -10,32 +10,32 @@ *' and can be endogenously adjusted to meet CO2 budget targets - either peak or end-of-century - that are formulated in terms of total cumulated CO2 emissions from 2020 (c_budgetCO2from2020). *' Flexible choices for regional carbon price differentiation. -***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -*** The realization uses a global anchor trajectory based on which the regional carbon price trajectories are defined. -*** Part I (Global anchor trajectory): The functional form (linear/exponential) of the global anchor trajectory is chosen via cm_taxCO2_functionalForm. -*** The (initial) carbon price in cm_startyear is chosen via cm_taxCO2_startyear. This value is endogenously adjusted to meet CO2 budget targets if cm_iterative_target_adj is set to 5, 7, or 9. -*** (linear): The linear curve is determined by the two points (cm_taxCO2_historicalYr, cm_taxCO2_historical) and (cm_startyear, cm_taxCO2_startyear). -*** By default, cm_taxCO2_historicalYr is the last timestep before cm_startyear, and cm_taxCO2_historical is the carbon price in that timestep in the reference run (path_gdx_ref) - computed as the maximum of pm_taxCO2eq over all regions. -*** (exponential): The exponential curve is determined by exponential growth rate (cm_taxCO2_expGrowth). -*** Part II (Post-peak behaviour): The global anchor trajectory can be adjusted after reaching the peak of global CO2 emissions in cm_peakBudgYr. -*** The (initial) choice of cm_peakBudgYr is endogenously adjusted if cm_iterative_target_adj is set to 7 or 9. -*** (with iterative_target_adj = 0): after cm_peakBudgYr, the global anchor trajectory increases linearly with fixed annual increase given by cm_taxCO2_IncAfterPeakBudgYr (default = 0, i.e. constant), -*** set cm_peakBudgYr = 2110 to avoid adjustment -*** (with iterative_target_adj = 5): no adjustment to the functional form after cm_peakBudgYr -*** (with iterative_target_adj = 7): after cm_peakBudgYr, the global anchor trajectory is adjusted so that global net CO2 emissions stay close to zero -*** (with iterative_target_adj = 9): after cm_peakBudgYr, the global anchor trajectory increases linearly with fixed annual increase given by cm_taxCO2_IncAfterPeakBudgYr (default = 0, i.e. constant) -*** Part III (Regional differentiation): Regional carbon price differentiation relative to global anchor trajectory is chosen via cm_taxCO2_regiDiff. -*** (none): No regional differetiation, i.e. uniform carbon pricing -*** (initialSpread10): Maximal initial spread of carbon prices in 2030 between OECD regions and poorest region is equal to 10. Initial spread for each region determined based on GDP per capita (PPP) in 2015. Carbon prices converge using quadratic phase-in until cm_taxCO2_regiDiff_endYr (default = 2050). -*** (initialSpread20): Maximal initial spread of carbon prices in 2030 between OECD regions and poorest region is equal to 20. Initial spread for each region determined based on GDP per capita (PPP) in 2015. Carbon prices converge using quadratic phase-in until cm_taxCO2_regiDiff_endYr (default = 2050). -*** (gdpSpread): Regional differentiation based on GDP per capita (PPP) throughout the century. Uses current GDP per capita (PPP) of OECD countries - around 50'000 US$2017 - as threshold for application of full carbon price. -*** Part IV (Interpolation from path_gdx_ref): To smoothen a potential jump of carbon prices in cm_startyear, an interpolation between (a) the carbon prices before cm_startyear provided by path_gdx_ref and (b) the carbon prices from cm_startyear onward defined by parts I-III can be chosen via cm_taxCO2_interpolation -*** In addition, the carbon prices provided by path_gdx_ref are used as lower bound if switch cm_taxCO2_lowerBound_path_gdx_ref is on. -*** (off): no interpolation, i.e. (b) is used from cm_startyear onward -*** (one_step): linear interpolation within 10 years between (a) and (b). For example, if cm_startyear = 2030, it uses (a) until 2025, the average of (a) and (b) in 2030, and (b) from 2035. -*** (two_steps): linear interpolation within 15 years between (a) and (b). For example, if cm_startyear = 2030, it uses (a) until 2025, weighted averages of (a) and (b) in 2030 and 2035, and (b) from 2040. -*** For manual settings, see description of the switch -***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +*' -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +*' The realization uses a global anchor trajectory based on which the regional carbon price trajectories are defined. +*' Part I (Global anchor trajectory): The functional form (linear/exponential) of the global anchor trajectory is chosen via cm_taxCO2_functionalForm. +*' The (initial) carbon price in cm_startyear is chosen via cm_taxCO2_startyear. This value is endogenously adjusted to meet CO2 budget targets if cm_iterative_target_adj is set to 5, 7, or 9. +*' (linear): The linear curve is determined by the two points (cm_taxCO2_historicalYr, cm_taxCO2_historical) and (cm_startyear, cm_taxCO2_startyear). +*' By default, cm_taxCO2_historicalYr is the last timestep before cm_startyear, and cm_taxCO2_historical is the carbon price in that timestep in the reference run (path_gdx_ref) - computed as the maximum of pm_taxCO2eq over all regions. +*' (exponential): The exponential curve is determined by exponential growth rate (cm_taxCO2_expGrowth). +*' Part II (Post-peak behaviour): The global anchor trajectory can be adjusted after reaching the peak of global CO2 emissions in cm_peakBudgYr. +*' The (initial) choice of cm_peakBudgYr is endogenously adjusted if cm_iterative_target_adj is set to 7 or 9. +*' (with iterative_target_adj = 0): after cm_peakBudgYr, the global anchor trajectory increases linearly with fixed annual increase given by cm_taxCO2_IncAfterPeakBudgYr (default = 0, i.e. constant), +*' set cm_peakBudgYr = 2110 to avoid adjustment +*' (with iterative_target_adj = 5): no adjustment to the functional form after cm_peakBudgYr +*' (with iterative_target_adj = 7): after cm_peakBudgYr, the global anchor trajectory is adjusted so that global net CO2 emissions stay close to zero +*' (with iterative_target_adj = 9): after cm_peakBudgYr, the global anchor trajectory increases linearly with fixed annual increase given by cm_taxCO2_IncAfterPeakBudgYr (default = 0, i.e. constant) +*' Part III (Regional differentiation): Regional carbon price differentiation relative to global anchor trajectory is chosen via cm_taxCO2_regiDiff. +*' (none): No regional differetiation, i.e. uniform carbon pricing +*' (initialSpread10): Maximal initial spread of carbon prices in 2030 between OECD regions and poorest region is equal to 10. Initial spread for each region determined based on GDP per capita (PPP) in 2015. Carbon prices converge using quadratic phase-in until cm_taxCO2_regiDiff_endYr (default = 2050). +*' (initialSpread20): Maximal initial spread of carbon prices in 2030 between OECD regions and poorest region is equal to 20. Initial spread for each region determined based on GDP per capita (PPP) in 2015. Carbon prices converge using quadratic phase-in until cm_taxCO2_regiDiff_endYr (default = 2050). +*' (gdpSpread): Regional differentiation based on GDP per capita (PPP) throughout the century. Uses current GDP per capita (PPP) of OECD countries - around 50'000 US$2017 - as threshold for application of full carbon price. +*' Part IV (Interpolation from path_gdx_ref): To smoothen a potential jump of carbon prices in cm_startyear, an interpolation between (a) the carbon prices before cm_startyear provided by path_gdx_ref and (b) the carbon prices from cm_startyear onward defined by parts I-III can be chosen via cm_taxCO2_interpolation +*' In addition, the carbon prices provided by path_gdx_ref are used as lower bound if switch cm_taxCO2_lowerBound_path_gdx_ref is on. +*' (off): no interpolation, i.e. (b) is used from cm_startyear onward +*' (one_step): linear interpolation within 10 years between (a) and (b). For example, if cm_startyear = 2030, it uses (a) until 2025, the average of (a) and (b) in 2030, and (b) from 2035. +*' (two_steps): linear interpolation within 15 years between (a) and (b). For example, if cm_startyear = 2030, it uses (a) until 2025, weighted averages of (a) and (b) in 2030 and 2035, and (b) from 2040. +*' For manual settings, see description of the switch +*' -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- *####################### R SECTION START (PHASES) ############################## $Ifi "%phase%" == "declarations" $include "./modules/45_carbonprice/functionalForm/declarations.gms" diff --git a/scripts/start/readCheckScenarioConfig.R b/scripts/start/readCheckScenarioConfig.R index e2c5be9b9..a0d4c33c7 100644 --- a/scripts/start/readCheckScenarioConfig.R +++ b/scripts/start/readCheckScenarioConfig.R @@ -189,6 +189,9 @@ readCheckScenarioConfig <- function(filename, remindPath = ".", testmode = FALSE "cm_co2_tax_hist" = "Rename to cm_taxCO2_historical, see https://github.com/remindmodel/remind/pull/1874", "cm_year_co2_tax_hist" = "Rename to cm_taxCO2_historicalYr, see https://github.com/remindmodel/remind/pull/1874", "cm_CO2priceRegConvEndYr" = "Use cm_taxCO2_regiDiff_endYr instead, see https://github.com/remindmodel/remind/pull/1874", + "cm_year_co2_tax_hist" = "Use cm_taxCO2_historicalYr instead, see https://github.com/remindmodel/remind/pull/1874", + "cm_co2_tax_hist" = "Use cm_taxCO2_historical instead, see https://github.com/remindmodel/remind/pull/1874", + "cm_taxCO2inc_after_peakBudgYr" = "Use cm_taxCO2_IncAfterPeakBudgYr instead, see https://github.com/remindmodel/remind/pull/1874", NULL) for (i in intersect(names(forbiddenColumnNames), unknownColumnNames)) { msg <- paste0("Column name ", i, " in remind settings is outdated. ", forbiddenColumnNames[i]) diff --git a/standalone/MOFEX/MOFEX.gms b/standalone/MOFEX/MOFEX.gms index 878d34368..aad9d7d0a 100644 --- a/standalone/MOFEX/MOFEX.gms +++ b/standalone/MOFEX/MOFEX.gms @@ -124,8 +124,8 @@ c_solver_try_max "maximum number of inner iterations within one Negishi ite c_keep_iteration_gdxes "save intermediate iteration gdxes" cm_nash_autoconverge "choice of nash convergence mode" cm_emiscen "policy scenario choice" -cm_co2_tax_startyear "level of co2 tax in start year in $ per t CO2eq" -cm_co2_tax_growth "growth rate of carbon tax" +cm_taxCO2_startyear "level of co2 tax in start year in $ per t CO2eq" +cm_taxCO2_expGrowth "growth rate of carbon tax" c_macscen "use of mac" cm_nucscen "nuclear option choice" cm_ccapturescen "carbon capture option choice" @@ -189,8 +189,8 @@ cm_frac_NetNegEmi "tax on net negative emissions to reflect risk of overshoot cm_DiscRateScen "Scenario for the implicit discount rate applied to the energy efficiency capital" c_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" -cm_CO2priceRegConvEndYr "Year at which regional CO2 taxes converge in module 45 for realizations with differentiated carbon prices" +cm_taxCO2_IncAfterPeakBudgYr "annual increase of CO2 price after the Peak Budget Year in $ per tCO2" +cm_taxCO2_regiDiff_endYr "Year at which regional CO2 taxes converge in module 45 for realizations with differentiated carbon prices" c_regi_nucscen "regions to apply nucscen to" c_regi_capturescen "region to apply ccapturescen to" c_regi_synfuelscen "region to apply synfuelscen to" @@ -242,8 +242,8 @@ $setglobal cm_MAgPIE_coupling off !! def = "off" cm_emiscen = 1; !! def = 1 $setglobal cm_rcp_scen none !! def = "none" -cm_co2_tax_startyear = -1; !! def = -1 -cm_co2_tax_growth = 1.05; !! def = 1.05 +cm_taxCO2_startyear = -1; !! def = -1 +cm_taxCO2_expGrowth = 1.05; !! def = 1.05 c_macscen = 1; !! def = 1 cm_nucscen = 2; !! def = 2 @@ -318,8 +318,8 @@ $setGlobal cm_emiMktTarget off !! def = off cm_postTargetIncrease = 0; !! def = 0 $setGlobal cm_quantity_regiCO2target off !! def = off c_peakBudgYr = 2050; !! def = 2050 -cm_taxCO2inc_after_peakBudgYr = 2; !! def = 2 -cm_CO2priceRegConvEndYr = 2050; !! def = 2050 +cm_taxCO2_IncAfterPeakBudgYr = 2; !! def = 2 +cm_taxCO2_regiDiff_endYr = 2050; !! def = 2050 $setGlobal cm_NucRegiPol off !! def = off $setGlobal cm_CoalRegiPol off !! def = off diff --git a/standalone/template.gms b/standalone/template.gms index f74906452..79bc03ef1 100644 --- a/standalone/template.gms +++ b/standalone/template.gms @@ -124,8 +124,8 @@ cm_solver_try_max "maximum number of inner iterations within one Negishi it c_keep_iteration_gdxes "save intermediate iteration gdxes" cm_nash_autoconverge "choice of nash convergence mode" cm_emiscen "policy scenario choice" -cm_co2_tax_startyear "level of co2 tax in start year in $ per t CO2eq" -cm_co2_tax_growth "growth rate of carbon tax" +cm_taxCO2_startyear "level of co2 tax in start year in $ per t CO2eq" +cm_taxCO2_expGrowth "growth rate of carbon tax" c_macscen "use of mac" cm_nucscen "nuclear option choice" cm_ccapturescen "carbon capture option choice" @@ -197,8 +197,8 @@ $setglobal cm_MAgPIE_coupling off !! def = "off" cm_emiscen = 1; !! def = 1 $setglobal cm_rcp_scen none !! def = "none" -cm_co2_tax_startyear = -1; !! def = -1 -cm_co2_tax_growth = 1.05; !! def = 1.05 +cm_taxCO2_startyear = -1; !! def = -1 +cm_taxCO2_expGrowth = 1.05; !! def = 1.05 c_macscen = 1; !! def = 1 cm_nucscen = 2; !! def = 2 diff --git a/standalone/trade/trade.gms b/standalone/trade/trade.gms index 0a12f2718..5f202352e 100644 --- a/standalone/trade/trade.gms +++ b/standalone/trade/trade.gms @@ -128,8 +128,8 @@ c_solver_try_max "maximum number of inner iterations within one Negishi ite c_keep_iteration_gdxes "save intermediate iteration gdxes" cm_nash_autoconverge "choice of nash convergence mode" cm_emiscen "policy scenario choice" -cm_co2_tax_startyear "level of co2 tax in start year in $ per t CO2eq" -cm_co2_tax_growth "growth rate of carbon tax" +cm_taxCO2_startyear "level of co2 tax in start year in $ per t CO2eq" +cm_taxCO2_expGrowth "growth rate of carbon tax" c_macscen "use of mac" cm_nucscen "nuclear option choice" cm_ccapturescen "carbon capture option choice" @@ -193,8 +193,8 @@ cm_frac_NetNegEmi "tax on net negative emissions to reflect risk of overshoot cm_DiscRateScen "Scenario for the implicit discount rate applied to the energy efficiency capital" c_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" -cm_CO2priceRegConvEndYr "Year at which regional CO2 taxes converge in module 45 for realizations with differentiated carbon prices" +cm_taxCO2_IncAfterPeakBudgYr "annual increase of CO2 price after the Peak Budget Year in $ per tCO2" +cm_taxCO2_regiDiff_endYr "Year at which regional CO2 taxes converge in module 45 for realizations with differentiated carbon prices" c_regi_nucscen "regions to apply nucscen to" c_regi_capturescen "region to apply ccapturescen to" c_regi_synfuelscen "region to apply synfuelscen to" @@ -246,8 +246,8 @@ $setglobal cm_MAgPIE_coupling off !! def = "off" cm_emiscen = 1; !! def = 1 $setglobal cm_rcp_scen none !! def = "none" -cm_co2_tax_startyear = -1; !! def = -1 -cm_co2_tax_growth = 1.05; !! def = 1.05 +cm_taxCO2_startyear = -1; !! def = -1 +cm_taxCO2_expGrowth = 1.05; !! def = 1.05 c_macscen = 1; !! def = 1 cm_nucscen = 2; !! def = 2 @@ -323,8 +323,8 @@ $setGlobal cm_emiMktTarget off !! def = off cm_postTargetIncrease = 0; !! def = 0 $setGlobal cm_quantity_regiCO2target off !! def = off c_peakBudgYr = 2050; !! def = 2050 -cm_taxCO2inc_after_peakBudgYr = 2; !! def = 2 -cm_CO2priceRegConvEndYr = 2050; !! def = 2050 +cm_taxCO2_IncAfterPeakBudgYr = 2; !! def = 2 +cm_taxCO2_regiDiff_endYr = 2050; !! def = 2050 $setGlobal cm_NucRegiPol off !! def = off $setGlobal cm_CoalRegiPol off !! def = off From 96fe6e3a6e75627dee9f79225f95f4ab03b78367 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Thu, 21 Nov 2024 13:55:54 +0100 Subject: [PATCH 762/875] Bug fixes for 45_refactoring and scenario_config NPI2025 --- config/scenario_config.csv | 12 ++++++------ main.gms | 1 - 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/config/scenario_config.csv b/config/scenario_config.csv index 83e50f3d1..19a0b8d01 100644 --- a/config/scenario_config.csv +++ b/config/scenario_config.csv @@ -3,7 +3,7 @@ title;start;CES_parameters;slurmConfig;regionmapping;extramappings_historic;cm_r SSP2-NPi-calibrate;calibrate,AMT,compileInTests;calibrate;14;;;rcp45;;;0;NPi;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. SSP2-NDC;1,AMT,2;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2030;;SSP2-NPi2025;SSP2-NPi;SSP2-NPi;SSP2-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. SSP2-NPi;1,AMT,compileInTests,2;;;;;rcp45;3;;0;NPi;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-NPi2025;1,AMT,2;;;;;rcp45;3;;0;NPi2025;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-NPi2025;1,AMT,2;;;;;rcp45;3;;0;NPi2025;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2005;;;;;SSP2-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. SSP2-PkBudg500;1,AMT,2;;;;;rcp20;9;globallyOptimal;500;functionalForm;;;200;2045;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;SSP2-NPi;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be well below 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. SSP2-PkBudg650;1,AMT,2;;;;;rcp20;9;globallyOptimal;650;functionalForm;;;100;2055;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;SSP2-NPi;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. SSP2-PkBudg1000;1,AMT,2;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;;75;2080;;;9;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-NPi2025;;SSP2-NPi;SSP2-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. @@ -13,7 +13,7 @@ SSP2-EU21-NPi-calibrate;calibrate;calibrate;14;./config/regionmapping_21_EU11.cs SSP2-EU21-Base;1,AMT,compileInTests,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;;;;0;;;;;;;;;;off;;;;;;;;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix1;2005;;;;;SSP2-EU21-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. SSP2-EU21-NDC;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2030;;SSP2-EU21-NPi2025;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-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. SSP2-EU21-NPi;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-EU21-NPi2025;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi2025;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-EU21-NPi2025;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi2025;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2005;;;;;SSP2-EU21-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. SSP2-EU21-PkBudg500;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;500;functionalForm;;;200;2045;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi;SSP2-EU21-PkBudg500: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. SSP2-EU21-PkBudg650;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;;;100;2055;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi;SSP2-EU21-PkBudg650: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. SSP2-EU21-PkBudg1000;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;9;globallyOptimal;1000;functionalForm;;;75;2080;;;9;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi;SSP2-EU21-PkBudg1050: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. @@ -21,27 +21,27 @@ SSP2-EU21-PkBudg1000;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extra SSP3-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. SSP3-NDC;0;;;;;rcp45;3;;0;NDC;;;;;;;9;;;1;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2;2030;;SSP2-NPi2025;SSP3-NPi;SSP3-NPi;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. 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. SSP3-NPi;0;;;;;rcp45;3;;0;NPi;;;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP3-NPi2025;0;;;;;rcp45;3;;0;NPi2025;;;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP3-NPi2025;0;;;;;rcp45;3;;0;NPi2025;;;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2;2005;;;;;SSP3-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. SSP3-PkBudg1000;0;;;;;rcp26;9;;1000;functionalForm;;;75;2080;;GLO 2100;9;;;1;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix3ICEban;2030;;SSP2-NPi2025;;;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. SSP3-rollBack;0;;;;;rcp45;3;;0;NPiexpo;;0.9;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix1;2030;;SSP2-NPi2025;;; # H12 SSP1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP1-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. SSP1-NDC;1,AMT,compileInTests;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;GLO 0.12, EUR_regi 0.16;;2;1.75;;;;2;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2;2030;;SSP2-NPi2025;SSP1-NPi;SSP1-NPi;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. SSP1-NPi;1,AMT;;;;;rcp45;3;;0;NPi;;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP1-NPi2025;1,AMT;;;;;rcp45;3;;0;NPi2025;;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP1-NPi2025;1,AMT;;;;;rcp45;3;;0;NPi2025;;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2;2005;;;;;SSP1-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. SSP1-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;functionalForm;;;100;2055;;;9;GLO 0.12, EUR_regi 0.16;;2;1.75;;;;2;;1;feelhpb 1.05, fehob 1.75, feheb 0.1;manual;feh2_otherInd 1.04, feelhth_otherInd 0.4, feh2_cement 2.0, feelhth_chemicals 1.3, feh2_chemicals 1.04;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SSP2-NPi2025;;;SSP1-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. SSP1-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;;75;2080;;;9;GLO 0.12, EUR_regi 0.16;;2;1.75;;;;2;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix3ICEban;2030;;SSP2-NPi2025;;;SSP1-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. # H12 SSP2 lowEnergy;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP2_lowEn-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix1;2005;;;;;SSP2_lowEn-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. SSP2_lowEn-NDC;1,AMT;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix2;2030;;SSP2-NPi2025;SSP2_lowEn-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. 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. SSP2_lowEn-NPi;1,AMT;;;;;rcp45;3;;0;NPi;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix1;2005;;;;;SSP2_lowEn-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2_lowEn-NPi2025;1,AMT;;;;;rcp45;3;;0;NPi2025;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix1;2005;;;;;SSP2_lowEn-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2_lowEn-NPi2025;1,AMT;;;;;rcp45;3;;0;NPi2025;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix2;2005;;;;;SSP2_lowEn-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. SSP2_lowEn-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;functionalForm;;;100;2055;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;;SSP2_lowEn-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. SSP2_lowEn-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;;75;2080;;;9;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;Mix3ICEban;2030;;SSP2-NPi2025;;;SSP2_lowEn-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. # H12 SSP5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP5-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;;;9;;;1;1.75;;;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. SSP5-NDC;1;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;;;1;1.75;;;;3;2;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2;2030;;SSP2-NPi2025;SSP5-NPi;SSP5-NPi;SSP5-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. 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. SSP5-NPi;1;;;;;rcp45;3;;0;NPi;;;;;;;9;;;1;1.75;;;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP5-NPi2025;1;;;;;rcp45;3;;0;NPi2025;;;;;;;9;;;1;1.75;;;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP5-NPi2025;1;;;;;rcp45;3;;0;NPi2025;;;;;;;9;;;1;1.75;;;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2;2005;;;;;SSP5-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. SSP5-PkBudg650;1;;;;;rcp20;9;globallyOptimal;650;functionalForm;;;100;2055;;;9;;;1;1.75;;;;3;2;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix4ICEban;2030;;SSP2-NPi2025;;;SSP5-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. SSP5-PkBudg1000;1,compileInTests;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;;75;2080;;;9;;;1;1.75;;;;3;2;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix3ICEban;2030;;SSP2-NPi2025;;;SSP5-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. diff --git a/main.gms b/main.gms index 60355bbec..0d439f760 100755 --- a/main.gms +++ b/main.gms @@ -371,7 +371,6 @@ $setglobal emicapregi none !! def = none *' *' This module defines the carbon price pm_taxCO2eq, with behaviour across regions governed by similar principles (e.g. global targets, or all following NDC or NPi policies). *' - *' * (functionalForm): [REMIND default for peak budget and end-of-century budget runs] *' * Carbon price trajectory follows a prescribed functional form (linear/exponential) - either until peak year or until end-of-century - *' * and can be endogenously adjusted to meet CO2 budget targets - either peak or end-of-century - that are formulated in terms of total cumulated CO2 emissions from 2020 (cm_budgetCO2from2020). From b5ce372cfd1b4a7b563ee02f8642613adc73bd88 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Thu, 21 Nov 2024 13:01:27 +0000 Subject: [PATCH 763/875] Release development version 3.3.2.dev992 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 0ee9c7a52..43cfd501e 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev988" -date-released: 2024-11-20 +version: "3.3.2.dev992" +date-released: 2024-11-21 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 170d03455..9ce03664b 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev988" +cfg$model_version <- "3.3.2.dev992" #### settings #### cfg$gms <- list() From 7382d09d634c5140174a826bc01a81086e7d8f4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Thu, 21 Nov 2024 14:41:57 +0100 Subject: [PATCH 764/875] Adding NDCsy2025 and minor bug fixes --- config/scenario_config.csv | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/config/scenario_config.csv b/config/scenario_config.csv index 19a0b8d01..560a84dd8 100644 --- a/config/scenario_config.csv +++ b/config/scenario_config.csv @@ -1,47 +1,52 @@ title;start;CES_parameters;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_budgetCO2from2020;carbonprice;cm_taxCO2_functionalForm;cm_taxCO2_expGrowth;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_regiDiff;cm_taxCO2_regiDiff_endYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_bioenergy_SustTax;cm_33EW;cm_33OAE;cm_frac_NetNegEmi;c_ccsinjecratescen;c_ccscapratescen;c_changeProdCost;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description # H12 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP2-NPi-calibrate;calibrate,AMT,compileInTests;calibrate;14;;;rcp45;;;0;NPi;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-NDC;1,AMT,2;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2030;;SSP2-NPi2025;SSP2-NPi;SSP2-NPi;SSP2-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. +SSP2-NDC;1,AMT,2;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;;;;;;;;;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2030;;SSP2-NPi2025;SSP2-NPi;SSP2-NPi;SSP2-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi2025 until 2025 and has start year 2030. 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. +SSP2-NDCsy2025;1,AMT,2;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;;;;;;;;;;5;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2025;;SSP2-NPi;SSP2-NPi;SSP2-NPi;SSP2-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi until 2020 and has start year 2025.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. SSP2-NPi;1,AMT,compileInTests,2;;;;;rcp45;3;;0;NPi;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-NPi2025;1,AMT,2;;;;;rcp45;3;;0;NPi2025;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2005;;;;;SSP2-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-NPi2025;1,AMT,2;;;;;rcp45;3;;0;NPi2025;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2005;;;;;SSP2-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. SSP2-PkBudg500;1,AMT,2;;;;;rcp20;9;globallyOptimal;500;functionalForm;;;200;2045;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;SSP2-NPi;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be well below 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. SSP2-PkBudg650;1,AMT,2;;;;;rcp20;9;globallyOptimal;650;functionalForm;;;100;2055;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;SSP2-NPi;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. SSP2-PkBudg1000;1,AMT,2;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;;75;2080;;;9;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-NPi2025;;SSP2-NPi;SSP2-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. SSP2-EcBudg400;1,AMT,2;;;;;rcp26;5;globallyOptimal;400;functionalForm;exponential;;70;;initialSpread20;GLO 2070;9;;;;;1;1;0;;;1;;;;2060.GLO 0.9;NDC;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2035;;SSP2-NPi2025;;SSP2-NPi;SSP2-EcBudg400: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes an end-of-century budget of 400 Gt CO2 on total CO2 emissions from 2020 to 2100. This is a high overshoot scenario with delayed climate policy. # EU21 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP2-EU21-NPi-calibrate;calibrate;calibrate;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;0;NPi;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-EU21-Base;1,AMT,compileInTests,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;;;;0;;;;;;;;;;off;;;;;;;;;;;;;;;;;;;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix1;2005;;;;;SSP2-EU21-Base: This baseline calibration scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-EU21-NDC;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2030;;SSP2-EU21-NPi2025;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-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. +SSP2-EU21-NDC;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;;;;;;;;;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2030;;SSP2-EU21-NPi2025;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi2025 until 2025 and has start year 2030. 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. +SSP2-EU21-NDCsy2025;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;;;;;;;;;;5;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2025;;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi until 2020 and has start year 2025. 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. SSP2-EU21-NPi;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-EU21-NPi2025;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi2025;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2;2005;;;;;SSP2-EU21-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-EU21-NPi2025;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi2025;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2005;;;;;SSP2-EU21-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. SSP2-EU21-PkBudg500;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;500;functionalForm;;;200;2045;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi;SSP2-EU21-PkBudg500: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. SSP2-EU21-PkBudg650;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;;;100;2055;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi;SSP2-EU21-PkBudg650: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. SSP2-EU21-PkBudg1000;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;9;globallyOptimal;1000;functionalForm;;;75;2080;;;9;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi;SSP2-EU21-PkBudg1050: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. # H12 SSP3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP3-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. -SSP3-NDC;0;;;;;rcp45;3;;0;NDC;;;;;;;9;;;1;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2;2030;;SSP2-NPi2025;SSP3-NPi;SSP3-NPi;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. 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. +SSP3-NDC;0;;;;;rcp45;3;;0;NDC;;;;;;;9;;;1;;;;;;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2ICEban;2030;;SSP2-NPi2025;SSP3-NPi;SSP3-NPi;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. It assumes NPi2025 until 2025 and has start year 2030. 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. +SSP3-NDCsy2025;0;;;;;rcp45;3;;0;NDC;;;;;;;9;;;1;;;;;;;5;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2ICEban;2025;;SSP2-NPi;SSP3-NPi;SSP3-NPi;SSP3-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. It assumes NPi until 2020 and has start year 2025. 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. SSP3-NPi;0;;;;;rcp45;3;;0;NPi;;;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP3-NPi2025;0;;;;;rcp45;3;;0;NPi2025;;;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2;2005;;;;;SSP3-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP3-NPi2025;0;;;;;rcp45;3;;0;NPi2025;;;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2ICEban;2005;;;;;SSP3-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. SSP3-PkBudg1000;0;;;;;rcp26;9;;1000;functionalForm;;;75;2080;;GLO 2100;9;;;1;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix3ICEban;2030;;SSP2-NPi2025;;;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. SSP3-rollBack;0;;;;;rcp45;3;;0;NPiexpo;;0.9;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix1;2030;;SSP2-NPi2025;;; # H12 SSP1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP1-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. -SSP1-NDC;1,AMT,compileInTests;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;GLO 0.12, EUR_regi 0.16;;2;1.75;;;;2;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2;2030;;SSP2-NPi2025;SSP1-NPi;SSP1-NPi;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. +SSP1-NDC;1,AMT,compileInTests;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2ICEban;2030;;SSP2-NPi2025;SSP1-NPi;SSP1-NPi;SSP1-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. It assumes NPi2025 until 2025 and has start year 2030. 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. +SSP1-NDCsy2025;1,AMT;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;5;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2ICEban;2025;;SSP2-NPi;SSP1-NPi;SSP1-NPi;SSP1-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. It assumes NPi until 2020 and has start year 2025. 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. SSP1-NPi;1,AMT;;;;;rcp45;3;;0;NPi;;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP1-NPi2025;1,AMT;;;;;rcp45;3;;0;NPi2025;;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2;2005;;;;;SSP1-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP1-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;functionalForm;;;100;2055;;;9;GLO 0.12, EUR_regi 0.16;;2;1.75;;;;2;;1;feelhpb 1.05, fehob 1.75, feheb 0.1;manual;feh2_otherInd 1.04, feelhth_otherInd 0.4, feh2_cement 2.0, feelhth_chemicals 1.3, feh2_chemicals 1.04;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SSP2-NPi2025;;;SSP1-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP1-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;;75;2080;;;9;GLO 0.12, EUR_regi 0.16;;2;1.75;;;;2;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix3ICEban;2030;;SSP2-NPi2025;;;SSP1-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP1-NPi2025;1,AMT;;;;;rcp45;3;;0;NPi2025;;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2ICEban;2005;;;;;SSP1-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP1-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;functionalForm;;;100;2055;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;1;feelhpb 1.05, fehob 1.75, feheb 0.1;manual;feh2_otherInd 1.04, feelhth_otherInd 0.4, feh2_cement 2.0, feelhth_chemicals 1.3, feh2_chemicals 1.04;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SSP2-NPi2025;;;SSP1-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP1-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;;75;2080;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix3ICEban;2030;;SSP2-NPi2025;;;SSP1-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. # H12 SSP2 lowEnergy;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP2_lowEn-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix1;2005;;;;;SSP2_lowEn-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. -SSP2_lowEn-NDC;1,AMT;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix2;2030;;SSP2-NPi2025;SSP2_lowEn-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. 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. +SSP2_lowEn-NDC;1,AMT;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;;;;;;;;;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix2ICEban;2030;;SSP2-NPi2025;SSP2_lowEn-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi2025 until 2025 and has start year 2030. This scenario also assumes low energy demand trajectories. 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. +SSP2_lowEn-NDCsy2025;1,AMT;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;;;;;;;;;;5;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix2ICEban;2025;;SSP2-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi until 2020 and has start year 2025. This scenario also assumes low energy demand trajectories. 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. SSP2_lowEn-NPi;1,AMT;;;;;rcp45;3;;0;NPi;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix1;2005;;;;;SSP2_lowEn-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2_lowEn-NPi2025;1,AMT;;;;;rcp45;3;;0;NPi2025;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix2;2005;;;;;SSP2_lowEn-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2_lowEn-NPi2025;1,AMT;;;;;rcp45;3;;0;NPi2025;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix2ICEban;2005;;;;;SSP2_lowEn-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. SSP2_lowEn-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;functionalForm;;;100;2055;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;;SSP2_lowEn-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. SSP2_lowEn-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;;75;2080;;;9;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;Mix3ICEban;2030;;SSP2-NPi2025;;;SSP2_lowEn-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. # H12 SSP5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP5-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;;;9;;;1;1.75;;;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. -SSP5-NDC;1;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;;;1;1.75;;;;3;2;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2;2030;;SSP2-NPi2025;SSP5-NPi;SSP5-NPi;SSP5-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. 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. +SSP5-NDC;1;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;;;1;1.75;;;;3;2;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2ICEban;2030;;SSP2-NPi2025;SSP5-NPi;SSP5-NPi;SSP5-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. It assumes NPi2025 until 2025 and has start year 2030. 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. +SSP5-NDCsy2025;1;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;;;1;1.75;;;;3;2;5;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2ICEban;2025;;SSP2-NPi;SSP5-NPi;SSP5-NPi;SSP5-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. It assumes NPi until 2020 and has start year 2025. 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. SSP5-NPi;1;;;;;rcp45;3;;0;NPi;;;;;;;9;;;1;1.75;;;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP5-NPi2025;1;;;;;rcp45;3;;0;NPi2025;;;;;;;9;;;1;1.75;;;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2;2005;;;;;SSP5-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP5-NPi2025;1;;;;;rcp45;3;;0;NPi2025;;;;;;;9;;;1;1.75;;;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2ICEban;2005;;;;;SSP5-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. SSP5-PkBudg650;1;;;;;rcp20;9;globallyOptimal;650;functionalForm;;;100;2055;;;9;;;1;1.75;;;;3;2;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix4ICEban;2030;;SSP2-NPi2025;;;SSP5-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. SSP5-PkBudg1000;1,compileInTests;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;;75;2080;;;9;;;1;1.75;;;;3;2;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix3ICEban;2030;;SSP2-NPi2025;;;SSP5-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. From c6b02e5898ffef8f953f1b827f9d2fe40c58c532 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Thu, 21 Nov 2024 13:47:54 +0000 Subject: [PATCH 765/875] Release development version 3.3.2.dev1001 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 43cfd501e..94748f25e 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev992" +version: "3.3.2.dev1001" date-released: 2024-11-21 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 9ce03664b..8a696ce8e 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev992" +cfg$model_version <- "3.3.2.dev1001" #### settings #### cfg$gms <- list() From 1b6f1662f73ad3a5d6de7ec273624300fd45c48d Mon Sep 17 00:00:00 2001 From: Nico Bauer Date: Thu, 21 Nov 2024 17:22:13 +0100 Subject: [PATCH 766/875] *NB* added a boud for the calibaration runs for the building sector in MEA. Potentially to be removed in the future. Or restrict applicability to SSP3 --- modules/29_CES_parameters/calibrate/bounds.gms | 9 +++++++++ modules/29_CES_parameters/calibrate/sets.gms | 1 + modules/29_CES_parameters/load/not_used.txt | 1 + 3 files changed, 11 insertions(+) diff --git a/modules/29_CES_parameters/calibrate/bounds.gms b/modules/29_CES_parameters/calibrate/bounds.gms index 925a310f0..bad3b9754 100644 --- a/modules/29_CES_parameters/calibrate/bounds.gms +++ b/modules/29_CES_parameters/calibrate/bounds.gms @@ -58,4 +58,13 @@ loop (pf_industry_relaxed_bounds_dyn37(in), + INF$( sm_CES_calibration_iteration gt sm_tmp ); ); +loop(p29_building_relaxed_bounds_dyn(in), + vm_cesIO.lo(t,regi_dyn29(regi),in)$(t.val gt 2020 AND SAMEAS(regi, "MEA")) + = pm_cesdata(t,regi,in,"quantity") * 0.95 ; + + vm_cesIO.up(t,regi_dyn29(regi),in)$(t.val gt 2020 AND SAMEAS(regi, "MEA")) + = pm_cesdata(t,regi,in,"quantity")* 1.05; +); + + *** EOF ./modules/29_CES_parameters/calibrate/bounds.gms diff --git a/modules/29_CES_parameters/calibrate/sets.gms b/modules/29_CES_parameters/calibrate/sets.gms index b075b51a7..d68f86579 100644 --- a/modules/29_CES_parameters/calibrate/sets.gms +++ b/modules/29_CES_parameters/calibrate/sets.gms @@ -65,6 +65,7 @@ t_29(ttot) "time steps considered in the calibration" pf_eff_target_dyn29(all_in) "production factors with efficiency target" / / pf_quan_target_dyn29(all_in) "production factors with quantity target" / / +p29_building_relaxed_bounds_dyn(all_in) "quantity calibration in the building sector" /feelrhb, feelcb, fesob, fegab, feh2b/ capUnitType "Type of technological data: for investments or for the standing capital" / diff --git a/modules/29_CES_parameters/load/not_used.txt b/modules/29_CES_parameters/load/not_used.txt index 4e462767a..c5a27b58b 100644 --- a/modules/29_CES_parameters/load/not_used.txt +++ b/modules/29_CES_parameters/load/not_used.txt @@ -23,3 +23,4 @@ pm_fedemand,parameter,not needed pm_energy_limit,, sm_CES_calibration_iteration,scalar,only applicable during calibration cm_H2InBuildOnlyAfter,parameter,??? +p29_building_relaxed_bounds_dyn,set,not needed \ No newline at end of file From 75d46909241c8c020816609e46a611f87eb97914 Mon Sep 17 00:00:00 2001 From: Nico Bauer Date: Thu, 21 Nov 2024 18:17:22 +0100 Subject: [PATCH 767/875] *NB* added technoeconomic data for SSP3; also added the option to parameter c_techAssumptScen. Unfortunately, SSP3 is equal to "4", because SSP5 is "3" --- core/input/generisdata_tech_SSP3.prn | 260 +++++++++++++++++++++++++++ main.gms | 4 +- 2 files changed, 262 insertions(+), 2 deletions(-) create mode 100644 core/input/generisdata_tech_SSP3.prn diff --git a/core/input/generisdata_tech_SSP3.prn b/core/input/generisdata_tech_SSP3.prn new file mode 100644 index 000000000..ae5bc79e6 --- /dev/null +++ b/core/input/generisdata_tech_SSP3.prn @@ -0,0 +1,260 @@ +*** SOF ./core/input/generisdata_tech.prn +$ontext +tech_stat technology status: how close a technology is to market readiness. Scale: 0-3, with 0 'I can go out and build a GW plant today' to 3 'Still some research necessary' +inco0 Initial investment costs given in $[2015] / kW[output] capacity; for dac/prc cc: $[2015] / (tC[captured]/a); for other indutry prc: $[2015]/(t[output]/a) +constrTme Construction time in years, needed to calculate turn-key cost premium compared to overnight costs +mix0 Fraction of output that is produced by this technology in 2005. This value can be overwritten in the calibration process; also, it often does not add up to 1. +eta Conversion efficieny, i.e. energy output divided by energy input (for all but nuclear plants, there it is TW energy output over MT Uranium input) +omf Fixed operation and maintenace costs given as a fraction of investment costs +omv Variable operation and maintenance costs given in $[2015] / (kW[output] * a) energy production +lifetime given in years +incolearn Difference from inco0 to floor investment costs, given in $[2015] / kW[output]; for dac: $[2015] / (tC[captured]/a) +ccap0 Cumulated capacity in 2005 given in TW +learn Learning rate given in percent cost reduction per doubling of cumulated capacity +luse land use factor of solar technologies +$offtext + + ngcc ngccc ngt gastr gaschp gashp gash2 gash2c gasftrec gasftcrec +tech_stat 2 0 1 2 3 +inco0 700 1350 400 60 1200 400 900 1400 2030 2400 +constrTme 3 3 2 1 3 2 2 2 3 3 +mix0 0.70 0.00 0.00 0.00 +eta 0.55 0.49 0.35 1.00 0.47 0.80 0.73 0.70 0.73 0.70 +omf 0.02 0.03 0.02 0.03 0.03 0.03 0.05 0.06 0.05 0.06 +omv 15 30 24 30 42 24 20 25 43 43 +lifetime 35 35 30 35 35 35 35 35 35 35 + ++ refliq +inco0 450 +constrTme 2 +mix0 +eta 0.910125 +omf 0.03 +omv 12.00 +lifetime 40 + ++ igcc igccc pc coalchp coalhp coaltr coalgas coalftrec coalftcrec coalh2 coalh2c +tech_stat 1 2 1 3 1 2 +inco0 1800 2900 1500 2500 550 120 1440 1500 1820 1510 1720 +constrTme 4 5 4 4 2 1 4 4 4 4 4 +mix0 0.00 0.00 0.30 0.00 +eta 0.40 0.33 0.38 0.38 0.75 0.95 0.60 0.40 0.40 0.57 0.53 +omf 0.02 0.03 0.02 0.03 0.03 0.03 0.03 0.05 0.06 0.05 0.06 +omv 38 61 30 72 36 43 43 6 6 +lifetime 40 40 40 40 40 35 35 35 35 35 35 + ++ biotr biotrmod biochp biohp bioigcc bioigccc biogas biogasc bioh2 bioh2c bioethl bioeths biodiesel bioftrec bioftcrec +tech_stat 1 3 1 3 2 3 2 3 3 +inco0 10 300 3000 550 2450 3150 1200 1230 1680 2040 2860 590 160 3000 2900 +constrTme 0 1 4 2 4 5 4 4 4 4 4 2 2 4 5 +mix0 0.00 +eta 1.00 0.95 0.35 0.72 0.39 0.28 0.55 0.55 0.59 0.55 0.36 0.55 0.93 0.41 0.41 +omf 0.03 0.04 0.04 0.04 0.04 0.04 0.06 0.07 0.08 0.07 0.11 0.05 0.05 0.07 +omv 30.11 25.00 31.50 50.50 10.90 12.80 10.60 10.60 97.27 38.99 5.05 14.00 +lifetime 35 35 40 40 40 40 40 40 35 35 35 35 35 35 35 + + ++ geohdr geohe hydro windon windoff spv solhe csp +tech_stat 1 +inco0 3600 1200 2700 2400 5000 5160 9999 10320 +constrTme 4 1 5 1 4 1 1 3 +mix0 +eta 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 +omf 0.04 0.06 0.025 0.03 0.04 0.03 0.025 +lifetime 30 25 130 25 25 30 25 30 +incolearn 1500 3200 4760 5760 +ccap0 0.06 0.0007 0.005 0.0002 +learn 0.06 0.06 0.20 0.103 +luse 0.09 0.021 + + ++ elh2 dot dhp h2turb h2curt h2turbVRE elh2VRE h22ch4 MeOH +tech_stat 3 5 5 5 3 3 +inco0 3500 480 360 510 700 510 0.1 700 1300 +constrTme 2 2 1 2 2 2 1 2 2 +mix0 +eta 0.73 0.30 0.80 0.40 0.62 0.40 0.73 0.8 0.7 +omf 0.05 0.03 0.03 0.03 0.05 0.03 0.00 0.04 0.05 +omv 3 12 12 24 0 24 3 25 +lifetime 30 25 25 30 30 30 30 30 30 +incolearn 3370 +ccap0 0.00077 +learn 0.15 + + ++ tdels tdbiogas tdfosgas tdbiohos tdfoshos tdh2s tdh2t +inco0 1800 360 360 60 60 1080 3000 +mix0 1.00 1.00 1.00 1.00 1.00 1.00 1.00 +eta 0.95 0.85 0.85 1.00 1.00 1.00 1.00 +omf 0.03 0.02 0.02 0.03 0.03 0.02 0.06 +lifetime 45 45 45 30 30 45 45 + ++ tdsyngas tdsyngat tdsynhos tdsynpet tdsyndie +inco0 360 360 60 600 600 +mix0 1.00 1.00 1.00 1.00 1.00 +eta 0.85 0.85 1.00 1.00 1.00 +omf 0.02 0.02 0.03 0.10 0.10 +lifetime 45 45 30 45 45 + ++ tdbiogat tdfosgat +inco0 360 360 +mix0 1.00 1.00 +eta 0.85 0.85 +omf 0.02 0.02 +lifetime 45 45 + ++ tdbiosos tdfossos tdhes tdbiodie tdfosdie tdbiopet tdfospet tdelt +inco0 60 60 600 600 600 600 600 6000 +mix0 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 +eta 1.00 1.00 0.90 1.00 1.00 1.00 1.00 0.95 +omf 0.08 0.08 0.02 0.10 0.10 0.10 0.10 0.05 +lifetime 30 30 45 45 45 45 45 45 + + +*+ ccscomp ccspipe ccsinje ccsmoni +*tech_stat 1 1 2 2 +*inco0 0.1 100 75 0.1 +*mix0 1.00 1.00 1.00 1.00 +*eta 1.00 1.00 1.00 1.00 +*omf 0.00 0.02 0.08 0.00 +*lifetime 40 40 40 40 + ++ ccsinje +tech_stat 0 +inco0 350 +mix0 1.00 +eta 1.00 +omf 0.06 +lifetime 40 +constrTme 3 + ++ tnrs fnrs +inco0 5500 6000 +constrTme 7 7 +mix0 +eta 4.41 1012.00 +omf 0.03 0.03 +omv 36 76 +lifetime 40 50 + ++ storspv storcsp storwindon storwindoff +inco0 7720 2520 2940 2940 +mix0 0.00 0.00 0.00 0.00 +eta 0.74 0.79 0.85 0.85 +omf 0.02 0.02 0.02 0.02 +lifetime 25 25 25 25 +incolearn 4400 1440 1700 1700 +ccap0 0.00005 0.00005 0.00005 0.00005 +learn 0.10 0.10 0.10 0.10 + ++ gridspv gridcsp gridwindon gridwindoff +inco0 3600 4000 1080 1080 +mix0 0.00 0.00 0.00 0.00 +eta 1.00 1.00 1.00 1.00 +omf 0.02 0.02 0.02 0.02 +lifetime 45 45 45 45 + ++ weathering dac oae_ng oae_el +tech_stat 4 +inco0 0.01 18800 200 400 +mix0 0 0 0 0 +eta 1.00 1.00 1.00 1.00 +omf 0.84 0.025 0.35 0.17 +omv 0 +lifetime 20 20 25 25 +incolearn 14000 +ccap0 0.0008 +learn 0.15 + +$ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" ++ bf bof idr eaf +!! documentation & sources: see below +tech_stat +inco0 400.0 200.0 350.0 350.0 +omf 0.06 0.06 0.06 0.06 +lifetime 20 20 20 20 + ++ bfcc idrcc +!! documentation & sources: see below +inco0 1100 900 +omf 0.06 0.06 +lifetime 20 20 +$endif.cm_subsec_model_steel + + + +$ontext +Explanations: + +Electrolysis - elh2 +learning parameterization: +Initialize learning curve for electrolysis at 0.5 GW(el) installed globally at CAPEX of 2300 USD/kW(el) in 2020. +Based on Ramboll 2023, https://energycentral.com/system/files/ece/nodes/658117/ghpp.pdf +and IEA 2024 Hydrogen Review, https://www.iea.org/reports/global-hydrogen-review-2024 +0.5 GW(el) * 0.65 (elh2 efficiency) * 1e-3 ~ 0.00077 TW(H2) = ccap0 (for 2020) +2300 USD/kW(el) / 0.65 (elh2 efficiency) ~ 3500 USD/kW(H2) = inco0 (for 2020) +Assume floor cost: 100 USD/kW(el) +100 USD/kW(el) / 0.75 (long-term elh2 efficiency) ~ 133 USD/kW(H2) -> incolearn = 3370 + +Direct Air Capture - dac +learning parameterization: +Assume that 3 MtCO2/yr DAC capacity installed gobally by 2025 (https://www.iea.org/reports/direct-air-capture) +that produce at (unit) cost of 400 USD/tCO2 (Climeworks). +Assume that all 400 USD/tCO2 are investment cost as current plants runs with waste energy. + +3 MtCO2/yr / 3.66 * / 1000 ~ 0.0008 GtC/yr = ccap0 +400 USD/tCO2 * 0.9 (capacity factor) / (0.07 1/yr) (annuity factor, stretch cost over plant lifetime) +* 3.66 (tCO2 to tC) ~ 18800 USD/(tC/yr) +Assume floor cost 100 USD/tCO2. +100 USD/tCO2 * 0.9 (capacity factor) / (0.07 1/yr) (annuity factor, stretch cost over plant lifetime) +* 3.66 (tCO2 to tC) ~ 4800 USD/(tC/yr) -> incolearn = 14000 + +Ocean Liming - oae +annuity factor = 0.07 for lifetime 25 years (lifetime of a cement plant) and r = 0.05, capacity factor = 0.9 +CAPEX (Kowalczyk et al., 2024): 16 USD/tCaO (NG calciner) and 31 USD/tCaO (electric calciner) +--- oae_ng +inco0: 16 (USD/tCaO) * 0.9 / 0.07 (1/yr) ~ 200 USD / tCaO +omf: 60 (USD/tCaO production) + ~10 (USD/tCaO distribution) +--- oae_el +inco0: 31 (USD/tCaO) * 0.9 / 0.07 (1/yr) ~ 400 USD / tCaO +omf: 60 (USD/tCaO production) + ~10 (USD/tCaO distribution) +Costs per tC removed is calculated in the code as it depends on the efficiency (tCO2/tCaO; exogenous): + cost (USD/tC) = inco0 (USD/tCaO) / ( efficiency (tCO2/tCaO) / 3.66 (tCO2/tC) ) + +--- process-based industry: --- +annuity factor = r * (1+r)^lifetime/(-1+(1+r)^lifetime), factor to annualize total investment cost of plant, discounting r = 0.05 +Assumption (for now): 20 yr lifetime for all techs (something in between plant lifetimes and retrofit intervals) +-> take inco0 times 0.08 to get $/t + +bf and bof: +IEA I&S Fig 1.3: Route combined 52-94 $/t CAPEX (8 % discount, 25 yr lifetime -> discFac = 0.09), 48-87 $/t OPEX +Figure shows 65 / 55 --> inco0 approx 700 +Agora KSV-Rechner: 38 € OPEX +Woertler 2013 Exhibit 8: Components (no C&R) summed CAPEX 442 € (149 BF, 128 BOF, + Rest) --> approx 500 $ +--> inco0 average is 600; distribution among bf and bof does not affect model, measurement of bf in tPI is negligible + +dri-eaf: +IEA I&S Fig 1.3: Route combined 53-136 $/t CAPEX (8 % discount, 25 yr lifetime -> discFac = 0.09), 48-125 $/t OPEX +Figure shows 85 / 75 --> inco0 approx 900 +Agora KSV-Rechner: 40 € OPEX +Woertler 2013 Exhibit 8: Components (no C&R) summed CAPEX 414 € (230 BF, 184 EAF) --> approx 475 $ +--> Rough average inco0 is 700 + +scrap-eaf: +IEA I&S Fig 1.3: Route combined 34-58 $/t CAPEX (8 % discount, 25 yr lifetime -> discFac = 0.09), 31-54 $/t OPEX +Figure shows 45 / 40 --> inco0 approx 480 +Woertler 2013 Exhibit 8: EAF (no C&R) CAPEX 184 € --> approx 210 $ +--> Rough average inco0 is 350 + +bfcc: +CAPEX 25 $ /tCO2 +(Rough average of sources: Wiley 2011, Tsupari 2013, Herron 2014, Yun 2021) +inco0=25$/tCO2 -> to $/tC *(44/12) -> to $/(tC/a) with discount *12 -> *capFac = 1100 +omf ~ 0.75*capex + +idrcc: +make slightly cheaper than bfcc as there is only one point source + +$offtext + +*** EOF ./core/input/generisdata_tech.prn diff --git a/main.gms b/main.gms index 9c169a6ea..c6acd9c41 100755 --- a/main.gms +++ b/main.gms @@ -787,9 +787,9 @@ parameter *' * (4): so2 tax intermediary between 1 and 2, multiplying (1) tax by the ratio (3) and (2) *' parameter - c_techAssumptScen "scenario for assumptions of energy technologies based on SSP scenarios, 1: SSP2 (default), 2: SSP1, 3: SSP5" + c_techAssumptScen "scenario for assumptions of energy technologies based on SSP scenarios, 1: SSP2 (default), 2: SSP1, 3: SSP5, 4: SSP3" ; - c_techAssumptScen = 1; !! def = 1 !! regexp = [1-3] + c_techAssumptScen = 1; !! def = 1 !! regexp = [1-4] *' This flag defines an energy technology scenario according to SSP scenario *' * (1) SSP2: reference scenario - default investment costs & learning rates for pv, csp and wind *' * (2) SSP1: advanced renewable energy techno., pessimistic for nuclear and CCS From 987af24bf494054b6ad9fcd0ef496d550fc71ef6 Mon Sep 17 00:00:00 2001 From: robertpietzcker Date: Fri, 22 Nov 2024 11:09:01 +0100 Subject: [PATCH 768/875] comments on PV updates --- core/input/generisdata_tech.prn | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/core/input/generisdata_tech.prn b/core/input/generisdata_tech.prn index 6212fc056..27a1f5a6e 100644 --- a/core/input/generisdata_tech.prn +++ b/core/input/generisdata_tech.prn @@ -196,6 +196,10 @@ and IEA 2024 Hydrogen Review, https://www.iea.org/reports/global-hydrogen-review Assume floor cost: 100 USD/kW(el) 100 USD/kW(el) / 0.75 (long-term elh2 efficiency) ~ 133 USD/kW(H2) -> incolearn = 3370 +Photovoltaics - spv +overall learning rate was increased to 25% and floor costs decreased to 50$2015/kW, as recent +(2024) prices in various IEA-PVPS reports or other market reports show learning was faster than expected. + Direct Air Capture - dac learning parameterization: Assume that 3 MtCO2/yr DAC capacity installed gobally by 2025 (https://www.iea.org/reports/direct-air-capture) From d9557fae5c06b71d30ced0224eea0465b90dc590 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tonn=20R=C3=BCter?= Date: Fri, 22 Nov 2024 15:56:01 +0100 Subject: [PATCH 769/875] Rm'd scenarios w\ climate realization "magicc" --- config/scenario_config_NGFS_v5.csv | 51 ------------------------------ 1 file changed, 51 deletions(-) diff --git a/config/scenario_config_NGFS_v5.csv b/config/scenario_config_NGFS_v5.csv index 8b3240892..b7a60a888 100644 --- a/config/scenario_config_NGFS_v5.csv +++ b/config/scenario_config_NGFS_v5.csv @@ -23,54 +23,3 @@ o_2c_KLW_d50;KLW;o_2c;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;KotzWenzItr;/ d_delfrag_KLW_d50;KLW;d_delfrag;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;KotzWenzItr;/p/projects/rd3mod/climate-assessment-files/parsets/RCP26_50.json;;on;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;h_cpol_KLW_d50;h_cpol_KLW_d50;;d_delfrag_KLW_d50: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kotz and Wenz (2024) are internalized in the optimization using the 50th percentile of RCP2.6. d_strain_KLW_d50;KLW;d_strain;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;KotzWenzItr;/p/projects/rd3mod/climate-assessment-files/parsets/RCP45_50.json;;on;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;h_cpol_KLW_d50;h_cpol_KLW_d50;;d_strain_KLW_d50: Fragmented World. Damages from climate change based on Kotz and Wenz (2024) are internalized in the optimization using the 50th percentile of RCP4.5. d_rap_KLW_d50;0;d_rap;;;;;;;14;magicc7_ar6;off;HADCRUT4;KotzWenz;0;KotzWenzItr;/p/projects/rd3mod/climate-assessment-files/parsets/RCP20_50.json;;on;med;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;h_cpol;h_cpol_KLW_d50;;d_rap_KLW_d50: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kotz and Wenz (2024) are internalized in the optimization using the 50th percentile of RCP2.6. -# ___WITH_DAMAGES_old_NGFSv4___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-Base_d50;0;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KWLike;0;;;RCP26_50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d50: 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -SSP2-Base_d95;0;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KWLike;0;;;RCP26_95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d95: 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -SSP2-Base_d50high;d50high;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KW_SE;1.96;;;RCP26_50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d50: 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -SSP2-Base_d95high;d95high;SSP2-Base;;;;;;;;magicc;CMIP5;HADCRUT4;KW_SE;1.96;;;RCP26_95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;;;SSP2-Base_d95: 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -h_cpol_d50;d50;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d50: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -h_cpol_d95;d95;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_95;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d95: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -h_cpol_d50high;d50high;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d50high: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -h_cpol_d95high;d95high;h_cpol;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;;RCP26_95;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_cpol;h_cpol_noUkr;;;h_cpol_d95high: The Current Policies scenario assumes that only currently implemented policies are preserved, leading to high physical risks. Emissions grow until 2080 leading to about 3 K of warming and severe physical risks. This includes irreversible changes like higher sea level rise. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -h_ndc_d50;d50;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d50;SSP2-Base;h_ndc_d50: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -h_ndc_d95;d95;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_95;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d95;SSP2-Base;h_ndc_d95: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -h_ndc_d50high;d50high;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d50high;SSP2-Base;h_ndc_d50high: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -h_ndc_d95high;d95high;h_ndc;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;off;;RCP26_95;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;h_ndc;h_cpol_noUkr;h_cpol_d95high;SSP2-Base;h_ndc_d95high: The Nationally Determined Contributions (NDCs) scenario includes all pledged policies even if not yet implemented. It assumes that the moderate and heterogeneous climate ambition reflected in the NDCs at the beginning of 2021 continues over the 21st century (low transition risks). Emissions decline but lead nonetheless to about 2.5 K of warming associated with moderate to severe physical risks. Transition risks are relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -o_1p5c_d50;d50;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d50;;o_1p5c_d50: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_1p5c_d95;d95;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d95;;o_1p5c_d95: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_1p5c_d50high;d50high;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d50high;;o_1p5c_d50high: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_1p5c_d95high;d95high;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol_d95high;;o_1p5c_d95high: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_1p5c_d50_cpricereg;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_d50_cpricereg: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_1p5c_d95_cpricereg;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_d95_cpricereg: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_1p5c_dni50;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_dni50: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -o_1p5c_dni95;0;o_1p5c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_95;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_1p5c;h_cpol_noUkr;h_cpol;;o_1p5c_dni95: The Net Zero 2050 scenario assumes that ambitious climate policies are introduced immediately, giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. Stringent climate policies and innovation let net zero CO2 emissions to be reached around 2050. CDR is used to accelerate the decarbonisation but kept to the minimum possible and broadly in line with sustainable levels of bioenergy production. Physical risks are relatively low but transition risks are high. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -o_lowdem_d50;d50;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d50;;o_lowdem_d50 -o_lowdem_d95;d95;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d95;;o_lowdem_d95 -o_lowdem_d50high;d50high;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d50high;;o_lowdem_d50high -o_lowdem_d95high;d95high;o_lowdem;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_lowdem;h_cpol_noUkr;h_cpol_d95high;;o_lowdem_d95high -o_2c_d50;d50;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d50;;o_2c_d50: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_2c_d95;d95;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d95;;o_2c_d95: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_2c_d50high;d50high;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d50high;;o_2c_d50high: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_2c_d95high;d95high;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol_d95high;;o_2c_d95high: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_2c_d50_cpricereg;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_d50_cpricereg: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. The Social Cost of Carbon is regional rather than globally uniform. -o_2c_d95_cpricereg;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItrCPreg;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_d95_cpricereg: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. The Social Cost of Carbon is regional rather than globally uniform. -o_2c_dni50;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_dni50: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 50th percentile of RCP26. -o_2c_dni50_fixCprice;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;0;;1050;exogenous;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_dni50_fixCprice: a test run fixing the carbon price to the one from the fully integrated o_2c_d50 scenario -o_2c_fixCprice;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;off;0;off;;RCP26_50;off;;;15;;;;;;;;;;;;;;;;;;;;;0;;1050;exogenous;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_fixCprice: a test run fixing the carbon price to the one from the fully integrated o_2c scenario -o_2c_dni95;0;o_2c;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;off;;RCP26_95;off;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;o_2c;h_cpol_noUkr;h_cpol;;o_2c_dni95: The Below 2 Degrees C scenario assumes that climate policies are introduced immediately and become gradually more stringent, giving a 67 percent chance of limiting global warming to below 2 K. Deployment of CDR is relatively low. Net-zero CO2 emissions are achieved after 2070. Physical and transition risks are both relatively low. 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. Damages from climate change are based on Kalkuhl and Wenz (2020) using the 95th percentile of RCP26. -d_delfrag_d50;d50;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d50;h_cpol_d50;;d_delfrag_d50: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -d_delfrag_d95;d95;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d95;h_cpol_d95;;d_delfrag_d95: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -d_delfrag_d50high;d50high;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d50high;h_cpol_d50high;;d_delfrag_d50high: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -d_delfrag_d95high;d95high;d_delfrag;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_delfrag;h_cpol_d95high;h_cpol_d95high;;d_delfrag_d95high: The Delayed Transition scenario assumes global annual emissions do not decrease until 2030. Strong policies are then needed to limit warming to below 2 K. The level of action differs across countries and regions based on currently implemented policies, leading to a fossil recovery out of the economic crisis brought about by COVID-19. The availability of CDR technologies is assumed to be low. Emissions exceed the carbon budget temporarily and decline more rapidly than in Well-below 2 K after 2030 to ensure a 67 percent chance of limiting global warming to below 2 K. This leads to considerable transition and physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -d_strain_d50;d50;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d50;h_cpol_d50;;d_strain_d50: Fragmented World -d_strain_d95;d95;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d95;h_cpol_d95;;d_strain_d95: Fragmented World -d_strain_d50high;d50high;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d50high;h_cpol_d50high;;d_strain_d50high: Fragmented World -d_strain_d95high;d95high;d_strain;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;d_strain;h_cpol_d95high;h_cpol_d95high;;d_strain_d95high: Fragmented World -d_rap_d50;d50;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d50;;d_rap_d50: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -d_rap_d95;d95;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d95;;d_rap_d95: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -d_rap_d50high;d50high;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d50high;;d_rap_d50high: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -d_rap_d95high;d95high;d_rap;;;;;;;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;;15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2-Base;h_cpol_noUkr;h_cpol_d95high;;d_rap_d95high: The Divergent Net Zero scenario reaches net-zero by 2050 but with higher costs due to divergent policies introduced across sectors and a quicker phase out of fossil fuels. Climate policies are more stringent in the transportation and buildings sectors. This mimics a situation where the failure to coordinate policy stringency across sectors results in a high burden on consumers, while decarbonisation of energy supply and industry is less stringent. Emissions are in line with a climate goal giving at least a 50 percent chance of limiting global warming to below 1.5 K by the end of the century, with no or low overshoot of 1.5 K in earlier years. This leads to considerably high transition risks but rather low physical risks. 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. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_cba_d50;d50;h_cpol;;;;;;load;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_50;on;;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;;2025;o_2c;h_cpol_noUkr;h_cpol_d50;;o_cba_d50: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_cba_d95;d95;h_cpol;;;;;;load;14;magicc;CMIP5;HADCRUT4;KWLike;0;KWlikeItr;;RCP26_95;on;;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;;2025;o_2c;h_cpol_noUkr;h_cpol_d95;;o_cba_d95: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. -o_cba_d50high;d50high;h_cpol;;;;;;load;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_50;on;;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;;2025;o_2c;h_cpol_noUkr;h_cpol_d50high;;o_cba_d50high: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 50th percentile of RCP26. -o_cba_d95high;d95high;h_cpol;;;;;;load;14;magicc;CMIP5;HADCRUT4;KW_SE;1.96;KW_SEitr;;RCP26_95;on;;HowardNonCatastrophic;15;0;100;0;0;simple;edge_esm;subsectors;2050.GLO 0.5;0;1;Mix4;heatpumps;0.01;;1;;;;1.5;rcp26;0;globallyOptimal;1050;none;none;;;;;;100;2080;3;10;;;3;1.05;100;1;NDC;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;heat;;2025;o_2c;h_cpol_noUkr;h_cpol_d95high;;o_cba_d95high: Cost-benefit analysis, policy driven by Social Cost of Carbon only. Damages from climate change based on Kalkuhl and Wenz (2020) are internalized in the optimization using the 95th percentile of RCP26. From cabf8a91f77790865a251f9326d0d5e3fe3959db Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Fri, 22 Nov 2024 15:20:23 +0000 Subject: [PATCH 770/875] Release development version 3.3.2.dev1004 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 94748f25e..14bfa6103 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev1001" -date-released: 2024-11-21 +version: "3.3.2.dev1004" +date-released: 2024-11-22 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 8a696ce8e..74fdaf445 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev1001" +cfg$model_version <- "3.3.2.dev1004" #### settings #### cfg$gms <- list() From 7ec723ed0caf3f4a14962ae75283671fef7e3278 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Sun, 24 Nov 2024 15:07:23 +0100 Subject: [PATCH 771/875] Add config files for ScenarioMIP --- config/scenario_config_ScenarioMIP.csv | 48 +++++++++++++++++++ .../scenario_config_coupled_ScenarioMIP.csv | 40 ++++++++++++++++ main.gms | 2 +- 3 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 config/scenario_config_ScenarioMIP.csv create mode 100644 config/scenario_config_coupled_ScenarioMIP.csv diff --git a/config/scenario_config_ScenarioMIP.csv b/config/scenario_config_ScenarioMIP.csv new file mode 100644 index 000000000..459584b00 --- /dev/null +++ b/config/scenario_config_ScenarioMIP.csv @@ -0,0 +1,48 @@ +title;start;copyConfigFrom;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_budgetCO2from2020;carbonprice;cm_taxCO2_functionalForm;cm_taxCO2_expGrowth;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_historical;cm_taxCO2_historicalYr;cm_taxCO2_regiDiff;cm_taxCO2_regiDiff_endYr;cm_emiscen;c_regi_earlyreti_rate;cm_fetaxscen;cm_bioenergy_SustTax;cm_maxProdBiolc;cm_33EW;cm_33OAE;cm_frac_NetNegEmi;c_ccsinjecratescen;c_changeProdCost;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description +#___ScenarioMIP_defaults___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-H-SSP3-rollBack-def;0;;rcp45;3;off;;NPiexpo;;0.9;;;;;;;9;GLO 0.09, EUR_regi 0.15;1;1.5;;1;0;0.5;1;1;;;;;NPi2018;regiCarbonPrice;off;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;medOil;medGas;highCoal;1;2;0;3;SSP3;1.5;0;forcing_SSP3;SSP3;Mix1;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; +SMIPv04-M-SSP2-NPi2025-def;1;;rcp45;3;off;;NPi2025;;;;;;;;;9;GLO 0.09, EUR_regi 0.15;3;1.5;;1;0;0.5;1;;;;;;NPi2018;regiCarbonPrice;off;;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;Mix1;2005;;;;; +SMIPv04-ML-SSP2-PkBudg2000-def;1;;rcp45;9;globallyOptimal;2000;functionalForm;linear;;60;2100;gdx_ref;2025;initialSpread10;GLO 2100;9;GLO 0.09, EUR_regi 0.15;3;1.5;;1;0;0.5;1;1;;;;;NDC;regiCarbonPrice;off;;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix2ICEban;2045;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; +SMIPv04-L-SSP2-PkBudg1000-def;1;;rcp26;9;globallyOptimal;1000;functionalForm;linear;;65;2080;gdx_ref;2025;initialSpread10;GLO 2070;9;GLO 0.09, EUR_regi 0.15;3;1.5;;1;0;0.5;1;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix3ICEban;2035;;SMIPv04-M-SSP2-NDC_sy2030-var;;SMIPv04-M-SSP2-NPi2025-def; +SMIPv04-VLHO-SSP2-EcBudg400-def;1;;rcp26;5;globallyOptimal;400;functionalForm;exponential;1.045;70;;;;initialSpread20;GLO 2070;9;GLO 0.09, EUR_regi 0.15;3;1.5;;1;1;0;1;1;;;;2060.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix3ICEban;2035;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; +SMIPv04-VLLO-SSP1-PkBudg750-def;1;;rcp20;9;globallyOptimal;750;functionalForm;linear;;75;2055;gdx_ref;last;initialSpread10;GLO 2050;9;GLO 0.12, EUR_regi 0.15;2;1.5;;1;0;0.5;5;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;2;4;2;SDP;1;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; +#___ScenarioMIP_variants_M-SSP2___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-M-SSP2-NPi2020-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-M-SSP2-NDC_sy2030-var;1;SMIPv04-M-SSP2-NPi2025-def;;;globallyOptimal;;NDC;;;;;;;;;;;;;;;;;;1;;;;;NDC;;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;;;;;;;;;;;;;;;;;;;Mix2ICEban;2030;;SMIPv04-M-SSP2-NPi2025-def;SMIPv04-M-SSP2-NPi2020-var;SMIPv04-M-SSP2-NPi2025-def; +SMIPv04-M-SSP2-NDC_sy2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;globallyOptimal;;NDC;;;;;;;;;;;;;;;;;;5;;;;;NDC;;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;;;;;;;;;;;;;;;;;;;Mix2ICEban;2025;;SMIPv04-M-SSP2-NPi2020-var;SMIPv04-M-SSP2-NPi2020-var;SMIPv04-M-SSP2-NPi2025-def; +#___ScenarioMIP_variants_L-SSP2___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-L-SSP2-PkBudg1000-var_2030NPi;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-def;;; +SMIPv04-L-SSP2-PkBudg1000-var_2030flexible;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;last;;;;;;;;;;;;;;;;;;;;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;;;;;;;;;;;;;;;;;;;;2030;;SMIPv04-M-SSP2-NPi2025-def;;; +#___ScenarioMIP_SSP_variants___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-H-SSP5-rollBack-var;0;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP5;gdp_SSP5;gdp_SSP5;;;;;;;;SSP5;;;forcing_SSP5;SSP5;;;;;;; +SMIPv04-M-SSP1-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;GLO 0.12, EUR_regi 0.15;2;;;;;;5;;;;;;;;;;;;;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SDP;;;forcing_SSP1;MFR;;;;;;; +SMIPv04-M-SSP1-NPi2020-var;1;SMIPv04-M-SSP1-NPi2025-var;;;;;NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-M-SSP1-NDC_sy2030-var;1;SMIPv04-M-SSP1-NPi2025-var;;;globallyOptimal;;NDC;;;;;;;;;;;;;;;;;;1;;;;;NDC;;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;;;;;;;;;;;;;;;;;;;Mix2ICEban;2030;;SMIPv04-M-SSP2-NPi2025-def;SMIPv04-M-SSP1-NPi2020-var;SMIPv04-M-SSP1-NPi2025-var; +SMIPv04-M-SSP1-NDC_sy2025-var;1;SMIPv04-M-SSP1-NPi2025-var;;;globallyOptimal;;NDC;;;;;;;;;;;;;;;;;;5;;;;;NDC;;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;;;;;;;;;;;;;;;;;;;Mix2ICEban;2025;;SMIPv04-M-SSP2-NPi2020-var;SMIPv04-M-SSP1-NPi2020-var;SMIPv04-M-SSP1-NPi2025-var; +SMIPv04-M-SSP2_lowEn-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;;;;;;; +SMIPv04-M-SSP3-NPi2025-var;0;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;;;SSP3;;;forcing_SSP3;SSP3;;;;;;; +SMIPv04-M-SSP5-NPi2025-var;0;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;1;;;;;;3;;;;;;;;;;;;;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;;1;forcing_SSP5;SSP5;;;;;;; +SMIPv04-L-SSP1-PkBudg1000-var;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;;GLO 0.12, EUR_regi 0.15;2;;;;;;5;;;;;;;;;;;;;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;;1;forcing_SSP1;MFR;;;;SMIPv04-M-SSP1-NDC_sy2030-var;;; +SMIPv04-VLLO-SSP2-PkBudg750-var;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP2;gdp_SSP2;gdp_SSP2;;;;;;;;;;;forcing_SSP2;;;;;;;; +SMIPv04-VLLO-SSP2_lowEn-PkBudg750-var;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP2;gdp_SSP2;gdp_SSP2_lowEn;;;;;;;;;;;forcing_SSP2;;;;;;;; +#___RIKEN___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +RIKEN-VLLO-SSP2-PkBudg650-def;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;650;;;;;;;;;;;GLO 0.09, EUR_regi 0.15;3;;;;;;1;;;;;;;;;;;;;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;;1;;SSP2;;0;forcing_SSP2;SSP2;;;;;;; +#___ScenarioMIP_carbon_price_convergence_variants___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-L-SSP2-PkBudg1000-var_yr2035;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;GLO 2035;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-L-SSP2-PkBudg1000-var_yr2050;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;GLO 2050;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_yr2035;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;;GLO 2035;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_yr2050;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;;GLO 2050;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg750-var_yr2035;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;;GLO 2035;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +#___ScenarioMIP_EW_off_variants___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-H-SSP3-rollBack-var_EWoff;0;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-M-SSP2-NPi2025-var_EWoff;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-ML-SSP2-PkBudg2000-var_EWoff;1;SMIPv04-ML-SSP2-PkBudg2000-def;;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-L-SSP2-PkBudg1000-var_EWoff;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_EWoff;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg750-var_EWoff;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +#___ScenarioMIP_VLLO-SSP1_tests___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg750-var_CESMkUps;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;;;;;;;;;;;;;feelhpb 1.05, fehob 1.75, feheb 0.1;manual;feh2_otherInd 1.04, feelhth_otherInd 0.4, feh2_cement 2.0, feelhth_chemicals 1.3, feh2_chemicals 1.04;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg750-var_ProdCost;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;;;;;;;;;;;;5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg750-var_bioenergy_SustTax1p75;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;;;;;;1.75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg750-var_tradecostBio0p5;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0.5;;;;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg750-var_maxProdBiolc100;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;;;;;;;100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/config/scenario_config_coupled_ScenarioMIP.csv b/config/scenario_config_coupled_ScenarioMIP.csv new file mode 100644 index 000000000..0d8413524 --- /dev/null +++ b/config/scenario_config_coupled_ScenarioMIP.csv @@ -0,0 +1,40 @@ +title;start;copyConfigFrom;oldrun;path_report;qos;config/scenario_config.csv;no_ghgprices_land_until;var_luc;path_gdx;path_gdx_bau;path_gdx_ref +SMIPv04-H-SSP3-rollBack-def;1;;;;;SSP3|NPI|nocc_hist|rcp4p5;y2150;raw;;; +SMIPv04-M-SSP2-NPi2025-def;1;;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;raw;;; +SMIPv04-ML-SSP2-PkBudg2000-def;1;;;;;SSP2|NPI|nocc_hist|rcp4p5;y2045;raw;;; +SMIPv04-L-SSP2-PkBudg1000-def;1;;;;;SSP2|NDC|nocc_hist|rcp2p6;y2035;raw;;; +SMIPv04-VLHO-SSP2-EcBudg400-def;1;;;;;SSP2|NDC|nocc_hist|rcp2p6;y2035;raw;;; +SMIPv04-VLLO-SSP1-PkBudg750-def;1;;;;;SDP-MC|SSP1-POP-GDP|NDC|nocc_hist|rcp1p9;y2030;raw;;; +SMIPv04-M-SSP2-NPi2020-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;; +SMIPv04-M-SSP2-NDC_sy2030-var;1;;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;raw;;; +SMIPv04-M-SSP2-NDC_sy2025-var;1;;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;raw;;; +SMIPv04-L-SSP2-PkBudg1000-var_2030NPi;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;; +SMIPv04-L-SSP2-PkBudg1000-var_2030flexible;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;; +SMIPv04-H-SSP5-rollBack-var;0;;;;;SSP5|NPI|nocc_hist|rcp4p5;y2150;raw;;; +SMIPv04-M-SSP1-NPi2025-var;0;;;;;SSP1|NPI|nocc_hist|rcp4p5;y2150;raw;;; +SMIPv04-M-SSP1-NPi2020-var;0;;;;;SSP1|NPI|nocc_hist|rcp4p5;y2150;raw;;; +SMIPv04-M-SSP1-NDC_sy2030-var;0;;;;;SSP1|NDC|nocc_hist|rcp4p5;y2150;raw;;; +SMIPv04-M-SSP1-NDC_sy2025-var;0;;;;;SSP1|NDC|nocc_hist|rcp4p5;y2150;raw;;; +SMIPv04-M-SSP2_lowEn-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;; +SMIPv04-M-SSP3-NPi2025-var;0;;;;;SSP3|NPI|nocc_hist|rcp4p5;y2150;raw;;; +SMIPv04-M-SSP5-NPi2025-var;0;;;;;SSP5|NPI|nocc_hist|rcp4p5;y2150;raw;;; +SMIPv04-L-SSP1-PkBudg1000-var;0;;;;;SSP1|NDC|nocc_hist|rcp2p6;y2035;raw;;; +SMIPv04-VLLO-SSP2-PkBudg750-var;1;;;;;SDP-MC|SSP2-POP-GDP|NDC|nocc_hist|rcp1p9;y2030;raw;;; +SMIPv04-VLLO-SSP2_lowEn-PkBudg750-var;1;;;;;SDP-MC|SSP2-POP-GDP|NDC|nocc_hist|rcp1p9;y2030;raw;;; +RIKEN-VLLO-SSP2-PkBudg650-def;1;;;;;SSP2|NDC|nocc_hist|rcp1p9;y2030;raw;;; +SMIPv04-L-SSP2-PkBudg1000-var_yr2035;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;; +SMIPv04-L-SSP2-PkBudg1000-var_yr2050;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_yr2035;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_yr2050;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg750-var_yr2035;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;; +SMIPv04-H-SSP3-rollBack-var_EWoff;1;SMIPv04-H-SSP3-rollBack-def;;;;;;;;; +SMIPv04-M-SSP2-NPi2025-var_EWoff;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;; +SMIPv04-ML-SSP2-PkBudg2000-var_EWoff;1;SMIPv04-ML-SSP2-PkBudg2000-def;;;;;;;;; +SMIPv04-L-SSP2-PkBudg1000-var_EWoff;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_EWoff;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg750-var_EWoff;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg750-var_CESMkUps;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg750-var_ProdCost;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg750-var_bioenergy_SustTax1p75;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg750-var_tradecostBio0p5;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg750-var_maxProdBiolc100;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;; diff --git a/main.gms b/main.gms index aa35a5f4d..55b29ca53 100755 --- a/main.gms +++ b/main.gms @@ -1231,7 +1231,7 @@ $setglobal c_tech_earlyreti_rate GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.( *** (SSP2): emissions (from SSP2 scenario in MAgPIE) *** (SSP5): emissions (from SSP5 scenario in MAgPIE) *** (SDP): -$setglobal cm_LU_emi_scen SSP2 !! def = SSP2 !! regexp = SSP(1|2|3|5)|SDP |SSP2_lowEn +$setglobal cm_LU_emi_scen SSP2 !! def = SSP2 !! regexp = SSP(1|2|3|5)|SDP|SSP2_lowEn *** cm_regi_bioenergy_EFTax "region(s) in which bioenergy is charged with an emission-factor-based tax" *** This switch has only an effect if 21_tax is on and cm_bioenergy_EF_for_tax *** is not zero. It reads in the regions that are affected by the emission- From f16d2e6a932e858a12a0d8ad69b12fac066e8820 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Sun, 24 Nov 2024 14:18:55 +0000 Subject: [PATCH 772/875] Release development version 3.3.2.dev1007 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 14bfa6103..1bb0bb0d2 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev1004" -date-released: 2024-11-22 +version: "3.3.2.dev1007" +date-released: 2024-11-24 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 74fdaf445..8a0e0cd17 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev1004" +cfg$model_version <- "3.3.2.dev1007" #### settings #### cfg$gms <- list() From ff08cb8cb3955d3b7213250e8e08f3f60f716cb7 Mon Sep 17 00:00:00 2001 From: Michaja Pehl Date: Mon, 25 Nov 2024 09:28:48 +0100 Subject: [PATCH 773/875] Use the maximum specific energy demand of 2015/2020 to calculate the lower limit of industry subsector specific energy demand for policy scenarios. Works around an issue where SSA cement specific energy demand is unreasonably low in 2015. Affects all regions and subsectors. Closes remindmodel/development_issues#413 --- modules/37_industry/subsectors/datainput.gms | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/modules/37_industry/subsectors/datainput.gms b/modules/37_industry/subsectors/datainput.gms index 13a3f08bd..49f5cc39c 100644 --- a/modules/37_industry/subsectors/datainput.gms +++ b/modules/37_industry/subsectors/datainput.gms @@ -154,10 +154,14 @@ loop (industry_ue_calibration_target_dyn37(out), !! calculate slope p37_energy_limit_slope(ttot,regi,out)$( ttot.val ge 2015 ) - = ( ( sum(ces_eff_target_dyn37(out,in), - p37_cesIO_baseline("2015",regi,in) + = ( max( + !! use the larger of 2015/2020 specific energy demand + ( sum(ces_eff_target_dyn37(out,in), p37_cesIO_baseline("2015",regi,in)) + / p37_cesIO_baseline("2015",regi,out) + ), + ( sum(ces_eff_target_dyn37(out,in), p37_cesIO_baseline("2020",regi,in)) + / p37_cesIO_baseline("2020",regi,out) ) - / p37_cesIO_baseline("2015",regi,out) ) - pm_energy_limit(out) ) From f5e4113140732b0dd3e9e125f0804ff800139c71 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Mon, 25 Nov 2024 11:03:55 +0100 Subject: [PATCH 774/875] new input data (rev7.14) and new CES parameters and gdx files for input data rev7.14 for SSP2, SSP2-EU21, SSP1 and SSP2_lowEn, calibration runs: /p/tmp/lavinia/REMIND/REMIND_calibration_2024_11_23/remind/output --- config/default.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/default.cfg b/config/default.cfg index 8a0e0cd17..d4ecc4d6f 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -28,10 +28,10 @@ cfg$regionmapping <- "config/regionmappingH12.csv" cfg$extramappings_historic <- "" #### Current input data revision (.) #### -cfg$inputRevision <- "7.13" +cfg$inputRevision <- "7.14" #### Current CES parameter and GDX revision (commit hash) #### -cfg$CESandGDXversion <- "914fb7db0701f0c5b4f4f1314dea1e8401ce11a6" +cfg$CESandGDXversion <- "dada5401be0ff890f001342b55e4491292ed5e85" #### Force the model to download new input data #### cfg$force_download <- FALSE From 066402bf4f5fb0f77cba0d8c27dc8c62b8c89185 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Mon, 25 Nov 2024 11:12:03 +0000 Subject: [PATCH 775/875] Release development version 3.3.2.dev1010 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 1bb0bb0d2..5343f2ed2 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev1007" -date-released: 2024-11-24 +version: "3.3.2.dev1010" +date-released: 2024-11-25 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index d4ecc4d6f..ed57eb36f 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev1007" +cfg$model_version <- "3.3.2.dev1010" #### settings #### cfg$gms <- list() From 487a98889a4259d90957229c905c3aad4864cec2 Mon Sep 17 00:00:00 2001 From: robertpietzcker Date: Mon, 25 Nov 2024 15:33:45 +0100 Subject: [PATCH 776/875] also adjust PV and wind onshore costs in SSP1 and SSP5 to reflect the SSP2 changes --- core/input/generisdata_tech_SSP1.prn | 4 ++-- core/input/generisdata_tech_SSP5.prn | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/core/input/generisdata_tech_SSP1.prn b/core/input/generisdata_tech_SSP1.prn index eb7f3f979..559c66ab8 100644 --- a/core/input/generisdata_tech_SSP1.prn +++ b/core/input/generisdata_tech_SSP1.prn @@ -62,9 +62,9 @@ mix0 eta 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 omf 0.04 0.06 0.025 0.02 0.03 0.02 0.025 lifetime 30 25 130 25 25 30 25 30 -incolearn 2200 4400 5155 8960 +incolearn 2300 4400 5155 8960 ccap0 0.06 0.0007 0.005 0.0002 -learn 0.108 0.12 0.207 0.103 +learn 0.13 0.12 0.27 0.103 luse 0.09 0.021 + elh2 dot dhp h2turb h2curt h2turbVRE elh2VRE h22ch4 MeOH diff --git a/core/input/generisdata_tech_SSP5.prn b/core/input/generisdata_tech_SSP5.prn index b5fc9e91e..132aa1233 100644 --- a/core/input/generisdata_tech_SSP5.prn +++ b/core/input/generisdata_tech_SSP5.prn @@ -61,9 +61,9 @@ mix0 eta 1.00 1.00 1.00 1.00 1.00 1.00 1.00 1.00 omf 0.04 0.06 0.025 0.02 0.03 0.02 0.025 lifetime 30 25 130 25 25 30 25 30 -incolearn 1800 3600 4910 8290 +incolearn 1900 3600 5010 8290 ccap0 0.06 0.0007 0.005 0.0002 -learn 0.084 0.096 0.17 0.08 +learn 0.09 0.096 0.20 0.08 luse 0.09 0.021 + elh2 dot dhp h2turb h2curt h2turbVRE elh2VRE h22ch4 MeOH From 0da18a9d51fdcabdc6f14975e1a9cbb8d6a38fed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Mon, 25 Nov 2024 15:46:36 +0100 Subject: [PATCH 777/875] Update coupling config for ScenarioMIP --- .../scenario_config_coupled_ScenarioMIP.csv | 80 +++++++++---------- scripts/start/readCheckScenarioConfig.R | 2 +- 2 files changed, 41 insertions(+), 41 deletions(-) diff --git a/config/scenario_config_coupled_ScenarioMIP.csv b/config/scenario_config_coupled_ScenarioMIP.csv index 0d8413524..46276234a 100644 --- a/config/scenario_config_coupled_ScenarioMIP.csv +++ b/config/scenario_config_coupled_ScenarioMIP.csv @@ -1,40 +1,40 @@ -title;start;copyConfigFrom;oldrun;path_report;qos;config/scenario_config.csv;no_ghgprices_land_until;var_luc;path_gdx;path_gdx_bau;path_gdx_ref -SMIPv04-H-SSP3-rollBack-def;1;;;;;SSP3|NPI|nocc_hist|rcp4p5;y2150;raw;;; -SMIPv04-M-SSP2-NPi2025-def;1;;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;raw;;; -SMIPv04-ML-SSP2-PkBudg2000-def;1;;;;;SSP2|NPI|nocc_hist|rcp4p5;y2045;raw;;; -SMIPv04-L-SSP2-PkBudg1000-def;1;;;;;SSP2|NDC|nocc_hist|rcp2p6;y2035;raw;;; -SMIPv04-VLHO-SSP2-EcBudg400-def;1;;;;;SSP2|NDC|nocc_hist|rcp2p6;y2035;raw;;; -SMIPv04-VLLO-SSP1-PkBudg750-def;1;;;;;SDP-MC|SSP1-POP-GDP|NDC|nocc_hist|rcp1p9;y2030;raw;;; -SMIPv04-M-SSP2-NPi2020-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;; -SMIPv04-M-SSP2-NDC_sy2030-var;1;;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;raw;;; -SMIPv04-M-SSP2-NDC_sy2025-var;1;;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;raw;;; -SMIPv04-L-SSP2-PkBudg1000-var_2030NPi;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;; -SMIPv04-L-SSP2-PkBudg1000-var_2030flexible;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;; -SMIPv04-H-SSP5-rollBack-var;0;;;;;SSP5|NPI|nocc_hist|rcp4p5;y2150;raw;;; -SMIPv04-M-SSP1-NPi2025-var;0;;;;;SSP1|NPI|nocc_hist|rcp4p5;y2150;raw;;; -SMIPv04-M-SSP1-NPi2020-var;0;;;;;SSP1|NPI|nocc_hist|rcp4p5;y2150;raw;;; -SMIPv04-M-SSP1-NDC_sy2030-var;0;;;;;SSP1|NDC|nocc_hist|rcp4p5;y2150;raw;;; -SMIPv04-M-SSP1-NDC_sy2025-var;0;;;;;SSP1|NDC|nocc_hist|rcp4p5;y2150;raw;;; -SMIPv04-M-SSP2_lowEn-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;; -SMIPv04-M-SSP3-NPi2025-var;0;;;;;SSP3|NPI|nocc_hist|rcp4p5;y2150;raw;;; -SMIPv04-M-SSP5-NPi2025-var;0;;;;;SSP5|NPI|nocc_hist|rcp4p5;y2150;raw;;; -SMIPv04-L-SSP1-PkBudg1000-var;0;;;;;SSP1|NDC|nocc_hist|rcp2p6;y2035;raw;;; -SMIPv04-VLLO-SSP2-PkBudg750-var;1;;;;;SDP-MC|SSP2-POP-GDP|NDC|nocc_hist|rcp1p9;y2030;raw;;; -SMIPv04-VLLO-SSP2_lowEn-PkBudg750-var;1;;;;;SDP-MC|SSP2-POP-GDP|NDC|nocc_hist|rcp1p9;y2030;raw;;; -RIKEN-VLLO-SSP2-PkBudg650-def;1;;;;;SSP2|NDC|nocc_hist|rcp1p9;y2030;raw;;; -SMIPv04-L-SSP2-PkBudg1000-var_yr2035;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;; -SMIPv04-L-SSP2-PkBudg1000-var_yr2050;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;; -SMIPv04-VLHO-SSP2-EcBudg400-var_yr2035;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;; -SMIPv04-VLHO-SSP2-EcBudg400-var_yr2050;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;; -SMIPv04-VLLO-SSP1-PkBudg750-var_yr2035;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;; -SMIPv04-H-SSP3-rollBack-var_EWoff;1;SMIPv04-H-SSP3-rollBack-def;;;;;;;;; -SMIPv04-M-SSP2-NPi2025-var_EWoff;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;; -SMIPv04-ML-SSP2-PkBudg2000-var_EWoff;1;SMIPv04-ML-SSP2-PkBudg2000-def;;;;;;;;; -SMIPv04-L-SSP2-PkBudg1000-var_EWoff;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;; -SMIPv04-VLHO-SSP2-EcBudg400-var_EWoff;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;; -SMIPv04-VLLO-SSP1-PkBudg750-var_EWoff;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;; -SMIPv04-VLLO-SSP1-PkBudg750-var_CESMkUps;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;; -SMIPv04-VLLO-SSP1-PkBudg750-var_ProdCost;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;; -SMIPv04-VLLO-SSP1-PkBudg750-var_bioenergy_SustTax1p75;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;; -SMIPv04-VLLO-SSP1-PkBudg750-var_tradecostBio0p5;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;; -SMIPv04-VLLO-SSP1-PkBudg750-var_maxProdBiolc100;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;; +title;start;copyConfigFrom;oldrun;path_report;qos;config/scenario_config.csv;no_ghgprices_land_until;var_luc;path_gdx;path_gdx_bau;path_gdx_ref;cfg$gms$s15_elastic_demand +SMIPv04-H-SSP3-rollBack-def;1;;;;;SSP3|NPI|nocc_hist|rcp4p5;y2150;raw;;;;-1 +SMIPv04-M-SSP2-NPi2025-def;1;;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;raw;;;;-1 +SMIPv04-ML-SSP2-PkBudg2000-def;1;;;;;SSP2|NPI|nocc_hist|rcp4p5;y2045;raw;;;;-1 +SMIPv04-L-SSP2-PkBudg1000-def;1;;;;;SSP2|NDC|nocc_hist|rcp2p6;y2035;raw;;;;-1 +SMIPv04-VLHO-SSP2-EcBudg400-def;1;;;;;SSP2|NDC|nocc_hist|rcp2p6;y2035;raw;;;;-1 +SMIPv04-VLLO-SSP1-PkBudg750-def;1;;;;;SDP-MC|SSP1-POP-GDP|NDC|nocc_hist|rcp1p9;y2030;raw;;;;-1 +SMIPv04-M-SSP2-NPi2020-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;-1 +SMIPv04-M-SSP2-NDC_sy2030-var;1;;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;raw;;;;-1 +SMIPv04-M-SSP2-NDC_sy2025-var;1;;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;raw;;;;-1 +SMIPv04-L-SSP2-PkBudg1000-var_2030NPi;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;-1 +SMIPv04-L-SSP2-PkBudg1000-var_2030flexible;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;-1 +SMIPv04-H-SSP5-rollBack-var;0;;;;;SSP5|NPI|nocc_hist|rcp4p5;y2150;raw;;;;-1 +SMIPv04-M-SSP1-NPi2025-var;0;;;;;SSP1|NPI|nocc_hist|rcp4p5;y2150;raw;;;;-1 +SMIPv04-M-SSP1-NPi2020-var;0;;;;;SSP1|NPI|nocc_hist|rcp4p5;y2150;raw;;;;-1 +SMIPv04-M-SSP1-NDC_sy2030-var;0;;;;;SSP1|NDC|nocc_hist|rcp4p5;y2150;raw;;;;-1 +SMIPv04-M-SSP1-NDC_sy2025-var;0;;;;;SSP1|NDC|nocc_hist|rcp4p5;y2150;raw;;;;-1 +SMIPv04-M-SSP2_lowEn-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;-1 +SMIPv04-M-SSP3-NPi2025-var;0;;;;;SSP3|NPI|nocc_hist|rcp4p5;y2150;raw;;;;-1 +SMIPv04-M-SSP5-NPi2025-var;0;;;;;SSP5|NPI|nocc_hist|rcp4p5;y2150;raw;;;;-1 +SMIPv04-L-SSP1-PkBudg1000-var;0;;;;;SSP1|NDC|nocc_hist|rcp2p6;y2035;raw;;;;-1 +SMIPv04-VLLO-SSP2-PkBudg750-var;1;;;;;SDP-MC|SSP2-POP-GDP|NDC|nocc_hist|rcp1p9;y2030;raw;;;;-1 +SMIPv04-VLLO-SSP2_lowEn-PkBudg750-var;1;;;;;SDP-MC|SSP2-POP-GDP|NDC|nocc_hist|rcp1p9;y2030;raw;;;;-1 +RIKEN-VLLO-SSP2-PkBudg650-def;1;;;;;SSP2|NDC|nocc_hist|rcp1p9;y2030;raw;;;;-1 +SMIPv04-L-SSP2-PkBudg1000-var_yr2035;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;-1 +SMIPv04-L-SSP2-PkBudg1000-var_yr2050;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;-1 +SMIPv04-VLHO-SSP2-EcBudg400-var_yr2035;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;-1 +SMIPv04-VLHO-SSP2-EcBudg400-var_yr2050;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;-1 +SMIPv04-VLLO-SSP1-PkBudg750-var_yr2035;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;-1 +SMIPv04-H-SSP3-rollBack-var_EWoff;1;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;-1 +SMIPv04-M-SSP2-NPi2025-var_EWoff;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;-1 +SMIPv04-ML-SSP2-PkBudg2000-var_EWoff;1;SMIPv04-ML-SSP2-PkBudg2000-def;;;;;;;;;;-1 +SMIPv04-L-SSP2-PkBudg1000-var_EWoff;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;-1 +SMIPv04-VLHO-SSP2-EcBudg400-var_EWoff;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;-1 +SMIPv04-VLLO-SSP1-PkBudg750-var_EWoff;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;-1 +SMIPv04-VLLO-SSP1-PkBudg750-var_CESMkUps;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;-1 +SMIPv04-VLLO-SSP1-PkBudg750-var_ProdCost;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;-1 +SMIPv04-VLLO-SSP1-PkBudg750-var_bioenergy_SustTax1p75;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;-1 +SMIPv04-VLLO-SSP1-PkBudg750-var_tradecostBio0p5;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;-1 +SMIPv04-VLLO-SSP1-PkBudg750-var_maxProdBiolc100;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;-1 diff --git a/scripts/start/readCheckScenarioConfig.R b/scripts/start/readCheckScenarioConfig.R index a0d4c33c7..b85fefb07 100644 --- a/scripts/start/readCheckScenarioConfig.R +++ b/scripts/start/readCheckScenarioConfig.R @@ -145,7 +145,7 @@ readCheckScenarioConfig <- function(filename, remindPath = ".", testmode = FALSE if (coupling %in% "MAgPIE") { knownColumnNames <- c(knownColumnNames, "cm_nash_autoconverge_lastrun", "oldrun", "path_report", "magpie_scen", "no_ghgprices_land_until", "qos", "sbatch", "path_mif_ghgprice_land", "max_iterations", - "magpie_empty", "var_luc") + "magpie_empty", "var_luc","cfg$gms$s15_elastic_demand") # identify MAgPIE switches by "cfg_mag" and "scenario_config" knownColumnNames <- c(knownColumnNames, grep("cfg_mag|scenario_config", names(scenConf), value = TRUE)) } else { # not a coupling config From e1bb35111b0130c34c9fa534b1c0fa5ded39764f Mon Sep 17 00:00:00 2001 From: Nico Bauer Date: Mon, 25 Nov 2024 15:47:45 +0100 Subject: [PATCH 778/875] *NB* added the include statement into ./core/datainput.gms for selecting SSP3 technoeconomic data. --- core/datainput.gms | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/core/datainput.gms b/core/datainput.gms index 1511b6b32..e4247d71c 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -154,6 +154,11 @@ table f_dataglob_SSP5(char,all_te) "Techno-economic assumptions consisten $include "./core/input/generisdata_tech_SSP5.prn" $include "./core/input/generisdata_trade.prn" ; +table f_dataglob_SSP3(char,all_te) "Techno-economic assumptions consistent with SSP3" +$include "./core/input/generisdata_tech_SSP3.prn" +$include "./core/input/generisdata_trade.prn" +; + *** initializing energy service capital pm_esCapCost(tall,all_regi,all_teEs) = 0; @@ -188,6 +193,9 @@ if (c_techAssumptScen eq 2, if (c_techAssumptScen eq 3, fm_dataglob(char,te) = f_dataglob_SSP5(char,te) ); +if (c_techAssumptScen eq 4, + fm_dataglob(char,te) = f_dataglob_SSP3(char,te) +); *RP* include global flexibility parameters $include "./core/input/generisdata_flexibility.prn" From 9c319476ca5e269c3ac337a40cfaeabe67c6c27a Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Mon, 25 Nov 2024 15:21:07 +0000 Subject: [PATCH 779/875] Release development version 3.3.2.dev1015 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 5343f2ed2..2cbbcb408 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev1010" +version: "3.3.2.dev1015" date-released: 2024-11-25 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index ed57eb36f..bfcee2774 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev1010" +cfg$model_version <- "3.3.2.dev1015" #### settings #### cfg$gms <- list() From 61f1cd77fa4bb881976d196b2b4fb55cd0b1d9f0 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Mon, 25 Nov 2024 16:23:20 +0100 Subject: [PATCH 780/875] update changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fb58178f0..7b8e1226f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,6 +33,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - **core** increase electrolysis CAPEX and slightly adjust default setting for electrolysis taxation and flexibility benefit, add near-term bounds for electrolysis and synthetic fuel deployment [[#1882](https://github.com/remindmodel/remind/pull/1882)] +- **core** update co2 capture rates and cost of biomass liquids and gas and some other X-to-Liq/Gas technologies to be internally consistent + [[#1881](https://github.com/remindmodel/remind/pull/1881)] ### added - **32_power** increase minimum required dispatchable back-up capacity for VRE integration From e1f4a3c659d7fb749ee9f7de4fd2e8c66a4e1468 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Mon, 25 Nov 2024 16:01:19 +0000 Subject: [PATCH 781/875] Release development version 3.3.2.dev1025 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 2cbbcb408..4d985459f 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev1015" +version: "3.3.2.dev1025" date-released: 2024-11-25 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index bfcee2774..03b777fdc 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev1015" +cfg$model_version <- "3.3.2.dev1025" #### settings #### cfg$gms <- list() From 8e6fdf30a3c071b71b7f1fb99bca5cf087bd7a87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Mon, 25 Nov 2024 17:33:41 +0100 Subject: [PATCH 782/875] Modifying cfg to cfg_mag, adapting value to 1 --- .../scenario_config_coupled_ScenarioMIP.csv | 80 +++++++++---------- scripts/start/readCheckScenarioConfig.R | 2 +- 2 files changed, 41 insertions(+), 41 deletions(-) diff --git a/config/scenario_config_coupled_ScenarioMIP.csv b/config/scenario_config_coupled_ScenarioMIP.csv index 46276234a..094e8d34c 100644 --- a/config/scenario_config_coupled_ScenarioMIP.csv +++ b/config/scenario_config_coupled_ScenarioMIP.csv @@ -1,40 +1,40 @@ -title;start;copyConfigFrom;oldrun;path_report;qos;config/scenario_config.csv;no_ghgprices_land_until;var_luc;path_gdx;path_gdx_bau;path_gdx_ref;cfg$gms$s15_elastic_demand -SMIPv04-H-SSP3-rollBack-def;1;;;;;SSP3|NPI|nocc_hist|rcp4p5;y2150;raw;;;;-1 -SMIPv04-M-SSP2-NPi2025-def;1;;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;raw;;;;-1 -SMIPv04-ML-SSP2-PkBudg2000-def;1;;;;;SSP2|NPI|nocc_hist|rcp4p5;y2045;raw;;;;-1 -SMIPv04-L-SSP2-PkBudg1000-def;1;;;;;SSP2|NDC|nocc_hist|rcp2p6;y2035;raw;;;;-1 -SMIPv04-VLHO-SSP2-EcBudg400-def;1;;;;;SSP2|NDC|nocc_hist|rcp2p6;y2035;raw;;;;-1 -SMIPv04-VLLO-SSP1-PkBudg750-def;1;;;;;SDP-MC|SSP1-POP-GDP|NDC|nocc_hist|rcp1p9;y2030;raw;;;;-1 -SMIPv04-M-SSP2-NPi2020-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;-1 -SMIPv04-M-SSP2-NDC_sy2030-var;1;;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;raw;;;;-1 -SMIPv04-M-SSP2-NDC_sy2025-var;1;;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;raw;;;;-1 -SMIPv04-L-SSP2-PkBudg1000-var_2030NPi;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;-1 -SMIPv04-L-SSP2-PkBudg1000-var_2030flexible;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;-1 -SMIPv04-H-SSP5-rollBack-var;0;;;;;SSP5|NPI|nocc_hist|rcp4p5;y2150;raw;;;;-1 -SMIPv04-M-SSP1-NPi2025-var;0;;;;;SSP1|NPI|nocc_hist|rcp4p5;y2150;raw;;;;-1 -SMIPv04-M-SSP1-NPi2020-var;0;;;;;SSP1|NPI|nocc_hist|rcp4p5;y2150;raw;;;;-1 -SMIPv04-M-SSP1-NDC_sy2030-var;0;;;;;SSP1|NDC|nocc_hist|rcp4p5;y2150;raw;;;;-1 -SMIPv04-M-SSP1-NDC_sy2025-var;0;;;;;SSP1|NDC|nocc_hist|rcp4p5;y2150;raw;;;;-1 -SMIPv04-M-SSP2_lowEn-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;-1 -SMIPv04-M-SSP3-NPi2025-var;0;;;;;SSP3|NPI|nocc_hist|rcp4p5;y2150;raw;;;;-1 -SMIPv04-M-SSP5-NPi2025-var;0;;;;;SSP5|NPI|nocc_hist|rcp4p5;y2150;raw;;;;-1 -SMIPv04-L-SSP1-PkBudg1000-var;0;;;;;SSP1|NDC|nocc_hist|rcp2p6;y2035;raw;;;;-1 -SMIPv04-VLLO-SSP2-PkBudg750-var;1;;;;;SDP-MC|SSP2-POP-GDP|NDC|nocc_hist|rcp1p9;y2030;raw;;;;-1 -SMIPv04-VLLO-SSP2_lowEn-PkBudg750-var;1;;;;;SDP-MC|SSP2-POP-GDP|NDC|nocc_hist|rcp1p9;y2030;raw;;;;-1 -RIKEN-VLLO-SSP2-PkBudg650-def;1;;;;;SSP2|NDC|nocc_hist|rcp1p9;y2030;raw;;;;-1 -SMIPv04-L-SSP2-PkBudg1000-var_yr2035;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;-1 -SMIPv04-L-SSP2-PkBudg1000-var_yr2050;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;-1 -SMIPv04-VLHO-SSP2-EcBudg400-var_yr2035;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;-1 -SMIPv04-VLHO-SSP2-EcBudg400-var_yr2050;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;-1 -SMIPv04-VLLO-SSP1-PkBudg750-var_yr2035;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;-1 -SMIPv04-H-SSP3-rollBack-var_EWoff;1;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;-1 -SMIPv04-M-SSP2-NPi2025-var_EWoff;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;-1 -SMIPv04-ML-SSP2-PkBudg2000-var_EWoff;1;SMIPv04-ML-SSP2-PkBudg2000-def;;;;;;;;;;-1 -SMIPv04-L-SSP2-PkBudg1000-var_EWoff;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;-1 -SMIPv04-VLHO-SSP2-EcBudg400-var_EWoff;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;-1 -SMIPv04-VLLO-SSP1-PkBudg750-var_EWoff;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;-1 -SMIPv04-VLLO-SSP1-PkBudg750-var_CESMkUps;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;-1 -SMIPv04-VLLO-SSP1-PkBudg750-var_ProdCost;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;-1 -SMIPv04-VLLO-SSP1-PkBudg750-var_bioenergy_SustTax1p75;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;-1 -SMIPv04-VLLO-SSP1-PkBudg750-var_tradecostBio0p5;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;-1 -SMIPv04-VLLO-SSP1-PkBudg750-var_maxProdBiolc100;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;-1 +title;start;copyConfigFrom;oldrun;path_report;qos;config/scenario_config.csv;no_ghgprices_land_until;var_luc;path_gdx;path_gdx_bau;path_gdx_ref;cfg_mag$gms$s15_elastic_demand +SMIPv04-H-SSP3-rollBack-def;1;;;;;SSP3|NPI|nocc_hist|rcp4p5;y2150;raw;;;;1 +SMIPv04-M-SSP2-NPi2025-def;1;;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;raw;;;;1 +SMIPv04-ML-SSP2-PkBudg2000-def;1;;;;;SSP2|NPI|nocc_hist|rcp4p5;y2045;raw;;;;1 +SMIPv04-L-SSP2-PkBudg1000-def;1;;;;;SSP2|NDC|nocc_hist|rcp2p6;y2035;raw;;;;1 +SMIPv04-VLHO-SSP2-EcBudg400-def;1;;;;;SSP2|NDC|nocc_hist|rcp2p6;y2035;raw;;;;1 +SMIPv04-VLLO-SSP1-PkBudg750-def;1;;;;;SDP-MC|SSP1-POP-GDP|NDC|nocc_hist|rcp1p9;y2030;raw;;;;1 +SMIPv04-M-SSP2-NPi2020-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;1 +SMIPv04-M-SSP2-NDC_sy2030-var;1;;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;raw;;;;1 +SMIPv04-M-SSP2-NDC_sy2025-var;1;;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;raw;;;;1 +SMIPv04-L-SSP2-PkBudg1000-var_2030NPi;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;1 +SMIPv04-L-SSP2-PkBudg1000-var_2030flexible;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;1 +SMIPv04-H-SSP5-rollBack-var;0;;;;;SSP5|NPI|nocc_hist|rcp4p5;y2150;raw;;;;1 +SMIPv04-M-SSP1-NPi2025-var;0;;;;;SSP1|NPI|nocc_hist|rcp4p5;y2150;raw;;;;1 +SMIPv04-M-SSP1-NPi2020-var;0;;;;;SSP1|NPI|nocc_hist|rcp4p5;y2150;raw;;;;1 +SMIPv04-M-SSP1-NDC_sy2030-var;0;;;;;SSP1|NDC|nocc_hist|rcp4p5;y2150;raw;;;;1 +SMIPv04-M-SSP1-NDC_sy2025-var;0;;;;;SSP1|NDC|nocc_hist|rcp4p5;y2150;raw;;;;1 +SMIPv04-M-SSP2_lowEn-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;1 +SMIPv04-M-SSP3-NPi2025-var;0;;;;;SSP3|NPI|nocc_hist|rcp4p5;y2150;raw;;;;1 +SMIPv04-M-SSP5-NPi2025-var;0;;;;;SSP5|NPI|nocc_hist|rcp4p5;y2150;raw;;;;1 +SMIPv04-L-SSP1-PkBudg1000-var;0;;;;;SSP1|NDC|nocc_hist|rcp2p6;y2035;raw;;;;1 +SMIPv04-VLLO-SSP2-PkBudg750-var;1;;;;;SDP-MC|SSP2-POP-GDP|NDC|nocc_hist|rcp1p9;y2030;raw;;;;1 +SMIPv04-VLLO-SSP2_lowEn-PkBudg750-var;1;;;;;SDP-MC|SSP2-POP-GDP|NDC|nocc_hist|rcp1p9;y2030;raw;;;;1 +RIKEN-VLLO-SSP2-PkBudg650-def;1;;;;;SSP2|NDC|nocc_hist|rcp1p9;y2030;raw;;;;1 +SMIPv04-L-SSP2-PkBudg1000-var_yr2035;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;1 +SMIPv04-L-SSP2-PkBudg1000-var_yr2050;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;1 +SMIPv04-VLHO-SSP2-EcBudg400-var_yr2035;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;1 +SMIPv04-VLHO-SSP2-EcBudg400-var_yr2050;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;1 +SMIPv04-VLLO-SSP1-PkBudg750-var_yr2035;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;1 +SMIPv04-H-SSP3-rollBack-var_EWoff;1;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;1 +SMIPv04-M-SSP2-NPi2025-var_EWoff;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;1 +SMIPv04-ML-SSP2-PkBudg2000-var_EWoff;1;SMIPv04-ML-SSP2-PkBudg2000-def;;;;;;;;;;1 +SMIPv04-L-SSP2-PkBudg1000-var_EWoff;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;1 +SMIPv04-VLHO-SSP2-EcBudg400-var_EWoff;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;1 +SMIPv04-VLLO-SSP1-PkBudg750-var_EWoff;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;1 +SMIPv04-VLLO-SSP1-PkBudg750-var_CESMkUps;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;1 +SMIPv04-VLLO-SSP1-PkBudg750-var_ProdCost;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;1 +SMIPv04-VLLO-SSP1-PkBudg750-var_bioenergy_SustTax1p75;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;1 +SMIPv04-VLLO-SSP1-PkBudg750-var_tradecostBio0p5;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;1 +SMIPv04-VLLO-SSP1-PkBudg750-var_maxProdBiolc100;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;1 diff --git a/scripts/start/readCheckScenarioConfig.R b/scripts/start/readCheckScenarioConfig.R index b85fefb07..af04b0244 100644 --- a/scripts/start/readCheckScenarioConfig.R +++ b/scripts/start/readCheckScenarioConfig.R @@ -145,7 +145,7 @@ readCheckScenarioConfig <- function(filename, remindPath = ".", testmode = FALSE if (coupling %in% "MAgPIE") { knownColumnNames <- c(knownColumnNames, "cm_nash_autoconverge_lastrun", "oldrun", "path_report", "magpie_scen", "no_ghgprices_land_until", "qos", "sbatch", "path_mif_ghgprice_land", "max_iterations", - "magpie_empty", "var_luc","cfg$gms$s15_elastic_demand") + "magpie_empty", "var_luc","cfg_mag$gms$s15_elastic_demand") # identify MAgPIE switches by "cfg_mag" and "scenario_config" knownColumnNames <- c(knownColumnNames, grep("cfg_mag|scenario_config", names(scenConf), value = TRUE)) } else { # not a coupling config From 53ab958a2b23108ab2a48eaa237571c6149d9c3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Mon, 25 Nov 2024 17:46:22 +0100 Subject: [PATCH 783/875] Add policy reversal of NPi and NDC for H scenario --- .../scenario_config_coupled_ScenarioMIP.csv | 80 +++++++++---------- scripts/start/readCheckScenarioConfig.R | 3 +- 2 files changed, 42 insertions(+), 41 deletions(-) diff --git a/config/scenario_config_coupled_ScenarioMIP.csv b/config/scenario_config_coupled_ScenarioMIP.csv index 094e8d34c..076ded9a8 100644 --- a/config/scenario_config_coupled_ScenarioMIP.csv +++ b/config/scenario_config_coupled_ScenarioMIP.csv @@ -1,40 +1,40 @@ -title;start;copyConfigFrom;oldrun;path_report;qos;config/scenario_config.csv;no_ghgprices_land_until;var_luc;path_gdx;path_gdx_bau;path_gdx_ref;cfg_mag$gms$s15_elastic_demand -SMIPv04-H-SSP3-rollBack-def;1;;;;;SSP3|NPI|nocc_hist|rcp4p5;y2150;raw;;;;1 -SMIPv04-M-SSP2-NPi2025-def;1;;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;raw;;;;1 -SMIPv04-ML-SSP2-PkBudg2000-def;1;;;;;SSP2|NPI|nocc_hist|rcp4p5;y2045;raw;;;;1 -SMIPv04-L-SSP2-PkBudg1000-def;1;;;;;SSP2|NDC|nocc_hist|rcp2p6;y2035;raw;;;;1 -SMIPv04-VLHO-SSP2-EcBudg400-def;1;;;;;SSP2|NDC|nocc_hist|rcp2p6;y2035;raw;;;;1 -SMIPv04-VLLO-SSP1-PkBudg750-def;1;;;;;SDP-MC|SSP1-POP-GDP|NDC|nocc_hist|rcp1p9;y2030;raw;;;;1 -SMIPv04-M-SSP2-NPi2020-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;1 -SMIPv04-M-SSP2-NDC_sy2030-var;1;;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;raw;;;;1 -SMIPv04-M-SSP2-NDC_sy2025-var;1;;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;raw;;;;1 -SMIPv04-L-SSP2-PkBudg1000-var_2030NPi;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;1 -SMIPv04-L-SSP2-PkBudg1000-var_2030flexible;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;1 -SMIPv04-H-SSP5-rollBack-var;0;;;;;SSP5|NPI|nocc_hist|rcp4p5;y2150;raw;;;;1 -SMIPv04-M-SSP1-NPi2025-var;0;;;;;SSP1|NPI|nocc_hist|rcp4p5;y2150;raw;;;;1 -SMIPv04-M-SSP1-NPi2020-var;0;;;;;SSP1|NPI|nocc_hist|rcp4p5;y2150;raw;;;;1 -SMIPv04-M-SSP1-NDC_sy2030-var;0;;;;;SSP1|NDC|nocc_hist|rcp4p5;y2150;raw;;;;1 -SMIPv04-M-SSP1-NDC_sy2025-var;0;;;;;SSP1|NDC|nocc_hist|rcp4p5;y2150;raw;;;;1 -SMIPv04-M-SSP2_lowEn-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;1 -SMIPv04-M-SSP3-NPi2025-var;0;;;;;SSP3|NPI|nocc_hist|rcp4p5;y2150;raw;;;;1 -SMIPv04-M-SSP5-NPi2025-var;0;;;;;SSP5|NPI|nocc_hist|rcp4p5;y2150;raw;;;;1 -SMIPv04-L-SSP1-PkBudg1000-var;0;;;;;SSP1|NDC|nocc_hist|rcp2p6;y2035;raw;;;;1 -SMIPv04-VLLO-SSP2-PkBudg750-var;1;;;;;SDP-MC|SSP2-POP-GDP|NDC|nocc_hist|rcp1p9;y2030;raw;;;;1 -SMIPv04-VLLO-SSP2_lowEn-PkBudg750-var;1;;;;;SDP-MC|SSP2-POP-GDP|NDC|nocc_hist|rcp1p9;y2030;raw;;;;1 -RIKEN-VLLO-SSP2-PkBudg650-def;1;;;;;SSP2|NDC|nocc_hist|rcp1p9;y2030;raw;;;;1 -SMIPv04-L-SSP2-PkBudg1000-var_yr2035;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;1 -SMIPv04-L-SSP2-PkBudg1000-var_yr2050;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;1 -SMIPv04-VLHO-SSP2-EcBudg400-var_yr2035;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;1 -SMIPv04-VLHO-SSP2-EcBudg400-var_yr2050;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;1 -SMIPv04-VLLO-SSP1-PkBudg750-var_yr2035;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;1 -SMIPv04-H-SSP3-rollBack-var_EWoff;1;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;1 -SMIPv04-M-SSP2-NPi2025-var_EWoff;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;1 -SMIPv04-ML-SSP2-PkBudg2000-var_EWoff;1;SMIPv04-ML-SSP2-PkBudg2000-def;;;;;;;;;;1 -SMIPv04-L-SSP2-PkBudg1000-var_EWoff;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;1 -SMIPv04-VLHO-SSP2-EcBudg400-var_EWoff;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;1 -SMIPv04-VLLO-SSP1-PkBudg750-var_EWoff;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;1 -SMIPv04-VLLO-SSP1-PkBudg750-var_CESMkUps;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;1 -SMIPv04-VLLO-SSP1-PkBudg750-var_ProdCost;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;1 -SMIPv04-VLLO-SSP1-PkBudg750-var_bioenergy_SustTax1p75;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;1 -SMIPv04-VLLO-SSP1-PkBudg750-var_tradecostBio0p5;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;1 -SMIPv04-VLLO-SSP1-PkBudg750-var_maxProdBiolc100;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;1 +title;start;copyConfigFrom;oldrun;path_report;qos;config/scenario_config.csv;no_ghgprices_land_until;var_luc;path_gdx;path_gdx_bau;path_gdx_ref;cfg_mag$gms$s15_elastic_demand;cfg_mag$gms$s32_npi_ndc_reversal;cfg_mag$gms$s35_npi_ndc_reversal +SMIPv04-H-SSP3-rollBack-def;1;;;;;SSP3|NPI|nocc_hist|rcp4p5;y2150;raw;;;;1;2030;2030 +SMIPv04-M-SSP2-NPi2025-def;1;;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;raw;;;;1;; +SMIPv04-ML-SSP2-PkBudg2000-def;1;;;;;SSP2|NPI|nocc_hist|rcp4p5;y2045;raw;;;;1;; +SMIPv04-L-SSP2-PkBudg1000-def;1;;;;;SSP2|NDC|nocc_hist|rcp2p6;y2035;raw;;;;1;; +SMIPv04-VLHO-SSP2-EcBudg400-def;1;;;;;SSP2|NDC|nocc_hist|rcp2p6;y2035;raw;;;;1;; +SMIPv04-VLLO-SSP1-PkBudg750-def;1;;;;;SDP-MC|SSP1-POP-GDP|NDC|nocc_hist|rcp1p9;y2030;raw;;;;1;; +SMIPv04-M-SSP2-NPi2020-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;1;; +SMIPv04-M-SSP2-NDC_sy2030-var;1;;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;raw;;;;1;; +SMIPv04-M-SSP2-NDC_sy2025-var;1;;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;raw;;;;1;; +SMIPv04-L-SSP2-PkBudg1000-var_2030NPi;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;1;; +SMIPv04-L-SSP2-PkBudg1000-var_2030flexible;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;1;; +SMIPv04-H-SSP5-rollBack-var;0;;;;;SSP5|NPI|nocc_hist|rcp4p5;y2150;raw;;;;1;2030;2030 +SMIPv04-M-SSP1-NPi2025-var;0;;;;;SSP1|NPI|nocc_hist|rcp4p5;y2150;raw;;;;1;; +SMIPv04-M-SSP1-NPi2020-var;0;;;;;SSP1|NPI|nocc_hist|rcp4p5;y2150;raw;;;;1;; +SMIPv04-M-SSP1-NDC_sy2030-var;0;;;;;SSP1|NDC|nocc_hist|rcp4p5;y2150;raw;;;;1;; +SMIPv04-M-SSP1-NDC_sy2025-var;0;;;;;SSP1|NDC|nocc_hist|rcp4p5;y2150;raw;;;;1;; +SMIPv04-M-SSP2_lowEn-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;1;; +SMIPv04-M-SSP3-NPi2025-var;0;;;;;SSP3|NPI|nocc_hist|rcp4p5;y2150;raw;;;;1;; +SMIPv04-M-SSP5-NPi2025-var;0;;;;;SSP5|NPI|nocc_hist|rcp4p5;y2150;raw;;;;1;; +SMIPv04-L-SSP1-PkBudg1000-var;0;;;;;SSP1|NDC|nocc_hist|rcp2p6;y2035;raw;;;;1;; +SMIPv04-VLLO-SSP2-PkBudg750-var;1;;;;;SDP-MC|SSP2-POP-GDP|NDC|nocc_hist|rcp1p9;y2030;raw;;;;1;; +SMIPv04-VLLO-SSP2_lowEn-PkBudg750-var;1;;;;;SDP-MC|SSP2-POP-GDP|NDC|nocc_hist|rcp1p9;y2030;raw;;;;1;; +RIKEN-VLLO-SSP2-PkBudg650-def;1;;;;;SSP2|NDC|nocc_hist|rcp1p9;y2030;raw;;;;1;; +SMIPv04-L-SSP2-PkBudg1000-var_yr2035;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;1;; +SMIPv04-L-SSP2-PkBudg1000-var_yr2050;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;1;; +SMIPv04-VLHO-SSP2-EcBudg400-var_yr2035;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;1;; +SMIPv04-VLHO-SSP2-EcBudg400-var_yr2050;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;1;; +SMIPv04-VLLO-SSP1-PkBudg750-var_yr2035;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;1;; +SMIPv04-H-SSP3-rollBack-var_EWoff;1;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;1;2030;2030 +SMIPv04-M-SSP2-NPi2025-var_EWoff;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;1;; +SMIPv04-ML-SSP2-PkBudg2000-var_EWoff;1;SMIPv04-ML-SSP2-PkBudg2000-def;;;;;;;;;;1;; +SMIPv04-L-SSP2-PkBudg1000-var_EWoff;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;1;; +SMIPv04-VLHO-SSP2-EcBudg400-var_EWoff;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;1;; +SMIPv04-VLLO-SSP1-PkBudg750-var_EWoff;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;1;; +SMIPv04-VLLO-SSP1-PkBudg750-var_CESMkUps;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;1;; +SMIPv04-VLLO-SSP1-PkBudg750-var_ProdCost;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;1;; +SMIPv04-VLLO-SSP1-PkBudg750-var_bioenergy_SustTax1p75;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;1;; +SMIPv04-VLLO-SSP1-PkBudg750-var_tradecostBio0p5;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;1;; +SMIPv04-VLLO-SSP1-PkBudg750-var_maxProdBiolc100;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;1;; diff --git a/scripts/start/readCheckScenarioConfig.R b/scripts/start/readCheckScenarioConfig.R index af04b0244..64bb45e9b 100644 --- a/scripts/start/readCheckScenarioConfig.R +++ b/scripts/start/readCheckScenarioConfig.R @@ -145,7 +145,8 @@ readCheckScenarioConfig <- function(filename, remindPath = ".", testmode = FALSE if (coupling %in% "MAgPIE") { knownColumnNames <- c(knownColumnNames, "cm_nash_autoconverge_lastrun", "oldrun", "path_report", "magpie_scen", "no_ghgprices_land_until", "qos", "sbatch", "path_mif_ghgprice_land", "max_iterations", - "magpie_empty", "var_luc","cfg_mag$gms$s15_elastic_demand") + "magpie_empty", "var_luc","cfg_mag$gms$s15_elastic_demand","cfg_mag$gms$s32_npi_ndc_reversal", + "cfg_mag$gms$s35_npi_ndc_reversal") # identify MAgPIE switches by "cfg_mag" and "scenario_config" knownColumnNames <- c(knownColumnNames, grep("cfg_mag|scenario_config", names(scenConf), value = TRUE)) } else { # not a coupling config From 63d11c9cb904d197296d793d9e75f955d44a2d59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Mon, 25 Nov 2024 18:15:20 +0100 Subject: [PATCH 784/875] Set carbonprice to none for H scenario, correct cm_iterative_target_adj to 0 for NPi --- config/scenario_config_ScenarioMIP.csv | 96 +++++++++++++------------- 1 file changed, 48 insertions(+), 48 deletions(-) diff --git a/config/scenario_config_ScenarioMIP.csv b/config/scenario_config_ScenarioMIP.csv index 459584b00..34bef7f6d 100644 --- a/config/scenario_config_ScenarioMIP.csv +++ b/config/scenario_config_ScenarioMIP.csv @@ -1,48 +1,48 @@ -title;start;copyConfigFrom;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_budgetCO2from2020;carbonprice;cm_taxCO2_functionalForm;cm_taxCO2_expGrowth;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_historical;cm_taxCO2_historicalYr;cm_taxCO2_regiDiff;cm_taxCO2_regiDiff_endYr;cm_emiscen;c_regi_earlyreti_rate;cm_fetaxscen;cm_bioenergy_SustTax;cm_maxProdBiolc;cm_33EW;cm_33OAE;cm_frac_NetNegEmi;c_ccsinjecratescen;c_changeProdCost;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description -#___ScenarioMIP_defaults___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-H-SSP3-rollBack-def;0;;rcp45;3;off;;NPiexpo;;0.9;;;;;;;9;GLO 0.09, EUR_regi 0.15;1;1.5;;1;0;0.5;1;1;;;;;NPi2018;regiCarbonPrice;off;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;medOil;medGas;highCoal;1;2;0;3;SSP3;1.5;0;forcing_SSP3;SSP3;Mix1;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; -SMIPv04-M-SSP2-NPi2025-def;1;;rcp45;3;off;;NPi2025;;;;;;;;;9;GLO 0.09, EUR_regi 0.15;3;1.5;;1;0;0.5;1;;;;;;NPi2018;regiCarbonPrice;off;;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;Mix1;2005;;;;; -SMIPv04-ML-SSP2-PkBudg2000-def;1;;rcp45;9;globallyOptimal;2000;functionalForm;linear;;60;2100;gdx_ref;2025;initialSpread10;GLO 2100;9;GLO 0.09, EUR_regi 0.15;3;1.5;;1;0;0.5;1;1;;;;;NDC;regiCarbonPrice;off;;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix2ICEban;2045;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; -SMIPv04-L-SSP2-PkBudg1000-def;1;;rcp26;9;globallyOptimal;1000;functionalForm;linear;;65;2080;gdx_ref;2025;initialSpread10;GLO 2070;9;GLO 0.09, EUR_regi 0.15;3;1.5;;1;0;0.5;1;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix3ICEban;2035;;SMIPv04-M-SSP2-NDC_sy2030-var;;SMIPv04-M-SSP2-NPi2025-def; -SMIPv04-VLHO-SSP2-EcBudg400-def;1;;rcp26;5;globallyOptimal;400;functionalForm;exponential;1.045;70;;;;initialSpread20;GLO 2070;9;GLO 0.09, EUR_regi 0.15;3;1.5;;1;1;0;1;1;;;;2060.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix3ICEban;2035;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; -SMIPv04-VLLO-SSP1-PkBudg750-def;1;;rcp20;9;globallyOptimal;750;functionalForm;linear;;75;2055;gdx_ref;last;initialSpread10;GLO 2050;9;GLO 0.12, EUR_regi 0.15;2;1.5;;1;0;0.5;5;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;2;4;2;SDP;1;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; -#___ScenarioMIP_variants_M-SSP2___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-M-SSP2-NPi2020-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-M-SSP2-NDC_sy2030-var;1;SMIPv04-M-SSP2-NPi2025-def;;;globallyOptimal;;NDC;;;;;;;;;;;;;;;;;;1;;;;;NDC;;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;;;;;;;;;;;;;;;;;;;Mix2ICEban;2030;;SMIPv04-M-SSP2-NPi2025-def;SMIPv04-M-SSP2-NPi2020-var;SMIPv04-M-SSP2-NPi2025-def; -SMIPv04-M-SSP2-NDC_sy2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;globallyOptimal;;NDC;;;;;;;;;;;;;;;;;;5;;;;;NDC;;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;;;;;;;;;;;;;;;;;;;Mix2ICEban;2025;;SMIPv04-M-SSP2-NPi2020-var;SMIPv04-M-SSP2-NPi2020-var;SMIPv04-M-SSP2-NPi2025-def; -#___ScenarioMIP_variants_L-SSP2___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-L-SSP2-PkBudg1000-var_2030NPi;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-def;;; -SMIPv04-L-SSP2-PkBudg1000-var_2030flexible;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;last;;;;;;;;;;;;;;;;;;;;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;;;;;;;;;;;;;;;;;;;;2030;;SMIPv04-M-SSP2-NPi2025-def;;; -#___ScenarioMIP_SSP_variants___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-H-SSP5-rollBack-var;0;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP5;gdp_SSP5;gdp_SSP5;;;;;;;;SSP5;;;forcing_SSP5;SSP5;;;;;;; -SMIPv04-M-SSP1-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;GLO 0.12, EUR_regi 0.15;2;;;;;;5;;;;;;;;;;;;;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SDP;;;forcing_SSP1;MFR;;;;;;; -SMIPv04-M-SSP1-NPi2020-var;1;SMIPv04-M-SSP1-NPi2025-var;;;;;NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-M-SSP1-NDC_sy2030-var;1;SMIPv04-M-SSP1-NPi2025-var;;;globallyOptimal;;NDC;;;;;;;;;;;;;;;;;;1;;;;;NDC;;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;;;;;;;;;;;;;;;;;;;Mix2ICEban;2030;;SMIPv04-M-SSP2-NPi2025-def;SMIPv04-M-SSP1-NPi2020-var;SMIPv04-M-SSP1-NPi2025-var; -SMIPv04-M-SSP1-NDC_sy2025-var;1;SMIPv04-M-SSP1-NPi2025-var;;;globallyOptimal;;NDC;;;;;;;;;;;;;;;;;;5;;;;;NDC;;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;;;;;;;;;;;;;;;;;;;Mix2ICEban;2025;;SMIPv04-M-SSP2-NPi2020-var;SMIPv04-M-SSP1-NPi2020-var;SMIPv04-M-SSP1-NPi2025-var; -SMIPv04-M-SSP2_lowEn-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;;;;;;; -SMIPv04-M-SSP3-NPi2025-var;0;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;;;SSP3;;;forcing_SSP3;SSP3;;;;;;; -SMIPv04-M-SSP5-NPi2025-var;0;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;1;;;;;;3;;;;;;;;;;;;;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;;1;forcing_SSP5;SSP5;;;;;;; -SMIPv04-L-SSP1-PkBudg1000-var;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;;GLO 0.12, EUR_regi 0.15;2;;;;;;5;;;;;;;;;;;;;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;;1;forcing_SSP1;MFR;;;;SMIPv04-M-SSP1-NDC_sy2030-var;;; -SMIPv04-VLLO-SSP2-PkBudg750-var;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP2;gdp_SSP2;gdp_SSP2;;;;;;;;;;;forcing_SSP2;;;;;;;; -SMIPv04-VLLO-SSP2_lowEn-PkBudg750-var;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP2;gdp_SSP2;gdp_SSP2_lowEn;;;;;;;;;;;forcing_SSP2;;;;;;;; -#___RIKEN___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -RIKEN-VLLO-SSP2-PkBudg650-def;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;650;;;;;;;;;;;GLO 0.09, EUR_regi 0.15;3;;;;;;1;;;;;;;;;;;;;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;;1;;SSP2;;0;forcing_SSP2;SSP2;;;;;;; -#___ScenarioMIP_carbon_price_convergence_variants___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-L-SSP2-PkBudg1000-var_yr2035;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;GLO 2035;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-L-SSP2-PkBudg1000-var_yr2050;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;GLO 2050;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-VLHO-SSP2-EcBudg400-var_yr2035;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;;GLO 2035;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-VLHO-SSP2-EcBudg400-var_yr2050;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;;GLO 2050;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-VLLO-SSP1-PkBudg750-var_yr2035;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;;GLO 2035;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -#___ScenarioMIP_EW_off_variants___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-H-SSP3-rollBack-var_EWoff;0;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-M-SSP2-NPi2025-var_EWoff;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-ML-SSP2-PkBudg2000-var_EWoff;1;SMIPv04-ML-SSP2-PkBudg2000-def;;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-L-SSP2-PkBudg1000-var_EWoff;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-VLHO-SSP2-EcBudg400-var_EWoff;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-VLLO-SSP1-PkBudg750-var_EWoff;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -#___ScenarioMIP_VLLO-SSP1_tests___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-VLLO-SSP1-PkBudg750-var_CESMkUps;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;;;;;;;;;;;;;feelhpb 1.05, fehob 1.75, feheb 0.1;manual;feh2_otherInd 1.04, feelhth_otherInd 0.4, feh2_cement 2.0, feelhth_chemicals 1.3, feh2_chemicals 1.04;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-VLLO-SSP1-PkBudg750-var_ProdCost;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;;;;;;;;;;;;5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-VLLO-SSP1-PkBudg750-var_bioenergy_SustTax1p75;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;;;;;;1.75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-VLLO-SSP1-PkBudg750-var_tradecostBio0p5;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0.5;;;;;;;;;; -SMIPv04-VLLO-SSP1-PkBudg750-var_maxProdBiolc100;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;;;;;;;100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +title;start;copyConfigFrom;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_budgetCO2from2020;carbonprice;cm_taxCO2_functionalForm;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_historical;cm_taxCO2_historicalYr;cm_taxCO2_regiDiff;cm_taxCO2_regiDiff_endYr;cm_emiscen;c_regi_earlyreti_rate;cm_fetaxscen;cm_bioenergy_SustTax;cm_maxProdBiolc;cm_33EW;cm_33OAE;cm_frac_NetNegEmi;c_ccsinjecratescen;c_changeProdCost;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description +#___ScenarioMIP_defaults___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-H-SSP3-rollBack-def;0;;rcp45;0;off;;none;;;;;;;;9;GLO 0.09, EUR_regi 0.15;1;1.5;;1;0;0.5;1;1;;;;;NPi2018;regiCarbonPrice;off;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;medOil;medGas;highCoal;1;2;0;3;SSP3;1.5;0;forcing_SSP3;SSP3;Mix1;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; +SMIPv04-M-SSP2-NPi2025-def;1;;rcp45;0;off;;NPi2025;;;;;;;;9;GLO 0.09, EUR_regi 0.15;3;1.5;;1;0;0.5;1;;;;;;NPi2018;regiCarbonPrice;off;;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;Mix1;2005;;;;; +SMIPv04-ML-SSP2-PkBudg2000-def;1;;rcp45;9;globallyOptimal;2000;functionalForm;linear;60;2100;gdx_ref;2025;initialSpread10;GLO 2100;9;GLO 0.09, EUR_regi 0.15;3;1.5;;1;0;0.5;1;1;;;;;NDC;regiCarbonPrice;off;;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix2ICEban;2045;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; +SMIPv04-L-SSP2-PkBudg1000-def;1;;rcp26;9;globallyOptimal;1000;functionalForm;linear;65;2080;gdx_ref;2025;initialSpread10;GLO 2070;9;GLO 0.09, EUR_regi 0.15;3;1.5;;1;0;0.5;1;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix3ICEban;2035;;SMIPv04-M-SSP2-NDC_sy2030-var;;SMIPv04-M-SSP2-NPi2025-def; +SMIPv04-VLHO-SSP2-EcBudg400-def;1;;rcp26;5;globallyOptimal;400;functionalForm;exponential;70;;;;initialSpread20;GLO 2070;9;GLO 0.09, EUR_regi 0.15;3;1.5;;1;1;0;1;1;;;;2060.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix3ICEban;2035;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; +SMIPv04-VLLO-SSP1-PkBudg750-def;1;;rcp20;9;globallyOptimal;750;functionalForm;linear;75;2055;gdx_ref;last;initialSpread10;GLO 2050;9;GLO 0.12, EUR_regi 0.15;2;1.5;;1;0;0.5;5;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;2;4;2;SDP;1;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; +#___ScenarioMIP_variants_M-SSP2___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-M-SSP2-NPi2020-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-M-SSP2-NDC_sy2030-var;1;SMIPv04-M-SSP2-NPi2025-def;;3;globallyOptimal;;NDC;;;;;;;;;;;;;;;;;1;;;;;NDC;;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;;;;;;;;;;;;;;;;;;;Mix2ICEban;2030;;SMIPv04-M-SSP2-NPi2025-def;SMIPv04-M-SSP2-NPi2020-var;SMIPv04-M-SSP2-NPi2025-def; +SMIPv04-M-SSP2-NDC_sy2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;3;globallyOptimal;;NDC;;;;;;;;;;;;;;;;;5;;;;;NDC;;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;;;;;;;;;;;;;;;;;;;Mix2ICEban;2025;;SMIPv04-M-SSP2-NPi2020-var;SMIPv04-M-SSP2-NPi2020-var;SMIPv04-M-SSP2-NPi2025-def; +#___ScenarioMIP_variants_L-SSP2___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-L-SSP2-PkBudg1000-var_2030NPi;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-def;;; +SMIPv04-L-SSP2-PkBudg1000-var_2030flexible;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;last;;;;;;;;;;;;;;;;;;;;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;;;;;;;;;;;;;;;;;;;;2030;;SMIPv04-M-SSP2-NPi2025-def;;; +#___ScenarioMIP_SSP_variants___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-H-SSP5-rollBack-var;0;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP5;gdp_SSP5;gdp_SSP5;;;;;;;;SSP5;;;forcing_SSP5;SSP5;;;;;;; +SMIPv04-M-SSP1-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;GLO 0.12, EUR_regi 0.15;2;;;;;;5;;;;;;;;;;;;;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SDP;;;forcing_SSP1;MFR;;;;;;; +SMIPv04-M-SSP1-NPi2020-var;1;SMIPv04-M-SSP1-NPi2025-var;;;;;NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-M-SSP1-NDC_sy2030-var;1;SMIPv04-M-SSP1-NPi2025-var;;3;globallyOptimal;;NDC;;;;;;;;;;;;;;;;;1;;;;;NDC;;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;;;;;;;;;;;;;;;;;;;Mix2ICEban;2030;;SMIPv04-M-SSP2-NPi2025-def;SMIPv04-M-SSP1-NPi2020-var;SMIPv04-M-SSP1-NPi2025-var; +SMIPv04-M-SSP1-NDC_sy2025-var;1;SMIPv04-M-SSP1-NPi2025-var;;3;globallyOptimal;;NDC;;;;;;;;;;;;;;;;;5;;;;;NDC;;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;;;;;;;;;;;;;;;;;;;Mix2ICEban;2025;;SMIPv04-M-SSP2-NPi2020-var;SMIPv04-M-SSP1-NPi2020-var;SMIPv04-M-SSP1-NPi2025-var; +SMIPv04-M-SSP2_lowEn-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;;;;;;; +SMIPv04-M-SSP3-NPi2025-var;0;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;;;SSP3;;;forcing_SSP3;SSP3;;;;;;; +SMIPv04-M-SSP5-NPi2025-var;0;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;1;;;;;;3;;;;;;;;;;;;;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;;1;forcing_SSP5;SSP5;;;;;;; +SMIPv04-L-SSP1-PkBudg1000-var;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;GLO 0.12, EUR_regi 0.15;2;;;;;;5;;;;;;;;;;;;;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;;1;forcing_SSP1;MFR;;;;SMIPv04-M-SSP1-NDC_sy2030-var;;; +SMIPv04-VLLO-SSP2-PkBudg750-var;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP2;gdp_SSP2;gdp_SSP2;;;;;;;;;;;forcing_SSP2;;;;;;;; +SMIPv04-VLLO-SSP2_lowEn-PkBudg750-var;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP2;gdp_SSP2;gdp_SSP2_lowEn;;;;;;;;;;;forcing_SSP2;;;;;;;; +#___RIKEN___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +RIKEN-VLLO-SSP2-PkBudg650-def;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;650;;;;;;;;;;GLO 0.09, EUR_regi 0.15;3;;;;;;1;;;;;;;;;;;;;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;;1;;SSP2;;0;forcing_SSP2;SSP2;;;;;;; +#___ScenarioMIP_carbon_price_convergence_variants___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-L-SSP2-PkBudg1000-var_yr2035;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;GLO 2035;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-L-SSP2-PkBudg1000-var_yr2050;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;GLO 2050;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_yr2035;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;GLO 2035;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_yr2050;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;GLO 2050;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg750-var_yr2035;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;GLO 2035;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +#___ScenarioMIP_EW_off_variants___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-H-SSP3-rollBack-var_EWoff;0;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-M-SSP2-NPi2025-var_EWoff;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-ML-SSP2-PkBudg2000-var_EWoff;1;SMIPv04-ML-SSP2-PkBudg2000-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-L-SSP2-PkBudg1000-var_EWoff;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_EWoff;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg750-var_EWoff;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +#___ScenarioMIP_VLLO-SSP1_tests___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg750-var_CESMkUps;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;;;;;;;;;;;;feelhpb 1.05, fehob 1.75, feheb 0.1;manual;feh2_otherInd 1.04, feelhth_otherInd 0.4, feh2_cement 2.0, feelhth_chemicals 1.3, feh2_chemicals 1.04;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg750-var_ProdCost;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;;;;;;;;;;;5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg750-var_bioenergy_SustTax1p75;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;;;;;1.75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg750-var_tradecostBio0p5;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0.5;;;;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg750-var_maxProdBiolc100;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;;;;;;100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; From e246e57403b3709fe2688da40cc4eb8ff6fccb4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Mon, 25 Nov 2024 18:20:31 +0100 Subject: [PATCH 785/875] Bug fix --- config/scenario_config_ScenarioMIP.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/scenario_config_ScenarioMIP.csv b/config/scenario_config_ScenarioMIP.csv index 34bef7f6d..1bb1e5152 100644 --- a/config/scenario_config_ScenarioMIP.csv +++ b/config/scenario_config_ScenarioMIP.csv @@ -1,6 +1,6 @@ title;start;copyConfigFrom;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_budgetCO2from2020;carbonprice;cm_taxCO2_functionalForm;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_historical;cm_taxCO2_historicalYr;cm_taxCO2_regiDiff;cm_taxCO2_regiDiff_endYr;cm_emiscen;c_regi_earlyreti_rate;cm_fetaxscen;cm_bioenergy_SustTax;cm_maxProdBiolc;cm_33EW;cm_33OAE;cm_frac_NetNegEmi;c_ccsinjecratescen;c_changeProdCost;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description #___ScenarioMIP_defaults___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-H-SSP3-rollBack-def;0;;rcp45;0;off;;none;;;;;;;;9;GLO 0.09, EUR_regi 0.15;1;1.5;;1;0;0.5;1;1;;;;;NPi2018;regiCarbonPrice;off;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;medOil;medGas;highCoal;1;2;0;3;SSP3;1.5;0;forcing_SSP3;SSP3;Mix1;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; +SMIPv04-H-SSP3-rollBack-def;0;;rcp45;0;off;;none;;;;;;;;9;GLO 0.09, EUR_regi 0.15;1;1.5;;1;0;0.5;1;1;;;;;none;regiCarbonPrice;off;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;medOil;medGas;highCoal;1;2;0;3;SSP3;1.5;0;forcing_SSP3;SSP3;Mix1;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; SMIPv04-M-SSP2-NPi2025-def;1;;rcp45;0;off;;NPi2025;;;;;;;;9;GLO 0.09, EUR_regi 0.15;3;1.5;;1;0;0.5;1;;;;;;NPi2018;regiCarbonPrice;off;;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;Mix1;2005;;;;; SMIPv04-ML-SSP2-PkBudg2000-def;1;;rcp45;9;globallyOptimal;2000;functionalForm;linear;60;2100;gdx_ref;2025;initialSpread10;GLO 2100;9;GLO 0.09, EUR_regi 0.15;3;1.5;;1;0;0.5;1;1;;;;;NDC;regiCarbonPrice;off;;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix2ICEban;2045;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; SMIPv04-L-SSP2-PkBudg1000-def;1;;rcp26;9;globallyOptimal;1000;functionalForm;linear;65;2080;gdx_ref;2025;initialSpread10;GLO 2070;9;GLO 0.09, EUR_regi 0.15;3;1.5;;1;0;0.5;1;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix3ICEban;2035;;SMIPv04-M-SSP2-NDC_sy2030-var;;SMIPv04-M-SSP2-NPi2025-def; From ee112d394e72b1ffc5d73e1950f5c377ca67a50c Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Mon, 25 Nov 2024 17:27:19 +0000 Subject: [PATCH 786/875] Release development version 3.3.2.dev1032 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 4d985459f..acfe31295 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev1025" +version: "3.3.2.dev1032" date-released: 2024-11-25 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 03b777fdc..eb2ddec97 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev1025" +cfg$model_version <- "3.3.2.dev1032" #### settings #### cfg$gms <- list() From dd9df134240f4ecfe8776aefb9b65799bc22a955 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Mon, 25 Nov 2024 18:33:37 +0100 Subject: [PATCH 787/875] Set cm_iterative_target_adj to 0 for NPi --- config/scenario_config.csv | 104 ++++++++++++++++++------------------- 1 file changed, 52 insertions(+), 52 deletions(-) diff --git a/config/scenario_config.csv b/config/scenario_config.csv index 560a84dd8..764b4a4db 100644 --- a/config/scenario_config.csv +++ b/config/scenario_config.csv @@ -1,52 +1,52 @@ -title;start;CES_parameters;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_budgetCO2from2020;carbonprice;cm_taxCO2_functionalForm;cm_taxCO2_expGrowth;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_regiDiff;cm_taxCO2_regiDiff_endYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_bioenergy_SustTax;cm_33EW;cm_33OAE;cm_frac_NetNegEmi;c_ccsinjecratescen;c_ccscapratescen;c_changeProdCost;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description -# H12 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-NPi-calibrate;calibrate,AMT,compileInTests;calibrate;14;;;rcp45;;;0;NPi;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-NDC;1,AMT,2;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;;;;;;;;;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2030;;SSP2-NPi2025;SSP2-NPi;SSP2-NPi;SSP2-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi2025 until 2025 and has start year 2030. 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. -SSP2-NDCsy2025;1,AMT,2;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;;;;;;;;;;5;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2025;;SSP2-NPi;SSP2-NPi;SSP2-NPi;SSP2-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi until 2020 and has start year 2025.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. -SSP2-NPi;1,AMT,compileInTests,2;;;;;rcp45;3;;0;NPi;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-NPi2025;1,AMT,2;;;;;rcp45;3;;0;NPi2025;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2005;;;;;SSP2-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-PkBudg500;1,AMT,2;;;;;rcp20;9;globallyOptimal;500;functionalForm;;;200;2045;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;SSP2-NPi;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be well below 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-PkBudg650;1,AMT,2;;;;;rcp20;9;globallyOptimal;650;functionalForm;;;100;2055;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;SSP2-NPi;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-PkBudg1000;1,AMT,2;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;;75;2080;;;9;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-NPi2025;;SSP2-NPi;SSP2-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -SSP2-EcBudg400;1,AMT,2;;;;;rcp26;5;globallyOptimal;400;functionalForm;exponential;;70;;initialSpread20;GLO 2070;9;;;;;1;1;0;;;1;;;;2060.GLO 0.9;NDC;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2035;;SSP2-NPi2025;;SSP2-NPi;SSP2-EcBudg400: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes an end-of-century budget of 400 Gt CO2 on total CO2 emissions from 2020 to 2100. This is a high overshoot scenario with delayed climate policy. -# EU21 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-EU21-NPi-calibrate;calibrate;calibrate;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;0;NPi;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-EU21-NDC;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;;;;;;;;;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2030;;SSP2-EU21-NPi2025;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi2025 until 2025 and has start year 2030. 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. -SSP2-EU21-NDCsy2025;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;;;;;;;;;;5;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2025;;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi until 2020 and has start year 2025. 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. -SSP2-EU21-NPi;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-EU21-NPi2025;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;;0;NPi2025;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2005;;;;;SSP2-EU21-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-EU21-PkBudg500;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;500;functionalForm;;;200;2045;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi;SSP2-EU21-PkBudg500: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-EU21-PkBudg650;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;;;100;2055;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi;SSP2-EU21-PkBudg650: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-EU21-PkBudg1000;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;9;globallyOptimal;1000;functionalForm;;;75;2080;;;9;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi;SSP2-EU21-PkBudg1050: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -# H12 SSP3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP3-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. -SSP3-NDC;0;;;;;rcp45;3;;0;NDC;;;;;;;9;;;1;;;;;;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2ICEban;2030;;SSP2-NPi2025;SSP3-NPi;SSP3-NPi;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. It assumes NPi2025 until 2025 and has start year 2030. 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. -SSP3-NDCsy2025;0;;;;;rcp45;3;;0;NDC;;;;;;;9;;;1;;;;;;;5;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2ICEban;2025;;SSP2-NPi;SSP3-NPi;SSP3-NPi;SSP3-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. It assumes NPi until 2020 and has start year 2025. 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. -SSP3-NPi;0;;;;;rcp45;3;;0;NPi;;;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP3-NPi2025;0;;;;;rcp45;3;;0;NPi2025;;;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2ICEban;2005;;;;;SSP3-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP3-PkBudg1000;0;;;;;rcp26;9;;1000;functionalForm;;;75;2080;;GLO 2100;9;;;1;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix3ICEban;2030;;SSP2-NPi2025;;;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -SSP3-rollBack;0;;;;;rcp45;3;;0;NPiexpo;;0.9;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix1;2030;;SSP2-NPi2025;;; -# H12 SSP1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP1-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. -SSP1-NDC;1,AMT,compileInTests;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2ICEban;2030;;SSP2-NPi2025;SSP1-NPi;SSP1-NPi;SSP1-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. It assumes NPi2025 until 2025 and has start year 2030. 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. -SSP1-NDCsy2025;1,AMT;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;5;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2ICEban;2025;;SSP2-NPi;SSP1-NPi;SSP1-NPi;SSP1-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. It assumes NPi until 2020 and has start year 2025. 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. -SSP1-NPi;1,AMT;;;;;rcp45;3;;0;NPi;;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP1-NPi2025;1,AMT;;;;;rcp45;3;;0;NPi2025;;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2ICEban;2005;;;;;SSP1-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP1-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;functionalForm;;;100;2055;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;1;feelhpb 1.05, fehob 1.75, feheb 0.1;manual;feh2_otherInd 1.04, feelhth_otherInd 0.4, feh2_cement 2.0, feelhth_chemicals 1.3, feh2_chemicals 1.04;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SSP2-NPi2025;;;SSP1-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP1-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;;75;2080;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix3ICEban;2030;;SSP2-NPi2025;;;SSP1-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -# H12 SSP2 lowEnergy;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2_lowEn-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix1;2005;;;;;SSP2_lowEn-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. -SSP2_lowEn-NDC;1,AMT;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;;;;;;;;;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix2ICEban;2030;;SSP2-NPi2025;SSP2_lowEn-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi2025 until 2025 and has start year 2030. This scenario also assumes low energy demand trajectories. 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. -SSP2_lowEn-NDCsy2025;1,AMT;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;;;;;;;;;;5;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix2ICEban;2025;;SSP2-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi until 2020 and has start year 2025. This scenario also assumes low energy demand trajectories. 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. -SSP2_lowEn-NPi;1,AMT;;;;;rcp45;3;;0;NPi;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix1;2005;;;;;SSP2_lowEn-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2_lowEn-NPi2025;1,AMT;;;;;rcp45;3;;0;NPi2025;;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix2ICEban;2005;;;;;SSP2_lowEn-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2_lowEn-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;functionalForm;;;100;2055;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;;SSP2_lowEn-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2_lowEn-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;;75;2080;;;9;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;Mix3ICEban;2030;;SSP2-NPi2025;;;SSP2_lowEn-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -# H12 SSP5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP5-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;;;9;;;1;1.75;;;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. -SSP5-NDC;1;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;;;1;1.75;;;;3;2;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2ICEban;2030;;SSP2-NPi2025;SSP5-NPi;SSP5-NPi;SSP5-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. It assumes NPi2025 until 2025 and has start year 2030. 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. -SSP5-NDCsy2025;1;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;;9;;;1;1.75;;;;3;2;5;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2ICEban;2025;;SSP2-NPi;SSP5-NPi;SSP5-NPi;SSP5-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. It assumes NPi until 2020 and has start year 2025. 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. -SSP5-NPi;1;;;;;rcp45;3;;0;NPi;;;;;;;9;;;1;1.75;;;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP5-NPi2025;1;;;;;rcp45;3;;0;NPi2025;;;;;;;9;;;1;1.75;;;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2ICEban;2005;;;;;SSP5-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP5-PkBudg650;1;;;;;rcp20;9;globallyOptimal;650;functionalForm;;;100;2055;;;9;;;1;1.75;;;;3;2;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix4ICEban;2030;;SSP2-NPi2025;;;SSP5-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP5-PkBudg1000;1,compileInTests;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;;75;2080;;;9;;;1;1.75;;;;3;2;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix3ICEban;2030;;SSP2-NPi2025;;;SSP5-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +title;start;CES_parameters;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_budgetCO2from2020;carbonprice;cm_taxCO2_functionalForm;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_regiDiff;cm_taxCO2_regiDiff_endYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_bioenergy_SustTax;cm_33EW;cm_33OAE;cm_frac_NetNegEmi;c_ccsinjecratescen;c_ccscapratescen;c_changeProdCost;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description +# H12 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2-NPi-calibrate;calibrate,AMT,compileInTests;calibrate;14;;;rcp45;;;0;NPi;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-NDC;1,AMT,2;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;9;;;;;;;;;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2030;;SSP2-NPi2025;SSP2-NPi;SSP2-NPi;SSP2-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi2025 until 2025 and has start year 2030. 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. +SSP2-NDCsy2025;1,AMT,2;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;9;;;;;;;;;;5;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2025;;SSP2-NPi;SSP2-NPi;SSP2-NPi;SSP2-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi until 2020 and has start year 2025.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. +SSP2-NPi;1,AMT,compileInTests,2;;;;;rcp45;0;;0;NPi;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-NPi2025;1,AMT,2;;;;;rcp45;0;;0;NPi2025;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2005;;;;;SSP2-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-PkBudg500;1,AMT,2;;;;;rcp20;9;globallyOptimal;500;functionalForm;;200;2045;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;SSP2-NPi;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be well below 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-PkBudg650;1,AMT,2;;;;;rcp20;9;globallyOptimal;650;functionalForm;;100;2055;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;SSP2-NPi;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-PkBudg1000;1,AMT,2;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;75;2080;;;9;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-NPi2025;;SSP2-NPi;SSP2-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP2-EcBudg400;1,AMT,2;;;;;rcp26;5;globallyOptimal;400;functionalForm;exponential;70;;initialSpread20;GLO 2070;9;;;;;1;1;0;;;1;;;;2060.GLO 0.9;NDC;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2035;;SSP2-NPi2025;;SSP2-NPi;SSP2-EcBudg400: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes an end-of-century budget of 400 Gt CO2 on total CO2 emissions from 2020 to 2100. This is a high overshoot scenario with delayed climate policy. +# EU21 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2-EU21-NPi-calibrate;calibrate;calibrate;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;0;NPi;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-EU21-NDC;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;globallyOptimal;0;NDC;;;;;;9;;;;;;;;;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2030;;SSP2-EU21-NPi2025;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi2025 until 2025 and has start year 2030. 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. +SSP2-EU21-NDCsy2025;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;globallyOptimal;0;NDC;;;;;;9;;;;;;;;;;5;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2025;;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi until 2020 and has start year 2025. 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. +SSP2-EU21-NPi;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;0;;0;NPi;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-EU21-NPi2025;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;0;;0;NPi2025;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2005;;;;;SSP2-EU21-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-EU21-PkBudg500;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;500;functionalForm;;200;2045;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi;SSP2-EU21-PkBudg500: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-EU21-PkBudg650;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;;100;2055;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi;SSP2-EU21-PkBudg650: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-EU21-PkBudg1000;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;9;globallyOptimal;1000;functionalForm;;75;2080;;;9;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi;SSP2-EU21-PkBudg1050: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +# H12 SSP3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP3-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. +SSP3-NDC;0;;;;;rcp45;3;;0;NDC;;;;;;9;;;1;;;;;;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2ICEban;2030;;SSP2-NPi2025;SSP3-NPi;SSP3-NPi;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. It assumes NPi2025 until 2025 and has start year 2030. 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. +SSP3-NDCsy2025;0;;;;;rcp45;3;;0;NDC;;;;;;9;;;1;;;;;;;5;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2ICEban;2025;;SSP2-NPi;SSP3-NPi;SSP3-NPi;SSP3-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. It assumes NPi until 2020 and has start year 2025. 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. +SSP3-NPi;0;;;;;rcp45;0;;0;NPi;;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP3-NPi2025;0;;;;;rcp45;0;;0;NPi2025;;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2ICEban;2005;;;;;SSP3-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP3-PkBudg1000;0;;;;;rcp26;9;;1000;functionalForm;;75;2080;;GLO 2100;9;;;1;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix3ICEban;2030;;SSP2-NPi2025;;;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP3-rollBack;0;;;;;rcp45;0;;0;none;;;;;;9;;;1;;;;;;;;;;;;none;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix1;2030;;SSP2-NPi2025;;; +# H12 SSP1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP1-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. +SSP1-NDC;1,AMT,compileInTests;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2ICEban;2030;;SSP2-NPi2025;SSP1-NPi;SSP1-NPi;SSP1-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. It assumes NPi2025 until 2025 and has start year 2030. 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. +SSP1-NDCsy2025;1,AMT;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;5;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2ICEban;2025;;SSP2-NPi;SSP1-NPi;SSP1-NPi;SSP1-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. It assumes NPi until 2020 and has start year 2025. 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. +SSP1-NPi;1,AMT;;;;;rcp45;0;;0;NPi;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP1-NPi2025;1,AMT;;;;;rcp45;0;;0;NPi2025;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2ICEban;2005;;;;;SSP1-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP1-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;functionalForm;;100;2055;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;1;feelhpb 1.05, fehob 1.75, feheb 0.1;manual;feh2_otherInd 1.04, feelhth_otherInd 0.4, feh2_cement 2.0, feelhth_chemicals 1.3, feh2_chemicals 1.04;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SSP2-NPi2025;;;SSP1-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP1-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;75;2080;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix3ICEban;2030;;SSP2-NPi2025;;;SSP1-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +# H12 SSP2 lowEnergy;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2_lowEn-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix1;2005;;;;;SSP2_lowEn-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. +SSP2_lowEn-NDC;1,AMT;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;9;;;;;;;;;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix2ICEban;2030;;SSP2-NPi2025;SSP2_lowEn-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi2025 until 2025 and has start year 2030. This scenario also assumes low energy demand trajectories. 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. +SSP2_lowEn-NDCsy2025;1,AMT;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;9;;;;;;;;;;5;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix2ICEban;2025;;SSP2-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi until 2020 and has start year 2025. This scenario also assumes low energy demand trajectories. 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. +SSP2_lowEn-NPi;1,AMT;;;;;rcp45;0;;0;NPi;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix1;2005;;;;;SSP2_lowEn-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2_lowEn-NPi2025;1,AMT;;;;;rcp45;0;;0;NPi2025;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix2ICEban;2005;;;;;SSP2_lowEn-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2_lowEn-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;functionalForm;;100;2055;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;;SSP2_lowEn-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2_lowEn-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;75;2080;;;9;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;Mix3ICEban;2030;;SSP2-NPi2025;;;SSP2_lowEn-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +# H12 SSP5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP5-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;;9;;;1;1.75;;;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. +SSP5-NDC;1;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;9;;;1;1.75;;;;3;2;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2ICEban;2030;;SSP2-NPi2025;SSP5-NPi;SSP5-NPi;SSP5-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. It assumes NPi2025 until 2025 and has start year 2030. 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. +SSP5-NDCsy2025;1;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;9;;;1;1.75;;;;3;2;5;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2ICEban;2025;;SSP2-NPi;SSP5-NPi;SSP5-NPi;SSP5-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. It assumes NPi until 2020 and has start year 2025. 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. +SSP5-NPi;1;;;;;rcp45;0;;0;NPi;;;;;;9;;;1;1.75;;;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP5-NPi2025;1;;;;;rcp45;0;;0;NPi2025;;;;;;9;;;1;1.75;;;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2ICEban;2005;;;;;SSP5-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP5-PkBudg650;1;;;;;rcp20;9;globallyOptimal;650;functionalForm;;100;2055;;;9;;;1;1.75;;;;3;2;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix4ICEban;2030;;SSP2-NPi2025;;;SSP5-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP5-PkBudg1000;1,compileInTests;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;75;2080;;;9;;;1;1.75;;;;3;2;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix3ICEban;2030;;SSP2-NPi2025;;;SSP5-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. From ee349c95440d5daeee822326cd089f90761fad45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Mon, 25 Nov 2024 19:16:16 +0100 Subject: [PATCH 788/875] Bug fix - set emiScen to 0 for SSP3-rollBack --- config/scenario_config.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/scenario_config.csv b/config/scenario_config.csv index 764b4a4db..bc1ee139b 100644 --- a/config/scenario_config.csv +++ b/config/scenario_config.csv @@ -25,7 +25,7 @@ SSP3-NDCsy2025;0;;;;;rcp45;3;;0;NDC;;;;;;9;;;1;;;;;;;5;;;;;NDC;regiCarbonPrice;2 SSP3-NPi;0;;;;;rcp45;0;;0;NPi;;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. SSP3-NPi2025;0;;;;;rcp45;0;;0;NPi2025;;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2ICEban;2005;;;;;SSP3-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. SSP3-PkBudg1000;0;;;;;rcp26;9;;1000;functionalForm;;75;2080;;GLO 2100;9;;;1;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix3ICEban;2030;;SSP2-NPi2025;;;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -SSP3-rollBack;0;;;;;rcp45;0;;0;none;;;;;;9;;;1;;;;;;;;;;;;none;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix1;2030;;SSP2-NPi2025;;; +SSP3-rollBack;0;;;;;rcp45;0;;0;none;;;;;;0;;;1;;;;;;;;;;;;none;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix1;2030;;SSP2-NPi2025;;; # H12 SSP1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP1-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. SSP1-NDC;1,AMT,compileInTests;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2ICEban;2030;;SSP2-NPi2025;SSP1-NPi;SSP1-NPi;SSP1-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. It assumes NPi2025 until 2025 and has start year 2030. 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. From a8403ecf1b487285c523b9ceef94f7f5613b73ae Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 26 Nov 2024 09:44:51 +0000 Subject: [PATCH 789/875] Release development version 3.3.2.dev1036 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index acfe31295..b2259aa13 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev1032" -date-released: 2024-11-25 +version: "3.3.2.dev1036" +date-released: 2024-11-26 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index eb2ddec97..a0cf55526 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev1032" +cfg$model_version <- "3.3.2.dev1036" #### settings #### cfg$gms <- list() From 7d7976b63e09d2295629aec7679388ef5d796f27 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 26 Nov 2024 10:04:01 +0000 Subject: [PATCH 790/875] Release development version 3.3.2.dev1042 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index b2259aa13..6113b191a 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev1036" +version: "3.3.2.dev1042" date-released: 2024-11-26 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index a0cf55526..a5f7a5ea2 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev1036" +cfg$model_version <- "3.3.2.dev1042" #### settings #### cfg$gms <- list() From 4ef2cbfe0a5a297c379bc8120fea405c3c8d5e85 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 26 Nov 2024 14:00:12 +0000 Subject: [PATCH 791/875] Release development version 3.3.2.dev1045 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 6113b191a..8bb19c632 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev1042" +version: "3.3.2.dev1045" date-released: 2024-11-26 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index a5f7a5ea2..a28cf29b0 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev1042" +cfg$model_version <- "3.3.2.dev1045" #### settings #### cfg$gms <- list() From ea6c438e070d621e2b4554cb4953c44bf98172b6 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 26 Nov 2024 15:56:24 +0000 Subject: [PATCH 792/875] Release development version 3.3.2.dev1052 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 8bb19c632..4cc0f87aa 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev1045" +version: "3.3.2.dev1052" date-released: 2024-11-26 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index a28cf29b0..d32523f1b 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev1045" +cfg$model_version <- "3.3.2.dev1052" #### settings #### cfg$gms <- list() From b236652a57ea7ce5d0510b168464fc05ee1152b3 Mon Sep 17 00:00:00 2001 From: Nico Bauer Date: Tue, 26 Nov 2024 19:24:07 +0100 Subject: [PATCH 793/875] roll-back of existing taxes (fe and pe). For this purpose I introduced a new realization of the switch c_fetaxscen. --- modules/21_tax/on/datainput.gms | 8 +++++++- modules/21_tax/on/preloop.gms | 22 +++++++++++++++------- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/modules/21_tax/on/datainput.gms b/modules/21_tax/on/datainput.gms index 781b768fc..6f9779859 100644 --- a/modules/21_tax/on/datainput.gms +++ b/modules/21_tax/on/datainput.gms @@ -33,7 +33,12 @@ $offdelim Parameter f21_tax_convergence(tall,all_regi,all_enty) "Tax convergence level for specific regions, year and final energy type" / $ondelim +if(cm_fetaxscen ne 5, $include "./modules/21_tax/on/input/f21_tax_convergence.cs4r" +); +if(cm_fetaxscen eq 5, +$include "./modules/21_tax/on/input/f21_tax_convergence_SSP3.cs4r" +); $offdelim / ; @@ -82,6 +87,7 @@ p21_tau_pe2se_sub(tall,regi,te)= 0; *RP* FILE changed by hand after introduction of SO2 taxes and inconvenience penalties on 2012-03-08 *** Values try to account for excessive water use, further pollution *** Taxes are given in USD(2005) and converted to USD(2017) per GJ +if(cm_fetaxscen ne 5, p21_tau_pe2se_tax(ttot,regi,"igcc")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.25; p21_tau_pe2se_tax(ttot,regi,"igccc")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.25; p21_tau_pe2se_tax(ttot,regi,"coalftrec")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 1.0; @@ -89,7 +95,7 @@ p21_tau_pe2se_tax(ttot,regi,"coalftcrec")$(ttot.val ge 2005) = sm_D2005_2_D2017 p21_tau_pe2se_tax(ttot,regi,"coalh2")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.5; p21_tau_pe2se_tax(ttot,regi,"coalh2c")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.5; p21_tau_pe2se_tax(ttot,regi,"coalgas")$(ttot.val ge 2005) = sm_D2005_2_D2017 * 0.5; - +); ***cb20110923 rescaling of PE2SE parameters from $/GJ to trillion $ / TWa p21_tau_pe2se_tax(ttot,regi,te)$(ttot.val ge 2005) = p21_tau_pe2se_tax(ttot,regi,te) * 0.001 / sm_EJ_2_TWa; p21_tau_pe2se_sub(ttot,regi,te)$(ttot.val ge 2005) = p21_tau_pe2se_sub(ttot,regi,te) * 0.001 / sm_EJ_2_TWa; diff --git a/modules/21_tax/on/preloop.gms b/modules/21_tax/on/preloop.gms index 05ce6f123..bd002f6e0 100644 --- a/modules/21_tax/on/preloop.gms +++ b/modules/21_tax/on/preloop.gms @@ -53,14 +53,22 @@ if(cm_fetaxscen ne 0, loop(ttot$(ttot.val ge 2005), p21_tau_fe_tax(ttot,regi,sector,entyFe) = p21_tau_fe_tax("2005",regi,sector,entyFe)); ); ***CASE 2: constant TAXES except for the final energies and regions defined at the f21_tax_convergence.cs4r file - if(cm_fetaxscen eq 2, + if(cm_fetaxscen eq 2 OR cm_fetaxscen eq 5, loop(ttot$(ttot.val ge 2005), p21_tau_fe_tax(ttot,regi,sector,entyFe) = p21_tau_fe_tax("2005",regi,sector,entyFe)); - s21_tax_time = 2050; - p21_tau_fe_tax(ttot,regi,sector,entyFe)$(f21_tax_convergence("2050",regi,entyFe) AND ttot.val > 2015 AND ttot.val<(s21_tax_time + 1)) - = - p21_tau_fe_tax("2005",regi,sector,entyFe)+((f21_tax_convergence("2050",regi,entyFe)*0.001/sm_EJ_2_TWa-p21_tau_fe_tax("2005",regi,sector,entyFe))*((ttot.val-2015)/(s21_tax_time-2015))); - p21_tau_fe_tax(ttot,regi,sector,entyFe)$(f21_tax_convergence("2050",regi,entyFe) AND ttot.val >(s21_tax_time)) = f21_tax_convergence("2050",regi,entyFe)*0.001/sm_EJ_2_TWa; + if(cm_fetaxscen eq 2, s21_tax_time = 2050; + p21_tau_fe_tax(ttot,regi,sector,entyFe)$(f21_tax_convergence("2050",regi,entyFe) AND ttot.val > 2015 AND ttot.val<(s21_tax_time + 1)) + = + p21_tau_fe_tax("2005",regi,sector,entyFe)+((f21_tax_convergence("2050",regi,entyFe)*0.001/sm_EJ_2_TWa-p21_tau_fe_tax("2005",regi,sector,entyFe))*((ttot.val-2015)/(s21_tax_time-2015))); + p21_tau_fe_tax(ttot,regi,sector,entyFe)$(f21_tax_convergence("2050",regi,entyFe) AND ttot.val >(s21_tax_time)) = f21_tax_convergence("2050",regi,entyFe)*0.001/sm_EJ_2_TWa; + ); + if(cm_fetaxscen eq 5, s21_tax_time = 2035; + p21_tau_fe_tax(ttot,regi,sector,entyFe)$(f21_tax_convergence("2035",regi,entyFe) AND ttot.val > 2015 AND ttot.val<(s21_tax_time + 1)) + = + p21_tau_fe_tax("2005",regi,sector,entyFe)+((f21_tax_convergence("2035",regi,entyFe)*0.001/sm_EJ_2_TWa-p21_tau_fe_tax("2005",regi,sector,entyFe))*((ttot.val-2015)/(s21_tax_time-2015))); + p21_tau_fe_tax(ttot,regi,sector,entyFe)$(f21_tax_convergence("2035",regi,entyFe) AND ttot.val >(s21_tax_time)) = f21_tax_convergence("2050",regi,entyFe)*0.001/sm_EJ_2_TWa; + ); + ); ***----- SUBSIDIES ---------------------------------- @@ -72,7 +80,7 @@ if(cm_fetaxscen ne 0, loop(ttot$(ttot.val ge 2005), p21_tau_fuEx_sub(ttot,regi,entyPe)=p21_tau_fuEx_sub("2005",regi,entyPe)); ); *** CASE 2 and 3 and 4: Global subsidies phase-out by 2030 (SSP1, SDP) and 2050 (SSP2) respectively - if(cm_fetaxscen eq 2 OR cm_fetaxscen eq 3 OR cm_fetaxscen eq 4, + if(cm_fetaxscen eq 2 OR cm_fetaxscen eq 3 OR cm_fetaxscen eq 4 OR cm_fetaxscen eq 5, p21_tau_fe_sub(ttot,regi,sector,entyFe)$(ttot.val eq 2010 OR ttot.val eq 2015)=p21_tau_fe_sub("2005",regi,sector,entyFe); p21_tau_pe2se_sub(ttot,regi,te)$(ttot.val eq 2010 OR ttot.val eq 2015)=p21_tau_pe2se_sub("2005",regi,te); p21_tau_fuEx_sub(ttot,regi,entyPe)$(ttot.val eq 2010 OR ttot.val eq 2015)=p21_tau_fuEx_sub("2005",regi,entyPe); From 18fd58e9fd3df082198b806cb85aa6048a5ff580 Mon Sep 17 00:00:00 2001 From: Nico Bauer Date: Wed, 27 Nov 2024 09:07:50 +0100 Subject: [PATCH 794/875] debugging --- modules/21_tax/on/datainput.gms | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/modules/21_tax/on/datainput.gms b/modules/21_tax/on/datainput.gms index 6f9779859..59d832edd 100644 --- a/modules/21_tax/on/datainput.gms +++ b/modules/21_tax/on/datainput.gms @@ -33,15 +33,21 @@ $offdelim Parameter f21_tax_convergence(tall,all_regi,all_enty) "Tax convergence level for specific regions, year and final energy type" / $ondelim -if(cm_fetaxscen ne 5, $include "./modules/21_tax/on/input/f21_tax_convergence.cs4r" -); -if(cm_fetaxscen eq 5, +$offdelim + / +; +Parameter f21_tax_convergence_SSP3(tall,all_regi,all_enty) "Tax convergence level for specific regions, year and final energy type" + / +$ondelim $include "./modules/21_tax/on/input/f21_tax_convergence_SSP3.cs4r" -); $offdelim / ; +if(cm_fetaxscen eq 5, +Parameter f21_tax_convergence(ttot,regi,enty) = Parameter f21_tax_convergence_SSP3(ttot,regi,enty); +); + Parameter f21_max_fe_sub(tall,all_regi,all_enty) "maximum final energy subsidy levels (in $/Gj) from REMIND version prior to rev. 5429" / $ondelim From 439b58b02ab65569fc1869af3a6f8210ce5c3981 Mon Sep 17 00:00:00 2001 From: Nico Bauer Date: Wed, 27 Nov 2024 09:14:11 +0100 Subject: [PATCH 795/875] debugging, part 2 --- modules/21_tax/on/datainput.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/21_tax/on/datainput.gms b/modules/21_tax/on/datainput.gms index 59d832edd..274a0e4da 100644 --- a/modules/21_tax/on/datainput.gms +++ b/modules/21_tax/on/datainput.gms @@ -45,7 +45,7 @@ $offdelim / ; if(cm_fetaxscen eq 5, -Parameter f21_tax_convergence(ttot,regi,enty) = Parameter f21_tax_convergence_SSP3(ttot,regi,enty); +f21_tax_convergence(ttot,regi,enty) = Parameter f21_tax_convergence_SSP3(ttot,regi,enty); ); Parameter f21_max_fe_sub(tall,all_regi,all_enty) "maximum final energy subsidy levels (in $/Gj) from REMIND version prior to rev. 5429" From d54458caee34befed09ba89b22f35a4323b8c2db Mon Sep 17 00:00:00 2001 From: Nico Bauer Date: Wed, 27 Nov 2024 09:24:05 +0100 Subject: [PATCH 796/875] debug, part 3 --- modules/21_tax/on/datainput.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/21_tax/on/datainput.gms b/modules/21_tax/on/datainput.gms index 274a0e4da..d9dd598c8 100644 --- a/modules/21_tax/on/datainput.gms +++ b/modules/21_tax/on/datainput.gms @@ -45,7 +45,7 @@ $offdelim / ; if(cm_fetaxscen eq 5, -f21_tax_convergence(ttot,regi,enty) = Parameter f21_tax_convergence_SSP3(ttot,regi,enty); +f21_tax_convergence(ttot,regi,enty) = f21_tax_convergence_SSP3(ttot,regi,enty); ); Parameter f21_max_fe_sub(tall,all_regi,all_enty) "maximum final energy subsidy levels (in $/Gj) from REMIND version prior to rev. 5429" From ecf58b00914fe40c2af67242f4dbfa24e4d8c461 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Wed, 27 Nov 2024 15:15:15 +0100 Subject: [PATCH 797/875] Adjust regexp for cm_LU_emi_scen to delete SDP for which emulators no longer exist. --- main.gms | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/main.gms b/main.gms index f535dc482..a5be06851 100755 --- a/main.gms +++ b/main.gms @@ -1229,9 +1229,9 @@ $setglobal c_tech_earlyreti_rate GLO.(biodiesel 0.14, bioeths 0.14), EUR_regi.( *** cm_LU_emi_scen "choose emission baseline for CO2, CH4, and N2O land use emissions from MAgPIE" *** (SSP1): emissions (from SSP1 scenario in MAgPIE) *** (SSP2): emissions (from SSP2 scenario in MAgPIE) +*** (SSP3): emissions (from SSP3 scenario in MAgPIE) *** (SSP5): emissions (from SSP5 scenario in MAgPIE) -*** (SDP): -$setglobal cm_LU_emi_scen SSP2 !! def = SSP2 !! regexp = SSP(1|2|3|5)|SDP|SSP2_lowEn +$setglobal cm_LU_emi_scen SSP2 !! def = SSP2 !! regexp = SSP(1|2|3|5)|SSP2_lowEn *** cm_regi_bioenergy_EFTax "region(s) in which bioenergy is charged with an emission-factor-based tax" *** This switch has only an effect if 21_tax is on and cm_bioenergy_EF_for_tax *** is not zero. It reads in the regions that are affected by the emission- From 9e40ba5ada1b802f9feb12f6a98bbd7ca789e34a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Fri, 29 Nov 2024 11:06:13 +0100 Subject: [PATCH 798/875] Fix non-SSP2-NPi2025 scenarios to SSP2-NPi2025 until 2025. Adapt path_gdx_refpolicycost --- config/scenario_config.csv | 62 +++++++++++++++++--------------------- 1 file changed, 27 insertions(+), 35 deletions(-) diff --git a/config/scenario_config.csv b/config/scenario_config.csv index bc1ee139b..1ec6196f4 100644 --- a/config/scenario_config.csv +++ b/config/scenario_config.csv @@ -1,52 +1,44 @@ title;start;CES_parameters;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_budgetCO2from2020;carbonprice;cm_taxCO2_functionalForm;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_regiDiff;cm_taxCO2_regiDiff_endYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_bioenergy_SustTax;cm_33EW;cm_33OAE;cm_frac_NetNegEmi;c_ccsinjecratescen;c_ccscapratescen;c_changeProdCost;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description # H12 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP2-NPi-calibrate;calibrate,AMT,compileInTests;calibrate;14;;;rcp45;;;0;NPi;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-NDC;1,AMT,2;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;9;;;;;;;;;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2030;;SSP2-NPi2025;SSP2-NPi;SSP2-NPi;SSP2-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi2025 until 2025 and has start year 2030. 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. -SSP2-NDCsy2025;1,AMT,2;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;9;;;;;;;;;;5;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2025;;SSP2-NPi;SSP2-NPi;SSP2-NPi;SSP2-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi until 2020 and has start year 2025.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. +SSP2-NDC;1,AMT,2;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;9;;;;;;;;;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2030;;SSP2-NPi2025;SSP2-NPi;SSP2-NPi2025;SSP2-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi2025 until 2025 and has start year 2030. 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. +SSP2-NDCsy2025;1,AMT,2;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;9;;;;;;;;;;5;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2025;;SSP2-NPi;SSP2-NPi;SSP2-NPi2025;SSP2-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi until 2020 and has start year 2025.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. SSP2-NPi;1,AMT,compileInTests,2;;;;;rcp45;0;;0;NPi;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. SSP2-NPi2025;1,AMT,2;;;;;rcp45;0;;0;NPi2025;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2005;;;;;SSP2-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-PkBudg500;1,AMT,2;;;;;rcp20;9;globallyOptimal;500;functionalForm;;200;2045;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;SSP2-NPi;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be well below 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-PkBudg650;1,AMT,2;;;;;rcp20;9;globallyOptimal;650;functionalForm;;100;2055;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;SSP2-NPi;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-PkBudg1000;1,AMT,2;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;75;2080;;;9;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-NPi2025;;SSP2-NPi;SSP2-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -SSP2-EcBudg400;1,AMT,2;;;;;rcp26;5;globallyOptimal;400;functionalForm;exponential;70;;initialSpread20;GLO 2070;9;;;;;1;1;0;;;1;;;;2060.GLO 0.9;NDC;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2035;;SSP2-NPi2025;;SSP2-NPi;SSP2-EcBudg400: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes an end-of-century budget of 400 Gt CO2 on total CO2 emissions from 2020 to 2100. This is a high overshoot scenario with delayed climate policy. +SSP2-PkBudg500;1,AMT,2;;;;;rcp20;9;globallyOptimal;500;functionalForm;;200;2045;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be well below 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-PkBudg650;1,AMT,2;;;;;rcp20;9;globallyOptimal;650;functionalForm;;100;2055;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-PkBudg1000;1,AMT,2;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;75;2080;;;9;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP2-EcBudg400;1,AMT,2;;;;;rcp26;5;globallyOptimal;400;functionalForm;exponential;70;;initialSpread20;GLO 2070;9;;;;;1;1;0;;;1;;;;2060.GLO 0.9;NDC;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2035;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-EcBudg400: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes an end-of-century budget of 400 Gt CO2 on total CO2 emissions from 2020 to 2100. This is a high overshoot scenario with delayed climate policy. # EU21 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP2-EU21-NPi-calibrate;calibrate;calibrate;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;0;NPi;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-EU21-NDC;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;globallyOptimal;0;NDC;;;;;;9;;;;;;;;;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2030;;SSP2-EU21-NPi2025;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi2025 until 2025 and has start year 2030. 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. -SSP2-EU21-NDCsy2025;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;globallyOptimal;0;NDC;;;;;;9;;;;;;;;;;5;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2025;;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi until 2020 and has start year 2025. 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. +SSP2-EU21-NDC;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;globallyOptimal;0;NDC;;;;;;9;;;;;;;;;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2030;;SSP2-EU21-NPi2025;SSP2-EU21-NPi;SSP2-EU21-NPi2025;SSP2-EU21-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi2025 until 2025 and has start year 2030. 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. +SSP2-EU21-NDCsy2025;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;globallyOptimal;0;NDC;;;;;;9;;;;;;;;;;5;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2025;;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-NPi2025;SSP2-EU21-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi until 2020 and has start year 2025. 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. SSP2-EU21-NPi;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;0;;0;NPi;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. SSP2-EU21-NPi2025;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;0;;0;NPi2025;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2005;;;;;SSP2-EU21-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-EU21-PkBudg500;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;500;functionalForm;;200;2045;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi;SSP2-EU21-PkBudg500: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-EU21-PkBudg650;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;;100;2055;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi;SSP2-EU21-PkBudg650: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-EU21-PkBudg1000;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;9;globallyOptimal;1000;functionalForm;;75;2080;;;9;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi;SSP2-EU21-PkBudg1050: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP2-EU21-PkBudg500;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;500;functionalForm;;200;2045;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi2025;SSP2-EU21-PkBudg500: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-EU21-PkBudg650;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;;100;2055;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi2025;SSP2-EU21-PkBudg650: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-EU21-PkBudg1000;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;9;globallyOptimal;1000;functionalForm;;75;2080;;;9;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi2025;SSP2-EU21-PkBudg1050: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. # H12 SSP3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP3-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. -SSP3-NDC;0;;;;;rcp45;3;;0;NDC;;;;;;9;;;1;;;;;;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2ICEban;2030;;SSP2-NPi2025;SSP3-NPi;SSP3-NPi;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. It assumes NPi2025 until 2025 and has start year 2030. 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. -SSP3-NDCsy2025;0;;;;;rcp45;3;;0;NDC;;;;;;9;;;1;;;;;;;5;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2ICEban;2025;;SSP2-NPi;SSP3-NPi;SSP3-NPi;SSP3-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. It assumes NPi until 2020 and has start year 2025. 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. -SSP3-NPi;0;;;;;rcp45;0;;0;NPi;;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP3-NPi2025;0;;;;;rcp45;0;;0;NPi2025;;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2ICEban;2005;;;;;SSP3-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP3-PkBudg1000;0;;;;;rcp26;9;;1000;functionalForm;;75;2080;;GLO 2100;9;;;1;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix3ICEban;2030;;SSP2-NPi2025;;;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -SSP3-rollBack;0;;;;;rcp45;0;;0;none;;;;;;0;;;1;;;;;;;;;;;;none;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix1;2030;;SSP2-NPi2025;;; +SSP3-NDC;0;;;;;rcp45;3;;0;NDC;;;;;;9;;;1;;;;;;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2ICEban;2030;;SSP2-NPi2025;SSP2-NPi;SSP3-NPi2025;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. It assumes NPi2025 until 2025 and has start year 2030. 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. +SSP3-NPi2025;0;;;;;rcp45;0;;0;NPi2025;;;;;;9;;;1;;;;;;;1;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2ICEban;2030;;SSP2-NPi2025;;;SSP3-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP3-PkBudg1000;0;;;;;rcp26;9;;1000;functionalForm;;75;2080;;GLO 2100;9;;;1;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix3ICEban;2030;;SSP2-NPi2025;;SSP3-NPi2025;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP3-rollBack;0;;;;;rcp45;0;;0;none;;;;;;0;;;1;;;;;;;1;;;;;none;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2030;;SSP2-NPi2025;;SSP3-NPi2025;SSP3-rollBack: This rollback of climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. # H12 SSP1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP1-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. -SSP1-NDC;1,AMT,compileInTests;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2ICEban;2030;;SSP2-NPi2025;SSP1-NPi;SSP1-NPi;SSP1-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. It assumes NPi2025 until 2025 and has start year 2030. 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. -SSP1-NDCsy2025;1,AMT;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;5;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2ICEban;2025;;SSP2-NPi;SSP1-NPi;SSP1-NPi;SSP1-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. It assumes NPi until 2020 and has start year 2025. 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. -SSP1-NPi;1,AMT;;;;;rcp45;0;;0;NPi;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP1-NPi2025;1,AMT;;;;;rcp45;0;;0;NPi2025;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2ICEban;2005;;;;;SSP1-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP1-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;functionalForm;;100;2055;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;1;feelhpb 1.05, fehob 1.75, feheb 0.1;manual;feh2_otherInd 1.04, feelhth_otherInd 0.4, feh2_cement 2.0, feelhth_chemicals 1.3, feh2_chemicals 1.04;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SSP2-NPi2025;;;SSP1-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP1-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;75;2080;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix3ICEban;2030;;SSP2-NPi2025;;;SSP1-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP1-NDC;1,AMT,compileInTests;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2ICEban;2030;;SSP2-NPi2025;SSP2-NPi;SSP1-NPi2025;SSP1-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. It assumes NPi2025 until 2025 and has start year 2030. 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. +SSP1-NPi2025;1,AMT;;;;;rcp45;0;;0;NPi2025;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;1;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2ICEban;2030;;SSP2-NPi2025;;;SSP1-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP1-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;functionalForm;;100;2055;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;1;feelhpb 1.05, fehob 1.75, feheb 0.1;manual;feh2_otherInd 1.04, feelhth_otherInd 0.4, feh2_cement 2.0, feelhth_chemicals 1.3, feh2_chemicals 1.04;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SSP2-NPi2025;;SSP1-NPi2025;SSP1-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP1-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;75;2080;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix3ICEban;2030;;SSP2-NPi2025;;SSP1-NPi2025;SSP1-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. # H12 SSP2 lowEnergy;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP2_lowEn-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix1;2005;;;;;SSP2_lowEn-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. -SSP2_lowEn-NDC;1,AMT;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;9;;;;;;;;;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix2ICEban;2030;;SSP2-NPi2025;SSP2_lowEn-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi2025 until 2025 and has start year 2030. This scenario also assumes low energy demand trajectories. 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. -SSP2_lowEn-NDCsy2025;1,AMT;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;9;;;;;;;;;;5;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix2ICEban;2025;;SSP2-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NPi;SSP2_lowEn-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi until 2020 and has start year 2025. This scenario also assumes low energy demand trajectories. 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. -SSP2_lowEn-NPi;1,AMT;;;;;rcp45;0;;0;NPi;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix1;2005;;;;;SSP2_lowEn-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2_lowEn-NPi2025;1,AMT;;;;;rcp45;0;;0;NPi2025;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix2ICEban;2005;;;;;SSP2_lowEn-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2_lowEn-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;functionalForm;;100;2055;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;;SSP2_lowEn-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2_lowEn-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;75;2080;;;9;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;Mix3ICEban;2030;;SSP2-NPi2025;;;SSP2_lowEn-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP2_lowEn-NDC;1,AMT;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;9;;;;;;;;;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix2ICEban;2030;;SSP2-NPi2025;SSP2-NPi;SSP2_lowEn-NPi2025;SSP2_lowEn-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi2025 until 2025 and has start year 2030. This scenario also assumes low energy demand trajectories. 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. +SSP2_lowEn-NPi2025;1,AMT;;;;;rcp45;0;;0;NPi2025;;;;;;9;;;;;;;;;;1;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix2ICEban;2030;;SSP2-NPi2025;;;SSP2_lowEn-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2_lowEn-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;functionalForm;;100;2055;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;SSP2_lowEn-NPi2025;SSP2_lowEn-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2_lowEn-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;75;2080;;;9;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;Mix3ICEban;2030;;SSP2-NPi2025;;SSP2_lowEn-NPi2025;SSP2_lowEn-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. # H12 SSP5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP5-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;;9;;;1;1.75;;;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. -SSP5-NDC;1;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;9;;;1;1.75;;;;3;2;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2ICEban;2030;;SSP2-NPi2025;SSP5-NPi;SSP5-NPi;SSP5-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. It assumes NPi2025 until 2025 and has start year 2030. 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. -SSP5-NDCsy2025;1;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;9;;;1;1.75;;;;3;2;5;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2ICEban;2025;;SSP2-NPi;SSP5-NPi;SSP5-NPi;SSP5-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. It assumes NPi until 2020 and has start year 2025. 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. -SSP5-NPi;1;;;;;rcp45;0;;0;NPi;;;;;;9;;;1;1.75;;;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP5-NPi2025;1;;;;;rcp45;0;;0;NPi2025;;;;;;9;;;1;1.75;;;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2ICEban;2005;;;;;SSP5-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP5-PkBudg650;1;;;;;rcp20;9;globallyOptimal;650;functionalForm;;100;2055;;;9;;;1;1.75;;;;3;2;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix4ICEban;2030;;SSP2-NPi2025;;;SSP5-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP5-PkBudg1000;1,compileInTests;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;75;2080;;;9;;;1;1.75;;;;3;2;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix3ICEban;2030;;SSP2-NPi2025;;;SSP5-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP5-NDC;1;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;9;;;1;1.75;;;;3;2;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2ICEban;2030;;SSP2-NPi2025;SSP2-NPi;SSP5-NPi2025;SSP5-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. It assumes NPi2025 until 2025 and has start year 2030. 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. +SSP5-NPi2025;1;;;;;rcp45;0;;0;NPi2025;;;;;;9;;;1;1.75;;;;3;2;1;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2ICEban;2030;;SSP2-NPi2025;;;SSP5-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP5-PkBudg650;1;;;;;rcp20;9;globallyOptimal;650;functionalForm;;100;2055;;;9;;;1;1.75;;;;3;2;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix4ICEban;2030;;SSP2-NPi2025;;SSP5-NPi2025;SSP5-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP5-PkBudg1000;1,compileInTests;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;75;2080;;;9;;;1;1.75;;;;3;2;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix3ICEban;2030;;SSP2-NPi2025;;SSP5-NPi2025;SSP5-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. From b789d696cd0f1c639696ec9506674dc254f9f7bd Mon Sep 17 00:00:00 2001 From: amerfort Date: Fri, 29 Nov 2024 12:19:26 +0100 Subject: [PATCH 799/875] remove SeFe Share calculation for CDR sector --- core/equations.gms | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/core/equations.gms b/core/equations.gms index 45ffb6edd..85670e4b1 100644 --- a/core/equations.gms +++ b/core/equations.gms @@ -1079,7 +1079,7 @@ q_shSeFe(t,regi,entySe)$(entySeBio(entySe) OR entySeSyn(entySe) OR entySeFos(ent vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt))) ; -q_shSeFeSector(t,regi,entySe,entyFe,sector,emiMkt)$((entySeBio(entySe) OR entySeSyn(entySe) OR entySeFos(entySe)) AND (sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt))).. +q_shSeFeSector(t,regi,entySe,entyFe,sector,emiMkt)$((entySeBio(entySe) OR entySeSyn(entySe) OR entySeFos(entySe)) AND (sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt)) AND NOT(SAMEAS(sector,"CDR"))).. v_shSeFeSector(t,regi,entySe,entyFe,sector,emiMkt) * sum(entySe2$sefe(entySe2,entyFe), vm_demFeSector_afterTax(t,regi,entySe2,entyFe,sector,emiMkt)) @@ -1156,7 +1156,8 @@ q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$( (t.val ge 2025) AND !!disable share incentives for historical years in buildings, industry and CDR as this should be handled by historical bounds ( sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt) ) AND !!only create the equation for valid cobinations of entySe, entyFe, sector and emiMkt ( (entySeBio(entySe) OR entySeSyn(entySe)) ) AND !!share incentives only need to be applied to n-1 secondary energy carriers - ( NOT(sameas(sector,"build") AND (sameas(entyFE,"fesos"))) ) !!disable buildings solids share incentives + ( NOT(sameas(sector,"build") AND (sameas(entyFE,"fesos"))) ) AND !!disable buildings solids share incentives + ( NOT(sameas(sector,"CDR"))) !! disable share incentives for CDR sector as it leads to solver problems ).. v_penSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) =e= @@ -1168,7 +1169,8 @@ q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$( (t.val ge 2025) AND !!disable share incentives for historical years in buildings, industry and CDR as this should be handled by historical bounds ( sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt) ) AND !!only create the equation for valid cobinations of entySe, entyFe, sector and emiMkt ( (entySeBio(entySe) OR entySeSyn(entySe)) ) AND !!share incentives only need to be applied to n-1 secondary energy carriers - ( NOT(sameas(sector,"build") AND (sameas(entyFE,"fesos"))) ) !!disable buildings solids share incentives + ( NOT(sameas(sector,"build") AND (sameas(entyFE,"fesos"))) ) AND !!disable buildings solids share incentives + ( NOT(sameas(sector,"CDR"))) !! disable share incentives for CDR sector as it leads to solver problems ).. v_penSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) =e= @@ -1180,7 +1182,8 @@ q_penSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$( (t.val ge 2025) AND !!disable share incentives for historical years in buildings, industry and CDR as this should be handled by historical bounds ( sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt) ) AND !!only create the equation for valid cobinations of entySe, entyFe, sector and emiMkt ( (entySeBio(entySe) OR entySeSyn(entySe)) ) AND !!share incentives only need to be applied to n-1 secondary energy carriers - ( NOT(sameas(sector,"build") AND (sameas(entyFE,"fesos"))) ) !!disable buildings solids share incentives + ( NOT(sameas(sector,"build") AND (sameas(entyFE,"fesos"))) ) AND !!disable buildings solids share incentives + ( NOT(sameas(sector,"CDR"))) !! disable share incentives for CDR sector as it leads to solver problems ).. v_penSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) =e= @@ -1192,7 +1195,8 @@ q_minMaxPenSeFeSectorShareDev(t,regi,entySe,entyFe,sector,emiMkt)$( (t.val ge 2025) AND !!disable share incentives for historical years in buildings, industry and CDR as this should be handled by historical bounds ( sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt) ) AND !!only create the equation for valid cobinations of entySe, entyFe, sector and emiMkt ( (entySeBio(entySe) OR entySeSyn(entySe)) ) AND !!share incentives only need to be applied to n-1 secondary energy carriers - ( NOT(sameas(sector,"build") AND (sameas(entyFE,"fesos"))) ) !!disable buildings solids share incentives + ( NOT(sameas(sector,"build") AND (sameas(entyFE,"fesos"))) ) AND !!disable buildings solids share incentives + ( NOT(sameas(sector,"CDR"))) !! disable share incentives for CDR sector as it leads to solver problems ).. ( v_shSeFe(t,regi,entySe) @@ -1217,7 +1221,7 @@ $ifthen.penSeFeSectorShareDevCost not "%cm_seFeSectorShareDevMethod%" == "off" q_penSeFeSectorShareDevCost(t,regi).. vm_penSeFeSectorShareDevCost(t,regi) =e= - sum((entySe,entyFe,sector,emiMkt)$( sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt) ), + sum((entySe,entyFe,sector,emiMkt)$( sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt) AND (NOT(sameas(sector,"CDR")))), v_penSeFeSectorShare(t,regi,entySe,entyFe,sector,emiMkt) ) * c_seFeSectorShareDevScale ; From 3830ad0be575658d14b011983e33d0fe134c9be7 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Fri, 29 Nov 2024 16:26:57 +0000 Subject: [PATCH 800/875] Release development version 3.3.2.dev1055 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 4cc0f87aa..846115ff7 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev1052" -date-released: 2024-11-26 +version: "3.3.2.dev1055" +date-released: 2024-11-29 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index d32523f1b..cf4157a98 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev1052" +cfg$model_version <- "3.3.2.dev1055" #### settings #### cfg$gms <- list() From 1cb90533302fd954aaade75b0f2de00d9df9fbf6 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Mon, 2 Dec 2024 09:34:38 +0100 Subject: [PATCH 801/875] new input data rev7.16 and new CES parameter and gdx files for rev7.16 for SSP2, SSP2-EU21, SSP3, SSP1, SSP2_lowEn and SSP5, clibration runs: /p/tmp/lavinia/REMIND/REMIND_calibration_2024_11_30/remind --- config/default.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/default.cfg b/config/default.cfg index cf4157a98..ec784187f 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -28,10 +28,10 @@ cfg$regionmapping <- "config/regionmappingH12.csv" cfg$extramappings_historic <- "" #### Current input data revision (.) #### -cfg$inputRevision <- "7.14" +cfg$inputRevision <- "7.16" #### Current CES parameter and GDX revision (commit hash) #### -cfg$CESandGDXversion <- "dada5401be0ff890f001342b55e4491292ed5e85" +cfg$CESandGDXversion <- "5452a611b8add9f439df0a98a27277a306ece286" #### Force the model to download new input data #### cfg$force_download <- FALSE From d06a23cbdcd2ffba034ab13de3ccd4bbf46efc93 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Mon, 2 Dec 2024 08:45:40 +0000 Subject: [PATCH 802/875] Release development version 3.3.2.dev1058 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 846115ff7..df56f4f9b 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev1055" -date-released: 2024-11-29 +version: "3.3.2.dev1058" +date-released: 2024-12-02 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index ec784187f..9d0dd7bc5 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev1055" +cfg$model_version <- "3.3.2.dev1058" #### settings #### cfg$gms <- list() From a0228609e0c8e6603af6c257c06c65e21ab50c02 Mon Sep 17 00:00:00 2001 From: amerfort Date: Mon, 2 Dec 2024 11:46:51 +0100 Subject: [PATCH 803/875] Bugfix for EW upscaling constraint such that it now shows up again --- modules/33_CDR/portfolio/equations.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/33_CDR/portfolio/equations.gms b/modules/33_CDR/portfolio/equations.gms index 9ba53b310..f75f770f8 100644 --- a/modules/33_CDR/portfolio/equations.gms +++ b/modules/33_CDR/portfolio/equations.gms @@ -208,7 +208,7 @@ q33_EW_ShortTermBound(t, regi)$(t.val eq 2030).. q33_EW_upscaling_rate(ttot,regi)$(ord(ttot) lt card(ttot) AND pm_ttot_val(ttot) gt 2030).. sum((rlf_cz33, rlf), v33_EW_onfield(ttot,regi,rlf_cz33,rlf)) =l= - (1+p33_EW_upScalingLimit(ttot))**pm_dt(ttot) * sum((rlf_cz33, rlf), v33_EW_onfield(ttot-1,regi,rlf_cz33,rlf)) + (1+p33_EW_upScalingLimit(ttot))**pm_dt(ttot) * sum((rlf_cz33, rlf), v33_EW_onfield(ttot-1,regi,rlf_cz33,rlf)) + p33_EW_shortTermEW_Limit(regi) ; ***--------------------------------------------------------------------------- From 7bc49584337601147933b27b174d6f8141523b97 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Mon, 2 Dec 2024 15:46:12 +0100 Subject: [PATCH 804/875] reduce adjustment cost coefficient for electrolysis to standard value; increase seed to standard value --- core/datainput.gms | 2 -- 1 file changed, 2 deletions(-) diff --git a/core/datainput.gms b/core/datainput.gms index e4247d71c..d73171a8a 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -1210,7 +1210,6 @@ $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" p_adj_seed_te(ttot,regi,"bfcc") = 0.05; p_adj_seed_te(ttot,regi,"idrcc") = 0.05; $endif.cm_subsec_model_steel - p_adj_seed_te(ttot,regi,"elh2") = 0.5; p_adj_seed_te(ttot,regi,"MeOH") = 0.5; p_adj_seed_te(ttot,regi,"h22ch4") = 0.5; @@ -1251,7 +1250,6 @@ $endif.cm_subsec_model_steel p_adj_coeff(ttot,regi,teGrid) = 0.3; p_adj_coeff(ttot,regi,teStor) = 0.05; - p_adj_coeff(ttot,regi,"elh2") = 0.5; p_adj_coeff(ttot,regi,"MeOH") = 0.5; p_adj_coeff(ttot,regi,"h22ch4") = 0.5; From c87030ea515fcb80e0e0946a56e824d9d39f2a97 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Mon, 2 Dec 2024 15:48:32 +0100 Subject: [PATCH 805/875] deactivate coal-to-h2 technology, deactivate gas-to-h2 after 2030 as hydrogen demand should only be clean hydrogen demand, yet in 2025 and 2030 a fossil technology is needed as a placeholder for the current high H2 demand --- core/bounds.gms | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/core/bounds.gms b/core/bounds.gms index 851e82bb4..5a49b7076 100755 --- a/core/bounds.gms +++ b/core/bounds.gms @@ -85,10 +85,16 @@ vm_prodSe.fx(t,regi,"pecoal","seel","pco") = 0; vm_demPe.fx(t,regi,"pewin","seel","wind") = 0; vm_prodSe.fx(t,regi,"pewin","seel","wind") = 0; -*' Switch off grey hydrogen investments in gash2 technology from 2025. Our current seh2 hydrogen represents only additional (clean) hydrogen use cases to current ones -*' and there are no plans to expand grey hydrogen production for that. +*' Switch off coal-h2 hydrogen investments. Our current seh2 hydrogen represents only additional (clean) hydrogen use cases to current ones. +*' However, as we have too high H2 demand in 2025 and 2030 from the input data, we need to allow grey hydrogen for these time periods to meet the hydrogen demand +*' which cannot be fully met by incoming low-carbon H2 techologies. This should be removed once FE H2 industry input data is adapted. *' It is allowed before 2020 to not make the model infeasible for low demands of hydrogen in that year. -vm_deltaCap.up(t,regi,"gash2",rlf)$((t.val ge 2025)) = 1e-8; +vm_deltaCap.fx(t,regi,"coalh2",rlf) = 0; +vm_deltaCap.fx(t,regi,"gash2",rlf)$((t.val gt 2030)) = 0; +*' upper bound of 0.5 EJ/yr on grey hydrogen to prevent building too much grey H2 before 2020, distributed to regions via GDP share +vm_cap.up("2020",regi,"gash2","1") = 0.5 / 3.66 * 1e3 / 8760 * pm_gdp("2020",regi) / sum(regi2,pm_gdp("2020",regi2)); + + *' @stop *** ----------------------------------------------------------------------------------------------------------------- From e39e03d84b85b2d0f110512c74ddde5509aea993 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Mon, 2 Dec 2024 15:49:24 +0100 Subject: [PATCH 806/875] increase global electrolysis upper bound in 2025 to 20 GWel, upper bound on bioh2 technologies of 0.1 EJ/yr prod. at maximum globally in 2030 --- core/bounds.gms | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/core/bounds.gms b/core/bounds.gms index 5a49b7076..904bc9840 100755 --- a/core/bounds.gms +++ b/core/bounds.gms @@ -304,10 +304,17 @@ loop(te$(sameas(te,"ngcc") OR sameas(te,"ngt") OR sameas(te,"gaschp")), *' 2 GW(el) at least globally in 2025, about operational capacity as of 2023 vm_cap.lo("2025",regi,"elh2","1")= 2 * pm_eta_conv("2025",regi,"elh2")*pm_gdp("2025",regi) / sum(regi2,pm_gdp("2025",regi2)) * 1e-3; -*' 10 GW(el) at maximum globally in 2025 -vm_cap.up("2025",regi,"elh2","1")= 10 * pm_eta_conv("2025",regi,"elh2")*pm_gdp("2025",regi) +*' 20 GW(el) at maximum globally in 2025 (be more generous to not overconstrain regions which scale-up fastest) +vm_cap.up("2025",regi,"elh2","1")= 20 * pm_eta_conv("2025",regi,"elh2")*pm_gdp("2025",regi) / sum(regi2,pm_gdp("2025",regi2)) * 1e-3; +*** bounds on biomass technologies +*' set upper bounds on biomass gasification for h2 production, which is not deployed as of 2025 +*' set maximum of 0.1 EJ/yr production by 2030 for each technology +vm_cap.up("2030",regi,"bioh2","1")= 0.1 / 3.66 * 1e3 / 8760 * pm_gdp("2030",regi) / sum(regi2,pm_gdp("2030",regi2)); +vm_cap.up("2030",regi,"bioh2c","1")= 0.1 / 3.66 * 1e3 / 8760 * pm_gdp("2030",regi) / sum(regi2,pm_gdp("2030",regi2)); + + *** fix capacities for advanced bio carbon capture technologies to zero in 2020 (i.e. no BECCS in 2020) vm_cap.fx("2020",regi,te,rlf)$(teBio(te) AND teCCS(te)) = 0; From c3e4fd58599da782d30762301bf47e4499184d52 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Mon, 2 Dec 2024 16:48:19 +0100 Subject: [PATCH 807/875] modify coalh2 bounds in first years to avoid infes --- core/bounds.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/bounds.gms b/core/bounds.gms index 904bc9840..79bc3afdf 100755 --- a/core/bounds.gms +++ b/core/bounds.gms @@ -89,7 +89,7 @@ vm_prodSe.fx(t,regi,"pewin","seel","wind") = 0; *' However, as we have too high H2 demand in 2025 and 2030 from the input data, we need to allow grey hydrogen for these time periods to meet the hydrogen demand *' which cannot be fully met by incoming low-carbon H2 techologies. This should be removed once FE H2 industry input data is adapted. *' It is allowed before 2020 to not make the model infeasible for low demands of hydrogen in that year. -vm_deltaCap.fx(t,regi,"coalh2",rlf) = 0; +vm_deltaCap.fx(t,regi,"coalh2",rlf)$(t.val ge 2020) = 0; vm_deltaCap.fx(t,regi,"gash2",rlf)$((t.val gt 2030)) = 0; *' upper bound of 0.5 EJ/yr on grey hydrogen to prevent building too much grey H2 before 2020, distributed to regions via GDP share vm_cap.up("2020",regi,"gash2","1") = 0.5 / 3.66 * 1e3 / 8760 * pm_gdp("2020",regi) / sum(regi2,pm_gdp("2020",regi2)); From 1044fe8d0361d8e2977b3cce4b3fd38a9a90faa8 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Mon, 2 Dec 2024 16:23:42 +0000 Subject: [PATCH 808/875] Release development version 3.3.2.dev1067 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index df56f4f9b..ea9abe1eb 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev1058" +version: "3.3.2.dev1067" date-released: 2024-12-02 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 9d0dd7bc5..279e0448f 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev1058" +cfg$model_version <- "3.3.2.dev1067" #### settings #### cfg$gms <- list() From cb0a53af25bf0716e242b34374bd78c0a87097a3 Mon Sep 17 00:00:00 2001 From: amerfort Date: Mon, 2 Dec 2024 18:07:43 +0100 Subject: [PATCH 809/875] exclude CDR sector also from shsefeSector related calculation --- core/equations.gms | 4 ++-- core/preloop.gms | 10 ++++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/core/equations.gms b/core/equations.gms index 85670e4b1..99c244ec6 100644 --- a/core/equations.gms +++ b/core/equations.gms @@ -1068,13 +1068,13 @@ q_shfe(t,regi,entyFe,sector)$(pm_shfe_up(t,regi,entyFe,sector) OR pm_shfe_lo(t,r q_shSeFe(t,regi,entySe)$(entySeBio(entySe) OR entySeSyn(entySe) OR entySeFos(entySe)).. !! share of energy carrier subtype in final energy demand of the aggregated carrier type (eg 'the share of bio-based FE liquids in all FE liquids') v_shSeFe(t,regi,entySe) - * sum((sector,emiMkt)$sector2emiMkt(sector,emiMkt), + * sum((sector,emiMkt)$(sector2emiMkt(sector,emiMkt) AND (NOT(sameas(sector,"CDR")))), sum(seAgg$seAgg2se(seAgg,entySe), !! determining the aggregate SE carrier type (liquids, gases, ...) sum(entySe2$seAgg2se(seAgg,entySe2), !! summing over the bio/fos/syn variants of the chosen SE carrier" sum(entyFe$(sefe(entySe2,entyFe) AND entyFe2Sector(entyFe,sector)), vm_demFeSector_afterTax(t,regi,entySe2,entyFe,sector,emiMkt))))) =e= - sum((sector,emiMkt)$sector2emiMkt(sector,emiMkt), + sum((sector,emiMkt)$(sector2emiMkt(sector,emiMkt) AND (NOT(sameas(sector,"CDR")))), sum(entyFe$(sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector)), vm_demFeSector_afterTax(t,regi,entySe,entyFe,sector,emiMkt))) ; diff --git a/core/preloop.gms b/core/preloop.gms index 6491c2992..b2b7b3367 100644 --- a/core/preloop.gms +++ b/core/preloop.gms @@ -178,9 +178,9 @@ Execute_Loadpoint 'input_ref' vm_capEarlyReti.l = vm_capEarlyReti.l; *** initialize the carrier subtype shares in final energy demand such that the starting point for the model is "all sectors have the same bio/fos/syn shares for a given carrier type" when cm_seFeSectorShareDevMethod is enabled p_shSeFe(t,regi,entySe)$((entySeBio(entySe) OR entySeSyn(entySe) OR entySeFos(entySe)) AND sum(seAgg$seAgg2se(seAgg,entySe), sum((sector,emiMkt)$sector2emiMkt(sector,emiMkt), sum(entySe2$seAgg2se(seAgg,entySe2), sum(entyFe$(sefe(entySe2,entyFe) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt))))) ) = - sum((sector,emiMkt)$sector2emiMkt(sector,emiMkt), sum(entyFe$(sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe,entyFe,sector,emiMkt))) + sum((sector,emiMkt)$(sector2emiMkt(sector,emiMkt) AND (NOT(sameas(sector,"CDR")))), sum(entyFe$(sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe,entyFe,sector,emiMkt))) / - sum(seAgg$seAgg2se(seAgg,entySe), sum((sector,emiMkt)$sector2emiMkt(sector,emiMkt), sum(entySe2$seAgg2se(seAgg,entySe2), sum(entyFe$(sefe(entySe2,entyFe) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt))))); + sum(seAgg$seAgg2se(seAgg,entySe), sum((sector,emiMkt)$(sector2emiMkt(sector,emiMkt) AND (NOT(sameas(sector,"CDR")))), sum(entySe2$seAgg2se(seAgg,entySe2), sum(entyFe$(sefe(entySe2,entyFe) AND entyFe2Sector(entyFe,sector)), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt))))); v_shSeFe.l(t,regi,entySe)$p_shSeFe(t,regi,entySe) = p_shSeFe(t,regi,entySe); $ifthen.penSeFeSectorShareDevCost not "%cm_seFeSectorShareDevMethod%" == "off" @@ -190,7 +190,8 @@ vm_demFeSector.l(t,regi,entySe,entyFe,sector,emiMkt)$( ( entySeBio(entySe) OR entySeSyn(entySe) OR entySeFos(entySe) ) AND !! only redefine vm_demFeSector for entySeBio, entySeSyn and entySeFos items ( sefe(entySe,entyFe) AND entyFe2Sector(entyFe,sector) AND sector2emiMkt(sector,emiMkt) ) AND !!only create the equation for valid cobinations of entySe, entyFe, sector and emiMkt ( (entySeBio(entySe) OR entySeSyn(entySe)) ) AND !!share incentives only need to be applied to n-1 secondary energy carriers - ( NOT(sameas(sector,"build") AND (sameas(entyFE,"fesos"))) ) !!disable buildings solids share incentives + ( NOT(sameas(sector,"build") AND (sameas(entyFE,"fesos"))) ) AND !!disable buildings solids share incentives + ( NOT(sameas(sector,"CDR"))) !! disable share incentives for CDR sector as it leads to solver problems ) = sum(entySe2$sefe(entySe2,entyFe), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt)) * p_shSeFe(t,regi,entySe); @@ -202,6 +203,7 @@ p_shSeFeSector(t,regi,entySe,entyFe,sector,emiMkt)$((entySeBio(entySe) OR entySe / sum(entySe2$sefe(entySe2,entyFe), vm_demFeSector.l(t,regi,entySe2,entyFe,sector,emiMkt)) ; -v_shSeFeSector.l(t,regi,entySe,entyFe,sector,emiMkt)$p_shSeFeSector(t,regi,entySe,entyFe,sector,emiMkt) = p_shSeFeSector(t,regi,entySe,entyFe,sector,emiMkt); +v_shSeFeSector.l(t,regi,entySe,entyFe,sector,emiMkt)$(p_shSeFeSector(t,regi,entySe,entyFe,sector,emiMkt) AND NOT(sameas(sector,"CDR"))) = p_shSeFeSector(t,regi,entySe,entyFe,sector,emiMkt); +v_shSeFeSector.l(t,regi,entySe,entyFe,sector,emiMkt)$(p_shSeFeSector(t,regi,entySe,entyFe,sector,emiMkt) AND (sameas(sector,"CDR"))) = 0; *** EOF ./core/preloop.gms From 594e606b5ac23290c2a9298c1db78fb471c8b144 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Mon, 2 Dec 2024 18:09:16 +0100 Subject: [PATCH 810/875] Add switch for pure rate of time preference for SSP3 --- config/scenario_config.csv | 88 +++++++++++++++++++------------------- 1 file changed, 44 insertions(+), 44 deletions(-) diff --git a/config/scenario_config.csv b/config/scenario_config.csv index 1ec6196f4..0239f0e98 100644 --- a/config/scenario_config.csv +++ b/config/scenario_config.csv @@ -1,44 +1,44 @@ -title;start;CES_parameters;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_budgetCO2from2020;carbonprice;cm_taxCO2_functionalForm;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_regiDiff;cm_taxCO2_regiDiff_endYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_bioenergy_SustTax;cm_33EW;cm_33OAE;cm_frac_NetNegEmi;c_ccsinjecratescen;c_ccscapratescen;c_changeProdCost;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description -# H12 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-NPi-calibrate;calibrate,AMT,compileInTests;calibrate;14;;;rcp45;;;0;NPi;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-NDC;1,AMT,2;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;9;;;;;;;;;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2030;;SSP2-NPi2025;SSP2-NPi;SSP2-NPi2025;SSP2-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi2025 until 2025 and has start year 2030. 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. -SSP2-NDCsy2025;1,AMT,2;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;9;;;;;;;;;;5;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2025;;SSP2-NPi;SSP2-NPi;SSP2-NPi2025;SSP2-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi until 2020 and has start year 2025.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. -SSP2-NPi;1,AMT,compileInTests,2;;;;;rcp45;0;;0;NPi;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-NPi2025;1,AMT,2;;;;;rcp45;0;;0;NPi2025;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2005;;;;;SSP2-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-PkBudg500;1,AMT,2;;;;;rcp20;9;globallyOptimal;500;functionalForm;;200;2045;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be well below 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-PkBudg650;1,AMT,2;;;;;rcp20;9;globallyOptimal;650;functionalForm;;100;2055;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-PkBudg1000;1,AMT,2;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;75;2080;;;9;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -SSP2-EcBudg400;1,AMT,2;;;;;rcp26;5;globallyOptimal;400;functionalForm;exponential;70;;initialSpread20;GLO 2070;9;;;;;1;1;0;;;1;;;;2060.GLO 0.9;NDC;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2035;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-EcBudg400: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes an end-of-century budget of 400 Gt CO2 on total CO2 emissions from 2020 to 2100. This is a high overshoot scenario with delayed climate policy. -# EU21 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-EU21-NPi-calibrate;calibrate;calibrate;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;0;NPi;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-EU21-NDC;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;globallyOptimal;0;NDC;;;;;;9;;;;;;;;;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2030;;SSP2-EU21-NPi2025;SSP2-EU21-NPi;SSP2-EU21-NPi2025;SSP2-EU21-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi2025 until 2025 and has start year 2030. 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. -SSP2-EU21-NDCsy2025;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;globallyOptimal;0;NDC;;;;;;9;;;;;;;;;;5;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2025;;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-NPi2025;SSP2-EU21-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi until 2020 and has start year 2025. 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. -SSP2-EU21-NPi;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;0;;0;NPi;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-EU21-NPi2025;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;0;;0;NPi2025;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2005;;;;;SSP2-EU21-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-EU21-PkBudg500;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;500;functionalForm;;200;2045;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi2025;SSP2-EU21-PkBudg500: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-EU21-PkBudg650;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;;100;2055;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi2025;SSP2-EU21-PkBudg650: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-EU21-PkBudg1000;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;9;globallyOptimal;1000;functionalForm;;75;2080;;;9;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi2025;SSP2-EU21-PkBudg1050: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -# H12 SSP3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP3-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. -SSP3-NDC;0;;;;;rcp45;3;;0;NDC;;;;;;9;;;1;;;;;;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2ICEban;2030;;SSP2-NPi2025;SSP2-NPi;SSP3-NPi2025;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. It assumes NPi2025 until 2025 and has start year 2030. 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. -SSP3-NPi2025;0;;;;;rcp45;0;;0;NPi2025;;;;;;9;;;1;;;;;;;1;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2ICEban;2030;;SSP2-NPi2025;;;SSP3-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP3-PkBudg1000;0;;;;;rcp26;9;;1000;functionalForm;;75;2080;;GLO 2100;9;;;1;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix3ICEban;2030;;SSP2-NPi2025;;SSP3-NPi2025;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -SSP3-rollBack;0;;;;;rcp45;0;;0;none;;;;;;0;;;1;;;;;;;1;;;;;none;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2030;;SSP2-NPi2025;;SSP3-NPi2025;SSP3-rollBack: This rollback of climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. -# H12 SSP1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP1-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. -SSP1-NDC;1,AMT,compileInTests;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2ICEban;2030;;SSP2-NPi2025;SSP2-NPi;SSP1-NPi2025;SSP1-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. It assumes NPi2025 until 2025 and has start year 2030. 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. -SSP1-NPi2025;1,AMT;;;;;rcp45;0;;0;NPi2025;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;1;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2ICEban;2030;;SSP2-NPi2025;;;SSP1-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP1-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;functionalForm;;100;2055;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;1;feelhpb 1.05, fehob 1.75, feheb 0.1;manual;feh2_otherInd 1.04, feelhth_otherInd 0.4, feh2_cement 2.0, feelhth_chemicals 1.3, feh2_chemicals 1.04;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SSP2-NPi2025;;SSP1-NPi2025;SSP1-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP1-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;75;2080;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix3ICEban;2030;;SSP2-NPi2025;;SSP1-NPi2025;SSP1-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -# H12 SSP2 lowEnergy;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2_lowEn-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix1;2005;;;;;SSP2_lowEn-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. -SSP2_lowEn-NDC;1,AMT;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;9;;;;;;;;;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix2ICEban;2030;;SSP2-NPi2025;SSP2-NPi;SSP2_lowEn-NPi2025;SSP2_lowEn-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi2025 until 2025 and has start year 2030. This scenario also assumes low energy demand trajectories. 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. -SSP2_lowEn-NPi2025;1,AMT;;;;;rcp45;0;;0;NPi2025;;;;;;9;;;;;;;;;;1;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix2ICEban;2030;;SSP2-NPi2025;;;SSP2_lowEn-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2_lowEn-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;650;functionalForm;;100;2055;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;SSP2_lowEn-NPi2025;SSP2_lowEn-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2_lowEn-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;75;2080;;;9;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;Mix3ICEban;2030;;SSP2-NPi2025;;SSP2_lowEn-NPi2025;SSP2_lowEn-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -# H12 SSP5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP5-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;;9;;;1;1.75;;;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. -SSP5-NDC;1;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;9;;;1;1.75;;;;3;2;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2ICEban;2030;;SSP2-NPi2025;SSP2-NPi;SSP5-NPi2025;SSP5-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. It assumes NPi2025 until 2025 and has start year 2030. 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. -SSP5-NPi2025;1;;;;;rcp45;0;;0;NPi2025;;;;;;9;;;1;1.75;;;;3;2;1;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2ICEban;2030;;SSP2-NPi2025;;;SSP5-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP5-PkBudg650;1;;;;;rcp20;9;globallyOptimal;650;functionalForm;;100;2055;;;9;;;1;1.75;;;;3;2;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix4ICEban;2030;;SSP2-NPi2025;;SSP5-NPi2025;SSP5-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP5-PkBudg1000;1,compileInTests;;;;;rcp26;9;globallyOptimal;1000;functionalForm;;75;2080;;;9;;;1;1.75;;;;3;2;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix3ICEban;2030;;SSP2-NPi2025;;SSP5-NPi2025;SSP5-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +title;start;CES_parameters;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_prtpScen;cm_budgetCO2from2020;carbonprice;cm_taxCO2_functionalForm;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_regiDiff;cm_taxCO2_regiDiff_endYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_bioenergy_SustTax;cm_33EW;cm_33OAE;cm_frac_NetNegEmi;c_ccsinjecratescen;c_ccscapratescen;c_changeProdCost;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description +# H12 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2-NPi-calibrate;calibrate,AMT,compileInTests;calibrate;14;;;rcp45;;;;0;NPi;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-NDC;1,AMT,2;;;;;rcp45;3;globallyOptimal;;0;NDC;;;;;;9;;;;;;;;;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2030;;SSP2-NPi2025;SSP2-NPi;SSP2-NPi2025;SSP2-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi2025 until 2025 and has start year 2030. 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. +SSP2-NDCsy2025;1,AMT,2;;;;;rcp45;3;globallyOptimal;;0;NDC;;;;;;9;;;;;;;;;;5;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2025;;SSP2-NPi;SSP2-NPi;SSP2-NPi2025;SSP2-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi until 2020 and has start year 2025.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. +SSP2-NPi;1,AMT,compileInTests,2;;;;;rcp45;0;;;0;NPi;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-NPi2025;1,AMT,2;;;;;rcp45;0;;;0;NPi2025;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2005;;;;;SSP2-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-PkBudg500;1,AMT,2;;;;;rcp20;9;globallyOptimal;;500;functionalForm;;200;2045;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be well below 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-PkBudg650;1,AMT,2;;;;;rcp20;9;globallyOptimal;;650;functionalForm;;100;2055;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-PkBudg1000;1,AMT,2;;;;;rcp26;9;globallyOptimal;;1000;functionalForm;;75;2080;;;9;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP2-EcBudg400;1,AMT,2;;;;;rcp26;5;globallyOptimal;;400;functionalForm;exponential;70;;initialSpread20;GLO 2070;9;;;;;1;1;0;;;1;;;;2060.GLO 0.9;NDC;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2035;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-EcBudg400: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes an end-of-century budget of 400 Gt CO2 on total CO2 emissions from 2020 to 2100. This is a high overshoot scenario with delayed climate policy. +# EU21 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2-EU21-NPi-calibrate;calibrate;calibrate;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;;0;NPi;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-EU21-NDC;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;globallyOptimal;;0;NDC;;;;;;9;;;;;;;;;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2030;;SSP2-EU21-NPi2025;SSP2-EU21-NPi;SSP2-EU21-NPi2025;SSP2-EU21-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi2025 until 2025 and has start year 2030. 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. +SSP2-EU21-NDCsy2025;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;globallyOptimal;;0;NDC;;;;;;9;;;;;;;;;;5;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2025;;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-NPi2025;SSP2-EU21-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi until 2020 and has start year 2025. 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. +SSP2-EU21-NPi;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;0;;;0;NPi;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-EU21-NPi2025;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;0;;;0;NPi2025;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2005;;;;;SSP2-EU21-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-EU21-PkBudg500;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;;500;functionalForm;;200;2045;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi2025;SSP2-EU21-PkBudg500: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-EU21-PkBudg650;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;;650;functionalForm;;100;2055;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi2025;SSP2-EU21-PkBudg650: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-EU21-PkBudg1000;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;9;globallyOptimal;;1000;functionalForm;;75;2080;;;9;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi2025;SSP2-EU21-PkBudg1050: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +# H12 SSP3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP3-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;3;0;NPi;;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. +SSP3-NDC;0;;;;;rcp45;3;;3;0;NDC;;;;;;9;;;1;;;;;;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2ICEban;2030;;SSP2-NPi2025;SSP2-NPi;SSP3-NPi2025;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. It assumes NPi2025 until 2025 and has start year 2030. 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. +SSP3-NPi2025;0;;;;;rcp45;0;;3;0;NPi2025;;;;;;9;;;1;;;;;;;1;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2ICEban;2030;;SSP2-NPi2025;;;SSP3-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP3-PkBudg1000;0;;;;;rcp26;9;;3;1000;functionalForm;;75;2080;;GLO 2100;9;;;1;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix3ICEban;2030;;SSP2-NPi2025;;SSP3-NPi2025;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP3-rollBack;0;;;;;rcp45;0;;3;0;none;;;;;;0;;;1;;;;;;;1;;;;;none;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2030;;SSP2-NPi2025;;SSP3-NPi2025;SSP3-rollBack: This rollback of climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. +# H12 SSP1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP1-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;;0;NPi;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. +SSP1-NDC;1,AMT,compileInTests;;;;;rcp45;3;globallyOptimal;;0;NDC;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2ICEban;2030;;SSP2-NPi2025;SSP2-NPi;SSP1-NPi2025;SSP1-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. It assumes NPi2025 until 2025 and has start year 2030. 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. +SSP1-NPi2025;1,AMT;;;;;rcp45;0;;;0;NPi2025;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;1;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2ICEban;2030;;SSP2-NPi2025;;;SSP1-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP1-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;;650;functionalForm;;100;2055;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;1;feelhpb 1.05, fehob 1.75, feheb 0.1;manual;feh2_otherInd 1.04, feelhth_otherInd 0.4, feh2_cement 2.0, feelhth_chemicals 1.3, feh2_chemicals 1.04;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SSP2-NPi2025;;SSP1-NPi2025;SSP1-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP1-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;;1000;functionalForm;;75;2080;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix3ICEban;2030;;SSP2-NPi2025;;SSP1-NPi2025;SSP1-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +# H12 SSP2 lowEnergy;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2_lowEn-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;;0;NPi;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix1;2005;;;;;SSP2_lowEn-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. +SSP2_lowEn-NDC;1,AMT;;;;;rcp45;3;globallyOptimal;;0;NDC;;;;;;9;;;;;;;;;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix2ICEban;2030;;SSP2-NPi2025;SSP2-NPi;SSP2_lowEn-NPi2025;SSP2_lowEn-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi2025 until 2025 and has start year 2030. This scenario also assumes low energy demand trajectories. 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. +SSP2_lowEn-NPi2025;1,AMT;;;;;rcp45;0;;;0;NPi2025;;;;;;9;;;;;;;;;;1;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix2ICEban;2030;;SSP2-NPi2025;;;SSP2_lowEn-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2_lowEn-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;;650;functionalForm;;100;2055;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;SSP2_lowEn-NPi2025;SSP2_lowEn-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2_lowEn-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;;1000;functionalForm;;75;2080;;;9;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;Mix3ICEban;2030;;SSP2-NPi2025;;SSP2_lowEn-NPi2025;SSP2_lowEn-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +# H12 SSP5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP5-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;;0;NPi;;;;;;9;;;1;1.75;;;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. +SSP5-NDC;1;;;;;rcp45;3;globallyOptimal;;0;NDC;;;;;;9;;;1;1.75;;;;3;2;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2ICEban;2030;;SSP2-NPi2025;SSP2-NPi;SSP5-NPi2025;SSP5-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. It assumes NPi2025 until 2025 and has start year 2030. 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. +SSP5-NPi2025;1;;;;;rcp45;0;;;0;NPi2025;;;;;;9;;;1;1.75;;;;3;2;1;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2ICEban;2030;;SSP2-NPi2025;;;SSP5-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP5-PkBudg650;1;;;;;rcp20;9;globallyOptimal;;650;functionalForm;;100;2055;;;9;;;1;1.75;;;;3;2;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix4ICEban;2030;;SSP2-NPi2025;;SSP5-NPi2025;SSP5-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP5-PkBudg1000;1,compileInTests;;;;;rcp26;9;globallyOptimal;;1000;functionalForm;;75;2080;;;9;;;1;1.75;;;;3;2;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix3ICEban;2030;;SSP2-NPi2025;;SSP5-NPi2025;SSP5-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. From 5dcc4375e5465bbb46a265fb4eafcd86bc91cb28 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Mon, 2 Dec 2024 23:37:46 +0000 Subject: [PATCH 811/875] Release development version 3.3.2.dev1073 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index ea9abe1eb..f2ee12838 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev1067" +version: "3.3.2.dev1073" date-released: 2024-12-02 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 279e0448f..0591c6f79 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev1067" +cfg$model_version <- "3.3.2.dev1073" #### settings #### cfg$gms <- list() From baed16c32d33c92eb919fe63d2edfa22f2813f20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Tue, 3 Dec 2024 09:09:52 +0100 Subject: [PATCH 812/875] SSP3 scenario config updated --- config/scenario_config.csv | 90 +++++++++++++++++++------------------- 1 file changed, 46 insertions(+), 44 deletions(-) diff --git a/config/scenario_config.csv b/config/scenario_config.csv index 0239f0e98..dba4278e7 100644 --- a/config/scenario_config.csv +++ b/config/scenario_config.csv @@ -1,44 +1,46 @@ -title;start;CES_parameters;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_prtpScen;cm_budgetCO2from2020;carbonprice;cm_taxCO2_functionalForm;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_regiDiff;cm_taxCO2_regiDiff_endYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_bioenergy_SustTax;cm_33EW;cm_33OAE;cm_frac_NetNegEmi;c_ccsinjecratescen;c_ccscapratescen;c_changeProdCost;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description -# H12 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-NPi-calibrate;calibrate,AMT,compileInTests;calibrate;14;;;rcp45;;;;0;NPi;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-NDC;1,AMT,2;;;;;rcp45;3;globallyOptimal;;0;NDC;;;;;;9;;;;;;;;;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2030;;SSP2-NPi2025;SSP2-NPi;SSP2-NPi2025;SSP2-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi2025 until 2025 and has start year 2030. 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. -SSP2-NDCsy2025;1,AMT,2;;;;;rcp45;3;globallyOptimal;;0;NDC;;;;;;9;;;;;;;;;;5;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2025;;SSP2-NPi;SSP2-NPi;SSP2-NPi2025;SSP2-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi until 2020 and has start year 2025.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. -SSP2-NPi;1,AMT,compileInTests,2;;;;;rcp45;0;;;0;NPi;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-NPi2025;1,AMT,2;;;;;rcp45;0;;;0;NPi2025;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2005;;;;;SSP2-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-PkBudg500;1,AMT,2;;;;;rcp20;9;globallyOptimal;;500;functionalForm;;200;2045;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be well below 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-PkBudg650;1,AMT,2;;;;;rcp20;9;globallyOptimal;;650;functionalForm;;100;2055;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-PkBudg1000;1,AMT,2;;;;;rcp26;9;globallyOptimal;;1000;functionalForm;;75;2080;;;9;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -SSP2-EcBudg400;1,AMT,2;;;;;rcp26;5;globallyOptimal;;400;functionalForm;exponential;70;;initialSpread20;GLO 2070;9;;;;;1;1;0;;;1;;;;2060.GLO 0.9;NDC;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2035;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-EcBudg400: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes an end-of-century budget of 400 Gt CO2 on total CO2 emissions from 2020 to 2100. This is a high overshoot scenario with delayed climate policy. -# EU21 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2-EU21-NPi-calibrate;calibrate;calibrate;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;;0;NPi;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. -SSP2-EU21-NDC;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;globallyOptimal;;0;NDC;;;;;;9;;;;;;;;;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2030;;SSP2-EU21-NPi2025;SSP2-EU21-NPi;SSP2-EU21-NPi2025;SSP2-EU21-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi2025 until 2025 and has start year 2030. 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. -SSP2-EU21-NDCsy2025;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;3;globallyOptimal;;0;NDC;;;;;;9;;;;;;;;;;5;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2025;;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-NPi2025;SSP2-EU21-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi until 2020 and has start year 2025. 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. -SSP2-EU21-NPi;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;0;;;0;NPi;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;2005;;;;;SSP2-EU21-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-EU21-NPi2025;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;0;;;0;NPi2025;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;2005;;;;;SSP2-EU21-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2-EU21-PkBudg500;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;;500;functionalForm;;200;2045;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi2025;SSP2-EU21-PkBudg500: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-EU21-PkBudg650;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;;650;functionalForm;;100;2055;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi2025;SSP2-EU21-PkBudg650: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2-EU21-PkBudg1000;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;9;globallyOptimal;;1000;functionalForm;;75;2080;;;9;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi2025;SSP2-EU21-PkBudg1050: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -# H12 SSP3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP3-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;3;0;NPi;;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. -SSP3-NDC;0;;;;;rcp45;3;;3;0;NDC;;;;;;9;;;1;;;;;;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2ICEban;2030;;SSP2-NPi2025;SSP2-NPi;SSP3-NPi2025;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. It assumes NPi2025 until 2025 and has start year 2030. 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. -SSP3-NPi2025;0;;;;;rcp45;0;;3;0;NPi2025;;;;;;9;;;1;;;;;;;1;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2ICEban;2030;;SSP2-NPi2025;;;SSP3-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP3-PkBudg1000;0;;;;;rcp26;9;;3;1000;functionalForm;;75;2080;;GLO 2100;9;;;1;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix3ICEban;2030;;SSP2-NPi2025;;SSP3-NPi2025;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -SSP3-rollBack;0;;;;;rcp45;0;;3;0;none;;;;;;0;;;1;;;;;;;1;;;;;none;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2030;;SSP2-NPi2025;;SSP3-NPi2025;SSP3-rollBack: This rollback of climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. -# H12 SSP1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP1-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;;0;NPi;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. -SSP1-NDC;1,AMT,compileInTests;;;;;rcp45;3;globallyOptimal;;0;NDC;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2ICEban;2030;;SSP2-NPi2025;SSP2-NPi;SSP1-NPi2025;SSP1-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. It assumes NPi2025 until 2025 and has start year 2030. 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. -SSP1-NPi2025;1,AMT;;;;;rcp45;0;;;0;NPi2025;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;1;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2ICEban;2030;;SSP2-NPi2025;;;SSP1-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP1-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;;650;functionalForm;;100;2055;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;1;feelhpb 1.05, fehob 1.75, feheb 0.1;manual;feh2_otherInd 1.04, feelhth_otherInd 0.4, feh2_cement 2.0, feelhth_chemicals 1.3, feh2_chemicals 1.04;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SSP2-NPi2025;;SSP1-NPi2025;SSP1-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP1-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;;1000;functionalForm;;75;2080;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix3ICEban;2030;;SSP2-NPi2025;;SSP1-NPi2025;SSP1-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -# H12 SSP2 lowEnergy;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP2_lowEn-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;;0;NPi;;;;;;9;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix1;2005;;;;;SSP2_lowEn-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. -SSP2_lowEn-NDC;1,AMT;;;;;rcp45;3;globallyOptimal;;0;NDC;;;;;;9;;;;;;;;;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix2ICEban;2030;;SSP2-NPi2025;SSP2-NPi;SSP2_lowEn-NPi2025;SSP2_lowEn-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi2025 until 2025 and has start year 2030. This scenario also assumes low energy demand trajectories. 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. -SSP2_lowEn-NPi2025;1,AMT;;;;;rcp45;0;;;0;NPi2025;;;;;;9;;;;;;;;;;1;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix2ICEban;2030;;SSP2-NPi2025;;;SSP2_lowEn-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2_lowEn-PkBudg650;1,AMT;;;;;rcp20;9;globallyOptimal;;650;functionalForm;;100;2055;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;Mix4ICEban;2030;;SSP2-NPi2025;;SSP2_lowEn-NPi2025;SSP2_lowEn-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2_lowEn-PkBudg1000;1,AMT;;;;;rcp26;9;globallyOptimal;;1000;functionalForm;;75;2080;;;9;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;Mix3ICEban;2030;;SSP2-NPi2025;;SSP2_lowEn-NPi2025;SSP2_lowEn-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -# H12 SSP5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP5-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;;0;NPi;;;;;;9;;;1;1.75;;;;3;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;2005;;;;;SSP5-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. -SSP5-NDC;1;;;;;rcp45;3;globallyOptimal;;0;NDC;;;;;;9;;;1;1.75;;;;3;2;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2ICEban;2030;;SSP2-NPi2025;SSP2-NPi;SSP5-NPi2025;SSP5-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. It assumes NPi2025 until 2025 and has start year 2030. 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. -SSP5-NPi2025;1;;;;;rcp45;0;;;0;NPi2025;;;;;;9;;;1;1.75;;;;3;2;1;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2ICEban;2030;;SSP2-NPi2025;;;SSP5-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP5-PkBudg650;1;;;;;rcp20;9;globallyOptimal;;650;functionalForm;;100;2055;;;9;;;1;1.75;;;;3;2;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix4ICEban;2030;;SSP2-NPi2025;;SSP5-NPi2025;SSP5-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP5-PkBudg1000;1,compileInTests;;;;;rcp26;9;globallyOptimal;;1000;functionalForm;;75;2080;;;9;;;1;1.75;;;;3;2;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix3ICEban;2030;;SSP2-NPi2025;;SSP5-NPi2025;SSP5-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +title;start;CES_parameters;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;subsidizeLearning;cm_prtpScen;capitalMarket;cm_iterative_target_adj;cm_budgetCO2from2020;carbonprice;cm_taxCO2_functionalForm;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_regiDiff;cm_taxCO2_regiDiff_endYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_bioenergy_SustTax;cm_33EW;cm_33OAE;cm_frac_NetNegEmi;c_ccsinjecratescen;c_ccscapratescen;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;c_changeProdCost;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description +# H12 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2-NPi-calibrate;calibrate,AMT,compileInTests;calibrate;14;;;rcp45;;;;;0;NPi;;;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;;2005;;;;;SSP2-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-NDC;1,AMT,2;;;;;rcp45;globallyOptimal;;;3;0;NDC;;;;;;9;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;1;2030;;SSP2-NPi2025;SSP2-NPi;SSP2-NPi2025;SSP2-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi2025 until 2025 and has start year 2030. 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. +SSP2-NDCsy2025;1,AMT,2;;;;;rcp45;globallyOptimal;;;3;0;NDC;;;;;;9;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;5;2025;;SSP2-NPi;SSP2-NPi;SSP2-NPi2025;SSP2-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi until 2020 and has start year 2025.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. +SSP2-NPi;1,AMT,compileInTests,2;;;;;rcp45;;;;0;0;NPi;;;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;;2005;;;;;SSP2-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-NPi2025;1,AMT,2;;;;;rcp45;;;;0;0;NPi2025;;;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;;2005;;;;;SSP2-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-PkBudg500;1,AMT,2;;;;;rcp20;globallyOptimal;;;9;500;functionalForm;;200;2045;;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;1;2030;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be well below 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-PkBudg650;1,AMT,2;;;;;rcp20;globallyOptimal;;;9;650;functionalForm;;100;2055;;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;1;2030;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-PkBudg1000;1,AMT,2;;;;;rcp26;globallyOptimal;;;9;1000;functionalForm;;75;2080;;;9;;;;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;1;2030;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP2-EcBudg400;1,AMT,2;;;;;rcp26;globallyOptimal;;;5;400;functionalForm;exponential;70;;initialSpread20;GLO 2070;9;;;;;1;1;0;;;;;;2060.GLO 0.9;NDC;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;1;2035;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-EcBudg400: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes an end-of-century budget of 400 Gt CO2 on total CO2 emissions from 2020 to 2100. This is a high overshoot scenario with delayed climate policy. +SSP2-rollBack;1,AMT,2;;;;;rcp45;;;;0;0;none;;;;;;0;;;1;;;;;;;;;;;none;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;1;2030;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-rollBack: This rollback of climate policy scenario follows the Shared Socioeconomic Pathways 3 called Middle of the Road. +# EU21 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2-EU21-NPi-calibrate;calibrate;calibrate;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;;;0;NPi;;;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;;2005;;;;;SSP2-EU21-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. +SSP2-EU21-NDC;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;globallyOptimal;;;3;0;NDC;;;;;;9;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;1;2030;;SSP2-EU21-NPi2025;SSP2-EU21-NPi;SSP2-EU21-NPi2025;SSP2-EU21-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi2025 until 2025 and has start year 2030. 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. +SSP2-EU21-NDCsy2025;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;globallyOptimal;;;3;0;NDC;;;;;;9;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;5;2025;;SSP2-EU21-NPi;SSP2-EU21-NPi;SSP2-EU21-NPi2025;SSP2-EU21-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi until 2020 and has start year 2025. 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. +SSP2-EU21-NPi;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;;0;0;NPi;;;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;;2005;;;;;SSP2-EU21-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-EU21-NPi2025;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;;0;0;NPi2025;;;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;;2005;;;;;SSP2-EU21-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2-EU21-PkBudg500;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;globallyOptimal;;;9;500;functionalForm;;200;2045;;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;1;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi2025;SSP2-EU21-PkBudg500: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-EU21-PkBudg650;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;globallyOptimal;;;9;650;functionalForm;;100;2055;;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;1;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi2025;SSP2-EU21-PkBudg650: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2-EU21-PkBudg1000;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;globallyOptimal;;;9;1000;functionalForm;;75;2080;;;9;;;;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;1;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi2025;SSP2-EU21-PkBudg1050: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +# H12 SSP3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP3-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;3;;;0;NPi;;;;;;9;;;1;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. +SSP3-NPi_impCM-calibrate;calibrate;calibrate;14;;;rcp45;;3;imperfect;;0;NPi;;;;;;9;;;1;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. +SSP3-NDC;1;;;;;rcp45;;3;;3;0;NDC;;;;;;9;;;1;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2ICEban;1;2030;;SSP2-NPi2025;SSP2-NPi;SSP3-NPi2025;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. It assumes NPi2025 until 2025 and has start year 2030. 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. +SSP3-NPi2025;1;;;;;rcp45;;3;;0;0;NPi2025;;;;;;9;;;1;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2ICEban;1;2030;;SSP2-NPi2025;;;SSP3-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP3-PkBudg1000;1;;;;;rcp26;;3;;9;1000;functionalForm;;75;2080;;GLO 2100;9;;;1;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix3ICEban;1;2030;;SSP2-NPi2025;;SSP3-NPi2025;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP3-rollBack;1;;;;;rcp45;;3;;0;0;none;;;;;;0;;;1;;;;;;;;;;;none;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;4;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;1;2030;;SSP2-NPi2025;;SSP3-NPi2025;SSP3-rollBack: This rollback of climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. +# H12 SSP1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP1-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;;;0;NPi;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix1;;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. +SSP1-NDC;1,AMT,compileInTests;;;;;rcp45;globallyOptimal;;;3;0;NDC;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2ICEban;1;2030;;SSP2-NPi2025;SSP2-NPi;SSP1-NPi2025;SSP1-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. It assumes NPi2025 until 2025 and has start year 2030. 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. +SSP1-NPi2025;1,AMT;;;;;rcp45;;;;0;0;NPi2025;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2ICEban;1;2030;;SSP2-NPi2025;;;SSP1-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP1-PkBudg650;1,AMT;;;;;rcp20;globallyOptimal;;;9;650;functionalForm;;100;2055;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;feelhpb 1.05, fehob 1.75, feheb 0.1;manual;feh2_otherInd 1.04, feelhth_otherInd 0.4, feh2_cement 2.0, feelhth_chemicals 1.3, feh2_chemicals 1.04;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix4ICEban;1;2030;;SSP2-NPi2025;;SSP1-NPi2025;SSP1-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP1-PkBudg1000;1,AMT;;;;;rcp26;globallyOptimal;;;9;1000;functionalForm;;75;2080;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix3ICEban;1;2030;;SSP2-NPi2025;;SSP1-NPi2025;SSP1-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +# H12 SSP2 lowEnergy;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP2_lowEn-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;;;0;NPi;;;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix1;;2005;;;;;SSP2_lowEn-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. +SSP2_lowEn-NDC;1,AMT;;;;;rcp45;globallyOptimal;;;3;0;NDC;;;;;;9;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix2ICEban;1;2030;;SSP2-NPi2025;SSP2-NPi;SSP2_lowEn-NPi2025;SSP2_lowEn-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi2025 until 2025 and has start year 2030. This scenario also assumes low energy demand trajectories. 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. +SSP2_lowEn-NPi2025;1,AMT;;;;;rcp45;;;;0;0;NPi2025;;;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix2ICEban;1;2030;;SSP2-NPi2025;;;SSP2_lowEn-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP2_lowEn-PkBudg650;1,AMT;;;;;rcp20;globallyOptimal;;;9;650;functionalForm;;100;2055;;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;Mix4ICEban;1;2030;;SSP2-NPi2025;;SSP2_lowEn-NPi2025;SSP2_lowEn-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2_lowEn-PkBudg1000;1,AMT;;;;;rcp26;globallyOptimal;;;9;1000;functionalForm;;75;2080;;;9;;;;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;Mix3ICEban;1;2030;;SSP2-NPi2025;;SSP2_lowEn-NPi2025;SSP2_lowEn-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +# H12 SSP5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SSP5-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;;;0;NPi;;;;;;9;;;1;1.75;;;;3;2;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;;2005;;;;;SSP5-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. +SSP5-NDC;1;;;;;rcp45;globallyOptimal;;;3;0;NDC;;;;;;9;;;1;1.75;;;;3;2;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2ICEban;1;2030;;SSP2-NPi2025;SSP2-NPi;SSP5-NPi2025;SSP5-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. It assumes NPi2025 until 2025 and has start year 2030. 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. +SSP5-NPi2025;1;;;;;rcp45;;;;0;0;NPi2025;;;;;;9;;;1;1.75;;;;3;2;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2ICEban;1;2030;;SSP2-NPi2025;;;SSP5-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP5-PkBudg650;1;;;;;rcp20;globallyOptimal;;;9;650;functionalForm;;100;2055;;;9;;;1;1.75;;;;3;2;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix4ICEban;1;2030;;SSP2-NPi2025;;SSP5-NPi2025;SSP5-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP5-PkBudg1000;1,compileInTests;;;;;rcp26;globallyOptimal;;;9;1000;functionalForm;;75;2080;;;9;;;1;1.75;;;;3;2;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix3ICEban;1;2030;;SSP2-NPi2025;;SSP5-NPi2025;SSP5-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. From 47378b4f4e5241c75786e82dea577841ab6ca0ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Tue, 3 Dec 2024 09:18:17 +0100 Subject: [PATCH 813/875] Remove SSP3-specific scenario config to avoid duplicates --- config/scenario_config_SSP3.csv | 11 ----------- 1 file changed, 11 deletions(-) delete mode 100644 config/scenario_config_SSP3.csv diff --git a/config/scenario_config_SSP3.csv b/config/scenario_config_SSP3.csv deleted file mode 100644 index 2e45d76c5..000000000 --- a/config/scenario_config_SSP3.csv +++ /dev/null @@ -1,11 +0,0 @@ -title;start;CES_parameters;slurmConfig;regionmapping;extramappings_historic;cm_rcp_scen;cm_iterative_target_adj;cm_prtpScen;subsidizeLearning;capitalMarket;c_budgetCO2from2020;carbonprice;cm_co2_tax_startyear;cm_peakBudgYr;cm_co2_tax_spread;cm_CO2priceRegConvEndYr;cm_emiscen;c_regi_earlyreti_rate;c_tech_earlyreti_rate;cm_fetaxscen;cm_co2_tax_growth;cm_bioenergy_SustTax;cm_33EW;cm_33OAE;cm_33_OAE_eff;cm_33_OAE_scen;cm_frac_NetNegEmi;c_ccsinjecratescen;c_ccscapratescen;c_changeProdCost;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description -# H12 SSP3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP3-NPi-calibrate;0;calibrate;14;;;rcp45;;3;;;0;NPi;;;;;9;;;1;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. -SSP3-NPi-calibrate_stage1;0;calibrate;14;;;rcp45;;3;;;0;NPi;;;;;9;;;1;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. -SSP3-NPi-calibrate_stage2;0;calibrate;14;;;rcp45;;3;;;0;NPi;;;;;9;;;1;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. -SSP3-NPi-calibrate_stage3;0;calibrate;14;;;rcp45;;3;;imperfect;0;NPi;;;;;9;;;1;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. -SSP3-NPi-calibrate_stage4;1;calibrate;14;;;rcp45;;3;;;0;NPi;;;;;9;;;1;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;4;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. -SSP3-NDC;0;;;;;rcp45;3;3;;;0;NDC;;;;;9;;;1;;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2;2030;;SSP2-NPi;SSP3-NPi;SSP3-NPi;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. 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. -SSP3-NPi;0;;;;;rcp45;3;3;;;0;NPi;;;;;9;;;1;;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP3-PkBudg1000;0;;;;;rcp26;9;3;;;1000;diffLin2Lin;45;2080;;2100;9;;;1;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix3ICEban;2030;;SSP2-NPi;;;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -SSP3-rollBack;0;;;;;rcp45;9;3;;;;NPi;;;;;9;;;1;0.9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix1;2030;;SSP2-NPi;;; From e8d70f5289f4ffe0bf59e1b30a0e1cb119e872fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Tue, 3 Dec 2024 09:35:54 +0100 Subject: [PATCH 814/875] Adapt cm_LU_emi_scen in scenario_config_ScenarioMIP --- config/scenario_config_ScenarioMIP.csv | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/scenario_config_ScenarioMIP.csv b/config/scenario_config_ScenarioMIP.csv index 1bb1e5152..ccc309a72 100644 --- a/config/scenario_config_ScenarioMIP.csv +++ b/config/scenario_config_ScenarioMIP.csv @@ -1,11 +1,11 @@ title;start;copyConfigFrom;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_budgetCO2from2020;carbonprice;cm_taxCO2_functionalForm;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_historical;cm_taxCO2_historicalYr;cm_taxCO2_regiDiff;cm_taxCO2_regiDiff_endYr;cm_emiscen;c_regi_earlyreti_rate;cm_fetaxscen;cm_bioenergy_SustTax;cm_maxProdBiolc;cm_33EW;cm_33OAE;cm_frac_NetNegEmi;c_ccsinjecratescen;c_changeProdCost;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description #___ScenarioMIP_defaults___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SMIPv04-H-SSP3-rollBack-def;0;;rcp45;0;off;;none;;;;;;;;9;GLO 0.09, EUR_regi 0.15;1;1.5;;1;0;0.5;1;1;;;;;none;regiCarbonPrice;off;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;medOil;medGas;highCoal;1;2;0;3;SSP3;1.5;0;forcing_SSP3;SSP3;Mix1;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; -SMIPv04-M-SSP2-NPi2025-def;1;;rcp45;0;off;;NPi2025;;;;;;;;9;GLO 0.09, EUR_regi 0.15;3;1.5;;1;0;0.5;1;;;;;;NPi2018;regiCarbonPrice;off;;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;Mix1;2005;;;;; +SMIPv04-M-SSP2-NPi2025-def;1;;rcp45;0;off;;NPi2025;;;;;;;;9;GLO 0.09, EUR_regi 0.15;3;1.5;;1;0;0.5;1;;;;;;NPi2018;regiCarbonPrice;off;;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;Mix2ICEban;2005;;;;; SMIPv04-ML-SSP2-PkBudg2000-def;1;;rcp45;9;globallyOptimal;2000;functionalForm;linear;60;2100;gdx_ref;2025;initialSpread10;GLO 2100;9;GLO 0.09, EUR_regi 0.15;3;1.5;;1;0;0.5;1;1;;;;;NDC;regiCarbonPrice;off;;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix2ICEban;2045;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; SMIPv04-L-SSP2-PkBudg1000-def;1;;rcp26;9;globallyOptimal;1000;functionalForm;linear;65;2080;gdx_ref;2025;initialSpread10;GLO 2070;9;GLO 0.09, EUR_regi 0.15;3;1.5;;1;0;0.5;1;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix3ICEban;2035;;SMIPv04-M-SSP2-NDC_sy2030-var;;SMIPv04-M-SSP2-NPi2025-def; SMIPv04-VLHO-SSP2-EcBudg400-def;1;;rcp26;5;globallyOptimal;400;functionalForm;exponential;70;;;;initialSpread20;GLO 2070;9;GLO 0.09, EUR_regi 0.15;3;1.5;;1;1;0;1;1;;;;2060.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix3ICEban;2035;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; -SMIPv04-VLLO-SSP1-PkBudg750-def;1;;rcp20;9;globallyOptimal;750;functionalForm;linear;75;2055;gdx_ref;last;initialSpread10;GLO 2050;9;GLO 0.12, EUR_regi 0.15;2;1.5;;1;0;0.5;5;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;2;4;2;SDP;1;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; +SMIPv04-VLLO-SSP1-PkBudg750-def;1;;rcp20;9;globallyOptimal;750;functionalForm;linear;75;2055;gdx_ref;last;initialSpread10;GLO 2050;9;GLO 0.12, EUR_regi 0.15;2;1.5;;1;0;0.5;5;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;2;4;2;SSP1;1;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; #___ScenarioMIP_variants_M-SSP2___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SMIPv04-M-SSP2-NPi2020-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SMIPv04-M-SSP2-NDC_sy2030-var;1;SMIPv04-M-SSP2-NPi2025-def;;3;globallyOptimal;;NDC;;;;;;;;;;;;;;;;;1;;;;;NDC;;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;;;;;;;;;;;;;;;;;;;Mix2ICEban;2030;;SMIPv04-M-SSP2-NPi2025-def;SMIPv04-M-SSP2-NPi2020-var;SMIPv04-M-SSP2-NPi2025-def; @@ -15,7 +15,7 @@ SMIPv04-L-SSP2-PkBudg1000-var_2030NPi;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;; SMIPv04-L-SSP2-PkBudg1000-var_2030flexible;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;last;;;;;;;;;;;;;;;;;;;;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;;;;;;;;;;;;;;;;;;;;2030;;SMIPv04-M-SSP2-NPi2025-def;;; #___ScenarioMIP_SSP_variants___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SMIPv04-H-SSP5-rollBack-var;0;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP5;gdp_SSP5;gdp_SSP5;;;;;;;;SSP5;;;forcing_SSP5;SSP5;;;;;;; -SMIPv04-M-SSP1-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;GLO 0.12, EUR_regi 0.15;2;;;;;;5;;;;;;;;;;;;;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SDP;;;forcing_SSP1;MFR;;;;;;; +SMIPv04-M-SSP1-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;GLO 0.12, EUR_regi 0.15;2;;;;;;5;;;;;;;;;;;;;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;;;forcing_SSP1;MFR;;;;;;; SMIPv04-M-SSP1-NPi2020-var;1;SMIPv04-M-SSP1-NPi2025-var;;;;;NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SMIPv04-M-SSP1-NDC_sy2030-var;1;SMIPv04-M-SSP1-NPi2025-var;;3;globallyOptimal;;NDC;;;;;;;;;;;;;;;;;1;;;;;NDC;;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;;;;;;;;;;;;;;;;;;;Mix2ICEban;2030;;SMIPv04-M-SSP2-NPi2025-def;SMIPv04-M-SSP1-NPi2020-var;SMIPv04-M-SSP1-NPi2025-var; SMIPv04-M-SSP1-NDC_sy2025-var;1;SMIPv04-M-SSP1-NPi2025-var;;3;globallyOptimal;;NDC;;;;;;;;;;;;;;;;;5;;;;;NDC;;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;;;;;;;;;;;;;;;;;;;Mix2ICEban;2025;;SMIPv04-M-SSP2-NPi2020-var;SMIPv04-M-SSP1-NPi2020-var;SMIPv04-M-SSP1-NPi2025-var; From 96b807e61ff7771cfc0cf7f13315e61c330295ad Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 3 Dec 2024 08:44:10 +0000 Subject: [PATCH 815/875] Release development version 3.3.2.dev1077 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index f2ee12838..29f5e667c 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev1073" -date-released: 2024-12-02 +version: "3.3.2.dev1077" +date-released: 2024-12-03 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 0591c6f79..1c90bc131 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev1073" +cfg$model_version <- "3.3.2.dev1077" #### settings #### cfg$gms <- list() From 42deee47dd1f69eea4ce838dadb96b3e2e0c0480 Mon Sep 17 00:00:00 2001 From: David Klein Date: Tue, 3 Dec 2024 09:55:07 +0100 Subject: [PATCH 816/875] MAgPIE coupling: update coupled config to new scenarios - using the correct scenario settings for SSP1 in MAgPIE - adding SSP3 - removing SDP scenarios - adding SSP2_lowEn - referencing updated Pkbudgets --- config/scenario_config_coupled.csv | 37 +++++++++++++++--------------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/config/scenario_config_coupled.csv b/config/scenario_config_coupled.csv index af27e8ef8..3b51d5f60 100644 --- a/config/scenario_config_coupled.csv +++ b/config/scenario_config_coupled.csv @@ -1,19 +1,20 @@ title;start;oldrun;path_report;qos;config/scenario_config.csv;no_ghgprices_land_until;path_gdx;path_gdx_bau;path_gdx_ref -SDP_MC-NPi;0;;;;SDP-MC|NPI|nocc_hist;y2150;;; -SDP_MC-PkBudg650;0;;;;SDP-MC|NDC|nocc_hist;y2030;;; -SSP1-NDC;0;;;;SSP1|NDC|nocc_hist;y2150;;; -SSP1-NPi;0;;;;SSP1|NPI|nocc_hist;y2150;;; -SSP1-NPi2025;0;;;;SSP1|NPI|nocc_hist;y2150;;; -SSP1-PkBudg1050;0;;;;SSP1|NDC|nocc_hist;y2030;;; -SSP1-PkBudg650;0;;;;SSP1|NDC|nocc_hist;y2030;;; -SSP2-Base;0;;;;SSP2|NPI|nocc_hist;y2150;;; -SSP2-NDC;0;;;;SSP2|NDC|nocc_hist;y2150;;; -SSP2-NPi;0;;;;SSP2|NPI|nocc_hist;y2150;;; -SSP2-NPi2025;0;;;;SSP2|NPI|nocc_hist;y2150;;; -SSP2-PkBudg1050;0;;;;SSP2|NDC|nocc_hist;y2030;;; -SSP2-PkBudg650;0;;;;SSP2|NDC|nocc_hist;y2030;;; -SSP5-NDC;0;;;;SSP5|NDC|nocc_hist;y2150;;; -SSP5-NPi;0;;;;SSP5|NPI|nocc_hist;y2150;;; -SSP5-NPi2025;0;;;;SSP5|NPI|nocc_hist;y2150;;; -SSP5-PkBudg1050;0;;;;SSP5|NDC|nocc_hist;y2030;;; -SSP5-PkBudg650;0;;;;SSP5|NDC|nocc_hist;y2030;;; +SSP1-NDC;0;;;;SDP-MC|SSP1-POP-GDP|NDC|nocc_hist|rcp4p5;y2150;;; +SSP1-NPi;0;;;;SDP-MC|SSP1-POP-GDP|NPI|nocc_hist|rcp4p5;y2150;;; +SSP1-PkBudg1000;0;;;;SDP-MC|SSP1-POP-GDP|NDC|nocc_hist|rcp2p6;y2030;;; +SSP1-PkBudg650;0;;;;SDP-MC|SSP1-POP-GDP|NDC|nocc_hist|rcp1p9;y2030;;; +SSP2_lowEn-NDC;0;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;;; +SSP2_lowEn-NPi;0;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;;; +SSP2_lowEn-PkBudg1000;0;;;;SSP2|NDC|nocc_hist|rcp2p6;y2030;;; +SSP2_lowEn-PkBudg650;0;;;;SSP2|NDC|nocc_hist|rcp1p9;y2030;;; +SSP2-NDC;0;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;;; +SSP2-NPi;0;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;;; +SSP2-PkBudg1000;0;;;;SSP2|NDC|nocc_hist|rcp2p6;y2030;;; +SSP2-PkBudg650;0;;;;SSP2|NDC|nocc_hist|rcp1p9;y2030;;; +SSP3-NDC;1;;;;SSP3|NDC|nocc_hist|rcp4p5;y2150;;; +SSP3-NPi;1;;;;SSP3|NPI|nocc_hist|rcp4p5;y2150;;; +SSP3-PkBudg1000;1;;;;SSP3|NDC|nocc_hist|rcp2p6;y2030;;; +SSP5-NDC;0;;;;SSP5|NDC|nocc_hist|rcp4p5;y2150;;; +SSP5-NPi;0;;;;SSP5|NPI|nocc_hist|rcp4p5;y2150;;; +SSP5-PkBudg1000;0;;;;SSP5|NDC|nocc_hist|rcp2p6;y2030;;; +SSP5-PkBudg650;0;;;;SSP5|NDC|nocc_hist|rcp1p9;y2030;;; From 042dacbb81a774910e2ccca7ccd5bace9b95dd41 Mon Sep 17 00:00:00 2001 From: David Klein Date: Tue, 3 Dec 2024 10:24:37 +0100 Subject: [PATCH 817/875] MAgPIE coupling: rename all NPi -> NPi2025 --- config/scenario_config_coupled.csv | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/config/scenario_config_coupled.csv b/config/scenario_config_coupled.csv index 3b51d5f60..957e1ae48 100644 --- a/config/scenario_config_coupled.csv +++ b/config/scenario_config_coupled.csv @@ -1,20 +1,20 @@ title;start;oldrun;path_report;qos;config/scenario_config.csv;no_ghgprices_land_until;path_gdx;path_gdx_bau;path_gdx_ref SSP1-NDC;0;;;;SDP-MC|SSP1-POP-GDP|NDC|nocc_hist|rcp4p5;y2150;;; -SSP1-NPi;0;;;;SDP-MC|SSP1-POP-GDP|NPI|nocc_hist|rcp4p5;y2150;;; +SSP1-NPi2025;0;;;;SDP-MC|SSP1-POP-GDP|NPI|nocc_hist|rcp4p5;y2150;;; SSP1-PkBudg1000;0;;;;SDP-MC|SSP1-POP-GDP|NDC|nocc_hist|rcp2p6;y2030;;; SSP1-PkBudg650;0;;;;SDP-MC|SSP1-POP-GDP|NDC|nocc_hist|rcp1p9;y2030;;; SSP2_lowEn-NDC;0;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;;; -SSP2_lowEn-NPi;0;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;;; +SSP2_lowEn-NPi2025;0;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;;; SSP2_lowEn-PkBudg1000;0;;;;SSP2|NDC|nocc_hist|rcp2p6;y2030;;; SSP2_lowEn-PkBudg650;0;;;;SSP2|NDC|nocc_hist|rcp1p9;y2030;;; SSP2-NDC;0;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;;; -SSP2-NPi;0;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;;; +SSP2-NPi2025;0;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;;; SSP2-PkBudg1000;0;;;;SSP2|NDC|nocc_hist|rcp2p6;y2030;;; SSP2-PkBudg650;0;;;;SSP2|NDC|nocc_hist|rcp1p9;y2030;;; -SSP3-NDC;1;;;;SSP3|NDC|nocc_hist|rcp4p5;y2150;;; -SSP3-NPi;1;;;;SSP3|NPI|nocc_hist|rcp4p5;y2150;;; -SSP3-PkBudg1000;1;;;;SSP3|NDC|nocc_hist|rcp2p6;y2030;;; +SSP3-NDC;0;;;;SSP3|NDC|nocc_hist|rcp4p5;y2150;;; +SSP3-NPi2025;0;;;;SSP3|NPI|nocc_hist|rcp4p5;y2150;;; +SSP3-PkBudg1000;0;;;;SSP3|NDC|nocc_hist|rcp2p6;y2030;;; SSP5-NDC;0;;;;SSP5|NDC|nocc_hist|rcp4p5;y2150;;; -SSP5-NPi;0;;;;SSP5|NPI|nocc_hist|rcp4p5;y2150;;; +SSP5-NPi2025;0;;;;SSP5|NPI|nocc_hist|rcp4p5;y2150;;; SSP5-PkBudg1000;0;;;;SSP5|NDC|nocc_hist|rcp2p6;y2030;;; SSP5-PkBudg650;0;;;;SSP5|NDC|nocc_hist|rcp1p9;y2030;;; From 27cd3ef07ae82c9a593e3d321cbe0a7e13c3e4bd Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 3 Dec 2024 09:41:51 +0000 Subject: [PATCH 818/875] Release development version 3.3.2.dev1081 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 29f5e667c..faf48da92 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev1077" +version: "3.3.2.dev1081" date-released: 2024-12-03 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 1c90bc131..ef5bc9ec5 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev1077" +cfg$model_version <- "3.3.2.dev1081" #### settings #### cfg$gms <- list() From b1b892770da1afa1c4bd754115b7705463de1c35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Tue, 3 Dec 2024 11:17:27 +0100 Subject: [PATCH 819/875] Add rollBack Scenarios to coupled config --- config/scenario_config_coupled.csv | 43 ++++++++++++++++-------------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/config/scenario_config_coupled.csv b/config/scenario_config_coupled.csv index 957e1ae48..d87479528 100644 --- a/config/scenario_config_coupled.csv +++ b/config/scenario_config_coupled.csv @@ -1,20 +1,23 @@ -title;start;oldrun;path_report;qos;config/scenario_config.csv;no_ghgprices_land_until;path_gdx;path_gdx_bau;path_gdx_ref -SSP1-NDC;0;;;;SDP-MC|SSP1-POP-GDP|NDC|nocc_hist|rcp4p5;y2150;;; -SSP1-NPi2025;0;;;;SDP-MC|SSP1-POP-GDP|NPI|nocc_hist|rcp4p5;y2150;;; -SSP1-PkBudg1000;0;;;;SDP-MC|SSP1-POP-GDP|NDC|nocc_hist|rcp2p6;y2030;;; -SSP1-PkBudg650;0;;;;SDP-MC|SSP1-POP-GDP|NDC|nocc_hist|rcp1p9;y2030;;; -SSP2_lowEn-NDC;0;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;;; -SSP2_lowEn-NPi2025;0;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;;; -SSP2_lowEn-PkBudg1000;0;;;;SSP2|NDC|nocc_hist|rcp2p6;y2030;;; -SSP2_lowEn-PkBudg650;0;;;;SSP2|NDC|nocc_hist|rcp1p9;y2030;;; -SSP2-NDC;0;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;;; -SSP2-NPi2025;0;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;;; -SSP2-PkBudg1000;0;;;;SSP2|NDC|nocc_hist|rcp2p6;y2030;;; -SSP2-PkBudg650;0;;;;SSP2|NDC|nocc_hist|rcp1p9;y2030;;; -SSP3-NDC;0;;;;SSP3|NDC|nocc_hist|rcp4p5;y2150;;; -SSP3-NPi2025;0;;;;SSP3|NPI|nocc_hist|rcp4p5;y2150;;; -SSP3-PkBudg1000;0;;;;SSP3|NDC|nocc_hist|rcp2p6;y2030;;; -SSP5-NDC;0;;;;SSP5|NDC|nocc_hist|rcp4p5;y2150;;; -SSP5-NPi2025;0;;;;SSP5|NPI|nocc_hist|rcp4p5;y2150;;; -SSP5-PkBudg1000;0;;;;SSP5|NDC|nocc_hist|rcp2p6;y2030;;; -SSP5-PkBudg650;0;;;;SSP5|NDC|nocc_hist|rcp1p9;y2030;;; +title;start;oldrun;path_report;qos;config/scenario_config.csv;no_ghgprices_land_until;path_gdx;path_gdx_bau;path_gdx_ref;cfg_mag$gms$s32_npi_ndc_reversal;cfg_mag$gms$s35_npi_ndc_reversal +SSP1-NDC;0;;;;SDP-MC|SSP1-POP-GDP|NDC|nocc_hist|rcp4p5;y2150;;;;; +SSP1-NPi2025;0;;;;SDP-MC|SSP1-POP-GDP|NPI|nocc_hist|rcp4p5;y2150;;;;; +SSP1-PkBudg1000;0;;;;SDP-MC|SSP1-POP-GDP|NDC|nocc_hist|rcp2p6;y2030;;;;; +SSP1-PkBudg650;0;;;;SDP-MC|SSP1-POP-GDP|NDC|nocc_hist|rcp1p9;y2030;;;;; +SSP2_lowEn-NDC;0;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;;;;; +SSP2_lowEn-NPi2025;0;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;;;;; +SSP2_lowEn-PkBudg1000;0;;;;SSP2|NDC|nocc_hist|rcp2p6;y2030;;;;; +SSP2_lowEn-PkBudg650;0;;;;SSP2|NDC|nocc_hist|rcp1p9;y2030;;;;; +SSP2-EcBudg400;0;;;;SSP2|NDC|nocc_hist|rcp2p6;y2035;;;;; +SSP2-NDC;0;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;;;;; +SSP2-NPi2025;0;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;;;;; +SSP2-PkBudg1000;0;;;;SSP2|NDC|nocc_hist|rcp2p6;y2030;;;;; +SSP2-PkBudg650;0;;;;SSP2|NDC|nocc_hist|rcp1p9;y2030;;;;; +SSP2-rollBack;0;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;;;;2030;2030 +SSP3-NDC;0;;;;SSP3|NDC|nocc_hist|rcp4p5;y2150;;;;; +SSP3-NPi2025;0;;;;SSP3|NPI|nocc_hist|rcp4p5;y2150;;;;; +SSP3-PkBudg1000;0;;;;SSP3|NDC|nocc_hist|rcp2p6;y2030;;;;; +SSP3-rollBack;0;;;;SSP3|NPI|nocc_hist|rcp4p5;y2150;;;;2030;2030 +SSP5-NDC;0;;;;SSP5|NDC|nocc_hist|rcp4p5;y2150;;;;; +SSP5-NPi2025;0;;;;SSP5|NPI|nocc_hist|rcp4p5;y2150;;;;; +SSP5-PkBudg1000;0;;;;SSP5|NDC|nocc_hist|rcp2p6;y2030;;;;; +SSP5-PkBudg650;0;;;;SSP5|NDC|nocc_hist|rcp1p9;y2030;;;;; From f9af18a9a2581862d5b01721c5c953862cb8673e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Tue, 3 Dec 2024 12:29:44 +0100 Subject: [PATCH 820/875] Add s15_elastic_demand to coupled config --- config/scenario_config_coupled.csv | 46 +++++++++++++++--------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/config/scenario_config_coupled.csv b/config/scenario_config_coupled.csv index d87479528..64ee89c35 100644 --- a/config/scenario_config_coupled.csv +++ b/config/scenario_config_coupled.csv @@ -1,23 +1,23 @@ -title;start;oldrun;path_report;qos;config/scenario_config.csv;no_ghgprices_land_until;path_gdx;path_gdx_bau;path_gdx_ref;cfg_mag$gms$s32_npi_ndc_reversal;cfg_mag$gms$s35_npi_ndc_reversal -SSP1-NDC;0;;;;SDP-MC|SSP1-POP-GDP|NDC|nocc_hist|rcp4p5;y2150;;;;; -SSP1-NPi2025;0;;;;SDP-MC|SSP1-POP-GDP|NPI|nocc_hist|rcp4p5;y2150;;;;; -SSP1-PkBudg1000;0;;;;SDP-MC|SSP1-POP-GDP|NDC|nocc_hist|rcp2p6;y2030;;;;; -SSP1-PkBudg650;0;;;;SDP-MC|SSP1-POP-GDP|NDC|nocc_hist|rcp1p9;y2030;;;;; -SSP2_lowEn-NDC;0;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;;;;; -SSP2_lowEn-NPi2025;0;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;;;;; -SSP2_lowEn-PkBudg1000;0;;;;SSP2|NDC|nocc_hist|rcp2p6;y2030;;;;; -SSP2_lowEn-PkBudg650;0;;;;SSP2|NDC|nocc_hist|rcp1p9;y2030;;;;; -SSP2-EcBudg400;0;;;;SSP2|NDC|nocc_hist|rcp2p6;y2035;;;;; -SSP2-NDC;0;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;;;;; -SSP2-NPi2025;0;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;;;;; -SSP2-PkBudg1000;0;;;;SSP2|NDC|nocc_hist|rcp2p6;y2030;;;;; -SSP2-PkBudg650;0;;;;SSP2|NDC|nocc_hist|rcp1p9;y2030;;;;; -SSP2-rollBack;0;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;;;;2030;2030 -SSP3-NDC;0;;;;SSP3|NDC|nocc_hist|rcp4p5;y2150;;;;; -SSP3-NPi2025;0;;;;SSP3|NPI|nocc_hist|rcp4p5;y2150;;;;; -SSP3-PkBudg1000;0;;;;SSP3|NDC|nocc_hist|rcp2p6;y2030;;;;; -SSP3-rollBack;0;;;;SSP3|NPI|nocc_hist|rcp4p5;y2150;;;;2030;2030 -SSP5-NDC;0;;;;SSP5|NDC|nocc_hist|rcp4p5;y2150;;;;; -SSP5-NPi2025;0;;;;SSP5|NPI|nocc_hist|rcp4p5;y2150;;;;; -SSP5-PkBudg1000;0;;;;SSP5|NDC|nocc_hist|rcp2p6;y2030;;;;; -SSP5-PkBudg650;0;;;;SSP5|NDC|nocc_hist|rcp1p9;y2030;;;;; +title;start;oldrun;path_report;qos;config/scenario_config.csv;no_ghgprices_land_until;path_gdx;path_gdx_bau;path_gdx_ref;cfg_mag$gms$s15_elastic_demand;cfg_mag$gms$s32_npi_ndc_reversal;cfg_mag$gms$s35_npi_ndc_reversal +SSP1-NDC;0;;;;SDP-MC|SSP1-POP-GDP|NDC|nocc_hist|rcp4p5;y2150;;;;1;; +SSP1-NPi2025;0;;;;SDP-MC|SSP1-POP-GDP|NPI|nocc_hist|rcp4p5;y2150;;;;1;; +SSP1-PkBudg1000;0;;;;SDP-MC|SSP1-POP-GDP|NDC|nocc_hist|rcp2p6;y2030;;;;1;; +SSP1-PkBudg650;0;;;;SDP-MC|SSP1-POP-GDP|NDC|nocc_hist|rcp1p9;y2030;;;;1;; +SSP2_lowEn-NDC;0;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;;;;1;; +SSP2_lowEn-NPi2025;0;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;;;;1;; +SSP2_lowEn-PkBudg1000;0;;;;SSP2|NDC|nocc_hist|rcp2p6;y2030;;;;1;; +SSP2_lowEn-PkBudg650;0;;;;SSP2|NDC|nocc_hist|rcp1p9;y2030;;;;1;; +SSP2-EcBudg400;0;;;;SSP2|NDC|nocc_hist|rcp2p6;y2035;;;;1;; +SSP2-NDC;0;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;;;;1;; +SSP2-NPi2025;0;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;;;;1;; +SSP2-PkBudg1000;0;;;;SSP2|NDC|nocc_hist|rcp2p6;y2030;;;;1;; +SSP2-PkBudg650;0;;;;SSP2|NDC|nocc_hist|rcp1p9;y2030;;;;1;; +SSP2-rollBack;0;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;;;;1;2030;2030 +SSP3-NDC;0;;;;SSP3|NDC|nocc_hist|rcp4p5;y2150;;;;1;; +SSP3-NPi2025;0;;;;SSP3|NPI|nocc_hist|rcp4p5;y2150;;;;1;; +SSP3-PkBudg1000;0;;;;SSP3|NDC|nocc_hist|rcp2p6;y2030;;;;1;; +SSP3-rollBack;0;;;;SSP3|NPI|nocc_hist|rcp4p5;y2150;;;;1;2030;2030 +SSP5-NDC;0;;;;SSP5|NDC|nocc_hist|rcp4p5;y2150;;;;1;; +SSP5-NPi2025;0;;;;SSP5|NPI|nocc_hist|rcp4p5;y2150;;;;1;; +SSP5-PkBudg1000;0;;;;SSP5|NDC|nocc_hist|rcp2p6;y2030;;;;1;; +SSP5-PkBudg650;0;;;;SSP5|NDC|nocc_hist|rcp1p9;y2030;;;;1;; From 834c1b321b8b88006ae6086841f0d05805fac929 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Tue, 3 Dec 2024 12:36:17 +0100 Subject: [PATCH 821/875] Add SSP2-NPi to coupled config since it is needed for NDC scenarios --- config/scenario_config_coupled.csv | 1 + 1 file changed, 1 insertion(+) diff --git a/config/scenario_config_coupled.csv b/config/scenario_config_coupled.csv index 64ee89c35..34d5de0ad 100644 --- a/config/scenario_config_coupled.csv +++ b/config/scenario_config_coupled.csv @@ -9,6 +9,7 @@ SSP2_lowEn-PkBudg1000;0;;;;SSP2|NDC|nocc_hist|rcp2p6;y2030;;;;1;; SSP2_lowEn-PkBudg650;0;;;;SSP2|NDC|nocc_hist|rcp1p9;y2030;;;;1;; SSP2-EcBudg400;0;;;;SSP2|NDC|nocc_hist|rcp2p6;y2035;;;;1;; SSP2-NDC;0;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;;;;1;; +SSP2-NPi;0;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;;;;1;; SSP2-NPi2025;0;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;;;;1;; SSP2-PkBudg1000;0;;;;SSP2|NDC|nocc_hist|rcp2p6;y2030;;;;1;; SSP2-PkBudg650;0;;;;SSP2|NDC|nocc_hist|rcp1p9;y2030;;;;1;; From 8b99eeffbd5066d4761ac6204e77486fce762ec7 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 3 Dec 2024 11:42:08 +0000 Subject: [PATCH 822/875] Release development version 3.3.2.dev1091 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index faf48da92..475d030be 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev1081" +version: "3.3.2.dev1091" date-released: 2024-12-03 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index ef5bc9ec5..5ba508622 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev1081" +cfg$model_version <- "3.3.2.dev1091" #### settings #### cfg$gms <- list() From 35e31550ed4ed9b1f6c9b62a75c22b80935832e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Tue, 3 Dec 2024 14:05:43 +0100 Subject: [PATCH 823/875] Add 5Gt OAE limit to SSP2-EcBudg400 scenario --- config/scenario_config.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/scenario_config.csv b/config/scenario_config.csv index dba4278e7..de3c64863 100644 --- a/config/scenario_config.csv +++ b/config/scenario_config.csv @@ -8,7 +8,7 @@ SSP2-NPi2025;1,AMT,2;;;;;rcp45;;;;0;0;NPi2025;;;;;;9;;;;;;;;;;;;;;NPi2018;regiCa SSP2-PkBudg500;1,AMT,2;;;;;rcp20;globallyOptimal;;;9;500;functionalForm;;200;2045;;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;1;2030;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be well below 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. SSP2-PkBudg650;1,AMT,2;;;;;rcp20;globallyOptimal;;;9;650;functionalForm;;100;2055;;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;1;2030;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. SSP2-PkBudg1000;1,AMT,2;;;;;rcp26;globallyOptimal;;;9;1000;functionalForm;;75;2080;;;9;;;;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;1;2030;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -SSP2-EcBudg400;1,AMT,2;;;;;rcp26;globallyOptimal;;;5;400;functionalForm;exponential;70;;initialSpread20;GLO 2070;9;;;;;1;1;0;;;;;;2060.GLO 0.9;NDC;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;1;2035;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-EcBudg400: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes an end-of-century budget of 400 Gt CO2 on total CO2 emissions from 2020 to 2100. This is a high overshoot scenario with delayed climate policy. +SSP2-EcBudg400;1,AMT,2;;;;;rcp26;globallyOptimal;;;5;400;functionalForm;exponential;70;;initialSpread20;GLO 2070;9;;;;;1;1;0;;;;;;2060.GLO 0.9;NDC;regiCarbonPrice;(2080,2090,2100).GLO.tax.t.oae.all 5000;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;1;2035;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-EcBudg400: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes an end-of-century budget of 400 Gt CO2 on total CO2 emissions from 2020 to 2100. This is a high overshoot scenario with delayed climate policy. SSP2-rollBack;1,AMT,2;;;;;rcp45;;;;0;0;none;;;;;;0;;;1;;;;;;;;;;;none;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;1;2030;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-rollBack: This rollback of climate policy scenario follows the Shared Socioeconomic Pathways 3 called Middle of the Road. # EU21 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP2-EU21-NPi-calibrate;calibrate;calibrate;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;;;0;NPi;;;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;;2005;;;;;SSP2-EU21-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. From 7f290caa51853a045f4456fa468f634772072cd8 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 3 Dec 2024 13:18:10 +0000 Subject: [PATCH 824/875] Release development version 3.3.2.dev1094 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 475d030be..01719528c 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev1091" +version: "3.3.2.dev1094" date-released: 2024-12-03 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 5ba508622..6adcfebff 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -73,7 +73,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.3.2.dev1091" +cfg$model_version <- "3.3.2.dev1094" #### settings #### cfg$gms <- list() From 1f9ce040011083100bfab4fd102a937cad84ae0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tonn=20R=C3=BCter?= Date: Tue, 3 Dec 2024 15:18:43 +0100 Subject: [PATCH 825/875] Rm'd magicc_scenario, magicc_sed_script file declaractions --- core/declarations.gms | 8 -------- 1 file changed, 8 deletions(-) diff --git a/core/declarations.gms b/core/declarations.gms index 387ac9579..a9b53180f 100644 --- a/core/declarations.gms +++ b/core/declarations.gms @@ -648,14 +648,6 @@ pm_cintraw("pegas") = 15.0 / s_zj_2_twa; ***---------------------------------------------------------------------------------------- *** F I L E S ***---------------------------------------------------------------------------------------- -file magicc_scenario / "./magicc/REMIND_%c_expname%.SCEN" /; - -magicc_scenario.ap = 0; -magicc_scenario.pw = 3000; - -file magicc_sed_script / "./magicc/modify_MAGCFG_USER_CFG.sed" /; - -magicc_sed_script.ap = 0; *** emissions reporting helper parameters From e58371d02177340f036647fd80cf1376d27b16de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tonn=20R=C3=BCter?= Date: Tue, 3 Dec 2024 15:34:54 +0100 Subject: [PATCH 826/875] No sets.gms in 15_climate/magicc7_ar6 realization --- modules/15_climate/magicc7_ar6/realization.gms | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/15_climate/magicc7_ar6/realization.gms b/modules/15_climate/magicc7_ar6/realization.gms index 2331d2298..a34532004 100644 --- a/modules/15_climate/magicc7_ar6/realization.gms +++ b/modules/15_climate/magicc7_ar6/realization.gms @@ -30,7 +30,6 @@ *' the emissions of that iteration. *####################### R SECTION START (PHASES) ############################## -$Ifi "%phase%" == "sets" $include "./modules/15_climate/magicc7_ar6/sets.gms" $Ifi "%phase%" == "declarations" $include "./modules/15_climate/magicc7_ar6/declarations.gms" $Ifi "%phase%" == "datainput" $include "./modules/15_climate/magicc7_ar6/datainput.gms" $Ifi "%phase%" == "postsolve" $include "./modules/15_climate/magicc7_ar6/postsolve.gms" From 55f065a2cdcf0ea76b99fc37420e971d3cfef7c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Tue, 3 Dec 2024 18:50:33 +0100 Subject: [PATCH 827/875] Integrated postsolve algorithm for end-of-century budgets (cm_iterative_target_adj = 5) into more recent postsolve algorithm for peak budgets (cm_iterative_target_adj = 9) --- main.gms | 4 +- modules/45_carbonprice/NDC/not_used.txt | 1 - modules/45_carbonprice/NPi/not_used.txt | 1 - modules/45_carbonprice/NPi2025/datainput.gms | 2 +- modules/45_carbonprice/NPi2025/not_used.txt | 1 - .../45_carbonprice/NPi2025expo/datainput.gms | 2 +- .../45_carbonprice/NPi2025expo/not_used.txt | 1 - modules/45_carbonprice/NPiexpo/datainput.gms | 2 +- modules/45_carbonprice/NPiexpo/not_used.txt | 1 - modules/45_carbonprice/exogenous/not_used.txt | 1 - .../45_carbonprice/expoLinear/not_used.txt | 1 - .../functionalForm/datainput.gms | 6 +- .../functionalForm/declarations.gms | 4 +- .../functionalForm/postsolve.gms | 516 ++++++++---------- .../functionalForm/realization.gms | 2 +- modules/45_carbonprice/none/not_used.txt | 1 - .../temperatureNotToExceed/not_used.txt | 1 - 17 files changed, 237 insertions(+), 310 deletions(-) diff --git a/main.gms b/main.gms index a5be06851..4e9ae4c13 100755 --- a/main.gms +++ b/main.gms @@ -393,8 +393,8 @@ $setglobal emicapregi none !! def = none *' * (NPi): National Policies Implemented, extrapolation of historical (until 2020) carbon prices *' * (none): no tax policy (combined with all emiscens except emiscen = 9) -*** (exponential) is superseded by (functionalForm): For a globally uniform, exponentially increasing carbonprice path until end of century [in combination with cm_iterative_target_adj = 0 or 5], set cm_taxCO2_functionalForm = exponential, cm_taxCO2_regiDiff = none, cm_taxCO2_interpolation = off, cm_taxCO2_lowerBound_path_gdx_ref = off, cm_peakBudgYr = 2110, and choose the initial carbonprice in cm_startyear via cm_taxCO2_startyear. -*** (linear) is superseded by (functionalForm): For a globally uniform, linearly increasing carbonprice path until end of century [in combination with cm_iterative_target_adj = 0 or 5], set cm_taxCO2_functionalForm = linear, cm_taxCO2_regiDiff = none, cm_taxCO2_interpolation = off, cm_taxCO2_lowerBound_path_gdx_ref = off, cm_peakBudgYr = 2110, and choose the initial carbonprice in cm_startyear via cm_taxCO2_startyear. [Adjust historical reference point (cm_taxCO2_historicalYr, cm_taxCO2_historical) if needed.] +*** (exponential) is superseded by (functionalForm): For a globally uniform, exponentially increasing carbonprice path until end of century [in combination with cm_iterative_target_adj = 0 or 5], set cm_taxCO2_functionalForm = exponential, cm_taxCO2_regiDiff = none, cm_taxCO2_interpolation = off, cm_taxCO2_lowerBound_path_gdx_ref = off, cm_peakBudgYr = 2100, and choose the initial carbonprice in cm_startyear via cm_taxCO2_startyear. +*** (linear) is superseded by (functionalForm): For a globally uniform, linearly increasing carbonprice path until end of century [in combination with cm_iterative_target_adj = 0 or 5], set cm_taxCO2_functionalForm = linear, cm_taxCO2_regiDiff = none, cm_taxCO2_interpolation = off, cm_taxCO2_lowerBound_path_gdx_ref = off, cm_peakBudgYr = 2100, and choose the initial carbonprice in cm_startyear via cm_taxCO2_startyear. [Adjust historical reference point (cm_taxCO2_historicalYr, cm_taxCO2_historical) if needed.] $setglobal carbonprice none !! def = none *'--------------------- 46_carbonpriceRegi --------------------------------- diff --git a/modules/45_carbonprice/NDC/not_used.txt b/modules/45_carbonprice/NDC/not_used.txt index f55431927..5f68b6bbf 100644 --- a/modules/45_carbonprice/NDC/not_used.txt +++ b/modules/45_carbonprice/NDC/not_used.txt @@ -21,7 +21,6 @@ pm_gdp,input,questionnaire cm_peakBudgYr,input,added by codeCheck fm_taxCO2eqHist,input,not needed sm_budgetCO2eqGlob,input,no iterative target adjustment -sm_globalBudget_dev,input,no iterative target adjustment vm_emiTe,input,no iterative target adjustment vm_emiCdr,input,no iterative target adjustment vm_emiMac,input,no iterative target adjustment diff --git a/modules/45_carbonprice/NPi/not_used.txt b/modules/45_carbonprice/NPi/not_used.txt index 70c968d89..64e2dfe2e 100644 --- a/modules/45_carbonprice/NPi/not_used.txt +++ b/modules/45_carbonprice/NPi/not_used.txt @@ -29,7 +29,6 @@ cm_startyear,input,added by codeCheck cm_peakBudgYr,input,added by codeCheck fm_taxCO2eqHist,input,not needed sm_budgetCO2eqGlob,input,no iterative target adjustment -sm_globalBudget_dev,input,no iterative target adjustment vm_emiTe,input,no iterative target adjustment vm_emiCdr,input,no iterative target adjustment vm_emiMac,input,no iterative target adjustment diff --git a/modules/45_carbonprice/NPi2025/datainput.gms b/modules/45_carbonprice/NPi2025/datainput.gms index e858e41c4..0df1afaca 100755 --- a/modules/45_carbonprice/NPi2025/datainput.gms +++ b/modules/45_carbonprice/NPi2025/datainput.gms @@ -18,6 +18,6 @@ loop(ext_regi$sameas(ext_regi, "EUR_regi"), pm_taxCO2eq(t,regi)$(t.val ge 2030 AND regi_group(ext_regi,regi)) = (fm_taxCO2eqHist("2030",regi)+ (t.val - 2030) * (20/75)) * sm_DptCO2_2_TDpGtC; ); -pm_taxCO2eq(t,regi)$(t.val gt 2110) = pm_taxCO2eq("2110",regi); !! to prevent huge taxes after 2110 and the resulting convergence problems, set taxes after 2110 equal to 2110 value +pm_taxCO2eq(t,regi)$(t.val gt 2100) = pm_taxCO2eq("2100",regi); !! to prevent huge taxes after 2100 and the resulting convergence problems, set taxes after 2100 equal to 2100 value *** EOF ./modules/45_carbonprice/NPi2025/datainput.gms diff --git a/modules/45_carbonprice/NPi2025/not_used.txt b/modules/45_carbonprice/NPi2025/not_used.txt index 5bcbd0b85..1be080937 100755 --- a/modules/45_carbonprice/NPi2025/not_used.txt +++ b/modules/45_carbonprice/NPi2025/not_used.txt @@ -29,7 +29,6 @@ pm_emifac,input,questionnaire cm_peakBudgYr,input,not needed sm_D2005_2_D2017,input,not needed sm_budgetCO2eqGlob,input,added by codeCheck -sm_globalBudget_dev,input,added by codeCheck vm_emiTe,input,added by codeCheck vm_emiCdr,input,added by codeCheck vm_emiMac,input,added by codeCheck diff --git a/modules/45_carbonprice/NPi2025expo/datainput.gms b/modules/45_carbonprice/NPi2025expo/datainput.gms index 394c63083..dccbc659d 100755 --- a/modules/45_carbonprice/NPi2025expo/datainput.gms +++ b/modules/45_carbonprice/NPi2025expo/datainput.gms @@ -18,6 +18,6 @@ loop(ext_regi$sameas(ext_regi, "EUR_regi"), pm_taxCO2eq(t,regi)$(t.val ge 2030 AND regi_group(ext_regi,regi)) = fm_taxCO2eqHist("2030",regi) * sm_DptCO2_2_TDpGtC * cm_taxCO2_expGrowth**(t.val - 2030); ); -pm_taxCO2eq(t,regi)$(t.val gt 2110) = pm_taxCO2eq("2110",regi); !! to prevent huge taxes after 2110 and the resulting convergence problems, set taxes after 2110 equal to 2110 value +pm_taxCO2eq(t,regi)$(t.val gt 2100) = pm_taxCO2eq("2100",regi); !! to prevent huge taxes after 2100 and the resulting convergence problems, set taxes after 2100 equal to 2100 value *** EOF ./modules/45_carbonprice/NPi2025expo/datainput.gms diff --git a/modules/45_carbonprice/NPi2025expo/not_used.txt b/modules/45_carbonprice/NPi2025expo/not_used.txt index ef3c5f10e..f8c073dfd 100755 --- a/modules/45_carbonprice/NPi2025expo/not_used.txt +++ b/modules/45_carbonprice/NPi2025expo/not_used.txt @@ -29,7 +29,6 @@ pm_emifac,input,questionnaire cm_peakBudgYr,input,not needed sm_D2005_2_D2017,input,not needed sm_budgetCO2eqGlob,input,no iterative target adjustment -sm_globalBudget_dev,input,no iterative target adjustment vm_emiTe,input,no iterative target adjustment vm_emiCdr,input,no iterative target adjustment vm_emiMac,input,no iterative target adjustment diff --git a/modules/45_carbonprice/NPiexpo/datainput.gms b/modules/45_carbonprice/NPiexpo/datainput.gms index 00ce621b9..04ef89033 100644 --- a/modules/45_carbonprice/NPiexpo/datainput.gms +++ b/modules/45_carbonprice/NPiexpo/datainput.gms @@ -15,7 +15,7 @@ Execute_Loadpoint "input_ref" pm_taxCO2eq = pm_taxCO2eq; *** calculate pm_taxCO2eq for year before startyear pm_taxCO2eq(t,regi) = sum(ttot, pm_taxCO2eq(ttot,regi)$(ttot.val eq smax(ttot2$( ttot2.val lt cm_startyear ), ttot2.val))) * cm_taxCO2_expGrowth**(t.val-smax(ttot2$( ttot2.val lt cm_startyear ), ttot2.val)); -pm_taxCO2eq(t,regi)$(t.val gt 2110) = pm_taxCO2eq("2110",regi); !! to prevent huge taxes after 2110 and the resulting convergence problems, set taxes after 2110 equal to 2110 value +pm_taxCO2eq(t,regi)$(t.val gt 2100) = pm_taxCO2eq("2100",regi); !! to prevent huge taxes after 2100 and the resulting convergence problems, set taxes after 2100 equal to 2100 value *** EOF ./modules/45_carbonprice/NPiexpo/datainput.gms diff --git a/modules/45_carbonprice/NPiexpo/not_used.txt b/modules/45_carbonprice/NPiexpo/not_used.txt index be908a924..036e44372 100644 --- a/modules/45_carbonprice/NPiexpo/not_used.txt +++ b/modules/45_carbonprice/NPiexpo/not_used.txt @@ -30,7 +30,6 @@ cm_peakBudgYr,input,added by codeCheck fm_taxCO2eqHist,input,not needed sm_D2005_2_D2017,input,not needed sm_budgetCO2eqGlob,input,no iterative target adjustment -sm_globalBudget_dev,input,no iterative target adjustment vm_emiTe,input,no iterative target adjustment vm_emiCdr,input,no iterative target adjustment vm_emiMac,input,no iterative target adjustment diff --git a/modules/45_carbonprice/exogenous/not_used.txt b/modules/45_carbonprice/exogenous/not_used.txt index 1c046562f..367ba5d9d 100644 --- a/modules/45_carbonprice/exogenous/not_used.txt +++ b/modules/45_carbonprice/exogenous/not_used.txt @@ -29,7 +29,6 @@ cm_peakBudgYr,input,added by codeCheck sm_D2005_2_D2017,input,not needed fm_taxCO2eqHist,input,not needed sm_budgetCO2eqGlob,input,no iterative target adjustment -sm_globalBudget_dev,input,no iterative target adjustment vm_emiTe,input,no iterative target adjustment vm_emiCdr,input,no iterative target adjustment vm_emiMac,input,no iterative target adjustment diff --git a/modules/45_carbonprice/expoLinear/not_used.txt b/modules/45_carbonprice/expoLinear/not_used.txt index 6262db85f..6eebed102 100644 --- a/modules/45_carbonprice/expoLinear/not_used.txt +++ b/modules/45_carbonprice/expoLinear/not_used.txt @@ -26,7 +26,6 @@ cm_peakBudgYr,input,added by codeCheck sm_D2005_2_D2017,input,not needed fm_taxCO2eqHist,input,not needed sm_budgetCO2eqGlob,input,no iterative target adjustment -sm_globalBudget_dev,input,no iterative target adjustment vm_emiTe,input,no iterative target adjustment vm_emiCdr,input,no iterative target adjustment vm_emiMac,input,no iterative target adjustment diff --git a/modules/45_carbonprice/functionalForm/datainput.gms b/modules/45_carbonprice/functionalForm/datainput.gms index b55afb1c6..e8f3864a6 100644 --- a/modules/45_carbonprice/functionalForm/datainput.gms +++ b/modules/45_carbonprice/functionalForm/datainput.gms @@ -83,7 +83,7 @@ $endIf.taxCO2globalAnchor *** Part II (Post-peak behaviour): The global anchor trajectory can be adjusted after reaching the peak of global CO2 emissions in cm_peakBudgYr. *** The (initial) choice of cm_peakBudgYr is endogenously adjusted if cm_iterative_target_adj is set to 7 or 9. *** (with iterative_target_adj = 0): after cm_peakBudgYr, the global anchor trajectory increases linearly with fixed annual increase given by cm_taxCO2_IncAfterPeakBudgYr (default = 0, i.e. constant), -*** set cm_peakBudgYr = 2110 to avoid adjustment +*** set cm_peakBudgYr = 2100 to avoid adjustment *** (with iterative_target_adj = 5): no adjustment to the functional form after cm_peakBudgYr *** (with iterative_target_adj = 7): after cm_peakBudgYr, the global anchor trajectory is adjusted so that global net CO2 emissions stay close to zero *** (with iterative_target_adj = 9): after cm_peakBudgYr, the global anchor trajectory increases linearly with fixed annual increase given by cm_taxCO2_IncAfterPeakBudgYr (default = 0, i.e. constant) @@ -98,8 +98,8 @@ if((cm_iterative_target_adj = 0) or (cm_iterative_target_adj = 9), + (t.val - cm_peakBudgYr) * cm_taxCO2_IncAfterPeakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by cm_taxCO2inc_after_peakBudgYr per year ); -*** Always set carbon price constant after 2110 to prevent huge taxes after 2110 and the resulting convergence problems -p45_taxCO2eq_anchor(t)$(t.val gt 2110) = p45_taxCO2eq_anchor("2110"); +*** Always set carbon price constant after 2100 to prevent huge taxes after 2100 and the resulting convergence problems +p45_taxCO2eq_anchor(t)$(t.val gt 2100) = p45_taxCO2eq_anchor("2100"); display p45_taxCO2eq_anchor_until2150, p45_taxCO2eq_anchor; ***----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- diff --git a/modules/45_carbonprice/functionalForm/declarations.gms b/modules/45_carbonprice/functionalForm/declarations.gms index 35a5a9837..2619bcf27 100644 --- a/modules/45_carbonprice/functionalForm/declarations.gms +++ b/modules/45_carbonprice/functionalForm/declarations.gms @@ -59,6 +59,8 @@ $endIf.taxCO2interpolation1 scalars s45_actualbudgetco2 "actual level of 2020-2100 cumulated emissions, including all CO2 for last iteration" s45_actualbudgetco2_last "actual level of 2020-2100 cumulated emissions for previous iteration" /0/ +s45_factorRescale_taxCO2_exponent_before10 "exponent determining sensitivity before iteration 10" +s45_factorRescale_taxCO2_exponent_from10 "exponent determining sensitivity of CO2 price adjustment to CO2 budget deviation from iteration 10" ; *** Parameters only used in functionForm/postsolve.gms @@ -67,7 +69,7 @@ p45_actualbudgetco2(ttot) "actual level of cumulat p45_taxCO2eq_iteration(iteration,ttot,all_regi) "save pm_taxCO2eq from each iteration for debugging" p45_taxCO2eq_anchor_iteration(iteration,ttot) "save p45_taxCO2eq_anchor from each iteration for debugging" -o45_taxCO2eq_anchor_iterDiff_Itr(iteration) "track pm_taxCO2eq_anchor_iterationdiff over iterations" +o45_taxCO2eq_anchor_iterDiff_Itr(iteration) "track pm_taxCO2eq_anchor_iterationdiff in 2100 over iterations" o45_diff_to_Budg(iteration) "Difference between actual CO2 budget and target CO2 budget" o45_totCO2emi_peakBudgYr(iteration) "Total CO2 emissions in the peakBudgYr" diff --git a/modules/45_carbonprice/functionalForm/postsolve.gms b/modules/45_carbonprice/functionalForm/postsolve.gms index 9755f0fb2..2fe3ab36d 100644 --- a/modules/45_carbonprice/functionalForm/postsolve.gms +++ b/modules/45_carbonprice/functionalForm/postsolve.gms @@ -6,92 +6,233 @@ *** | Contact: remind@pik-potsdam.de *** SOF ./modules/45_carbonprice/functionalForm/postsolve.gms -*** Only run postsolve if cm_iterative_target_adj is not equal to 0. -if((cm_iterative_target_adj ne 0), +***----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +*** Part 0 (Actual CO2 budget): If iterative_target_adj = 0, 7 or 9, compute actual CO2 peak budget in current iteration. If iterative_target_adj = 5, compute actual CO2 end-of-century budget in current iteration. +***----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + +*** `p45_actualbudgetco2(ttot)` includes emissions from 2020 to `ttot` (inclusive). +p45_actualbudgetco2(ttot)$( 2020 lt ttot.val ) + = sum((regi,ttot2)$( 2020 le ttot2.val AND ttot2.val le ttot.val ), + ( vm_emiTe.l(ttot2,regi,"co2") + vm_emiCdr.l(ttot2,regi,"co2") + vm_emiMac.l(ttot2,regi,"co2")) + * ( (0.5 + pm_ts(ttot2) / 2)$( ttot2.val eq 2020 ) !! second half of the 2020 period (mid 2020 - end 2022) plus 0.5 to account fo beginning 2020 - mid 2020 + + (pm_ts(ttot2))$( 2020 lt ttot2.val AND ttot2.val lt ttot.val ) !! entire middle periods + + ((pm_ttot_val(ttot) - pm_ttot_val(ttot-1)) / 2 + 0.5)$(ttot2.val eq ttot.val ) !! first half of the final period plus 0.5 to account fo mid - end of final year + ) + ) + * sm_c_2_co2; + +if(cm_iterative_target_adj = 5, !! End-of-century budget + s45_actualbudgetco2 = sum(t$(t.val eq 2100),p45_actualbudgetco2(t)); +else !! Peak budget + s45_actualbudgetco2 = smax(t$(t.val le cm_peakBudgYr AND t.val le 2100),p45_actualbudgetco2(t)); + o45_peakBudgYr_Itr(iteration) = cm_peakBudgYr; +); + +display p45_actualbudgetco2, s45_actualbudgetco2; + +*** Copied from postsolve algorithm for cm_iterative_target_adj = 5. TODO: Check where cm_emiscen eq 6 is used and if this should be kept. +if ((cm_emiscen eq 6) AND (cm_iterative_target_adj eq 5), + if(o_modelstat eq 2 AND ord(iteration) 2020), (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_ts(ttot))) - + sum(regi, vm_emiTe.l("2100",regi,"co2") + vm_emiCdr.l("2100",regi,"co2") + vm_emiMac.l("2100",regi,"co2")) * sm_c_2_co2 * (10 - pm_ts("2090")/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); -display s45_actualbudgetco2; - - if (cm_emiscen eq 6, - if(o_modelstat eq 2 AND ord(iteration) 0 AND abs(cm_budgetCO2from2020 - s45_actualbudgetco2) ge 0.5, !!only for optimal iterations, and not after the last one, and only if budget still possitive, and only if target not yet reached - sm_globalBudget_dev = s45_actualbudgetco2 / cm_budgetCO2from2020; -*** make sure that iteration converges: -*** use multiplicative for budgets higher than 1200 Gt; for lower budgets, use multiplicative adjustment only for first 3 iterations, - if(ord(iteration) lt 3 or cm_budgetCO2from2020 > 1200, - !! change in CO2 price through adjustment: new price - old price; needed for adjustment option 2 - pm_taxCO2eq_anchor_iterationdiff(t) = p45_taxCO2eq_anchor(t) * min(max((s45_actualbudgetco2/cm_budgetCO2from2020)** (25/(2 * iteration.val + 23)),0.5+iteration.val/208),2 - iteration.val/102) - p45_taxCO2eq_anchor(t); - p45_taxCO2eq_anchor(t) = p45_taxCO2eq_anchor(t) + pm_taxCO2eq_anchor_iterationdiff(t) ; -*** 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 p45_taxCO2eq_anchor cancel out -> only the difference term - pm_taxCO2eq_anchor_iterationdiff_tmp(t) = - max(pm_taxCO2eq_anchor_iterationdiff(t) * min(max((cm_budgetCO2from2020 - s45_actualbudgetco2)/(s45_actualbudgetco2 - s45_actualbudgetco2_last),-2),2),-p45_taxCO2eq_anchor(t)/2); - p45_taxCO2eq_anchor(t) = p45_taxCO2eq_anchor(t) + - max(pm_taxCO2eq_anchor_iterationdiff(t) * min(max((cm_budgetCO2from2020 - s45_actualbudgetco2)/(s45_actualbudgetco2 - s45_actualbudgetco2_last),-2),2),-p45_taxCO2eq_anchor(t)/2); - pm_taxCO2eq_anchor_iterationdiff(t) = pm_taxCO2eq_anchor_iterationdiff_tmp(t); - ); - o45_taxCO2eq_anchor_iterDiff_Itr(iteration) = pm_taxCO2eq_anchor_iterationdiff("2100"); - else - if(s45_actualbudgetco2 > 0 or abs(cm_budgetCO2from2020 - s45_actualbudgetco2) < 2, !! if model was not optimal, or if budget already reached, keep tax constant - p45_taxCO2eq_anchor(t) = p45_taxCO2eq_anchor(t); - o45_taxCO2eq_anchor_iterDiff_Itr(iteration) = 0; - else -*** if budget has turned negative, reduce CO2 price by 20% - pm_taxCO2eq_anchor_iterationdiff(t) = -0.2*p45_taxCO2eq_anchor(t); - p45_taxCO2eq_anchor(t) = p45_taxCO2eq_anchor(t) + pm_taxCO2eq_anchor_iterationdiff(t); - o45_taxCO2eq_anchor_iterDiff_Itr(iteration) = pm_taxCO2eq_anchor_iterationdiff("2100"); - ); - ); - display o45_taxCO2eq_anchor_iterDiff_Itr; -*** If functionalForm is linear, re-adjust global anchor trajectory to go through the point (cm_taxCO2_historicalYr, cm_taxCO2_historical) -$ifThen.taxCO2functionalForm2 "%cm_taxCO2_functionalForm%" == "linear" -p45_taxCO2eq_anchor(t)$(t.val lt 2110) = s45_taxCO2_historical - + (p45_taxCO2eq_anchor("2110") - s45_taxCO2_historical) / (2110 - s45_taxCO2_historicalYr) !! Yearly increase of CO2 price that interpolates between cm_taxCO2_historical in cm_taxCO2_historicalYr and p45_taxCO2eq_anchor in 2110 +*** --------ALGORITHM for cm_iterative_target_adj eq 5 or 9 ---------------------------------------------------------------------------------------- +*** --------A: calculate the new CO2 price path, beginning with the CO2 tax rescale factor---------------------------------------------------------- +*** -------- this step applies for peak budget and end-of-century budget targets ----------------------------------------------------------------- +if((cm_iterative_target_adj eq 5) OR (cm_iterative_target_adj eq 9), + + if(cm_iterative_target_adj eq 9, !! stronger sensitivity of CO2 price adjustment to CO2 budget deviation for peak budget targets + s45_factorRescale_taxCO2_exponent_before10 = 3; + s45_factorRescale_taxCO2_exponent_from10 = 2; + else !! less sensitivity of CO2 price adjustment to CO2 budget deviation for peak budget targets + s45_factorRescale_taxCO2_exponent_before10 = 2; + s45_factorRescale_taxCO2_exponent_from10 = 1; + ); + + if( (o_modelstat ne 2) OR (abs(cm_budgetCO2from2020 - s45_actualbudgetco2) < 2) OR (ord(iteration) = cm_iteration_max), + !! keep CO2 tax constant if model was not optimal, if maximal number of iterations is reached, or if budget already reached + p45_factorRescale_taxCO2(iteration) = 1; + p45_factorRescale_taxCO2_Funneled(iteration) = p45_factorRescale_taxCO2(iteration); + else !! adjust CO2 tax + if (s45_actualbudgetco2 > 0, !! if budget positive + + !! 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 + if( (cm_iterative_target_adj eq 9) AND ( p45_actualbudgetco2("2100") > 1.1 * s45_actualbudgetco2 ) AND ( abs(cm_budgetCO2from2020 - s45_actualbudgetco2) < 50 ) AND (iteration.val < 12), + display iteration; + display "this is likely an end-of-century budget with no net negative emissions at all. Shift cm_peakBudgYr to 2100"; + cm_peakBudgYr = 2100; + !! due to the potential strong jump in cm_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 + s45_actualbudgetco2 = 0.5 * (p45_actualbudgetco2("2100") + s45_actualbudgetco2); + ); + + !! CO2 tax rescale factor + if(iteration.val lt 10, + p45_factorRescale_taxCO2(iteration) = max(0.1, (s45_actualbudgetco2/cm_budgetCO2from2020) ) ** s45_factorRescale_taxCO2_exponent_before10; + else + p45_factorRescale_taxCO2(iteration) = max(0.1, (s45_actualbudgetco2/cm_budgetCO2from2020) ) ** s45_factorRescale_taxCO2_exponent_from10; + ); + p45_factorRescale_taxCO2_Funneled(iteration) + = max(min( 2 * EXP( -0.15 * iteration.val ) + 1.01 ,p45_factorRescale_taxCO2(iteration)), + 1/ ( 2 * EXP( -0.15 * iteration.val ) + 1.01) + ); + else !! if budget has turned negative, reduce CO2 price by 20% + !! CO2 tax rescale factor + p45_factorRescale_taxCO2(iteration) = 0.8; + p45_factorRescale_taxCO2_Funneled(iteration) = p45_factorRescale_taxCO2(iteration); + ); + display p45_taxCO2eq_anchor, p45_taxCO2eq_anchor_until2150, p45_factorRescale_taxCO2, p45_factorRescale_taxCO2_Funneled; + + !! Apply CO2 tax rescale factor + p45_taxCO2eq_anchor_until2150(t) = max(1* sm_DptCO2_2_TDpGtC, p45_taxCO2eq_anchor_until2150(t) * p45_factorRescale_taxCO2_Funneled(iteration) ); + !! Save difference between iterations for debugging (note that p45_taxCO2eq_anchor was not yet rescaled up to this point) + pm_taxCO2eq_anchor_iterationdiff(t) = max(1* sm_DptCO2_2_TDpGtC, p45_taxCO2eq_anchor(t) * p45_factorRescale_taxCO2_Funneled(iteration) ) - p45_taxCO2eq_anchor(t); + o45_taxCO2eq_anchor_iterDiff_Itr(iteration) = pm_taxCO2eq_anchor_iterationdiff("2100"); + display p45_taxCO2eq_anchor_until2150, pm_taxCO2eq_anchor_iterationdiff, o45_taxCO2eq_anchor_iterDiff_Itr; + + !! If functionalForm is linear, re-adjust global anchor trajectory to go through the point (cm_taxCO2_historicalYr, cm_taxCO2_historical) +$ifThen.taxCO2functionalForm4 "%cm_taxCO2_functionalForm%" == "linear" + p45_taxCO2eq_anchor_until2150(t) = s45_taxCO2_historical + + (sum(t2$(t2.val eq cm_peakBudgYr), p45_taxCO2eq_anchor_until2150(t2)) - s45_taxCO2_historical) / (cm_peakBudgYr - s45_taxCO2_historicalYr) !! Yearly increase of CO2 price that interpolates between cm_taxCO2_historical in cm_taxCO2_historicalYr and p45_taxCO2eq_anchor_until2150 in peak year * (t.val - s45_taxCO2_historicalYr) ; -p45_taxCO2eq_anchor(t)$(t.val gt 2110) = p45_taxCO2eq_anchor("2110"); -$endIf.taxCO2functionalForm2 - ); -); + display p45_taxCO2eq_anchor_until2150; +$endIf.taxCO2functionalForm4 + + !! Use rescaled p45_taxCO2eq_anchor_until2150 as starting point for re-defining p45_taxCO2eq_anchor + p45_taxCO2eq_anchor(t) = p45_taxCO2eq_anchor_until2150(t); + + if(cm_iterative_target_adj = 9, !! After cm_peakBudgYr, the global anchor trajectory increases linearly with fixed annual increase given by cm_taxCO2_IncAfterPeakBudgYr + p45_taxCO2eq_anchor(t)$(t.val gt cm_peakBudgYr) = sum(t2$(t2.val eq cm_peakBudgYr), p45_taxCO2eq_anchor_until2150(t2)) !! CO2 tax in peak budget year + + (t.val - cm_peakBudgYr) * cm_taxCO2_IncAfterPeakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by cm_taxCO2inc_after_peakBudgYr per year + ); + !! Always set carbon price constant after 2100 to prevent huge taxes after 2100 and the resulting convergence problems + p45_taxCO2eq_anchor(t)$(t.val gt 2100) = p45_taxCO2eq_anchor("2100"); + display p45_taxCO2eq_anchor; + + ); !! if( (o_modelstat ne 2) OR (abs(cm_budgetCO2from2020 - s45_actualbudgetco2) < 2) OR (ord(iteration) = cm_iteration_max), +); !! if((cm_iterative_target_adj eq 5) OR (cm_iterative_target_adj eq 9), + + +*** -------B: checking the peak timing, if cm_peakBudgYr is still correct or needs to be shifted----------------------- +*** -------- this step only applies for peak budget targets----------------------------------------------------------- +if(cm_iterative_target_adj eq 9, + o45_diff_to_Budg(iteration) = (cm_budgetCO2from2020 - s45_actualbudgetco2); + o45_totCO2emi_peakBudgYr(iteration) = sum(t$(t.val = cm_peakBudgYr), sum(regi2, vm_emiAll.l(t,regi2,"co2")) ); + o45_totCO2emi_allYrs(t,iteration) = sum(regi2, vm_emiAll.l(t,regi2,"co2") ); + + !! 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 + o45_change_totCO2emi_peakBudgYr(iteration) = sum(ttot$(ttot.val = cm_peakBudgYr), (o45_totCO2emi_allYrs(ttot-1,iteration) - o45_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, o45_diff_to_Budg, o45_peakBudgYr_Itr, o45_totCO2emi_allYrs, o45_totCO2emi_peakBudgYr, o45_change_totCO2emi_peakBudgYr; + + !!----B1: check if cm_peakBudgYr should be shifted left or right: + if( abs(o45_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"; + + !! check if the target year was just shifted back left after being shifted right before + if ( (iteration.val > 2) AND ( o45_peakBudgYr_Itr(iteration - 1) > o45_peakBudgYr_Itr(iteration) ) AND ( o45_peakBudgYr_Itr(iteration - 2) = o45_peakBudgYr_Itr(iteration) ), + o45_pkBudgYr_flipflop(iteration) = 1; + display "flipflop observed (before loop)"; + ); + + loop(ttot$(ttot.val = cm_peakBudgYr), !! look at the peak timing + if( ( (o45_totCO2emi_peakBudgYr(iteration) < -(0.1 + o45_change_totCO2emi_peakBudgYr(iteration)) ) AND (cm_peakBudgYr > 2040) ), !! no peaking time before 2040 + display "shift peakBudgYr left"; + o45_peakBudgYr_Itr(iteration+1) = pm_ttot_val(ttot - 1); + p45_taxCO2eq_anchor(t)$(t.val gt pm_ttot_val(ttot - 1)) = p45_taxCO2eq_anchor_until2150(ttot-1) + (t.val - pm_ttot_val(ttot - 1)) * cm_taxCO2_IncAfterPeakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by cm_taxCO2_IncAfterPeakBudgYr per year after peakBudgYr + + elseif (( o45_totCO2emi_peakBudgYr(iteration) > (0.1 + o45_change_totCO2emi_peakBudgYr(iteration)) ) AND (cm_peakBudgYr < 2100)), !! if peaking time would be after 2100, keep 2100 budget year + if( (o45_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"; + o45_peakBudgYr_Itr(iteration+1) = o45_peakBudgYr_Itr(iteration); !! don't shift right again immediately, but go into a different loop: + o45_delay_increase_peakBudgYear(iteration) = 1; + elseif ( o45_delay_increase_peakBudgYear(iteration) eq 1 ), + display "still in separate loop trying to resolve flip-flop behavior"; + o45_peakBudgYr_Itr(iteration+1) = o45_peakBudgYr_Itr(iteration); !! keep current peakBudgYr, + else + display "shift peakBudgYr right"; + o45_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)), + p45_taxCO2eq_anchor(t) = p45_taxCO2eq_anchor_until2150(ttot+1) + + (t.val - pm_ttot_val(ttot + 1)) * cm_taxCO2_IncAfterPeakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by cm_taxCO2_IncAfterPeakBudgYr per year + ); + ); + + else !! don't do anything if the peakBudgYr is already at the corner values (2040, 2100) or if the emissions in the peakBudgYr are close enough to 0 (within the range of +/- o45_change_totCO2emi_peakBudgYr) + o45_peakBudgYr_Itr(iteration+1) = o45_peakBudgYr_Itr(iteration) + ); + ); + cm_peakBudgYr = o45_peakBudgYr_Itr(iteration+1); + display cm_peakBudgYr; + ); + p45_taxCO2eq_anchor(t)$(t.val le cm_peakBudgYr) = p45_taxCO2eq_anchor_until2150(t); !! 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 + if (o45_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(t2$(t2.val eq pm_ttot_val(ttot+1)), !! set t2 to the following time step + o45_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. + + !! in case the normal linear extension still is not enough to get emissions to 0 after the peakBudgYr, shift peakBudgYr right again: + if( ( o45_reached_until2150pricepath(iteration-1) eq 1 ) AND ( o45_totCO2emi_peakBudgYr(iteration) > (0.1 + o45_change_totCO2emi_peakBudgYr(iteration)) ), + display "price in following year reached original path in previous iteration and is still not enough -> shift peakBudgYr to right"; + o45_delay_increase_peakBudgYear(iteration+1) = 0; !! probably is not necessary + o45_reached_until2150pricepath(iteration) = 0; + o45_peakBudgYr_Itr(iteration+1) = t2.val; !! shift PeakBudgYear to the following time step + p45_taxCO2eq_anchor(t2) = p45_taxCO2eq_anchor_until2150(t2) ; !! set CO2 price in t2 to value in the "continuous path" + + elseif ( ( o45_reached_until2150pricepath(iteration-1) eq 1 ) AND ( o45_totCO2emi_peakBudgYr(iteration) < (0.1 + o45_change_totCO2emi_peakBudgYr(iteration)) ) ), + display "New intermediate price in timestep after cm_peakBudgYr is sufficient to stabilize peaking year - go back to normal loop"; + o45_delay_increase_peakBudgYear(iteration+1) = 0; !! probably is not necessary + o45_reached_until2150pricepath(iteration) = 0; + o45_peakBudgYr_Itr(iteration+1) = o45_peakBudgYr_Itr(iteration); + + 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, + o45_delay_increase_peakBudgYear(iteration+1) = 1; !! make sure next iteration peakBudgYr is not shifted right again + o45_peakBudgYr_Itr(iteration+1) = o45_peakBudgYr_Itr(iteration); + p45_taxCO2eq_anchor(t2) = max(p45_taxCO2eq_anchor(ttot), !! at least as high as the price in the peakBudgYr + p45_taxCO2eq_anchor(t2) * (o45_factorRescale_taxCO2_afterPeakBudgYr(iteration) / p45_factorRescale_taxCO2_Funneled(iteration) ) !! the full path was already rescaled by p45_factorRescale_taxCO2_Funneled, so adjust the second rescaling + ); + loop(regi, !! this loop is necessary to allow the <-comparison in the next if statement + if( p45_taxCO2eq_anchor_until2150(t2) < p45_taxCO2eq_anchor(t2) , !! 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%"; + p45_taxCO2eq_anchor(t2) = 0.99 * p45_taxCO2eq_anchor_until2150(t2); !! 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 + o45_reached_until2150pricepath(iteration) = 1; !! upward CO2 price correction reached the continued price path - check in next iteration if this is high enough. + ); + ); + ); + + display o45_factorRescale_taxCO2_afterPeakBudgYr; + p45_taxCO2eq_anchor(t)$(t.val gt t2.val) = p45_taxCO2eq_anchor(t2) + (t.val - t2.val) * cm_taxCO2_IncAfterPeakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by cm_taxCO2_IncAfterPeakBudgYr 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 = o45_peakBudgYr_Itr(iteration+1); !! this has to happen outside the loop, otherwise the loop condition might be true twice + ); !! if o45_delay_increase_peakBudgYear(iteration) = 1, !! if there was a flip-floping in the previous iterations, try to solve this + display p45_taxCO2eq_anchor, p45_taxCO2eq_anchor_until2150, o45_delay_increase_peakBudgYear, o45_reached_until2150pricepath, o45_peakBudgYr_Itr, o45_pkBudgYr_flipflop, cm_peakBudgYr; +); !! if cm_iterative_target_adj eq 9, + +*** --------ALGORITHM for cm_iterative_target_adj eq 7 ---------------------------------------------------------------------------------------- *** Algorithm for ENGAGE peakBudg formulation that results in a peak budget with zero net CO2 emissions afterwards if(cm_iterative_target_adj eq 7, -*JeS/CB* Iteratively update regional CO2 tax trajectories / regional CO2 budget to reach the target for global peak budget, but make sure CO2 emissions afterward are close to zero on the global level -*KK* p45_actualbudgetco2 for ttot > 2020. It includes emissions from 2020 to ttot (including ttot). -*** (ttot.val - (ttot - 1).val)/2 and pm_ts("2020")/2 are the time periods that haven't been taken into account in the sum over ttot2. -*** 0.5 year of emissions is added for the two boundaries, such that the budget includes emissions in ttot. -p45_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); -s45_actualbudgetco2 = smax(t$(t.val le cm_peakBudgYr AND t.val le 2100),p45_actualbudgetco2(t)); - -o45_peakBudgYr_Itr(iteration) = cm_peakBudgYr; - -display s45_actualbudgetco2, p45_actualbudgetco2; - - if (cm_emiscen eq 9, if(o_modelstat eq 2 AND ord(iteration) 0 AND abs(cm_budgetCO2from2020 - s45_actualbudgetco2) ge 0.5, !!only for optimal iterations, and not after the last one, and only if budget still possitive, and only if target not yet reached display p45_taxCO2eq_anchor; *** make sure that iteration converges: @@ -170,223 +311,16 @@ display s45_actualbudgetco2, p45_actualbudgetco2; ); *** If functionalForm is linear, re-adjust global anchor trajectory to go through the point (cm_taxCO2_historicalYr, cm_taxCO2_historical) $ifThen.taxCO2functionalForm3 "%cm_taxCO2_functionalForm%" == "linear" -p45_taxCO2eq_anchor_until2150(t) = s45_taxCO2_historical + p45_taxCO2eq_anchor_until2150(t) = s45_taxCO2_historical + (sum(t2$(t2.val eq cm_peakBudgYr), p45_taxCO2eq_anchor_until2150(t2)) - s45_taxCO2_historical) / (cm_peakBudgYr - s45_taxCO2_historicalYr) !! Yearly increase of CO2 price that interpolates between cm_taxCO2_historical in cm_taxCO2_historicalYr and p45_taxCO2eq_anchor_until2150 in peak year * (t.val - s45_taxCO2_historicalYr) ; -p45_taxCO2eq_anchor(t)$(t.val le cm_peakBudgYr) = p45_taxCO2eq_anchor_until2150(t); -p45_taxCO2eq_anchor(t)$(t.val gt 2110) = p45_taxCO2eq_anchor("2110"); -***TODO: CHECK IF ALGORITHM DOES WHAT IS EXPECTED. CURRENTLY NO RE-ADJUSTMENT OF GLOBAL ANCHOR TRAJECTORY BETWEEN PEAK YEAR AND 2110 AS NO SUCH ADJUSTMENT WAS CONTAINED IN ORIGINAL ALGORITHM + p45_taxCO2eq_anchor(t)$(t.val le cm_peakBudgYr) = p45_taxCO2eq_anchor_until2150(t); + p45_taxCO2eq_anchor(t)$(t.val gt 2100) = p45_taxCO2eq_anchor("2100"); +***TODO: CHECK IF ALGORITHM DOES WHAT IS EXPECTED. CURRENTLY NO RE-ADJUSTMENT OF GLOBAL ANCHOR TRAJECTORY BETWEEN PEAK YEAR AND 2100 AS NO SUCH ADJUSTMENT WAS CONTAINED IN ORIGINAL ALGORITHM $endIf.taxCO2functionalForm3 - ); - display p45_taxCO2eq_anchor_until2150, p45_taxCO2eq_anchor; -); - - -*** Algorithm for new peakBudg formulation that results in a peak budget with linear increase given by cm_taxCO2_IncAfterPeakBudgYr -if (cm_iterative_target_adj eq 9, -*' Iteratively update regional CO2 tax trajectories / regional CO2 budget to reach the target for global peak budget, with a linear increase afterwards given by cm_taxCO2_IncAfterPeakBudgYr. The -*' peak budget year is determined automatically (within the time window 2040--2100) -*' `p45_actualbudgetco2(ttot)` includes emissions from 2020 to `ttot` (inclusive). - p45_actualbudgetco2(ttot)$( 2020 lt ttot.val ) - = sum((regi,ttot2)$( 2020 le ttot2.val AND ttot2.val le ttot.val ), - ( vm_emiTe.l(ttot2,regi,"co2") - + vm_emiCdr.l(ttot2,regi,"co2") - + vm_emiMac.l(ttot2,regi,"co2") - ) - * ( !! second half of the 2020 period: 2020-22 - (pm_ts(ttot2) / 2 + 0.5)$( ttot2.val eq 2020 ) - !! entire middle periods - + (pm_ts(ttot2))$( 2020 lt ttot2.val AND ttot2.val lt ttot.val ) - !! first half of the final period, until the end of the middle year - + ((pm_ttot_val(ttot) - pm_ttot_val(ttot-1)) / 2 + 0.5)$( - ttot2.val eq ttot.val ) - ) - ) - * sm_c_2_co2; - - s45_actualbudgetco2 = smax(t$( t.val le cm_peakBudgYr ), p45_actualbudgetco2(t)); - - o45_peakBudgYr_Itr(iteration) = cm_peakBudgYr; - - display s45_actualbudgetco2, p45_actualbudgetco2; - - if(cm_emiscen eq 9, - -*** --------A: calculate the new CO2 price path, the CO2 tax rescale factor---------------------------------------------------------- - - if(o_modelstat eq 2 AND ord(iteration) < cm_iteration_max AND s45_actualbudgetco2 > 0 AND abs(cm_budgetCO2from2020 - s45_actualbudgetco2) ge 2, !!only for optimal iterations, and not after the last one, and only if budget still possitive, and only if target not yet reached - display p45_taxCO2eq_anchor; - - if( ( ( p45_actualbudgetco2("2100") > 1.1 * s45_actualbudgetco2 ) AND ( abs(cm_budgetCO2from2020 - s45_actualbudgetco2) < 50 ) AND (iteration.val < 12) ), - 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"; - s45_actualbudgetco2 = 0.5 * (p45_actualbudgetco2("2100") + s45_actualbudgetco2); !! due to the potential strong jump in cm_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; - ); - -*** --------A1: for that, calculate the CO2 tax rescale factor--- - - if(iteration.val lt 10, - p45_factorRescale_taxCO2(iteration) = max(0.1, (s45_actualbudgetco2/cm_budgetCO2from2020) ) ** 3; - else - p45_factorRescale_taxCO2(iteration) = max(0.1, (s45_actualbudgetco2/cm_budgetCO2from2020) ) ** 2; - ); - p45_factorRescale_taxCO2_Funneled(iteration) = - max(min( 2 * EXP( -0.15 * iteration.val ) + 1.01 ,p45_factorRescale_taxCO2(iteration)), - 1/ ( 2 * EXP( -0.15 * iteration.val ) + 1.01) - ); - - pm_taxCO2eq_anchor_iterationdiff(t) = max(1* sm_DptCO2_2_TDpGtC, p45_taxCO2eq_anchor(t) * p45_factorRescale_taxCO2_Funneled(iteration) ) - p45_taxCO2eq_anchor(t); - p45_taxCO2eq_anchor_until2150(t) = max(1* sm_DptCO2_2_TDpGtC, p45_taxCO2eq_anchor_until2150(t) * p45_factorRescale_taxCO2_Funneled(iteration) ); - p45_taxCO2eq_anchor(t) = max(1* sm_DptCO2_2_TDpGtC, p45_taxCO2eq_anchor(t) * p45_factorRescale_taxCO2_Funneled(iteration) ); !! rescale co2tax - loop(t2$(t2.val eq cm_peakBudgYr), -*** Note: Adjustment of starting point linear curve is done at the end - p45_taxCO2eq_anchor(t)$(t.val gt cm_peakBudgYr) = p45_taxCO2eq_anchor_until2150(t2) + (t.val - t2.val) * cm_taxCO2_IncAfterPeakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by cm_taxCO2_IncAfterPeakBudgYr per year - ); - - display p45_factorRescale_taxCO2, p45_factorRescale_taxCO2_Funneled; - - o45_taxCO2eq_anchor_iterDiff_Itr(iteration) = pm_taxCO2eq_anchor_iterationdiff("2100"); - - display o45_taxCO2eq_anchor_iterDiff_Itr; - - - else !! if(o_modelstat eq 2 AND ord(iteration) 0 AND abs(cm_budgetCO2from2020 )) - if(s45_actualbudgetco2 > 0 or abs(cm_budgetCO2from2020 - s45_actualbudgetco2) < 2, !! if model was not optimal, or if budget already reached, keep tax constant - p45_factorRescale_taxCO2(iteration) = 1; - p45_factorRescale_taxCO2_Funneled(iteration) = 1; - p45_taxCO2eq_anchor_until2150(t) = p45_taxCO2eq_anchor_until2150(t); !! nothing changes - else -*** if budget has turned negative, reduce CO2 price by 20% - p45_factorRescale_taxCO2(iteration) = 0.8; - p45_factorRescale_taxCO2_Funneled(iteration) = p45_factorRescale_taxCO2(iteration); - - p45_taxCO2eq_anchor_until2150(t) = p45_factorRescale_taxCO2(iteration) * p45_taxCO2eq_anchor_until2150(t); - p45_taxCO2eq_anchor(t) = p45_factorRescale_taxCO2(iteration) * p45_taxCO2eq_anchor(t); - ); - ); !! if(o_modelstat eq 2 AND ord(iteration) 0 AND abs(cm_budgetCO2from2020 - s45_actualbudgetco2) ge 2, - - display p45_taxCO2eq_anchor, p45_taxCO2eq_anchor_until2150; - - -*** -------B: checking the peak timing, if cm_peakBudgYr is still correct or needs to be shifted----------------------- - - o45_diff_to_Budg(iteration) = (cm_budgetCO2from2020 - s45_actualbudgetco2); - o45_totCO2emi_peakBudgYr(iteration) = sum(t$(t.val = cm_peakBudgYr), sum(regi2, vm_emiAll.l(t,regi2,"co2")) ); - o45_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 - o45_change_totCO2emi_peakBudgYr(iteration) = sum(ttot$(ttot.val = cm_peakBudgYr), (o45_totCO2emi_allYrs(ttot-1,iteration) - o45_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, o45_diff_to_Budg, o45_peakBudgYr_Itr, o45_totCO2emi_allYrs, o45_totCO2emi_peakBudgYr, o45_change_totCO2emi_peakBudgYr; - - -*** ----B1: check if cm_peakBudgYr should be shifted left or right: - if( abs(o45_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"; - - !! check if the target year was just shifted back left after being shifted right before - if ( (iteration.val > 2) AND ( o45_peakBudgYr_Itr(iteration - 1) > o45_peakBudgYr_Itr(iteration) ) AND ( o45_peakBudgYr_Itr(iteration - 2) = o45_peakBudgYr_Itr(iteration) ), - o45_pkBudgYr_flipflop(iteration) = 1; - display "flipflop observed (before loop)"; - ); - - loop(ttot$(ttot.val = cm_peakBudgYr), !! look at the peak timing - if( ( (o45_totCO2emi_peakBudgYr(iteration) < -(0.1 + o45_change_totCO2emi_peakBudgYr(iteration)) ) AND (cm_peakBudgYr > 2040) ), !! no peaking time before 2040 - display "shift peakBudgYr left"; - o45_peakBudgYr_Itr(iteration+1) = pm_ttot_val(ttot - 1); - p45_taxCO2eq_anchor(t)$(t.val gt pm_ttot_val(ttot - 1)) = p45_taxCO2eq_anchor_until2150(ttot-1) + (t.val - pm_ttot_val(ttot - 1)) * cm_taxCO2_IncAfterPeakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by cm_taxCO2_IncAfterPeakBudgYr per year after peakBudgYr - - elseif ( ( o45_totCO2emi_peakBudgYr(iteration) > (0.1 + o45_change_totCO2emi_peakBudgYr(iteration)) ) AND (cm_peakBudgYr < 2100) ), !! if peaking time would be after 2100, keep 2100 budget year - if( (o45_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"; - o45_peakBudgYr_Itr(iteration+1) = o45_peakBudgYr_Itr(iteration); !! don't shift right again immediately, but go into a different loop: - o45_delay_increase_peakBudgYear(iteration) = 1; - elseif ( o45_delay_increase_peakBudgYear(iteration) eq 1 ), - display "still in separate loop trying to resolve flip-flop behavior"; - o45_peakBudgYr_Itr(iteration+1) = o45_peakBudgYr_Itr(iteration); !! keep current peakBudgYr, - else - display "shift peakBudgYr right"; - o45_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)), - p45_taxCO2eq_anchor(t) = p45_taxCO2eq_anchor_until2150(ttot+1) - + (t.val - pm_ttot_val(ttot + 1)) * cm_taxCO2_IncAfterPeakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by cm_taxCO2_IncAfterPeakBudgYr per year - ); - ); - - else !! don't do anything if the peakBudgYr is already at the corner values (2040, 2100) or if the emissions in the peakBudgYr are close enough to 0 (within the range of +/- o45_change_totCO2emi_peakBudgYr) - o45_peakBudgYr_Itr(iteration+1) = o45_peakBudgYr_Itr(iteration) - ); - ); - cm_peakBudgYr = o45_peakBudgYr_Itr(iteration+1); - display cm_peakBudgYr; - ); -*** Note: Adjustment of starting point linear curve is done at the end - p45_taxCO2eq_anchor(t)$(t.val le cm_peakBudgYr) = p45_taxCO2eq_anchor_until2150(t); !! 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 - if (o45_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(t2$(t2.val eq pm_ttot_val(ttot+1)), !! set t2 to the following time step - o45_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. - - !! in case the normal linear extension still is not enough to get emissions to 0 after the peakBudgYr, shift peakBudgYr right again: - if( ( o45_reached_until2150pricepath(iteration-1) eq 1 ) AND ( o45_totCO2emi_peakBudgYr(iteration) > (0.1 + o45_change_totCO2emi_peakBudgYr(iteration)) ), - display "price in following year reached original path in previous iteration and is still not enough -> shift peakBudgYr to right"; - o45_delay_increase_peakBudgYear(iteration+1) = 0; !! probably is not necessary - o45_reached_until2150pricepath(iteration) = 0; - o45_peakBudgYr_Itr(iteration+1) = t2.val; !! shift PeakBudgYear to the following time step - p45_taxCO2eq_anchor(t2) = p45_taxCO2eq_anchor_until2150(t2) ; !! set CO2 price in t2 to value in the "continuous path" - - elseif ( ( o45_reached_until2150pricepath(iteration-1) eq 1 ) AND ( o45_totCO2emi_peakBudgYr(iteration) < (0.1 + o45_change_totCO2emi_peakBudgYr(iteration)) ) ), - display "New intermediate price in timestep after cm_peakBudgYr is sufficient to stabilize peaking year - go back to normal loop"; - o45_delay_increase_peakBudgYear(iteration+1) = 0; !! probably is not necessary - o45_reached_until2150pricepath(iteration) = 0; - o45_peakBudgYr_Itr(iteration+1) = o45_peakBudgYr_Itr(iteration); - 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, - o45_delay_increase_peakBudgYear(iteration+1) = 1; !! make sure next iteration peakBudgYr is not shifted right again - o45_peakBudgYr_Itr(iteration+1) = o45_peakBudgYr_Itr(iteration); - p45_taxCO2eq_anchor(t2) = max(p45_taxCO2eq_anchor(ttot), !! at least as high as the price in the peakBudgYr - p45_taxCO2eq_anchor(t2) * (o45_factorRescale_taxCO2_afterPeakBudgYr(iteration) / p45_factorRescale_taxCO2_Funneled(iteration) ) !! the full path was already rescaled by p45_factorRescale_taxCO2_Funneled, so adjust the second rescaling - ); - loop(regi, !! this loop is necessary to allow the <-comparison in the next if statement - if( p45_taxCO2eq_anchor_until2150(t2) < p45_taxCO2eq_anchor(t2) , !! 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%"; - p45_taxCO2eq_anchor(t2) = 0.99 * p45_taxCO2eq_anchor_until2150(t2); !! 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 - o45_reached_until2150pricepath(iteration) = 1; !! upward CO2 price correction reached the continued price path - check in next iteration if this is high enough. - ); - ); - ); - - display o45_factorRescale_taxCO2_afterPeakBudgYr; - p45_taxCO2eq_anchor(t)$(t.val gt t2.val) = p45_taxCO2eq_anchor(t2) + (t.val - t2.val) * cm_taxCO2_IncAfterPeakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by cm_taxCO2_IncAfterPeakBudgYr 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 = o45_peakBudgYr_Itr(iteration+1); !! this has to happen outside the loop, otherwise the loop condition might be true twice - ); !! if o45_delay_increase_peakBudgYear(iteration) = 1, !! if there was a flip-floping in the previous iterations, try to solve this - -*** If functionalForm is linear, re-adjust global anchor trajectory to go through the point (cm_taxCO2_historicalYr, cm_taxCO2_historical) -$ifThen.taxCO2functionalForm4 "%cm_taxCO2_functionalForm%" == "linear" -p45_taxCO2eq_anchor_until2150(t) = s45_taxCO2_historical - + (sum(t2$(t2.val eq cm_peakBudgYr), p45_taxCO2eq_anchor(t2)) - s45_taxCO2_historical) / (cm_peakBudgYr - s45_taxCO2_historicalYr) !! Yearly increase of CO2 price that interpolates between cm_taxCO2_historical in cm_taxCO2_historicalYr and p45_taxCO2eq_anchor in peak year - * (t.val - s45_taxCO2_historicalYr) ; -p45_taxCO2eq_anchor(t)$(t.val le cm_peakBudgYr) = p45_taxCO2eq_anchor_until2150(t); -p45_taxCO2eq_anchor(t)$(t.val gt cm_peakBudgYr) = sum(t2$(t2.val eq cm_peakBudgYr), p45_taxCO2eq_anchor_until2150(t2)) !! CO2 tax in peak budget year - + (t.val - cm_peakBudgYr) * cm_taxCO2_IncAfterPeakBudgYr * sm_DptCO2_2_TDpGtC; !! increase by cm_taxCO2inc_after_peakBudgYr per year -p45_taxCO2eq_anchor(t)$(t.val gt 2110) = p45_taxCO2eq_anchor("2110"); -$endIf.taxCO2functionalForm4 - - display p45_taxCO2eq_anchor, p45_taxCO2eq_anchor_until2150, o45_delay_increase_peakBudgYear, o45_reached_until2150pricepath, o45_peakBudgYr_Itr, o45_pkBudgYr_flipflop, cm_peakBudgYr; - ); !! if cm_emiscen eq 9, -); !! if cm_iterative_target_adj eq 9, +display p45_taxCO2eq_anchor_until2150, p45_taxCO2eq_anchor; +); !! if(cm_iterative_target_adj eq 7, *** Save s45_actualbudgetco2 for having it available in next iteration: s45_actualbudgetco2_last = s45_actualbudgetco2; @@ -424,5 +358,5 @@ display pm_taxCO2eq; p45_taxCO2eq_iteration(iteration,ttot,regi) = pm_taxCO2eq(ttot,regi); p45_taxCO2eq_anchor_iteration(iteration,t) = p45_taxCO2eq_anchor(t); -); +); !! if((cm_emiscen eq 9) AND ((cm_iterative_target_adj eq 5) OR (cm_iterative_target_adj eq 7) OR (cm_iterative_target_adj eq 9)), *** EOF ./modules/45_carbonprice/functionalForm/postsolve.gms diff --git a/modules/45_carbonprice/functionalForm/realization.gms b/modules/45_carbonprice/functionalForm/realization.gms index 106d3250c..01adef33b 100644 --- a/modules/45_carbonprice/functionalForm/realization.gms +++ b/modules/45_carbonprice/functionalForm/realization.gms @@ -20,7 +20,7 @@ *' Part II (Post-peak behaviour): The global anchor trajectory can be adjusted after reaching the peak of global CO2 emissions in cm_peakBudgYr. *' The (initial) choice of cm_peakBudgYr is endogenously adjusted if cm_iterative_target_adj is set to 7 or 9. *' (with iterative_target_adj = 0): after cm_peakBudgYr, the global anchor trajectory increases linearly with fixed annual increase given by cm_taxCO2_IncAfterPeakBudgYr (default = 0, i.e. constant), -*' set cm_peakBudgYr = 2110 to avoid adjustment +*' set cm_peakBudgYr = 2100 to avoid adjustment *' (with iterative_target_adj = 5): no adjustment to the functional form after cm_peakBudgYr *' (with iterative_target_adj = 7): after cm_peakBudgYr, the global anchor trajectory is adjusted so that global net CO2 emissions stay close to zero *' (with iterative_target_adj = 9): after cm_peakBudgYr, the global anchor trajectory increases linearly with fixed annual increase given by cm_taxCO2_IncAfterPeakBudgYr (default = 0, i.e. constant) diff --git a/modules/45_carbonprice/none/not_used.txt b/modules/45_carbonprice/none/not_used.txt index 138db4c18..0b285bed9 100644 --- a/modules/45_carbonprice/none/not_used.txt +++ b/modules/45_carbonprice/none/not_used.txt @@ -31,7 +31,6 @@ cm_peakBudgYr,input,added by codeCheck sm_D2005_2_D2017,input,not needed fm_taxCO2eqHist,input,not needed sm_budgetCO2eqGlob,input,no iterative target adjustment -sm_globalBudget_dev,input,no iterative target adjustment vm_emiTe,input,no iterative target adjustment vm_emiCdr,input,no iterative target adjustment vm_emiMac,input,no iterative target adjustment diff --git a/modules/45_carbonprice/temperatureNotToExceed/not_used.txt b/modules/45_carbonprice/temperatureNotToExceed/not_used.txt index 346ec7493..5adb37621 100644 --- a/modules/45_carbonprice/temperatureNotToExceed/not_used.txt +++ b/modules/45_carbonprice/temperatureNotToExceed/not_used.txt @@ -23,7 +23,6 @@ cm_peakBudgYr,input,added by codeCheck sm_D2005_2_D2017,input,not needed fm_taxCO2eqHist,input,not needed sm_budgetCO2eqGlob,input,no iterative target adjustment -sm_globalBudget_dev,input,no iterative target adjustment vm_emiTe,input,no iterative target adjustment vm_emiCdr,input,no iterative target adjustment vm_emiMac,input,no iterative target adjustment From 1f3a866fe0cd0f98b6bde46b20afa1aace18fdab Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Wed, 4 Dec 2024 13:59:48 +0000 Subject: [PATCH 828/875] Release development version 3.3.2.dev1119 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 01719528c..1574bc92c 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev1094" -date-released: 2024-12-03 +version: "3.3.2.dev1119" +date-released: 2024-12-04 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 936dbedf4..e61d92911 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -69,7 +69,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.3.2.dev1094" +cfg$model_version <- "3.3.2.dev1119" #### settings #### cfg$gms <- list() From ba3320ca67f893e156a9493acbb34598747ee1f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Thu, 5 Dec 2024 10:26:14 +0100 Subject: [PATCH 829/875] Use sm_globalBudget_dev in functionalForm/postsolve.gms to align with Nash convergence check. --- .../functionalForm/declarations.gms | 4 +-- .../functionalForm/postsolve.gms | 35 +++++++++++++------ 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/modules/45_carbonprice/functionalForm/declarations.gms b/modules/45_carbonprice/functionalForm/declarations.gms index 2619bcf27..f6ec7d913 100644 --- a/modules/45_carbonprice/functionalForm/declarations.gms +++ b/modules/45_carbonprice/functionalForm/declarations.gms @@ -67,8 +67,8 @@ s45_factorRescale_taxCO2_exponent_from10 "exponent determining se parameters p45_actualbudgetco2(ttot) "actual level of cumulated emissions starting from 2020 [GtCO2]" -p45_taxCO2eq_iteration(iteration,ttot,all_regi) "save pm_taxCO2eq from each iteration for debugging" -p45_taxCO2eq_anchor_iteration(iteration,ttot) "save p45_taxCO2eq_anchor from each iteration for debugging" +p45_taxCO2eq_iteration(iteration,ttot,all_regi) "save pm_taxCO2eq in each iteration (before entering functionalForm/postsolve.gms) for debugging" +p45_taxCO2eq_anchor_iteration(iteration,ttot) "save p45_taxCO2eq_anchor in each iteration (before entering functionalForm/postsolve.gms) for debugging" o45_taxCO2eq_anchor_iterDiff_Itr(iteration) "track pm_taxCO2eq_anchor_iterationdiff in 2100 over iterations" o45_diff_to_Budg(iteration) "Difference between actual CO2 budget and target CO2 budget" diff --git a/modules/45_carbonprice/functionalForm/postsolve.gms b/modules/45_carbonprice/functionalForm/postsolve.gms index 2fe3ab36d..13a94630c 100644 --- a/modules/45_carbonprice/functionalForm/postsolve.gms +++ b/modules/45_carbonprice/functionalForm/postsolve.gms @@ -45,6 +45,21 @@ if ((cm_emiscen eq 6) AND (cm_iterative_target_adj eq 5), *** Only run adjustment of carbon price trajectory if cm_emiscen eq 9 and if cm_iterative_target_adj is equal to 5,7 or 9. if((cm_emiscen eq 9) AND ((cm_iterative_target_adj eq 5) OR (cm_iterative_target_adj eq 7) OR (cm_iterative_target_adj eq 9)), +*** Save pm_taxCO2eq and p45_taxCO2eq_anchor over iterations for debugging +p45_taxCO2eq_iteration(iteration,ttot,regi) = pm_taxCO2eq(ttot,regi); +p45_taxCO2eq_anchor_iteration(iteration,t) = p45_taxCO2eq_anchor(t); + +*** Compute deviation of actual budget from target budget +if(abs(cm_budgetCO2from2020) ge 200, !! Use relative deviation for budgets larger than 200 Gt + sm_globalBudget_dev = s45_actualbudgetco2 / cm_budgetCO2from2020; +else !! Use absolute deviation for budgets smaller than 200 Gt + if(abs(s45_actualbudgetco2 - cm_budgetCO2from2020) le 2, !! sufficiently close to budget target + sm_globalBudget_dev = 1; + else !! budget target not reached, choose arbitrary value bigger than 1.01 + sm_globalBudget_dev = 2; + ); +); + ***-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- *** Part I and II (Global anchor trajectory and post-peak behaviour): Adjustment of global anchor trajectory to meet (peak or end-of-century) CO2 budget target prescribed via cm_budgetCO2from2020. *** If iterative_target_adj = 7 or 9, cm_peakBudgYr automatically adjusted (within the time window 2040--2100) @@ -63,7 +78,7 @@ if((cm_iterative_target_adj eq 5) OR (cm_iterative_target_adj eq 9), s45_factorRescale_taxCO2_exponent_from10 = 1; ); - if( (o_modelstat ne 2) OR (abs(cm_budgetCO2from2020 - s45_actualbudgetco2) < 2) OR (ord(iteration) = cm_iteration_max), + if( (o_modelstat ne 2) OR (abs(sm_globalBudget_dev -1) le 0.01) OR (ord(iteration) = cm_iteration_max), !! keep CO2 tax constant if model was not optimal, if maximal number of iterations is reached, or if budget already reached p45_factorRescale_taxCO2(iteration) = 1; p45_factorRescale_taxCO2_Funneled(iteration) = p45_factorRescale_taxCO2(iteration); @@ -100,10 +115,7 @@ if((cm_iterative_target_adj eq 5) OR (cm_iterative_target_adj eq 9), !! Apply CO2 tax rescale factor p45_taxCO2eq_anchor_until2150(t) = max(1* sm_DptCO2_2_TDpGtC, p45_taxCO2eq_anchor_until2150(t) * p45_factorRescale_taxCO2_Funneled(iteration) ); - !! Save difference between iterations for debugging (note that p45_taxCO2eq_anchor was not yet rescaled up to this point) - pm_taxCO2eq_anchor_iterationdiff(t) = max(1* sm_DptCO2_2_TDpGtC, p45_taxCO2eq_anchor(t) * p45_factorRescale_taxCO2_Funneled(iteration) ) - p45_taxCO2eq_anchor(t); - o45_taxCO2eq_anchor_iterDiff_Itr(iteration) = pm_taxCO2eq_anchor_iterationdiff("2100"); - display p45_taxCO2eq_anchor_until2150, pm_taxCO2eq_anchor_iterationdiff, o45_taxCO2eq_anchor_iterDiff_Itr; + display p45_taxCO2eq_anchor_until2150; !! If functionalForm is linear, re-adjust global anchor trajectory to go through the point (cm_taxCO2_historicalYr, cm_taxCO2_historical) $ifThen.taxCO2functionalForm4 "%cm_taxCO2_functionalForm%" == "linear" @@ -122,9 +134,14 @@ $endIf.taxCO2functionalForm4 ); !! Always set carbon price constant after 2100 to prevent huge taxes after 2100 and the resulting convergence problems p45_taxCO2eq_anchor(t)$(t.val gt 2100) = p45_taxCO2eq_anchor("2100"); - display p45_taxCO2eq_anchor; - ); !! if( (o_modelstat ne 2) OR (abs(cm_budgetCO2from2020 - s45_actualbudgetco2) < 2) OR (ord(iteration) = cm_iteration_max), + !! Compute difference for debugging + pm_taxCO2eq_anchor_iterationdiff(t) = p45_taxCO2eq_anchor(t) - p45_taxCO2eq_anchor_iteration(iteration,t); + o45_taxCO2eq_anchor_iterDiff_Itr(iteration) = pm_taxCO2eq_anchor_iterationdiff("2100"); + + display p45_taxCO2eq_anchor, pm_taxCO2eq_anchor_iterationdiff, o45_taxCO2eq_anchor_iterDiff_Itr; + + ); !! if( (o_modelstat ne 2) OR (abs(sm_globalBudget_dev -1) le 0.01) OR (ord(iteration) = cm_iteration_max), ); !! if((cm_iterative_target_adj eq 5) OR (cm_iterative_target_adj eq 9), @@ -354,9 +371,5 @@ $ifthen.lowerBound "%cm_taxCO2_lowerBound_path_gdx_ref%" == "on" $endIf.lowerBound display pm_taxCO2eq; -*** Save pm_taxCO2eq and p45_taxCO2eq_anchor over iterations for debugging -p45_taxCO2eq_iteration(iteration,ttot,regi) = pm_taxCO2eq(ttot,regi); -p45_taxCO2eq_anchor_iteration(iteration,t) = p45_taxCO2eq_anchor(t); - ); !! if((cm_emiscen eq 9) AND ((cm_iterative_target_adj eq 5) OR (cm_iterative_target_adj eq 7) OR (cm_iterative_target_adj eq 9)), *** EOF ./modules/45_carbonprice/functionalForm/postsolve.gms From cf4938610b196748c58112edaff218497b4b452d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Thu, 5 Dec 2024 10:41:27 +0100 Subject: [PATCH 830/875] Fixing not_used files --- modules/45_carbonprice/NDC/not_used.txt | 1 + modules/45_carbonprice/NPi/not_used.txt | 1 + modules/45_carbonprice/NPi2025/not_used.txt | 1 + modules/45_carbonprice/NPi2025expo/not_used.txt | 1 + modules/45_carbonprice/NPiexpo/not_used.txt | 1 + modules/45_carbonprice/exogenous/not_used.txt | 1 + modules/45_carbonprice/expoLinear/not_used.txt | 1 + modules/45_carbonprice/none/not_used.txt | 1 + modules/45_carbonprice/temperatureNotToExceed/not_used.txt | 1 + 9 files changed, 9 insertions(+) diff --git a/modules/45_carbonprice/NDC/not_used.txt b/modules/45_carbonprice/NDC/not_used.txt index 5f68b6bbf..7186a99c3 100644 --- a/modules/45_carbonprice/NDC/not_used.txt +++ b/modules/45_carbonprice/NDC/not_used.txt @@ -34,3 +34,4 @@ cm_taxCO2_IncAfterPeakBudgYr,input,added by codeCheck cm_budgetCO2from2020,input,no iterative target adjustment pm_taxCO2eq_anchor_iterationdiff,input,no iterative target adjustment pm_taxCO2eq_anchor_iterationdiff_tmp,input,no iterative target adjustment +sm_globalBudget_dev,input,no target adjustement diff --git a/modules/45_carbonprice/NPi/not_used.txt b/modules/45_carbonprice/NPi/not_used.txt index 64e2dfe2e..418cf7ed9 100644 --- a/modules/45_carbonprice/NPi/not_used.txt +++ b/modules/45_carbonprice/NPi/not_used.txt @@ -42,3 +42,4 @@ cm_taxCO2_IncAfterPeakBudgYr,input,added by codeCheck cm_budgetCO2from2020,input,no iterative target adjustment pm_taxCO2eq_anchor_iterationdiff,input,no iterative target adjustment pm_taxCO2eq_anchor_iterationdiff_tmp,input,no iterative target adjustment +sm_globalBudget_dev,input,no target adjustement diff --git a/modules/45_carbonprice/NPi2025/not_used.txt b/modules/45_carbonprice/NPi2025/not_used.txt index 1be080937..eefae6532 100755 --- a/modules/45_carbonprice/NPi2025/not_used.txt +++ b/modules/45_carbonprice/NPi2025/not_used.txt @@ -42,3 +42,4 @@ cm_taxCO2_startyear,input,added by codeCheck cm_taxCO2_expGrowth,input,added by codeCheck cm_budgetCO2from2020,input,added by codeCheck cm_taxCO2_IncAfterPeakBudgYr,input,added by codeCheck +sm_globalBudget_dev,input,no target adjustement diff --git a/modules/45_carbonprice/NPi2025expo/not_used.txt b/modules/45_carbonprice/NPi2025expo/not_used.txt index f8c073dfd..cfd59fed7 100755 --- a/modules/45_carbonprice/NPi2025expo/not_used.txt +++ b/modules/45_carbonprice/NPi2025expo/not_used.txt @@ -41,3 +41,4 @@ cm_taxCO2_IncAfterPeakBudgYr,input,added by codeCheck cm_budgetCO2from2020,input,no iterative target adjustment pm_taxCO2eq_anchor_iterationdiff,input,no iterative target adjustment pm_taxCO2eq_anchor_iterationdiff_tmp,input,no iterative target adjustment +sm_globalBudget_dev,input,no target adjustement diff --git a/modules/45_carbonprice/NPiexpo/not_used.txt b/modules/45_carbonprice/NPiexpo/not_used.txt index 036e44372..6f185a95a 100644 --- a/modules/45_carbonprice/NPiexpo/not_used.txt +++ b/modules/45_carbonprice/NPiexpo/not_used.txt @@ -42,3 +42,4 @@ cm_taxCO2_IncAfterPeakBudgYr,input,added by codeCheck cm_budgetCO2from2020,input,no iterative target adjustment pm_taxCO2eq_anchor_iterationdiff,input,no iterative target adjustment pm_taxCO2eq_anchor_iterationdiff_tmp,input,no iterative target adjustment +sm_globalBudget_dev,input,no target adjustement diff --git a/modules/45_carbonprice/exogenous/not_used.txt b/modules/45_carbonprice/exogenous/not_used.txt index 367ba5d9d..5e413153f 100644 --- a/modules/45_carbonprice/exogenous/not_used.txt +++ b/modules/45_carbonprice/exogenous/not_used.txt @@ -42,3 +42,4 @@ cm_taxCO2_IncAfterPeakBudgYr,input,added by codeCheck cm_budgetCO2from2020,input,no iterative target adjustment pm_taxCO2eq_anchor_iterationdiff,input,no iterative target adjustment pm_taxCO2eq_anchor_iterationdiff_tmp,input,no iterative target adjustment +sm_globalBudget_dev,input,no target adjustement diff --git a/modules/45_carbonprice/expoLinear/not_used.txt b/modules/45_carbonprice/expoLinear/not_used.txt index 6eebed102..419ccd566 100644 --- a/modules/45_carbonprice/expoLinear/not_used.txt +++ b/modules/45_carbonprice/expoLinear/not_used.txt @@ -37,3 +37,4 @@ cm_taxCO2_IncAfterPeakBudgYr,input,added by codeCheck cm_budgetCO2from2020,input,no iterative target adjustment pm_taxCO2eq_anchor_iterationdiff,input,no iterative target adjustment pm_taxCO2eq_anchor_iterationdiff_tmp,input,no iterative target adjustment +sm_globalBudget_dev,input,no target adjustement diff --git a/modules/45_carbonprice/none/not_used.txt b/modules/45_carbonprice/none/not_used.txt index 0b285bed9..4021ac8f6 100644 --- a/modules/45_carbonprice/none/not_used.txt +++ b/modules/45_carbonprice/none/not_used.txt @@ -44,3 +44,4 @@ cm_taxCO2_IncAfterPeakBudgYr,input,added by codeCheck cm_budgetCO2from2020,input,no iterative target adjustment pm_taxCO2eq_anchor_iterationdiff,input,no iterative target adjustment pm_taxCO2eq_anchor_iterationdiff_tmp,input,no iterative target adjustment +sm_globalBudget_dev,input,no target adjustement diff --git a/modules/45_carbonprice/temperatureNotToExceed/not_used.txt b/modules/45_carbonprice/temperatureNotToExceed/not_used.txt index 5adb37621..7f79dc042 100644 --- a/modules/45_carbonprice/temperatureNotToExceed/not_used.txt +++ b/modules/45_carbonprice/temperatureNotToExceed/not_used.txt @@ -36,3 +36,4 @@ cm_taxCO2_IncAfterPeakBudgYr,input,added by codeCheck cm_budgetCO2from2020,input,no iterative target adjustment pm_taxCO2eq_anchor_iterationdiff,input,no iterative target adjustment pm_taxCO2eq_anchor_iterationdiff_tmp,input,no iterative target adjustment +sm_globalBudget_dev,input,no target adjustement From 062a01dd013ec80702fdbc50748deadde48e1002 Mon Sep 17 00:00:00 2001 From: David Klein Date: Thu, 5 Dec 2024 11:23:08 +0100 Subject: [PATCH 831/875] Update release scripts --- scripts/utils/postRelease.R | 13 +++++++------ scripts/utils/release.R | 18 ++++++++++++++---- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/scripts/utils/postRelease.R b/scripts/utils/postRelease.R index 109d69353..34ef37e26 100644 --- a/scripts/utils/postRelease.R +++ b/scripts/utils/postRelease.R @@ -1,5 +1,8 @@ -# This script is part of a longer workflow described here -# https://gitlab.pik-potsdam.de/rse/rse-internal/-/wikis/PublishModel +# This script is part of a longer workflow. +# Before running this script please perform the steps described here +# https://gitlab.pik-potsdam.de/REMIND/remind-rse/-/wikis/How-to-create-a-REMIND-release + +# in your fork switch to develop and execute this script in the main folder Rscript scripts/utils/postRelease.R postRelease <- function() { gert::git_fetch("upstream") @@ -12,6 +15,8 @@ postRelease <- function() { "", "## [Unreleased]", "", + "### input data/calibration", + "", "### changed", "-", "", @@ -29,10 +34,6 @@ postRelease <- function() { sub(pattern = pattern, replacement = paste0(pattern, textToAdd), fixed = TRUE) |> writeLines("CHANGELOG.md") - readLines("CITATION.cff") |> - sub(pattern = "^(version:.*)$", replacement = "\\1dev") |> - writeLines("CITATION.cff") - message("Please perform the following step manually:\n", "git add -p\n", "--> When done press ENTER to commit, push and create PR") diff --git a/scripts/utils/release.R b/scripts/utils/release.R index 57553e392..5149db9ee 100644 --- a/scripts/utils/release.R +++ b/scripts/utils/release.R @@ -1,5 +1,9 @@ -# This script is part of a longer workflow described here -# https://gitlab.pik-potsdam.de/rse/rse-internal/-/wikis/PublishModel +# This script is part of a longer workflow. +# Before running this script please perform the steps described here +# https://gitlab.pik-potsdam.de/REMIND/remind-rse/-/wikis/How-to-create-a-REMIND-release + +# in your fork switch to temporary branch (e.g. release-candidate) and +# execute this script in the main folder Rscript scripts/utils/release.R x.y.z release <- function(newVersion) { if (Sys.which("sbatch") == "") { @@ -59,8 +63,8 @@ release <- function(newVersion) { cfg$input <- cfg$input[cfg$stopOnMissing] gms::publish_data(cfg,target = "dataupload@rse.pik-potsdam.de:/remind/public") - message("Please perform the two following steps manually:\n", - "1. CHANGELOG.md: sort lines in each category: changed, added, removed, fixed; remove empty categories\n", + message("If not already done please perform the two following steps manually now:\n", + "1. CHANGELOG.md: sort lines in each category: input data/calibration, changed, added, removed, fixed; remove empty categories\n", "2. git add -p\n", "--> When done press ENTER to commit, push and create PR") gms::getLine() @@ -68,6 +72,12 @@ release <- function(newVersion) { message("Committing and pushing changes") gert::git_commit(paste("remind release", newVersion)) gert::git_push() + + message("Creating tag") + tag <- paste0("v",newVersion) + git_tag_create(name = tag, message = "new tag", repo = ".") + git_tag_push(name = tag, repo = ".") + message("Creating a PR on GitHub") # gh pr create --help # --base branch The branch into which you want your code merged From cc3b11892607c0e9f247d42aabcffea1a865f0fd Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Thu, 5 Dec 2024 12:47:23 +0000 Subject: [PATCH 832/875] Release development version 3.3.2.dev1133 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 1574bc92c..5eb927bae 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev1119" -date-released: 2024-12-04 +version: "3.3.2.dev1133" +date-released: 2024-12-05 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index e61d92911..543bd4ce8 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -69,7 +69,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.3.2.dev1119" +cfg$model_version <- "3.3.2.dev1133" #### settings #### cfg$gms <- list() From 30e9e3af9af3ccdacb688e59fc59589d7b1ab240 Mon Sep 17 00:00:00 2001 From: Renato-Rodrigues Date: Thu, 5 Dec 2024 14:19:11 +0100 Subject: [PATCH 833/875] fix typo in equation definition --- core/equations.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/equations.gms b/core/equations.gms index 99c244ec6..216f1b455 100644 --- a/core/equations.gms +++ b/core/equations.gms @@ -1233,7 +1233,7 @@ $endif.penSeFeSectorShareDevCost $ifthen.limitSolidsFossilRegi not %cm_limitSolidsFossilRegi% == "off" q_fossilSolidsLimitReg(ttot,regi,entySe,entyFe,sector,emiMkt)$(limitSolidsFossilRegi(regi) and (ttot.val ge max(2020, cm_startyear)) AND sefe(entySe,entyFe) AND sector2emiMkt(sector,emiMkt) AND (sameas(sector,"indst") OR sameas(sector,"build")) AND sameas(entySe,"sesofos")).. vm_demFeSector_afterTax(ttot,regi,entySe,entyFe,sector,emiMkt) - =le= + =l= vm_demFeSector_afterTax(ttot-1,regi,entySe,entyFe,sector,emiMkt); $endif.limitSolidsFossilRegi From c1038a4b7b2826340bc834fd3aedfeff3a067bec Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Thu, 5 Dec 2024 14:16:24 +0000 Subject: [PATCH 834/875] Release development version 3.3.2.dev1138 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 5eb927bae..d60d161f0 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev1133" +version: "3.3.2.dev1138" date-released: 2024-12-05 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 543bd4ce8..6b1c7e49b 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -69,7 +69,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.3.2.dev1133" +cfg$model_version <- "3.3.2.dev1138" #### settings #### cfg$gms <- list() From 1e542e52963e111c0e4d7e73e7d9c192d8c59d8f Mon Sep 17 00:00:00 2001 From: Pascal Sauer <156898545+pascal-sauer@users.noreply.github.com> Date: Thu, 5 Dec 2024 15:36:31 +0100 Subject: [PATCH 835/875] use piamenv::installDeps --- DESCRIPTION | 2 +- start_bundle_coupled.R | 15 ++------------- 2 files changed, 3 insertions(+), 14 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index a0114927a..b07b7f2f9 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -53,7 +53,7 @@ Imports: ncdf4, nleqslv, optparse, - piamenv (>= 0.5.4), + piamenv (>= 0.6.0), piamInterfaces (>= 0.34.1), piamPlotComparison (>= 0.0.10), piamutils, diff --git a/start_bundle_coupled.R b/start_bundle_coupled.R index a864b4d15..f68040a3b 100755 --- a/start_bundle_coupled.R +++ b/start_bundle_coupled.R @@ -93,19 +93,6 @@ run_compareScenarios <- "short" # use an empty magpie model (just reproduces the latest AMT results) magpie_empty <- FALSE -######################################################################################################## -################################# install magpie dependencies ######################################## -######################################################################################################## -if (!is.null(renv::project())) { - magpieDeps <- renv::dependencies(path_magpie) - installedPackages <- installed.packages()[, "Package"] - missingDeps <- setdiff(unique(magpieDeps$Package), installedPackages) - if (length(missingDeps) > 0) { - message("Installing missing MAgPIE dependencies ", paste(missingDeps, collapse = ", ")) - renv::install(missingDeps) - } -} - ######################################################################################################## ################################# load command line arguments ######################################## ######################################################################################################## @@ -154,6 +141,8 @@ dir.create(file.path(path_magpie, "output"), showWarnings = FALSE) ensureRequirementsInstalled(rerunPrompt = "start_bundle_coupled.R") +piamenv::installDeps(path_magpie) + errorsfound <- 0 startedRuns <- NULL finishedRuns <- NULL From aab42aceef7a7d84cfc299b2b0e6e4af8bf837f6 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Thu, 5 Dec 2024 14:56:16 +0000 Subject: [PATCH 836/875] Release development version 3.3.2.dev1141 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index d60d161f0..c1c8c66c9 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev1138" +version: "3.3.2.dev1141" date-released: 2024-12-05 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 6b1c7e49b..ecf72fd7e 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -69,7 +69,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.3.2.dev1138" +cfg$model_version <- "3.3.2.dev1141" #### settings #### cfg$gms <- list() From a18e9331069b46aac11f2d08022f2f97c61cbde7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Thu, 5 Dec 2024 17:27:03 +0100 Subject: [PATCH 837/875] Change cm_APscen to CLE for SSP3 --- config/scenario_config.csv | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/config/scenario_config.csv b/config/scenario_config.csv index de3c64863..ace852d92 100644 --- a/config/scenario_config.csv +++ b/config/scenario_config.csv @@ -20,12 +20,12 @@ SSP2-EU21-PkBudg500;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extram SSP2-EU21-PkBudg650;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;globallyOptimal;;;9;650;functionalForm;;100;2055;;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;1;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi2025;SSP2-EU21-PkBudg650: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. SSP2-EU21-PkBudg1000;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;globallyOptimal;;;9;1000;functionalForm;;75;2080;;;9;;;;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;1;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi2025;SSP2-EU21-PkBudg1050: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. # H12 SSP3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP3-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;3;;;0;NPi;;;;;;9;;;1;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. -SSP3-NPi_impCM-calibrate;calibrate;calibrate;14;;;rcp45;;3;imperfect;;0;NPi;;;;;;9;;;1;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. -SSP3-NDC;1;;;;;rcp45;;3;;3;0;NDC;;;;;;9;;;1;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2ICEban;1;2030;;SSP2-NPi2025;SSP2-NPi;SSP3-NPi2025;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. It assumes NPi2025 until 2025 and has start year 2030. 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. -SSP3-NPi2025;1;;;;;rcp45;;3;;0;0;NPi2025;;;;;;9;;;1;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2ICEban;1;2030;;SSP2-NPi2025;;;SSP3-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP3-PkBudg1000;1;;;;;rcp26;;3;;9;1000;functionalForm;;75;2080;;GLO 2100;9;;;1;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix3ICEban;1;2030;;SSP2-NPi2025;;SSP3-NPi2025;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -SSP3-rollBack;1;;;;;rcp45;;3;;0;0;none;;;;;;0;;;1;;;;;;;;;;;none;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;4;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;1;2030;;SSP2-NPi2025;;SSP3-NPi2025;SSP3-rollBack: This rollback of climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. +SSP3-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;3;;;0;NPi;;;;;;9;;;1;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;CLE;Mix1;;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. +SSP3-NPi_impCM-calibrate;calibrate;calibrate;14;;;rcp45;;3;imperfect;;0;NPi;;;;;;9;;;1;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;CLE;Mix1;;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. +SSP3-NDC;1;;;;;rcp45;;3;;3;0;NDC;;;;;;9;;;1;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;CLE;Mix2ICEban;1;2030;;SSP2-NPi2025;SSP2-NPi;SSP3-NPi2025;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. It assumes NPi2025 until 2025 and has start year 2030. 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. +SSP3-NPi2025;1;;;;;rcp45;;3;;0;0;NPi2025;;;;;;9;;;1;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;CLE;Mix2ICEban;1;2030;;SSP2-NPi2025;;;SSP3-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP3-PkBudg1000;1;;;;;rcp26;;3;;9;1000;functionalForm;;75;2080;;GLO 2100;9;;;1;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;CLE;Mix3ICEban;1;2030;;SSP2-NPi2025;;SSP3-NPi2025;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP3-rollBack;1;;;;;rcp45;;3;;0;0;none;;;;;;0;;;1;;;;;;;;;;;none;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;4;;0;3;SSP3;1.5;;forcing_SSP3;CLE;Mix1;1;2030;;SSP2-NPi2025;;SSP3-NPi2025;SSP3-rollBack: This rollback of climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. # H12 SSP1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP1-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;;;0;NPi;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix1;;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. SSP1-NDC;1,AMT,compileInTests;;;;;rcp45;globallyOptimal;;;3;0;NDC;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2ICEban;1;2030;;SSP2-NPi2025;SSP2-NPi;SSP1-NPi2025;SSP1-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. It assumes NPi2025 until 2025 and has start year 2030. 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. From 35da4271b2337ab7ef616df2589728dc0616b80a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Thu, 5 Dec 2024 17:35:20 +0100 Subject: [PATCH 838/875] Add minimal documentation to cm_APscen --- main.gms | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/main.gms b/main.gms index 9c90c452e..c0f57c6e9 100755 --- a/main.gms +++ b/main.gms @@ -1852,6 +1852,11 @@ $setglobal cm_demScen gdp_SSP2 !! def = gdp_SSP2 $setGlobal c_scaleEmiHistorical on !! def = on !! regexp = off|on $SetGlobal cm_quick_mode off !! def = off !! regexp = off|on $setGLobal cm_debug_preloop off !! def = off !! regexp = off|on +*' cm_APscen "air polution scenario" +*' (SSP2): +*' (SSP5): +*' (CLE): Current Legislation Emissions +*' (MFR): Maximum Feasible Reductions $setGlobal cm_APscen SSP2 !! def = SSP2 $setglobal cm_CES_configuration indu_subsectors-buil_simple-tran_edge_esm-POP_pop_SSP2-GDP_gdp_SSP2-En_gdp_SSP2-Kap_debt_limit-Reg_62eff8f7 !! this will be changed by start_run() $setglobal c_CES_calibration_iterations 10 !! def = 10 From ae4a651ec8d500cddc4776ba4ea3b5a8796f992d Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Thu, 5 Dec 2024 16:45:24 +0000 Subject: [PATCH 839/875] Release development version 3.3.2.dev1145 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index c1c8c66c9..2c4a2cc76 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev1141" +version: "3.3.2.dev1145" date-released: 2024-12-05 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index ecf72fd7e..23c093444 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -69,7 +69,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.3.2.dev1141" +cfg$model_version <- "3.3.2.dev1145" #### settings #### cfg$gms <- list() From 31a0c81b260c8fe3fd96298d4f75342acd3aa577 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Thu, 5 Dec 2024 20:32:14 +0100 Subject: [PATCH 840/875] Introduce option to manually choose regional carbon prices in cm_startyear --- main.gms | 8 ++++-- .../functionalForm/datainput.gms | 25 +++++++++++++++++++ .../functionalForm/declarations.gms | 7 ++++++ .../functionalForm/postsolve.gms | 12 +++++++++ 4 files changed, 50 insertions(+), 2 deletions(-) diff --git a/main.gms b/main.gms index c0f57c6e9..9dfa5364e 100755 --- a/main.gms +++ b/main.gms @@ -1702,12 +1702,16 @@ $setglobal cm_taxCO2_regiDiff initialSpread10 !! def = "initialSpread *** cm_taxCO2_regiDiff_endYr "switch for choosing convergence year of regionally differentiated carbon prices when using initialSpread10 or initialSpread20 in 45_carbonprice/functionalForm" *** Setting cm_taxCO2_regiDiff_endYr to GLO 2050, IND 2070, SSA 2100 means that convergence year is delayed for IND to 2070 and for SSA to 2100 $setglobal cm_taxCO2_regiDiff_endYr "GLO 2050" !! def = "GLO 2050" -*** cm_co2_tax_interpolation "switch for interpolation between (a) carbonprice trajectory given by path_gdx_ref and (b) carbonprice trajectory defined in 45_carbonprice" +*** cm_co2_tax_interpolation "switch for interpolation between (a) carbonprice trajectory given by path_gdx_ref (or manually chosen regional carbon price in cm_startyear - see cm_taxCO2_startYearValue) and (b) carbonprice trajectory defined in 45_carbonprice" *** (off): no interpolation, i.e. (b) is used from cm_startyear onward *** (one_step): linear interpolation within 10 years between (a) and (b). For example, if cm_startyear = 2030, it uses (a) until 2025, the average of (a) and (b) in 2030, and (b) from 2035. *** (two_steps): linear interpolation within 15 years between (a) and (b). For example, if cm_startyear = 2030, it uses (a) until 2025, weighted averages of (a) and (b) in 2030 and 2035, and (b) from 2040. *** Setting cm_co2_tax_interpolation to GLO.2025.2050 2, EUR.2025.2040 1 means that interpolation between (a) and (b) in quadratic [exponent = 2], starts in 2025, and ends in 2050 for all regions, except for Europe that has linear interpolation [exponent = 1] starting in 2025 and ending in 2040 -$setglobal cm_taxCO2_interpolation off !! def = "one_step" +$setglobal cm_taxCO2_interpolation off !! def = "off" +*** cm_taxCO2_startYearValue "switch for manually choosing regional carbon prices in cm_startyear that are used as starting point for interpolation" +*** (off): no manual values provided, i.e. carbonprice trajectory given by path_gdx_ref is used for interpolation +*** Setting cm_taxCO2_startYearValue to GLO 50, SSA 5, CHA 40 means that in cm_startyear, SSA has carbon price of 5$/tCO2, CHA has carbon price of 40$/tCO2, and all other regions have carbon price of 50$/tCO2. +$setglobal cm_taxCO2_startYearValue !! def = "off" *** cm_taxCO2_lowerBound_path_gdx_ref "switch for choosing if carbon price trajectories from path_gdx_ref are used as lower bound" *** (on): carbon price trajectories (pm_taxCO2eq) from path_gdx_ref is used as lower bound for pm_taxCO2eq *** (off): no lower bound diff --git a/modules/45_carbonprice/functionalForm/datainput.gms b/modules/45_carbonprice/functionalForm/datainput.gms index e8f3864a6..522ecb434 100644 --- a/modules/45_carbonprice/functionalForm/datainput.gms +++ b/modules/45_carbonprice/functionalForm/datainput.gms @@ -202,9 +202,23 @@ loop((ext_regi,ttot,ttot2)$p45_interpolation_data(ext_regi,ttot,ttot2), ); ); $endIf.CO2taxInterpolation2 + +$ifThen.taxCO2startYearValue2 "%cm_taxCO2_startYearValue%" == "off" +$else.taxCO2startYearValue2 +*** Set manually chosen regional carbon price in cm_startyear +loop((ext_regi)$p45_taxCO2eq_startYearValue_data(ext_regi), + loop(regi$regi_groupExt(ext_regi,regi), + p45_taxCO2eq_startYearValue(regi) = p45_taxCO2eq_startYearValue_data(ext_regi) * sm_DptCO2_2_TDpGtC; !! Converted from $/t CO2eq to T$/GtC + ); +); +display p45_taxCO2eq_startYearValue; +*** Set interpolation start to cm_startyear +p45_interpolation_startYr(regi) = cm_startyear; +$endIf.taxCO2startYearValue2 display p45_interpolation_exponent, p45_interpolation_startYr, p45_interpolation_endYr; *** Step IV.2: Create interpolation +$ifThen.taxCO2startYearValue3 "%cm_taxCO2_startYearValue%" == "off" loop(regi, pm_taxCO2eq(ttot,regi) = p45_taxCO2eq_path_gdx_ref(ttot,regi); !! Initialize pm_taxCO2eq with p45_taxCO2eq_path_gdx_ref. Then overwrite all time steps after cm_startyear and p45_interpolation_startYr(regi) pm_taxCO2eq(t,regi)$((t.val ge p45_interpolation_startYr(regi)) and (t.val lt p45_interpolation_endYr(regi))) = @@ -214,6 +228,17 @@ loop(regi, * rPower( (t.val - p45_interpolation_startYr(regi)) / (p45_interpolation_endYr(regi) - p45_interpolation_startYr(regi)), p45_interpolation_exponent(regi)); pm_taxCO2eq(t,regi)$(t.val ge p45_interpolation_endYr(regi)) = p45_taxCO2eq_regiDiff(t,regi); ); +$else.taxCO2startYearValue3 +loop(regi, + pm_taxCO2eq(ttot,regi) = p45_taxCO2eq_path_gdx_ref(ttot,regi); !! Initialize pm_taxCO2eq with p45_taxCO2eq_path_gdx_ref. Then overwrite all time steps after cm_startyear + pm_taxCO2eq(t,regi)$(t.val lt p45_interpolation_endYr(regi)) = + p45_taxCO2eq_startYearValue(regi) + * (1 - rPower( (t.val - cm_startyear) / (p45_interpolation_endYr(regi) - cm_startyear), p45_interpolation_exponent(regi))) + + sum(t2$(t2.val eq p45_interpolation_endYr(regi)), p45_taxCO2eq_regiDiff(t2,regi)) !! value of p45_taxCO2eq_regiDiff in p45_interpolation_endYr + * rPower( (t.val - cm_startyear) / (p45_interpolation_endYr(regi) - cm_startyear), p45_interpolation_exponent(regi)); + pm_taxCO2eq(t,regi)$(t.val ge p45_interpolation_endYr(regi)) = p45_taxCO2eq_regiDiff(t,regi); +); +$endIf.taxCO2startYearValue3 display pm_taxCO2eq; *** Step IV.3: Lower bound pm_taxCO2eq by p45_taxCO2eq_path_gdx_ref if switch cm_taxCO2_lowerBound_path_gdx_ref is on diff --git a/modules/45_carbonprice/functionalForm/declarations.gms b/modules/45_carbonprice/functionalForm/declarations.gms index f6ec7d913..c68d1dbf4 100644 --- a/modules/45_carbonprice/functionalForm/declarations.gms +++ b/modules/45_carbonprice/functionalForm/declarations.gms @@ -51,6 +51,13 @@ $else.taxCO2interpolation1 p45_interpolation_data(ext_regi,ttot,ttot2) "regional exponent and timewindow for interpolation" / %cm_taxCO2_interpolation% / $endIf.taxCO2interpolation1 +*** Only assigning values to p45_taxCO2eq_startYearValue if cm_taxCO2_startYearValue is not off +$ifThen.taxCO2startYearValue1 "%cm_taxCO2_startYearValue%" == "off" +$else.taxCO2startYearValue1 +p45_taxCO2eq_startYearValue_data(ext_regi) "input data for manually chosen regional carbon price in cm_startyear in $/t CO2eq" +/ %cm_taxCO2_startYearValue% / +p45_taxCO2eq_startYearValue(all_regi) "manually chosen regional carbon price in cm_startyear in $/t CO2eq" +$endIf.taxCO2startYearValue1 ; diff --git a/modules/45_carbonprice/functionalForm/postsolve.gms b/modules/45_carbonprice/functionalForm/postsolve.gms index 13a94630c..34b90b5aa 100644 --- a/modules/45_carbonprice/functionalForm/postsolve.gms +++ b/modules/45_carbonprice/functionalForm/postsolve.gms @@ -354,6 +354,7 @@ display p45_taxCO2eq_regiDiff; ***----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- *** Re-reate interpolation for all timesteps after cm_startyear +$ifThen.taxCO2startYearValue4 "%cm_taxCO2_startYearValue%" == "off" loop(regi, pm_taxCO2eq(t,regi)$(t.val lt p45_interpolation_startYr(regi)) = p45_taxCO2eq_path_gdx_ref(t,regi); pm_taxCO2eq(t,regi)$((t.val ge p45_interpolation_startYr(regi)) and (t.val lt p45_interpolation_endYr(regi))) = @@ -363,6 +364,17 @@ loop(regi, * rPower( (t.val - p45_interpolation_startYr(regi)) / (p45_interpolation_endYr(regi) - p45_interpolation_startYr(regi)), p45_interpolation_exponent(regi)); pm_taxCO2eq(t,regi)$(t.val ge p45_interpolation_endYr(regi)) = p45_taxCO2eq_regiDiff(t,regi); ); +$else.taxCO2startYearValue4 +loop(regi, + pm_taxCO2eq(t,regi)$(t.val lt p45_interpolation_startYr(regi)) = p45_taxCO2eq_path_gdx_ref(t,regi); + pm_taxCO2eq(t,regi)$(t.val lt p45_interpolation_endYr(regi)) = + p45_taxCO2eq_startYearValue(regi) + * (1 - rPower( (t.val - cm_startyear) / (p45_interpolation_endYr(regi) - cm_startyear), p45_interpolation_exponent(regi))) + + sum(t2$(t2.val eq p45_interpolation_endYr(regi)), p45_taxCO2eq_regiDiff(t2,regi)) !! value of p45_taxCO2eq_regiDiff in p45_interpolation_endYr + * rPower( (t.val - cm_startyear) / (p45_interpolation_endYr(regi) - cm_startyear), p45_interpolation_exponent(regi)); + pm_taxCO2eq(t,regi)$(t.val ge p45_interpolation_endYr(regi)) = p45_taxCO2eq_regiDiff(t,regi); +); +$endIf.taxCO2startYearValue4 display pm_taxCO2eq; *** Re-introduce lower bound pm_taxCO2eq by p45_taxCO2eq_path_gdx_ref if switch cm_taxCO2_lowerBound_path_gdx_ref is on From 70d7d14f1b03ca3ce35fd5dfb6b683e8f28c4762 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Fri, 6 Dec 2024 11:25:35 +0000 Subject: [PATCH 841/875] Release development version 3.3.2.dev1148 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 2c4a2cc76..b60a300f6 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev1145" -date-released: 2024-12-05 +version: "3.3.2.dev1148" +date-released: 2024-12-06 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 23c093444..a07bbdef3 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -69,7 +69,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.3.2.dev1145" +cfg$model_version <- "3.3.2.dev1148" #### settings #### cfg$gms <- list() From 0f4168c4a4217c5079e02975856b1e910e8760d9 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Fri, 6 Dec 2024 13:05:32 +0000 Subject: [PATCH 842/875] Release development version 3.3.2.dev1151 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index b60a300f6..73daa1b96 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev1148" +version: "3.3.2.dev1151" date-released: 2024-12-06 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index a07bbdef3..64df574bc 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -69,7 +69,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.3.2.dev1148" +cfg$model_version <- "3.3.2.dev1151" #### settings #### cfg$gms <- list() From 0ac25b3ea41ad00bd5fa953ed3696b0ea4cd0f94 Mon Sep 17 00:00:00 2001 From: Nico Bauer Date: Fri, 6 Dec 2024 16:05:41 +0100 Subject: [PATCH 843/875] Adding the policy roll-back option for final energy taxes. --- main.gms | 3 ++- modules/21_tax/on/datainput.gms | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/main.gms b/main.gms index f535dc482..6672da9ce 100755 --- a/main.gms +++ b/main.gms @@ -716,13 +716,14 @@ parameter parameter cm_fetaxscen "choice of final energy tax path, subsidy path and inconvenience cost path, values other than zero enable final energy tax" ; - cm_fetaxscen = 3; !! def = 3 !! regexp = [0-4] + cm_fetaxscen = 3; !! def = 3 !! regexp = [0-5] *' even if set to 0, the PE inconvenience cost per SO2-cost for coal are always on if module 21_tax is on *' * (0): no tax, sub, inconv *' * (1): constant t,s,i (used in SSP 5 and ADVANCE WP3.1 HighOilSub) *' * (2): converging tax, phased out sub (-2030), no inconvenience cost so far (used in SSP 1) *' * (3): constant tax, phased out sub (-2050), no inconvenience cost so far (used in SSP 2) *' * (4): constant tax, phased out sub (-2030), no inconvenience cost so far (used in SDP) +*' * (5): roll back of final energy taxes to get back to a no-policy case (previously known as BAU) *' parameter cm_distrBeta "elasticity of tax revenue redistribution" diff --git a/modules/21_tax/on/datainput.gms b/modules/21_tax/on/datainput.gms index d9dd598c8..82aa7ef15 100644 --- a/modules/21_tax/on/datainput.gms +++ b/modules/21_tax/on/datainput.gms @@ -37,15 +37,15 @@ $include "./modules/21_tax/on/input/f21_tax_convergence.cs4r" $offdelim / ; -Parameter f21_tax_convergence_SSP3(tall,all_regi,all_enty) "Tax convergence level for specific regions, year and final energy type" +Parameter f21_tax_convergence_rollback(tall,all_regi,all_enty) "Tax convergence level for specific regions, year and final energy type" / $ondelim -$include "./modules/21_tax/on/input/f21_tax_convergence_SSP3.cs4r" +$include "./modules/21_tax/on/input/f21_tax_convergence_rollback.cs4r" $offdelim / ; if(cm_fetaxscen eq 5, -f21_tax_convergence(ttot,regi,enty) = f21_tax_convergence_SSP3(ttot,regi,enty); +f21_tax_convergence(ttot,regi,enty) = f21_tax_convergence_rollback(ttot,regi,enty); ); Parameter f21_max_fe_sub(tall,all_regi,all_enty) "maximum final energy subsidy levels (in $/Gj) from REMIND version prior to rev. 5429" From 1f5cbd1b4847de6ca96ea28fc2ee1caa024404d4 Mon Sep 17 00:00:00 2001 From: robertpietzcker Date: Fri, 6 Dec 2024 16:28:30 +0100 Subject: [PATCH 844/875] updated x-axis plot settings for compScen2 --- scripts/cs2/profiles.json | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/scripts/cs2/profiles.json b/scripts/cs2/profiles.json index 8a36155c6..fa1c82b65 100644 --- a/scripts/cs2/profiles.json +++ b/scripts/cs2/profiles.json @@ -11,25 +11,27 @@ }, "H12": { "projectLibrary": "'remind2'", - "reg": "c('CAZ', 'CHA', 'EUR', 'IND', 'JPN', 'LAM', 'MEA', 'NEU', 'OAS', 'REF', 'SSA', 'USA', 'World')" + "reg": "c('CAZ', 'CHA', 'EUR', 'IND', 'JPN', 'LAM', 'MEA', 'NEU', 'OAS', 'REF', 'SSA', 'USA', 'World')", + "yearsHist": "c(seq(1990, 2024, 1), seq(2025, 2050, 5))" }, "H12-short": { "projectLibrary": "'remind2'", "reg": "c('CAZ', 'CHA', 'EUR', 'IND', 'JPN', 'LAM', 'MEA', 'NEU', 'OAS', 'REF', 'SSA', 'USA', 'World')", "yearsScen": "seq(2005, 2050, 5)", - "yearsHist": "c(seq(1990, 2024, 1), seq(2025, 2050, 5))", - "yearsBarPlot": "c(2020, 2030, 2050)" + "yearsHist": "c(seq(2000, 2024, 1), seq(2025, 2050, 5))", + "yearsBarPlot": "c(2020, 2030, 2040, 2050)" }, "EU27": { "projectLibrary": "'remind2'", "reg": "c('DEU', 'ECE', 'ECS', 'ENC', 'ESC', 'ESW', 'EU27', 'EWN', 'FRA')", - "mainReg": "'EU27'" + "mainReg": "'EU27'", + "yearsHist": "c(seq(1990, 2024, 1), seq(2025, 2050, 5))" }, "EU27-short": { "projectLibrary": "'remind2'", "reg": "c('DEU', 'ECE', 'ECS', 'ENC', 'ESC', 'ESW', 'EU27', 'EWN', 'FRA')", "yearsScen": "seq(2005, 2050, 5)", - "yearsHist": "c(seq(1990, 2024, 1), seq(2025, 2050, 5))", + "yearsHist": "c(seq(2000, 2024, 1), seq(2025, 2050, 5))", "yearsBarPlot": "c(2020, 2030, 2040, 2050)", "mainReg": "'EU27'" }, @@ -37,7 +39,7 @@ "projectLibrary": "'remind2'", "reg": "c('DEU', 'ECE', 'ECS', 'ENC', 'ESC', 'ESW', 'EU27', 'EWN', 'FRA')", "yearsScen": "seq(2005, 2050, 5)", - "yearsHist": "c(seq(1990, 2024, 1), seq(2025, 2050, 5))", + "yearsHist": "c(seq(2000, 2024, 1), seq(2025, 2050, 5))", "yearsBarPlot": "c(2020, 2030, 2045)", "modelsHistExclude": "c('IEA ETP B2DS', 'IEA ETP 2DS', 'IEA ETP RTS', 'EDGE_SSP1', 'EDGE_SSP2', 'CEDS', 'IRENA', 'IEA WEO 2021 APS', 'IEA WEO 2021 SDS', 'IEA WEO 2021 SPS')", "mainReg": "'DEU'" From 57d8174dee6bd164fa7b8116f2be7d0660b7a8c9 Mon Sep 17 00:00:00 2001 From: Nico Bauer Date: Fri, 6 Dec 2024 16:57:52 +0100 Subject: [PATCH 845/875] Adjusted scenario_config.csv and scenario_config_ScenarioMIP.csv fo the policy roll-back. --- config/scenario_config.csv | 14 +++++++------- config/scenario_config_ScenarioMIP.csv | 6 +++--- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/config/scenario_config.csv b/config/scenario_config.csv index bc1ee139b..c721e6add 100644 --- a/config/scenario_config.csv +++ b/config/scenario_config.csv @@ -19,13 +19,13 @@ SSP2-EU21-PkBudg500;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extram SSP2-EU21-PkBudg650;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;globallyOptimal;650;functionalForm;;100;2055;;;9;;;;;;;;;;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi;SSP2-EU21-PkBudg650: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. SSP2-EU21-PkBudg1000;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;9;globallyOptimal;1000;functionalForm;;75;2080;;;9;;;;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi;SSP2-EU21-PkBudg1050: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. # H12 SSP3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP3-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. -SSP3-NDC;0;;;;;rcp45;3;;0;NDC;;;;;;9;;;1;;;;;;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2ICEban;2030;;SSP2-NPi2025;SSP3-NPi;SSP3-NPi;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. It assumes NPi2025 until 2025 and has start year 2030. 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. -SSP3-NDCsy2025;0;;;;;rcp45;3;;0;NDC;;;;;;9;;;1;;;;;;;5;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2ICEban;2025;;SSP2-NPi;SSP3-NPi;SSP3-NPi;SSP3-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. It assumes NPi until 2020 and has start year 2025. 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. -SSP3-NPi;0;;;;;rcp45;0;;0;NPi;;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP3-NPi2025;0;;;;;rcp45;0;;0;NPi2025;;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2ICEban;2005;;;;;SSP3-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP3-PkBudg1000;0;;;;;rcp26;9;;1000;functionalForm;;75;2080;;GLO 2100;9;;;1;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix3ICEban;2030;;SSP2-NPi2025;;;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -SSP3-rollBack;0;;;;;rcp45;0;;0;none;;;;;;0;;;1;;;;;;;;;;;;none;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;;Mix1;2030;;SSP2-NPi2025;;; +SSP3-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;4;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. +SSP3-NDC;0;;;;;rcp45;3;;0;NDC;;;;;;9;;;1;;;;;;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;4;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2ICEban;2030;;SSP2-NPi2025;SSP3-NPi;SSP3-NPi;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. It assumes NPi2025 until 2025 and has start year 2030. 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. +SSP3-NDCsy2025;0;;;;;rcp45;3;;0;NDC;;;;;;9;;;1;;;;;;;5;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;4;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2ICEban;2025;;SSP2-NPi;SSP3-NPi;SSP3-NPi;SSP3-NDCsy2025: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. It assumes NPi until 2020 and has start year 2025. 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. +SSP3-NPi;0;;;;;rcp45;0;;0;NPi;;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;4;;0;3;SSP3;1.5;;forcing_SSP3;;Mix1;2005;;;;;SSP3-NPi: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP3-NPi2025;0;;;;;rcp45;0;;0;NPi2025;;;;;;9;;;1;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;4;;0;3;SSP3;1.5;;forcing_SSP3;;Mix2ICEban;2005;;;;;SSP3-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP3-PkBudg1000;0;;;;;rcp26;9;;1000;functionalForm;;75;2080;;GLO 2100;9;;;1;;;;;;;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;4;;0;;SSP3;1.5;;forcing_SSP3;;Mix3ICEban;2030;;SSP2-NPi2025;;;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP3-rollBack;0;;;;;rcp45;0;;0;none;;;;;;0;;;5;;;;;;;;;;;;none;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;4;;0;;SSP3;1.5;;forcing_SSP3;;Mix1;2030;;SSP2-NPi2025;;; # H12 SSP1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP1-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;0;NPi;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix1;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. SSP1-NDC;1,AMT,compileInTests;;;;;rcp45;3;globallyOptimal;0;NDC;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;1;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2ICEban;2030;;SSP2-NPi2025;SSP1-NPi;SSP1-NPi;SSP1-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. It assumes NPi2025 until 2025 and has start year 2030. 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. diff --git a/config/scenario_config_ScenarioMIP.csv b/config/scenario_config_ScenarioMIP.csv index 1bb1e5152..0a51f0b26 100644 --- a/config/scenario_config_ScenarioMIP.csv +++ b/config/scenario_config_ScenarioMIP.csv @@ -1,6 +1,6 @@ title;start;copyConfigFrom;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_budgetCO2from2020;carbonprice;cm_taxCO2_functionalForm;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_historical;cm_taxCO2_historicalYr;cm_taxCO2_regiDiff;cm_taxCO2_regiDiff_endYr;cm_emiscen;c_regi_earlyreti_rate;cm_fetaxscen;cm_bioenergy_SustTax;cm_maxProdBiolc;cm_33EW;cm_33OAE;cm_frac_NetNegEmi;c_ccsinjecratescen;c_changeProdCost;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description #___ScenarioMIP_defaults___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-H-SSP3-rollBack-def;0;;rcp45;0;off;;none;;;;;;;;9;GLO 0.09, EUR_regi 0.15;1;1.5;;1;0;0.5;1;1;;;;;none;regiCarbonPrice;off;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;medOil;medGas;highCoal;1;2;0;3;SSP3;1.5;0;forcing_SSP3;SSP3;Mix1;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; +SMIPv04-H-SSP3-rollBack-def;0;;rcp45;0;off;;none;;;;;;;;9;GLO 0.09, EUR_regi 0.15;5;1.5;;1;0;0.5;1;1;;;;;none;regiCarbonPrice;off;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;medOil;medGas;highCoal;1;2;0;3;SSP3;1.5;0;forcing_SSP3;SSP3;Mix1;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; SMIPv04-M-SSP2-NPi2025-def;1;;rcp45;0;off;;NPi2025;;;;;;;;9;GLO 0.09, EUR_regi 0.15;3;1.5;;1;0;0.5;1;;;;;;NPi2018;regiCarbonPrice;off;;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;Mix1;2005;;;;; SMIPv04-ML-SSP2-PkBudg2000-def;1;;rcp45;9;globallyOptimal;2000;functionalForm;linear;60;2100;gdx_ref;2025;initialSpread10;GLO 2100;9;GLO 0.09, EUR_regi 0.15;3;1.5;;1;0;0.5;1;1;;;;;NDC;regiCarbonPrice;off;;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix2ICEban;2045;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; SMIPv04-L-SSP2-PkBudg1000-def;1;;rcp26;9;globallyOptimal;1000;functionalForm;linear;65;2080;gdx_ref;2025;initialSpread10;GLO 2070;9;GLO 0.09, EUR_regi 0.15;3;1.5;;1;0;0.5;1;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix3ICEban;2035;;SMIPv04-M-SSP2-NDC_sy2030-var;;SMIPv04-M-SSP2-NPi2025-def; @@ -14,7 +14,7 @@ SMIPv04-M-SSP2-NDC_sy2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;3;globallyOptimal;;N SMIPv04-L-SSP2-PkBudg1000-var_2030NPi;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-def;;; SMIPv04-L-SSP2-PkBudg1000-var_2030flexible;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;last;;;;;;;;;;;;;;;;;;;;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;;;;;;;;;;;;;;;;;;;;2030;;SMIPv04-M-SSP2-NPi2025-def;;; #___ScenarioMIP_SSP_variants___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-H-SSP5-rollBack-var;0;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP5;gdp_SSP5;gdp_SSP5;;;;;;;;SSP5;;;forcing_SSP5;SSP5;;;;;;; +SMIPv04-H-SSP5-rollBack-var;0;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;;;;;;5;;;;;;;;;;;;;;;;;;;pop_SSP5;gdp_SSP5;gdp_SSP5;;;;;;;;SSP5;;;forcing_SSP5;SSP5;;;;;;; SMIPv04-M-SSP1-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;GLO 0.12, EUR_regi 0.15;2;;;;;;5;;;;;;;;;;;;;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SDP;;;forcing_SSP1;MFR;;;;;;; SMIPv04-M-SSP1-NPi2020-var;1;SMIPv04-M-SSP1-NPi2025-var;;;;;NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SMIPv04-M-SSP1-NDC_sy2030-var;1;SMIPv04-M-SSP1-NPi2025-var;;3;globallyOptimal;;NDC;;;;;;;;;;;;;;;;;1;;;;;NDC;;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;;;;;;;;;;;;;;;;;;;Mix2ICEban;2030;;SMIPv04-M-SSP2-NPi2025-def;SMIPv04-M-SSP1-NPi2020-var;SMIPv04-M-SSP1-NPi2025-var; @@ -34,7 +34,7 @@ SMIPv04-VLHO-SSP2-EcBudg400-var_yr2035;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;; SMIPv04-VLHO-SSP2-EcBudg400-var_yr2050;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;GLO 2050;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SMIPv04-VLLO-SSP1-PkBudg750-var_yr2035;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;GLO 2035;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; #___ScenarioMIP_EW_off_variants___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-H-SSP3-rollBack-var_EWoff;0;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-H-SSP3-rollBack-var_EWoff;0;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;;;;;;5;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SMIPv04-M-SSP2-NPi2025-var_EWoff;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SMIPv04-ML-SSP2-PkBudg2000-var_EWoff;1;SMIPv04-ML-SSP2-PkBudg2000-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SMIPv04-L-SSP2-PkBudg1000-var_EWoff;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; From 379920194c96fa3bdcbdba9c184a7f89e7bd5fba Mon Sep 17 00:00:00 2001 From: Nico Bauer Date: Fri, 6 Dec 2024 19:26:57 +0100 Subject: [PATCH 846/875] Up-date to include changes of techno-economic assumptions in SSP3 and fetax reduction in policy roll-back scenarios. --- config/scenario_config.csv | 14 +++++++------- config/scenario_config_ScenarioMIP.csv | 8 ++++---- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/config/scenario_config.csv b/config/scenario_config.csv index ace852d92..4d93595ad 100644 --- a/config/scenario_config.csv +++ b/config/scenario_config.csv @@ -9,7 +9,7 @@ SSP2-PkBudg500;1,AMT,2;;;;;rcp20;globallyOptimal;;;9;500;functionalForm;;200;204 SSP2-PkBudg650;1,AMT,2;;;;;rcp20;globallyOptimal;;;9;650;functionalForm;;100;2055;;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;1;2030;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. SSP2-PkBudg1000;1,AMT,2;;;;;rcp26;globallyOptimal;;;9;1000;functionalForm;;75;2080;;;9;;;;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;1;2030;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. SSP2-EcBudg400;1,AMT,2;;;;;rcp26;globallyOptimal;;;5;400;functionalForm;exponential;70;;initialSpread20;GLO 2070;9;;;;;1;1;0;;;;;;2060.GLO 0.9;NDC;regiCarbonPrice;(2080,2090,2100).GLO.tax.t.oae.all 5000;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;1;2035;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-EcBudg400: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes an end-of-century budget of 400 Gt CO2 on total CO2 emissions from 2020 to 2100. This is a high overshoot scenario with delayed climate policy. -SSP2-rollBack;1,AMT,2;;;;;rcp45;;;;0;0;none;;;;;;0;;;1;;;;;;;;;;;none;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;1;2030;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-rollBack: This rollback of climate policy scenario follows the Shared Socioeconomic Pathways 3 called Middle of the Road. +SSP2-rollBack;1,AMT,2;;;;;rcp45;;;;0;0;none;;;;;;0;;;5;;;;;;;;;;;none;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;1;2030;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-rollBack: This rollback of climate policy scenario follows the Shared Socioeconomic Pathways 3 called Middle of the Road. # EU21 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP2-EU21-NPi-calibrate;calibrate;calibrate;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;;;0;NPi;;;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;;2005;;;;;SSP2-EU21-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. SSP2-EU21-NDC;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;globallyOptimal;;;3;0;NDC;;;;;;9;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix2ICEban;1;2030;;SSP2-EU21-NPi2025;SSP2-EU21-NPi;SSP2-EU21-NPi2025;SSP2-EU21-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi2025 until 2025 and has start year 2030. 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. @@ -20,12 +20,12 @@ SSP2-EU21-PkBudg500;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extram SSP2-EU21-PkBudg650;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;globallyOptimal;;;9;650;functionalForm;;100;2055;;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;1;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi2025;SSP2-EU21-PkBudg650: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. SSP2-EU21-PkBudg1000;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp26;globallyOptimal;;;9;1000;functionalForm;;75;2080;;;9;;;;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;1;2030;;SSP2-EU21-NPi2025;;SSP2-EU21-NPi2025;SSP2-EU21-PkBudg1050: This climate policy scenario follows the SSP2. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. # H12 SSP3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SSP3-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;3;;;0;NPi;;;;;;9;;;1;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;CLE;Mix1;;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. -SSP3-NPi_impCM-calibrate;calibrate;calibrate;14;;;rcp45;;3;imperfect;;0;NPi;;;;;;9;;;1;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;CLE;Mix1;;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. -SSP3-NDC;1;;;;;rcp45;;3;;3;0;NDC;;;;;;9;;;1;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;CLE;Mix2ICEban;1;2030;;SSP2-NPi2025;SSP2-NPi;SSP3-NPi2025;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. It assumes NPi2025 until 2025 and has start year 2030. 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. -SSP3-NPi2025;1;;;;;rcp45;;3;;0;0;NPi2025;;;;;;9;;;1;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;3;SSP3;1.5;;forcing_SSP3;CLE;Mix2ICEban;1;2030;;SSP2-NPi2025;;;SSP3-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP3-PkBudg1000;1;;;;;rcp26;;3;;9;1000;functionalForm;;75;2080;;GLO 2100;9;;;1;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;0;;SSP3;1.5;;forcing_SSP3;CLE;Mix3ICEban;1;2030;;SSP2-NPi2025;;SSP3-NPi2025;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -SSP3-rollBack;1;;;;;rcp45;;3;;0;0;none;;;;;;0;;;1;;;;;;;;;;;none;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;4;;0;3;SSP3;1.5;;forcing_SSP3;CLE;Mix1;1;2030;;SSP2-NPi2025;;SSP3-NPi2025;SSP3-rollBack: This rollback of climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. +SSP3-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;3;;;0;NPi;;;;;;9;;;1;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;4;;0;3;SSP3;1.5;;forcing_SSP3;CLE;Mix1;;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. +SSP3-NPi_impCM-calibrate;calibrate;calibrate;14;;;rcp45;;3;imperfect;;0;NPi;;;;;;9;;;1;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;4;;0;3;SSP3;1.5;;forcing_SSP3;CLE;Mix1;;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. +SSP3-NDC;1;;;;;rcp45;;3;;3;0;NDC;;;;;;9;;;1;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;4;;0;3;SSP3;1.5;;forcing_SSP3;CLE;Mix2ICEban;1;2030;;SSP2-NPi2025;SSP2-NPi;SSP3-NPi2025;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. It assumes NPi2025 until 2025 and has start year 2030. 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. +SSP3-NPi2025;1;;;;;rcp45;;3;;0;0;NPi2025;;;;;;9;;;1;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;4;;0;3;SSP3;1.5;;forcing_SSP3;CLE;Mix2ICEban;1;2030;;SSP2-NPi2025;;;SSP3-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. +SSP3-PkBudg1000;1;;;;;rcp26;;3;;9;1000;functionalForm;;75;2080;;GLO 2100;9;;;1;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;4;;0;;SSP3;1.5;;forcing_SSP3;CLE;Mix3ICEban;1;2030;;SSP2-NPi2025;;SSP3-NPi2025;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP3-rollBack;1;;;;;rcp45;;3;;0;0;none;;;;;;0;;;5;;;;;;;;;;;none;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;4;;0;3;SSP3;1.5;;forcing_SSP3;CLE;Mix1;1;2030;;SSP2-NPi2025;;SSP3-NPi2025;SSP3-rollBack: This rollback of climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. # H12 SSP1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP1-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;;;0;NPi;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix1;;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. SSP1-NDC;1,AMT,compileInTests;;;;;rcp45;globallyOptimal;;;3;0;NDC;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2ICEban;1;2030;;SSP2-NPi2025;SSP2-NPi;SSP1-NPi2025;SSP1-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. It assumes NPi2025 until 2025 and has start year 2030. 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. diff --git a/config/scenario_config_ScenarioMIP.csv b/config/scenario_config_ScenarioMIP.csv index ccc309a72..4a839d8de 100644 --- a/config/scenario_config_ScenarioMIP.csv +++ b/config/scenario_config_ScenarioMIP.csv @@ -1,6 +1,6 @@ title;start;copyConfigFrom;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_budgetCO2from2020;carbonprice;cm_taxCO2_functionalForm;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_historical;cm_taxCO2_historicalYr;cm_taxCO2_regiDiff;cm_taxCO2_regiDiff_endYr;cm_emiscen;c_regi_earlyreti_rate;cm_fetaxscen;cm_bioenergy_SustTax;cm_maxProdBiolc;cm_33EW;cm_33OAE;cm_frac_NetNegEmi;c_ccsinjecratescen;c_changeProdCost;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description #___ScenarioMIP_defaults___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-H-SSP3-rollBack-def;0;;rcp45;0;off;;none;;;;;;;;9;GLO 0.09, EUR_regi 0.15;1;1.5;;1;0;0.5;1;1;;;;;none;regiCarbonPrice;off;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;medOil;medGas;highCoal;1;2;0;3;SSP3;1.5;0;forcing_SSP3;SSP3;Mix1;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; +SMIPv04-H-SSP3-rollBack-def;0;;rcp45;0;off;;none;;;;;;;;9;GLO 0.09, EUR_regi 0.15;5;1.5;;1;0;0.5;1;1;;;;;none;regiCarbonPrice;off;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;medOil;medGas;highCoal;4;2;0;3;SSP3;1.5;0;forcing_SSP3;SSP3;Mix1;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; SMIPv04-M-SSP2-NPi2025-def;1;;rcp45;0;off;;NPi2025;;;;;;;;9;GLO 0.09, EUR_regi 0.15;3;1.5;;1;0;0.5;1;;;;;;NPi2018;regiCarbonPrice;off;;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;Mix2ICEban;2005;;;;; SMIPv04-ML-SSP2-PkBudg2000-def;1;;rcp45;9;globallyOptimal;2000;functionalForm;linear;60;2100;gdx_ref;2025;initialSpread10;GLO 2100;9;GLO 0.09, EUR_regi 0.15;3;1.5;;1;0;0.5;1;1;;;;;NDC;regiCarbonPrice;off;;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix2ICEban;2045;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; SMIPv04-L-SSP2-PkBudg1000-def;1;;rcp26;9;globallyOptimal;1000;functionalForm;linear;65;2080;gdx_ref;2025;initialSpread10;GLO 2070;9;GLO 0.09, EUR_regi 0.15;3;1.5;;1;0;0.5;1;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix3ICEban;2035;;SMIPv04-M-SSP2-NDC_sy2030-var;;SMIPv04-M-SSP2-NPi2025-def; @@ -14,13 +14,13 @@ SMIPv04-M-SSP2-NDC_sy2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;3;globallyOptimal;;N SMIPv04-L-SSP2-PkBudg1000-var_2030NPi;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-def;;; SMIPv04-L-SSP2-PkBudg1000-var_2030flexible;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;last;;;;;;;;;;;;;;;;;;;;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;;;;;;;;;;;;;;;;;;;;2030;;SMIPv04-M-SSP2-NPi2025-def;;; #___ScenarioMIP_SSP_variants___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-H-SSP5-rollBack-var;0;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP5;gdp_SSP5;gdp_SSP5;;;;;;;;SSP5;;;forcing_SSP5;SSP5;;;;;;; +SMIPv04-H-SSP5-rollBack-var;0;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;;;;;;5;;;;;;;;;;;;;;;;;;;pop_SSP5;gdp_SSP5;gdp_SSP5;;;;;;;;SSP5;;;forcing_SSP5;SSP5;;;;;;; SMIPv04-M-SSP1-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;GLO 0.12, EUR_regi 0.15;2;;;;;;5;;;;;;;;;;;;;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;;;forcing_SSP1;MFR;;;;;;; SMIPv04-M-SSP1-NPi2020-var;1;SMIPv04-M-SSP1-NPi2025-var;;;;;NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SMIPv04-M-SSP1-NDC_sy2030-var;1;SMIPv04-M-SSP1-NPi2025-var;;3;globallyOptimal;;NDC;;;;;;;;;;;;;;;;;1;;;;;NDC;;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;;;;;;;;;;;;;;;;;;;Mix2ICEban;2030;;SMIPv04-M-SSP2-NPi2025-def;SMIPv04-M-SSP1-NPi2020-var;SMIPv04-M-SSP1-NPi2025-var; SMIPv04-M-SSP1-NDC_sy2025-var;1;SMIPv04-M-SSP1-NPi2025-var;;3;globallyOptimal;;NDC;;;;;;;;;;;;;;;;;5;;;;;NDC;;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;;;;;;;;;;;;;;;;;;;Mix2ICEban;2025;;SMIPv04-M-SSP2-NPi2020-var;SMIPv04-M-SSP1-NPi2020-var;SMIPv04-M-SSP1-NPi2025-var; SMIPv04-M-SSP2_lowEn-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;;;;;;; -SMIPv04-M-SSP3-NPi2025-var;0;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;;;SSP3;;;forcing_SSP3;SSP3;;;;;;; +SMIPv04-M-SSP3-NPi2025-var;0;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;4;;;;SSP3;;;forcing_SSP3;SSP3;;;;;;; SMIPv04-M-SSP5-NPi2025-var;0;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;1;;;;;;3;;;;;;;;;;;;;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;;1;forcing_SSP5;SSP5;;;;;;; SMIPv04-L-SSP1-PkBudg1000-var;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;GLO 0.12, EUR_regi 0.15;2;;;;;;5;;;;;;;;;;;;;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;;1;forcing_SSP1;MFR;;;;SMIPv04-M-SSP1-NDC_sy2030-var;;; SMIPv04-VLLO-SSP2-PkBudg750-var;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP2;gdp_SSP2;gdp_SSP2;;;;;;;;;;;forcing_SSP2;;;;;;;; @@ -34,7 +34,7 @@ SMIPv04-VLHO-SSP2-EcBudg400-var_yr2035;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;; SMIPv04-VLHO-SSP2-EcBudg400-var_yr2050;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;GLO 2050;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SMIPv04-VLLO-SSP1-PkBudg750-var_yr2035;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;GLO 2035;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; #___ScenarioMIP_EW_off_variants___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-H-SSP3-rollBack-var_EWoff;0;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-H-SSP3-rollBack-var_EWoff;0;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;;;;;;5;;;0;;;;;;;;;;;;;;;;;;;;;;4;;;;;;;;;;;;;;; SMIPv04-M-SSP2-NPi2025-var_EWoff;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SMIPv04-ML-SSP2-PkBudg2000-var_EWoff;1;SMIPv04-ML-SSP2-PkBudg2000-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SMIPv04-L-SSP2-PkBudg1000-var_EWoff;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; From 3c26acb7937648d628743e97b141bf8433bb3025 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Fri, 6 Dec 2024 20:30:54 +0000 Subject: [PATCH 847/875] Release development version 3.3.2.dev1154 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 73daa1b96..5ced9257b 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev1151" +version: "3.3.2.dev1154" date-released: 2024-12-06 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 64df574bc..bfdb45ffb 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -69,7 +69,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.3.2.dev1151" +cfg$model_version <- "3.3.2.dev1154" #### settings #### cfg$gms <- list() From 57492047fa3f94427769035e393e817e2ac0cba1 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Sat, 7 Dec 2024 20:35:39 +0000 Subject: [PATCH 848/875] Release development version 3.3.2.dev1157 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 5ced9257b..794b4e4c9 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev1154" -date-released: 2024-12-06 +version: "3.3.2.dev1157" +date-released: 2024-12-07 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index bfdb45ffb..663de00a5 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -69,7 +69,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.3.2.dev1154" +cfg$model_version <- "3.3.2.dev1157" #### settings #### cfg$gms <- list() From f50691cc75bbac685ae618d18e241624230fabb8 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Sun, 8 Dec 2024 22:05:16 +0100 Subject: [PATCH 849/875] add new file to modules/21_tax/on/input/files --- modules/21_tax/on/input/files | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/21_tax/on/input/files b/modules/21_tax/on/input/files index 5bb4a6ad7..5e1802ec5 100644 --- a/modules/21_tax/on/input/files +++ b/modules/21_tax/on/input/files @@ -5,4 +5,5 @@ f21_prop_fe_sub.cs4r f21_tau_pe_sub.cs4r f21_max_pe_sub.cs4r f21_tax_convergence.cs4r +f21_tax_convergence_rollback.cs4r From 8ace19f9d6582142a7b5a79e015fc3f40552c64a Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Mon, 9 Dec 2024 09:23:40 +0100 Subject: [PATCH 850/875] delete path_gdx_refpolicycost specification for all scenarios except SSP2 and SSP2-EU21 --- config/scenario_config.csv | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/config/scenario_config.csv b/config/scenario_config.csv index 4d93595ad..2ff533a10 100644 --- a/config/scenario_config.csv +++ b/config/scenario_config.csv @@ -22,25 +22,25 @@ SSP2-EU21-PkBudg1000;1,AMT,2;;;./config/regionmapping_21_EU11.csv;./config/extra # H12 SSP3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP3-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;3;;;0;NPi;;;;;;9;;;1;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;4;;0;3;SSP3;1.5;;forcing_SSP3;CLE;Mix1;;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. SSP3-NPi_impCM-calibrate;calibrate;calibrate;14;;;rcp45;;3;imperfect;;0;NPi;;;;;;9;;;1;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;4;;0;3;SSP3;1.5;;forcing_SSP3;CLE;Mix1;;2005;;;;;SSP3-NPi-calibrate: This reference policy/baseline scenario follows the Shared Socioeconomic Pathways 3 called High. -SSP3-NDC;1;;;;;rcp45;;3;;3;0;NDC;;;;;;9;;;1;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;4;;0;3;SSP3;1.5;;forcing_SSP3;CLE;Mix2ICEban;1;2030;;SSP2-NPi2025;SSP2-NPi;SSP3-NPi2025;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. It assumes NPi2025 until 2025 and has start year 2030. 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. +SSP3-NDC;1;;;;;rcp45;;3;;3;0;NDC;;;;;;9;;;1;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;4;;0;3;SSP3;1.5;;forcing_SSP3;CLE;Mix2ICEban;1;2030;;SSP2-NPi2025;SSP2-NPi;;SSP3-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 3 called High. It assumes NPi2025 until 2025 and has start year 2030. 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. SSP3-NPi2025;1;;;;;rcp45;;3;;0;0;NPi2025;;;;;;9;;;1;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;4;;0;3;SSP3;1.5;;forcing_SSP3;CLE;Mix2ICEban;1;2030;;SSP2-NPi2025;;;SSP3-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 3 called High. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP3-PkBudg1000;1;;;;;rcp26;;3;;9;1000;functionalForm;;75;2080;;GLO 2100;9;;;1;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;4;;0;;SSP3;1.5;;forcing_SSP3;CLE;Mix3ICEban;1;2030;;SSP2-NPi2025;;SSP3-NPi2025;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -SSP3-rollBack;1;;;;;rcp45;;3;;0;0;none;;;;;;0;;;5;;;;;;;;;;;none;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;4;;0;3;SSP3;1.5;;forcing_SSP3;CLE;Mix1;1;2030;;SSP2-NPi2025;;SSP3-NPi2025;SSP3-rollBack: This rollback of climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. +SSP3-PkBudg1000;1;;;;;rcp26;;3;;9;1000;functionalForm;;75;2080;;GLO 2100;9;;;1;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;4;;0;;SSP3;1.5;;forcing_SSP3;CLE;Mix3ICEban;1;2030;;SSP2-NPi2025;;;SSP3-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP3-rollBack;1;;;;;rcp45;;3;;0;0;none;;;;;;0;;;5;;;;;;;;;;;none;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;4;;0;3;SSP3;1.5;;forcing_SSP3;CLE;Mix1;1;2030;;SSP2-NPi2025;;;SSP3-rollBack: This rollback of climate policy scenario follows the Shared Socioeconomic Pathways 3 called High. # H12 SSP1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP1-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;;;0;NPi;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix1;;2005;;;;;SSP1-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. -SSP1-NDC;1,AMT,compileInTests;;;;;rcp45;globallyOptimal;;;3;0;NDC;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2ICEban;1;2030;;SSP2-NPi2025;SSP2-NPi;SSP1-NPi2025;SSP1-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. It assumes NPi2025 until 2025 and has start year 2030. 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. +SSP1-NDC;1,AMT,compileInTests;;;;;rcp45;globallyOptimal;;;3;0;NDC;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;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;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2ICEban;1;2030;;SSP2-NPi2025;SSP2-NPi;;SSP1-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. It assumes NPi2025 until 2025 and has start year 2030. 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. SSP1-NPi2025;1,AMT;;;;;rcp45;;;;0;0;NPi2025;;;;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;3;SSP1;0.5;1;forcing_SSP1;MFR;Mix2ICEban;1;2030;;SSP2-NPi2025;;;SSP1-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP1-PkBudg650;1,AMT;;;;;rcp20;globallyOptimal;;;9;650;functionalForm;;100;2055;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;feelhpb 1.05, fehob 1.75, feheb 0.1;manual;feh2_otherInd 1.04, feelhth_otherInd 0.4, feh2_cement 2.0, feelhth_chemicals 1.3, feh2_chemicals 1.04;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix4ICEban;1;2030;;SSP2-NPi2025;;SSP1-NPi2025;SSP1-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP1-PkBudg1000;1,AMT;;;;;rcp26;globallyOptimal;;;9;1000;functionalForm;;75;2080;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix3ICEban;1;2030;;SSP2-NPi2025;;SSP1-NPi2025;SSP1-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP1-PkBudg650;1,AMT;;;;;rcp20;globallyOptimal;;;9;650;functionalForm;;100;2055;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;feelhpb 1.05, fehob 1.75, feheb 0.1;manual;feh2_otherInd 1.04, feelhth_otherInd 0.4, feh2_cement 2.0, feelhth_chemicals 1.3, feh2_chemicals 1.04;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix4ICEban;1;2030;;SSP2-NPi2025;;;SSP1-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP1-PkBudg1000;1,AMT;;;;;rcp26;globallyOptimal;;;9;1000;functionalForm;;75;2080;;;9;GLO 0.12, EUR_regi 0.15;;2;1.75;;;;2;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;0.5;1;forcing_SSP1;MFR;Mix3ICEban;1;2030;;SSP2-NPi2025;;;SSP1-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 1 called Sustainability. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. # H12 SSP2 lowEnergy;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP2_lowEn-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;;;0;NPi;;;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix1;;2005;;;;;SSP2_lowEn-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. -SSP2_lowEn-NDC;1,AMT;;;;;rcp45;globallyOptimal;;;3;0;NDC;;;;;;9;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix2ICEban;1;2030;;SSP2-NPi2025;SSP2-NPi;SSP2_lowEn-NPi2025;SSP2_lowEn-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi2025 until 2025 and has start year 2030. This scenario also assumes low energy demand trajectories. 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. +SSP2_lowEn-NDC;1,AMT;;;;;rcp45;globallyOptimal;;;3;0;NDC;;;;;;9;;;;;;;;;;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix2ICEban;1;2030;;SSP2-NPi2025;SSP2-NPi;;SSP2_lowEn-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. It assumes NPi2025 until 2025 and has start year 2030. This scenario also assumes low energy demand trajectories. 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. SSP2_lowEn-NPi2025;1,AMT;;;;;rcp45;;;;0;0;NPi2025;;;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;3;SSP2_lowEn;;;;;Mix2ICEban;1;2030;;SSP2-NPi2025;;;SSP2_lowEn-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP2_lowEn-PkBudg650;1,AMT;;;;;rcp20;globallyOptimal;;;9;650;functionalForm;;100;2055;;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;Mix4ICEban;1;2030;;SSP2-NPi2025;;SSP2_lowEn-NPi2025;SSP2_lowEn-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP2_lowEn-PkBudg1000;1,AMT;;;;;rcp26;globallyOptimal;;;9;1000;functionalForm;;75;2080;;;9;;;;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;Mix3ICEban;1;2030;;SSP2-NPi2025;;SSP2_lowEn-NPi2025;SSP2_lowEn-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP2_lowEn-PkBudg650;1,AMT;;;;;rcp20;globallyOptimal;;;9;650;functionalForm;;100;2055;;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;Mix4ICEban;1;2030;;SSP2-NPi2025;;;SSP2_lowEn-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP2_lowEn-PkBudg1000;1,AMT;;;;;rcp26;globallyOptimal;;;9;1000;functionalForm;;75;2080;;;9;;;;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;Mix3ICEban;1;2030;;SSP2-NPi2025;;;SSP2_lowEn-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. This scenario also assumes low energy demand trajectories. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. # H12 SSP5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP5-NPi-calibrate;calibrate;calibrate;14;;;rcp45;;;;;0;NPi;;;;;;9;;;1;1.75;;;;3;2;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix1;;2005;;;;;SSP5-calibration: This baseline calibration scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. -SSP5-NDC;1;;;;;rcp45;globallyOptimal;;;3;0;NDC;;;;;;9;;;1;1.75;;;;3;2;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2ICEban;1;2030;;SSP2-NPi2025;SSP2-NPi;SSP5-NPi2025;SSP5-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. It assumes NPi2025 until 2025 and has start year 2030. 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. +SSP5-NDC;1;;;;;rcp45;globallyOptimal;;;3;0;NDC;;;;;;9;;;1;1.75;;;;3;2;;;;;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2ICEban;1;2030;;SSP2-NPi2025;SSP2-NPi;;SSP5-NDC: This Nationally Determined Contribution (NDC) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. It assumes NPi2025 until 2025 and has start year 2030. 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. SSP5-NPi2025;1;;;;;rcp45;;;;0;0;NPi2025;;;;;;9;;;1;1.75;;;;3;2;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;3;SSP5;0.5;1;forcing_SSP5;SSP5;Mix2ICEban;1;2030;;SSP2-NPi2025;;;SSP5-NPi2025: This National Policies Implemented (NPi) scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The NPi assumes that policies fail to achieve NDC targets in 2030. Instead, carbon prices are assumed to grow and converge more slowly, leading to emissions trajectories in line with bottom-up studies on the effect of currently implemented policies. -SSP5-PkBudg650;1;;;;;rcp20;globallyOptimal;;;9;650;functionalForm;;100;2055;;;9;;;1;1.75;;;;3;2;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix4ICEban;1;2030;;SSP2-NPi2025;;SSP5-NPi2025;SSP5-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. -SSP5-PkBudg1000;1,compileInTests;;;;;rcp26;globallyOptimal;;;9;1000;functionalForm;;75;2080;;;9;;;1;1.75;;;;3;2;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix3ICEban;1;2030;;SSP2-NPi2025;;SSP5-NPi2025;SSP5-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. +SSP5-PkBudg650;1;;;;;rcp20;globallyOptimal;;;9;650;functionalForm;;100;2055;;;9;;;1;1.75;;;;3;2;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix4ICEban;1;2030;;SSP2-NPi2025;;;SSP5-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. +SSP5-PkBudg1000;1,compileInTests;;;;;rcp26;globallyOptimal;;;9;1000;functionalForm;;75;2080;;;9;;;1;1.75;;;;3;2;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;0.5;1;forcing_SSP5;SSP5;Mix3ICEban;1;2030;;SSP2-NPi2025;;;SSP5-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 5 called Fossil-Fueled Development. The stylized climate policy scenario assumes a peak budget of 1050 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. From 8cf504fc6b3d856098414543eb376388169364b6 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Mon, 9 Dec 2024 09:29:04 +0000 Subject: [PATCH 851/875] Release development version 3.3.2.dev1169 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 794b4e4c9..bf6db88a9 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev1157" -date-released: 2024-12-07 +version: "3.3.2.dev1169" +date-released: 2024-12-09 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index 6e92fa960..971331d57 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -69,7 +69,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.3.2.dev1157" +cfg$model_version <- "3.3.2.dev1169" #### settings #### cfg$gms <- list() From 7089b49cd362463593cbd73aed4a86cd67f453e9 Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Mon, 9 Dec 2024 10:33:19 +0100 Subject: [PATCH 852/875] set cm_implicitQttyTarget for SSP2-EcBudg400 also for 2110, 2130 and 2150 --- config/scenario_config.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/scenario_config.csv b/config/scenario_config.csv index 2ff533a10..4c203ab87 100644 --- a/config/scenario_config.csv +++ b/config/scenario_config.csv @@ -8,7 +8,7 @@ SSP2-NPi2025;1,AMT,2;;;;;rcp45;;;;0;0;NPi2025;;;;;;9;;;;;;;;;;;;;;NPi2018;regiCa SSP2-PkBudg500;1,AMT,2;;;;;rcp20;globallyOptimal;;;9;500;functionalForm;;200;2045;;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;1;2030;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-PkBudg500: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 500 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be well below 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. SSP2-PkBudg650;1,AMT,2;;;;;rcp20;globallyOptimal;;;9;650;functionalForm;;100;2055;;;9;;;;;;;;;;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix4ICEban;1;2030;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-PkBudg650: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 650 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a 1.5C scenario, peak warming is allowed to be at or slightly above 1.5C at median climate sensitivity but returns to values below 1.5C in at least 67 % of scenarios by the end of the century. SSP2-PkBudg1000;1,AMT,2;;;;;rcp26;globallyOptimal;;;9;1000;functionalForm;;75;2080;;;9;;;;;;;;;;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;1;2030;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-PkBudg1050: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes a peak budget of 1150 Gt CO2 on total CO2 emissions from 2015 to 2100. This is a well below 2C scenario at median climate sensitivity but returns to values below 2C in at least 67 % of scenarios during the whole century. -SSP2-EcBudg400;1,AMT,2;;;;;rcp26;globallyOptimal;;;5;400;functionalForm;exponential;70;;initialSpread20;GLO 2070;9;;;;;1;1;0;;;;;;2060.GLO 0.9;NDC;regiCarbonPrice;(2080,2090,2100).GLO.tax.t.oae.all 5000;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;1;2035;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-EcBudg400: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes an end-of-century budget of 400 Gt CO2 on total CO2 emissions from 2020 to 2100. This is a high overshoot scenario with delayed climate policy. +SSP2-EcBudg400;1,AMT,2;;;;;rcp26;globallyOptimal;;;5;400;functionalForm;exponential;70;;initialSpread20;GLO 2070;9;;;;;1;1;0;;;;;;2060.GLO 0.9;NDC;regiCarbonPrice;(2080,2090,2100,2110,2130,2150).GLO.tax.t.oae.all 5000;;on;on;EUR_regi, NEU_regi;;;;;;;;;;;;;;;;Mix3ICEban;1;2035;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-EcBudg400: This climate policy scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. The stylized climate policy scenario assumes an end-of-century budget of 400 Gt CO2 on total CO2 emissions from 2020 to 2100. This is a high overshoot scenario with delayed climate policy. SSP2-rollBack;1,AMT,2;;;;;rcp45;;;;0;0;none;;;;;;0;;;5;;;;;;;;;;;none;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;1;2030;;SSP2-NPi2025;;SSP2-NPi2025;SSP2-rollBack: This rollback of climate policy scenario follows the Shared Socioeconomic Pathways 3 called Middle of the Road. # EU21 SSP2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SSP2-EU21-NPi-calibrate;calibrate;calibrate;14;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp45;;;;;0;NPi;;;;;;9;;;;;;;;;;;;;;NPi2018;regiCarbonPrice;;;on;on;EUR_regi, NEU_regi;;;;;;;;;;3;;;;;;Mix1;;2005;;;;;SSP2-EU21-calibration: This baseline scenario follows the Shared Socioeconomic Pathways 2 called Middle of the Road. From c52590166166545af14c609640c3765095125921 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Mon, 9 Dec 2024 10:34:47 +0100 Subject: [PATCH 853/875] Update ScenarioMIP config files in line with internal protocol v4 --- config/scenario_config_ScenarioMIP.csv | 67 ++++++++--------- .../scenario_config_coupled_ScenarioMIP.csv | 72 +++++++++---------- 2 files changed, 61 insertions(+), 78 deletions(-) diff --git a/config/scenario_config_ScenarioMIP.csv b/config/scenario_config_ScenarioMIP.csv index ccc309a72..7c9c97359 100644 --- a/config/scenario_config_ScenarioMIP.csv +++ b/config/scenario_config_ScenarioMIP.csv @@ -1,48 +1,39 @@ -title;start;copyConfigFrom;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_budgetCO2from2020;carbonprice;cm_taxCO2_functionalForm;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_historical;cm_taxCO2_historicalYr;cm_taxCO2_regiDiff;cm_taxCO2_regiDiff_endYr;cm_emiscen;c_regi_earlyreti_rate;cm_fetaxscen;cm_bioenergy_SustTax;cm_maxProdBiolc;cm_33EW;cm_33OAE;cm_frac_NetNegEmi;c_ccsinjecratescen;c_changeProdCost;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_emiMktTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description +title;start;copyConfigFrom;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_budgetCO2from2020;carbonprice;cm_taxCO2_functionalForm;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_historical;cm_taxCO2_historicalYr;cm_taxCO2_regiDiff;cm_taxCO2_regiDiff_endYr;cm_taxCO2_interpolation;cm_taxCO2_IncAfterPeakBudgYr;cm_emiscen;c_regi_earlyreti_rate;cm_fetaxscen;cm_maxProdBiolc;cm_33EW;cm_33OAE;cm_frac_NetNegEmi;c_ccsinjecratescen;c_changeProdCost;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description #___ScenarioMIP_defaults___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-H-SSP3-rollBack-def;0;;rcp45;0;off;;none;;;;;;;;9;GLO 0.09, EUR_regi 0.15;1;1.5;;1;0;0.5;1;1;;;;;none;regiCarbonPrice;off;;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;medOil;medGas;highCoal;1;2;0;3;SSP3;1.5;0;forcing_SSP3;SSP3;Mix1;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; -SMIPv04-M-SSP2-NPi2025-def;1;;rcp45;0;off;;NPi2025;;;;;;;;9;GLO 0.09, EUR_regi 0.15;3;1.5;;1;0;0.5;1;;;;;;NPi2018;regiCarbonPrice;off;;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;Mix2ICEban;2005;;;;; -SMIPv04-ML-SSP2-PkBudg2000-def;1;;rcp45;9;globallyOptimal;2000;functionalForm;linear;60;2100;gdx_ref;2025;initialSpread10;GLO 2100;9;GLO 0.09, EUR_regi 0.15;3;1.5;;1;0;0.5;1;1;;;;;NDC;regiCarbonPrice;off;;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix2ICEban;2045;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; -SMIPv04-L-SSP2-PkBudg1000-def;1;;rcp26;9;globallyOptimal;1000;functionalForm;linear;65;2080;gdx_ref;2025;initialSpread10;GLO 2070;9;GLO 0.09, EUR_regi 0.15;3;1.5;;1;0;0.5;1;1;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix3ICEban;2035;;SMIPv04-M-SSP2-NDC_sy2030-var;;SMIPv04-M-SSP2-NPi2025-def; -SMIPv04-VLHO-SSP2-EcBudg400-def;1;;rcp26;5;globallyOptimal;400;functionalForm;exponential;70;;;;initialSpread20;GLO 2070;9;GLO 0.09, EUR_regi 0.15;3;1.5;;1;1;0;1;1;;;;2060.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix3ICEban;2035;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; -SMIPv04-VLLO-SSP1-PkBudg750-def;1;;rcp20;9;globallyOptimal;750;functionalForm;linear;75;2055;gdx_ref;last;initialSpread10;GLO 2050;9;GLO 0.12, EUR_regi 0.15;2;1.5;;1;0;0.5;5;1;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;2;4;2;SSP1;1;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; -#___ScenarioMIP_variants_M-SSP2___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-M-SSP2-NPi2020-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-M-SSP2-NDC_sy2030-var;1;SMIPv04-M-SSP2-NPi2025-def;;3;globallyOptimal;;NDC;;;;;;;;;;;;;;;;;1;;;;;NDC;;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;;;;;;;;;;;;;;;;;;;Mix2ICEban;2030;;SMIPv04-M-SSP2-NPi2025-def;SMIPv04-M-SSP2-NPi2020-var;SMIPv04-M-SSP2-NPi2025-def; -SMIPv04-M-SSP2-NDC_sy2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;3;globallyOptimal;;NDC;;;;;;;;;;;;;;;;;5;;;;;NDC;;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;;;;;;;;;;;;;;;;;;;Mix2ICEban;2025;;SMIPv04-M-SSP2-NPi2020-var;SMIPv04-M-SSP2-NPi2020-var;SMIPv04-M-SSP2-NPi2025-def; -#___ScenarioMIP_variants_L-SSP2___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-L-SSP2-PkBudg1000-var_2030NPi;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-def;;; -SMIPv04-L-SSP2-PkBudg1000-var_2030flexible;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;last;;;;;;;;;;;;;;;;;;;;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;;;;;;;;;;;;;;;;;;;;2030;;SMIPv04-M-SSP2-NPi2025-def;;; +SMIPv04-H-SSP3-rollBack-def;1;;rcp45;0;off;;none;;;;;;;;;;0;GLO 0.09, EUR_regi 0.15;1;off;1;0;0.5;1;1;;;;;none;regiCarbonPrice;off;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;medOil;medGas;highCoal;1;2;0;3;SSP3;1.5;0;forcing_SSP3;CLE;Mix1;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; +SMIPv04-M-SSP2-NPi2025-def;1;;rcp45;0;off;;NPi2025;;;;;;;;;;9;GLO 0.09, EUR_regi 0.15;3;off;1;0;0.5;1;;;;;;NPi2018;regiCarbonPrice;off;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;Mix2ICEban;2005;;;;; +SMIPv04-ML-SSP2-PkBudg1500-def;1;;rcp45;9;globallyOptimal;1500;functionalForm;linear;60;2100;55;last;initialSpread10;GLO 2100;;0;9;GLO 0.09, EUR_regi 0.15;3;off;1;0;0.5;1;1;;;;2100.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix2ICEban;2045;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; +SMIPv04-L-SSP2-PkBudg1000-def;1;;rcp26;9;globallyOptimal;1000;functionalForm;linear;65;2080;55;2028;initialSpread10;GLO 2070;;5;9;GLO 0.09, EUR_regi 0.15;3;off;1;0;0.5;1;5;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix3ICEban;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; +SMIPv04-VLHO-SSP2-EcBudg400-def;1;;rcp26;5;globallyOptimal;400;functionalForm;exponential;70;;;;initialSpread20;GLO 2070;one_step;;9;GLO 0.09, EUR_regi 0.15;3;off;1;1;0;1;1;;;;2060.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix3ICEban;2035;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; +SMIPv04-VLLO-SSP1-PkBudg650-def;1;;rcp20;9;globallyOptimal;650;functionalForm;linear;75;2055;55;2028;initialSpread10;GLO 2050;;0;9;GLO 0.12, EUR_regi 0.15;2;100;1;0;0.5;5;5;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;2;4;2;SSP1;1;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; #___ScenarioMIP_SSP_variants___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-H-SSP5-rollBack-var;0;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP5;gdp_SSP5;gdp_SSP5;;;;;;;;SSP5;;;forcing_SSP5;SSP5;;;;;;; -SMIPv04-M-SSP1-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;GLO 0.12, EUR_regi 0.15;2;;;;;;5;;;;;;;;;;;;;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;;;forcing_SSP1;MFR;;;;;;; -SMIPv04-M-SSP1-NPi2020-var;1;SMIPv04-M-SSP1-NPi2025-var;;;;;NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-M-SSP1-NDC_sy2030-var;1;SMIPv04-M-SSP1-NPi2025-var;;3;globallyOptimal;;NDC;;;;;;;;;;;;;;;;;1;;;;;NDC;;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;;;;;;;;;;;;;;;;;;;Mix2ICEban;2030;;SMIPv04-M-SSP2-NPi2025-def;SMIPv04-M-SSP1-NPi2020-var;SMIPv04-M-SSP1-NPi2025-var; -SMIPv04-M-SSP1-NDC_sy2025-var;1;SMIPv04-M-SSP1-NPi2025-var;;3;globallyOptimal;;NDC;;;;;;;;;;;;;;;;;5;;;;;NDC;;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;2020.2030.EUR_regi.all.year.netGHG_LULUCFGrassi 2.450;;;;;;;;;;;;;;;;;;;Mix2ICEban;2025;;SMIPv04-M-SSP2-NPi2020-var;SMIPv04-M-SSP1-NPi2020-var;SMIPv04-M-SSP1-NPi2025-var; +SMIPv04-M-SSP1-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;GLO 0.12, EUR_regi 0.15;2;;;;;5;;;;;;;;;;;;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;;;forcing_SSP1;MFR;;2030;;SMIPv04-M-SSP2-NPi2025-def;;; SMIPv04-M-SSP2_lowEn-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;;;;;;; -SMIPv04-M-SSP3-NPi2025-var;0;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;;;SSP3;;;forcing_SSP3;SSP3;;;;;;; -SMIPv04-M-SSP5-NPi2025-var;0;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;1;;;;;;3;;;;;;;;;;;;;pop_SSP5;gdp_SSP5;gdp_SSP5;highOil;highGas;highCoal;3;6;4;;SSP5;;1;forcing_SSP5;SSP5;;;;;;; -SMIPv04-L-SSP1-PkBudg1000-var;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;GLO 0.12, EUR_regi 0.15;2;;;;;;5;;;;;;;;;;;;;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;;1;forcing_SSP1;MFR;;;;SMIPv04-M-SSP1-NDC_sy2030-var;;; -SMIPv04-VLLO-SSP2-PkBudg750-var;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP2;gdp_SSP2;gdp_SSP2;;;;;;;;;;;forcing_SSP2;;;;;;;; -SMIPv04-VLLO-SSP2_lowEn-PkBudg750-var;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP2;gdp_SSP2;gdp_SSP2_lowEn;;;;;;;;;;;forcing_SSP2;;;;;;;; +SMIPv04-M-SSP3-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;;;SSP3;;;forcing_SSP3;CLE;;;;;;; +SMIPv04-L-SSP1-PkBudg1000-var;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;;;GLO 0.12, EUR_regi 0.15;2;;;;;5;;;;;;;;;;;;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;;1;forcing_SSP1;MFR;;;;SMIPv04-M-SSP2-NPi2025-def;;; +SMIPv04-VLLO-SSP2-PkBudg650-var;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP2;gdp_SSP2;gdp_SSP2;;;;;;;;;;;forcing_SSP2;;;;;;;; +SMIPv04-VLLO-SSP2_lowEn-PkBudg650-var;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP2;gdp_SSP2;gdp_SSP2_lowEn;;;;;;;;;;;forcing_SSP2;;;;;;;; #___RIKEN___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -RIKEN-VLLO-SSP2-PkBudg650-def;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;650;;;;;;;;;;GLO 0.09, EUR_regi 0.15;3;;;;;;1;;;;;;;;;;;;;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;;1;;SSP2;;0;forcing_SSP2;SSP2;;;;;;; +RIKEN-VLLO-SSP2-PkBudg650-def;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;GLO 0.09, EUR_regi 0.15;3;;;;;1;;;;;;;;;;;;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;;1;;SSP2;;0;forcing_SSP2;SSP2;;;;;;; #___ScenarioMIP_carbon_price_convergence_variants___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SMIPv04-L-SSP2-PkBudg1000-var_yr2035;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;GLO 2035;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SMIPv04-L-SSP2-PkBudg1000-var_yr2050;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;GLO 2050;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SMIPv04-VLHO-SSP2-EcBudg400-var_yr2035;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;GLO 2035;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SMIPv04-VLHO-SSP2-EcBudg400-var_yr2050;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;GLO 2050;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-VLLO-SSP1-PkBudg750-var_yr2035;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;GLO 2035;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg650-var_yr2035;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;GLO 2035;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; #___ScenarioMIP_EW_off_variants___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-H-SSP3-rollBack-var_EWoff;0;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-M-SSP2-NPi2025-var_EWoff;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-ML-SSP2-PkBudg2000-var_EWoff;1;SMIPv04-ML-SSP2-PkBudg2000-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-L-SSP2-PkBudg1000-var_EWoff;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-VLHO-SSP2-EcBudg400-var_EWoff;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-VLLO-SSP1-PkBudg750-var_EWoff;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -#___ScenarioMIP_VLLO-SSP1_tests___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-VLLO-SSP1-PkBudg750-var_CESMkUps;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;;;;;;;;;;;;feelhpb 1.05, fehob 1.75, feheb 0.1;manual;feh2_otherInd 1.04, feelhth_otherInd 0.4, feh2_cement 2.0, feelhth_chemicals 1.3, feh2_chemicals 1.04;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-VLLO-SSP1-PkBudg750-var_ProdCost;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;;;;;;;;;;;5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-VLLO-SSP1-PkBudg750-var_bioenergy_SustTax1p75;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;;;;;1.75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-VLLO-SSP1-PkBudg750-var_tradecostBio0p5;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0.5;;;;;;;;;; -SMIPv04-VLLO-SSP1-PkBudg750-var_maxProdBiolc100;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;;;;;;;;100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-H-SSP3-rollBack-var_EWoff;1;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_EWoff;;SMIPv04-M-SSP2-NPi2025-var_EWoff; +SMIPv04-M-SSP2-NPi2025-var_EWoff;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-ML-SSP2-PkBudg1500-var_EWoff;1;SMIPv04-ML-SSP2-PkBudg1500-def;;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_EWoff;;SMIPv04-M-SSP2-NPi2025-var_EWoff; +SMIPv04-L-SSP2-PkBudg1000-var_EWoff;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_EWoff;;SMIPv04-M-SSP2-NPi2025-var_EWoff; +SMIPv04-VLHO-SSP2-EcBudg400-var_EWoff;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_EWoff;;SMIPv04-M-SSP2-NPi2025-var_EWoff; +SMIPv04-VLLO-SSP1-PkBudg650-var_EWoff;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_EWoff;;SMIPv04-M-SSP2-NPi2025-var_EWoff; +#___ScenarioMIP_plantation_variant___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_plantation;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +#___ScenarioMIP_raw_luc_variant___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-H-SSP3-rollBack-var_raw_luc;1;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-M-SSP2-NPi2025-var_raw_luc;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-ML-SSP2-PkBudg1500-var_raw_luc;1;SMIPv04-ML-SSP2-PkBudg1500-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-L-SSP2-PkBudg1000-var_raw_luc;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_raw_luc;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg650-var_raw_luc;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/config/scenario_config_coupled_ScenarioMIP.csv b/config/scenario_config_coupled_ScenarioMIP.csv index 076ded9a8..4b8fd1559 100644 --- a/config/scenario_config_coupled_ScenarioMIP.csv +++ b/config/scenario_config_coupled_ScenarioMIP.csv @@ -1,40 +1,32 @@ -title;start;copyConfigFrom;oldrun;path_report;qos;config/scenario_config.csv;no_ghgprices_land_until;var_luc;path_gdx;path_gdx_bau;path_gdx_ref;cfg_mag$gms$s15_elastic_demand;cfg_mag$gms$s32_npi_ndc_reversal;cfg_mag$gms$s35_npi_ndc_reversal -SMIPv04-H-SSP3-rollBack-def;1;;;;;SSP3|NPI|nocc_hist|rcp4p5;y2150;raw;;;;1;2030;2030 -SMIPv04-M-SSP2-NPi2025-def;1;;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;raw;;;;1;; -SMIPv04-ML-SSP2-PkBudg2000-def;1;;;;;SSP2|NPI|nocc_hist|rcp4p5;y2045;raw;;;;1;; -SMIPv04-L-SSP2-PkBudg1000-def;1;;;;;SSP2|NDC|nocc_hist|rcp2p6;y2035;raw;;;;1;; -SMIPv04-VLHO-SSP2-EcBudg400-def;1;;;;;SSP2|NDC|nocc_hist|rcp2p6;y2035;raw;;;;1;; -SMIPv04-VLLO-SSP1-PkBudg750-def;1;;;;;SDP-MC|SSP1-POP-GDP|NDC|nocc_hist|rcp1p9;y2030;raw;;;;1;; -SMIPv04-M-SSP2-NPi2020-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;1;; -SMIPv04-M-SSP2-NDC_sy2030-var;1;;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;raw;;;;1;; -SMIPv04-M-SSP2-NDC_sy2025-var;1;;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;raw;;;;1;; -SMIPv04-L-SSP2-PkBudg1000-var_2030NPi;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;1;; -SMIPv04-L-SSP2-PkBudg1000-var_2030flexible;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;1;; -SMIPv04-H-SSP5-rollBack-var;0;;;;;SSP5|NPI|nocc_hist|rcp4p5;y2150;raw;;;;1;2030;2030 -SMIPv04-M-SSP1-NPi2025-var;0;;;;;SSP1|NPI|nocc_hist|rcp4p5;y2150;raw;;;;1;; -SMIPv04-M-SSP1-NPi2020-var;0;;;;;SSP1|NPI|nocc_hist|rcp4p5;y2150;raw;;;;1;; -SMIPv04-M-SSP1-NDC_sy2030-var;0;;;;;SSP1|NDC|nocc_hist|rcp4p5;y2150;raw;;;;1;; -SMIPv04-M-SSP1-NDC_sy2025-var;0;;;;;SSP1|NDC|nocc_hist|rcp4p5;y2150;raw;;;;1;; -SMIPv04-M-SSP2_lowEn-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;1;; -SMIPv04-M-SSP3-NPi2025-var;0;;;;;SSP3|NPI|nocc_hist|rcp4p5;y2150;raw;;;;1;; -SMIPv04-M-SSP5-NPi2025-var;0;;;;;SSP5|NPI|nocc_hist|rcp4p5;y2150;raw;;;;1;; -SMIPv04-L-SSP1-PkBudg1000-var;0;;;;;SSP1|NDC|nocc_hist|rcp2p6;y2035;raw;;;;1;; -SMIPv04-VLLO-SSP2-PkBudg750-var;1;;;;;SDP-MC|SSP2-POP-GDP|NDC|nocc_hist|rcp1p9;y2030;raw;;;;1;; -SMIPv04-VLLO-SSP2_lowEn-PkBudg750-var;1;;;;;SDP-MC|SSP2-POP-GDP|NDC|nocc_hist|rcp1p9;y2030;raw;;;;1;; -RIKEN-VLLO-SSP2-PkBudg650-def;1;;;;;SSP2|NDC|nocc_hist|rcp1p9;y2030;raw;;;;1;; -SMIPv04-L-SSP2-PkBudg1000-var_yr2035;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;1;; -SMIPv04-L-SSP2-PkBudg1000-var_yr2050;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;1;; -SMIPv04-VLHO-SSP2-EcBudg400-var_yr2035;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;1;; -SMIPv04-VLHO-SSP2-EcBudg400-var_yr2050;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;1;; -SMIPv04-VLLO-SSP1-PkBudg750-var_yr2035;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;1;; -SMIPv04-H-SSP3-rollBack-var_EWoff;1;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;1;2030;2030 -SMIPv04-M-SSP2-NPi2025-var_EWoff;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;1;; -SMIPv04-ML-SSP2-PkBudg2000-var_EWoff;1;SMIPv04-ML-SSP2-PkBudg2000-def;;;;;;;;;;1;; -SMIPv04-L-SSP2-PkBudg1000-var_EWoff;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;1;; -SMIPv04-VLHO-SSP2-EcBudg400-var_EWoff;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;1;; -SMIPv04-VLLO-SSP1-PkBudg750-var_EWoff;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;1;; -SMIPv04-VLLO-SSP1-PkBudg750-var_CESMkUps;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;1;; -SMIPv04-VLLO-SSP1-PkBudg750-var_ProdCost;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;1;; -SMIPv04-VLLO-SSP1-PkBudg750-var_bioenergy_SustTax1p75;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;1;; -SMIPv04-VLLO-SSP1-PkBudg750-var_tradecostBio0p5;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;1;; -SMIPv04-VLLO-SSP1-PkBudg750-var_maxProdBiolc100;1;SMIPv04-VLLO-SSP1-PkBudg750-def;;;;;;;;;;1;; +title;start;copyConfigFrom;oldrun;path_report;qos;config/scenario_config.csv;no_ghgprices_land_until;var_luc;path_gdx;path_gdx_bau;path_gdx_ref;cfg_mag$gms$s15_elastic_demand;cfg_mag$gms$s32_aff_plantation;cfg_mag$gms$s32_npi_ndc_reversal;cfg_mag$gms$s35_npi_ndc_reversal +SMIPv04-H-SSP3-rollBack-def;0;;;;;SSP3|NPI|nocc_hist|rcp4p5;y2150;;;;;1;0;2030;2030 +SMIPv04-M-SSP2-NPi2025-def;0;;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;;;;;1;0;; +SMIPv04-ML-SSP2-PkBudg1500-def;0;;;;;SSP2|NPI|nocc_hist|rcp4p5;y2045;;;;;1;0;; +SMIPv04-L-SSP2-PkBudg1000-def;0;;;;;SSP2|NDC|nocc_hist|rcp2p6;y2030;;;;;1;0;; +SMIPv04-VLHO-SSP2-EcBudg400-def;0;;;;;SSP2|NDC|nocc_hist|rcp2p6;y2035;;;;;1;0;; +SMIPv04-VLLO-SSP1-PkBudg650-def;0;;;;;SDP-MC|SSP1-POP-GDP|NDC|nocc_hist|rcp1p9;y2030;;;;;1;0;; +SMIPv04-M-SSP1-NPi2025-var;0;;;;;SSP1|NPI|nocc_hist|rcp4p5;y2150;;;;;1;0;; +SMIPv04-M-SSP2_lowEn-NPi2025-var;0;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;; +SMIPv04-M-SSP3-NPi2025-var;0;;;;;SSP3|NPI|nocc_hist|rcp4p5;y2150;;;;;1;0;; +SMIPv04-L-SSP1-PkBudg1000-var;0;;;;;SSP1|NDC|nocc_hist|rcp2p6;y2030;;;;;1;0;; +SMIPv04-VLLO-SSP2-PkBudg650-var;0;;;;;SDP-MC|SSP2-POP-GDP|NDC|nocc_hist|rcp1p9;y2030;;;;;1;0;; +SMIPv04-VLLO-SSP2_lowEn-PkBudg650-var;0;;;;;SDP-MC|SSP2-POP-GDP|NDC|nocc_hist|rcp1p9;y2030;;;;;1;0;; +RIKEN-VLLO-SSP2-PkBudg650-def;0;;;;;SSP2|NDC|nocc_hist|rcp1p9;y2030;;;;;1;0;; +SMIPv04-L-SSP2-PkBudg1000-var_yr2035;0;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;; +SMIPv04-L-SSP2-PkBudg1000-var_yr2050;0;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_yr2035;0;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_yr2050;0;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg650-var_yr2035;0;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;; +SMIPv04-H-SSP3-rollBack-var_EWoff;0;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;;;; +SMIPv04-M-SSP2-NPi2025-var_EWoff;0;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;; +SMIPv04-ML-SSP2-PkBudg1500-var_EWoff;0;SMIPv04-ML-SSP2-PkBudg1500-def;;;;;;;;;;;;; +SMIPv04-L-SSP2-PkBudg1000-var_EWoff;0;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_EWoff;0;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg650-var_EWoff;0;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_plantation;0;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;1;; +SMIPv04-H-SSP3-rollBack-var_raw_luc;;SMIPv04-H-SSP3-rollBack-def;;;;;;raw;;;;;;; +SMIPv04-M-SSP2-NPi2025-var_raw_luc;;SMIPv04-M-SSP2-NPi2025-def;;;;;;raw;;;;;;; +SMIPv04-ML-SSP2-PkBudg1500-var_raw_luc;;SMIPv04-ML-SSP2-PkBudg1500-def;;;;;;raw;;;;;;; +SMIPv04-L-SSP2-PkBudg1000-var_raw_luc;;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;raw;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_raw_luc;;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;raw;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg650-var_raw_luc;;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;raw;;;;;;; From 50c5a6c88f30b71e058f034a8665345ef46387a6 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Mon, 9 Dec 2024 09:59:20 +0000 Subject: [PATCH 854/875] Release development version 3.3.2.dev1172 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index bf6db88a9..0e30761b3 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev1169" +version: "3.3.2.dev1172" date-released: 2024-12-09 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index 971331d57..e769af43a 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -69,7 +69,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.3.2.dev1169" +cfg$model_version <- "3.3.2.dev1172" #### settings #### cfg$gms <- list() From a0252145d52195c52e274414a1c72aba6b2b30f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Mon, 9 Dec 2024 11:22:11 +0100 Subject: [PATCH 855/875] Corrections to SMIP config --- config/scenario_config_ScenarioMIP.csv | 40 +++++++++++++------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/config/scenario_config_ScenarioMIP.csv b/config/scenario_config_ScenarioMIP.csv index 7c9c97359..330b92a72 100644 --- a/config/scenario_config_ScenarioMIP.csv +++ b/config/scenario_config_ScenarioMIP.csv @@ -1,20 +1,20 @@ -title;start;copyConfigFrom;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_budgetCO2from2020;carbonprice;cm_taxCO2_functionalForm;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_historical;cm_taxCO2_historicalYr;cm_taxCO2_regiDiff;cm_taxCO2_regiDiff_endYr;cm_taxCO2_interpolation;cm_taxCO2_IncAfterPeakBudgYr;cm_emiscen;c_regi_earlyreti_rate;cm_fetaxscen;cm_maxProdBiolc;cm_33EW;cm_33OAE;cm_frac_NetNegEmi;c_ccsinjecratescen;c_changeProdCost;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description +title;start;copyConfigFrom;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_budgetCO2from2020;carbonprice;cm_taxCO2_functionalForm;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_historical;cm_taxCO2_historicalYr;cm_taxCO2_regiDiff;cm_taxCO2_regiDiff_endYr;cm_taxCO2_interpolation;cm_taxCO2_IncAfterPeakBudgYr;cm_emiscen;cm_fetaxscen;cm_maxProdBiolc;cm_33EW;cm_33OAE;cm_frac_NetNegEmi;c_ccsinjecratescen;c_changeProdCost;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;c_regi_earlyreti_rate;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description #___ScenarioMIP_defaults___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-H-SSP3-rollBack-def;1;;rcp45;0;off;;none;;;;;;;;;;0;GLO 0.09, EUR_regi 0.15;1;off;1;0;0.5;1;1;;;;;none;regiCarbonPrice;off;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;medOil;medGas;highCoal;1;2;0;3;SSP3;1.5;0;forcing_SSP3;CLE;Mix1;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; -SMIPv04-M-SSP2-NPi2025-def;1;;rcp45;0;off;;NPi2025;;;;;;;;;;9;GLO 0.09, EUR_regi 0.15;3;off;1;0;0.5;1;;;;;;NPi2018;regiCarbonPrice;off;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;Mix2ICEban;2005;;;;; -SMIPv04-ML-SSP2-PkBudg1500-def;1;;rcp45;9;globallyOptimal;1500;functionalForm;linear;60;2100;55;last;initialSpread10;GLO 2100;;0;9;GLO 0.09, EUR_regi 0.15;3;off;1;0;0.5;1;1;;;;2100.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix2ICEban;2045;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; -SMIPv04-L-SSP2-PkBudg1000-def;1;;rcp26;9;globallyOptimal;1000;functionalForm;linear;65;2080;55;2028;initialSpread10;GLO 2070;;5;9;GLO 0.09, EUR_regi 0.15;3;off;1;0;0.5;1;5;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix3ICEban;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; -SMIPv04-VLHO-SSP2-EcBudg400-def;1;;rcp26;5;globallyOptimal;400;functionalForm;exponential;70;;;;initialSpread20;GLO 2070;one_step;;9;GLO 0.09, EUR_regi 0.15;3;off;1;1;0;1;1;;;;2060.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix3ICEban;2035;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; -SMIPv04-VLLO-SSP1-PkBudg650-def;1;;rcp20;9;globallyOptimal;650;functionalForm;linear;75;2055;55;2028;initialSpread10;GLO 2050;;0;9;GLO 0.12, EUR_regi 0.15;2;100;1;0;0.5;5;5;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;2;4;2;SSP1;1;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; +SMIPv04-H-SSP3-rollBack-def;1;;rcp45;0;off;;none;;;;;;;;;;0;5;off;1;0;0.5;1;1;;;;;none;regiCarbonPrice;off;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;medOil;medGas;highCoal;4;GLO 0.09, EUR_regi 0.15;2;0;3;SSP3;1.5;0;forcing_SSP3;CLE;Mix1;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; +SMIPv04-M-SSP2-NPi2025-def;1;;rcp45;0;off;;NPi2025;;;;;;;;;;9;3;off;1;0;0.5;1;;;;;;NPi2018;regiCarbonPrice;off;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;Mix2ICEban;2005;;;;; +SMIPv04-ML-SSP2-PkBudg1500-def;1;;rcp45;9;globallyOptimal;1500;functionalForm;linear;60;2100;55;last;initialSpread10;GLO 2100;;0;9;3;off;1;0;0.5;1;1;;;;2100.GLO 0.5;NDC;regiCarbonPrice;;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix2ICEban;2045;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; +SMIPv04-L-SSP2-PkBudg1000-def;1;;rcp26;9;globallyOptimal;1000;functionalForm;linear;65;2080;55;2028;initialSpread10;GLO 2070;;5;9;3;off;1;0;0.5;1;5;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix3ICEban;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; +SMIPv04-VLHO-SSP2-EcBudg400-def;1;;rcp26;5;globallyOptimal;400;functionalForm;exponential;70;;;;initialSpread20;GLO 2070;one_step;;9;3;off;1;1;0;1;1;;;;2060.GLO 0.9;NDC;regiCarbonPrice;(2080,2090,2100,2110,2130,2150).GLO.tax.t.oae.all 5000;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix3ICEban;2035;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; +SMIPv04-VLLO-SSP1-PkBudg650-def;1;;rcp20;9;globallyOptimal;650;functionalForm;linear;75;2055;55;2028;initialSpread10;GLO 2050;;0;9;2;100;1;0;0.5;5;5;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;GLO 0.12, EUR_regi 0.15;2;4;2;SSP1;1;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; #___ScenarioMIP_SSP_variants___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-M-SSP1-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;GLO 0.12, EUR_regi 0.15;2;;;;;5;;;;;;;;;;;;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;;;forcing_SSP1;MFR;;2030;;SMIPv04-M-SSP2-NPi2025-def;;; -SMIPv04-M-SSP2_lowEn-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gdp_SSP2_lowEn;;;;;;;;SSP2_lowEn;;;;;;;;;;; -SMIPv04-M-SSP3-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;pop_SSP3;gdp_SSP3;gdp_SSP3;;;highCoal;;;;;SSP3;;;forcing_SSP3;CLE;;;;;;; -SMIPv04-L-SSP1-PkBudg1000-var;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;;;GLO 0.12, EUR_regi 0.15;2;;;;;5;;;;;;;;;;;;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;;4;;SSP1;;1;forcing_SSP1;MFR;;;;SMIPv04-M-SSP2-NPi2025-def;;; -SMIPv04-VLLO-SSP2-PkBudg650-var;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP2;gdp_SSP2;gdp_SSP2;;;;;;;;;;;forcing_SSP2;;;;;;;; -SMIPv04-VLLO-SSP2_lowEn-PkBudg650-var;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP2;gdp_SSP2;gdp_SSP2_lowEn;;;;;;;;;;;forcing_SSP2;;;;;;;; +SMIPv04-M-SSP1-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;GLO 0.12, EUR_regi 0.15;;4;;SSP1;;;forcing_SSP1;;;2030;;SMIPv04-M-SSP2-NPi2025-def;;; +SMIPv04-M-SSP2_lowEn-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gdp_SSP2_lowEn;;;;;GLO 0.09, EUR_regi 0.15;;;;SSP2_lowEn;;;;;;;;;;; +SMIPv04-M-SSP3-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP3;gdp_SSP3;gdp_SSP3;medOil;medGas;highCoal;4;GLO 0.09, EUR_regi 0.15;;0;;SSP3;;;forcing_SSP3;;;;;;;; +SMIPv04-L-SSP1-PkBudg1000-var;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;GLO 0.12, EUR_regi 0.15;;4;;SSP1;;;forcing_SSP1;;;;;SMIPv04-M-SSP2-NPi2025-def;;; +SMIPv04-VLLO-SSP2-PkBudg650-var;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;;1;;SSP2;;;forcing_SSP2;;;;;;;; +SMIPv04-VLLO-SSP2_lowEn-PkBudg650-var;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP2;gdp_SSP2;gdp_SSP2_lowEn;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;;1;;SSP2;;;forcing_SSP2;;;;;;;; #___RIKEN___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -RIKEN-VLLO-SSP2-PkBudg650-def;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;GLO 0.09, EUR_regi 0.15;3;;;;;1;;;;;;;;;;;;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;;1;;SSP2;;0;forcing_SSP2;SSP2;;;;;;; +RIKEN-VLLO-SSP2-PkBudg650-def;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;3;;;;;1;;;;;;;;;;;;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;;1;;SSP2;;0;forcing_SSP2;SSP2;;;;;;; #___ScenarioMIP_carbon_price_convergence_variants___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SMIPv04-L-SSP2-PkBudg1000-var_yr2035;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;GLO 2035;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SMIPv04-L-SSP2-PkBudg1000-var_yr2050;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;GLO 2050;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -22,12 +22,12 @@ SMIPv04-VLHO-SSP2-EcBudg400-var_yr2035;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;; SMIPv04-VLHO-SSP2-EcBudg400-var_yr2050;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;GLO 2050;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SMIPv04-VLLO-SSP1-PkBudg650-var_yr2035;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;GLO 2035;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; #___ScenarioMIP_EW_off_variants___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-H-SSP3-rollBack-var_EWoff;1;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_EWoff;;SMIPv04-M-SSP2-NPi2025-var_EWoff; -SMIPv04-M-SSP2-NPi2025-var_EWoff;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-ML-SSP2-PkBudg1500-var_EWoff;1;SMIPv04-ML-SSP2-PkBudg1500-def;;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_EWoff;;SMIPv04-M-SSP2-NPi2025-var_EWoff; -SMIPv04-L-SSP2-PkBudg1000-var_EWoff;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_EWoff;;SMIPv04-M-SSP2-NPi2025-var_EWoff; -SMIPv04-VLHO-SSP2-EcBudg400-var_EWoff;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_EWoff;;SMIPv04-M-SSP2-NPi2025-var_EWoff; -SMIPv04-VLLO-SSP1-PkBudg650-var_EWoff;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_EWoff;;SMIPv04-M-SSP2-NPi2025-var_EWoff; +SMIPv04-H-SSP3-rollBack-var_EWoff;1;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_EWoff;;SMIPv04-M-SSP2-NPi2025-var_EWoff; +SMIPv04-M-SSP2-NPi2025-var_EWoff;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-ML-SSP2-PkBudg1500-var_EWoff;1;SMIPv04-ML-SSP2-PkBudg1500-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_EWoff;;SMIPv04-M-SSP2-NPi2025-var_EWoff; +SMIPv04-L-SSP2-PkBudg1000-var_EWoff;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_EWoff;;SMIPv04-M-SSP2-NPi2025-var_EWoff; +SMIPv04-VLHO-SSP2-EcBudg400-var_EWoff;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_EWoff;;SMIPv04-M-SSP2-NPi2025-var_EWoff; +SMIPv04-VLLO-SSP1-PkBudg650-var_EWoff;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_EWoff;;SMIPv04-M-SSP2-NPi2025-var_EWoff; #___ScenarioMIP_plantation_variant___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SMIPv04-VLHO-SSP2-EcBudg400-var_plantation;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; #___ScenarioMIP_raw_luc_variant___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; From 60d1ebb23e5d10d904fc5150157281afe8d506a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Mon, 9 Dec 2024 12:04:17 +0100 Subject: [PATCH 856/875] Corrections of SMIP configs --- config/scenario_config_ScenarioMIP.csv | 4 +++- config/scenario_config_coupled_ScenarioMIP.csv | 13 +++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/config/scenario_config_ScenarioMIP.csv b/config/scenario_config_ScenarioMIP.csv index 330b92a72..79b3c3f71 100644 --- a/config/scenario_config_ScenarioMIP.csv +++ b/config/scenario_config_ScenarioMIP.csv @@ -28,8 +28,10 @@ SMIPv04-ML-SSP2-PkBudg1500-var_EWoff;1;SMIPv04-ML-SSP2-PkBudg1500-def;;;;;;;;;;; SMIPv04-L-SSP2-PkBudg1000-var_EWoff;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_EWoff;;SMIPv04-M-SSP2-NPi2025-var_EWoff; SMIPv04-VLHO-SSP2-EcBudg400-var_EWoff;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_EWoff;;SMIPv04-M-SSP2-NPi2025-var_EWoff; SMIPv04-VLLO-SSP1-PkBudg650-var_EWoff;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_EWoff;;SMIPv04-M-SSP2-NPi2025-var_EWoff; -#___ScenarioMIP_plantation_variant___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +#___ScenarioMIP_VLHO_variant_plantation___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SMIPv04-VLHO-SSP2-EcBudg400-var_plantation;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +#___ScenarioMIP_VLLO_variant_no1stgen_phaseout___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg650-var_no1stgen_phaseout;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0;;;;;;;;; #___ScenarioMIP_raw_luc_variant___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SMIPv04-H-SSP3-rollBack-var_raw_luc;1;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SMIPv04-M-SSP2-NPi2025-var_raw_luc;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/config/scenario_config_coupled_ScenarioMIP.csv b/config/scenario_config_coupled_ScenarioMIP.csv index 4b8fd1559..969166c09 100644 --- a/config/scenario_config_coupled_ScenarioMIP.csv +++ b/config/scenario_config_coupled_ScenarioMIP.csv @@ -24,9 +24,10 @@ SMIPv04-L-SSP2-PkBudg1000-var_EWoff;0;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;; SMIPv04-VLHO-SSP2-EcBudg400-var_EWoff;0;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;; SMIPv04-VLLO-SSP1-PkBudg650-var_EWoff;0;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;; SMIPv04-VLHO-SSP2-EcBudg400-var_plantation;0;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;1;; -SMIPv04-H-SSP3-rollBack-var_raw_luc;;SMIPv04-H-SSP3-rollBack-def;;;;;;raw;;;;;;; -SMIPv04-M-SSP2-NPi2025-var_raw_luc;;SMIPv04-M-SSP2-NPi2025-def;;;;;;raw;;;;;;; -SMIPv04-ML-SSP2-PkBudg1500-var_raw_luc;;SMIPv04-ML-SSP2-PkBudg1500-def;;;;;;raw;;;;;;; -SMIPv04-L-SSP2-PkBudg1000-var_raw_luc;;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;raw;;;;;;; -SMIPv04-VLHO-SSP2-EcBudg400-var_raw_luc;;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;raw;;;;;;; -SMIPv04-VLLO-SSP1-PkBudg650-var_raw_luc;;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;raw;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg650-var_no1stgen_phaseout;0;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;; +SMIPv04-H-SSP3-rollBack-var_raw_luc;0;SMIPv04-H-SSP3-rollBack-def;;;;;;raw;;;;;;; +SMIPv04-M-SSP2-NPi2025-var_raw_luc;0;SMIPv04-M-SSP2-NPi2025-def;;;;;;raw;;;;;;; +SMIPv04-ML-SSP2-PkBudg1500-var_raw_luc;0;SMIPv04-ML-SSP2-PkBudg1500-def;;;;;;raw;;;;;;; +SMIPv04-L-SSP2-PkBudg1000-var_raw_luc;0;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;raw;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_raw_luc;0;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;raw;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg650-var_raw_luc;0;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;raw;;;;;;; From 4837f390cdd1b3b6dc1f09276f1dd1d7999cd4a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Mon, 9 Dec 2024 15:09:28 +0100 Subject: [PATCH 857/875] Update startyear and fixing for M scenarios --- config/scenario_config_ScenarioMIP.csv | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/scenario_config_ScenarioMIP.csv b/config/scenario_config_ScenarioMIP.csv index 79b3c3f71..6c5821a23 100644 --- a/config/scenario_config_ScenarioMIP.csv +++ b/config/scenario_config_ScenarioMIP.csv @@ -8,9 +8,9 @@ SMIPv04-VLHO-SSP2-EcBudg400-def;1;;rcp26;5;globallyOptimal;400;functionalForm;ex SMIPv04-VLLO-SSP1-PkBudg650-def;1;;rcp20;9;globallyOptimal;650;functionalForm;linear;75;2055;55;2028;initialSpread10;GLO 2050;;0;9;2;100;1;0;0.5;5;5;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;GLO 0.12, EUR_regi 0.15;2;4;2;SSP1;1;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; #___ScenarioMIP_SSP_variants___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SMIPv04-M-SSP1-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;GLO 0.12, EUR_regi 0.15;;4;;SSP1;;;forcing_SSP1;;;2030;;SMIPv04-M-SSP2-NPi2025-def;;; -SMIPv04-M-SSP2_lowEn-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gdp_SSP2_lowEn;;;;;GLO 0.09, EUR_regi 0.15;;;;SSP2_lowEn;;;;;;;;;;; -SMIPv04-M-SSP3-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP3;gdp_SSP3;gdp_SSP3;medOil;medGas;highCoal;4;GLO 0.09, EUR_regi 0.15;;0;;SSP3;;;forcing_SSP3;;;;;;;; -SMIPv04-L-SSP1-PkBudg1000-var;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;GLO 0.12, EUR_regi 0.15;;4;;SSP1;;;forcing_SSP1;;;;;SMIPv04-M-SSP2-NPi2025-def;;; +SMIPv04-M-SSP2_lowEn-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gdp_SSP2_lowEn;;;;;GLO 0.09, EUR_regi 0.15;;;;SSP2_lowEn;;;;;;2030;;SMIPv04-M-SSP2-NPi2025-def;;; +SMIPv04-M-SSP3-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP3;gdp_SSP3;gdp_SSP3;medOil;medGas;highCoal;4;GLO 0.09, EUR_regi 0.15;;0;;SSP3;;;forcing_SSP3;;;2030;;SMIPv04-M-SSP2-NPi2025-def;;; +SMIPv04-L-SSP1-PkBudg1000-var;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;GLO 0.12, EUR_regi 0.15;;4;;SSP1;;;forcing_SSP1;;;;;;;; SMIPv04-VLLO-SSP2-PkBudg650-var;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;;1;;SSP2;;;forcing_SSP2;;;;;;;; SMIPv04-VLLO-SSP2_lowEn-PkBudg650-var;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP2;gdp_SSP2;gdp_SSP2_lowEn;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;;1;;SSP2;;;forcing_SSP2;;;;;;;; #___RIKEN___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; From 65fc799bd39ef350f6cbd21c4d49480633a798bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Mon, 9 Dec 2024 15:17:09 +0100 Subject: [PATCH 858/875] Add ScenarioMIP configs to CHANGELOG --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ae94670bb..064dbb88d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -37,6 +37,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). [[#1881](https://github.com/remindmodel/remind/pull/1881)] ### added +- **config** add ScenarioMIP config + [[#1894](https://github.com/remindmodel/remind/pull/1894)] and [[#1920](https://github.com/remindmodel/remind/pull/1920)] - **32_power** increase minimum required dispatchable back-up capacity for VRE integration [[#1789](https://github.com/remindmodel/remind/pull/1789)] - **33_CDR** added ocean alkalinity enhancement to the CDR portfolio (OAE is turned off by default) From 69bf476c10d0123e32bb12a8c15ca0143b60e12f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Mon, 9 Dec 2024 16:10:31 +0100 Subject: [PATCH 859/875] Remove rcp setting in coupling config as it is not needed and can be safely removed --- .../scenario_config_coupled_ScenarioMIP.csv | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/config/scenario_config_coupled_ScenarioMIP.csv b/config/scenario_config_coupled_ScenarioMIP.csv index 969166c09..420aed997 100644 --- a/config/scenario_config_coupled_ScenarioMIP.csv +++ b/config/scenario_config_coupled_ScenarioMIP.csv @@ -1,17 +1,17 @@ title;start;copyConfigFrom;oldrun;path_report;qos;config/scenario_config.csv;no_ghgprices_land_until;var_luc;path_gdx;path_gdx_bau;path_gdx_ref;cfg_mag$gms$s15_elastic_demand;cfg_mag$gms$s32_aff_plantation;cfg_mag$gms$s32_npi_ndc_reversal;cfg_mag$gms$s35_npi_ndc_reversal -SMIPv04-H-SSP3-rollBack-def;0;;;;;SSP3|NPI|nocc_hist|rcp4p5;y2150;;;;;1;0;2030;2030 -SMIPv04-M-SSP2-NPi2025-def;0;;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;;;;;1;0;; -SMIPv04-ML-SSP2-PkBudg1500-def;0;;;;;SSP2|NPI|nocc_hist|rcp4p5;y2045;;;;;1;0;; -SMIPv04-L-SSP2-PkBudg1000-def;0;;;;;SSP2|NDC|nocc_hist|rcp2p6;y2030;;;;;1;0;; -SMIPv04-VLHO-SSP2-EcBudg400-def;0;;;;;SSP2|NDC|nocc_hist|rcp2p6;y2035;;;;;1;0;; -SMIPv04-VLLO-SSP1-PkBudg650-def;0;;;;;SDP-MC|SSP1-POP-GDP|NDC|nocc_hist|rcp1p9;y2030;;;;;1;0;; -SMIPv04-M-SSP1-NPi2025-var;0;;;;;SSP1|NPI|nocc_hist|rcp4p5;y2150;;;;;1;0;; +SMIPv04-H-SSP3-rollBack-def;0;;;;;SSP3|NPI|nocc_hist;y2150;;;;;1;0;2030;2030 +SMIPv04-M-SSP2-NPi2025-def;0;;;;;SSP2|NPI|nocc_hist;y2150;;;;;1;0;; +SMIPv04-ML-SSP2-PkBudg1500-def;0;;;;;SSP2|NPI|nocc_hist;y2045;;;;;1;0;; +SMIPv04-L-SSP2-PkBudg1000-def;0;;;;;SSP2|NDC|nocc_hist;y2030;;;;;1;0;; +SMIPv04-VLHO-SSP2-EcBudg400-def;0;;;;;SSP2|NDC|nocc_hist;y2035;;;;;1;0;; +SMIPv04-VLLO-SSP1-PkBudg650-def;0;;;;;SDP-MC|SSP1-POP-GDP|NDC|nocc_hist;y2030;;;;;1;0;; +SMIPv04-M-SSP1-NPi2025-var;0;;;;;SSP1|NPI|nocc_hist;y2150;;;;;1;0;; SMIPv04-M-SSP2_lowEn-NPi2025-var;0;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;; -SMIPv04-M-SSP3-NPi2025-var;0;;;;;SSP3|NPI|nocc_hist|rcp4p5;y2150;;;;;1;0;; -SMIPv04-L-SSP1-PkBudg1000-var;0;;;;;SSP1|NDC|nocc_hist|rcp2p6;y2030;;;;;1;0;; -SMIPv04-VLLO-SSP2-PkBudg650-var;0;;;;;SDP-MC|SSP2-POP-GDP|NDC|nocc_hist|rcp1p9;y2030;;;;;1;0;; -SMIPv04-VLLO-SSP2_lowEn-PkBudg650-var;0;;;;;SDP-MC|SSP2-POP-GDP|NDC|nocc_hist|rcp1p9;y2030;;;;;1;0;; -RIKEN-VLLO-SSP2-PkBudg650-def;0;;;;;SSP2|NDC|nocc_hist|rcp1p9;y2030;;;;;1;0;; +SMIPv04-M-SSP3-NPi2025-var;0;;;;;SSP3|NPI|nocc_hist;y2150;;;;;1;0;; +SMIPv04-L-SSP1-PkBudg1000-var;0;;;;;SSP1|NDC|nocc_hist;y2030;;;;;1;0;; +SMIPv04-VLLO-SSP2-PkBudg650-var;0;;;;;SDP-MC|SSP2-POP-GDP|NDC|nocc_hist;y2030;;;;;1;0;; +SMIPv04-VLLO-SSP2_lowEn-PkBudg650-var;0;;;;;SDP-MC|SSP2-POP-GDP|NDC|nocc_hist;y2030;;;;;1;0;; +RIKEN-VLLO-SSP2-PkBudg650-def;0;;;;;SSP2|NDC|nocc_hist;y2030;;;;;1;0;; SMIPv04-L-SSP2-PkBudg1000-var_yr2035;0;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;; SMIPv04-L-SSP2-PkBudg1000-var_yr2050;0;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;; SMIPv04-VLHO-SSP2-EcBudg400-var_yr2035;0;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;; From b7c22656df8698cf21e652e015ce193f98da0573 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Mon, 9 Dec 2024 16:38:11 +0100 Subject: [PATCH 860/875] Add variants of VLHO with NPI settings in MAgPIE --- config/scenario_config_ScenarioMIP.csv | 4 +++- config/scenario_config_coupled_ScenarioMIP.csv | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/config/scenario_config_ScenarioMIP.csv b/config/scenario_config_ScenarioMIP.csv index 6c5821a23..71e56ae19 100644 --- a/config/scenario_config_ScenarioMIP.csv +++ b/config/scenario_config_ScenarioMIP.csv @@ -28,8 +28,10 @@ SMIPv04-ML-SSP2-PkBudg1500-var_EWoff;1;SMIPv04-ML-SSP2-PkBudg1500-def;;;;;;;;;;; SMIPv04-L-SSP2-PkBudg1000-var_EWoff;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_EWoff;;SMIPv04-M-SSP2-NPi2025-var_EWoff; SMIPv04-VLHO-SSP2-EcBudg400-var_EWoff;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_EWoff;;SMIPv04-M-SSP2-NPi2025-var_EWoff; SMIPv04-VLLO-SSP1-PkBudg650-var_EWoff;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_EWoff;;SMIPv04-M-SSP2-NPi2025-var_EWoff; -#___ScenarioMIP_VLHO_variant_plantation___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +#___ScenarioMIP_VLHO_variants___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_NPi;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SMIPv04-VLHO-SSP2-EcBudg400-var_plantation;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_plantation_NPi;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; #___ScenarioMIP_VLLO_variant_no1stgen_phaseout___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SMIPv04-VLLO-SSP1-PkBudg650-var_no1stgen_phaseout;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0;;;;;;;;; #___ScenarioMIP_raw_luc_variant___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/config/scenario_config_coupled_ScenarioMIP.csv b/config/scenario_config_coupled_ScenarioMIP.csv index 420aed997..ec739ba02 100644 --- a/config/scenario_config_coupled_ScenarioMIP.csv +++ b/config/scenario_config_coupled_ScenarioMIP.csv @@ -23,7 +23,9 @@ SMIPv04-ML-SSP2-PkBudg1500-var_EWoff;0;SMIPv04-ML-SSP2-PkBudg1500-def;;;;;;;;;;; SMIPv04-L-SSP2-PkBudg1000-var_EWoff;0;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;; SMIPv04-VLHO-SSP2-EcBudg400-var_EWoff;0;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;; SMIPv04-VLLO-SSP1-PkBudg650-var_EWoff;0;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_NPi;0;;;;;SSP2|NPI|nocc_hist;y2035;;;;;1;0;; SMIPv04-VLHO-SSP2-EcBudg400-var_plantation;0;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;1;; +SMIPv04-VLHO-SSP2-EcBudg400-var_plantation_NPi;0;SMIPv04-VLHO-SSP2-EcBudg400-var_NPi;;;;;;;;;;;1;; SMIPv04-VLLO-SSP1-PkBudg650-var_no1stgen_phaseout;0;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;; SMIPv04-H-SSP3-rollBack-var_raw_luc;0;SMIPv04-H-SSP3-rollBack-def;;;;;;raw;;;;;;; SMIPv04-M-SSP2-NPi2025-var_raw_luc;0;SMIPv04-M-SSP2-NPi2025-def;;;;;;raw;;;;;;; From c21ed183aa68a8984f332840fdd41269877ca427 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Mon, 9 Dec 2024 17:35:15 +0100 Subject: [PATCH 861/875] Correct no_ghgprices_land_until in couling config --- config/scenario_config_coupled.csv | 2 +- config/scenario_config_coupled_ScenarioMIP.csv | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/config/scenario_config_coupled.csv b/config/scenario_config_coupled.csv index 34d5de0ad..f07bc69d2 100644 --- a/config/scenario_config_coupled.csv +++ b/config/scenario_config_coupled.csv @@ -7,7 +7,7 @@ SSP2_lowEn-NDC;0;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;;;;1;; SSP2_lowEn-NPi2025;0;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;;;;1;; SSP2_lowEn-PkBudg1000;0;;;;SSP2|NDC|nocc_hist|rcp2p6;y2030;;;;1;; SSP2_lowEn-PkBudg650;0;;;;SSP2|NDC|nocc_hist|rcp1p9;y2030;;;;1;; -SSP2-EcBudg400;0;;;;SSP2|NDC|nocc_hist|rcp2p6;y2035;;;;1;; +SSP2-EcBudg400;0;;;;SSP2|NDC|nocc_hist|rcp2p6;y2030;;;;1;; SSP2-NDC;0;;;;SSP2|NDC|nocc_hist|rcp4p5;y2150;;;;1;; SSP2-NPi;0;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;;;;1;; SSP2-NPi2025;0;;;;SSP2|NPI|nocc_hist|rcp4p5;y2150;;;;1;; diff --git a/config/scenario_config_coupled_ScenarioMIP.csv b/config/scenario_config_coupled_ScenarioMIP.csv index ec739ba02..d2df8bac9 100644 --- a/config/scenario_config_coupled_ScenarioMIP.csv +++ b/config/scenario_config_coupled_ScenarioMIP.csv @@ -1,9 +1,9 @@ title;start;copyConfigFrom;oldrun;path_report;qos;config/scenario_config.csv;no_ghgprices_land_until;var_luc;path_gdx;path_gdx_bau;path_gdx_ref;cfg_mag$gms$s15_elastic_demand;cfg_mag$gms$s32_aff_plantation;cfg_mag$gms$s32_npi_ndc_reversal;cfg_mag$gms$s35_npi_ndc_reversal SMIPv04-H-SSP3-rollBack-def;0;;;;;SSP3|NPI|nocc_hist;y2150;;;;;1;0;2030;2030 SMIPv04-M-SSP2-NPi2025-def;0;;;;;SSP2|NPI|nocc_hist;y2150;;;;;1;0;; -SMIPv04-ML-SSP2-PkBudg1500-def;0;;;;;SSP2|NPI|nocc_hist;y2045;;;;;1;0;; +SMIPv04-ML-SSP2-PkBudg1500-def;0;;;;;SSP2|NPI|nocc_hist;y2040;;;;;1;0;; SMIPv04-L-SSP2-PkBudg1000-def;0;;;;;SSP2|NDC|nocc_hist;y2030;;;;;1;0;; -SMIPv04-VLHO-SSP2-EcBudg400-def;0;;;;;SSP2|NDC|nocc_hist;y2035;;;;;1;0;; +SMIPv04-VLHO-SSP2-EcBudg400-def;0;;;;;SSP2|NDC|nocc_hist;y2030;;;;;1;0;; SMIPv04-VLLO-SSP1-PkBudg650-def;0;;;;;SDP-MC|SSP1-POP-GDP|NDC|nocc_hist;y2030;;;;;1;0;; SMIPv04-M-SSP1-NPi2025-var;0;;;;;SSP1|NPI|nocc_hist;y2150;;;;;1;0;; SMIPv04-M-SSP2_lowEn-NPi2025-var;0;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;; @@ -23,7 +23,7 @@ SMIPv04-ML-SSP2-PkBudg1500-var_EWoff;0;SMIPv04-ML-SSP2-PkBudg1500-def;;;;;;;;;;; SMIPv04-L-SSP2-PkBudg1000-var_EWoff;0;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;; SMIPv04-VLHO-SSP2-EcBudg400-var_EWoff;0;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;; SMIPv04-VLLO-SSP1-PkBudg650-var_EWoff;0;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;; -SMIPv04-VLHO-SSP2-EcBudg400-var_NPi;0;;;;;SSP2|NPI|nocc_hist;y2035;;;;;1;0;; +SMIPv04-VLHO-SSP2-EcBudg400-var_NPi;0;;;;;SSP2|NPI|nocc_hist;y2030;;;;;1;0;; SMIPv04-VLHO-SSP2-EcBudg400-var_plantation;0;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;1;; SMIPv04-VLHO-SSP2-EcBudg400-var_plantation_NPi;0;SMIPv04-VLHO-SSP2-EcBudg400-var_NPi;;;;;;;;;;;1;; SMIPv04-VLLO-SSP1-PkBudg650-var_no1stgen_phaseout;0;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;; From c0446f57a6a763baac061ad7dc1a2e3e696fbe66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Mon, 9 Dec 2024 23:04:36 +0100 Subject: [PATCH 862/875] Adjust CESMkups in ScenarioMIP config --- config/scenario_config_ScenarioMIP.csv | 86 +++++++++++++------------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/config/scenario_config_ScenarioMIP.csv b/config/scenario_config_ScenarioMIP.csv index 71e56ae19..4317097e4 100644 --- a/config/scenario_config_ScenarioMIP.csv +++ b/config/scenario_config_ScenarioMIP.csv @@ -1,43 +1,43 @@ -title;start;copyConfigFrom;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_budgetCO2from2020;carbonprice;cm_taxCO2_functionalForm;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_historical;cm_taxCO2_historicalYr;cm_taxCO2_regiDiff;cm_taxCO2_regiDiff_endYr;cm_taxCO2_interpolation;cm_taxCO2_IncAfterPeakBudgYr;cm_emiscen;cm_fetaxscen;cm_maxProdBiolc;cm_33EW;cm_33OAE;cm_frac_NetNegEmi;c_ccsinjecratescen;c_changeProdCost;cm_CESMkup_build;cm_CESMkup_ind;cm_CESMkup_ind_data;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;c_regi_earlyreti_rate;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description -#___ScenarioMIP_defaults___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-H-SSP3-rollBack-def;1;;rcp45;0;off;;none;;;;;;;;;;0;5;off;1;0;0.5;1;1;;;;;none;regiCarbonPrice;off;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;medOil;medGas;highCoal;4;GLO 0.09, EUR_regi 0.15;2;0;3;SSP3;1.5;0;forcing_SSP3;CLE;Mix1;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; -SMIPv04-M-SSP2-NPi2025-def;1;;rcp45;0;off;;NPi2025;;;;;;;;;;9;3;off;1;0;0.5;1;;;;;;NPi2018;regiCarbonPrice;off;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;Mix2ICEban;2005;;;;; -SMIPv04-ML-SSP2-PkBudg1500-def;1;;rcp45;9;globallyOptimal;1500;functionalForm;linear;60;2100;55;last;initialSpread10;GLO 2100;;0;9;3;off;1;0;0.5;1;1;;;;2100.GLO 0.5;NDC;regiCarbonPrice;;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix2ICEban;2045;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; -SMIPv04-L-SSP2-PkBudg1000-def;1;;rcp26;9;globallyOptimal;1000;functionalForm;linear;65;2080;55;2028;initialSpread10;GLO 2070;;5;9;3;off;1;0;0.5;1;5;;;;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix3ICEban;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; -SMIPv04-VLHO-SSP2-EcBudg400-def;1;;rcp26;5;globallyOptimal;400;functionalForm;exponential;70;;;;initialSpread20;GLO 2070;one_step;;9;3;off;1;1;0;1;1;;;;2060.GLO 0.9;NDC;regiCarbonPrice;(2080,2090,2100,2110,2130,2150).GLO.tax.t.oae.all 5000;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix3ICEban;2035;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; -SMIPv04-VLLO-SSP1-PkBudg650-def;1;;rcp20;9;globallyOptimal;650;functionalForm;linear;75;2055;55;2028;initialSpread10;GLO 2050;;0;9;2;100;1;0;0.5;5;5;;;;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;GLO 0.12, EUR_regi 0.15;2;4;2;SSP1;1;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; -#___ScenarioMIP_SSP_variants___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-M-SSP1-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;GLO 0.12, EUR_regi 0.15;;4;;SSP1;;;forcing_SSP1;;;2030;;SMIPv04-M-SSP2-NPi2025-def;;; -SMIPv04-M-SSP2_lowEn-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gdp_SSP2_lowEn;;;;;GLO 0.09, EUR_regi 0.15;;;;SSP2_lowEn;;;;;;2030;;SMIPv04-M-SSP2-NPi2025-def;;; -SMIPv04-M-SSP3-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP3;gdp_SSP3;gdp_SSP3;medOil;medGas;highCoal;4;GLO 0.09, EUR_regi 0.15;;0;;SSP3;;;forcing_SSP3;;;2030;;SMIPv04-M-SSP2-NPi2025-def;;; -SMIPv04-L-SSP1-PkBudg1000-var;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;GLO 0.12, EUR_regi 0.15;;4;;SSP1;;;forcing_SSP1;;;;;;;; -SMIPv04-VLLO-SSP2-PkBudg650-var;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;;1;;SSP2;;;forcing_SSP2;;;;;;;; -SMIPv04-VLLO-SSP2_lowEn-PkBudg650-var;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP2;gdp_SSP2;gdp_SSP2_lowEn;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;;1;;SSP2;;;forcing_SSP2;;;;;;;; -#___RIKEN___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -RIKEN-VLLO-SSP2-PkBudg650-def;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;3;;;;;1;;;;;;;;;;;;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;;1;;SSP2;;0;forcing_SSP2;SSP2;;;;;;; -#___ScenarioMIP_carbon_price_convergence_variants___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-L-SSP2-PkBudg1000-var_yr2035;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;GLO 2035;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-L-SSP2-PkBudg1000-var_yr2050;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;GLO 2050;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-VLHO-SSP2-EcBudg400-var_yr2035;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;GLO 2035;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-VLHO-SSP2-EcBudg400-var_yr2050;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;GLO 2050;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-VLLO-SSP1-PkBudg650-var_yr2035;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;GLO 2035;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -#___ScenarioMIP_EW_off_variants___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-H-SSP3-rollBack-var_EWoff;1;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_EWoff;;SMIPv04-M-SSP2-NPi2025-var_EWoff; -SMIPv04-M-SSP2-NPi2025-var_EWoff;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-ML-SSP2-PkBudg1500-var_EWoff;1;SMIPv04-ML-SSP2-PkBudg1500-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_EWoff;;SMIPv04-M-SSP2-NPi2025-var_EWoff; -SMIPv04-L-SSP2-PkBudg1000-var_EWoff;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_EWoff;;SMIPv04-M-SSP2-NPi2025-var_EWoff; -SMIPv04-VLHO-SSP2-EcBudg400-var_EWoff;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_EWoff;;SMIPv04-M-SSP2-NPi2025-var_EWoff; -SMIPv04-VLLO-SSP1-PkBudg650-var_EWoff;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_EWoff;;SMIPv04-M-SSP2-NPi2025-var_EWoff; -#___ScenarioMIP_VLHO_variants___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-VLHO-SSP2-EcBudg400-var_NPi;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-VLHO-SSP2-EcBudg400-var_plantation;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-VLHO-SSP2-EcBudg400-var_plantation_NPi;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -#___ScenarioMIP_VLLO_variant_no1stgen_phaseout___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-VLLO-SSP1-PkBudg650-var_no1stgen_phaseout;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0;;;;;;;;; -#___ScenarioMIP_raw_luc_variant___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-H-SSP3-rollBack-var_raw_luc;1;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-M-SSP2-NPi2025-var_raw_luc;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-ML-SSP2-PkBudg1500-var_raw_luc;1;SMIPv04-ML-SSP2-PkBudg1500-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-L-SSP2-PkBudg1000-var_raw_luc;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-VLHO-SSP2-EcBudg400-var_raw_luc;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-VLLO-SSP1-PkBudg650-var_raw_luc;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +title;start;copyConfigFrom;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_budgetCO2from2020;carbonprice;cm_taxCO2_functionalForm;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_historical;cm_taxCO2_historicalYr;cm_taxCO2_regiDiff;cm_taxCO2_regiDiff_endYr;cm_taxCO2_interpolation;cm_taxCO2_IncAfterPeakBudgYr;cm_emiscen;cm_fetaxscen;cm_maxProdBiolc;cm_33EW;cm_33OAE;cm_frac_NetNegEmi;c_ccsinjecratescen;c_changeProdCost;cm_CESMkup_build;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;c_regi_earlyreti_rate;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description +#___ScenarioMIP_defaults___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-H-SSP3-rollBack-def;1;;rcp45;0;off;;none;;;;;;;;;;0;5;off;1;0;0.5;1;1;standard;;none;regiCarbonPrice;off;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;medOil;medGas;highCoal;4;GLO 0.09, EUR_regi 0.15;2;0;3;SSP3;1.5;0;forcing_SSP3;CLE;Mix1;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; +SMIPv04-M-SSP2-NPi2025-def;1;;rcp45;0;off;;NPi2025;;;;;;;;;;9;3;off;1;0;0.5;1;;standard;;NPi2018;regiCarbonPrice;off;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;Mix2ICEban;2005;;;;; +SMIPv04-ML-SSP2-PkBudg1500-def;1;;rcp45;9;globallyOptimal;1500;functionalForm;linear;60;2100;55;last;initialSpread10;GLO 2100;;0;9;3;off;1;0;0.5;1;1;standard;2100.GLO 0.5;NDC;regiCarbonPrice;;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix2ICEban;2045;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; +SMIPv04-L-SSP2-PkBudg1000-def;1;;rcp26;9;globallyOptimal;1000;functionalForm;linear;65;2080;55;2028;initialSpread10;GLO 2070;;5;9;3;off;1;0;0.5;1;5;standard;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix3ICEban;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; +SMIPv04-VLHO-SSP2-EcBudg400-def;1;;rcp26;5;globallyOptimal;400;functionalForm;exponential;70;;;;initialSpread20;GLO 2070;one_step;;9;3;off;1;1;0;1;1;standard;2060.GLO 0.9;NDC;regiCarbonPrice;(2080,2090,2100,2110,2130,2150).GLO.tax.t.oae.all 5000;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix3ICEban;2035;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; +SMIPv04-VLLO-SSP1-PkBudg650-def;1;;rcp20;9;globallyOptimal;650;functionalForm;linear;75;2055;55;2028;initialSpread10;GLO 2050;;0;9;2;100;1;0;0.5;5;5;feelhpb 1.4, fehob 0.8, feheb 0.15;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;GLO 0.12, EUR_regi 0.15;2;4;2;SSP1;1;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; +#___ScenarioMIP_SSP_variants___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-M-SSP1-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;GLO 0.12, EUR_regi 0.15;;4;;SSP1;;;forcing_SSP1;;;2030;;SMIPv04-M-SSP2-NPi2025-def;;; +SMIPv04-M-SSP2_lowEn-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gdp_SSP2_lowEn;;;;;GLO 0.09, EUR_regi 0.15;;;;SSP2_lowEn;;;;;;2030;;SMIPv04-M-SSP2-NPi2025-def;;; +SMIPv04-M-SSP3-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP3;gdp_SSP3;gdp_SSP3;medOil;medGas;highCoal;4;GLO 0.09, EUR_regi 0.15;;0;;SSP3;;;forcing_SSP3;;;2030;;SMIPv04-M-SSP2-NPi2025-def;;; +SMIPv04-L-SSP1-PkBudg1000-var;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;GLO 0.12, EUR_regi 0.15;;4;;SSP1;;;forcing_SSP1;;;;;;;; +SMIPv04-VLLO-SSP2-PkBudg650-var;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;;1;;SSP2;;;forcing_SSP2;;;;;;;; +SMIPv04-VLLO-SSP2_lowEn-PkBudg650-var;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP2;gdp_SSP2;gdp_SSP2_lowEn;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;;1;;SSP2;;;forcing_SSP2;;;;;;;; +#___RIKEN___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +RIKEN-VLLO-SSP2-PkBudg650-def;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;3;;;;;1;;;;;;;;;;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;;1;;SSP2;;0;forcing_SSP2;SSP2;;;;;;; +#___ScenarioMIP_carbon_price_convergence_variants___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-L-SSP2-PkBudg1000-var_yr2035;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;GLO 2035;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-L-SSP2-PkBudg1000-var_yr2050;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;GLO 2050;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_yr2035;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;GLO 2035;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_yr2050;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;GLO 2050;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg650-var_yr2035;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;GLO 2035;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +#___ScenarioMIP_EW_off_variants___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-H-SSP3-rollBack-var_EWoff;1;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_EWoff;;SMIPv04-M-SSP2-NPi2025-var_EWoff; +SMIPv04-M-SSP2-NPi2025-var_EWoff;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-ML-SSP2-PkBudg1500-var_EWoff;1;SMIPv04-ML-SSP2-PkBudg1500-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_EWoff;;SMIPv04-M-SSP2-NPi2025-var_EWoff; +SMIPv04-L-SSP2-PkBudg1000-var_EWoff;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_EWoff;;SMIPv04-M-SSP2-NPi2025-var_EWoff; +SMIPv04-VLHO-SSP2-EcBudg400-var_EWoff;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_EWoff;;SMIPv04-M-SSP2-NPi2025-var_EWoff; +SMIPv04-VLLO-SSP1-PkBudg650-var_EWoff;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_EWoff;;SMIPv04-M-SSP2-NPi2025-var_EWoff; +#___ScenarioMIP_VLHO_variants___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_NPi;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_plantation;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_plantation_NPi;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +#___ScenarioMIP_VLLO_variant_no1stgen_phaseout___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg650-var_no1stgen_phaseout;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0;;;;;;;;; +#___ScenarioMIP_raw_luc_variant___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-H-SSP3-rollBack-var_raw_luc;1;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-M-SSP2-NPi2025-var_raw_luc;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-ML-SSP2-PkBudg1500-var_raw_luc;1;SMIPv04-ML-SSP2-PkBudg1500-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-L-SSP2-PkBudg1000-var_raw_luc;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_raw_luc;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg650-var_raw_luc;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; From 627919c9eea7d9e4c7ca0db5bd2af0d575dcf5aa Mon Sep 17 00:00:00 2001 From: piontek Date: Tue, 10 Dec 2024 11:10:14 +0100 Subject: [PATCH 863/875] Bugfix in SCC calculation related to change in preference parameters --- modules/51_internalizeDamages/BurkeLikeItr/postsolve.gms | 2 +- modules/51_internalizeDamages/DiceLikeItr/postsolve.gms | 2 +- modules/51_internalizeDamages/KWTCintItr/postsolve.gms | 2 +- modules/51_internalizeDamages/KW_SEitr/postsolve.gms | 2 +- modules/51_internalizeDamages/KWlikeItr/postsolve.gms | 2 +- modules/51_internalizeDamages/KWlikeItrCPnash/not_used.txt | 2 ++ modules/51_internalizeDamages/KWlikeItrCPreg/postsolve.gms | 2 +- modules/51_internalizeDamages/KotzWenzCPreg/postsolve.gms | 2 +- modules/51_internalizeDamages/KotzWenzItr/postsolve.gms | 2 +- modules/51_internalizeDamages/LabItr/postsolve.gms | 2 +- modules/51_internalizeDamages/TCitr/postsolve.gms | 2 +- modules/51_internalizeDamages/off/not_used.txt | 2 ++ 12 files changed, 14 insertions(+), 10 deletions(-) diff --git a/modules/51_internalizeDamages/BurkeLikeItr/postsolve.gms b/modules/51_internalizeDamages/BurkeLikeItr/postsolve.gms index 66b10bac5..e9af611f5 100644 --- a/modules/51_internalizeDamages/BurkeLikeItr/postsolve.gms +++ b/modules/51_internalizeDamages/BurkeLikeItr/postsolve.gms @@ -20,7 +20,7 @@ p51_sccLastItr(tall) = p51_scc(tall); p51_sccParts(tall,tall2,regi2)$((tall.val ge 2010) and (tall.val le 2150) and (tall2.val ge tall.val) and (tall2.val le 2250)) = (1 + pm_prtp(regi2) )**(-(tall2.val - tall.val)) - * pm_consPC(tall,regi2)/pm_consPC(tall2,regi2) + * (pm_consPC(tall,regi2)/(pm_consPC(tall2,regi2) + sm_eps))**(1/pm_ies(regi2)) * pm_damage(tall2,regi2) * pm_GDPGross(tall2,regi2) * p51_marginalDamageCumul(tall,tall2,regi2) ; diff --git a/modules/51_internalizeDamages/DiceLikeItr/postsolve.gms b/modules/51_internalizeDamages/DiceLikeItr/postsolve.gms index 28aee02c9..66a338b9f 100644 --- a/modules/51_internalizeDamages/DiceLikeItr/postsolve.gms +++ b/modules/51_internalizeDamages/DiceLikeItr/postsolve.gms @@ -11,7 +11,7 @@ p51_scc(tall)$((tall.val ge 2025) and (tall.val le 2150)) = 1000 * sum(regi2, sum(tall2$( (tall2.val ge tall.val) and (tall2.val le (tall.val + cm_damages_SccHorizon)) ), !! add this for limiting horizon of damage consideration: and (tall2.val le 2150) (1 + pm_prtp(regi2))**(-(tall2.val - tall.val)) - * pm_consPC(tall,regi2)/pm_consPC(tall2,regi2) + * (pm_consPC(tall,regi2)/(pm_consPC(tall2,regi2) + sm_eps))**(1/pm_ies(regi2)) * pm_GDPGross(tall2,regi2) * pm_temperatureImpulseResponseCO2(tall2,tall) * pm_damageMarginal(tall2,"USA") !! USA stands as a dummy for a global value here diff --git a/modules/51_internalizeDamages/KWTCintItr/postsolve.gms b/modules/51_internalizeDamages/KWTCintItr/postsolve.gms index d65fb12aa..d2311c0f3 100755 --- a/modules/51_internalizeDamages/KWTCintItr/postsolve.gms +++ b/modules/51_internalizeDamages/KWTCintItr/postsolve.gms @@ -34,7 +34,7 @@ p51_sccPartsTC(tall,tall2,regi2)$((tall.val ge 2010) and (tall.val le 2150) and p51_sccParts(tall,tall2,regi2)$((tall.val ge 2010) and (tall.val le 2150) and (tall2.val ge tall.val) and (tall2.val le 2250)) = (1 + pm_prtp(regi2) )**(-(tall2.val - tall.val)) - * pm_consPC(tall,regi2)/pm_consPC(tall2,regi2) + * (pm_consPC(tall,regi2)/(pm_consPC(tall2,regi2) + sm_eps))**(1/pm_ies(regi2)) * pm_damageProd(tall2,regi2) * pm_GDPGross(tall2,regi2) * (p51_marginalDamageCumulKW(tall,tall2,regi2)+p51_sccPartsTC(tall,tall2,regi2)) ; diff --git a/modules/51_internalizeDamages/KW_SEitr/postsolve.gms b/modules/51_internalizeDamages/KW_SEitr/postsolve.gms index 503b597e5..85b066cd1 100755 --- a/modules/51_internalizeDamages/KW_SEitr/postsolve.gms +++ b/modules/51_internalizeDamages/KW_SEitr/postsolve.gms @@ -11,7 +11,7 @@ p51_sccLastItr(tall) = p51_scc(tall); p51_sccParts(tall,tall2,regi2)$((tall.val ge 2010) and (tall.val le 2150) and (tall2.val ge tall.val) and (tall2.val le 2250)) = (1 + pm_prtp(regi2) )**(-(tall2.val - tall.val)) - * pm_consPC(tall,regi2)/pm_consPC(tall2,regi2) + * (pm_consPC(tall,regi2)/(pm_consPC(tall2,regi2) + sm_eps))**(1/pm_ies(regi2)) * pm_GDPGross(tall2,regi2) * (pm_damage(tall2,regi2)-pm_damageImp(tall,tall2,regi2)) ; diff --git a/modules/51_internalizeDamages/KWlikeItr/postsolve.gms b/modules/51_internalizeDamages/KWlikeItr/postsolve.gms index 40c26d1e8..a32884d19 100644 --- a/modules/51_internalizeDamages/KWlikeItr/postsolve.gms +++ b/modules/51_internalizeDamages/KWlikeItr/postsolve.gms @@ -20,7 +20,7 @@ p51_sccLastItr(tall) = p51_scc(tall); * Add an epsilon to pm_consPC to avoid division by zero in case of INFES in the reference data p51_sccParts(tall,tall2,regi2)$((tall.val ge 2010) and (tall.val le 2150) and (tall2.val ge tall.val) and (tall2.val le 2250)) = (1 + pm_prtp(regi2) )**(-(tall2.val - tall.val)) - * pm_consPC(tall,regi2)/(pm_consPC(tall2,regi2) + 0.0000001) + * (pm_consPC(tall,regi2)/(pm_consPC(tall2,regi2) + sm_eps))**(1/pm_ies(regi2)) * pm_damage(tall2,regi2) * pm_GDPGross(tall2,regi2) * p51_marginalDamageCumul(tall,tall2,regi2) * pm_sccIneq(tall2,regi2) diff --git a/modules/51_internalizeDamages/KWlikeItrCPnash/not_used.txt b/modules/51_internalizeDamages/KWlikeItrCPnash/not_used.txt index bab2fd1dd..7f13e70fb 100755 --- a/modules/51_internalizeDamages/KWlikeItrCPnash/not_used.txt +++ b/modules/51_internalizeDamages/KWlikeItrCPnash/not_used.txt @@ -21,3 +21,5 @@ pm_GDPGrossIso,input,questionnaire pm_damageImp,input,questionnaire pm_damageIso,input,questionnaire pm_damageGrowthRateIso,input,questionnaire +pm_ies,input,questionnaire +sm_eps,input,questionnaire diff --git a/modules/51_internalizeDamages/KWlikeItrCPreg/postsolve.gms b/modules/51_internalizeDamages/KWlikeItrCPreg/postsolve.gms index 0e7bbb87e..3c40eb839 100644 --- a/modules/51_internalizeDamages/KWlikeItrCPreg/postsolve.gms +++ b/modules/51_internalizeDamages/KWlikeItrCPreg/postsolve.gms @@ -21,7 +21,7 @@ p51_sccLastItr(tall,regi) = p51_scc(tall,regi); p51_sccParts(tall,tall2,regi)$((tall.val ge 2010) and (tall.val le 2150) and (tall2.val ge tall.val) and (tall2.val le 2250)) = sum(regi2, (1 + pm_prtp(regi2) )**(-(tall2.val - tall.val)) - * pm_consPC(tall,regi)/pm_consPC(tall2,regi2) + * (pm_consPC(tall,regi))**(1/pm_ies(regi))/(pm_consPC(tall2,regi2) + sm_eps))**(1/pm_ies(regi2)) * pm_damage(tall2,regi2) * pm_GDPGross(tall2,regi2) * p51_marginalDamageCumul(tall,tall2,regi2) * pm_sccIneq(tall2,regi2) diff --git a/modules/51_internalizeDamages/KotzWenzCPreg/postsolve.gms b/modules/51_internalizeDamages/KotzWenzCPreg/postsolve.gms index cd453f902..f92f5297f 100644 --- a/modules/51_internalizeDamages/KotzWenzCPreg/postsolve.gms +++ b/modules/51_internalizeDamages/KotzWenzCPreg/postsolve.gms @@ -15,7 +15,7 @@ p51_scc(tall,regi)$((tall.val ge 2020) and (tall.val le 2150)) = 1000 * sum(regi2, sum(tall2$( (tall2.val ge tall.val) and (tall2.val le (tall.val + cm_damages_SccHorizon))), !! add this for limiting horizon of damage consideration: and (tall2.val le 2150) (1 + pm_prtp(regi2) )**(-(tall2.val - tall.val)) - * pm_consPC(tall,regi)/pm_consPC(tall2,regi2) + * (pm_consPC(tall,regi))**(1/pm_ies(regi))/(pm_consPC(tall2,regi2) + sm_eps))**(1/pm_ies(regi2)) * pm_GDPGross(tall2,regi2) * pm_temperatureImpulseResponseCO2(tall2,tall) * pm_damageMarginal(tall2,regi2) diff --git a/modules/51_internalizeDamages/KotzWenzItr/postsolve.gms b/modules/51_internalizeDamages/KotzWenzItr/postsolve.gms index 4179d74b9..c6b75d68b 100644 --- a/modules/51_internalizeDamages/KotzWenzItr/postsolve.gms +++ b/modules/51_internalizeDamages/KotzWenzItr/postsolve.gms @@ -15,7 +15,7 @@ p51_scc(tall)$((tall.val ge 2020) and (tall.val le 2150)) = 1000 * sum(regi2, sum(tall2$( (tall2.val ge tall.val) and (tall2.val le (tall.val + cm_damages_SccHorizon))), !! add this for limiting horizon of damage consideration: and (tall2.val le 2150) (1 + pm_prtp(regi2) )**(-(tall2.val - tall.val)) - * pm_consPC(tall,regi2)/pm_consPC(tall2,regi2) + * (pm_consPC(tall,regi2)/(pm_consPC(tall2,regi2) + sm_eps))**(1/pm_ies(regi2)) * pm_GDPGross(tall2,regi2) * pm_temperatureImpulseResponseCO2(tall2,tall) * pm_damageMarginal(tall2,regi2) diff --git a/modules/51_internalizeDamages/LabItr/postsolve.gms b/modules/51_internalizeDamages/LabItr/postsolve.gms index a3bfd1894..02bc1e9e8 100755 --- a/modules/51_internalizeDamages/LabItr/postsolve.gms +++ b/modules/51_internalizeDamages/LabItr/postsolve.gms @@ -50,7 +50,7 @@ p51_scc(tall)$((tall.val ge 2020) and (tall.val le 2150)) = 1000 * sum(regi2, sum(tall2$( (tall2.val ge tall.val) and (tall2.val le (tall.val + cm_damages_SccHorizon)) ), !! add this for limiting horizon of damage consideration: and (tall2.val le 2150) (1 + pm_prtp(regi2))**(-(tall2.val - tall.val)) - * pm_consPC(tall,regi2)/(pm_consPC(tall2,regi2)+1e-8) + * (pm_consPC(tall,regi2)/(pm_consPC(tall2,regi2) + sm_eps))**(1/pm_ies(regi2)) * p51_sccParts(tall,tall2,regi2) ) ) diff --git a/modules/51_internalizeDamages/TCitr/postsolve.gms b/modules/51_internalizeDamages/TCitr/postsolve.gms index b4612b6ea..39c09b7c7 100755 --- a/modules/51_internalizeDamages/TCitr/postsolve.gms +++ b/modules/51_internalizeDamages/TCitr/postsolve.gms @@ -31,7 +31,7 @@ p51_scc(tall)$((tall.val ge 2020) and (tall.val le 2150)) = 1000 * sum(regi2, sum(tall2$( (tall2.val ge tall.val) and (tall2.val le (tall.val + cm_damages_SccHorizon))), !! add this for limiting horizon of damage consideration: and (tall2.val le 2150) (1 + pm_prtp(regi2) )**(-(tall2.val - tall.val)) - * pm_consPC(tall,regi2)/pm_consPC(tall2,regi2) + * (pm_consPC(tall,regi2)/(pm_consPC(tall2,regi2) + sm_eps))**(1/pm_ies(regi2)) * p51_sccParts(tall,tall2,regi2) ) ) diff --git a/modules/51_internalizeDamages/off/not_used.txt b/modules/51_internalizeDamages/off/not_used.txt index 99bf63d14..5149fb728 100644 --- a/modules/51_internalizeDamages/off/not_used.txt +++ b/modules/51_internalizeDamages/off/not_used.txt @@ -34,3 +34,5 @@ pm_damageIso,input,questionnaire pm_damageGrowthRateIso,input,questionnaire pm_sccIneq,input,questionnaire sm_c_2_co2,input,questionnaire +pm_ies,input,questionnaire +sm_eps,input,questionnaire From 36799411653f212017fb0eb022c21e1f43ff973c Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Tue, 10 Dec 2024 15:28:01 +0100 Subject: [PATCH 864/875] new CES parameter and gdx files for rev7.18 for SSP2, SSP2-EU21, SSP3, SSP1, SSP5 and SSP2_lowEn, calibration runs: /p/tmp/lavinia/REMIND/REMIND_calibration_2024_12_09/remind/output --- config/default.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/default.cfg b/config/default.cfg index e769af43a..e1190718a 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -31,7 +31,7 @@ cfg$extramappings_historic <- "" cfg$inputRevision <- "7.18" #### Current CES parameter and GDX revision (commit hash) #### -cfg$CESandGDXversion <- "5452a611b8add9f439df0a98a27277a306ece286" +cfg$CESandGDXversion <- "354727cdf8174836422acc002670b1488410ecfd" #### Force the model to download new input data #### cfg$force_download <- FALSE From bce6f7bf43e14d34de80b163e2bea1f2840529b3 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 10 Dec 2024 14:43:05 +0000 Subject: [PATCH 865/875] Release development version 3.3.2.dev1175 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 0e30761b3..2696f35fc 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev1172" -date-released: 2024-12-09 +version: "3.3.2.dev1175" +date-released: 2024-12-10 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index e1190718a..a7263eed5 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -69,7 +69,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.3.2.dev1172" +cfg$model_version <- "3.3.2.dev1175" #### settings #### cfg$gms <- list() From 2ed09e6a161596b864b4ed009d3cd992ca6ca7a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laurin=20K=C3=B6hler-Schindler?= Date: Tue, 10 Dec 2024 17:14:49 +0100 Subject: [PATCH 866/875] Update near-term CO2 price assumptions --- config/scenario_config_ScenarioMIP.csv | 30 +++++++++++++------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/config/scenario_config_ScenarioMIP.csv b/config/scenario_config_ScenarioMIP.csv index 4317097e4..da15ca00f 100644 --- a/config/scenario_config_ScenarioMIP.csv +++ b/config/scenario_config_ScenarioMIP.csv @@ -1,11 +1,11 @@ -title;start;copyConfigFrom;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_budgetCO2from2020;carbonprice;cm_taxCO2_functionalForm;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_historical;cm_taxCO2_historicalYr;cm_taxCO2_regiDiff;cm_taxCO2_regiDiff_endYr;cm_taxCO2_interpolation;cm_taxCO2_IncAfterPeakBudgYr;cm_emiscen;cm_fetaxscen;cm_maxProdBiolc;cm_33EW;cm_33OAE;cm_frac_NetNegEmi;c_ccsinjecratescen;c_changeProdCost;cm_CESMkup_build;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;c_regi_earlyreti_rate;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description +title;start;copyConfigFrom;cm_rcp_scen;cm_iterative_target_adj;subsidizeLearning;cm_budgetCO2from2020;carbonprice;cm_taxCO2_functionalForm;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_historical;cm_taxCO2_historicalYr;cm_taxCO2_regiDiff;cm_taxCO2_interpolation;cm_taxCO2_startYearValue;cm_taxCO2_IncAfterPeakBudgYr;cm_emiscen;cm_fetaxscen;cm_maxProdBiolc;cm_33EW;cm_33OAE;cm_frac_NetNegEmi;c_ccsinjecratescen;c_changeProdCost;cm_CESMkup_build;cm_wasteIncinerationCCSshare;techpol;regipol;cm_implicitQttyTarget;cm_NucRegiPol;cm_CoalRegiPol;cm_altFeEmiFac;cm_POPscen;cm_GDPscen;cm_demScen;cm_oil_scen;cm_gas_scen;cm_coal_scen;c_techAssumptScen;c_regi_earlyreti_rate;cm_nucscen;cm_so2tax_scen;cm_multigasscen;cm_LU_emi_scen;cm_tradecostBio;cm_1stgen_phaseout;c_SSP_forcing_adjust;cm_APscen;cm_EDGEtr_scen;cm_startyear;path_gdx;path_gdx_ref;path_gdx_bau;path_gdx_refpolicycost;description #___ScenarioMIP_defaults___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SMIPv04-H-SSP3-rollBack-def;1;;rcp45;0;off;;none;;;;;;;;;;0;5;off;1;0;0.5;1;1;standard;;none;regiCarbonPrice;off;on;on;EUR_regi, NEU_regi;pop_SSP3;gdp_SSP3;gdp_SSP3;medOil;medGas;highCoal;4;GLO 0.09, EUR_regi 0.15;2;0;3;SSP3;1.5;0;forcing_SSP3;CLE;Mix1;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; SMIPv04-M-SSP2-NPi2025-def;1;;rcp45;0;off;;NPi2025;;;;;;;;;;9;3;off;1;0;0.5;1;;standard;;NPi2018;regiCarbonPrice;off;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;2;1;3;SSP2;1;0;forcing_SSP2;SSP2;Mix2ICEban;2005;;;;; -SMIPv04-ML-SSP2-PkBudg1500-def;1;;rcp45;9;globallyOptimal;1500;functionalForm;linear;60;2100;55;last;initialSpread10;GLO 2100;;0;9;3;off;1;0;0.5;1;1;standard;2100.GLO 0.5;NDC;regiCarbonPrice;;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix2ICEban;2045;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; -SMIPv04-L-SSP2-PkBudg1000-def;1;;rcp26;9;globallyOptimal;1000;functionalForm;linear;65;2080;55;2028;initialSpread10;GLO 2070;;5;9;3;off;1;0;0.5;1;5;standard;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix3ICEban;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; -SMIPv04-VLHO-SSP2-EcBudg400-def;1;;rcp26;5;globallyOptimal;400;functionalForm;exponential;70;;;;initialSpread20;GLO 2070;one_step;;9;3;off;1;1;0;1;1;standard;2060.GLO 0.9;NDC;regiCarbonPrice;(2080,2090,2100,2110,2130,2150).GLO.tax.t.oae.all 5000;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix3ICEban;2035;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; -SMIPv04-VLLO-SSP1-PkBudg650-def;1;;rcp20;9;globallyOptimal;650;functionalForm;linear;75;2055;55;2028;initialSpread10;GLO 2050;;0;9;2;100;1;0;0.5;5;5;feelhpb 1.4, fehob 0.8, feheb 0.15;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;GLO 0.12, EUR_regi 0.15;2;4;2;SSP1;1;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; +SMIPv04-ML-SSP2-PkBudg1500-def;1;;rcp45;9;globallyOptimal;1500;functionalForm;linear;75;2100;50;2040;none;(EUR,USA,JPN,NEU,CAZ).2040.2050 1,REF.2040.2060 1,(CHA,LAM,MEA).2040.2080 1,OAS.2040.2100 1.5,IND.2040.2100 2,SSA.2040.2100 3;off;0;9;3;off;1;0;0.5;1;1;standard;2100.GLO 0.5;NDC;regiCarbonPrice;;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix2ICEban;2045;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; +SMIPv04-L-SSP2-PkBudg1000-def;1;;rcp26;9;globallyOptimal;1000;functionalForm;linear;85;2070;50;2028;none;(EUR,USA,JPN,NEU,CAZ).2030.2040 1,REF.2030.2050 1,(CHA,LAM,MEA).2030.2060 1,OAS.2030.2070 1.5,IND.2030.2070 2,SSA.2030.2070 3;EUR 130,(CAZ,USA) 50,(NEU,JPN) 40,(LAM,MEA) 30,(REF,CHA,OAS) 20,IND 15,SSA 10;5;9;3;off;1;0;0.5;1;5;standard;2050.GLO 0.5;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix3ICEban;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; +SMIPv04-VLHO-SSP2-EcBudg400-def;1;;rcp26;5;globallyOptimal;400;functionalForm;exponential;80;;;;none;(EUR,USA,JPN,NEU,CAZ).2030.2040 1,REF.2030.2050 1,(CHA,LAM,MEA).2030.2060 1,OAS.2030.2070 1.5,IND.2030.2070 2,SSA.2030.2070 3;off;;9;3;off;1;1;0;1;1;standard;2060.GLO 0.9;NDC;regiCarbonPrice;(2080,2090,2100,2110,2130,2150).GLO.tax.t.oae.all 5000;on;on;EUR_regi, NEU_regi;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;2;1;2;SSP2;1;0;forcing_SSP2;SSP2;Mix3ICEban;2035;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; +SMIPv04-VLLO-SSP1-PkBudg650-def;1;;rcp20;9;globallyOptimal;650;functionalForm;linear;100;2050;50;2028;none;(EUR,USA,JPN,NEU,CAZ).2030.2040 1,REF.2030.2045 1,(CHA,LAM,MEA).2030.2050 1,OAS.2030.2050 1.5,IND.2030.2050 2,SSA.2030.2050 3;EUR 150,(CAZ,NEU,USA,JPN) 70,REF 60,(CHA,LAM,MEA) 50,OAS 40,IND 30,SSA 20;2;9;2;100;1;0;0.5;5;5;feelhpb 1.4, fehob 0.8, feheb 0.15;2050.GLO 0.9;NDC;regiCarbonPrice;2030.EUR_regi.tax.t.FE_wo_b_wo_n_e.all 1.2809;on;on;EUR_regi, NEU_regi;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;GLO 0.12, EUR_regi 0.15;2;4;2;SSP1;1;1;forcing_SSP1;MFR;Mix4ICEban;2030;;SMIPv04-M-SSP2-NPi2025-def;;SMIPv04-M-SSP2-NPi2025-def; #___ScenarioMIP_SSP_variants___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SMIPv04-M-SSP1-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;pop_SSP1;gdp_SSP1;gdp_SSP1;lowOil;lowGas;lowCoal;2;GLO 0.12, EUR_regi 0.15;;4;;SSP1;;;forcing_SSP1;;;2030;;SMIPv04-M-SSP2-NPi2025-def;;; SMIPv04-M-SSP2_lowEn-NPi2025-var;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gdp_SSP2_lowEn;;;;;GLO 0.09, EUR_regi 0.15;;;;SSP2_lowEn;;;;;;2030;;SMIPv04-M-SSP2-NPi2025-def;;; @@ -16,11 +16,11 @@ SMIPv04-VLLO-SSP2_lowEn-PkBudg650-var;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;; #___RIKEN___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; RIKEN-VLLO-SSP2-PkBudg650-def;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;3;;;;;1;;;;;;;;;;pop_SSP2;gdp_SSP2;gdp_SSP2;medOil;medGas;medCoal;1;GLO 0.09, EUR_regi 0.15;;1;;SSP2;;0;forcing_SSP2;SSP2;;;;;;; #___ScenarioMIP_carbon_price_convergence_variants___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-L-SSP2-PkBudg1000-var_yr2035;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;GLO 2035;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-L-SSP2-PkBudg1000-var_yr2050;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;GLO 2050;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-VLHO-SSP2-EcBudg400-var_yr2035;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;GLO 2035;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-VLHO-SSP2-EcBudg400-var_yr2050;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;GLO 2050;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-VLLO-SSP1-PkBudg650-var_yr2035;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;GLO 2035;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-L-SSP2-PkBudg1000-var_yr2035;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;GLO.2030.2035 1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-L-SSP2-PkBudg1000-var_yr2050;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;(EUR,USA,JPN,NEU,CAZ).2030.2040 1,REF.2030.2045 1,(CHA,LAM,MEA).2030.2050 1,OAS.2030.2050 1.5,IND.2030.2050 2,SSA.2030.2050 3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_yr2035;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;GLO.2030.2035 1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLHO-SSP2-EcBudg400-var_yr2050;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;(EUR,USA,JPN,NEU,CAZ).2030.2040 1,REF.2030.2045 1,(CHA,LAM,MEA).2030.2050 1,OAS.2030.2050 1.5,IND.2030.2050 2,SSA.2030.2050 3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-VLLO-SSP1-PkBudg650-var_yr2035;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;GLO.2030.2035 1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; #___ScenarioMIP_EW_off_variants___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SMIPv04-H-SSP3-rollBack-var_EWoff;1;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_EWoff;;SMIPv04-M-SSP2-NPi2025-var_EWoff; SMIPv04-M-SSP2-NPi2025-var_EWoff;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -35,9 +35,9 @@ SMIPv04-VLHO-SSP2-EcBudg400-var_plantation_NPi;1;SMIPv04-VLHO-SSP2-EcBudg400-def #___ScenarioMIP_VLLO_variant_no1stgen_phaseout___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; SMIPv04-VLLO-SSP1-PkBudg650-var_no1stgen_phaseout;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0;;;;;;;;; #___ScenarioMIP_raw_luc_variant___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-H-SSP3-rollBack-var_raw_luc;1;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-H-SSP3-rollBack-var_raw_luc;1;SMIPv04-H-SSP3-rollBack-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_raw_luc;;SMIPv04-M-SSP2-NPi2025-var_raw_luc; SMIPv04-M-SSP2-NPi2025-var_raw_luc;1;SMIPv04-M-SSP2-NPi2025-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-ML-SSP2-PkBudg1500-var_raw_luc;1;SMIPv04-ML-SSP2-PkBudg1500-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-L-SSP2-PkBudg1000-var_raw_luc;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-VLHO-SSP2-EcBudg400-var_raw_luc;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -SMIPv04-VLLO-SSP1-PkBudg650-var_raw_luc;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +SMIPv04-ML-SSP2-PkBudg1500-var_raw_luc;1;SMIPv04-ML-SSP2-PkBudg1500-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_raw_luc;;SMIPv04-M-SSP2-NPi2025-var_raw_luc; +SMIPv04-L-SSP2-PkBudg1000-var_raw_luc;1;SMIPv04-L-SSP2-PkBudg1000-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_raw_luc;;SMIPv04-M-SSP2-NPi2025-var_raw_luc; +SMIPv04-VLHO-SSP2-EcBudg400-var_raw_luc;1;SMIPv04-VLHO-SSP2-EcBudg400-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_raw_luc;;SMIPv04-M-SSP2-NPi2025-var_raw_luc; +SMIPv04-VLLO-SSP1-PkBudg650-var_raw_luc;1;SMIPv04-VLLO-SSP1-PkBudg650-def;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SMIPv04-M-SSP2-NPi2025-var_raw_luc;;SMIPv04-M-SSP2-NPi2025-var_raw_luc; From 05b240f365c056443a06ccde77da37595a03cc69 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 10 Dec 2024 16:27:42 +0000 Subject: [PATCH 867/875] Release development version 3.3.2.dev1188 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 2696f35fc..1dab4af48 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev1175" +version: "3.3.2.dev1188" date-released: 2024-12-10 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index a7263eed5..da1352861 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -69,7 +69,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.3.2.dev1175" +cfg$model_version <- "3.3.2.dev1188" #### settings #### cfg$gms <- list() From bbba9370cb1f0a04c4112fc46a0d047cadaa4f28 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Tue, 10 Dec 2024 20:03:50 +0000 Subject: [PATCH 868/875] Release development version 3.3.2.dev1191 --- CITATION.cff | 2 +- config/default.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 1dab4af48..ee42c13b6 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev1188" +version: "3.3.2.dev1191" date-released: 2024-12-10 repository-code: https://github.com/remindmodel/remind keywords: diff --git a/config/default.cfg b/config/default.cfg index da1352861..e602abb15 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -69,7 +69,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.3.2.dev1188" +cfg$model_version <- "3.3.2.dev1191" #### settings #### cfg$gms <- list() From 27fb153ac0523d16c05a47594098bb10fb97c9ea Mon Sep 17 00:00:00 2001 From: Lavinia Baumstark Date: Wed, 11 Dec 2024 10:12:15 +0100 Subject: [PATCH 869/875] reorder CHANGELOG.md --- CHANGELOG.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ae94670bb..0a0961028 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -78,7 +78,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). [[#1871](https://github.com/remindmodel/remind/pull/1871)] ### fixed -- included CCS from plastic waste incineration in CCS mass flows so it is +- **30_biomass** reset 1st gen. biofuel bound from 2045 to 2030 + [[#1890](https://github.com/remindmodel/remind/pull/1890)] +- **37_industry** included CCS from plastic waste incineration in CCS mass flows so it is subject to injection constraints (but did not add CCS costs, see https://github.com/remindmodel/development_issues/issues/274 - **MAGICC7** fix climate data for time before cm_startyear on reference run @@ -91,8 +93,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). [[#1768](https://github.com/remindmodel/remind/pull/1768)] - **scripts** limit slurm runtime of output.R scripts to 2 hours [[#1783](https://github.com/remindmodel/remind/pull/1783)] -- **30_biomass** reset 1st gen. biofuel bound from 2045 to 2030 - [[#1890](https://github.com/remindmodel/remind/pull/1890)] ### removed - **45_carbonprice** removed superseded realizations linear, exponential and diffCurvPhaseIn2Lin From fce16187dd2da6bdfb535addea29f1afdad638fc Mon Sep 17 00:00:00 2001 From: David Klein Date: Wed, 11 Dec 2024 15:25:54 +0100 Subject: [PATCH 870/875] Decrease (sic) optimality tolerance used for --quick runs to avoid infeasibilities --- config/conopt3.op6 | 10 ++++++++++ modules/80_optimization/testOneRegi/solve.gms | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 config/conopt3.op6 diff --git a/config/conopt3.op6 b/config/conopt3.op6 new file mode 100644 index 000000000..0bd27e75f --- /dev/null +++ b/config/conopt3.op6 @@ -0,0 +1,10 @@ +rtnwtr = 1.e-7; +lfnicr = 1000; +lfstal = 1000; +lfilog = 500; +rtredg = 1.d-6; +rvhess 100; +lfdegi 500; +lfnsup 7000; +rtmins 0.0009765625; +rtnwmi = 1.d-9; diff --git a/modules/80_optimization/testOneRegi/solve.gms b/modules/80_optimization/testOneRegi/solve.gms index 82d35b59d..9c6e5210d 100644 --- a/modules/80_optimization/testOneRegi/solve.gms +++ b/modules/80_optimization/testOneRegi/solve.gms @@ -7,7 +7,7 @@ *** SOF ./modules/80_optimization/testOneRegi/solve.gms hybrid.optfile = 9; -$IF %cm_quick_mode% == "on" hybrid.optfile = 4; +$IF %cm_quick_mode% == "on" hybrid.optfile = 6; ***reduce the problem to one region regi(all_regi) = NO; From 6560a2b757ddfe12933d312bf2c0f9b46a48ed81 Mon Sep 17 00:00:00 2001 From: David Klein Date: Wed, 11 Dec 2024 16:01:43 +0100 Subject: [PATCH 871/875] Add missing file --- config/default.cfg | 1 + 1 file changed, 1 insertion(+) diff --git a/config/default.cfg b/config/default.cfg index e602abb15..e8cde40ad 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -136,6 +136,7 @@ cfg$files2export$start <- c("config/conopt3.opt", "config/conopt3.op2", "config/conopt3.op3", "config/conopt3.op4", + "config/conopt3.op6", "config/conopt3.op9", "core/input/historical/historical.mif", "scripts/input/exoGAINSAirpollutants.R", From 75a6b79a512975e839d5b6888d42c5a6f83989a4 Mon Sep 17 00:00:00 2001 From: REMIND Research Software Engineering Date: Wed, 11 Dec 2024 15:16:01 +0000 Subject: [PATCH 872/875] Release development version 3.3.2.dev1198 --- CITATION.cff | 4 ++-- config/default.cfg | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index ee42c13b6..4ce8e0885 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,8 +271,8 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev1191" -date-released: 2024-12-10 +version: "3.3.2.dev1198" +date-released: 2024-12-11 repository-code: https://github.com/remindmodel/remind keywords: - energy diff --git a/config/default.cfg b/config/default.cfg index e8cde40ad..15064ae61 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -69,7 +69,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.3.2.dev1191" +cfg$model_version <- "3.3.2.dev1198" #### settings #### cfg$gms <- list() From aaafd8e437aad7f93dd56afb7be7d0c42df5cb5f Mon Sep 17 00:00:00 2001 From: LaviniaBaumstark Date: Wed, 11 Dec 2024 17:28:03 +0100 Subject: [PATCH 873/875] remind release 3.4.0 --- CHANGELOG.md | 2 +- CITATION.cff | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3d1b3b440..37207d136 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). -## [Unreleased] +## [3.4.0] - 2024-12-11 ### input data/calibration - new input data rev6.84 [[#1757](https://github.com/remindmodel/remind/pull/1757)] diff --git a/CITATION.cff b/CITATION.cff index 4ce8e0885..60f502f9a 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -271,7 +271,7 @@ abstract: REMIND (REgional Model of Investment and Development) is a numerical technology, policy and climate constraints. It also accounts for regional trade characteristics on goods, energy fuels, and emissions allowances. All greenhouse gas emissions due to human activities are represented in the model. -version: "3.3.2.dev1198" +version: 3.4.0 date-released: 2024-12-11 repository-code: https://github.com/remindmodel/remind keywords: From 2ea170c3c4ae85d891cb6b35b873f0ce072a5ffd Mon Sep 17 00:00:00 2001 From: LaviniaBaumstark Date: Wed, 11 Dec 2024 17:33:44 +0100 Subject: [PATCH 874/875] remind release 3.4.0 --- scripts/utils/release.R | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/utils/release.R b/scripts/utils/release.R index 5149db9ee..2ff4cc21c 100644 --- a/scripts/utils/release.R +++ b/scripts/utils/release.R @@ -75,8 +75,8 @@ release <- function(newVersion) { message("Creating tag") tag <- paste0("v",newVersion) - git_tag_create(name = tag, message = "new tag", repo = ".") - git_tag_push(name = tag, repo = ".") + gert::git_tag_create(name = tag, message = "new tag", repo = ".") + gert::git_tag_push(name = tag, repo = ".") message("Creating a PR on GitHub") # gh pr create --help From 66d84685b7888fe46db6fafc4d116f0333bc1dfc Mon Sep 17 00:00:00 2001 From: LaviniaBaumstark Date: Wed, 11 Dec 2024 17:43:08 +0100 Subject: [PATCH 875/875] remind release 3.4.0 --- main.gms | 1 - 1 file changed, 1 deletion(-) diff --git a/main.gms b/main.gms index 9fe3a07e1..99c3a2b2d 100755 --- a/main.gms +++ b/main.gms @@ -76,7 +76,6 @@ *' OUTPUT *' ``` *' -*' *' The GAMS code follows a Coding Etiquette: *' *' #### Naming conventions: