Skip to main content

GreenHEART: Green Hydrogen Energy and Renewable Technologies

PyPI version CI Tests image License

DOI 10.1088/1742-6596/2767/8/082019 DOI 10.1088/1742-6596/2767/6/062017 DOI 10.21203/rs.3.rs-4326648/v1

Hybrid project power-to-x component-level system performance and financial modeling for control and design optimization. GreenHEART currently includes renewable energy, hydrogen, ammonia, and steel. Other elements such as desalination systems, pipelines, compressors, and storage systems can also be included as needed.

Publications where GreenHEART has been used

For more context about GreenHEART and to see analyses that have been performed using the tool, please see some of these publications. PDFs are available in the linked titles.

Nationwide techno-economic analysis of clean hydrogen production powered by a hybrid renewable energy plant for over 50,000 locations in the United States.

The levelized cost of hydrogen is calculated for varying technology costs, and tax credits to explore cost sensitivities independent of plant design, performance, and site selection. Our findings suggest that strategies for cost reduction include selecting sites with abundant wind resources, complementary wind and solar resources, and optimizing the sizing of wind and solar assets to maximize the hybrid plant capacity factor.

Grant, E., et al. "Hybrid power plant design for low-carbon hydrogen in the United States." Journal of Physics: Conference Series. Vol. 2767. No. 8. IOP Publishing, 2024.

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.

Conducting a regional techno-economic analysis at four U.S. coastal sites, the study evaluates two energy transmission configurations and examines associated costs for the years 2025, 2030, and 2035. The results highlight that locations using fixed-bottom technology may achieve cost-competitive water electrolysis hydrogen production by 2030 through leveraging geologic hydrogen storage and federal policy incentives.

Brunik, K., et al. "Potential for large-scale deployment of offshore wind-to-hydrogen systems in the United States." Journal of Physics: Conference Series. Vol. 2767. No. 6. IOP Publishing, 2024.

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.

Modeling results suggest that the levelized cost of storage is highly spatially heterogeneous, with minor impact on the cost of H2 in the Midwest, and potentially significant impact in areas with emerging H2 economies such as Central California and the Southeast. While TOL/MCH may be the cheapest aboveground bulk storage solution evaluated, upfront capital costs, modest energy efficiency, reliance on critical materials, and greenhouse gas emissions from heating remain concerns.

Breunig, Hanna, et al. "Hydrogen Storage Materials Could Meet Requirements for GW-Scale Seasonal Storage and Green Steel." (2024).

DOE Hydrogen Program review presentation of GreenHEART

King, J. and Hammond, S. "Integrated Modeling, TEA, and Reference Design for Renewable Hydrogen to Green Steel and Ammonia - GreenHEART" (2024).

Software requirements

  • Python version 3.9, 3.10, 3.11 64-bit
  • Other versions may still work, but have not been extensively tested at this time

Installing from Package Repositories

pip install greenheart

Installing from Source

Easiest approach (recommended)

  1. Using Git, navigate to a local target directory and clone repository:

    git clone https://github.com/NREL/GreenHEART.git
    
  2. Navigate to GreenHEART

    cd GreenHEART
    
  3. Create a conda environment and install GreenHEART and all its dependencies

    conda env create -f environment.yml
    
  4. Install Cbc.

    1. If using a Unix machine (not Windows), install a final dependency

      conda install -y -c conda-forge coin-or-cbc=2.10.8
      
    2. Windows users will have to manually install Cbc: https://github.com/coin-or/Cbc

An additional step can be added if additional dependencies are required, or you plan to use this environment for development work.

  • Pass -e for an editable developer install
  • Use one of the extra flags as needed:
    • examples: allows you to use the Jupyter Notebooks
    • develop: adds developer and documentation tools
    • all simplifies adding all the dependencies

This looks like the following for a developer installation:

pip install -e ".[all]"

Customizable

  1. Using Git, navigate to a local target directory and clone repository:

    git clone https://github.com/NREL/GreenHEART.git
    
  2. Navigate to GreenHEART

    cd GreenHEART
    
  3. Create a new virtual environment and change to it. Using Conda Python 3.11 (choose your favorite supported version) and naming it 'greenheart' (choose your desired name):

    conda create --name greenheart python=3.11 -y
    conda activate greenheart
    
  4. Install GreenHEART and its dependencies:

    conda install -y -c conda-forge glpk
    

    Note: Unix users should install Cbc via:

    conda install -y -c conda-forge coin-or-cbc=2.10.8
    

    Windows users will have to manually install Cbc: https://github.com/coin-or/Cbc.

    • If you want to just use GreenHEART:

      pip install .
      
    • If you want to work with the examples:

      pip install ".[examples]"
      
    • If you also want development dependencies for running tests and building docs:

      pip install -e ".[develop]"
      

      Please be sure to also install the pre-commit hooks if contributing code back to the main repository via the following. This enables a series of automated formatting and code linting (style and correctness checking) to ensure the code is stylistically consistent.

      pre-commit install
      

      If a check (or multiple) fails (commit is blocked), and reformatting was done, then restage (git add) your files and commit them again to see if all issues were resolved without user intervention. If changes are required follow the suggested fix, or resolve the stated issue(s). Restaging and committing may take multiple attempts steps if errors are unaddressed or insufficiently addressed. Please see pre-commit, ruff, or isort for more information.

    • In one step, all dependencies can be installed as:

      pip install -e ".[all]"
      
  5. The functions which download resource data require an NREL API key. Obtain a key from:

    https://developer.nrel.gov/signup/

  6. To set up the NREL_API_KEY and NREL_API_EMAIL required for resource downloads, you can create Environment Variables called NREL_API_KEY and NREL_API_EMAIL. Otherwise, you can keep the key in a new file called ".env" in the root directory of this project.

    Create a file ".env" that contains the single line:

    NREL_API_KEY=key
    NREL_API_EMAIL=your.name@email.com
    
  7. Verify setup by running tests:

    pytest
    
  8. To set up NREL_API_KEY for resource downloads, first refer to section 7 and 8 above. But for the .env file method, the file should go in the working directory of your Python project, e.g. directory from where you run python.

Parallel processing for GreenHEART finite differences and design of experiments

GreenHEART is set up to run in parallel using MPI and PETSc for finite differencing and for design of experiments runs through OpenMDAO. To use this capability you will need to follow the additional installation instruction below:

conda install -c conda-forge mpi4py petsc4py

For more details on implementation and installation, reference the documentation for OpenMDAO.

To check that your installation is working, do the following:

cd tests/greenheart/
mpirun -n 2 pytest test_openmdao_mpi.py

Getting Started

The Examples contain Jupyter notebooks and sample YAML files for common usage scenarios in GreenHEART. These are actively maintained and updated to demonstrate GreenHEART's capabilities. For full details on simulation options and other features, documentation is forthcoming.

Contributing

Interested in improving GreenHEART? Please see the Contributor's Guide section for more information.

Metadata

Release files for greenheart 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for greenheart 0.1.4
File Size Uploaded
greenheart-0.1.4.tar.gz 3.9 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for greenheart 0.1.4
File Interpreter ABI Platform
greenheart-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 4.8 MB

Release files / greenheart-0.1.4.tar.gz

Download URL greenheart-0.1.4.tar.gz
Size 3.9 MB
Tags Source
SHA-256 checksum
How to use checksums
c8e983640f4cbb9cf13de4b6307810b67c4ee68343159bd171e6a6f7a11b01fa
BLAKE2b-256 checksum
How to use checksums
5b6cfd10943afaf6f6381cbc7173635d4d02238209575b1a91b5f75c6d0dc9fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 5, 2025.

Transparency log

Release files / greenheart-0.1.4-py3-none-any.whl

Download URL greenheart-0.1.4-py3-none-any.whl
Size 842.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
44ea41382475991a2efc973bed544d21828c54d35c480dccd38078be81eb4e05
BLAKE2b-256 checksum
How to use checksums
8d01bb08f7dc55f2c237b81631d36b5d0c607a4ba7e47a3f839128fabd43b510
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 5, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page