PyPSA / PyPSA/pypsa-usa

Add `generator.type` classification

Open
#65 2 comments 0 reactions 0 assignees View on GitHub

A pull request for this has already been merged.

  • #56 by @ktehranchi — merged
bug enhancement
Dominant language
Python
Stars
148
Forks
55
Avg merge
2d 11h
Merged PRs (30d)
18

Description

Feature Request

Currently, costs are assigned at a per carrier level, rather than at a per generator type level.

For example, costs are collected for both CCGT and OCGT; however, when inputted into the model they are aggregated into a single gas technology. It would be good to properly assign generators using the generator.carrier as gas, and generator.type as either ccgt or ocgt.

While we probably don't want to go overboard on the amount of types in the model, ones like ccgt and ocgt are probably worth separating.

Separating coal into a tech with and without CCS is also discussed in this comment

Suggested Solution

Not necessary a solution, but here are some examples of where the ccgt and ocgt are being aggregated into a single gas technology

https://github.com/PyPSA/pypsa-usa/blob/6f37e32de0b19b349e6ba134e1bcfa0f48e5b93a/workflow/scripts/add_electricity.py#L223-L231

https://github.com/PyPSA/pypsa-usa/blob/6f37e32de0b19b349e6ba134e1bcfa0f48e5b93a/workflow/scripts/add_electricity.py#L1597-L1615

Additional Info

No response

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Check the merged pull request #56 first to see whether this work has moved or been resolved. Then inspect workflow/scripts/add_electricity.py at the referenced lines, trace how generator.carrier and generator.type are aggregated, and define completion as distinct cost assignment for the requested generator types without expanding the model's type list unnecessarily.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.