HydroGenerate
About
HydroGenerate is an open-source python library that has the capability of estimating hydropower generation based on flow rate either provided by the user or received from United States Geological Survey (USGS) water data services. The tool calculates the efficiency as a function of flow based on the turbine type either selected by the user or estimated based on the “head” provided by the user.
For more information please refer to the OSTI webpage.
Installation Instructions
HydroGenerate is offered as a python package. This means that the classes and utilities can be used anywhere in your system, without risks of making unwanted changes to the core code in the repo, issues with finsing the module in path, etc.
For Basic Usage
HydroGenerate can be installed by downloading the source code from GitHub or via the PyPI package manager using pip.
For those interested only in using the code, the simplest way to obtain it is with pip by using this command:
pip install HydroGenerate
For developers
- Clone the repo:
git clone git@github.com:IdahoLabResearch/HydroGenerate.git
cd HydroGenerate
- It is recommended that a dedicated conda environment be created for developing/using this repo and prior to the installation below.
conda create --name hat-env python=3.6
To activate the environment, execute the following command:
conda activate hat-env
- Install the package in your environment:
pip install -e .
Optional
- Install jupyter lab in your new environment
conda install -c conda-forge jupyterlab
Authors
Juan Gallego-Calderon
Camilo J. Bastidas Pacheco
Soumyadeep Nag
Bhaskar Mitra
Shiloh Elliott
Thomas M. Mosier
Citation
If you are using our repository kindly use the following citation format(s).
Bibtex
@misc{osti_1829986,
title = {Hydrogenerate: Open Source Python Tool To Estimate Hydropower Generation Time-series},
author = {Mitra, Bhaskar and Gallego-Calderon, Juan F. and Elliott, Shiloh N and Mosier, Thomas M and Bastidas Pacheco, Camilo Jose, and Nag, Soumyadeep and USDOE Office of Energy Efficiency and Renewable Energy},
abstractNote = {Hydropower is one of the most mature forms of renewable energy generation. The United States (US) has almost 103 GW of installed, with 80 GW of conventional generation and 23 GW of pumped hydropower [1]. Moreover, the potential for future development on Non-Powered Dams is up to 10 GW. With the US setting its goals to become carbon neutral [2], more renewable energy in the form of hydropower needs to be integrated with the grid. Currently, there are no publicly available tool that can estimate the hydropower potential for existing hydropower dams or other non-powered dams. The HydroGenerate is an open-source python library that has the capability of estimating hydropower generation based on flow rate either provided by the user or received from United States Geological Survey (USGS) water data services. The tool calculates the efficiency as a function of flow based on the turbine type either selected by the user or estimated based on the “head” provided by the user.},
url = {https://www.osti.gov//servlets/purl/1829986},
doi = {10.11578/dc.20211112.1},
url = {https://www.osti.gov/biblio/1829986}, year = {2021},
month = {10},
note =
}
Chicago
Mitra, Bhaskar, Gallego-Calderon, Juan F., Elliott, Shiloh N, Mosier, Thomas M, Bastidas Pacheco, Camilo Jose, Nag, Soumyadeep, and USDOE Office of Energy Efficiency and Renewable Energy. Hydrogenerate: Open Source Python Tool To Estimate Hydropower Generation Time-series. Computer software. Version 3.6 or newer. October 19, 2021. https://www.osti.gov//servlets/purl/1829986. doi:https://doi.org/10.11578/dc.20211112.1.
APA
Mitra, Bhaskar, Gallego-Calderon, Juan F., Elliott, Shiloh N, Mosier, Thomas M, Bastidas Pacheco, Camilo Jose, Nag, Soumyadeep, & USDOE Office of Energy Efficiency and Renewable Energy. (2021, October 19). Hydrogenerate: Open Source Python Tool To Estimate Hydropower Generation Time-series (Version 3.6 or newer) [Computer software]. https://www.osti.gov//servlets/purl/1829986. https://doi.org/10.11578/dc.20211112.1
MLA
Mitra, Bhaskar, Gallego-Calderon, Juan F., Elliott, Shiloh N, Mosier, Thomas M, Bastidas Pacheco, Camilo Jose, Nag, Soumyadeep, and USDOE Office of Energy Efficiency and Renewable Energy. Hydrogenerate: Open Source Python Tool To Estimate Hydropower Generation Time-series. Computer software. https://www.osti.gov//servlets/purl/1829986. Vers. 3.6 or newer. USDOE Office of Energy Efficiency and Renewable Energy (EERE). 19 Oct. 2021. Web. doi:10.11578/dc.20211112.1.
Metadata
Release files for HydroGenerate 1.4.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hydrogenerate-1.4.1.tar.gz | 40.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hydrogenerate-1.4.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 81.2 kB
Release files / hydrogenerate-1.4.1.tar.gz
| Download URL | hydrogenerate-1.4.1.tar.gz |
|---|---|
| Size | 40.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
67c0040e7547ad0b82a31bb17d9ede7e417abc1afdf9ded371693cfcbe9f99fa
|
|
BLAKE2b-256 checksum How to use checksums |
c517f105ab23bccc8264efaf179b8ee215d67c67705727443c49103f9e289b75
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Apr 10, 2026.
Transparency logRelease files / hydrogenerate-1.4.1-py3-none-any.whl
| Download URL | hydrogenerate-1.4.1-py3-none-any.whl |
|---|---|
| Size | 40.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8115d832ec8b782598f60fa0ed05be4f6d71eaf51252b7288c7f02dc9d652f07
|
|
BLAKE2b-256 checksum How to use checksums |
65ce5cb53b8b786469eca63fed7298bb04eaf16c403436e99b1bbc68789b606a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Apr 10, 2026.
Transparency log