NatLabRockies / NatLabRockies/H2Integrate
Remove unmet_demand output from non-demand components
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 26
- Forks
- 44
- Avg merge
- 3d 22h
- Merged PRs (30d)
- 16
Description
Remove outputs that should be calculated using Demand components that are still being output from non-demand-tech technologies. PR #666 and #631 both worked to remove unmet_demand calculations from storage performance models and storage control models and instead to use the demand components (in the demand/ folder). This update has not been done for converter technologies.
Outputs of unmet_xxx_out that should be removed and should be replaced with a demand component (found by @cfrontin)
h2integrate/converters/natural_gas/natural_gas_cc_ct.py: has output ofunmet_electricity_demandh2integrate/converters/hydrogen/steam_methane_reformer.py: has output ofunmet_hydrogen_demandh2integrate/converters/grid/grid.py: has output ofelectricity_unmet_demand(note that this naming convention is different from the other converter techs listed)h2integrate/converters/diesel/diesel_generator.py: has output ofunmet_electricity_demandh2integrate/converters/combustion_machines/turbine_simple_cycle.py: has output ofunmet_{commodity}_demand
I suppose this is a little tricky since these technologies do have an input of the demand - and it'd be important to ensure that the demand input to the converter is the same demand profile given to the demand component. Perhaps this can be done with the input-to-input connections allowed by OpenMDAO (and is also relevant to Issue #872). Would love to hear folks thoughts on this before this issue is addressed!
Like - is there a reason why demand components shouldn't be used instead? What's the value-add of having these calculations in the technologies themselves instead of in a demand component? If they should be done in the technology - what type control classifier signals that this is an output that the technology should have (and what naming convention should we use)? Can we actually connect demand inputs so that the demand into a tech is the same demand as the demand comp (see the update/note in Issue #872)?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the five converter files listed in the issue, then compare PRs #666 and #631 and the related discussion in Issue #872. Resolve whether demand components should replace the converter outputs and how their inputs should be connected before changing the models. Done means the agreed demand-component design is applied consistently across the listed technologies.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100