NatLabRockies / NatLabRockies/H2Integrate

Feature request: allow models to be dynamically removed and re-added to a system during a DOE or Opt.

Open
#326 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement framework
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

Open the contributing guide

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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.