Skip to content

Commit 8914696

Browse files
johnjasakbrunik
andauthored
Updating the readme and intro doc page ahead of v0.8 release (#677)
* Updating the readme * Updated intro.md and changelog * Minor readme updates * Addressing Kaitlin's comments * Added more lingo to readme * Addressing PR suggestions --------- Co-authored-by: kbrunik <[email protected]>
1 parent 6d4caff commit 8914696

File tree

4 files changed

+122
-244
lines changed

4 files changed

+122
-244
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Changelog
22

33
## Unreleased
4+
- Updated README and docs intro page with expanded H2I description, reorganized sections, and streamlined installation instructions [PR 677](https://github.com/NatLabRockies/H2Integrate/pull/677)
45
- Update energy conversion ratio in H2 SMR model [PR 606](https://github.com/NatLabRockies/H2Integrate/pull/606)
56
- Update iron models and examples [PR 601](https://github.com/NatLabRockies/H2Integrate/pull/601)
67
- Remove outdated iron files

README.md

Lines changed: 44 additions & 198 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,55 @@
44
![CI Tests](https://github.com/NatLabRockies/H2Integrate/actions/workflows/ci.yml/badge.svg)
55
[![image](https://img.shields.io/pypi/pyversions/H2Integrate.svg)](https://pypi.python.org/pypi/H2Integrate)
66
[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
7-
[![DOI:10.5281/zenodo.17903150](https://zenodo.org/badge/DOI/10.5281/zenodo.17903149.svg)](https://zenodo.org/records/17903149)
7+
[![DOI 10.5281/zenodo.17903150](https://zenodo.org/badge/DOI/10.5281/zenodo.17903150.svg)](https://zenodo.org/records/17903150)
88

9-
[![DOI 10.1088/1742-6596/2767/8/082019](https://img.shields.io/badge/DOI-10.1088%2F1742--6596%2F2767%2F8%2F082019-brightgreen?link=[https://doi.org/10.1088/1742-6596/2767/8/082019](https://doi.org/10.1088/1742-6596/2767/8/082019))](https://iopscience.iop.org/article/10.1088/1742-6596/2767/8/082019/pdf)
10-
[![DOI 10.1088/1742-6596/2767/6/062017](https://img.shields.io/badge/DOI-10.1088%2F1742--6596%2F2767%2F6%2F062017-brightgreen?link=[https://doi.org/10.1088/1742-6596/2767/6/062017](https://doi.org/10.1088/1742-6596/2767/6/062017))](https://iopscience.iop.org/article/10.1088/1742-6596/2767/6/062017/pdf)
11-
[![DOI 10.21203/rs.3.rs-4326648/v1](https://img.shields.io/badge/DOI-10.21203%2Frs.3.rs--4326648%2Fv1-brightgreen?link=[https://doi.org/10.21203/rs.3.rs-4326648/v1](https://doi.org/10.21203/rs.3.rs-4326648/v1))](https://assets-eu.researchsquare.com/files/rs-4326648/v1_covered_338a5071-b74b-4ecd-9d2a-859e8d988b5c.pdf?c=1716199726)
9+
H2Integrate (H2I) is an open-source Python package for hybrid energy systems engineering design and technoeconomic analysis.
10+
It models hybrid systems, especially hybrid energy plants that produce electricity, hydrogen, ammonia, steel, and other products, to perform optimization and scenario analysis.
1211

13-
H2Integrate is an open-source Python package for modeling and designing hybrid energy systems producing electricity, hydrogen, ammonia, steel, and other products.
12+
## Installation
1413

15-
Note: The current version of H2Integrate is under active development and may be missing features that existed previously. H2Integrate v0.2.0 is the last version that uses the prior framework.
14+
The recommended installation method is via pip from PyPI, which will install the latest stable release of H2Integrate and its dependencies:
15+
16+
```bash
17+
pip install h2integrate
18+
```
19+
20+
For installing from source, development setup, and additional installation options, see the [full installation instructions](https://h2integrate.readthedocs.io/en/latest/getting_started/install.html).
21+
22+
## What H2Integrate Does
23+
24+
H2Integrate is both a **hybrid systems engineering design tool** and a **technoeconomic analysis (TEA) tool**. It significantly expands beyond generalized tools by offering:
25+
26+
- **Detailed equipment-level modeling** with a wide range of subsystem variation options
27+
- **High-resolution, location-specific resource data** for site-dependent performance modeling
28+
- **Cost inputs settable by the user** with examples based on the [Annual Technology Baseline (ATB)](https://atb.nlr.gov/)
29+
- **Optimization and scenario analysis** to explore design trade-offs across hybrid plant configurations
30+
31+
### Available Technologies
32+
33+
H2I includes models for a broad set of energy generation, conversion, and storage technologies.
34+
This is a non-exhaustive list, and the library of available technologies is actively expanding:
35+
36+
- **Electricity generation**: solar PV, wind, wave, tidal, natural gas combined cycle (NGCC), natural gas combustion turbines (NGCT), nuclear, grid
37+
- **Hydrogen production**: PEM electrolysis, NG-SMR
38+
- **Energy storage**: Li-ion batteries, long-duration energy storage (LDES), pumped storage hydropower (PSH)
39+
- **Fuel cells**: H2 PEM fuel cells
40+
- **Industrial processes**: ammonia synthesis, iron ore reduction, steel production, and more
41+
42+
## Getting Started
43+
44+
See the [Getting Started guide](https://h2integrate.readthedocs.io/en/latest/intro.html) for an introduction to H2Integrate.
45+
The [Examples folder](./examples/) contain Jupyter notebooks, Python scripts, and sample YAML files for common usage scenarios.
46+
47+
## Publications
48+
49+
For a full list of publications, see the [Publications section in the documentation](https://h2integrate.readthedocs.io/en/latest/intro.html#publications).
50+
Note: H2Integrate was previously known as GreenHEART, and some publications may refer to it by that name.
1651

1752
## Software Citation
1853

54+
If you use H2I or any of its components in your work, please cite this in your publications using the following BibTeX:
55+
1956
```bibtex
2057
@software{brunik_2025_17903150,
2158
author = {Brunik, Kaitlin and
@@ -50,197 +87,6 @@ Note: The current version of H2Integrate is under active development and may be
5087
}
5188
```
5289

53-
## Publications where H2Integrate has been used
54-
55-
For more context about H2Integrate and to see analyses that have been performed using the tool, please see some of these publications.
56-
PDFs are available in the linked titles.
57-
58-
### Nationwide techno-economic analysis of clean hydrogen production powered by a hybrid renewable energy plant for over 50,000 locations in the United States.
59-
60-
The levelized cost of hydrogen is calculated for varying technology costs, and tax credits to
61-
explore cost sensitivities independent of plant design, performance, and site selection. Our
62-
findings suggest that strategies for cost reduction include selecting sites with abundant wind
63-
resources, complementary wind and solar resources, and optimizing the sizing of wind and solar
64-
assets to maximize the hybrid plant capacity factor.
65-
66-
Grant, E., et al. "[Hybrid power plant design for low-carbon hydrogen in the United States.](https://iopscience.iop.org/article/10.1088/1742-6596/2767/8/082019/pdf)" Journal of Physics: Conference Series. Vol. 2767. No. 8. IOP Publishing, 2024.
67-
68-
### Exploring the role of producing low-carbon hydrogen using water electrolysis powered by offshore wind in facilitating the United States’ transition to a net-zero emissions economy by 2050.
69-
70-
Conducting a regional techno-economic analysis at four U.S. coastal sites, the study evaluates two
71-
energy transmission configurations and examines associated costs for the years 2025, 2030, and 2035.
72-
The results highlight that locations using fixed-bottom technology may achieve cost-competitive
73-
water electrolysis hydrogen production by 2030 through leveraging geologic hydrogen storage and
74-
federal policy incentives.
75-
76-
Brunik, K., et al. "[Potential for large-scale deployment of offshore wind-to-hydrogen systems in the United States.](https://iopscience.iop.org/article/10.1088/1742-6596/2767/6/062017/pdf)" Journal of Physics: Conference Series. Vol. 2767. No. 6. IOP Publishing, 2024.
77-
78-
### Examining how tightly-coupled gigawatt-scale wind- and solar-sourced H2 depends on the ability to store and deliver otherwise-curtailed H2 during times of shortages.
79-
80-
Modeling results suggest that the levelized cost of storage is highly spatially heterogeneous, with
81-
minor impact on the cost of H2 in the Midwest, and potentially significant impact in areas with
82-
emerging H2 economies such as Central California and the Southeast. While TOL/MCH may be the
83-
cheapest aboveground bulk storage solution evaluated, upfront capital costs, modest energy
84-
efficiency, reliance on critical materials, and greenhouse gas emissions from heating remain
85-
concerns.
86-
87-
Breunig, Hanna, et al. "[Hydrogen Storage Materials Could Meet Requirements for GW-Scale Seasonal Storage and Green Steel.](https://assets-eu.researchsquare.com/files/rs-4326648/v1_covered_338a5071-b74b-4ecd-9d2a-859e8d988b5c.pdf?c=1716199726)" (2024).
88-
89-
### DOE Hydrogen Program review presentation of H2Integrate
90-
91-
King, J. and Hammond, S. "[Integrated Modeling, TEA, and Reference Design for Renewable Hydrogen to Green Steel and Ammonia - GreenHEART](https://www.hydrogen.energy.gov/docs/hydrogenprogramlibraries/pdfs/review24/sdi001_king_2024_o.pdf?sfvrsn=a800ca84_3)" (2024).
92-
93-
## Software requirements
94-
95-
- Python version 3.11, 3.12 64-bit
96-
- Other versions may still work, but have not been extensively tested at this time
97-
98-
## Installing from Package Repositories
99-
100-
```bash
101-
pip install h2integrate
102-
```
103-
104-
> [!NOTE]
105-
> If using the Ard models `h2integrate[ard]`, see the source installation instructions (item 3) for
106-
> creating a conda environment with WISDEM installed through conda, not pip as it can cause issues
107-
> on some machines.
108-
109-
## Installing from Source
110-
111-
### Easiest approach (recommended)
112-
113-
1. Using Git, navigate to a local target directory and clone repository:
114-
115-
```bash
116-
git clone https://github.com/NatLabRockies/H2Integrate.git
117-
```
118-
119-
2. Navigate to `H2Integrate`
120-
121-
```bash
122-
cd H2Integrate
123-
```
124-
125-
3. Create a conda environment and install H2Integrate and all its dependencies. Please read the
126-
following two notes about modified installation steps.
127-
128-
1. If on a Unix machine, uncomment line 8 in `environment.yml` to install Cbc. Windows
129-
users will need to manually install from <https://github.com/coin-or/Cbc>.
130-
2. If you plan to use Ard, you may need to uncomment line 9 in `environment.yml` to ensure WISDEM (an Ard
131-
dependency) is installed from conda to avoid installation issues with some systems.
132-
133-
```bash
134-
conda env create -f environment.yml
135-
```
136-
137-
An additional step can be added if additional dependencies are required, or you plan to use this
138-
environment for development work.
139-
140-
- Pass `-e` for an editable developer install
141-
- Use one of the extra flags as needed:
142-
- `gis`: adds the iron mapping tools.
143-
- `ard`: adds the Ard-based wind models.
144-
- `extras`: installs all extra analysis tool dependencies, e.g., `ard` or `gis`.
145-
- `develop`: adds developer and documentation tools.
146-
- `examples`: allows you to use the Jupyter Notebooks and all examples (includes `ard` and `gis`).
147-
- `all` simplifies adding all the dependencies.
148-
149-
This looks like the following for a developer installation:
150-
151-
```bash
152-
pip install -e ".[all]"
153-
```
154-
155-
### Customizable
156-
157-
1. Using Git, navigate to a local target directory and clone repository:
158-
159-
```bash
160-
git clone https://github.com/NatLabRockies/H2Integrate.git
161-
```
162-
163-
2. Navigate to `H2Integrate`
164-
165-
```bash
166-
cd H2Integrate
167-
```
168-
169-
3. Create a new virtual environment and change to it. Using Conda Python 3.11 (choose your favorite
170-
supported version) and naming it 'h2integrate' (choose your desired name):
171-
172-
```bash
173-
conda create --name h2integrate python=3.11 -y
174-
conda activate h2integrate
175-
```
176-
177-
4. Install H2Integrate and its dependencies:
178-
179-
```bash
180-
conda install -y -c conda-forge glpk coin-or-cbc>=2.10.12
181-
```
182-
183-
- If you want to just use H2Integrate:
184-
185-
```bash
186-
pip install .
187-
```
188-
189-
- If you want to work with the examples:
190-
191-
```bash
192-
pip install ".[examples]"
193-
```
194-
195-
- If you also want development dependencies for running tests and building docs:
196-
197-
```bash
198-
pip install -e ".[develop]"
199-
```
200-
201-
Please be sure to also install the pre-commit hooks if contributing code back to the main
202-
repository via the following. This enables a series of automated formatting and code linting
203-
(style and correctness checking) to ensure the code is stylistically consistent.
204-
205-
```bash
206-
pre-commit install
207-
```
208-
209-
If a check (or multiple) fails (commit is blocked), and reformatting was done, then restage
210-
(`git add`) your files and commit them again to see if all issues were resolved without user
211-
intervention. If changes are required follow the suggested fix, or resolve the stated
212-
issue(s). Restaging and committing may take multiple attempts steps if errors are unaddressed
213-
or insufficiently addressed. Please see [pre-commit](https://pre-commit.com/),
214-
[ruff](https://docs.astral.sh/ruff/), or [isort](https://pycqa.github.io/isort/) for more
215-
information.
216-
217-
- In one step, all dependencies can be installed as:
218-
219-
```bash
220-
pip install -e ".[all]"
221-
```
222-
223-
5. The functions which download resource data require an NLR API key. Obtain a key from:
224-
225-
[https://developer.nlr.gov/signup/](https://developer.nlr.gov/signup/)
226-
227-
6. To set up the `NLR_API_KEY` and `NLR_API_EMAIL` required for resource downloads, follow the steps
228-
outlined in [this doc page](https://h2integrate.readthedocs.io/en/latest/getting_started/environment_variables.html).
229-
230-
7. Verify setup by running tests:
231-
232-
```bash
233-
pytest
234-
```
235-
236-
## Getting Started
237-
238-
The [Examples](./examples/) contain Jupyter notebooks and sample YAML files for common usage
239-
scenarios in H2Integrate. These are actively maintained and updated to demonstrate H2Integrate's
240-
capabilities. For full details on simulation options and other features, documentation is
241-
forthcoming.
242-
24390
## Contributing
24491

245-
Interested in improving H2Integrate? Please see the [Contributor's Guide](./docs/CONTRIBUTING.md)
246-
section for more information.
92+
Interested in improving H2Integrate? Please see the [Contributor's Guide](./docs/CONTRIBUTING.md) for more information.

docs/getting_started/install.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Install H2Integrate via PyPI
44

5-
If you just want to use H2Integrate and aren't developing new models, you can install it from PyPI using pip:
5+
If you just want to use H2Integrate and aren't developing new models, you should install it from PyPI using pip:
66

77
```bash
88
pip install h2integrate

0 commit comments

Comments
 (0)