Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Documentation Status

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.

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

Metadata

Release files for pyH2A 0.0a8

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

Source distribution (sdist)

Source distribution for pyH2A 0.0a8
File Size Uploaded
pyH2A-0.0a8.tar.gz 1.8 MB Details

Built distribution (wheel)

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

Total release size: 2.8 MB

Release files / pyH2A-0.0a8.tar.gz

Download URL pyH2A-0.0a8.tar.gz
Size 1.8 MB
Tags Source
SHA-256 checksum
How to use checksums
55bd17693e260ba077ce613b76b4df9044cbb923e98e59436b9e32c96c249584
BLAKE2b-256 checksum
How to use checksums
a06e9874f6f7484d6a75c12bcba4c083bca3d50c6b5dd298071aa2b724829205
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.4

Release files / pyH2A-0.0a8-py3-none-any.whl

Download URL pyH2A-0.0a8-py3-none-any.whl
Size 1.0 MB
Tags Python 3
SHA-256 checksum
How to use checksums
e7ec4e860bfeaa7625710e128ec338f017f7243c1f884d74570643f85a4048d0
BLAKE2b-256 checksum
How to use checksums
04f0314ba781ece670ff32ff8fb763af7c6ac9de469930ff8af4b9cf0956945d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.4
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