From db00543777a21942b885c8903862c163756b60e1 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Thu, 12 Mar 2026 21:52:58 +0100 Subject: [PATCH 01/38] update ariadne scenario config including latest settings of NPi and PkBudg750 runs from standard scenario_config.csv --- config/scenario_config_21_EU11_ARIADNE.csv | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/config/scenario_config_21_EU11_ARIADNE.csv b/config/scenario_config_21_EU11_ARIADNE.csv index fd6d16b3f..cc84f8aa9 100755 --- a/config/scenario_config_21_EU11_ARIADNE.csv +++ b/config/scenario_config_21_EU11_ARIADNE.csv @@ -1,14 +1,14 @@ 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_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;techpol;regipol;cm_regiExoPrice;cm_emiMktTarget;cm_emiMktTarget_tolerance;cm_regiExoPrice_fromFile;cm_VREminCap_Ger;cm_NucRegiPol;cm_CoalRegiPol;cm_EDGEtr_scen;cm_emiscen;cm_multigasscen;cm_GDPpopScen;cm_demScen;cm_startyear;path_gdx;path_gdx_ref # _____Reference Runs_____;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Calib_EU_NPi;0;;Calibration Run with National Policies Implemented (NPI);calibrate;;;;;;;;;standard;;;;;;;;;DEU 1.1, EU27_regi 7.5;;EU27_regi.pebiolc.worldPricemarkup 10;1;;;;;;;;;;;;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;;;;NPi;;;NPi2018;;;;;;;;;Mix1;;;;;2005;; -NPi;0;Calib_EU_NPi;National Policies implemented;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Calib_EU_Npi_lowDem;0;Calib_EU_NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;NAV_all;;;;SSP2_NAV_all;;; -Npi_lowDem;0;Calib_EU_Npi_lowDem;;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Calib_EU_Npi_highDem;0;Calib_EU_NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2_highDemDEU;;; -Npi_highDem;0;Calib_EU_Npi_highDem;;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Calib_Ariadne_NPi;0;;Ariadne calibration NPI2025 run, differs from standard SSP2 calibration run by some biomass switches (limited biomass potential for Germany/EU, 1st generation biomass phase-out);calibrate;;;;;;;;;;;;;;;;;;DEU 1.1, EU27_regi 7.5;;EU27_regi.pebiolc.worldPricemarkup 10;1;;;;;;;;;;;;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;;;;;;;;;;;;;;;;;;;;;2005;; +NPi;0;Calib_Ariadne_NPi;National Policies implemented;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Calib_Ariadne_Npi_lowDem;0;Calib_Ariadne_NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;NAV_all;;;;SSP2_NAV_all;;; +Npi_lowDem;0;Calib_Ariadne_Npi_lowDem;;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Calib_Ariadne_Npi_highDem;0;Calib_Ariadne_NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2_highDemDEU;;; +Npi_highDem;0;Calib_Ariadne_Npi_highDem;;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; # ____ Standard Scenarios______;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -CurrentPolicies;0;NPi;Current Policies Scenario for Germany including latest credible developments from Fit for 55 and Ampel government;;;;;;;;;;se_trade;2035.2045.FRA.DEU.seel 0.045, 2030.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;;;;2;;high;0;DEU 1.1, EU27_regi 7.5;GLO.(biodiesel 0.15, bioeths 0.15), EUR_regi.(bioigcc 0.05, biotr 0.05, biotrmod 0.05, biochp 0.05, biohp 0.05, biogas 0.05, biogasc 0.05, gash2c 0.05), USA_regi.pc 0.13, REF_regi.pc 0.13, CHA_regi.pc 0.13;EU27_regi.pebiolc.worldPricemarkup 10;1;;EUR_regi, NEU_regi;GLO 15;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;;;;;;;;;;;;;;none;;EU27_regi.(2025 80,2030 105,2035 130,2040 155,2045 180,2050 205,2055 205,2060 205,2070 205,2080 205,2090 205,2100 205,2110 205,2130 205,2150 205);;;;;;;Mix3ICEban ;;;;;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, 2030.2045.ESW.DEU.seh2 0.366, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;2;;high;0;DEU 1.1, EU27_regi 7.5;GLO.(biodiesel 0.15, bioeths 0.15), EUR_regi.(bioigcc 0.05, biotr 0.05, biotrmod 0.05, biochp 0.05, biohp 0.05, biogas 0.05, biogasc 0.05, gash2c 0.05), USA_regi.pc 0.13, REF_regi.pc 0.13, CHA_regi.pc 0.13;EU27_regi.pebiolc.worldPricemarkup 10;1;;;;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;2055;none;;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;GLO 0.003;;Opt;;;Mix4ICEban;;2;;;2025;;NPi +CurrentPolicies;0;NPi;Current Policies Scenario for Germany including latest credible developments from Fit for 55 and Ampel government;;;;;;;;;;se_trade;2035.2045.FRA.DEU.seel 0.045, 2030.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;;;;2;;high;0;DEU 1.1, EU27_regi 7.5;DEU.(biodiesel 0.15, bioeths 0.15);EU27_regi.pebiolc.worldPricemarkup 10;1;;EUR_regi, NEU_regi;GLO 15;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 80,2030 105,2035 130,2040 155,2045 180,2050 205,2055 205,2060 205,2070 205,2080 205,2090 205,2100 205,2110 205,2130 205,2150 205);;;;;;;Mix3ICEban ;;;;;2030;;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, 2030.2045.ESW.DEU.seh2 0.366, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;2;;high;0;DEU 1.1, EU27_regi 7.5;DEU.(biodiesel 0.15, bioeths 0.15);EU27_regi.pebiolc.worldPricemarkup 10;1;;;;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;750;functionalForm;100;2055;;;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;GLO 0.003;;Opt;;;Mix4ICEban;;2;;;2030;;NPi KN2045_Elec_v4;0;KN2045_Bal_v4;Scenario with high electrification, low H2 and synfuel imports;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2030.2045.ESW.DEU.seh2 0.183, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5;;feelhth_otherInd 0.9, feelhth_chemicals 0.43, feh2_otherInd 0.7, 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, 2030.2045.ESW.DEU.seh2 0.732, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;GLO 20;;0.1;;feelhpb 2.3, feelrhb 0.87, fehob 1.75, enhb 0.5;;feelhth_otherInd 1.6, feelhth_chemicals 1.6, feh2_otherInd 0.01, feh2_cement 0.43, 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___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; From e68555dc3c9819f0050955c681b949d38c3d3763 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Mon, 23 Mar 2026 17:53:38 +0100 Subject: [PATCH 02/38] increment CES parameter version for Ariadne --- config/default.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/default.cfg b/config/default.cfg index d430cb581..686b61d9a 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -31,7 +31,7 @@ cfg$extramappings_historic <- "" cfg$inputRevision <- "7.84" #### Current CES parameter and GDX revision (commit hash) #### -cfg$CESandGDXversion <- "fb20462c942811c4bd9b668f7d10126640116ff6" +cfg$CESandGDXversion <- "8394633b72bea48b905a244f6d39fd443bb8a8bf" #### Path to a renv.lock file to restore a project's dependencies from. If NULL, all R packages in their currently installed version will be used. cfg$UseThisRenvLock <- NULL From 5cba9fb803eb354fd08235e14af4ed88438f422b Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Mon, 23 Mar 2026 17:54:06 +0100 Subject: [PATCH 03/38] update ariadne scenario config --- config/scenario_config_21_EU11_ARIADNE.csv | 59 ++++++++++++---------- 1 file changed, 33 insertions(+), 26 deletions(-) diff --git a/config/scenario_config_21_EU11_ARIADNE.csv b/config/scenario_config_21_EU11_ARIADNE.csv index cc84f8aa9..7ab1b4cbe 100755 --- a/config/scenario_config_21_EU11_ARIADNE.csv +++ b/config/scenario_config_21_EU11_ARIADNE.csv @@ -1,26 +1,33 @@ -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_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;techpol;regipol;cm_regiExoPrice;cm_emiMktTarget;cm_emiMktTarget_tolerance;cm_regiExoPrice_fromFile;cm_VREminCap_Ger;cm_NucRegiPol;cm_CoalRegiPol;cm_EDGEtr_scen;cm_emiscen;cm_multigasscen;cm_GDPpopScen;cm_demScen;cm_startyear;path_gdx;path_gdx_ref -# _____Reference Runs_____;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Calib_Ariadne_NPi;0;;Ariadne calibration NPI2025 run, differs from standard SSP2 calibration run by some biomass switches (limited biomass potential for Germany/EU, 1st generation biomass phase-out);calibrate;;;;;;;;;;;;;;;;;;DEU 1.1, EU27_regi 7.5;;EU27_regi.pebiolc.worldPricemarkup 10;1;;;;;;;;;;;;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;;;;;;;;;;;;;;;;;;;;;2005;; -NPi;0;Calib_Ariadne_NPi;National Policies implemented;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Calib_Ariadne_Npi_lowDem;0;Calib_Ariadne_NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;NAV_all;;;;SSP2_NAV_all;;; -Npi_lowDem;0;Calib_Ariadne_Npi_lowDem;;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Calib_Ariadne_Npi_highDem;0;Calib_Ariadne_NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2_highDemDEU;;; -Npi_highDem;0;Calib_Ariadne_Npi_highDem;;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -# ____ Standard Scenarios______;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -CurrentPolicies;0;NPi;Current Policies Scenario for Germany including latest credible developments from Fit for 55 and Ampel government;;;;;;;;;;se_trade;2035.2045.FRA.DEU.seel 0.045, 2030.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;;;;2;;high;0;DEU 1.1, EU27_regi 7.5;DEU.(biodiesel 0.15, bioeths 0.15);EU27_regi.pebiolc.worldPricemarkup 10;1;;EUR_regi, NEU_regi;GLO 15;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 80,2030 105,2035 130,2040 155,2045 180,2050 205,2055 205,2060 205,2070 205,2080 205,2090 205,2100 205,2110 205,2130 205,2150 205);;;;;;;Mix3ICEban ;;;;;2030;;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, 2030.2045.ESW.DEU.seh2 0.366, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;2;;high;0;DEU 1.1, EU27_regi 7.5;DEU.(biodiesel 0.15, bioeths 0.15);EU27_regi.pebiolc.worldPricemarkup 10;1;;;;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;750;functionalForm;100;2055;;;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;GLO 0.003;;Opt;;;Mix4ICEban;;2;;;2030;;NPi -KN2045_Elec_v4;0;KN2045_Bal_v4;Scenario with high electrification, low H2 and synfuel imports;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2030.2045.ESW.DEU.seh2 0.183, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5;;feelhth_otherInd 0.9, feelhth_chemicals 0.43, feh2_otherInd 0.7, 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, 2030.2045.ESW.DEU.seh2 0.732, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;GLO 20;;0.1;;feelhpb 2.3, feelrhb 0.87, fehob 1.75, enhb 0.5;;feelhth_otherInd 1.6, feelhth_chemicals 1.6, feh2_otherInd 0.01, feh2_cement 0.43, 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, feelhth_chemicals 0.43, 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;;KN2045_Bal_v4;;;;NAV_all;;;;SSP2_NAV_all;;;Npi_lowDem -KN2045plus_LowDemand;0;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5, feheb 0.01;;feelhth_otherInd 0.9, feelhth_chemicals 0.43, 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;;;;;;;;;;;;;;;;;off;;KN2045_Bal_v4;;;;NAV_all;;;;SSP2_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;;feelhth_otherInd 1.6, feelhth_chemicals 1.6;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;;;;;;;;;;;;off;;KN2045_Bal_v4;;;;Mix3;;;;SSP2_highDemDEU;;;Npi_highDem -KN2045minus_SupplyFocus;0;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;feelhpb 2.3, feelrhb 0.87, fehob 1.75, enhb 0.5;;feelhth_otherInd 1.6, feelhth_chemicals 1.6;ariadne_highDem;;;;;;;;;;;;;;;;;;;;off;;KN2045_Bal_v4;;;;Mix3;;;;SSP2_highDemDEU;;;Npi_highDem -#_____low-demand/high-demand net-zero scenarios;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -KN2045_EasyRide;0;KN2045plus_EasyRide;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;;off;;;;;;;;;;; -KN2045_LowDemand;0;KN2045plus_LowDemand;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;;off;;;;;;;;;;; -KN2045_WorstCase;0;KN2045minus_WorstCase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;;off;;;;;;;;;;; -KN2045_SupplyFocus;0;KN2045minus_SupplyFocus;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;;off;;;;;;;;;;; -# 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_regi_earlyreti_rate;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_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_regiDiff;techpol;regipol;cm_regiExoPrice;cm_emiMktTarget;cm_emiMktTarget_tolerance;cm_regiExoPrice_fromFile;cm_VREminCap_Ger;cm_NucRegiPol;cm_CoalRegiPol;cm_EDGEtr_scen;cm_emiscen;cm_multigasscen;cm_GDPpopScen;cm_demScen;cm_startyear;path_gdx;path_gdx_ref +# _____Reference Runs_____;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Calib_Ariadne_NPi;0;;Ariadne calibration NPI2025 run, differs from standard SSP2 calibration run by some biomass switches (limited biomass potential for Germany/EU, 1st generation biomass phase-out);calibrate;;;;;;;;;;;;;;;;;;DEU 1.1, EU27_regi 7.5;;;EU27_regi.pebiolc.worldPricemarkup 10;1;;;;;;;;;;;;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;;;;;;;;;;;;;;;;;;;;;;2005;; +NPi;0;Calib_Ariadne_NPi;National Policies implemented;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Calib_Ariadne_Npi_lowDem;0;Calib_Ariadne_NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;NAV_all;;;;SSP2_NAV_all;;; +Npi_lowDem;0;Calib_Ariadne_Npi_lowDem;;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Calib_Ariadne_Npi_highDem;0;Calib_Ariadne_NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2_highDemDEU;;; +Npi_highDem;0;Calib_Ariadne_Npi_highDem;;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +# ____ Standard Scenarios______;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +CurrentPolicies;0;NPi;Current Policies Scenario for Germany including latest credible developments from Fit for 55 and Ampel government;;;;;;;;;;se_trade;2035.2045.FRA.DEU.seel 0.045, 2030.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;;;;2;;high;0;DEU 1.1, EU27_regi 7.5;;DEU.(biodiesel 0.15, bioeths 0.15);EU27_regi.pebiolc.worldPricemarkup 10;1;;EUR_regi, NEU_regi;GLO 15;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 80,2030 105,2035 130,2040 155,2045 180,2050 205,2055 205,2060 205,2070 205,2080 205,2090 205,2100 205,2110 205,2130 205,2150 205);;;;;;;Mix3ICEban ;;;;;2030;;NPi +KN2045_Bal_v4;1;;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, 2030.2045.ESW.DEU.seh2 0.366, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;2;;high;0;DEU 1.1, EU27_regi 7.5;EUR_regi 0.08, USA_regi 0.07, CHA_regi 0.07, CAZ_regi 0.07, JPN_regi 0.07, GLO 0.06;DEU.(biodiesel 0.15, bioeths 0.15);EU27_regi.pebiolc.worldPricemarkup 10;1;DEU -0.4;;;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;750;;100;2055;6;;;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;GLO 0.003;;Opt;;;Mix4ICEban;;2;;;2030;/p/projects/ariadne/remind/Current/output/Bal_Pk750_no2030Tar_2026-03-20_10.46.15/fulldata.gdx;NPi +KN2045_Elec_v4;0;KN2045_Bal_v4;Scenario with high electrification, low H2 and synfuel imports;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2030.2045.ESW.DEU.seh2 0.183, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5;;feelhth_otherInd 0.9, feelhth_chemicals 0.43, feh2_otherInd 0.7, 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, 2030.2045.ESW.DEU.seh2 0.732, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;;GLO 20;;0.1;;feelhpb 2.3, feelrhb 0.87, fehob 1.75, enhb 0.5;;feelhth_otherInd 1.6, feelhth_chemicals 1.6, feh2_otherInd 0.01, feh2_cement 0.43, 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, feelhth_chemicals 0.43, 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;;KN2045_Bal_v4;;;;NAV_all;;;;SSP2_NAV_all;;;Npi_lowDem +KN2045plus_LowDemand;0;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5, feheb 0.01;;feelhth_otherInd 0.9, feelhth_chemicals 0.43, 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;;;;;;;;;;;;;;;;;;off;;KN2045_Bal_v4;;;;NAV_all;;;;SSP2_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;;feelhth_otherInd 1.6, feelhth_chemicals 1.6;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;;;;;;;;;;;;;off;;KN2045_Bal_v4;;;;Mix3;;;;SSP2_highDemDEU;;;Npi_highDem +KN2045minus_SupplyFocus;0;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;feelhpb 2.3, feelrhb 0.87, fehob 1.75, enhb 0.5;;feelhth_otherInd 1.6, feelhth_chemicals 1.6;ariadne_highDem;;;;;;;;;;;;;;;;;;;;;off;;KN2045_Bal_v4;;;;Mix3;;;;SSP2_highDemDEU;;;Npi_highDem +#_____low-demand/high-demand net-zero scenarios;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +KN2045_EasyRide;0;KN2045plus_EasyRide;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;;off;;;;;;;;;;; +KN2045_LowDemand;0;KN2045plus_LowDemand;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;;off;;;;;;;;;;; +KN2045_WorstCase;0;KN2045minus_WorstCase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;;off;;;;;;;;;;; +KN2045_SupplyFocus;0;KN2045minus_SupplyFocus;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;;off;;;;;;;;;;; +# Tests;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Bal_Pk750;0;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;750;;100;2055;6;;;;;;;;;;;;;;;;; +Bal_Pk750_defConfigSwitches;0;;;;;;;;;;;;;;;;;;;;;;EUR_regi 0.08, USA_regi 0.07, CHA_regi 0.07, CAZ_regi 0.07, JPN_regi 0.07, GLO 0.06;;;1;;;;;;;;;;;;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;750;functionalForm;100;2055;6;;;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;GLO 0.003;;;;;Mix4ICEban;;2;;;2030;/p/projects/ariadne/remind/Current/output/KN2045_Bal_v4_2026-03-09_16.56.08/fulldata.gdx;NPi +Bal_Pk750_noGerTar;0;Bal_Pk750;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;off;;;;;;;;;;;;; +Bal_Pk750_start2025;0;Bal_Pk750;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;; +Bal_Pk1000_noGerTar;0;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;off;;;;;;;;;;;;; +Bal_Pk750_Tar100Mt;0;Bal_Pk750;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.1;;;;;;;;;;;;; +Bal_Pk750_no2030Tar;1;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;;;;;;;;;;;;; From ccc77579ce5c96422a909eeddcd3ad212d84f76c Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Fri, 27 Mar 2026 22:17:58 +0100 Subject: [PATCH 04/38] add bounds to fix renewable capacities to historic data in Germany for 2025 --- modules/47_regipol/regiCarbonPrice/bounds.gms | 33 +++++++++++++------ .../regiCarbonPrice/declarations.gms | 1 + 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/modules/47_regipol/regiCarbonPrice/bounds.gms b/modules/47_regipol/regiCarbonPrice/bounds.gms index bd7f61538..22d9521db 100644 --- a/modules/47_regipol/regiCarbonPrice/bounds.gms +++ b/modules/47_regipol/regiCarbonPrice/bounds.gms @@ -21,18 +21,31 @@ *' ####### Power Sector $ifThen.tech_bounds_2025 "%cm_tech_bounds_2025%" == "on" -*' Set bounds for renewable power capacity in 2025 based on recent and historic growth rates -*' 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 +*' Set 2025 bounds for power capacity based on latest data from Frauenhofer ISE +*' https://energy-charts.info/?l=en&c=DE +*' For large-scale heat pumps: https://www.ewi.uni-koeln.de/de/aktuelles/grosswaermepumpen-markthochlauf-und-kosten-in-deutschland/ + + + loop(regi$(sameAs(regi,"DEU")), - 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")); +*' solar PV + p47_histCap("2020",regi,"spv")=51; + p47_histCap("2025",regi,"spv")=107; +*' onshore wind + p47_histCap("2020",regi,"windon")=54; + p47_histCap("2025",regi,"windon")=68; +*' offshore wind + p47_histCap("2020",regi,"windoff")=7.8; + p47_histCap("2025",regi,"windoff")=10; +*' large-scale heat pumps for district heating + p47_histCap("2025",regi,"geohe")=0.2; +); -*' 2025 lower bounds for VRE capacities based on installed capacity by 2024 and recent yearly growth rates - vm_cap.lo("2025",regi,"spv","1")=0.096+0.014; - vm_cap.lo("2025",regi,"windon","1")=0.062+0.003; - vm_cap.lo("2025",regi,"windoff","1")=0.009+0.001; +*' Set bounds on historical capacity for non-zero entries of p47_histCap, +*' 10% flexibility for model to deviate from historical data +loop((ttot,regi,te)$(p47_histCap(ttot,regi,te)), + vm_cap.lo(ttot,regi,te,"1") = 0.9 * p47_histCap(ttot,regi,te) * 0.001; !! convert from GW to TW + vm_cap.up(ttot,regi,te,"1") = 1.1 * p47_histCap(ttot,regi,te) * 0.001; !! convert from GW to TW ); $endIf.tech_bounds_2025 diff --git a/modules/47_regipol/regiCarbonPrice/declarations.gms b/modules/47_regipol/regiCarbonPrice/declarations.gms index 7480920a6..1e45f2514 100644 --- a/modules/47_regipol/regiCarbonPrice/declarations.gms +++ b/modules/47_regipol/regiCarbonPrice/declarations.gms @@ -17,6 +17,7 @@ Parameter pm_emiMktTarget_dev(ttot,ttot2,ext_regi,emiMktExt) "deviation of emissions of current iteration from target emissions, for budget target this is the difference normalized by target emissions, while for year targets this is the difference normalized by 2005 emissions [%]" pm_taxemiMkt(ttot,all_regi,all_emiMkt) "CO2 tax path per region and emissions market [T$/GtC]" pm_taxemiMkt_iteration(iteration,ttot,all_regi,all_emiMkt) "CO2 tax path per region and emissions market calculated from previous iteration [T$/GtC]" + p47_histCap(ttot,all_regi,all_te) "historical capacity per technology and region, used for setting bounds [GW]" ; *** parameters to track regipol emissions calculation From 16995299f8453ccfae499fd7e921e03c83323c80 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Fri, 27 Mar 2026 22:20:00 +0100 Subject: [PATCH 05/38] add bounds to define plausible corridor of renewable capacity additions in 2030; overwrite settings of cm_VREminCap_Ger switch used before --- modules/47_regipol/regiCarbonPrice/bounds.gms | 33 +++++++++++-------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/modules/47_regipol/regiCarbonPrice/bounds.gms b/modules/47_regipol/regiCarbonPrice/bounds.gms index 22d9521db..1cb9e2fad 100644 --- a/modules/47_regipol/regiCarbonPrice/bounds.gms +++ b/modules/47_regipol/regiCarbonPrice/bounds.gms @@ -49,19 +49,26 @@ loop((ttot,regi,te)$(p47_histCap(ttot,regi,te)), ); $endIf.tech_bounds_2025 -*' make assumptions on minimum renewable power and heat pump growth for Germany between 2025 and 2030 and distinguish two different scenarios ("Current Policies" and "Optimistic") -$ifthen.cm_VREminCap_Ger "%cm_VREminCap_Ger%" == "CurrPol" - vm_deltaCap.lo("2030",regi,"windon","1")$(sameAs(regi,"DEU")) = 6/1000; - vm_deltaCap.lo("2030",regi,"windoff","1")$(sameAs(regi,"DEU")) = 2/1000; - vm_cap.lo("2030",regi,"geohe","1")$(sameAs(regi,"DEU")) = 7/1000; -$endIf.cm_VREminCap_Ger - -$ifthen.cm_VREminCap_Ger "%cm_VREminCap_Ger%" == "Opt" - vm_deltaCap.lo("2030",regi,"windon","1")$(sameAs(regi,"DEU")) = 7.5/1000; - vm_deltaCap.lo("2030",regi,"windoff","1")$(sameAs(regi,"DEU")) = 3/1000; - vm_cap.lo("2030",regi,"geohe","1")$(sameAs(regi,"DEU")) = 7/1000; -$endIf.cm_VREminCap_Ger - +*' define plausible corridor for renewable power and heat pump growth for Germany between 2025 and 2030 + +*' offshore wind near-term capacity additions based on recent project pipeline +*' https://www.wind-energie.de/fileadmin/redaktion/dokumente/pressemitteilungen/2026/Status_des_Offshore-Windenergieausbaus_Jahr_2025.pdf +vm_deltaCap.lo("2030",regi,"windoff","1")$(sameAs(regi,"DEU")) = 2/1000; +vm_deltaCap.up("2030",regi,"windoff","1")$(sameAs(regi,"DEU")) = 4/1000; + +*' onshore wind near-term capacity additions based on recent trends and planned auction volumes +*' https://www.fachagentur-wind-solar.de/fileadmin/Veroeffentlichungen/Wind/Daten/FA_Wind_Solar_Status_des_Windenergieausbaus_an_Land_Halbjahr_2025.pdf, p. 22 +vm_deltaCap.lo("2030",regi,"windon","1")$(sameAs(regi,"DEU")) = 6/1000; +vm_deltaCap.up("2030",regi,"windon","1")$(sameAs(regi,"DEU")) = 12/1000; + +*' solar PV near-term capacity additions based on recent trends and planned auction volumes +*' https://www.sfv.de/medien/artikel/habecks-osterpaket/ausschreibungsmengen' +vm_deltaCap.lo("2030",regi,"spv","1")$(sameAs(regi,"DEU")) = 10/1000; !! current annual additions +vm_deltaCap.up("2030",regi,"spv","1")$(sameAs(regi,"DEU")) = 20/1000; !! planned annual additions to be reached from 2030 via EEG + +*' large-scale heat pumps near-term capacity additions +*' https://www.ewi.uni-koeln.de/de/aktuelles/grosswaermepumpen-markthochlauf-und-kosten-in-deutschland/ +vm_deltaCap.up("2030",regi,"geohe","1")$(sameAs(regi,"DEU")) = 0.5/1000; !! 500 MW/yr would be really ambitious already *' 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 From 7dab7e3136e2cb7dd541abe9387f8e85778890e7 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Fri, 27 Mar 2026 22:21:15 +0100 Subject: [PATCH 06/38] extend limits on coal power early retirement in Germany to 2030 --- modules/47_regipol/regiCarbonPrice/bounds.gms | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/47_regipol/regiCarbonPrice/bounds.gms b/modules/47_regipol/regiCarbonPrice/bounds.gms index 1cb9e2fad..efd3a74cf 100644 --- a/modules/47_regipol/regiCarbonPrice/bounds.gms +++ b/modules/47_regipol/regiCarbonPrice/bounds.gms @@ -79,8 +79,9 @@ $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; -*' This limits early retirement of coal power in Germany in 2020s to avoid extremly fast phase-out. +*' This limits early retirement of coal power in Germany in near-term to avoid extremly fast phase-out. vm_capEarlyReti.up('2025',regi,'pc')$(sameAs(regi,"DEU")) = 0.65; +vm_capEarlyReti.up('2030',regi,'pc')$(sameAs(regi,"DEU")) = 0.8; *' This aligns 2020 chp capcities for Germany with historic data (AGEB) From 0d1b55bdbb66f42289c46ca307f4e7f4a5631c4f Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Fri, 27 Mar 2026 22:22:13 +0100 Subject: [PATCH 07/38] add adjustment cost for direct iron reduction technology --- core/datainput.gms | 2 ++ core/sets.gms | 1 + 2 files changed, 3 insertions(+) diff --git a/core/datainput.gms b/core/datainput.gms index 367be8547..2187d9eeb 100644 --- a/core/datainput.gms +++ b/core/datainput.gms @@ -1257,6 +1257,7 @@ $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" *** steel technologies p_adj_seed_te(ttot,regi,"bfcc") = 0.05; p_adj_seed_te(ttot,regi,"idrcc") = 0.05; + p_adj_seed_te(ttot,regi,"idr") = 0.05; $endif.cm_subsec_model_steel *RP: for comparison of different technologies: @@ -1311,6 +1312,7 @@ $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" *** steel technologies p_adj_coeff(ttot,regi,"bfcc") = 1.0; p_adj_coeff(ttot,regi,"idrcc") = 1.0; + p_adj_coeff(ttot,regi,"idr") = 1.0; $endif.cm_subsec_model_steel ); diff --git a/core/sets.gms b/core/sets.gms index 160d4df7c..cfe062518 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -1255,6 +1255,7 @@ teAdj(all_te) "technologies with adjustment costs on capacity addition $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" bfcc "Blast furnace CCS" idrcc "Direct reduction CCS" + idr "Iron direct reduction" $endif.cm_subsec_model_steel / From e17fe2b8b75110580eab295d45f02647a7328a4b Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Fri, 27 Mar 2026 22:23:03 +0100 Subject: [PATCH 08/38] update ariadne scenario config --- config/scenario_config_21_EU11_ARIADNE.csv | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/config/scenario_config_21_EU11_ARIADNE.csv b/config/scenario_config_21_EU11_ARIADNE.csv index 7ab1b4cbe..c586669a5 100755 --- a/config/scenario_config_21_EU11_ARIADNE.csv +++ b/config/scenario_config_21_EU11_ARIADNE.csv @@ -8,7 +8,7 @@ Calib_Ariadne_Npi_highDem;0;Calib_Ariadne_NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Npi_highDem;0;Calib_Ariadne_Npi_highDem;;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; # ____ Standard Scenarios______;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; CurrentPolicies;0;NPi;Current Policies Scenario for Germany including latest credible developments from Fit for 55 and Ampel government;;;;;;;;;;se_trade;2035.2045.FRA.DEU.seel 0.045, 2030.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;;;;2;;high;0;DEU 1.1, EU27_regi 7.5;;DEU.(biodiesel 0.15, bioeths 0.15);EU27_regi.pebiolc.worldPricemarkup 10;1;;EUR_regi, NEU_regi;GLO 15;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 80,2030 105,2035 130,2040 155,2045 180,2050 205,2055 205,2060 205,2070 205,2080 205,2090 205,2100 205,2110 205,2130 205,2150 205);;;;;;;Mix3ICEban ;;;;;2030;;NPi -KN2045_Bal_v4;1;;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, 2030.2045.ESW.DEU.seh2 0.366, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;2;;high;0;DEU 1.1, EU27_regi 7.5;EUR_regi 0.08, USA_regi 0.07, CHA_regi 0.07, CAZ_regi 0.07, JPN_regi 0.07, GLO 0.06;DEU.(biodiesel 0.15, bioeths 0.15);EU27_regi.pebiolc.worldPricemarkup 10;1;DEU -0.4;;;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;750;;100;2055;6;;;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;GLO 0.003;;Opt;;;Mix4ICEban;;2;;;2030;/p/projects/ariadne/remind/Current/output/Bal_Pk750_no2030Tar_2026-03-20_10.46.15/fulldata.gdx;NPi +KN2045_Bal_v4;0;;Standard Ariadne scenario with GHG neutrality goal in 2045 for Germany;;;;;;;;;globallyOptimal;se_trade;2035.2045.FRA.DEU.seel 0.183, 2030.2045.ESW.DEU.seh2 0.366, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;2;;high;0;DEU 1.1, EU27_regi 7.5;EUR_regi 0.08, USA_regi 0.07, CHA_regi 0.07, CAZ_regi 0.07, JPN_regi 0.07, GLO 0.06;DEU.(biodiesel 0.15, bioeths 0.15);EU27_regi.pebiolc.worldPricemarkup 10;1;DEU -0.5;;;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;750;functionalForm;100;2055;6;;;;2030.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;GLO 0.003;;Opt;;;Mix4ICEban;;2;;;2030;/p/projects/ariadne/remind/Current/output/Bal_Pk750_no2030Tar_2026-03-20_10.46.15/fulldata.gdx;NPi KN2045_Elec_v4;0;KN2045_Bal_v4;Scenario with high electrification, low H2 and synfuel imports;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2030.2045.ESW.DEU.seh2 0.183, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5;;feelhth_otherInd 0.9, feelhth_chemicals 0.43, feh2_otherInd 0.7, 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, 2030.2045.ESW.DEU.seh2 0.732, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;;GLO 20;;0.1;;feelhpb 2.3, feelrhb 0.87, fehob 1.75, enhb 0.5;;feelhth_otherInd 1.6, feelhth_chemicals 1.6, feh2_otherInd 0.01, feh2_cement 0.43, 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___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -24,10 +24,5 @@ KN2045_LowDemand;0;KN2045plus_LowDemand;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; KN2045_WorstCase;0;KN2045minus_WorstCase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;;off;;;;;;;;;;; KN2045_SupplyFocus;0;KN2045minus_SupplyFocus;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;;off;;;;;;;;;;; # Tests;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Bal_Pk750;0;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;750;;100;2055;6;;;;;;;;;;;;;;;;; -Bal_Pk750_defConfigSwitches;0;;;;;;;;;;;;;;;;;;;;;;EUR_regi 0.08, USA_regi 0.07, CHA_regi 0.07, CAZ_regi 0.07, JPN_regi 0.07, GLO 0.06;;;1;;;;;;;;;;;;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;rcp20;9;750;functionalForm;100;2055;6;;;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;GLO 0.003;;;;;Mix4ICEban;;2;;;2030;/p/projects/ariadne/remind/Current/output/KN2045_Bal_v4_2026-03-09_16.56.08/fulldata.gdx;NPi -Bal_Pk750_noGerTar;0;Bal_Pk750;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;off;;;;;;;;;;;;; -Bal_Pk750_start2025;0;Bal_Pk750;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2025;; -Bal_Pk1000_noGerTar;0;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;off;;;;;;;;;;;;; -Bal_Pk750_Tar100Mt;0;Bal_Pk750;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.1;;;;;;;;;;;;; -Bal_Pk750_no2030Tar;1;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2030.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;;;;;;;;;;;;; +Npi_5Adj;0;NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;(spv, windon, windoff, geohe) 5;(spv, windon, windoff, geohe) 0.2;;;;;;;;;;;;;;;;;;;;;;;;;; +Bal_2Adj;0;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;(spv, windon, windoff, geohe) 2;(spv, windon, windoff, geohe) 0.5;;;;;;;;;;;;;;;;;;;;;;;;;;Npi_2Adj From ae06ec4329cf2b732fb4ecc979a807c7355be7e8 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Fri, 27 Mar 2026 22:24:04 +0100 Subject: [PATCH 09/38] change cm_CES_configuration default such that gamscompile also works for EU21 runs --- main.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.gms b/main.gms index dc92774af..eea0ebba0 100755 --- a/main.gms +++ b/main.gms @@ -2086,7 +2086,7 @@ $setGlobal cm_APssp FROMGDPSSP !! def = FROMGDPSSP !! regexp = SSP1|SS *' (SMIPbySSP): ScenarioMIP default scenario (differentiated by SSP, available for SSP1, SSP2, SSP3 and SSP5) *' (SMIPVLLO): ScenarioMIP VLLO scenario (not differentiated by SSP) $setGlobal cm_APscen SMIPbySSP !! def = SMIPbySSP !! regexp = CLE|SLE|MTFR|SMIPbySSP|SMIPVLLO -$setglobal cm_CES_configuration indu_subsectors-buil_simple-tran_edge_esm-GDPpop_SSP2-En_SSP2-Kap_debt_limit-Reg_62eff8f7 !! this will be changed by start_run() +$setglobal cm_CES_configuration indu_subsectors-buil_simple-tran_edge_esm-GDPpop_SSP2-En_SSP2-Kap_debt_limit-Reg_2b1450bc !! this will be changed by start_run() $setglobal c_CES_calibration_iterations 10 !! def = 10 $setglobal c_CES_calibration_industry_FE_target 1 *' setting which region is to be tested in the one-region test run (80_optimization = testOneRegi) From 818ff83f84a7d8d2495bee3ed99dc202304b2d12 Mon Sep 17 00:00:00 2001 From: clarabachorz Date: Fri, 27 Mar 2026 11:08:12 +0100 Subject: [PATCH 10/38] remove implicit early retirement in steel --- modules/37_industry/subsectors/declarations.gms | 1 + modules/37_industry/subsectors/equations.gms | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/modules/37_industry/subsectors/declarations.gms b/modules/37_industry/subsectors/declarations.gms index b55f1e78f..8b541f0a8 100644 --- a/modules/37_industry/subsectors/declarations.gms +++ b/modules/37_industry/subsectors/declarations.gms @@ -155,6 +155,7 @@ $endif.no_calibration 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,mat,all_in) "Connect materials production to ue ces tree nodes" + q37_limitCapMatHist(tall,all_regi,all_te) "Material-flow conversion is limited by capacities (historical)" 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 26d4b68f4..dcceb75d6 100644 --- a/modules/37_industry/subsectors/equations.gms +++ b/modules/37_industry/subsectors/equations.gms @@ -464,9 +464,9 @@ q37_mat2ue(t,regi,mat,in)$( ppfUePrc(in) ) .. ; ***------------------------------------------------------ -*' Definition of capacity constraints +*' Definition of capacity constraints (historical and current) ***------------------------------------------------------ -q37_limitCapMat(t,regi,tePrc) .. +q37_limitCapMatHist(t,regi,tePrc)$(t.val le 2020) .. sum(tePrc2opmoPrc(tePrc,opmoPrc), vm_outflowPrc(t,regi,tePrc,opmoPrc) ) @@ -477,6 +477,17 @@ q37_limitCapMat(t,regi,tePrc) .. ) ; +q37_limitCapMat(t,regi,tePrc)$(t.val gt 2020) .. + sum(tePrc2opmoPrc(tePrc,opmoPrc), + vm_outflowPrc(t,regi,tePrc,opmoPrc) + ) + =e= + sum(teMat2rlf(tePrc,rlf), + vm_capFac(t,regi,tePrc) + * vm_cap(t,regi,tePrc,rlf) + ) +; + ***------------------------------------------------------ *' Emission from process based industry sector (pre CC) ***------------------------------------------------------ From d5e979df0af14a2ea548ed7a398b03e0e610fd7f Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Mon, 30 Mar 2026 10:56:05 +0200 Subject: [PATCH 11/38] fix description of cm_wasteIncinerationCCSshare --- main.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.gms b/main.gms index eea0ebba0..16ed10635 100755 --- a/main.gms +++ b/main.gms @@ -1947,7 +1947,7 @@ $setglobal cm_budgetCO2from2020RegiShare off !! def = off $setglobal cm_ind_energy_limit default !! def = default !! regexp = default|manual $setglobal cm_ind_energy_limit_manual "2050 . GLO . (ue_cement, ue_steel_primary, ue_steel_secondary) 0.75, 2100 . GLO . (ue_chemicals, ue_otherInd) 0.90" -*** cm_wasteIncinerationCCSshare, proportion of waste incineration emissions that is captured and geologically stored at a given year and region +*** cm_wasteIncinerationCCSshare, proportion of waste incineration emissions that is captured at a given year and region *** off: means that all plastics incineration emissions in the World goes back to the atmosphere. *** 2050.GLO 0.5, 2050.EUR 0.8: means that 50% of waste incineration emissions are captured for all regions from 2050 onward, except for Europe that has 80% of its waste incineration emissions captured. *** The CCS share of waste incineration increases linearly from zero, in 2025, to the value set at the switch, and it is kept constant for years afterwards. From bb7038c25cc12a751f1fdef72ebd91dd115a923e Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Mon, 30 Mar 2026 10:56:52 +0200 Subject: [PATCH 12/38] restrict gas power early retirement in Germany in the near-term --- modules/47_regipol/regiCarbonPrice/bounds.gms | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules/47_regipol/regiCarbonPrice/bounds.gms b/modules/47_regipol/regiCarbonPrice/bounds.gms index efd3a74cf..3fa7ed522 100644 --- a/modules/47_regipol/regiCarbonPrice/bounds.gms +++ b/modules/47_regipol/regiCarbonPrice/bounds.gms @@ -77,6 +77,13 @@ $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 +*' disallow early retirement of gas power plants in Germany before 2040 since Germany is planning to keep / increase gas power capacities in the near-term +*' https://www.bundeswirtschaftsministerium.de/Redaktion/DE/Pressemitteilungen/2026/01/20260115-grundsatzeinigung-mit-europaeischen-kommission-ueber-eckpunkte-der-kraftwerksstrategie.html +*' Note: some early retirement needs to be allowed for ngcc to fullfill the 2020 gas generation bound above, +*' clean solution would probably fix capacities and capacities factors correctly before 2020 +vm_capEarlyReti.up(t,regi,'ngcc') $ ( t.val lt 2040 AND sameAs(regi,"DEU") ) = 0.4; +vm_capEarlyReti.up(t,regi,'ngt') $ ( t.val lt 2040 AND sameAs(regi,"DEU") ) = 0.01; + *' 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 near-term to avoid extremly fast phase-out. From a93697a2b6994ba4061ff6c3cd1391cda2283264 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Mon, 30 Mar 2026 10:57:43 +0200 Subject: [PATCH 13/38] update Ariadne scenario config with new settings for cm_wasteIncinerationCCSshare --- config/scenario_config_21_EU11_ARIADNE.csv | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/scenario_config_21_EU11_ARIADNE.csv b/config/scenario_config_21_EU11_ARIADNE.csv index c586669a5..3e8ffb5fb 100755 --- a/config/scenario_config_21_EU11_ARIADNE.csv +++ b/config/scenario_config_21_EU11_ARIADNE.csv @@ -7,8 +7,8 @@ Npi_lowDem;0;Calib_Ariadne_Npi_lowDem;;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Calib_Ariadne_Npi_highDem;0;Calib_Ariadne_NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2_highDemDEU;;; Npi_highDem;0;Calib_Ariadne_Npi_highDem;;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; # ____ Standard Scenarios______;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -CurrentPolicies;0;NPi;Current Policies Scenario for Germany including latest credible developments from Fit for 55 and Ampel government;;;;;;;;;;se_trade;2035.2045.FRA.DEU.seel 0.045, 2030.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;;;;2;;high;0;DEU 1.1, EU27_regi 7.5;;DEU.(biodiesel 0.15, bioeths 0.15);EU27_regi.pebiolc.worldPricemarkup 10;1;;EUR_regi, NEU_regi;GLO 15;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 80,2030 105,2035 130,2040 155,2045 180,2050 205,2055 205,2060 205,2070 205,2080 205,2090 205,2100 205,2110 205,2130 205,2150 205);;;;;;;Mix3ICEban ;;;;;2030;;NPi -KN2045_Bal_v4;0;;Standard Ariadne scenario with GHG neutrality goal in 2045 for Germany;;;;;;;;;globallyOptimal;se_trade;2035.2045.FRA.DEU.seel 0.183, 2030.2045.ESW.DEU.seh2 0.366, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;2;;high;0;DEU 1.1, EU27_regi 7.5;EUR_regi 0.08, USA_regi 0.07, CHA_regi 0.07, CAZ_regi 0.07, JPN_regi 0.07, GLO 0.06;DEU.(biodiesel 0.15, bioeths 0.15);EU27_regi.pebiolc.worldPricemarkup 10;1;DEU -0.5;;;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;750;functionalForm;100;2055;6;;;;2030.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;GLO 0.003;;Opt;;;Mix4ICEban;;2;;;2030;/p/projects/ariadne/remind/Current/output/Bal_Pk750_no2030Tar_2026-03-20_10.46.15/fulldata.gdx;NPi +CurrentPolicies;0;NPi;Current Policies Scenario for Germany including latest credible developments from Fit for 55 and Ampel government;;;;;;;;;;se_trade;2035.2045.FRA.DEU.seel 0.045, 2030.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;;;;2;;high;0;DEU 1.1, EU27_regi 7.5;;DEU.(biodiesel 0.15, bioeths 0.15);EU27_regi.pebiolc.worldPricemarkup 10;1;;EUR_regi, NEU_regi;GLO 15;off;;;fehob 1.75, enhb 0.5;;;ariadne_bal;2050.DEU 0.65;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 80,2030 105,2035 130,2040 155,2045 180,2050 205,2055 205,2060 205,2070 205,2080 205,2090 205,2100 205,2110 205,2130 205,2150 205);;;;;;;Mix3ICEban ;;;;;2030;;NPi +KN2045_Bal_v4;0;;Standard Ariadne scenario with GHG neutrality goal in 2045 for Germany;;;;;;;;;globallyOptimal;se_trade;2035.2045.FRA.DEU.seel 0.183, 2030.2045.ESW.DEU.seh2 0.366, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;2;;high;0;DEU 1.1, EU27_regi 7.5;EUR_regi 0.08, USA_regi 0.07, CHA_regi 0.07, CAZ_regi 0.07, JPN_regi 0.07, GLO 0.06;DEU.(biodiesel 0.15, bioeths 0.15);EU27_regi.pebiolc.worldPricemarkup 10;1;DEU -0.45;;;off;;;fehob 1.75, enhb 0.5;manual;feelhth_otherInd 1.3;ariadne_bal;2050.GLO 0.9, 2040.DEU 0.9;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;750;functionalForm;100;2055;6;;;;2030.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;GLO 0.003;;Opt;;;Mix4ICEban;;2;;;2030;/p/projects/ariadne/remind/Current/output/Bal_Pk750_no2030Tar_2026-03-20_10.46.15/fulldata.gdx;NPi KN2045_Elec_v4;0;KN2045_Bal_v4;Scenario with high electrification, low H2 and synfuel imports;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2030.2045.ESW.DEU.seh2 0.183, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5;;feelhth_otherInd 0.9, feelhth_chemicals 0.43, feh2_otherInd 0.7, 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, 2030.2045.ESW.DEU.seh2 0.732, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;;GLO 20;;0.1;;feelhpb 2.3, feelrhb 0.87, fehob 1.75, enhb 0.5;;feelhth_otherInd 1.6, feelhth_chemicals 1.6, feh2_otherInd 0.01, feh2_cement 0.43, 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___;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; From 441fd4c359596153f9ec6ddfb0bdefc4c0781d18 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Wed, 1 Apr 2026 10:29:12 +0200 Subject: [PATCH 14/38] increment CES parameter hash --- config/default.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/default.cfg b/config/default.cfg index ca3beb4c3..b200e0d1d 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -31,7 +31,7 @@ cfg$extramappings_historic <- "" cfg$inputRevision <- "7.88" #### Current CES parameter and GDX revision (commit hash) #### -cfg$CESandGDXversion <- "a12b6355e0ac96081f79504465c61e68fd14ed48" +cfg$CESandGDXversion <- "75a97755339e5f23dd463f1a6d27b98b0cddc279" #### Path to a renv.lock file to restore a project's dependencies from. If NULL, all R packages in their currently installed version will be used. cfg$UseThisRenvLock <- NULL From 07b7294025f04a8900d11127b97638601da9a472 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Thu, 2 Apr 2026 15:14:34 +0200 Subject: [PATCH 15/38] fix chemicals and other industry production to trend given by FORECAST trajectories if cm_exogDem_scen = ariadne_bal is chosen --- .../47_regipol/regiCarbonPrice/datainput.gms | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/modules/47_regipol/regiCarbonPrice/datainput.gms b/modules/47_regipol/regiCarbonPrice/datainput.gms index 358d7f883..666b8957e 100644 --- a/modules/47_regipol/regiCarbonPrice/datainput.gms +++ b/modules/47_regipol/regiCarbonPrice/datainput.gms @@ -308,6 +308,32 @@ $include "./modules/47_regipol/regiCarbonPrice/input/p47_exogDemScen.cs4r" $offdelim /; +*' adapt Ariadne industry production trajectories to the relative trajectory from FORECAST +*' (absolute values are different because of different sectoral scopes) +*' to be done in mrremind cleanly once FORECAST has its updated data in the Ariadne DB +*' fix to calibration trajectories before cm_staryear, the switch is only used in policy runs +loop( regi$sameAs(regi,"DEU"), +*' chemicals production + pm_exogDemScen(t,regi,"ariadne_bal","ue_chemicals") $ ( t.val lt cm_startyear ) = pm_cesdata(t,regi,"ue_chemicals","quantity"); + pm_exogDemScen("2030",regi,"ariadne_bal","ue_chemicals") = pm_cesdata("2020",regi,"ue_chemicals","quantity") * 0.94; + pm_exogDemScen("2035",regi,"ariadne_bal","ue_chemicals") = pm_cesdata("2020",regi,"ue_chemicals","quantity") * 0.95; + pm_exogDemScen("2040",regi,"ariadne_bal","ue_chemicals") = pm_cesdata("2020",regi,"ue_chemicals","quantity") * 0.97; + pm_exogDemScen("2045",regi,"ariadne_bal","ue_chemicals") = pm_cesdata("2020",regi,"ue_chemicals","quantity") * 0.98; +*' constant production after 2050 + pm_exogDemScen(t ,regi,"ariadne_bal","ue_chemicals") $ ( t.val ge 2050 ) = pm_cesdata("2020",regi,"ue_chemicals","quantity"); + +*' other industry production + pm_exogDemScen(t,regi,"ariadne_bal","ue_otherInd") $ ( t.val lt cm_startyear ) = pm_cesdata(t,regi,"ue_otherInd","quantity"); + pm_exogDemScen("2030",regi,"ariadne_bal","ue_otherInd") = pm_cesdata("2020",regi,"ue_otherInd","quantity"); + pm_exogDemScen("2035",regi,"ariadne_bal","ue_otherInd") = pm_cesdata("2020",regi,"ue_otherInd","quantity") * 1.03; + pm_exogDemScen("2040",regi,"ariadne_bal","ue_otherInd") = pm_cesdata("2020",regi,"ue_otherInd","quantity") * 1.05; + pm_exogDemScen("2045",regi,"ariadne_bal","ue_otherInd") = pm_cesdata("2020",regi,"ue_otherInd","quantity") * 1.08; +*' constant production after 2050 + pm_exogDemScen(t ,regi,"ariadne_bal","ue_otherInd") $ ( t.val ge 2050 ) = pm_cesdata("2020",regi,"ue_otherInd","quantity") * 1.1; +); + + + $endif.exogDemScen From c7861fa380e408dfde3081e7928cbc4496e85ac0 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Thu, 2 Apr 2026 15:16:05 +0200 Subject: [PATCH 16/38] correct description of cm_bioprod_regi_lim switch --- modules/30_biomass/magpie/bounds.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/30_biomass/magpie/bounds.gms b/modules/30_biomass/magpie/bounds.gms index 96c47e8fd..f7722e850 100644 --- a/modules/30_biomass/magpie/bounds.gms +++ b/modules/30_biomass/magpie/bounds.gms @@ -176,7 +176,7 @@ if (cm_phaseoutBiolc eq 1, *' @stop -*** FS: limit biomass domestic production from 2035 onwards to regional upper value defined by cm_bioprod_regi_lim +*' If cm_bioprod_regi_lim switch used, limit biomass domestic production to regional upper value $IFTHEN.bioprod_regi_lim not "%cm_bioprod_regi_lim%" == "off" loop( ext_regi$(p30_bioprod_regi_lim(ext_regi)), loop(regi$regi_groupExt(ext_regi,regi), From 2283b2ff641250909dc277a326cf416a466088a7 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Thu, 2 Apr 2026 15:16:29 +0200 Subject: [PATCH 17/38] switch off biomass imports in Germany from 2025 on --- modules/30_biomass/magpie/bounds.gms | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/30_biomass/magpie/bounds.gms b/modules/30_biomass/magpie/bounds.gms index f7722e850..03fb7f5d9 100644 --- a/modules/30_biomass/magpie/bounds.gms +++ b/modules/30_biomass/magpie/bounds.gms @@ -189,4 +189,10 @@ loop( ext_regi$(p30_bioprod_regi_lim(ext_regi)), ); $ENDIF.bioprod_regi_lim +*' forbid biomass imports for Germany from 2025 +*' allow before to not cause infeasibilities with initial bioenergy technology capacities in model +vm_Mport.up(t,regi,"pebiolc")$( t.val ge 2025 AND sameas(regi,"DEU") ) = 0; + + + *** EOF ./modules/30_biomass/magpie/bounds.gms From bd27a4d20a7ad0ae23c12037538cea7c04e1a849 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Thu, 2 Apr 2026 15:19:15 +0200 Subject: [PATCH 18/38] allow early retirement for biotrmod; necessary for reaching to be compatible with bioenergy supply in Germany in 2030 without imports; probably the initial capacity of biotrmod in 2005 needs to be checked --- core/sets.gms | 1 + 1 file changed, 1 insertion(+) diff --git a/core/sets.gms b/core/sets.gms index d30060266..8738086fa 100755 --- a/core/sets.gms +++ b/core/sets.gms @@ -1256,6 +1256,7 @@ teEarlyReti(all_te) "technologies for which early retirement of existing capa biochp biohp bioigcc + biotrmod tnrs / From c8b71a09ea2a7f974bf3ab2843e87449a02154f1 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Thu, 2 Apr 2026 15:19:39 +0200 Subject: [PATCH 19/38] update ariadne scenario config --- config/scenario_config_21_EU11_ARIADNE.csv | 57 +++++++++++----------- 1 file changed, 29 insertions(+), 28 deletions(-) diff --git a/config/scenario_config_21_EU11_ARIADNE.csv b/config/scenario_config_21_EU11_ARIADNE.csv index 3e8ffb5fb..6fe052695 100644 --- a/config/scenario_config_21_EU11_ARIADNE.csv +++ b/config/scenario_config_21_EU11_ARIADNE.csv @@ -1,28 +1,29 @@ -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_regi_earlyreti_rate;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_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_regiDiff;techpol;regipol;cm_regiExoPrice;cm_emiMktTarget;cm_emiMktTarget_tolerance;cm_regiExoPrice_fromFile;cm_VREminCap_Ger;cm_NucRegiPol;cm_CoalRegiPol;cm_EDGEtr_scen;cm_emiscen;cm_multigasscen;cm_GDPpopScen;cm_demScen;cm_startyear;path_gdx;path_gdx_ref -# _____Reference Runs_____;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Calib_Ariadne_NPi;0;;Ariadne calibration NPI2025 run, differs from standard SSP2 calibration run by some biomass switches (limited biomass potential for Germany/EU, 1st generation biomass phase-out);calibrate;;;;;;;;;;;;;;;;;;DEU 1.1, EU27_regi 7.5;;;EU27_regi.pebiolc.worldPricemarkup 10;1;;;;;;;;;;;;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;;;;;;;;;;;;;;;;;;;;;;2005;; -NPi;0;Calib_Ariadne_NPi;National Policies implemented;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Calib_Ariadne_Npi_lowDem;0;Calib_Ariadne_NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;NAV_all;;;;SSP2_NAV_all;;; -Npi_lowDem;0;Calib_Ariadne_Npi_lowDem;;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Calib_Ariadne_Npi_highDem;0;Calib_Ariadne_NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2_highDemDEU;;; -Npi_highDem;0;Calib_Ariadne_Npi_highDem;;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -# ____ Standard Scenarios______;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -CurrentPolicies;0;NPi;Current Policies Scenario for Germany including latest credible developments from Fit for 55 and Ampel government;;;;;;;;;;se_trade;2035.2045.FRA.DEU.seel 0.045, 2030.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;;;;2;;high;0;DEU 1.1, EU27_regi 7.5;;DEU.(biodiesel 0.15, bioeths 0.15);EU27_regi.pebiolc.worldPricemarkup 10;1;;EUR_regi, NEU_regi;GLO 15;off;;;fehob 1.75, enhb 0.5;;;ariadne_bal;2050.DEU 0.65;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 80,2030 105,2035 130,2040 155,2045 180,2050 205,2055 205,2060 205,2070 205,2080 205,2090 205,2100 205,2110 205,2130 205,2150 205);;;;;;;Mix3ICEban ;;;;;2030;;NPi -KN2045_Bal_v4;0;;Standard Ariadne scenario with GHG neutrality goal in 2045 for Germany;;;;;;;;;globallyOptimal;se_trade;2035.2045.FRA.DEU.seel 0.183, 2030.2045.ESW.DEU.seh2 0.366, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;2;;high;0;DEU 1.1, EU27_regi 7.5;EUR_regi 0.08, USA_regi 0.07, CHA_regi 0.07, CAZ_regi 0.07, JPN_regi 0.07, GLO 0.06;DEU.(biodiesel 0.15, bioeths 0.15);EU27_regi.pebiolc.worldPricemarkup 10;1;DEU -0.45;;;off;;;fehob 1.75, enhb 0.5;manual;feelhth_otherInd 1.3;ariadne_bal;2050.GLO 0.9, 2040.DEU 0.9;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;750;functionalForm;100;2055;6;;;;2030.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;GLO 0.003;;Opt;;;Mix4ICEban;;2;;;2030;/p/projects/ariadne/remind/Current/output/Bal_Pk750_no2030Tar_2026-03-20_10.46.15/fulldata.gdx;NPi -KN2045_Elec_v4;0;KN2045_Bal_v4;Scenario with high electrification, low H2 and synfuel imports;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2030.2045.ESW.DEU.seh2 0.183, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5;;feelhth_otherInd 0.9, feelhth_chemicals 0.43, feh2_otherInd 0.7, 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, 2030.2045.ESW.DEU.seh2 0.732, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;;GLO 20;;0.1;;feelhpb 2.3, feelrhb 0.87, fehob 1.75, enhb 0.5;;feelhth_otherInd 1.6, feelhth_chemicals 1.6, feh2_otherInd 0.01, feh2_cement 0.43, 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, feelhth_chemicals 0.43, 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;;KN2045_Bal_v4;;;;NAV_all;;;;SSP2_NAV_all;;;Npi_lowDem -KN2045plus_LowDemand;0;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5, feheb 0.01;;feelhth_otherInd 0.9, feelhth_chemicals 0.43, 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;;;;;;;;;;;;;;;;;;off;;KN2045_Bal_v4;;;;NAV_all;;;;SSP2_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;;feelhth_otherInd 1.6, feelhth_chemicals 1.6;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;;;;;;;;;;;;;off;;KN2045_Bal_v4;;;;Mix3;;;;SSP2_highDemDEU;;;Npi_highDem -KN2045minus_SupplyFocus;0;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;feelhpb 2.3, feelrhb 0.87, fehob 1.75, enhb 0.5;;feelhth_otherInd 1.6, feelhth_chemicals 1.6;ariadne_highDem;;;;;;;;;;;;;;;;;;;;;off;;KN2045_Bal_v4;;;;Mix3;;;;SSP2_highDemDEU;;;Npi_highDem -#_____low-demand/high-demand net-zero scenarios;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -KN2045_EasyRide;0;KN2045plus_EasyRide;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;;off;;;;;;;;;;; -KN2045_LowDemand;0;KN2045plus_LowDemand;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;;off;;;;;;;;;;; -KN2045_WorstCase;0;KN2045minus_WorstCase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;;off;;;;;;;;;;; -KN2045_SupplyFocus;0;KN2045minus_SupplyFocus;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;;off;;;;;;;;;;; -# Tests;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Npi_5Adj;0;NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;(spv, windon, windoff, geohe) 5;(spv, windon, windoff, geohe) 0.2;;;;;;;;;;;;;;;;;;;;;;;;;; -Bal_2Adj;0;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;(spv, windon, windoff, geohe) 2;(spv, windon, windoff, geohe) 0.5;;;;;;;;;;;;;;;;;;;;;;;;;;Npi_2Adj +title;start;copyConfigFrom;.description;CES_parameters;c_keep_iteration_gdxes;cm_calibration_string;optimization;c_testOneRegi_region;cm_solver_try_max;cm_nash_mode;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_regi_earlyreti_rate;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_ind_energy_limit;cm_ind_energy_limit_manual;cm_optimisticMAC;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_regiDiff;techpol;regipol;cm_regiExoPrice;cm_emiMktTarget;cm_emiMktTarget_tolerance;cm_regiExoPrice_fromFile;cm_VREminCap_Ger;cm_NucRegiPol;cm_CoalRegiPol;cm_EDGEtr_scen;cm_emiscen;cm_multigasscen;cm_GDPpopScen;cm_demScen;cm_startyear;path_gdx;path_gdx_ref +# _____Reference Runs_____;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Calib_Ariadne_NPi;0;;Ariadne calibration NPI2025 run, differs from standard SSP2 calibration run by some biomass switches (limited biomass potential for Germany/EU, 1st generation biomass phase-out);calibrate;;;;;;;;;;;;;;;;;DEU 1.1, EU27_regi 7.5;;;EU27_regi.pebiolc.worldPricemarkup 10;1;;;;;;;;;;;;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;;;;;;;;;;;;;;;;;;;;;;2005;; +NPi;0;Calib_Ariadne_NPi;National Policies implemented;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Calib_Ariadne_Npi_lowDem;0;Calib_Ariadne_NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;NAV_all;;;;SSP2_NAV_all;;; +Npi_lowDem;0;Calib_Ariadne_Npi_lowDem;;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Calib_Ariadne_Npi_highDem;0;Calib_Ariadne_NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2_highDemDEU;;; +Npi_highDem;0;Calib_Ariadne_Npi_highDem;;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +# ____ Standard Scenarios______;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +CurrentPolicies;0;NPi;Current Policies Scenario for Germany including latest credible developments from Fit for 55 and Ampel government;;;;;;;;;se_trade;2035.2045.FRA.DEU.seel 0.045, 2030.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;;;;2;;high;0;DEU 1.1, EU27_regi 7.5;;DEU.(biodiesel 0.15, bioeths 0.15);EU27_regi.pebiolc.worldPricemarkup 10;1;;EUR_regi, NEU_regi;GLO 15;off;;;fehob 1.75, enhb 0.5;;;ariadne_bal;2050.DEU 0.65;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 80,2030 105,2035 130,2040 155,2045 180,2050 205,2055 205,2060 205,2070 205,2080 205,2090 205,2100 205,2110 205,2130 205,2150 205);;;;;;;Mix3ICEban ;;;;;2030;;NPi +KN2045_Bal_v4;0;;Standard Ariadne scenario with GHG neutrality goal in 2045 for Germany;;;;;;;;globallyOptimal;se_trade;2035.2045.FRA.DEU.seel 0.183, 2030.2045.ESW.DEU.seh2 0.366, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;2;;high;0;DEU 1.1, EU27_regi 7.5;EUR_regi 0.08, USA_regi 0.07, CHA_regi 0.07, CAZ_regi 0.07, JPN_regi 0.07, GLO 0.06;DEU.(biodiesel 0.15, bioeths 0.15);EU27_regi.pebiolc.worldPricemarkup 10;1;DEU -0.45;;;off;;;fehob 1.75, enhb 0.5;manual;feelhth_otherInd 1.3;ariadne_bal;2050.GLO 0.9, 2040.DEU 0.9;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;750;functionalForm;100;2055;6;;;;2030.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;GLO 0.003;;Opt;;;Mix4ICEban;;2;;;2030;/p/projects/ariadne/remind/Current/output/Bal_Pk750_no2030Tar_2026-03-20_10.46.15/fulldata.gdx;NPi +KN2045_Elec_v4;0;KN2045_Bal_v4;Scenario with high electrification, low H2 and synfuel imports;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2030.2045.ESW.DEU.seh2 0.183, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5;;feelhth_otherInd 0.9, feelhth_chemicals 0.43, feh2_otherInd 0.7, 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, 2030.2045.ESW.DEU.seh2 0.732, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;;GLO 20;;0.1;;feelhpb 2.3, feelrhb 0.87, fehob 1.75, enhb 0.5;;feelhth_otherInd 1.6, feelhth_chemicals 1.6, feh2_otherInd 0.01, feh2_cement 0.43, 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, feelhth_chemicals 0.43, 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;;KN2045_Bal_v4;;;;NAV_all;;;;SSP2_NAV_all;;;Npi_lowDem +KN2045plus_LowDemand;0;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5, feheb 0.01;;feelhth_otherInd 0.9, feelhth_chemicals 0.43, 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;;;;;;;;;;;;;;;;;;off;;KN2045_Bal_v4;;;;NAV_all;;;;SSP2_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;;feelhth_otherInd 1.6, feelhth_chemicals 1.6;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;;;;;;;;;;;;;off;;KN2045_Bal_v4;;;;Mix3;;;;SSP2_highDemDEU;;;Npi_highDem +KN2045minus_SupplyFocus;0;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;feelhpb 2.3, feelrhb 0.87, fehob 1.75, enhb 0.5;;feelhth_otherInd 1.6, feelhth_chemicals 1.6;ariadne_highDem;;;;;;;;;;;;;;;;;;;;;off;;KN2045_Bal_v4;;;;Mix3;;;;SSP2_highDemDEU;;;Npi_highDem +#_____low-demand/high-demand net-zero scenarios;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +KN2045_EasyRide;0;KN2045plus_EasyRide;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;;off;;;;;;;;;;; +KN2045_LowDemand;0;KN2045plus_LowDemand;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;;off;;;;;;;;;;; +KN2045_WorstCase;0;KN2045minus_WorstCase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;;off;;;;;;;;;;; +KN2045_SupplyFocus;0;KN2045minus_SupplyFocus;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;;off;;;;;;;;;;; +# Tests;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +DEU_NPi;0;NPi;;;;;testOneRegi;DEU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Bal_expoLinear;0;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0;;expoLinear;;;;;;;;;;;;;;;;;;;; +Bal_optIndCCS;0;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; From c8deb57dadcd0473e18debc77b9fc65fee7a13ba Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Thu, 2 Apr 2026 15:21:53 +0200 Subject: [PATCH 20/38] Revert "remove implicit early retirement in steel" This reverts commit 818ff83f84a7d8d2495bee3ed99dc202304b2d12. --- modules/37_industry/subsectors/declarations.gms | 1 - modules/37_industry/subsectors/equations.gms | 15 ++------------- 2 files changed, 2 insertions(+), 14 deletions(-) diff --git a/modules/37_industry/subsectors/declarations.gms b/modules/37_industry/subsectors/declarations.gms index 8b541f0a8..b55f1e78f 100644 --- a/modules/37_industry/subsectors/declarations.gms +++ b/modules/37_industry/subsectors/declarations.gms @@ -155,7 +155,6 @@ $endif.no_calibration 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,mat,all_in) "Connect materials production to ue ces tree nodes" - q37_limitCapMatHist(tall,all_regi,all_te) "Material-flow conversion is limited by capacities (historical)" 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 dcceb75d6..26d4b68f4 100644 --- a/modules/37_industry/subsectors/equations.gms +++ b/modules/37_industry/subsectors/equations.gms @@ -464,9 +464,9 @@ q37_mat2ue(t,regi,mat,in)$( ppfUePrc(in) ) .. ; ***------------------------------------------------------ -*' Definition of capacity constraints (historical and current) +*' Definition of capacity constraints ***------------------------------------------------------ -q37_limitCapMatHist(t,regi,tePrc)$(t.val le 2020) .. +q37_limitCapMat(t,regi,tePrc) .. sum(tePrc2opmoPrc(tePrc,opmoPrc), vm_outflowPrc(t,regi,tePrc,opmoPrc) ) @@ -477,17 +477,6 @@ q37_limitCapMatHist(t,regi,tePrc)$(t.val le 2020) .. ) ; -q37_limitCapMat(t,regi,tePrc)$(t.val gt 2020) .. - sum(tePrc2opmoPrc(tePrc,opmoPrc), - vm_outflowPrc(t,regi,tePrc,opmoPrc) - ) - =e= - sum(teMat2rlf(tePrc,rlf), - vm_capFac(t,regi,tePrc) - * vm_cap(t,regi,tePrc,rlf) - ) -; - ***------------------------------------------------------ *' Emission from process based industry sector (pre CC) ***------------------------------------------------------ From fb4ffd09b0ebab927a80edad8ea28c1f22c543bb Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Fri, 10 Apr 2026 12:30:37 +0200 Subject: [PATCH 21/38] fix share of carbon capture in waste incineration to values defined by cm_wasteIncinerationCCSshare from 2035 on; fix to 0 before --- modules/37_industry/subsectors/bounds.gms | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/37_industry/subsectors/bounds.gms b/modules/37_industry/subsectors/bounds.gms index a79cea824..d6d2c5244 100755 --- a/modules/37_industry/subsectors/bounds.gms +++ b/modules/37_industry/subsectors/bounds.gms @@ -133,8 +133,9 @@ $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); +!! Fix regional waste incineration carbon capture share to what is assumed via cm_wasteIncinerationCCSshare from 2035 on +v37_regionalWasteIncinerationCCSshare.fx(t,regi)$(t.val lt 2035) = 0; +v37_regionalWasteIncinerationCCSshare.fx(t,regi)$(t.val ge 2035) = p37_regionalWasteIncinerationCCSMaxShare(t,regi); $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" !! fix processes procudction in historic years From 796099b758b3381023af525f0ff9cce1e81eff8e Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Fri, 8 May 2026 15:18:57 +0200 Subject: [PATCH 22/38] fix share of carbon capture in waster incineration to exogenuous assumptions in Germany; before it was an upper limit but the model could do less waste carbon capture --- modules/37_industry/subsectors/bounds.gms | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/modules/37_industry/subsectors/bounds.gms b/modules/37_industry/subsectors/bounds.gms index d6d2c5244..f004e510f 100755 --- a/modules/37_industry/subsectors/bounds.gms +++ b/modules/37_industry/subsectors/bounds.gms @@ -133,9 +133,10 @@ $ifthen.policy_scenario "%cm_indstExogScen_set%" == "YES" $endif.policy_scenario $drop cm_indstExogScen_set -!! Fix regional waste incineration carbon capture share to what is assumed via cm_wasteIncinerationCCSshare from 2035 on -v37_regionalWasteIncinerationCCSshare.fx(t,regi)$(t.val lt 2035) = 0; -v37_regionalWasteIncinerationCCSshare.fx(t,regi)$(t.val ge 2035) = p37_regionalWasteIncinerationCCSMaxShare(t,regi); +!! Fix regional waste incineration carbon capture share to what is assumed via cm_wasteIncinerationCCSshare from 2035 on for Germany +v37_regionalWasteIncinerationCCSshare.lo(t,regi)$(t.val lt 2035) = 0; +v37_regionalWasteIncinerationCCSshare.up(t,regi)$(t.val ge 2035) = p37_regionalWasteIncinerationCCSMaxShare(t,regi); +v37_regionalWasteIncinerationCCSshare.fx(t,regi)$(t.val ge 2035 AND (sameAs(regi, "DEU"))) = p37_regionalWasteIncinerationCCSMaxShare(t,regi); $ifthen.cm_subsec_model_steel "%cm_subsec_model_steel%" == "processes" !! fix processes procudction in historic years From 6757198c2b5b7c5445a7905fc7d058c328eaa766 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Sat, 9 May 2026 17:18:19 +0200 Subject: [PATCH 23/38] remove p47_exogDemScen adaptions in moduel 47 datainput of Germany industry trajectories as this now comes from input file --- .../47_regipol/regiCarbonPrice/datainput.gms | 26 ------------------- 1 file changed, 26 deletions(-) diff --git a/modules/47_regipol/regiCarbonPrice/datainput.gms b/modules/47_regipol/regiCarbonPrice/datainput.gms index 666b8957e..358d7f883 100644 --- a/modules/47_regipol/regiCarbonPrice/datainput.gms +++ b/modules/47_regipol/regiCarbonPrice/datainput.gms @@ -308,32 +308,6 @@ $include "./modules/47_regipol/regiCarbonPrice/input/p47_exogDemScen.cs4r" $offdelim /; -*' adapt Ariadne industry production trajectories to the relative trajectory from FORECAST -*' (absolute values are different because of different sectoral scopes) -*' to be done in mrremind cleanly once FORECAST has its updated data in the Ariadne DB -*' fix to calibration trajectories before cm_staryear, the switch is only used in policy runs -loop( regi$sameAs(regi,"DEU"), -*' chemicals production - pm_exogDemScen(t,regi,"ariadne_bal","ue_chemicals") $ ( t.val lt cm_startyear ) = pm_cesdata(t,regi,"ue_chemicals","quantity"); - pm_exogDemScen("2030",regi,"ariadne_bal","ue_chemicals") = pm_cesdata("2020",regi,"ue_chemicals","quantity") * 0.94; - pm_exogDemScen("2035",regi,"ariadne_bal","ue_chemicals") = pm_cesdata("2020",regi,"ue_chemicals","quantity") * 0.95; - pm_exogDemScen("2040",regi,"ariadne_bal","ue_chemicals") = pm_cesdata("2020",regi,"ue_chemicals","quantity") * 0.97; - pm_exogDemScen("2045",regi,"ariadne_bal","ue_chemicals") = pm_cesdata("2020",regi,"ue_chemicals","quantity") * 0.98; -*' constant production after 2050 - pm_exogDemScen(t ,regi,"ariadne_bal","ue_chemicals") $ ( t.val ge 2050 ) = pm_cesdata("2020",regi,"ue_chemicals","quantity"); - -*' other industry production - pm_exogDemScen(t,regi,"ariadne_bal","ue_otherInd") $ ( t.val lt cm_startyear ) = pm_cesdata(t,regi,"ue_otherInd","quantity"); - pm_exogDemScen("2030",regi,"ariadne_bal","ue_otherInd") = pm_cesdata("2020",regi,"ue_otherInd","quantity"); - pm_exogDemScen("2035",regi,"ariadne_bal","ue_otherInd") = pm_cesdata("2020",regi,"ue_otherInd","quantity") * 1.03; - pm_exogDemScen("2040",regi,"ariadne_bal","ue_otherInd") = pm_cesdata("2020",regi,"ue_otherInd","quantity") * 1.05; - pm_exogDemScen("2045",regi,"ariadne_bal","ue_otherInd") = pm_cesdata("2020",regi,"ue_otherInd","quantity") * 1.08; -*' constant production after 2050 - pm_exogDemScen(t ,regi,"ariadne_bal","ue_otherInd") $ ( t.val ge 2050 ) = pm_cesdata("2020",regi,"ue_otherInd","quantity") * 1.1; -); - - - $endif.exogDemScen From 414cfa208768dbeb6b7d4b65304b5bb4ae0c600a Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Mon, 11 May 2026 11:20:02 +0200 Subject: [PATCH 24/38] add ariadne_reloc scenario for exogenous industry production trajectories for the Elec_Plus ariadne scenario from FORECAST --- modules/47_regipol/regiCarbonPrice/sets.gms | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/modules/47_regipol/regiCarbonPrice/sets.gms b/modules/47_regipol/regiCarbonPrice/sets.gms index 61ca8a8ca..ecd912835 100644 --- a/modules/47_regipol/regiCarbonPrice/sets.gms +++ b/modules/47_regipol/regiCarbonPrice/sets.gms @@ -157,9 +157,7 @@ $ifthen.exogDemScen NOT "%cm_exogDem_scen%" == "off" exogDemScen "exogenuous FE and ES demand scenarios that can be activated by cm_exogDem_scen" / ariadne_bal - ariadne_ensec - ariadne_highDem - ariadne_lowDem + ariadne_reloc / $endif.exogDemScen From d5aca66ad4defc5e50c96a91ccf2e05bbe93da3a Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Mon, 11 May 2026 11:20:30 +0200 Subject: [PATCH 25/38] also add ariadne_reloc scenario to cm_exogDem_scen switch options --- main.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.gms b/main.gms index 631cfc22a..792100637 100755 --- a/main.gms +++ b/main.gms @@ -1778,7 +1778,7 @@ $setGlobal cm_indstExogScen off !! def off *** (ariadne_ensec) steel and cement production trajectories for Germany used in the Ariadne "EnSec" (energy security) scenario *** (ariadne_highDem) *** (ariadne_lowDem) -$setGLobal cm_exogDem_scen off !! def off !! regexp = off|ariadne_(bal|ensec|highDem|lowDem) +$setGLobal cm_exogDem_scen off !! def off !! regexp = off|ariadne_(bal|reloc) *** cm_Ger_Pol "switch for selecting different policies for Germany used in the ARIADNE scenarios" *** switch for Germany-specific policies *** (off) default From 3608cc2d2bcff641bca7804f3899bbf11553dfb2 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Mon, 11 May 2026 11:20:48 +0200 Subject: [PATCH 26/38] increment local CES parameter hash --- config/default.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/default.cfg b/config/default.cfg index b200e0d1d..67a01cf9d 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -31,7 +31,7 @@ cfg$extramappings_historic <- "" cfg$inputRevision <- "7.88" #### Current CES parameter and GDX revision (commit hash) #### -cfg$CESandGDXversion <- "75a97755339e5f23dd463f1a6d27b98b0cddc279" +cfg$CESandGDXversion <- "eb08a01b08e97a74d62753743a29785ac026497d" #### Path to a renv.lock file to restore a project's dependencies from. If NULL, all R packages in their currently installed version will be used. cfg$UseThisRenvLock <- NULL From ae4b5d0dfcb89a4f7db661a76d56d2502bff7207 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Mon, 11 May 2026 11:21:58 +0200 Subject: [PATCH 27/38] update ariadne scenario config; throw out high/low demand scenarios and old energy security scenario --- config/scenario_config_21_EU11_ARIADNE.csv | 35 +++++++--------------- 1 file changed, 10 insertions(+), 25 deletions(-) diff --git a/config/scenario_config_21_EU11_ARIADNE.csv b/config/scenario_config_21_EU11_ARIADNE.csv index 6fe052695..cd4cd0f67 100644 --- a/config/scenario_config_21_EU11_ARIADNE.csv +++ b/config/scenario_config_21_EU11_ARIADNE.csv @@ -1,29 +1,14 @@ -title;start;copyConfigFrom;.description;CES_parameters;c_keep_iteration_gdxes;cm_calibration_string;optimization;c_testOneRegi_region;cm_solver_try_max;cm_nash_mode;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_regi_earlyreti_rate;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_ind_energy_limit;cm_ind_energy_limit_manual;cm_optimisticMAC;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_regiDiff;techpol;regipol;cm_regiExoPrice;cm_emiMktTarget;cm_emiMktTarget_tolerance;cm_regiExoPrice_fromFile;cm_VREminCap_Ger;cm_NucRegiPol;cm_CoalRegiPol;cm_EDGEtr_scen;cm_emiscen;cm_multigasscen;cm_GDPpopScen;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_seFeSectorShareDevMethod;subsidizeLearning;trade;cm_trade_SE_exog;c_ccsinjecratescen;c_ccsinjecrateRegi;cm_ccsinjeCost;cm_frac_NetNegEmi;cm_bioprod_regi_lim;c_regi_earlyreti_rate;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_ind_energy_limit;cm_ind_energy_limit_manual;cm_optimisticMAC;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_expGrowth;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_regiDiff;techpol;cm_RenShareTargets;regipol;cm_regiExoPrice;cm_emiMktTarget;cm_emiMktTarget_tolerance;cm_regiExoPrice_fromFile;cm_VREminCap_Ger;cm_NucRegiPol;cm_CoalRegiPol;cm_EDGEtr_scen;cm_emiscen;cm_multigasscen;cm_GDPpopScen;cm_demScen;cm_startyear;path_gdx;path_gdx_ref # _____Reference Runs_____;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Calib_Ariadne_NPi;0;;Ariadne calibration NPI2025 run, differs from standard SSP2 calibration run by some biomass switches (limited biomass potential for Germany/EU, 1st generation biomass phase-out);calibrate;;;;;;;;;;;;;;;;;DEU 1.1, EU27_regi 7.5;;;EU27_regi.pebiolc.worldPricemarkup 10;1;;;;;;;;;;;;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;;;;;;;;;;;;;;;;;;;;;;2005;; +Calib_Ariadne_NPi;0;;Ariadne calibration NPI2025 run, differs from standard SSP2 calibration run by some biomass switches (limited biomass potential for Germany/EU, 1st generation biomass phase-out);calibrate;;;;;;;;;;;;;;;DEU 1.1, EU27_regi 7.5;;;EU27_regi.pebiolc.worldPricemarkup 10;1;;;;;;;;;;;;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;;;;;;;;;;0;;;;;;;;;;;;;;2005;; NPi;0;Calib_Ariadne_NPi;National Policies implemented;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Calib_Ariadne_Npi_lowDem;0;Calib_Ariadne_NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;NAV_all;;;;SSP2_NAV_all;;; -Npi_lowDem;0;Calib_Ariadne_Npi_lowDem;;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Calib_Ariadne_Npi_highDem;0;Calib_Ariadne_NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SSP2_highDemDEU;;; -Npi_highDem;0;Calib_Ariadne_Npi_highDem;;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; # ____ Standard Scenarios______;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -CurrentPolicies;0;NPi;Current Policies Scenario for Germany including latest credible developments from Fit for 55 and Ampel government;;;;;;;;;se_trade;2035.2045.FRA.DEU.seel 0.045, 2030.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;;;;2;;high;0;DEU 1.1, EU27_regi 7.5;;DEU.(biodiesel 0.15, bioeths 0.15);EU27_regi.pebiolc.worldPricemarkup 10;1;;EUR_regi, NEU_regi;GLO 15;off;;;fehob 1.75, enhb 0.5;;;ariadne_bal;2050.DEU 0.65;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 80,2030 105,2035 130,2040 155,2045 180,2050 205,2055 205,2060 205,2070 205,2080 205,2090 205,2100 205,2110 205,2130 205,2150 205);;;;;;;Mix3ICEban ;;;;;2030;;NPi -KN2045_Bal_v4;0;;Standard Ariadne scenario with GHG neutrality goal in 2045 for Germany;;;;;;;;globallyOptimal;se_trade;2035.2045.FRA.DEU.seel 0.183, 2030.2045.ESW.DEU.seh2 0.366, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;2;;high;0;DEU 1.1, EU27_regi 7.5;EUR_regi 0.08, USA_regi 0.07, CHA_regi 0.07, CAZ_regi 0.07, JPN_regi 0.07, GLO 0.06;DEU.(biodiesel 0.15, bioeths 0.15);EU27_regi.pebiolc.worldPricemarkup 10;1;DEU -0.45;;;off;;;fehob 1.75, enhb 0.5;manual;feelhth_otherInd 1.3;ariadne_bal;2050.GLO 0.9, 2040.DEU 0.9;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;750;functionalForm;100;2055;6;;;;2030.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;GLO 0.003;;Opt;;;Mix4ICEban;;2;;;2030;/p/projects/ariadne/remind/Current/output/Bal_Pk750_no2030Tar_2026-03-20_10.46.15/fulldata.gdx;NPi -KN2045_Elec_v4;0;KN2045_Bal_v4;Scenario with high electrification, low H2 and synfuel imports;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2030.2045.ESW.DEU.seh2 0.183, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5;;feelhth_otherInd 0.9, feelhth_chemicals 0.43, feh2_otherInd 0.7, 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, 2030.2045.ESW.DEU.seh2 0.732, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;;GLO 20;;0.1;;feelhpb 2.3, feelrhb 0.87, fehob 1.75, enhb 0.5;;feelhth_otherInd 1.6, feelhth_chemicals 1.6, feh2_otherInd 0.01, feh2_cement 0.43, 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, feelhth_chemicals 0.43, 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;;KN2045_Bal_v4;;;;NAV_all;;;;SSP2_NAV_all;;;Npi_lowDem -KN2045plus_LowDemand;0;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;feelhpb 1.4, fehob 1.75, enhb 0.5, feheb 0.01;;feelhth_otherInd 0.9, feelhth_chemicals 0.43, 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;;;;;;;;;;;;;;;;;;off;;KN2045_Bal_v4;;;;NAV_all;;;;SSP2_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;;feelhth_otherInd 1.6, feelhth_chemicals 1.6;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;;;;;;;;;;;;;off;;KN2045_Bal_v4;;;;Mix3;;;;SSP2_highDemDEU;;;Npi_highDem -KN2045minus_SupplyFocus;0;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;feelhpb 2.3, feelrhb 0.87, fehob 1.75, enhb 0.5;;feelhth_otherInd 1.6, feelhth_chemicals 1.6;ariadne_highDem;;;;;;;;;;;;;;;;;;;;;off;;KN2045_Bal_v4;;;;Mix3;;;;SSP2_highDemDEU;;;Npi_highDem -#_____low-demand/high-demand net-zero scenarios;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -KN2045_EasyRide;0;KN2045plus_EasyRide;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;;off;;;;;;;;;;; -KN2045_LowDemand;0;KN2045plus_LowDemand;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;;off;;;;;;;;;;; -KN2045_WorstCase;0;KN2045minus_WorstCase;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;;off;;;;;;;;;;; -KN2045_SupplyFocus;0;KN2045minus_SupplyFocus;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020.2030.DEU.all.year.netGHG_noLULUCF_noBunkers 0.44, 2035.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;;off;;;;;;;;;;; +CurrentPolicies;0;NPi;Current Policies Scenario for Germany including latest credible developments from Fit for 55 and Ampel government. CO2 price reaches 200$/tCo2 by 2050. In line with ETS+ ETS2 average of UBA Projektionsbericht project of the 2025 MMS scenario. ;;;;;;;;;;se_trade;2035.2045.FRA.DEU.seel 0.045, 2030.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;2;;high;0;DEU 1.1, EU27_regi 7.5;;DEU.(biodiesel 0.15, bioeths 0.15);EU27_regi.pebiolc.worldPricemarkup 10;1;;EUR_regi, NEU_regi;GLO 15;off;;;fehob 1.75, enhb 0.5;;;ariadne_bal;2050.DEU 0.65;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 80,2030 105,2035 130,2040 155,2045 180,2050 205,2055 205,2060 205,2070 205,2080 205,2090 205,2100 205,2110 205,2130 205,2150 205);;;;;;;Mix3ICEban ;;;;;2030;;NPi +KN2045_Bal_v5;0;;Standard Ariadne scenario with GHG neutrality goal in 2045 for Germany;;;;;;;;;globallyOptimal;se_trade;2035.2045.FRA.DEU.seel 0.183, 2030.2045.ESW.DEU.seh2 0.366, 2035.2045.MEA.DEU.seliqsyn 0.366;2;;high;0;DEU 1.1, EU27_regi 7.5;EUR_regi 0.08, USA_regi 0.07, CHA_regi 0.07, CAZ_regi 0.07, JPN_regi 0.07, GLO 0.06;DEU.(biodiesel 0.15, bioeths 0.15);EU27_regi.pebiolc.worldPricemarkup 10;1;DEU -0.45;;;off;;;fehob 1.75, enhb 0.5;manual;feelhth_otherInd 1.3;ariadne_bal;2050.GLO 0.9;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;0;750;expoLinear;1.08;100;2055;6;;0;;;2030.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;GLO 0.003;;Opt;;;Mix4ICEban;;2;;;2030;/p/projects/ariadne/remind/Current/output/KN2045_Bal_v5_2026-04-28_14.21.35/fulldata.gdx;NPi +KN2045_Elec_v5;0;KN2045_Bal_v5;Scenario with high electrification, low H2 and synfuel imports;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2030.2045.ESW.DEU.seh2 0.183, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;;2040.DEU 0.7;feelhpb 1.4, fehob 1.75, enhb 0.5;;feelhth_otherInd 0.9, feelhth_chemicals 0.43, feh2_otherInd 0.7, 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_v5;0;KN2045_Bal_v5;Scenario with high H2 and synfuel use, high H2 and synfuel imports;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2030.2045.ESW.DEU.seh2 0.732, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;GLO 20;;0.1;;feelhpb 2.3, feelrhb 0.87, fehob 1.75, enhb 0.5;;feelhth_otherInd 1.6, feelhth_chemicals 1.6, feh2_otherInd 0.01, feh2_cement 0.43, 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;;;;;;; +KN2045_Elec_plus_v5;0;KN2045_Elec_v5;Scenario with high electrification, very low H2/E-fuel, more CCS;;;;;;;;;;;off;;DEU 0.0034,GLO 0.005;med;;;;;;;;;;;;;;;;ariadne_reloc;;;;;;tdh2s 5, tdh2t 5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; # Tests;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -DEU_NPi;0;NPi;;;;;testOneRegi;DEU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Bal_expoLinear;0;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0;;expoLinear;;;;;;;;;;;;;;;;;;;; -Bal_optIndCCS;0;KN2045_Bal_v4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Bal_optIndCCS;0;KN2045_Bal_v5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Calib_Ariadne_Npi_noRegiPol;0;Calib_Ariadne_NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;none;;;;;;;;;;;;;;; +DEU_Calib;0;Calib_Ariadne_NPi;;;;;testOneRegi;DEU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; From 5fd9dd6c5498e2a24c8fec74d8b91d89cbd4f9fa Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Thu, 21 May 2026 15:27:43 +0200 Subject: [PATCH 28/38] increment input data revision to ariadne version to include new FORECAST industry trajectories --- config/default.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/default.cfg b/config/default.cfg index 67a01cf9d..5b44737db 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.88" +cfg$inputRevision <- "7.92ariadne" #### Current CES parameter and GDX revision (commit hash) #### cfg$CESandGDXversion <- "eb08a01b08e97a74d62753743a29785ac026497d" From 6d8c4408f95c199d83f21e9848aca3e8d39f2e2d Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Thu, 21 May 2026 15:28:12 +0200 Subject: [PATCH 29/38] increment CES parameter hash to new calibration --- config/default.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/default.cfg b/config/default.cfg index 5b44737db..28ea2375c 100644 --- a/config/default.cfg +++ b/config/default.cfg @@ -31,7 +31,7 @@ cfg$extramappings_historic <- "" cfg$inputRevision <- "7.92ariadne" #### Current CES parameter and GDX revision (commit hash) #### -cfg$CESandGDXversion <- "eb08a01b08e97a74d62753743a29785ac026497d" +cfg$CESandGDXversion <- "a5823de238613baa6d82c7ee6d0539def2f013db" #### Path to a renv.lock file to restore a project's dependencies from. If NULL, all R packages in their currently installed version will be used. cfg$UseThisRenvLock <- NULL From e13637073c25ebe70f2bcb5806523ddcdfa6c44b Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Thu, 21 May 2026 15:32:34 +0200 Subject: [PATCH 30/38] remove bound on maximum coal share in buildings after 2020 as it caused issues with calibration --- modules/04_PE_FE_parameters/iea2014/datainput.gms | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/04_PE_FE_parameters/iea2014/datainput.gms b/modules/04_PE_FE_parameters/iea2014/datainput.gms index f9d940c06..2da6bc694 100644 --- a/modules/04_PE_FE_parameters/iea2014/datainput.gms +++ b/modules/04_PE_FE_parameters/iea2014/datainput.gms @@ -192,8 +192,6 @@ loop(regi$(sameAs("DEU", regi)), pm_secBioShare("2020",regi,"fedie","trans") = 0.05; *** set 2020 biomass share in industry solids to 20% based on AGEB data pm_secBioShare("2020",regi,"fesos","indst") = 0.2; -*** set maximum coal share in buildings after 2020 to 2020 value as residential coal heating is not going to recover once phased out - pm_secBioShare(t,regi,"fesos","build")$(t.val gt 2020) = pm_secBioShare("2020",regi,"fesos","build"); ); display pm_secBioShare; From 8814237613ec7011e32a5521c8f92643931e3f40 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Thu, 21 May 2026 15:33:04 +0200 Subject: [PATCH 31/38] remove bound to forbid biomass imports in Germany as it caused issues with the calibration --- modules/30_biomass/magpie/bounds.gms | 6 ------ 1 file changed, 6 deletions(-) diff --git a/modules/30_biomass/magpie/bounds.gms b/modules/30_biomass/magpie/bounds.gms index 03fb7f5d9..f7722e850 100644 --- a/modules/30_biomass/magpie/bounds.gms +++ b/modules/30_biomass/magpie/bounds.gms @@ -189,10 +189,4 @@ loop( ext_regi$(p30_bioprod_regi_lim(ext_regi)), ); $ENDIF.bioprod_regi_lim -*' forbid biomass imports for Germany from 2025 -*' allow before to not cause infeasibilities with initial bioenergy technology capacities in model -vm_Mport.up(t,regi,"pebiolc")$( t.val ge 2025 AND sameas(regi,"DEU") ) = 0; - - - *** EOF ./modules/30_biomass/magpie/bounds.gms From 423fee54a9c61d4297c8d91c94554af2b7cb4d65 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Thu, 21 May 2026 15:33:37 +0200 Subject: [PATCH 32/38] remove electricity demand of gas pipelines as compressors are mostly operated with natural gas --- modules/04_PE_FE_parameters/iea2014/datainput.gms | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/04_PE_FE_parameters/iea2014/datainput.gms b/modules/04_PE_FE_parameters/iea2014/datainput.gms index 2da6bc694..a9ac7fd12 100644 --- a/modules/04_PE_FE_parameters/iea2014/datainput.gms +++ b/modules/04_PE_FE_parameters/iea2014/datainput.gms @@ -301,8 +301,6 @@ p04_prodCoupleGlob("pebiolc","seliqbio","bioethl","seel") = 0.153; p04_prodCoupleGlob("pebiolc","seliqbio","bioftrec","seel") = 0.147; p04_prodCoupleGlob("pebiolc","seliqbio","bioftcrec","seel") = 0.108; -p04_prodCoupleGlob("segabio","fegas","tdbiogas","seel") = -0.05; -p04_prodCoupleGlob("segafos","fegas","tdfosgas","seel") = -0.05; p04_prodCoupleGlob("pegeo","sehe","geohe","seel") = -0.3; p04_prodCoupleGlob("cco2","ico2","ccsinjeon","seel") = -0.005; p04_prodCoupleGlob("cco2","ico2","ccsinjeoff","seel") = -0.005; !!DKX assumption correct? From b8013d0a6e5406e0c4e14d5f46df04c33ce5b373 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Thu, 21 May 2026 15:34:21 +0200 Subject: [PATCH 33/38] add code for debugging NAs in CES function expression before solve statement --- modules/80_optimization/nash/declarations.gms | 5 ++- modules/80_optimization/nash/solve.gms | 44 +++++++++++++++++++ 2 files changed, 48 insertions(+), 1 deletion(-) diff --git a/modules/80_optimization/nash/declarations.gms b/modules/80_optimization/nash/declarations.gms index 0c56505c9..736b49051 100644 --- a/modules/80_optimization/nash/declarations.gms +++ b/modules/80_optimization/nash/declarations.gms @@ -32,7 +32,10 @@ p80_defic_trade(all_enty) "Surplus in monetary terms over all 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 +*** diagnostic parameter for NA detection in q01_cesIO +p80_CesNACheck(ttot,all_regi,all_in) "Diagnostic parameter to reproduce the term inside the log of the CES function. This can be used to debug error that an expression in q01_cesIO is NA" + +*LB* other 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" diff --git a/modules/80_optimization/nash/solve.gms b/modules/80_optimization/nash/solve.gms index 45e2e9f9e..b939126ce 100644 --- a/modules/80_optimization/nash/solve.gms +++ b/modules/80_optimization/nash/solve.gms @@ -31,6 +31,50 @@ $endif.repeatNonOpt regi(all_regi) = YES; + !! ---------------------------------------------------------------------------------------- + !! Debugging Code for Execution Errors: + !! This is a blueprint for debugging execution errors like NA values in equations. + !! It serves to identify the problematic set element combinations and print them to the full.log file. + !! The code can be used as a basis to debug similar problems in other equations. + !! ---------------------------------------------------------------------------------------- + !! Check for NAs in the log of the q01_cesIO equation + !! Calculate expression inside log of q01_cesIO equation + loop(out $ ( ipf(out) ), + p80_CesNACheck(t,all_regi,out) = + sum(cesOut2cesIn(out,in), + pm_cesdata(t,all_regi,in,"xi") + * exp( + log( + pm_cesdata(t,all_regi,in,"eff") + * vm_effGr.l(t,all_regi,in) + * vm_damageProdFactor.l(t,all_regi,in) + * vm_cesIO.l(t,all_regi,in) + ) + * pm_cesdata(t,all_regi,out,"rho") + ) + ); + ); + + !! Check for problematic values in p80_CesNACheck (NA, 0, negative values) + put logfile; + put "Checking for possible NA expressions in q01_cesIO for region " all_regi.tl /; + + if (smax((t,out)$( ipf(out) AND (p80_CesNACheck(t,all_regi,out) = NA OR p80_CesNACheck(t,all_regi,out) le 0) ), + 1), + put "Warning: p80_CesNACheck issues found:" /; + loop ((t,out)$( ipf(out) AND (p80_CesNACheck(t,all_regi,out) = NA OR p80_CesNACheck(t,all_regi,out) le 0) ), + put " t=" t.tl:0, " out=" out.tl:0, " all_regi=" all_regi.tl:0, + " value=" p80_CesNACheck(t,all_regi,out):15:10 /; + ); + else + put "No issues found in p80_CesNACheck for region " all_regi.tl /; + ); + putclose logfile " " /; + + !! End Debugging Code for Execution Errors + !! ---------------------------------------------------------------------------------------- + + if (execError > 0, execute_unload "abort.gdx"; abort "at least one execution error occured, possibly in the loop"; From 71d1b442333cf7649a6ba3e0e4400ae9c334c1f2 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Thu, 21 May 2026 15:35:45 +0200 Subject: [PATCH 34/38] update ariadne scenario config; remove outdated scenarios and remove too strict bounds / biomass limit in calibration run for better calibration results --- config/scenario_config_21_EU11_ARIADNE.csv | 26 ++++++++++------------ 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/config/scenario_config_21_EU11_ARIADNE.csv b/config/scenario_config_21_EU11_ARIADNE.csv index cd4cd0f67..bfe63413b 100644 --- a/config/scenario_config_21_EU11_ARIADNE.csv +++ b/config/scenario_config_21_EU11_ARIADNE.csv @@ -1,14 +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_seFeSectorShareDevMethod;subsidizeLearning;trade;cm_trade_SE_exog;c_ccsinjecratescen;c_ccsinjecrateRegi;cm_ccsinjeCost;cm_frac_NetNegEmi;cm_bioprod_regi_lim;c_regi_earlyreti_rate;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_ind_energy_limit;cm_ind_energy_limit_manual;cm_optimisticMAC;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_expGrowth;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_regiDiff;techpol;cm_RenShareTargets;regipol;cm_regiExoPrice;cm_emiMktTarget;cm_emiMktTarget_tolerance;cm_regiExoPrice_fromFile;cm_VREminCap_Ger;cm_NucRegiPol;cm_CoalRegiPol;cm_EDGEtr_scen;cm_emiscen;cm_multigasscen;cm_GDPpopScen;cm_demScen;cm_startyear;path_gdx;path_gdx_ref -# _____Reference Runs_____;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Calib_Ariadne_NPi;0;;Ariadne calibration NPI2025 run, differs from standard SSP2 calibration run by some biomass switches (limited biomass potential for Germany/EU, 1st generation biomass phase-out);calibrate;;;;;;;;;;;;;;;DEU 1.1, EU27_regi 7.5;;;EU27_regi.pebiolc.worldPricemarkup 10;1;;;;;;;;;;;;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;;;;;;;;;;0;;;;;;;;;;;;;;2005;; -NPi;0;Calib_Ariadne_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. CO2 price reaches 200$/tCo2 by 2050. In line with ETS+ ETS2 average of UBA Projektionsbericht project of the 2025 MMS scenario. ;;;;;;;;;;se_trade;2035.2045.FRA.DEU.seel 0.045, 2030.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;2;;high;0;DEU 1.1, EU27_regi 7.5;;DEU.(biodiesel 0.15, bioeths 0.15);EU27_regi.pebiolc.worldPricemarkup 10;1;;EUR_regi, NEU_regi;GLO 15;off;;;fehob 1.75, enhb 0.5;;;ariadne_bal;2050.DEU 0.65;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 80,2030 105,2035 130,2040 155,2045 180,2050 205,2055 205,2060 205,2070 205,2080 205,2090 205,2100 205,2110 205,2130 205,2150 205);;;;;;;Mix3ICEban ;;;;;2030;;NPi -KN2045_Bal_v5;0;;Standard Ariadne scenario with GHG neutrality goal in 2045 for Germany;;;;;;;;;globallyOptimal;se_trade;2035.2045.FRA.DEU.seel 0.183, 2030.2045.ESW.DEU.seh2 0.366, 2035.2045.MEA.DEU.seliqsyn 0.366;2;;high;0;DEU 1.1, EU27_regi 7.5;EUR_regi 0.08, USA_regi 0.07, CHA_regi 0.07, CAZ_regi 0.07, JPN_regi 0.07, GLO 0.06;DEU.(biodiesel 0.15, bioeths 0.15);EU27_regi.pebiolc.worldPricemarkup 10;1;DEU -0.45;;;off;;;fehob 1.75, enhb 0.5;manual;feelhth_otherInd 1.3;ariadne_bal;2050.GLO 0.9;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;0;750;expoLinear;1.08;100;2055;6;;0;;;2030.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;GLO 0.003;;Opt;;;Mix4ICEban;;2;;;2030;/p/projects/ariadne/remind/Current/output/KN2045_Bal_v5_2026-04-28_14.21.35/fulldata.gdx;NPi -KN2045_Elec_v5;0;KN2045_Bal_v5;Scenario with high electrification, low H2 and synfuel imports;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2030.2045.ESW.DEU.seh2 0.183, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;;2040.DEU 0.7;feelhpb 1.4, fehob 1.75, enhb 0.5;;feelhth_otherInd 0.9, feelhth_chemicals 0.43, feh2_otherInd 0.7, 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_v5;0;KN2045_Bal_v5;Scenario with high H2 and synfuel use, high H2 and synfuel imports;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2030.2045.ESW.DEU.seh2 0.732, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;GLO 20;;0.1;;feelhpb 2.3, feelrhb 0.87, fehob 1.75, enhb 0.5;;feelhth_otherInd 1.6, feelhth_chemicals 1.6, feh2_otherInd 0.01, feh2_cement 0.43, 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;;;;;;; -KN2045_Elec_plus_v5;0;KN2045_Elec_v5;Scenario with high electrification, very low H2/E-fuel, more CCS;;;;;;;;;;;off;;DEU 0.0034,GLO 0.005;med;;;;;;;;;;;;;;;;ariadne_reloc;;;;;;tdh2s 5, tdh2t 5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -# Tests;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Bal_optIndCCS;0;KN2045_Bal_v5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -Calib_Ariadne_Npi_noRegiPol;0;Calib_Ariadne_NPi;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;none;;;;;;;;;;;;;;; -DEU_Calib;0;Calib_Ariadne_NPi;;;;;testOneRegi;DEU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +title;start;copyConfigFrom;.description;CES_parameters;cm_keep_presolve_gdxes ;c_keep_iteration_gdxes;cm_calibration_string;optimization;c_testOneRegi_region;cm_solver_try_max;cm_nash_mode;cm_seFeSectorShareDevMethod;subsidizeLearning;trade;cm_trade_SE_exog;c_ccsinjecratescen;c_ccsinjecrateRegi;cm_ccsinjeCost;cm_frac_NetNegEmi;cm_bioprod_regi_lim;c_regi_earlyreti_rate;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_ind_energy_limit;cm_ind_energy_limit_manual;cm_optimisticMAC;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_expGrowth;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_regiDiff;techpol;cm_RenShareTargets;regipol;cm_regiExoPrice;cm_emiMktTarget;cm_emiMktTarget_tolerance;cm_regiExoPrice_fromFile;cm_VREminCap_Ger;cm_NucRegiPol;cm_CoalRegiPol;cm_EDGEtr_scen;cm_emiscen;cm_multigasscen;cm_GDPpopScen;cm_demScen;cm_startyear;path_gdx;path_gdx_ref +# _____Reference Runs_____;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Calib_Ariadne_NPi;0;;Ariadne calibration NPI2025 run, differs from standard SSP2 calibration run by some biomass switches (limited biomass potential for Germany/EU, 1st generation biomass phase-out);calibrate;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;;;;;;;;;;0;none;;;;;;;;;;;;;2005;; +NPi;0;Calib_Ariadne_NPi;National Policies implemented;load;;;;;;;;;;;;;;;;DEU 1.1, EU27_regi 7.5;;;EU27_regi.pebiolc.worldPricemarkup 100;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;regiCarbonPrice;;;;;;;;;;;;;;; +# ____ Standard Scenarios______;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +CurrentPolicies;0;NPi;Current Policies Scenario for Germany including latest credible developments from Fit for 55 and Ampel government. CO2 price reaches 200$/tCo2 by 2050. In line with ETS+ ETS2 average of UBA Projektionsbericht project of the 2025 MMS scenario. ;;;;;;;;;;;se_trade;2035.2045.FRA.DEU.seel 0.045, 2030.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;2;;high;0;DEU 1.1, EU27_regi 7.5;;DEU.(biodiesel 0.15, bioeths 0.15);EU27_regi.pebiolc.worldPricemarkup 100;1;;EUR_regi, NEU_regi;GLO 15;off;;;fehob 1.75, enhb 0.5;;;ariadne_bal;2050.DEU 0.65;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 80,2030 105,2035 130,2040 155,2045 180,2050 205,2055 205,2060 205,2070 205,2080 205,2090 205,2100 205,2110 205,2130 205,2150 205);;;;;;;Mix3ICEban ;;;;;2030;;NPi +KN2045_Bal_v5;0;;Standard Ariadne scenario with GHG neutrality goal in 2045 for Germany;;1;;;;;;;;globallyOptimal;se_trade;2035.2045.FRA.DEU.seel 0.183, 2030.2045.ESW.DEU.seh2 0.366, 2035.2045.MEA.DEU.seliqsyn 0.366;2;;high;0;DEU 1.1, EU27_regi 7.5;EUR_regi 0.08, USA_regi 0.07, CHA_regi 0.07, CAZ_regi 0.07, JPN_regi 0.07, GLO 0.06;DEU.(biodiesel 0.15, bioeths 0.15);EU27_regi.pebiolc.worldPricemarkup 100;1;DEU -0.45;;;off;;;fehob 1.75, enhb 0.5;manual;feelhth_otherInd 1.3;ariadne_bal;2050.GLO 0.9;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;0;750;expoLinear;1.08;100;2055;6;;0;;;2030.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;GLO 0.003;;Opt;;;Mix4ICEban;;2;;;2030;/p/projects/ariadne/remind/Current/output/KN2045_Bal_v5_2026-04-28_14.21.35/fulldata.gdx;NPi +KN2045_Elec_v5;0;KN2045_Bal_v5;Scenario with high electrification, low H2 and synfuel imports;;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2030.2045.ESW.DEU.seh2 0.183, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;;2040.DEU 0.7;feelhpb 1.4, fehob 1.75, enhb 0.5;;feelhth_otherInd 0.9, feelhth_chemicals 0.43, feh2_otherInd 0.7, 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_v5;0;KN2045_Bal_v5;Scenario with high H2 and synfuel use, high H2 and synfuel imports;;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2030.2045.ESW.DEU.seh2 0.732, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;GLO 20;;0.1;;feelhpb 2.3, feelrhb 0.87, fehob 1.75, enhb 0.5;;feelhth_otherInd 1.6, feelhth_chemicals 1.6, feh2_otherInd 0.01, feh2_cement 0.43, 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;;;;;;; +KN2045_Elec_plus_v5;0;KN2045_Elec_v5;Scenario with high electrification, very low H2/E-fuel, more CCS;;;;;;;;;;;;off;;DEU 0.0034,GLO 0.005;med;;;;;;;;;;;;;;;;ariadne_reloc;;;;;;tdh2s 5, tdh2t 5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +# Tests;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Npi_AsInCalib;0;Calib_Ariadne_NPi;;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; From c4eccaae861a956413821f3b4cbe862ff00fb9a4 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Tue, 26 May 2026 15:14:32 +0200 Subject: [PATCH 35/38] increase solar PV bounds for Germany in 2025 reflecting current data --- modules/47_regipol/regiCarbonPrice/bounds.gms | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/47_regipol/regiCarbonPrice/bounds.gms b/modules/47_regipol/regiCarbonPrice/bounds.gms index e8df4c353..9c7f57e13 100644 --- a/modules/47_regipol/regiCarbonPrice/bounds.gms +++ b/modules/47_regipol/regiCarbonPrice/bounds.gms @@ -30,7 +30,7 @@ $ifThen.tech_bounds_2025 "%cm_tech_bounds_2025%" == "on" loop(regi$(sameAs(regi,"DEU")), *' solar PV p47_histCap("2020",regi,"spv")=51; - p47_histCap("2025",regi,"spv")=107; + p47_histCap("2025",regi,"spv")=120; *' onshore wind p47_histCap("2020",regi,"windon")=54; p47_histCap("2025",regi,"windon")=68; @@ -42,10 +42,10 @@ loop(regi$(sameAs(regi,"DEU")), ); *' Set bounds on historical capacity for non-zero entries of p47_histCap, -*' 10% flexibility for model to deviate from historical data +*' 5% flexibility for model to deviate from historical data loop((ttot,regi,te)$(p47_histCap(ttot,regi,te)), - vm_cap.lo(ttot,regi,te,"1") = 0.9 * p47_histCap(ttot,regi,te) * 0.001; !! convert from GW to TW - vm_cap.up(ttot,regi,te,"1") = 1.1 * p47_histCap(ttot,regi,te) * 0.001; !! convert from GW to TW + vm_cap.lo(ttot,regi,te,"1") = 0.95 * p47_histCap(ttot,regi,te) * 0.001; !! convert from GW to TW + vm_cap.up(ttot,regi,te,"1") = 1.05 * p47_histCap(ttot,regi,te) * 0.001; !! convert from GW to TW ); $endIf.tech_bounds_2025 From b3ed6d02a7f011f4ccaf28613ecee627e60854b9 Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Tue, 26 May 2026 15:15:28 +0200 Subject: [PATCH 36/38] remove minimal lower bound on industry feso demand to avoid infeasibilities --- modules/37_industry/subsectors/bounds.gms | 3 --- 1 file changed, 3 deletions(-) diff --git a/modules/37_industry/subsectors/bounds.gms b/modules/37_industry/subsectors/bounds.gms index f004e510f..8d853a67e 100755 --- a/modules/37_industry/subsectors/bounds.gms +++ b/modules/37_industry/subsectors/bounds.gms @@ -163,7 +163,4 @@ loop ((ue_industry_dyn37(in),regi_groupExt(regi_fxDem37(ext_regi),regi)), ); $endif.fixedUE_scenario -!! Fix to avoid reoccurring random infeasibilities. May need to be excluded if e.g. synfuels (or something else) are set to zero. -vm_demFeSector_afterTax.lo(t,regi,entySe,"fesos","indst",emiMkt)$(NOT sameAs(emiMkt, "other")) = 1e-16; - *** EOF ./modules/37_industry/subsectors/bounds.gms From b6e1314fe19860f7347c3479bd7ec0e01c0a3b5a Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Tue, 26 May 2026 15:33:38 +0200 Subject: [PATCH 37/38] add parameter to save convergence messages and market failures over iterations in nash postsolve --- modules/80_optimization/nash/declarations.gms | 8 ++++++-- modules/80_optimization/nash/postsolve.gms | 5 +++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/modules/80_optimization/nash/declarations.gms b/modules/80_optimization/nash/declarations.gms index 736b49051..cd2295092 100644 --- a/modules/80_optimization/nash/declarations.gms +++ b/modules/80_optimization/nash/declarations.gms @@ -60,8 +60,12 @@ p80_repy_iteration(all_regi,solveinfo80,iteration) "summary report from solver i p80_repyLastOptim(all_regi,solveinfo80) "p80_repy from last iteration" p80_repy_thisSolitr(all_regi,solveinfo80) "p80_repy from the current solitr - only shows results for regions that were run in this solItr" p80_repy_nashitr_solitr(all_regi,solveinfo80,iteration,sol_itr) "summary report from solver in nash iteration and solver iteration" -p80_messageFailedMarket(tall,all_enty) "nash display helper" -p80_messageShow(convMessage80) "nash display helper" +p80_messageFailedMarket(tall,all_enty) "shows timesteps and traded goods for which the market surplus was above the tolerance, thus indicating that the Nash iteration did not converge for these items" +p80_messageShow(convMessage80) "shows all convergence criteria which were not met in this iteration" +p80_messageFailedMarket_iter(tall,all_enty,iteration) "shows p80_messageFailedMarket over iterations" +p80_messageShow_iter(convMessage80,iteration) "shows p80_messageShow over iterations" + + p80_trackConsecFail(all_regi) "Parameter to keep track of consecutive solve failures of regions in Nash mode." p80_curracc(ttot,all_regi) "current account" diff --git a/modules/80_optimization/nash/postsolve.gms b/modules/80_optimization/nash/postsolve.gms index dc3bd518b..d90ec06aa 100644 --- a/modules/80_optimization/nash/postsolve.gms +++ b/modules/80_optimization/nash/postsolve.gms @@ -465,6 +465,11 @@ $ifthen.internalizeDamages not "%internalizeDamages%" == "off" ); $endIf.internalizeDamages + +*** save failed markets and criteria for non-convergence over iterations +p80_messageFailedMarket_iter(tall,all_enty,iteration) = p80_messageFailedMarket(tall,all_enty); +p80_messageShow_iter(convMessage80,iteration) = p80_messageShow(convMessage80); + display "####"; display "Convergence diagnostics"; display "Iteration number: "; From f514a60fb037691ef0ac94ce216c55014bf1697c Mon Sep 17 00:00:00 2001 From: Felix Schreyer Date: Tue, 26 May 2026 15:33:50 +0200 Subject: [PATCH 38/38] update ariadne scenario config --- config/scenario_config_21_EU11_ARIADNE.csv | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/config/scenario_config_21_EU11_ARIADNE.csv b/config/scenario_config_21_EU11_ARIADNE.csv index bfe63413b..89a0c5a93 100644 --- a/config/scenario_config_21_EU11_ARIADNE.csv +++ b/config/scenario_config_21_EU11_ARIADNE.csv @@ -1,12 +1,13 @@ title;start;copyConfigFrom;.description;CES_parameters;cm_keep_presolve_gdxes ;c_keep_iteration_gdxes;cm_calibration_string;optimization;c_testOneRegi_region;cm_solver_try_max;cm_nash_mode;cm_seFeSectorShareDevMethod;subsidizeLearning;trade;cm_trade_SE_exog;c_ccsinjecratescen;c_ccsinjecrateRegi;cm_ccsinjeCost;cm_frac_NetNegEmi;cm_bioprod_regi_lim;c_regi_earlyreti_rate;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_ind_energy_limit;cm_ind_energy_limit_manual;cm_optimisticMAC;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_expGrowth;cm_taxCO2_startyear;cm_peakBudgYr;cm_taxCO2_regiDiff;techpol;cm_RenShareTargets;regipol;cm_regiExoPrice;cm_emiMktTarget;cm_emiMktTarget_tolerance;cm_regiExoPrice_fromFile;cm_VREminCap_Ger;cm_NucRegiPol;cm_CoalRegiPol;cm_EDGEtr_scen;cm_emiscen;cm_multigasscen;cm_GDPpopScen;cm_demScen;cm_startyear;path_gdx;path_gdx_ref # _____Reference Runs_____;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Calib_Ariadne_NPi;0;;Ariadne calibration NPI2025 run, differs from standard SSP2 calibration run by some biomass switches (limited biomass potential for Germany/EU, 1st generation biomass phase-out);calibrate;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;./config/regionmapping_21_EU11.csv;./config/extramapping_EU27.csv;;;;;;;;;;0;none;;;;;;;;;;;;;2005;; -NPi;0;Calib_Ariadne_NPi;National Policies implemented;load;;;;;;;;;;;;;;;;DEU 1.1, EU27_regi 7.5;;;EU27_regi.pebiolc.worldPricemarkup 100;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;regiCarbonPrice;;;;;;;;;;;;;;; +NPi;0;Calib_Ariadne_NPi;National Policies implemented;load;;;;;;;;;;;;;;;;DEU 1.4, EU27_regi 7.5;;;EU27_regi.pebiolc.worldPricemarkup 100;1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;regiCarbonPrice;;;;;;;;;;;;;;; # ____ Standard Scenarios______;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -CurrentPolicies;0;NPi;Current Policies Scenario for Germany including latest credible developments from Fit for 55 and Ampel government. CO2 price reaches 200$/tCo2 by 2050. In line with ETS+ ETS2 average of UBA Projektionsbericht project of the 2025 MMS scenario. ;;;;;;;;;;;se_trade;2035.2045.FRA.DEU.seel 0.045, 2030.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;2;;high;0;DEU 1.1, EU27_regi 7.5;;DEU.(biodiesel 0.15, bioeths 0.15);EU27_regi.pebiolc.worldPricemarkup 100;1;;EUR_regi, NEU_regi;GLO 15;off;;;fehob 1.75, enhb 0.5;;;ariadne_bal;2050.DEU 0.65;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 80,2030 105,2035 130,2040 155,2045 180,2050 205,2055 205,2060 205,2070 205,2080 205,2090 205,2100 205,2110 205,2130 205,2150 205);;;;;;;Mix3ICEban ;;;;;2030;;NPi -KN2045_Bal_v5;0;;Standard Ariadne scenario with GHG neutrality goal in 2045 for Germany;;1;;;;;;;;globallyOptimal;se_trade;2035.2045.FRA.DEU.seel 0.183, 2030.2045.ESW.DEU.seh2 0.366, 2035.2045.MEA.DEU.seliqsyn 0.366;2;;high;0;DEU 1.1, EU27_regi 7.5;EUR_regi 0.08, USA_regi 0.07, CHA_regi 0.07, CAZ_regi 0.07, JPN_regi 0.07, GLO 0.06;DEU.(biodiesel 0.15, bioeths 0.15);EU27_regi.pebiolc.worldPricemarkup 100;1;DEU -0.45;;;off;;;fehob 1.75, enhb 0.5;manual;feelhth_otherInd 1.3;ariadne_bal;2050.GLO 0.9;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;0;750;expoLinear;1.08;100;2055;6;;0;;;2030.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;GLO 0.003;;Opt;;;Mix4ICEban;;2;;;2030;/p/projects/ariadne/remind/Current/output/KN2045_Bal_v5_2026-04-28_14.21.35/fulldata.gdx;NPi +CurrentPolicies;0;NPi;Current Policies Scenario for Germany including latest credible developments from Fit for 55 and Ampel government. CO2 price reaches 200$/tCo2 by 2050. In line with ETS+ ETS2 average of UBA Projektionsbericht project of the 2025 MMS scenario. ;;;;;;;;;;;se_trade;2035.2045.FRA.DEU.seel 0.045, 2030.2045.ESW.DEU.seh2 0.091, 2035.2045.MEA.DEU.seliqsyn 0.091;2;;high;0;DEU 1.4, EU27_regi 7.5;;DEU.(biodiesel 0.15, bioeths 0.15);EU27_regi.pebiolc.worldPricemarkup 100;1;;EUR_regi, NEU_regi;GLO 15;off;;;fehob 1.75, enhb 0.5;;;ariadne_bal;2050.DEU 0.65;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 80,2030 105,2035 130,2040 155,2045 180,2050 205,2055 205,2060 205,2070 205,2080 205,2090 205,2100 205,2110 205,2130 205,2150 205);;;;;;;Mix3ICEban ;;;;;2030;;NPi +KN2045_Bal_v5;0;;Standard Ariadne scenario with GHG neutrality goal in 2045 for Germany;;1;;;;;;;;globallyOptimal;se_trade;2035.2045.FRA.DEU.seel 0.183, 2030.2045.ESW.DEU.seh2 0.366, 2035.2045.MEA.DEU.seliqsyn 0.366;2;;high;0;DEU 1.4, EU27_regi 7.5;EUR_regi 0.08, USA_regi 0.07, CHA_regi 0.07, CAZ_regi 0.07, JPN_regi 0.07, GLO 0.06;DEU.(biodiesel 0.15, bioeths 0.15);EU27_regi.pebiolc.worldPricemarkup 100;1;DEU -0.45;;;off;;;fehob 1.75, enhb 0.5;manual;feelhth_otherInd 1.3;ariadne_bal;2050.GLO 0.9;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;0;750;expoLinear;1.08;100;2055;6;;0;;;2030.2045.DEU.all.year.netGHG_LULUCFGrassi 0.001;GLO 0.003;;Opt;;;Mix4ICEban;;2;;;2030;/p/projects/ariadne/remind/Current/output/KN2045_Bal_v5_2026-05-21_01.48.16/fulldata.gdx;NPi KN2045_Elec_v5;0;KN2045_Bal_v5;Scenario with high electrification, low H2 and synfuel imports;;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2030.2045.ESW.DEU.seh2 0.183, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;;;;2040.DEU 0.7;feelhpb 1.4, fehob 1.75, enhb 0.5;;feelhth_otherInd 0.9, feelhth_chemicals 0.43, feh2_otherInd 0.7, 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_v5;0;KN2045_Bal_v5;Scenario with high H2 and synfuel use, high H2 and synfuel imports;;;;;;;;;;;;2035.2045.FRA.DEU.seel 0.183, 2030.2045.ESW.DEU.seh2 0.732, 2035.2045.MEA.DEU.seliqsyn 0.366;;;;;;;;;;;;GLO 20;;0.1;;feelhpb 2.3, feelrhb 0.87, fehob 1.75, enhb 0.5;;feelhth_otherInd 1.6, feelhth_chemicals 1.6, feh2_otherInd 0.01, feh2_cement 0.43, 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;;;;;;; KN2045_Elec_plus_v5;0;KN2045_Elec_v5;Scenario with high electrification, very low H2/E-fuel, more CCS;;;;;;;;;;;;off;;DEU 0.0034,GLO 0.005;med;;;;;;;;;;;;;;;;ariadne_reloc;;;;;;tdh2s 5, tdh2t 5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; # Tests;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Npi_AsInCalib;0;Calib_Ariadne_NPi;;load;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +Bal_no2045Target;0;KN2045_Bal_v5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;off;;;;;;;;;;;;;