Skip to main content

A framework for the analysis of hydrogen production cost

Project description

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

To do

  • Generating input file template given a defined set of plugins (comments in input file should indicate which plugin is requesting which inputs)

  • 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyH2A-0.0a4.tar.gz (1.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyH2A-0.0a4-py3-none-any.whl (1.0 MB view details)

Uploaded Python 3

File details

Details for the file pyH2A-0.0a4.tar.gz.

File metadata

  • Download URL: pyH2A-0.0a4.tar.gz
  • Upload date:
  • Size: 1.8 MB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for pyH2A-0.0a4.tar.gz
Algorithm Hash digest
SHA256 16c4705a3383e4f6e90c297117ac1be1e7a7063fe8e8f53859c6aaacfe86a8c3
MD5 907eac65b2c9be06e169d3550e647624
BLAKE2b-256 08dd465e2eda6e7b4701bb57e778593cf0dd3f58c29bdedee59c52dd21bfeedc

See more details on using hashes here.

File details

Details for the file pyH2A-0.0a4-py3-none-any.whl.

File metadata

  • Download URL: pyH2A-0.0a4-py3-none-any.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for pyH2A-0.0a4-py3-none-any.whl
Algorithm Hash digest
SHA256 0727de3b112800000108ad5e754222ea45377e2ba1988e1ead05980829ebd6a7
MD5 0be8767f56b0b3efeef77240bc852529
BLAKE2b-256 d59ab80f766db922339a7e41a0bdcd778fbc7b70fc0209b95ad30eb4f2498e02

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page