As part of NREL's Hybrid Energy Systems Research, this software assesses optimal designs for the deployment of utility-scale hybrid energy plants, particularly considering wind, solar and storage.
- Python version 3.8, 3.9, 3.10 64-bit
- Other versions may still work, but have not been extensively tested at this time
-
HOPP is available as a PyPi package:
pip install HOPP
-
Using Git, navigate to a local target directory and clone repository:
git clone https://github.com/NREL/HOPP.git
-
Navigate to
HOPP
cd HOPP
-
Create a new virtual environment and change to it. Using Conda and naming it 'hopp':
conda create --name hopp python=3.8 -y conda activate hopp
-
Install dependencies:
conda install -c conda-forge coin-or-cbc=2.10.8 -y conda install -c conda-forge glpk -y pip install -r requirements.txt
Note if you are on Windows, you will have to manually install Cbc: https://github.com/coin-or/Cbc
If you also want development dependencies for running tests and building docs:
pip install -r requirements-dev.txt
-
Install HOPP:
pip install -e .
-
The functions which download resource data require an NREL API key. Obtain a key from:
-
To set up the
NREL_API_KEY
required for resource downloads, you can create an Environment Variable calledNREL_API_KEY
. Otherwise, you can keep the key in a new file called ".env" in the root directory of this project.Create a file ".env" that contains the single line:
NREL_API_KEY=key
-
Verify setup by running tests:
pytest tests/hopp
-
To set up
NREL_API_KEY
for resource downloads, first refer to section 7 and 8 above. But for the.env
file method, the file should go in the working directory of your Python project, e.g. directory from where you runpython
.
The Examples contain Jupyter notebooks and sample YAML files for common usage scenarios in HOPP. These are actively maintained and updated to demonstrate HOPP's capabilities. For full details on simulation options and other features, see the documentation.
Interested in improving HOPP? Please see the Contributing section for more information.