Skip to content

Bugfixes: Transmission FOM, stress hour reporting, planned transmission - #151

Merged
patrickbrown4 merged 17 commits into
mainfrom
pb/bugs
Jul 27, 2026
Merged

Bugfixes: Transmission FOM, stress hour reporting, planned transmission#151
patrickbrown4 merged 17 commits into
mainfrom
pb/bugs

Conversation

@patrickbrown4

@patrickbrown4 patrickbrown4 commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR fixes three bugs:

  1. Interzonal transmission FOM costs were high by a factor of 2
  2. A couple operational metrics for stress periods were off for years before the final solve year
  3. A couple planned transmission lines were being dropped when using non-default yearsteps

Technical details

Implementation notes

  1. Transmission FOM: Divided by 2 in both the objective function and output reporting
  2. Missing stress hours: Added a new hours_t(allh,t) parameter (like h_t(allh,t) to keep track of changing stress period hour weights over model years
  3. Missing off-year lines: Moved lines added between model years to the next modeled year in transmission.py

Additional changes

  • Added a new checkbox to the PR template, reminding the author to make sure new objective-function parameters are added to the objective_function_params.yaml used in check_inputs.py
  • Removed the sitemap.h5 and sc_point_gid_old2new.csv files, which are out of date (thanks @sriharisundar for noticing)
  • reeds.io.get_folder_size(): Now reports total folder size instead of just outputs; changed units to MB to avoid too much rounding in compare_cases.py

Issues resolved

Validation, testing, and comparison report(s)

20260724

Here's an updated USA_defaults comparison: results-v20260724_mainK0_USA_defaults,v20260724_bugsK0_USA_defaults.pptx. The differences are pretty much the same as in the 20260716 comparison above.

Checklist for author

Details to double-check

  • Charge code provided to reviewers
  • Included comparison reports for appropriate test cases
  • Code formatting standardized
  • Reusable functions used where possible instead of copy/pasted code

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
  • No substantive impact on folder size for full-US reference case
  • 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

@patrickbrown4
patrickbrown4 requested a review from atpham88 July 17, 2026 18:30

@atpham88 atpham88 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks very much Patrick. I just have 2 small comments.

Comment thread reeds/core/setup/d_objective.gms Outdated
Comment thread reeds/core/setup/d_objective.gms
@patrickbrown4
patrickbrown4 merged commit 52cef1e into main Jul 27, 2026
12 checks passed
@patrickbrown4
patrickbrown4 deleted the pb/bugs branch July 27, 2026 17:02
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.

2 participants