From 4ff329c5ce617af07345123b607087167abd9864 Mon Sep 17 00:00:00 2001 From: lea-hayez Date: Tue, 13 Jan 2026 11:47:05 +0100 Subject: [PATCH 01/16] add new input data --- modules/40_techpol/NPi2025/datainput.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/40_techpol/NPi2025/datainput.gms b/modules/40_techpol/NPi2025/datainput.gms index 95a3503c77..f6a37dd5b2 100644 --- a/modules/40_techpol/NPi2025/datainput.gms +++ b/modules/40_techpol/NPi2025/datainput.gms @@ -15,7 +15,7 @@ Table f40_TechBound(ttot,all_regi,NPi_version,all_te) "Table for all NPi versions with NPi capacity targets (GW)" $offlisting $ondelim -$include "./modules/40_techpol/NPi2025/input/f40_NewClimate.cs3r" +$include "./modules/40_techpol/NPi2025/input/f40_NewClimate-new.cs3r" $offdelim $onlisting ; From 303f40f2a116b74eb984c236d1437f11b8805a73 Mon Sep 17 00:00:00 2001 From: lea-hayez Date: Wed, 14 Jan 2026 11:34:20 +0100 Subject: [PATCH 02/16] add coal bound --- modules/40_techpol/NPi2025/bounds.gms | 4 +--- modules/40_techpol/NPi2025/declarations.gms | 1 + modules/40_techpol/NPi2025/equations.gms | 10 +++++++++- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/modules/40_techpol/NPi2025/bounds.gms b/modules/40_techpol/NPi2025/bounds.gms index 66caa99b14..098d48337f 100644 --- a/modules/40_techpol/NPi2025/bounds.gms +++ b/modules/40_techpol/NPi2025/bounds.gms @@ -15,8 +15,6 @@ *------------------------------------------------------------------------------------ -*** Léa to do: technologies still missing are h2 to electricity and "coal to electricity" - *** Keep historical data until 2020 *** AM the lowbound of solar and pv for 2030 to be taken from the NDCs (in GW), therefore multiplying by 0.001 for TW* *** NPi bounds are only applied after 2020, as NPi scenarios should always have cm_startyear higher than 2020. @@ -31,7 +29,7 @@ vm_cap.lo(t,regi,"wind","1")$(t.val gt 2025) = p40_TechBound(t,regi,"wind")*0.00 *vm_cap.lo(t,regi,"elh2","1")$(t.val gt 2025) = p40_TechBound(t,regi,"elh2")*0.001; *vm_cap.lo(t,regi,"geohdr","1")$(t.val gt 2025) = p40_TechBound(t,regi,"geohdr")*0.001; quick fix needs adjustments in the mrremind Inputdata generation including new IRENA vm_cap.lo(t,regi,"geohdr","1")$( (t.val gt 2025) AND sameas(regi, "OAS")) = p40_TechBound(t,regi,"geohdr")*0.001; -*vm_cap.up(t,regi,"coalchp","1")$(t.val gt 2025) = p40_TechBound(t,regi,"coalchp")*0.001; !!max bound for Canada use the netzero calculator, check coal phase out module +*vm_cap.up(t,regi,"coalchp","1",rlf)$(t.val gt 2025) = p40_TechBound(t,regi,"coalchp")*0.001; !!max bound for Canada use the netzero calculator, check coal phase out module *vm_cap.lo(t,regi,"bioigcc","1")$(t.val gt 2025) = p40_TechBound(t,regi,"bioigcc")*0.001; !!regular bioenergy bound diff --git a/modules/40_techpol/NPi2025/declarations.gms b/modules/40_techpol/NPi2025/declarations.gms index fad9a0ac90..9a48ad249e 100644 --- a/modules/40_techpol/NPi2025/declarations.gms +++ b/modules/40_techpol/NPi2025/declarations.gms @@ -22,6 +22,7 @@ Parameter Equation q40_ElecBioBound "equation low-carbon push technology policy for bio power" q40_windBound "lower bound on combined wind onshore and offshore" + q40_coalBound "upper bound on coal power technologies" ; *------------------------------------------------------------------------------------ diff --git a/modules/40_techpol/NPi2025/equations.gms b/modules/40_techpol/NPi2025/equations.gms index c979f20b7b..c0d32b4cbb 100644 --- a/modules/40_techpol/NPi2025/equations.gms +++ b/modules/40_techpol/NPi2025/equations.gms @@ -18,7 +18,7 @@ q40_ElecBioBound(t,regi)$(t.val gt 2025).. sum(te2rlf(te,rlf)$(sameas(te,"biochp") OR sameas(te,"bioigcc") OR sameas(te,"bioigccc")), vm_cap(t,regi,te,rlf)) =g= p40_ElecBioBound(t,regi) * 0.001 -; +; *** windoffshore-todo: as long as there is a "wind" target, it is for the sum windon+windoff q40_windBound(t,regi)$(t.val gt 2025 AND p40_TechBound(t,regi,"wind") gt 0).. @@ -26,6 +26,14 @@ q40_windBound(t,regi)$(t.val gt 2025 AND p40_TechBound(t,regi,"wind") gt 0).. =g= p40_TechBound(t,regi,"wind") * 0.001 ; +*** coal bound: all technologies transforming PE coal into SE electricity +q40_coalBound(t,regi)$(t.val gt 2025 AND p40_TechBound(t,regi,"coalchp") gt 0).. + sum(pe2se("pecoal","seel",te), + sum(te2rlf(te,rlf), + vm_cap(t,regi,te,rlf))) + =l= p40_TechBound(t,regi,"coalchp") * 0.001 +; + *------------------------------------------------------------------------------------ *------------------------------------------------------------------------------------ *** Renewable Share Targets From 89b7d6d5f3c36f0f401543994f668aef202cea1a Mon Sep 17 00:00:00 2001 From: lea-hayez Date: Fri, 16 Jan 2026 12:34:33 +0100 Subject: [PATCH 03/16] limit coal bound to EUR and CAZ relax geothermal bound to all regions --- modules/40_techpol/NPi2025/bounds.gms | 4 ++-- modules/40_techpol/NPi2025/equations.gms | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/modules/40_techpol/NPi2025/bounds.gms b/modules/40_techpol/NPi2025/bounds.gms index 098d48337f..7c263846f3 100644 --- a/modules/40_techpol/NPi2025/bounds.gms +++ b/modules/40_techpol/NPi2025/bounds.gms @@ -27,8 +27,8 @@ vm_cap.lo(t,regi,"windon","1")$(t.val gt 2025) = p40_TechBound(t,regi,"windon")* vm_cap.lo(t,regi,"windoff","1")$(t.val gt 2025) = p40_TechBound(t,regi,"windoff")*0.001; vm_cap.lo(t,regi,"wind","1")$(t.val gt 2025) = p40_TechBound(t,regi,"wind")*0.001; *vm_cap.lo(t,regi,"elh2","1")$(t.val gt 2025) = p40_TechBound(t,regi,"elh2")*0.001; -*vm_cap.lo(t,regi,"geohdr","1")$(t.val gt 2025) = p40_TechBound(t,regi,"geohdr")*0.001; quick fix needs adjustments in the mrremind Inputdata generation including new IRENA -vm_cap.lo(t,regi,"geohdr","1")$( (t.val gt 2025) AND sameas(regi, "OAS")) = p40_TechBound(t,regi,"geohdr")*0.001; +vm_cap.lo(t,regi,"geohdr","1")$(t.val gt 2025) = p40_TechBound(t,regi,"geohdr")*0.001; quick fix needs adjustments in the mrremind Inputdata generation including new IRENA +*vm_cap.lo(t,regi,"geohdr","1")$( (t.val gt 2025) AND sameas(regi, "OAS")) = p40_TechBound(t,regi,"geohdr")*0.001; *vm_cap.up(t,regi,"coalchp","1",rlf)$(t.val gt 2025) = p40_TechBound(t,regi,"coalchp")*0.001; !!max bound for Canada use the netzero calculator, check coal phase out module *vm_cap.lo(t,regi,"bioigcc","1")$(t.val gt 2025) = p40_TechBound(t,regi,"bioigcc")*0.001; !!regular bioenergy bound diff --git a/modules/40_techpol/NPi2025/equations.gms b/modules/40_techpol/NPi2025/equations.gms index c0d32b4cbb..b5bcce3ca1 100644 --- a/modules/40_techpol/NPi2025/equations.gms +++ b/modules/40_techpol/NPi2025/equations.gms @@ -27,7 +27,9 @@ q40_windBound(t,regi)$(t.val gt 2025 AND p40_TechBound(t,regi,"wind") gt 0).. ; *** coal bound: all technologies transforming PE coal into SE electricity -q40_coalBound(t,regi)$(t.val gt 2025 AND p40_TechBound(t,regi,"coalchp") gt 0).. +*** only considers coal phase out in Canada and Europe +*** disregards OAS targets, to avoid artificial increase of transition speed in region building up coal capacity. +q40_coalBound(t,regi)$(t.val gt 2025 AND p40_TechBound(t,regi,"coalchp") gt 0 AND (sameas(regi,"CAZ") OR sameas(regi,"EUR")) ).. sum(pe2se("pecoal","seel",te), sum(te2rlf(te,rlf), vm_cap(t,regi,te,rlf))) From d4ed2bf6e5b02457111cf7e228d9b1534aac0772 Mon Sep 17 00:00:00 2001 From: lea-hayez Date: Fri, 16 Jan 2026 12:48:48 +0100 Subject: [PATCH 04/16] Revert "limit coal bound to EUR and CAZ" This reverts commit 89b7d6d5f3c36f0f401543994f668aef202cea1a. --- modules/40_techpol/NPi2025/bounds.gms | 4 ++-- modules/40_techpol/NPi2025/equations.gms | 4 +--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/modules/40_techpol/NPi2025/bounds.gms b/modules/40_techpol/NPi2025/bounds.gms index 7c263846f3..098d48337f 100644 --- a/modules/40_techpol/NPi2025/bounds.gms +++ b/modules/40_techpol/NPi2025/bounds.gms @@ -27,8 +27,8 @@ vm_cap.lo(t,regi,"windon","1")$(t.val gt 2025) = p40_TechBound(t,regi,"windon")* vm_cap.lo(t,regi,"windoff","1")$(t.val gt 2025) = p40_TechBound(t,regi,"windoff")*0.001; vm_cap.lo(t,regi,"wind","1")$(t.val gt 2025) = p40_TechBound(t,regi,"wind")*0.001; *vm_cap.lo(t,regi,"elh2","1")$(t.val gt 2025) = p40_TechBound(t,regi,"elh2")*0.001; -vm_cap.lo(t,regi,"geohdr","1")$(t.val gt 2025) = p40_TechBound(t,regi,"geohdr")*0.001; quick fix needs adjustments in the mrremind Inputdata generation including new IRENA -*vm_cap.lo(t,regi,"geohdr","1")$( (t.val gt 2025) AND sameas(regi, "OAS")) = p40_TechBound(t,regi,"geohdr")*0.001; +*vm_cap.lo(t,regi,"geohdr","1")$(t.val gt 2025) = p40_TechBound(t,regi,"geohdr")*0.001; quick fix needs adjustments in the mrremind Inputdata generation including new IRENA +vm_cap.lo(t,regi,"geohdr","1")$( (t.val gt 2025) AND sameas(regi, "OAS")) = p40_TechBound(t,regi,"geohdr")*0.001; *vm_cap.up(t,regi,"coalchp","1",rlf)$(t.val gt 2025) = p40_TechBound(t,regi,"coalchp")*0.001; !!max bound for Canada use the netzero calculator, check coal phase out module *vm_cap.lo(t,regi,"bioigcc","1")$(t.val gt 2025) = p40_TechBound(t,regi,"bioigcc")*0.001; !!regular bioenergy bound diff --git a/modules/40_techpol/NPi2025/equations.gms b/modules/40_techpol/NPi2025/equations.gms index b5bcce3ca1..c0d32b4cbb 100644 --- a/modules/40_techpol/NPi2025/equations.gms +++ b/modules/40_techpol/NPi2025/equations.gms @@ -27,9 +27,7 @@ q40_windBound(t,regi)$(t.val gt 2025 AND p40_TechBound(t,regi,"wind") gt 0).. ; *** coal bound: all technologies transforming PE coal into SE electricity -*** only considers coal phase out in Canada and Europe -*** disregards OAS targets, to avoid artificial increase of transition speed in region building up coal capacity. -q40_coalBound(t,regi)$(t.val gt 2025 AND p40_TechBound(t,regi,"coalchp") gt 0 AND (sameas(regi,"CAZ") OR sameas(regi,"EUR")) ).. +q40_coalBound(t,regi)$(t.val gt 2025 AND p40_TechBound(t,regi,"coalchp") gt 0).. sum(pe2se("pecoal","seel",te), sum(te2rlf(te,rlf), vm_cap(t,regi,te,rlf))) From 02110584e503b98c0f9d8e4d98d3ee55b3a7613e Mon Sep 17 00:00:00 2001 From: lea-hayez Date: Thu, 22 Jan 2026 10:26:30 +0100 Subject: [PATCH 05/16] limit coal bound to CAZ and EUR regions --- modules/40_techpol/NPi2025/equations.gms | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/40_techpol/NPi2025/equations.gms b/modules/40_techpol/NPi2025/equations.gms index c0d32b4cbb..bd8e204201 100644 --- a/modules/40_techpol/NPi2025/equations.gms +++ b/modules/40_techpol/NPi2025/equations.gms @@ -27,7 +27,11 @@ q40_windBound(t,regi)$(t.val gt 2025 AND p40_TechBound(t,regi,"wind") gt 0).. ; *** coal bound: all technologies transforming PE coal into SE electricity -q40_coalBound(t,regi)$(t.val gt 2025 AND p40_TechBound(t,regi,"coalchp") gt 0).. +*** limit to Canada (CAZ) and Europe (EUR) coal phase out +*** disregards OAS target to avoid artifical increse of transisiton speed in OAS +q40_coalBound(t,regi)$(t.val gt 2025 + AND p40_TechBound(t,regi,"coalchp") gt 0 + AND ((sameas(regi,"CAZ") OR sameas(regi,"EUR")))).. sum(pe2se("pecoal","seel",te), sum(te2rlf(te,rlf), vm_cap(t,regi,te,rlf))) From 7e2de24e9e36d8df7e280f90d296c9289b9d59b1 Mon Sep 17 00:00:00 2001 From: lea-hayez Date: Thu, 22 Jan 2026 12:18:54 +0100 Subject: [PATCH 06/16] new input data, dropped 2050 hydro target in IDN --- modules/40_techpol/NPi2025/datainput.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/40_techpol/NPi2025/datainput.gms b/modules/40_techpol/NPi2025/datainput.gms index f6a37dd5b2..8f4fe7c4ab 100644 --- a/modules/40_techpol/NPi2025/datainput.gms +++ b/modules/40_techpol/NPi2025/datainput.gms @@ -15,7 +15,7 @@ Table f40_TechBound(ttot,all_regi,NPi_version,all_te) "Table for all NPi versions with NPi capacity targets (GW)" $offlisting $ondelim -$include "./modules/40_techpol/NPi2025/input/f40_NewClimate-new.cs3r" +$include "./modules/40_techpol/NPi2025/input/f40_NewClimate-new4.cs3r" $offdelim $onlisting ; From cddef1c24b409830f513916f2f2be3b79876eba5 Mon Sep 17 00:00:00 2001 From: lea-hayez Date: Fri, 23 Jan 2026 10:16:23 +0100 Subject: [PATCH 07/16] adjust input data file path --- modules/40_techpol/NPi2025/datainput.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/40_techpol/NPi2025/datainput.gms b/modules/40_techpol/NPi2025/datainput.gms index 8f4fe7c4ab..95a3503c77 100644 --- a/modules/40_techpol/NPi2025/datainput.gms +++ b/modules/40_techpol/NPi2025/datainput.gms @@ -15,7 +15,7 @@ Table f40_TechBound(ttot,all_regi,NPi_version,all_te) "Table for all NPi versions with NPi capacity targets (GW)" $offlisting $ondelim -$include "./modules/40_techpol/NPi2025/input/f40_NewClimate-new4.cs3r" +$include "./modules/40_techpol/NPi2025/input/f40_NewClimate.cs3r" $offdelim $onlisting ; From e371ac066027600b197a4c4fa1cf2309648fd2f6 Mon Sep 17 00:00:00 2001 From: lea-hayez Date: Fri, 23 Jan 2026 11:33:36 +0100 Subject: [PATCH 08/16] adjust PR based on Felix comments --- modules/40_techpol/NPi2025/bounds.gms | 5 +---- modules/40_techpol/NPi2025/equations.gms | 3 +-- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/modules/40_techpol/NPi2025/bounds.gms b/modules/40_techpol/NPi2025/bounds.gms index 098d48337f..a0ae8b4042 100644 --- a/modules/40_techpol/NPi2025/bounds.gms +++ b/modules/40_techpol/NPi2025/bounds.gms @@ -26,11 +26,8 @@ vm_cap.lo(t,regi,"hydro","1")$(t.val gt 2025) = p40_TechBound(t,regi,"hydro")*0. vm_cap.lo(t,regi,"windon","1")$(t.val gt 2025) = p40_TechBound(t,regi,"windon")*0.001; vm_cap.lo(t,regi,"windoff","1")$(t.val gt 2025) = p40_TechBound(t,regi,"windoff")*0.001; vm_cap.lo(t,regi,"wind","1")$(t.val gt 2025) = p40_TechBound(t,regi,"wind")*0.001; -*vm_cap.lo(t,regi,"elh2","1")$(t.val gt 2025) = p40_TechBound(t,regi,"elh2")*0.001; -*vm_cap.lo(t,regi,"geohdr","1")$(t.val gt 2025) = p40_TechBound(t,regi,"geohdr")*0.001; quick fix needs adjustments in the mrremind Inputdata generation including new IRENA vm_cap.lo(t,regi,"geohdr","1")$( (t.val gt 2025) AND sameas(regi, "OAS")) = p40_TechBound(t,regi,"geohdr")*0.001; -*vm_cap.up(t,regi,"coalchp","1",rlf)$(t.val gt 2025) = p40_TechBound(t,regi,"coalchp")*0.001; !!max bound for Canada use the netzero calculator, check coal phase out module -*vm_cap.lo(t,regi,"bioigcc","1")$(t.val gt 2025) = p40_TechBound(t,regi,"bioigcc")*0.001; !!regular bioenergy bound + display vm_cap.lo; diff --git a/modules/40_techpol/NPi2025/equations.gms b/modules/40_techpol/NPi2025/equations.gms index bd8e204201..961911ffde 100644 --- a/modules/40_techpol/NPi2025/equations.gms +++ b/modules/40_techpol/NPi2025/equations.gms @@ -30,8 +30,7 @@ q40_windBound(t,regi)$(t.val gt 2025 AND p40_TechBound(t,regi,"wind") gt 0).. *** limit to Canada (CAZ) and Europe (EUR) coal phase out *** disregards OAS target to avoid artifical increse of transisiton speed in OAS q40_coalBound(t,regi)$(t.val gt 2025 - AND p40_TechBound(t,regi,"coalchp") gt 0 - AND ((sameas(regi,"CAZ") OR sameas(regi,"EUR")))).. + AND p40_TechBound(t,regi,"coalchp") gt 0).. sum(pe2se("pecoal","seel",te), sum(te2rlf(te,rlf), vm_cap(t,regi,te,rlf))) From 5ca590f77e3097ef3f18b93875a7ac1fd133b600 Mon Sep 17 00:00:00 2001 From: lea-hayez Date: Fri, 23 Jan 2026 11:50:13 +0100 Subject: [PATCH 09/16] adjust documentation --- modules/40_techpol/NPi2025/equations.gms | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/40_techpol/NPi2025/equations.gms b/modules/40_techpol/NPi2025/equations.gms index 961911ffde..8dd3ed198a 100644 --- a/modules/40_techpol/NPi2025/equations.gms +++ b/modules/40_techpol/NPi2025/equations.gms @@ -27,8 +27,6 @@ q40_windBound(t,regi)$(t.val gt 2025 AND p40_TechBound(t,regi,"wind") gt 0).. ; *** coal bound: all technologies transforming PE coal into SE electricity -*** limit to Canada (CAZ) and Europe (EUR) coal phase out -*** disregards OAS target to avoid artifical increse of transisiton speed in OAS q40_coalBound(t,regi)$(t.val gt 2025 AND p40_TechBound(t,regi,"coalchp") gt 0).. sum(pe2se("pecoal","seel",te), From 54de4aa4c794d27a117d42f2c2ba425a0337ae19 Mon Sep 17 00:00:00 2001 From: lea-hayez Date: Tue, 27 Jan 2026 15:15:11 +0100 Subject: [PATCH 10/16] use new input data which contain updated NewClimate source file --- config/default.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/default.cfg b/config/default.cfg index 52397b9691..c31c8bf98c 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.76" +cfg$inputRevision <- "7.77" #### Current CES parameter and GDX revision (commit hash) #### cfg$CESandGDXversion <- "e622df405bb622e35c7443fdccd0b49c4b98913b" From 9addc01a021fc0b6470e431aea99fc21abd86b3c Mon Sep 17 00:00:00 2001 From: lea-hayez Date: Tue, 27 Jan 2026 15:30:43 +0100 Subject: [PATCH 11/16] adjust for code check --- modules/40_techpol/NPi2025/declarations.gms | 4 ++-- modules/40_techpol/NPi2025/equations.gms | 2 +- modules/40_techpol/NPi2025/not_used.txt | 1 + 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/modules/40_techpol/NPi2025/declarations.gms b/modules/40_techpol/NPi2025/declarations.gms index 9a48ad249e..e911d9d6eb 100644 --- a/modules/40_techpol/NPi2025/declarations.gms +++ b/modules/40_techpol/NPi2025/declarations.gms @@ -15,14 +15,14 @@ Parameter p40_TechBound(ttot,all_regi,all_te) "NPI capacity targets for solar (pv, csp), wind (total, onshore, offshore), nuclear, hydro, biomass, nuclear (GW)" p40_ElecBioBound(ttot,all_regi) "level for lower bound on biomass tech. absolute capacities, in GW" - p40_CoalBound(ttot,iso_regi) "level for upper bound on absolute capacities, in GW for all technologies except electromobility" + p40_CoalCapBound(ttot,iso_regi) "level for upper bound on absolute capacities, in GW for all technologies except electromobility" ; Equation q40_ElecBioBound "equation low-carbon push technology policy for bio power" q40_windBound "lower bound on combined wind onshore and offshore" - q40_coalBound "upper bound on coal power technologies" + q40_coalCapBound "upper bound on coal power technologies" ; *------------------------------------------------------------------------------------ diff --git a/modules/40_techpol/NPi2025/equations.gms b/modules/40_techpol/NPi2025/equations.gms index 8dd3ed198a..3f7a075b5f 100644 --- a/modules/40_techpol/NPi2025/equations.gms +++ b/modules/40_techpol/NPi2025/equations.gms @@ -27,7 +27,7 @@ q40_windBound(t,regi)$(t.val gt 2025 AND p40_TechBound(t,regi,"wind") gt 0).. ; *** coal bound: all technologies transforming PE coal into SE electricity -q40_coalBound(t,regi)$(t.val gt 2025 +q40_coalCapBound(t,regi)$(t.val gt 2025 AND p40_TechBound(t,regi,"coalchp") gt 0).. sum(pe2se("pecoal","seel",te), sum(te2rlf(te,rlf), diff --git a/modules/40_techpol/NPi2025/not_used.txt b/modules/40_techpol/NPi2025/not_used.txt index 3668a4986e..a7b45609ac 100644 --- a/modules/40_techpol/NPi2025/not_used.txt +++ b/modules/40_techpol/NPi2025/not_used.txt @@ -17,3 +17,4 @@ cm_H2targets,input,questionnaire pm_pop,input,not needed pm_gdp,input,not needed p40_ElCap_RenShare,input,not needed +p40_CoalCapBound, input, not needed From 9c50beba0e54c5c373bd4dea00bddedf4dab3963 Mon Sep 17 00:00:00 2001 From: lea-hayez Date: Tue, 27 Jan 2026 16:28:22 +0100 Subject: [PATCH 12/16] adjust for code check --- modules/40_techpol/NPi2025/declarations.gms | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/40_techpol/NPi2025/declarations.gms b/modules/40_techpol/NPi2025/declarations.gms index e911d9d6eb..b262b0a5dc 100644 --- a/modules/40_techpol/NPi2025/declarations.gms +++ b/modules/40_techpol/NPi2025/declarations.gms @@ -15,7 +15,6 @@ Parameter p40_TechBound(ttot,all_regi,all_te) "NPI capacity targets for solar (pv, csp), wind (total, onshore, offshore), nuclear, hydro, biomass, nuclear (GW)" p40_ElecBioBound(ttot,all_regi) "level for lower bound on biomass tech. absolute capacities, in GW" - p40_CoalCapBound(ttot,iso_regi) "level for upper bound on absolute capacities, in GW for all technologies except electromobility" ; From c97facb8a3c3983fd4147c527c8002da2ddc1c8f Mon Sep 17 00:00:00 2001 From: lea-hayez Date: Tue, 27 Jan 2026 16:36:44 +0100 Subject: [PATCH 13/16] Revert "adjust for code check" This reverts commit 9c50beba0e54c5c373bd4dea00bddedf4dab3963. --- modules/40_techpol/NPi2025/declarations.gms | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/40_techpol/NPi2025/declarations.gms b/modules/40_techpol/NPi2025/declarations.gms index b262b0a5dc..e911d9d6eb 100644 --- a/modules/40_techpol/NPi2025/declarations.gms +++ b/modules/40_techpol/NPi2025/declarations.gms @@ -15,6 +15,7 @@ Parameter p40_TechBound(ttot,all_regi,all_te) "NPI capacity targets for solar (pv, csp), wind (total, onshore, offshore), nuclear, hydro, biomass, nuclear (GW)" p40_ElecBioBound(ttot,all_regi) "level for lower bound on biomass tech. absolute capacities, in GW" + p40_CoalCapBound(ttot,iso_regi) "level for upper bound on absolute capacities, in GW for all technologies except electromobility" ; From 285fa29a843c2d9280c4cf40e0d8d644150a83d8 Mon Sep 17 00:00:00 2001 From: lea-hayez Date: Wed, 28 Jan 2026 15:28:42 +0100 Subject: [PATCH 14/16] adjust for code check --- modules/40_techpol/NPi2025/not_used.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/40_techpol/NPi2025/not_used.txt b/modules/40_techpol/NPi2025/not_used.txt index a7b45609ac..3668a4986e 100644 --- a/modules/40_techpol/NPi2025/not_used.txt +++ b/modules/40_techpol/NPi2025/not_used.txt @@ -17,4 +17,3 @@ cm_H2targets,input,questionnaire pm_pop,input,not needed pm_gdp,input,not needed p40_ElCap_RenShare,input,not needed -p40_CoalCapBound, input, not needed From bbe7e67e2523581dd2ada9ba71022946251b190c Mon Sep 17 00:00:00 2001 From: lea-hayez Date: Wed, 4 Feb 2026 09:50:26 +0100 Subject: [PATCH 15/16] ignore coal bound --- modules/40_techpol/NPi2025/declarations.gms | 2 +- modules/40_techpol/NPi2025/equations.gms | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/modules/40_techpol/NPi2025/declarations.gms b/modules/40_techpol/NPi2025/declarations.gms index e911d9d6eb..3c000b7751 100644 --- a/modules/40_techpol/NPi2025/declarations.gms +++ b/modules/40_techpol/NPi2025/declarations.gms @@ -22,7 +22,7 @@ Parameter Equation q40_ElecBioBound "equation low-carbon push technology policy for bio power" q40_windBound "lower bound on combined wind onshore and offshore" - q40_coalCapBound "upper bound on coal power technologies" +* q40_coalCapBound "upper bound on coal power technologies" ; *------------------------------------------------------------------------------------ diff --git a/modules/40_techpol/NPi2025/equations.gms b/modules/40_techpol/NPi2025/equations.gms index 3f7a075b5f..1c65f3adf7 100644 --- a/modules/40_techpol/NPi2025/equations.gms +++ b/modules/40_techpol/NPi2025/equations.gms @@ -26,14 +26,14 @@ q40_windBound(t,regi)$(t.val gt 2025 AND p40_TechBound(t,regi,"wind") gt 0).. =g= p40_TechBound(t,regi,"wind") * 0.001 ; -*** coal bound: all technologies transforming PE coal into SE electricity -q40_coalCapBound(t,regi)$(t.val gt 2025 - AND p40_TechBound(t,regi,"coalchp") gt 0).. - sum(pe2se("pecoal","seel",te), - sum(te2rlf(te,rlf), - vm_cap(t,regi,te,rlf))) - =l= p40_TechBound(t,regi,"coalchp") * 0.001 -; +*** coal bound: all technologies transforming PE coal into SE electricity. Cannot apply to current input data, as lower bound on historical data affect strongly dynamics in OAS and CHA. +*q40_coalCapBound(t,regi)$(t.val gt 2025 +* AND p40_TechBound(t,regi,"coalchp") gt 0).. +* sum(pe2se("pecoal","seel",te), +* sum(te2rlf(te,rlf), +* vm_cap(t,regi,te,rlf))) +* =l= p40_TechBound(t,regi,"coalchp") * 0.001 +*; *------------------------------------------------------------------------------------ *------------------------------------------------------------------------------------ From 77c4d92aec94eb62097fc5b5f6e440df13f36257 Mon Sep 17 00:00:00 2001 From: lea-hayez Date: Wed, 4 Feb 2026 14:40:51 +0100 Subject: [PATCH 16/16] comment out unused parameter --- modules/40_techpol/NPi2025/declarations.gms | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/40_techpol/NPi2025/declarations.gms b/modules/40_techpol/NPi2025/declarations.gms index 3c000b7751..999cb98f48 100644 --- a/modules/40_techpol/NPi2025/declarations.gms +++ b/modules/40_techpol/NPi2025/declarations.gms @@ -15,7 +15,7 @@ Parameter p40_TechBound(ttot,all_regi,all_te) "NPI capacity targets for solar (pv, csp), wind (total, onshore, offshore), nuclear, hydro, biomass, nuclear (GW)" p40_ElecBioBound(ttot,all_regi) "level for lower bound on biomass tech. absolute capacities, in GW" - p40_CoalCapBound(ttot,iso_regi) "level for upper bound on absolute capacities, in GW for all technologies except electromobility" +* p40_CoalCapBound(ttot,iso_regi) "level for upper bound on absolute capacities, in GW for all technologies except electromobility" ;