Make the interconnection queue constraint user-adjustable - #226
Conversation
wesleyjcole
left a comment
There was a problem hiding this comment.
Until we change this_year to 2026, the 3-year timestep solution is pretty unreasonable in 2029 without the queue constraint due to wind+tax credit overlapping with no queue constraint. An is already doing that in #221, so I think we'll be good to go.
| $(sum{(tgg,rr), cap_limit(tgg,rr,t)}) | ||
| $(sum{(tgg,rr), queue_limit(tgg,rr,t)}) | ||
| $sum{(i,newv)$tg_i(tg,i), valinv(i,newv,r,t)} | ||
| $Sw_QueueConstraintYears |
There was a problem hiding this comment.
Is this needed? Won't queue_limit be empty if the switch is set to zero?
There was a problem hiding this comment.
I just wanted to make extra sure it gets turned off when set to zero, as otherwise it's implicitly based on the interaction of this_year and the data columns included in inputs/capacity_exogenous/interconnection_queues.csv. Otherwise if someone were to add extra historical years of data, or set this_year to something in the future, the constraint would still show up even if the switch is set to zero. I'm not sure if those are realistic possibilities, but I'd feel infinitesimally better not having to worry about it.
…rtain & possible capacity when modeling 2026
Summary
This PR adds a switch,
GSw_QueueConstraintYears, indicating how many years for which to apply the interconnection queue capacity limit. My proposed default setting, applied here, is 3 years, but happy to discuss.That's motivated by a few observations from the 2026 queue data from LBNL:
It's also motivated by a few potentially unintended consequences of the pretty firm ($10,000/kW) queue constraint:
Technical details
Implementation notes
copy_files.pyto avoid adding new GAMS codeAdditional changes
inputs.h5cap_limittoqueue_limitto make it easier to findreedsplots.map_queue()functionSwitches added/removed/changed
GSw_QueueConstraintYears(default 3): How many years (starting from and includingthis_year) to apply the interconnection queue capacity constraint for (0 turns off the constraint)this_year= 2025, a setting of 1 applies the queue in 2025, a setting of 3 applies it in 2025–2027, etc. (Withthis_year= 2026 as in Update years to endogenous, this year, and minor unit upgrade in NEMS #221 it will be 2026 and 2026–2028.)Relevant sources or documentation
Validation, testing, and comparison report(s)
Here's a compare report for the USA_defaults case: results-v20260915_mainK0_USA_defaults,v20260915_queueK0_USA_defaults.pptx. With the queue constraint lifted in 2030, we see the changes noted above (endogenous H2 and offshore wind go away), in addition to a shift from PV and storage to land-based wind and gas-CC.
Here's an additional comparison with 3-year steps: results-y3_Q5,y3_Q2,y3_Q0.pptx
Here's the queue capacity with 3-year steps:

20260921
Confirmed changes relative to main with
GSw_QueueConstraintYears = 5are within the noise: results-v20260918_mainK0_USA_defaults,v20260918_queueK1_USA_Q5.pptxChecklist for author
Details to double-check
General information to guide review
Did you use LLM tools (chatbot or copilot) in the preparation of this PR? If so, describe how
No