Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
4e74ca1
Remove old iron models (#601)
kbrunik Mar 14, 2026
7813634
update SMR energy conversion ratio and tests (#606)
kbrunik Mar 16, 2026
951e6f5
Break out Pyomo controller simulation code (#587)
genevievestarke Mar 16, 2026
4494834
Bugfix in Charge/Discharge efficiency handling in `StoragePerformance…
elenya-grant Mar 17, 2026
b3754a7
Tests for non-one battery efficiencies (#610)
jaredthomas68 Mar 17, 2026
7b46163
Sync Storage Autosizing Model and Pass-Through controller to Align wi…
elenya-grant Mar 18, 2026
d431ef7
Sync Demand Open Loop Controller and Simple Generic Storage to Align …
elenya-grant Mar 19, 2026
82c63f0
PySAM Marine Models (#607)
kbrunik Mar 19, 2026
9e4114b
Sync PySAM Battery and Generic Storage Pyomo Performance models with …
elenya-grant Mar 20, 2026
6fb47db
minor error msg and doc corrections (#618)
jaredthomas68 Mar 23, 2026
4576870
CO2 Model Fixes (#617)
kbrunik Mar 23, 2026
547800d
Bugfix: Update storage models so can use different control types per …
elenya-grant Mar 24, 2026
59687f3
Baseclass for Openloop Storage Control Strategies (#619)
elenya-grant Mar 24, 2026
6c50f4b
Enable use of Pyomo Controllers in the Storage Autosizing Model (#621)
elenya-grant Mar 25, 2026
3c5d207
Generic cost model for converters (#622)
elenya-grant Mar 25, 2026
21d109b
Introducing multivariable commodity streams (#480)
johnjasa Mar 26, 2026
85ee3d1
Removed some shape_by_conn calls due to OM issues (#632)
johnjasa Mar 27, 2026
46692f3
Move xdsm call in H2IntegrateModel to its own method (#629)
jaredthomas68 Mar 27, 2026
557c4df
Handling Leap Years in OpenMeteo Resource Data (#633)
elenya-grant Mar 31, 2026
95d3dff
Baseclass for Storage Performance Models (#624)
elenya-grant Mar 31, 2026
910e872
Modified the calc tilt angle function for pysam solar (#646)
johnjasa Apr 6, 2026
3b7c6a2
Oxygen output from PEM electrolyzer (#642)
elenya-grant Apr 6, 2026
a4210f1
Removed remaining naming dependencies (#654)
johnjasa Apr 7, 2026
1570ea0
Update validators to allow zero values for costs for nuclear
johnjasa Apr 8, 2026
a1f9b8f
Bugfix: Connecting resource to multiple techs (#655)
elenya-grant Apr 8, 2026
f328a60
merge latest patch in main and fix conflicts
RHammond2 Apr 9, 2026
aa7ee6c
Update urls for NLR pages and github repositories (#658)
genevievestarke Apr 9, 2026
d112eed
Enhancement/windows ci (#590)
RHammond2 Apr 9, 2026
e10c892
updated CI workflow to disable windows (#668)
johnjasa Apr 10, 2026
ca295e4
Check for extraneous or mis-categorized input parameters (#647)
elenya-grant Apr 10, 2026
f5c1fa6
Update Naming Convention in Open-Loop Converter Control Strategies (#…
elenya-grant Apr 11, 2026
7f6765a
modified state check for setup and run (#669)
johnjasa Apr 11, 2026
9892c55
Add interactive class hierarchy visualization to docs (#643)
johnjasa Apr 11, 2026
1caa9f6
Standardize Feedstock Outputs (follow-on to 463) (#523)
elenya-grant Apr 11, 2026
5421981
Framework to allow for variable dt (#653)
jaredthomas68 Apr 13, 2026
22931d7
patch: Variable dt (#671)
jaredthomas68 Apr 14, 2026
6d4caff
Remove system-level outputs from storage and replace with demand comp…
elenya-grant Apr 15, 2026
8914696
Updating the readme and intro doc page ahead of v0.8 release (#677)
johnjasa Apr 15, 2026
725419a
Move storage controllers into `storage` folder in `control_strategies…
elenya-grant Apr 15, 2026
35c6d97
Making changes per Gen's suggestion (#681)
johnjasa Apr 15, 2026
b96677d
Bump version from 0.7.2 to 0.8.0
johnjasa Apr 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/config.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Usage question
url: https://github.com/NREL/H2Integrate/discussions
about: Have any questions about using H2Integrate? Post in Discussions to engage with the NREL team and H2Integrate community.
url: https://github.com/NatLabRockies/H2Integrate/discussions
about: Have any questions about using H2Integrate? Post in Discussions to engage with the NLR team and H2Integrate community.
19 changes: 10 additions & 9 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,33 +78,33 @@ IMPORTANT NOTES
"A complete thought. [PR XYZ]((https://github.com/NatLabRockies/H2Integrate/pull/XYZ)", where
`XYZ` should be replaced with the actual number.

## Section 3: Related Issues
## Section 4: Related Issues
<!--If this PR relates to an existing GitHub issue, please link the issue and indicate whether this PR would fully or partially resolve that issue. Please also link any issues that were created due to this PR-->


## Section 4: Impacted Areas of the Software
## Section 5: Impacted Areas of the Software
<!--
Replace the below example with any added or modified files, and briefly describe what has been changed or added, and why. Can exclude CHANGELOG.md, doc pages and supported_models.py.
-->
### Section 4.1: New Files
### Section 5.1: New Files
- `path/to/file.extension`
- `method1`: What and why something was changed in one sentence or less.

### Section 4.2: Modified Files
### Section 5.2: Modified Files
- `path/to/file.extension`
- `method1`: What and why something was changed in one sentence or less.

## Section 5: Additional Supporting Information
## Section 6: Additional Supporting Information
<!--Add any other context about the problem here.-->


## Section 6: Test Results, if applicable
## Section 7: Test Results, if applicable
<!--
Add the results from unit tests and regression tests here along with justification for any
failing test cases.
-->

## Section 7 (Optional): New Model Checklist
## Section 8 (Optional): New Model Checklist
<!-- Complete this section only if you checked "New Model" above -->
- [ ] **Model Structure**:
- [ ] Follows established naming conventions outlined in `docs/developer_guide/coding_guidelines.md`
Expand All @@ -128,17 +128,18 @@ failing test cases.
- [ ] Model added to the main models list in `docs/user_guide/model_overview.md`
- [ ] Model documentation page added to the appropriate `docs/` section
- [ ] `<model_name>.md` is added to the `_toc.yml`
- [ ] Run `generate_class_hierarchy.py` to update the class hierarchy diagram in `docs/developer_guide/class_structure.md`





<!--
__ For NREL use __
__ For NLR use __
Release checklist:
- [ ] Update the version in h2integrate/__init__.py
- [ ] Verify docs builds correctly
- [ ] Create a tag on the main branch in the NREL/H2Integrate repository and push
- [ ] Create a tag on the main branch in the NatLabRockies/H2Integrate repository and push
- [ ] Ensure the Test PyPI build is successful
- [ ] Create a release on the main branch
-->
95 changes: 67 additions & 28 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,53 +1,92 @@
name: Testing
on:
push:
branches: [main, develop]
branches:
- main
- develop
pull_request:
branches: [main, develop]
branches:
- main
- develop
schedule:
- cron: 0 0 * * MON
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.11', '3.13']
optional: [false]
os:
- ubuntu-latest
# - windows-latest # Temporarily disabled
python-version:
- '3.11'
- '3.13'
test-type:
- unit
- regression
- integration
optional:
- true
include:
- python-version: '3.11'
optional: true
optional: false
os: ubuntu-latest
test-type: unit
- python-version: '3.11'
optional: false
os: ubuntu-latest
test-type: regression
- python-version: '3.11'
optional: false
os: ubuntu-latest
test-type: integration
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v6
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v6
uses: conda-incubator/setup-miniconda@v3
with:
miniconda-version: latest
auto-update-conda: true
python-version: ${{ matrix.python-version }}
- name: Install dependencies
auto-activate: true
activate-environment: h2integrate
- name: Install base dependencies
shell: bash -el {0}
env:
SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL: true
run: |
sudo apt-get update && sudo apt-get install -y libglpk-dev glpk-utils coinor-cbc
conda install -y -c conda-forge glpk coin-or-cbc>=2.10.12
python -m pip install --upgrade pip
if [ "${{ matrix.optional }}" = "true" ]; then
pip install ".[develop]"
else
pip install ".[develop]"
fi
pip install ".[develop]"
- if: ${{ matrix.optional }}
name: Install optional dependencies
shell: bash -el {0}
run: |
conda install -y -c conda-forge wisdem
pip install ".[extras]"
- name: Create env file
run: |
touch .env
- name: Run unit tests
run: |
pytest . -m unit --cov=h2integrate --cov-report=xml:unit-coverage.xml
- name: Run regression tests
run: |
pytest . -m regression --cov=h2integrate --cov-report=xml:regression-coverage.xml
- name: Run integration tests
run: |
pytest . -m integration --cov=h2integrate --cov-report=xml:integration-coverage.xml
- name: Upload unit coverage to
uses: codecov/codecov-action@v5
- name: Run ${{ matrix.test-type }} tests
shell: bash -el {0}
run: pytest . -m ${{ matrix.test-type }} --cov=h2integrate --cov-report=lcov:./${{ matrix.test-type }}-coverage.lcov
- name: Upload test coverage
uses: coverallsapp/github-action@v2
if: contains(matrix.os, 'ubuntu') && contains(matrix.python-version, '3.13')
with:
github-token: ${{ secrets.COVERALLS_REPO_TOKEN }}
files: ./${{ matrix.test-type }}-coverage.lcov
flag-name: ${{ matrix.test-type }}
parallel: true
fail-on-error: false
coverage-finish:
needs: build
if: always()
runs-on: ubuntu-latest
steps:
- name: Coveralls finished
uses: coverallsapp/github-action@v2
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: unit-coverage.xml, regression-coverage.xml, integration-coverage.xml
flags: unit,regression,integration
github-token: ${{ secrets.COVERALLS_REPO_TOKEN }}
parallel-finished: true
fail-on-error: false
4 changes: 3 additions & 1 deletion .readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@ build:
tools:
python: '3.11'
jobs:
pre_build: [jupyter-book config sphinx docs/]
pre_build:
- python docs/generate_class_hierarchy.py
- jupyter-book config sphinx docs/
python:
install:
- method: pip
Expand Down
Loading
Loading