Skip to content

Commit 60ce430

Browse files
committed
Force committed generators (status=2) to be built at start year - fixes bug where they were optional like candidates
1 parent c2dfa69 commit 60ce430

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

epm/main.gms

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -716,6 +716,12 @@ vBuild.fx(eg,y)$(pGenData(eg,"StYr") <= sStartYear.val) = 0;
716716
* Set the upper limit for new generation builds per year, accounting for the annual build limit and year weighting
717717
vBuild.up(ng,y) = pGenData(ng,"BuildLimitperYear")*pWeightYear(y);
718718

719+
* Force committed generators (status=2) to be built at their start year.
720+
* Unlike candidates, committed generators are not optional - they must be built.
721+
* They remain in ng(g) so their CAPEX is included in total cost (unlike existing generators).
722+
* Note: BuildLimitperYear is ignored for committed generators - full capacity is built at StYr.
723+
vBuild.lo(ng,y)$(gstatusmap(ng,'committed') and (pGenData(ng,"StYr") = y.val)) = pGenData(ng,"Capacity");
724+
719725
* Define the upper limit for additional transmission capacity, subject to high transfer allowance
720726
vNewTransmissionLine.up(sTopology(z,z2),y)$fAllowTransferExpansion = symmax(pNewTransmission,z,z2,"MaximumNumOfLines");
721727

0 commit comments

Comments
 (0)