Skip to content

Switch to 5-year steps by default - #172

Open
patrickbrown4 wants to merge 2 commits into
mainfrom
pb/5
Open

Switch to 5-year steps by default#172
patrickbrown4 wants to merge 2 commits into
mainfrom
pb/5

Conversation

@patrickbrown4

@patrickbrown4 patrickbrown4 commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Summary

This tentative PR (to be discussed before merging) proposes a change from 3-year to 5-year steps by default.

Reasons in favor:

  • Reduces solve time for the USA_defaults case from 13 hours to ≤8 hours
  • We used 5-year steps in NTP; in that case, stakeholders often asked for results for the divisible-by-5 years, so modeling them directly makes that easier
  • Minimal impact on the 2035 and 2050 results
  • (Also reduces peak GAMS memory use, but probably doesn't affect PRAS.)

Reasons against:

  • For scenarios where policies change substantially from year to year, can gloss over shorter-timescale effects
    • But since we don't have inter-year foresight anyway, it's arguable that longer timesteps could avoid some myopic decisions

Technical details

Implementation notes

  • I kept the old default (3-year steps from 2020–2050) for the Mid_Case scenario in cases_test.csv so we can make sure it stays working.

Switches added/removed/changed

  • yearset: Changed default to 2010..2050..5 (5-year steps)

Validation, testing, and comparison report(s)

Here's a compare report for USA_defaults: results-3-yearsteps,5-yearsteps.pptx

image image

I think the changes to NPV are because we forward-fill non-modeled years instead of linearly interpolating. If we want to regularly compare NPVs for cases with different year steps, we might consider changing that. But by default it shouldn't cause a problem as long as cases with the same year steps are compared (which seems safest to me anyway).

Checklist for author

Details to double-check

  • Charge code provided to reviewers
  • Included comparison reports for appropriate test cases
  • Documentation updated if necessary (double checked and docs do not specify the default year step)

General information to guide review

  • Zero impact on results of default case
  • No large data file(s) added/modified
  • No substantive impact on runtime for full-US reference case (13h -> 8h)
  • No substantive impact on folder size for full-US reference case (4.9 GB -> 3.4 GB)
  • No change to process flow (runreeds.py, reeds/core/solve/solve.py)
  • No change to code organization
  • No change to package requirements (environment.yml or Project.toml)

Did you use LLM tools (chatbot or copilot) in the preparation of this PR? If so, describe how

Nope

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant