@@ -203,6 +203,7 @@ Parameters
203203 fEnableCapacityExpansion
204204 fApplyRampConstraint 'Enable ramping constraints'
205205 fApplyFuelConstraint 'Enable fuel availability limits'
206+ fApplyGenerationPhaseout 'Enable max generation by fuel constraint (phase-out)'
206207 fApplyCapitalConstraint 'Enable total capital constraint'
207208 fEnableCSP 'Enable CSP features'
208209 fEnableStorage 'Enable storage operations'
@@ -418,6 +419,7 @@ Equations
418419* ------------------------------
419420 eFuel(z,f,y) 'Fuel consumption accounting'
420421 eFuelLimit(c,f,y) 'Fuel availability constraint'
422+ eMaxGenerationByFuel(z,tech,f,y) 'Maximum annual generation by zone-tech-fuel [GWh]'
421423
422424* ------------------------------
423425* Ramp and reserve constraints
@@ -778,6 +780,10 @@ eFuel(zfmap(z,f),y)..
778780eFuelLimit(c,f,y)$(fApplyFuelConstraint and pMaxFuelLimit(c,f,y) > 0)..
779781 sum((zcmap(z,c),zfmap(z,f)), vFuel(z,f,y)) =l= pMaxFuelLimit(c,f,y)*1e6;
780782
783+ * Phase-out constraint: limits annual generation by zone-technology-fuel combination
784+ eMaxGenerationByFuel(z,tech,f,y)$(fApplyGenerationPhaseout and pMaxGenerationByFuel(z,tech,f,y))..
785+ sum((gzmap(g,z),gtechmap(g,tech),gfmap(g,f),q,d,t), vPwrOut(g,f,q,d,t,y)*pHours(q,d,t))/1e3 =l= pMaxGenerationByFuel(z,tech,f,y);
786+
781787* Applies the minimum output requirement per capacity share.
782788eMinGen(g,q,d,t,y)$((fApplyMinGenShareAllHours and pGenData(g,"MinGenShareAllHours") > 0) and FD(q,d,t))..
783789 sum(gfmap(g,f), vPwrOut(g,f,q,d,t,y)) =g= vCap(g,y)*pGenData(g,"MinGenShareAllHours");
@@ -1215,6 +1221,7 @@ Model PA /
12151221
12161222 eVREProfile
12171223 eFuelLimit
1224+ eMaxGenerationByFuel
12181225 eCapitalConstraint
12191226 eZonalEmissions
12201227 eEmissionsCountry
0 commit comments