NatLabRockies / NatLabRockies/H2Integrate

Add check for inherited converter models to make sure all inputs/outputs are defined correctly

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

Nobody has claimed this yet.

Dominant language
Python
Stars
26
Forks
44
Avg merge
3d 22h
Merged PRs (30d)
16

Description

See the corresponding comment on this variable in marine_carbon_capture_baseclass.py. One of them needs to move to the other file. @johnjasa it might be good to add a programmatic check for this - make sure an input defined in a CostBaseClass doesn't depend on an output defined in an inherited PerformanceModel, or similar.

Originally posted by @jmartin4nrel in https://github.com/NREL/H2Integrate/pull/165#discussion_r2175745711

John's further comments:
This is a good idea and might be possible through a programmatic test that goes through the converters and instantiates then runs each of them using some simple set of parameters. The simpler non-programmatic way to do this is to just make individual tests for each converter.

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 with the comment on the relevant variable in marine_carbon_capture_baseclass.py, then trace the converter models and their inherited CostBaseClass and PerformanceModel definitions. Determine whether a programmatic check or individual converter tests best exposes inputs depending on inherited outputs. Done means invalid input/output dependencies are detected reliably across the converters.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
testing
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.