Skip to content

v0.9.0 Release Candidate - #788

Merged
ktehranchi merged 16 commits into
masterfrom
develop
Aug 28, 2026
Merged

ktehranchi merged 16 commits into
masterfrom
develop

Conversation

@ktehranchi

@ktehranchi ktehranchi commented Aug 28, 2026 •

Copy link
Copy Markdown
Collaborator

Changes proposed in this Pull Request

v0.9.0 release candidate — merges develop into master.

15 commits since the v0.8.0 line:

master has been merged into develop (c65263e) to resolve a conflict in docs/source/publications.bib: the PLOS Climate demand-response paper had been added on both sides under different keys. Kept master's barnes_2026a and dropped the duplicate develop-side barnes_2026; no citation references either key by name, since publications.md renders :all:. That merge also brings master's 5 doc-only commits into develop, so no separate back-merge is needed after tagging.

Release notes

Notes for the GitHub release are auto-generated from the merged PRs above (same convention as v0.8.0). No version bump is required in-repo: pyproject.toml uses dynamic = ["version"] and CITATION.cff has not been maintained per-release.

Follow-up after merge

master carries 5 doc-only commits that develop lacks (publications additions, doc-warning fixes). Back-merge master → develop after tagging so the branches stop drifting.

Checklist

(Reviewed on the individual PRs; this is a rollup merge.)

  • I tested my contribution locally and it seems to work fine.
  • Code and workflow changes are sufficiently documented.
  • Changed dependencies are added to envs/environment.yaml.
  • Changes in configuration options are added in all of config.default.yaml.
  • Changes in configuration options are also documented in doc/configtables/*.csv.

hdanielskoch and others added 16 commits March 10, 2026 21:03
…736)

* EGS Thermal Decline Fix and Myopic Handling

* delete test

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: Henry Daniels-Koch <henrydaniels-koch@Henrys-MacBook-Pro-452.local>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Add UCAP derating

* Remove build_powerplants weather year parameter

* Prevent reserve sharing across planning regions
* Add NREL land-access exclusions for GODEEEP capacity factors

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Make NREL path the only supported GODEEEP workflow for exclusion masks

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Adds GODEEEP renewable dataset and NREL land-access configuration documentation

---------

Co-authored-by: Asia Zhang <asiaz@sh03-ln06.stanford.edu>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Export all ATB scenario/case combinations and add per-carrier cost overrides

build_cost_data.py now iterates over every (atb_scenario, model_case_nrelatb)
slice from PUDL ATB instead of filtering to one combination at build time. The
output CSV gains atb_scenario / atb_model_case columns; static rows (EGS,
emissions, transmission) carry NA so they apply to every selection.

load_costs in _helpers.py reads costs.atb config (defaults + per-carrier
overrides) and selects the right row per pypsa-name before pivoting. All
downstream consumers (add_electricity, prepare_network, cluster_network,
add_extra_components) now go through this helper. add_extra_components rule
gains the costs param; the others already had it.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs: document costs.atb scenario selection and per-carrier overrides

Extend data-costs.md with a step-by-step walkthrough of the ATB scenario and
model_case axes, the new overrides block under costs.atb, and the resolution
order. Update configtables/costs.csv so the config reference page surfaces the
new fields.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Narrow build_cost_data rule's params from costs to costs.aeo

The rule writes every (atb_scenario, atb_model_case) combination to the
output CSV regardless of config — selection happens downstream in
load_costs. Keeping the full costs block as a param re-triggered the
rule on every costs.atb scenario / model_case / override change for
zero output change. Drop the dead atb_params read in the script and
narrow the rule param to costs.aeo, the only branch that genuinely
changes the CSV contents.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* rebase changes

* delete test

* EGS Seismic Risk Mask

store seismic risk in zenodo

* cluster network myopic changes

* plot egs seismic availability

* make all unit tests work

* pre commit ruff complaint

* pre commit changes

* remove plot for egs seismic availability

* myopic tct fixes

* rebase

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: Henry Daniels-Koch <henrydaniels-koch@Henrys-MacBook-Pro-452.local>
Co-authored-by: Henry Daniels-Koch <henrydaniels-koch@DN0a22c58b.SUNet>
Co-authored-by: Henry Daniels-Koch <henrydaniels-koch@DN0a22c940.SUNet>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Add NREL land-access exclusions for GODEEEP capacity factors

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Make NREL path the only supported GODEEEP workflow for exclusion masks

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Adds GODEEEP renewable dataset and NREL land-access configuration documentation

* Changing nrel_exclusion_v1 zenodo ID to match the new version

* updating zenodo repository ID

---------

Co-authored-by: Asia Zhang <asiaz@sh03-ln06.stanford.edu>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Asia Zhang <asiaz@sh02-ln03.stanford.edu>
Co-authored-by: Asia Zhang <asiaz@sh03-ln01.stanford.edu>
* erm no fossil fix and tests

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
… inputs (#754)

* address doc warnings

* add barnes_2026 publication

* fix: dissolve duplicate bus regions from empty county assignment

Multiple empty counties may map to the same nearest bus, creating
duplicate 'name' entries in onshore_regions_concat. Dissolve geometries
by name (union) after nearest-bus assignment, preserving substation x/y
coords and country from first occurrence.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: use 500kVac CSV for BA-level and state-level ITL costs (#621)

Replace transmission_distance_cost_500kVdc_{ba,state}.csv with
the AC equivalents in both the repo_data snapshot and the
build_electricity.smk Snakemake inputs.

500 kV AC (~1500-2000 USD2004/MW/mile) matches the TEPCC 2023
HVAC overhead benchmark (~1490 USD2004/MW/mile equivalent) used
in build_cost_data.py; the DC file (~800 USD2004/MW/mile) would
systematically underestimate inter-BA and state-level expansion costs.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: Trevor Barnes <67297083+trevorb1@users.noreply.github.com>
Co-authored-by: trevorb1 <trevor_barnes@sfu.ca>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
…ssion vintaging, and per-horizon plotting (#749)

* updates with todos

* Stamp transmission with build_year/lifetime and add vintaged ITL duplicates

cluster_network previously added REEDS-derived transmission Links and Lines
without build_year or lifetime, leaving PyPSA's defaults (0, inf) which made
existing infrastructure indistinguishable from vintage-zero new builds in
myopic per-period accounting. This commit:

- Stamps every transmission Line/Link added in cluster_network with
  build_year = min(planning_horizons) and lifetime = 60 (matching the
  HVAC/HVDC cost_recovery_period_years convention in build_cost_data.py).
- Adds a defensive backstop after clustering to stamp any Line/Link still
  on PyPSA defaults (covers upstream TAMU lines from build_base_network.py
  on the non-transport path).
- For each ITL fwd/rev link and the p19_to_p20 patch, adds vintaged duplicates
  at every planning horizon after the first. Duplicates start at p_nom=0,
  share the original's length/capital_cost/efficiency, and stay
  p_nom_extendable=False so prepare_network's existing ll-driven flip logic
  picks them up uniformly with the originals. This gives each horizon its
  own build_year-tagged Link that the optimizer can expand independently.

* handle retirements and extendability

* add land constraint for egs

* rm old code

* fix retirement maks

* syntax fix

* fix plotting and retain original pnom vals

* updated plots

* updated plots

* updated plots

* claude md

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: Henry Daniels-Koch <hdanielskoch@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Add existing pumped hydro storage units
Correct StorageUnit max_hours for storage duration
* add eer demand

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* document eer demand config option

* add eer demand file selection

* fix pre-commit ruff failures

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix remaining pre-commit ruff failures

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Update EFS data retrieval URL from nrel.gov to nlr.gov
.claude/skills/pr/SKILL.md guides agents through opening a PR to
PyPSA/pypsa-usa: base develop (never master, integration branches
excepted), push-permission-aware remote choice, pre-commit + Tier A
gauntlet, Tier B prompt for larger changes, equivalence/deltas-ledger
evidence in the body, draft-when-evidence-missing, and fast-tests CI
watch.

Refresh .github/pull_request_template.md paths that had gone stale
(envs/, config.default.yaml, doc/configtables -> workflow/envs/,
workflow/repo_data/config/, docs/source/configtables/) and add a
Testing section for tier evidence.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Resolves the publications.bib conflict ahead of the v0.9.0 release PR
(#788). The PLOS Climate demand-response paper was added on both sides
under different keys; kept master's barnes_2026a and dropped the
duplicate develop-side barnes_2026 entry.
@ktehranchi
ktehranchi merged commit c85f4ed into master Aug 28, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants