NatLabRockies / NatLabRockies/H2Integrate
Feature request: allow models to be dynamically removed and re-added to a system during a DOE or Opt.
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 26
- Forks
- 44
- Avg merge
- 3d 22h
- Merged PRs (30d)
- 16
Description
Allow models to be dynamically removed and re-added to a system during a DOE or Opt.
When running a system sizing optimization or design of experiments sweep, it is common to include ranges where some technologies sizes go to zero, or in other words are removed from the system. In the current framework we cannot handle these cases dynamically, and instead have to handle these cases in separate runs or wrap H2I. I would like to have a built in method to handle optimizations and sweeps including zero-valued tech sizes in H2Integrate.
Proposed solution
I think the best way to accomplish this is to have a built in catch for zero-valued system sizes that sets costs and production for that technology to zero without actually removing the technology. We may need to have some sort of tolerance/epsilon on ratings going to zero to catch close-enough cases.
Alternatives considered
Re-create the H2Integrate model under the hood to run cases with zero size technologies excluded without requiring extra work from the user. This would involve creating alternative config files automatically and creating new h2i model instances
Additional context
This came up in a discussion with @elenya-grant in #290 regarding what it means for battery size to go to zero.
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 reviewing the discussion in issue #290 and the existing handling of model technologies during DOE and optimization runs. Define completion as supporting zero or near-zero technology sizes while returning zero costs and production without requiring separate runs or recreated model instances.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100