Skip to content
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

DRAFT: add data structure for expansion candidates #641

Closed
wants to merge 1 commit into from

Conversation

danielolsen
Copy link
Contributor

@danielolsen danielolsen commented May 26, 2022

Pull Request doc

Purpose

Add a thin data structure enclosing expansion candidate information for generation, transmission, and storage.

What the code is doing

Basic column checking on branch, plant, storage parameters if they're passed, otherwise instantiating an empty dataframe with the appropriate columns.

Usage Example/Visuals

>>> from powersimdata.input.expansion_candidates import ExpansionCandidates
>>> import pandas as pd
>>> ec = ExpansionCandidates()
>>> ec.branch
Empty DataFrame
Columns: [from_bus, to_bus, inv_cost, max_capacity]
Index: []
>>> ec.plant
Empty DataFrame
Columns: [bus_id, type, marginal_cost, inv_cost, max_capacity]
Index: []
>>> ec.storage
Empty DataFrame
Columns: [bus_id, inv_cost_power, inv_cost_energy, max_capacity_energy, max_capacity_power]
Index: []
>>> plant = pd.DataFrame({"bus_id": [1, 10, 10, 100], "type": ["ng", "ng", "wind", "solar"], "marginal_cost": [40, 40, 0, 0]})
>>> ec = ExpansionCandidates(plant=plant)
>>> ec.branch
Empty DataFrame
Columns: [from_bus, to_bus, inv_cost, max_capacity]
Index: []
>>> ec.plant
   bus_id   type  marginal_cost  inv_cost  max_capacity
0       1     ng             40       NaN           NaN
1      10     ng             40       NaN           NaN
2      10   wind              0       NaN           NaN
3     100  solar              0       NaN           NaN
>>> ec.storage
Empty DataFrame
Columns: [bus_id, inv_cost_power, inv_cost_energy, max_capacity_energy, max_capacity_power]
Index: []

Time estimate

?

@danielolsen
Copy link
Contributor Author

We may want a table for investment costs (indexed by candidate, columns are years, or vice versa), since they may vary by year.

@danielolsen danielolsen added the CEM Capacity Expansion Modeling label May 26, 2022
@danielolsen
Copy link
Contributor Author

We'll probably also want to contain profiles for the expansion candidates.

@danielolsen danielolsen removed their assignment May 27, 2022
@jenhagg jenhagg closed this Oct 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CEM Capacity Expansion Modeling
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants