pyH2A

An extensible Python framework for the analysis of hydrogen production cost.
https://github.com/jschneidewind/pyh2a

Category: Renewable Energy
Sub Category: Hydro Energy

Keywords

hydrogen techno-economic-analysis

Last synced: about 7 hours ago
JSON representation

Repository metadata

pyH2A is a Python framework for the analysis of hydrogen production cost

README.md

Documentation Status
DOI

pyH2A

pyH2A is an extensible Python framework for the analysis of hydrogen production cost. Its discounted cash flow module is based on the H2A Hydrogen Analysis model developed by the U.S. Department of Energy/NREL.

The basic discounted cash flow analysis functionality enables calculation of levelized cost of hydrogen (LCOH2). It can be interfaced with different Plugins to allow modelling of various hydrogen production technologies. Furthermore, different Analysis modules can be applied, allowing for detailed analysis of the discounted cash flow results.

It is a command line tool, with the input being provided using Markdown formatted plaintext files and the output being plots (and formatted PDF reports in the future).

Note: pyH2A is currently under development and may undergo major changes in its design.

Installation

pyH2A can be installed using pip:

pip install pyH2A

Documentation

Documentation for pyH2A is available at: https://pyh2a.readthedocs.io

Dependencies

pyH2A uses Python >=3.7 with the following libraries: NumPy, SciPy, Pandas, Matplotlib and Click

Use

pyH2A can be used from the command line:

pyH2A run -i input_file -o output_directory

For example, if the input file Input.md is in the ../Input directory and the output directory is ../Output/Example_Output:

pyH2A run -i ../Input/Input.md -o ../Output/Example_Output

Alternatively, the pyH2A class from pyH2A.run_pyH2A.py can imported and used within a Python script.

Input is provided using a plaintext Markdown file. Input files are structured by headers (designated by '#'), which are followed by Markdown style tables. Headers and tables are parsed by pyH2A.py to generate dictionaries which are used for computations. Certain input sections are mandatory (such as Technical Operating Parameters and Specifications or Financial Input Values). Additional input sections can be processed by invoking Plugins, which perform additional calculations that feed into the discounted cash flow analysis. Finally, the input file can invoke Analysis modules to analyze and visualize the output.

Tools such as StackEdit can be used to edit markdown files while having a live view of the formatted version. This can help with readability of complex tables.

Example output

  • Cost breakdown

cost breakdown plot

  • Sensitivity analysis

sensitivity plot

  • Waterfall analysis

waterfall plot

  • Monte Carlo analysis, also allowing for comparison of different production pathways

colored scatter

comparative distance cost relationship and histograms

Publication data

Data for the accompanying publication can be found in the data directory.

To do

  • Importing plugins and analysis modules from arbitrary location

  • Enabling use of Default.md file in arbitrary location

  • Block diagram illustrating flow of program

  • Creation of graph showing how inputs are processed by series of plugins

  • Lifecycle analysis & net energy analysis?

License

Copyright (c) Jacob Schneidewind

All software is licensed under a MIT license (see LICENSE file).

Shield: CC BY 4.0

All other files and their contents are licensed under a
Creative Commons Attribution 4.0 International License. (see LICENSE-CC-BY)

CC BY 4.0


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 2 days ago

Total Commits: 45
Total Committers: 1
Avg Commits per committer: 45.0
Development Distribution Score (DDS): 0.0

Commits in past year: 1
Committers in past year: 1
Avg Commits per committer in past year: 1.0
Development Distribution Score (DDS) in past year: 0.0

Name Email Commits
Jacob Schneidewind J****d@g****m 45

Issue and Pull Request metadata

Last synced: 24 days ago

Total issues: 0
Total pull requests: 3
Average time to close issues: N/A
Average time to close pull requests: about 1 hour
Total issue authors: 0
Total pull request authors: 2
Average comments per issue: 0
Average comments per pull request: 0.0
Merged pull request: 0
Bot issues: 0
Bot pull requests: 0

Past year issues: 0
Past year pull requests: 0
Past year average time to close issues: N/A
Past year average time to close pull requests: N/A
Past year issue authors: 0
Past year pull request authors: 0
Past year average comments per issue: 0
Past year average comments per pull request: 0
Past year merged pull request: 0
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/jschneidewind/pyh2a

Top Issue Authors

Top Pull Request Authors

  • rabatkri (2)
  • jschneidewind (1)

Top Issue Labels

Top Pull Request Labels


Package metadata

pypi.org: pyh2a

A framework for the analysis of hydrogen production cost

  • Homepage: https://github.com/jschneidewind/pyH2A
  • Documentation: https://pyh2a.readthedocs.io/
  • Licenses: MIT License
  • Latest release: 0.0a8 (published about 4 years ago)
  • Last Synced: 2026-03-25T03:02:01.454Z (2 days ago)
  • Versions: 6
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 27 Last month
  • Rankings:
    • Dependent packages count: 10.052%
    • Stargazers count: 14.188%
    • Forks count: 16.824%
    • Average: 18.291%
    • Dependent repos count: 21.642%
    • Downloads: 28.748%
  • Maintainers (1)

Dependencies

requirements.txt pypi
  • autodocsumm *
  • click >=7.1.2
  • furo *
  • matplotlib *
  • numpy *
  • numpydoc *
  • pandas *
  • scipy *
src/pyH2A.egg-info/requires.txt pypi
  • click *
  • matplotlib *
  • numpy *
  • pandas *
  • scipy *

Score: 7.05617528410041