Skip to content

2025 Supply Curves Update - #183

Open
bsergi wants to merge 31 commits into
mainfrom
bs/supply_curves
Open

2025 Supply Curves Update#183
bsergi wants to merge 31 commits into
mainfrom
bs/supply_curves

Conversation

@bsergi

@bsergi bsergi commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Summary

Updates the offshore wind and enhanced geothermal (EGS) supply curves to their 2025 versions and addresses bugs in hourlize.

Remaining to-do items:

  • Update offshore wind profiles on Zenodo.
  • Update documentation reference to 2025 reV supply curve report when available.
  • Copy supply curve data from HPC to nrelnas01 and Yampa

Technical details

  • Updated the wind-ofs and EGS supply curves to their 2025 versions as provided by the reV team.
    • Both upv and wind-ons were already using 2025 but were re-run with hourlize to confirm, which resulted in slight changes to the class assignment of some supply curve points but no changes to the total capacity
  • Updated the rev_paths.csv to include the latest paths for all technologies.
  • Fixed hourlize to work with changes introduced in Adding technology classes #12 and did some general maintenance
    • Added copy_rev_folders.py with a function to automate copying the reV data using rsync when an hourlize run is launched.
    • Removed the cases.json files; these were unnecessary once we stopped having separate supply curves by spatial resolution. The cases to run is now determined from the rev_paths.csv file, with the option to subset via arguments to run_hourlize.py
  • Updated documentation figures
    • Added a new script for reproducing these figures to docs/source/plotting_scripts; this script relies on the existing input_plots.map_supplycurves function with a few small tweaks.
    • The reV documentation report for the 2025 supply curves should be released soon, at which point we can update the references in the documentation and on Zenodo.

Issues resolved

Addresses hourlize portion of #158 .

Validation, testing, and comparison report(s)

Total capacity supply curve capacity before and after (see updated figures in the docs for the maps):

sc_totals_all (1)

All three access cases successfully solve. Changes in capacity vary depending on the case but are generally < 40 GW.

Reference:
image

Open:
image

Limited:
image

Compare cases reports:

Checklist for author

Details to double-check

  • Charge code provided to reviewers
  • Included comparison reports for appropriate test cases
  • Documentation updated if necessary
  • If input data added/modified:
    • Dollar year recorded and converted to 2004$ for GAMS
    • Timeseries are in Central Time
    • Units are specified
    • Preprocessing steps have been documented and committed to ReEDS_Input_Processing
    • New large data files handled with .h5 instead of .csv
    • If new parameters are added to d_objective.gms, they are included in objective_function_params.yaml for completeness checking
    • If spatially resolved inputs are modified, the following visualizations for each file are included in the PR description (time-averaged if the inputs are time-resolved):
      • Map of absolute values before
      • Map of absolute values after
      • Map of differences: (after - before) or (after / before)
    • If entries are added/removed/changed in the EIA-NEMS unit database:
      • Changes have been committed to ReEDS_Input_Processing
      • hourlize/resource.py was rerun to regenerate the existing/prescribed VRE capacity data
  • 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

I used copilot to help draft initial versions of the copy_rev_folders.py and supply_curve_plots.py scripts, which I subsequently modified and tested on my own.

Tag points of contact here if you would like additional review of the relevant parts of the model

bsergi added 28 commits August 4, 2026 13:14
@bsergi
bsergi marked this pull request as ready for review August 18, 2026 15:33

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.

We should probably recreate Fig29. for EGS technical potential since the supply curve is updated? Or since reV supply curves for geohydro are forthcoming so we could update it for both technologies together later.

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.

This is very handy!

Comment thread hourlize/run_hourlize.py

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.

Since the parser arguments have been modified we'll need to update README.md - specifically setup for reV supply curves, running hourlize sections.

@patrickbrown4
patrickbrown4 self-requested a review August 21, 2026 18:55
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