Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Increase power sector minimal back-up capacity requirement and reintroduce constraint for minimal electrolysis capacities at a certain VRE share #1789

Merged
merged 6 commits into from
Sep 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
[[#1767](https://github.com/remindmodel/remind/pull/1767)]
- **33_CDR** added ocean alkalinity enhancement to the CDR portfolio (OAE is turned off by default)
[[#1777](https://github.com/remindmodel/remind/pull/1777)]
- **32_power** increase minimum required dispatchable back-up capacity for VRE integration
[[#1789](https://github.com/remindmodel/remind/pull/1789)]
- **scripts** integrate automated scenario validation via piamValidation as output script
[[#1790](https://github.com/remindmodel/remind/pull/1790)]

Expand Down
6 changes: 6 additions & 0 deletions modules/32_power/IntC/datainput.gms
Original file line number Diff line number Diff line change
Expand Up @@ -116,4 +116,10 @@ loop(ext_regi$f32_cm_PriceDurSlope_elh2(ext_regi),
*** The value of 1.1 is derived from the regression of the German Langfristzenarien.
p32_flexSeelShare_slope(t,regi,"elh2") = 1.1;

*** Elh2VREcap phase-in factor
p32_phaseInElh2VREcap(t)$(t.val < 2030) = 0;
p32_phaseInElh2VREcap("2030") = 0.25;
p32_phaseInElh2VREcap("2035") = 0.5;
p32_phaseInElh2VREcap(t)$(t.val > 2035) = 1;

*** EOF ./modules/32_power/IntC/datainput.gms
2 changes: 2 additions & 0 deletions modules/32_power/IntC/declarations.gms
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ parameters
o32_dispatchDownPe2se(ttot,all_regi,all_te) "output parameter to check by how much a pe2se te reduced its output below the normal, in % of the normal output."
p32_shThresholdTotVREAddIntCost(ttot) "Total VRE share threshold above which additional integration challenges arise. Increases with time as eg in 2030, there is still little experience with managing systems with 80% VRE share. Unit: Percent"
p32_FactorAddIntCostTotVRE "Multiplicative factor that influences how much the total VRE share increases integration challenges"
p32_phaseInElh2VREcap(ttot) "phase-in factor for electrolysis capacities built from stored VRE electricity, scale up from 2030 to 2040"
p32_flexSeelShare_slope(ttot,all_regi,all_te) "Slope of relationship between average electricity price for flexible technology and share of this technology in total electricity demand. Unit: [ % percentage of average electricity price / % share in electricity demand]."
;

Expand Down Expand Up @@ -48,6 +49,7 @@ equations
q32_operatingReserve(ttot,all_regi) "operating reserve for necessary flexibility"
q32_h2turbVREcapfromTestor(tall,all_regi) "calculate capacities of dummy seel<--h2 technology from storXXX technologies"
q32_h2turbVREcapfromTestorUp(ttot,all_regi) "constraint h2turbVRE hydrogen turbines to be only built together with storage capacities"
q32_elh2VREcapfromTestor(tall,all_regi) "calculate capacities of dummy seel-->h2 technology from storXXX technologies"
q32_flexAdj(ttot,all_regi,all_te) "calculate flexibility benefit or cost per flexible technology to be used by flexibility tax"
q32_flexPriceShareMin(ttot,all_regi,all_te) "calculate miniumum share of average electricity that flexible technologies can see"
q32_flexPriceShareVRE(ttot,all_regi,all_te) "calculate miniumum share of average electricity that flexible technologies can see given the current VRE share"
Expand Down
7 changes: 7 additions & 0 deletions modules/32_power/IntC/equations.gms
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,13 @@ q32_h2turbVREcapfromTestorUp(t,regi)..
p32_storageCap(te,"h2turbVREcapratio") * vm_cap(t,regi,te,"1") )
;

*** build additional electrolysis capacities with stored VRE electricity, phase-in from 2030 to 2040
q32_elh2VREcapfromTestor(t,regi)..
vm_cap(t,regi,"elh2","1")
=g=
sum(te$teStor(te), p32_storageCap(te,"elh2VREcapratio") * vm_cap(t,regi,te,"1") ) * p32_phaseInElh2VREcap(t)
;


***---------------------------------------------------------------------------
*' Definition of capacity constraints for CHP technologies:
Expand Down
2 changes: 1 addition & 1 deletion modules/32_power/IntC/input/f32_storageCap.prn
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
*** SOF ./modules/32_power/IntC/input/storageCap.prn
storspv storwind storcsp
elh2VREcapratio 0.16 0.12 0.12
h2turbVREcapratio 0.6 0.45 0.45
h2turbVREcapratio 1.2 0.90 0.90
batteryVREcapRatio 3 1.1 0

*** EOF ./modules/32_power/IntC/input/storageCap.prn
Loading