- PyPI: https://pypi.org/project/pyH2A
- Documentation: https://pyh2a.readthedocs.io
- Source code: https://github.com/jschneidewind/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.
pyH2A can be installed using pip
:
pip install pyH2A
Documentation for pyH2A is available at: https://pyh2a.readthedocs.io
pyH2A uses Python >=3.7 with the following libraries: NumPy
, SciPy
, Pandas
, Matplotlib
and Click
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.
- Cost breakdown
- Sensitivity analysis
- Waterfall analysis
- Monte Carlo analysis, also allowing for comparison of different production pathways
Data for the accompanying publication can be found in the data
directory.
-
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?
Copyright (c) Jacob Schneidewind
All software is licensed under a MIT license (see LICENSE
file).
All other files and their contents are licensed under a
Creative Commons Attribution 4.0 International License. (see LICENSE-CC-BY
)