Skip to content

Sector Marginal Cost Updates #557

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 27 commits into from
Mar 27, 2025
Merged

Sector Marginal Cost Updates #557

merged 27 commits into from
Mar 27, 2025

Conversation

trevorb1
Copy link
Collaborator

@trevorb1 trevorb1 commented Feb 26, 2025

Closes #556, #516, #485, #274

Changes proposed in this Pull Request

In this PR I have:

  • Updated industrial techs efficiencies
  • Updated transportation consumption and demand reporting
  • Updated marginal costs for sector studies
    • All marginal costs are now applied at the state level store
    • Heating oil and lpg costs are now treated separately
  • Scale dynamic costs against the AEO
  • Methane tracking always on (but can be zero)
  • Add fuel extraction methods to EIA api
  • update lpg vehicle efficiency
  • ev policy implemented for endogenous investment
  • plotting color fix

Checklist

  • 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.

@trevorb1 trevorb1 merged commit c5b2995 into develop Mar 27, 2025
1 check passed
@trevorb1 trevorb1 deleted the issue-156 branch April 17, 2025 21:19
trevorb1 added a commit that referenced this pull request Apr 26, 2025
* fix plot bug

* Update mem reqs, fix TCT bug

* update scenario comparison

* update get_region_buses to include reeds zone id

* dr by carrier components

* dr constraint update

* correct conditional

* docs update

* fix docs

* dr sector hotfix

* Adds population weighting strategy for simplify and cluster

* update default config

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

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

* Remove virtual buses

* update tct logic

* tct note in docs

* update comment

* add assertion

* typo

* dr implementation

* plotting runs

* carrier added

* dr constraint templated

* power sector runs

* plotting updates

* config updates

* update dr docs

* update TCT constraint name

* cluster config updates

* typo

* update dependencies

* fix scenario comparison

* Update pre-commit config to use Ruff for formatting and linting

* update linting options

* Update pre-commit config to use Ruff for formatting and linting

* ruff re-formating

* new linting

* rm isort conf

* rm old docs page

* reorganize repo_data/geospatial

* clean repo_data

* Add UV install support! #483

* update uv env

* add uv pyproj

* add lock file

* update docs for UV

* fix bug from refactor

* bug fix from refactor

* minor corrections

* remove unused config, and set dynamic memory resource request by input file size

* cop fixed

* natural gas done

* sector costs

* stock data

* constants updated

* corrects eulp

* more fixes

* dynamically set memory allocation by file size

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

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

* eia fix

* update solve elec rule mem

* demand updated

* valiadation plots linted

* fix type hints

* add uv and ruff badges

* sector plots update

* env updates

* update dev dependency

* minor fixes

* dev dependency update

* fix sankey file extension

* sector costs hotfix

* fix nan in efficiency2

* typo

* handle no-data scenarios

* Modify battery efficiencies to align with NREL ATB

* Reference PUDL s3 Parquests, Add PUDL versioning

* refactor PRM

* remove SAFE, change SAFER name to PRM

* co2 constraints updated

* update constraint name

* tct update

* correct pudl path

* PRM fixes

* docs

* docs

* refactor OSW implementation (#577)

* conditional for multi-period (#581)

* Sector Marginal Cost Updates (#557)

* eia fuel cost extraction updated

* trn production plots update

* furnace efficiency update

* central marginal cost stores

* dynamic cost scaling

* methane tracking always on

* correct marginal cost conversions

* update lpg vehicle efficiency

* ev policy implemented for endogenous investment

* plotting color fix

* conditional for multi-period (#582)

* minor plotting updates (#586)

* sector RPS (#575)

* Correct Linepack Calculation and CECS Build Years (#589)

* correct linepack calc

* correct commercial water heaters

* Downstream Methane Leaks (#590)

Adds downstream ch4 tracking and updates associated configuration documentation.

* Issue 518 - Myopic Implementation (#554)

* update dag (#517)

Update DAGs for documentation site

* added for loop around the solve_network. New myopic and perfect foresight if statements in the solve_network function to pull the foresight type from a config file. Foresight type option still needs to be added to the repo_data/config/ files, as it is just manually added into the workflow/config currently to avoid init_pypsa_usa.sh reuse. With precommit fixes.

* fixed errors with pulling the myopic foresight from config file, model running, gives same results as without myopic since we are not pulling from prior timesteps

* moved for loop inside of the solve_network, removed the add_myopic constraint

* first working version, no bugs, runs fully. needs checks to see if output matches expectations. output does combine first year with the existing infrastructure (need to fix). added in the time dependent components. added a limited part of c in the c.iterate_components, to just include what was in the previous timestep.

* fixed the limited c.df to be for build years below the investment horizon, previously was years equal to the investment horizon

* made it so that the links are properly removed, since their build year is 0

* first successful version to have results for all decades, needs first level checks but is giving reasonable results for myopic output. Key change was creating a deep copy of the c.pnl and adding all rather than just input time variables back in after removal

* fixed the loop to be inclusive for c_lim rather than less than the planning horizon

* updated the configtables documentation

* Fix clim, other fix for perf foresight.

* RPS updates

* fixed the retirement issue for one time horizon

* updated to m.add to carry over the custom fields

* added the storage state_of_charge rollover, but this is leading to infeasible solve, need to fix

* changed state of charge to just be the final snapshot, now feasible

* updated the config files in repo_data, and the docs to show that myopic is available

* n.madd for generators so that the attributes carry over. this is a fix that likely isnt ideal in the long run, but n.add doesn't carry these attributes over

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

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

---------

Co-authored-by: Trevor Barnes <[email protected]>
Co-authored-by: ktehranchi <[email protected]>
Co-authored-by: Jones <[email protected]>
Co-authored-by: Kamran Tehranchi <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Add lifetimes and build rates for sector studies (#593)

Add lifetimes and build rates for sector technologies

* Corrects `v0.6.0` merge conflicts  (#595)

* update dag (#517)

Update DAGs for documentation site

* [pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/pycqa/isort: 5.13.2 → 6.0.0](PyCQA/isort@5.13.2...6.0.0)
- [github.com/asottile/pyupgrade: v3.19.0 → v3.19.1](asottile/pyupgrade@v3.19.0...v3.19.1)
- [github.com/psf/black-pre-commit-mirror: 24.10.0 → 25.1.0](psf/black-pre-commit-mirror@24.10.0...25.1.0)

* new linting

* [pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.1.4 → v0.9.9](astral-sh/ruff-pre-commit@v0.1.4...v0.9.9)

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

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

* [pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.9.9 → v0.9.10](astral-sh/ruff-pre-commit@v0.9.9...v0.9.10)

* [pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.9.10 → v0.11.0](astral-sh/ruff-pre-commit@v0.9.10...v0.11.0)

* [pre-commit.ci] pre-commit autoupdate (#579)

updates:
- [github.com/snakemake/snakefmt: v0.10.2 → v0.11.0](snakemake/snakefmt@v0.10.2...v0.11.0)
- [github.com/astral-sh/ruff-pre-commit: v0.11.0 → v0.11.5](astral-sh/ruff-pre-commit@v0.11.0...v0.11.5)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

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

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

* correct notebooks for precommit

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Kamran Tehranchi <[email protected]>
Co-authored-by: ktehranchi <[email protected]>

---------

Co-authored-by: ktehranchi <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Kamran Tehranchi <[email protected]>
Co-authored-by: Wei Ai <[email protected]>
Co-authored-by: Lyssa Freese <[email protected]>
Co-authored-by: Jones <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant