HOPP
Assesses optimal designs for the deployment of utility-scale hybrid energy plants, particularly considering wind, solar and storage.
https://github.com/NatLabRockies/HOPP
Keywords from Contributors
wind wind-energy wind-turbine openmdao systems-engineering wisdem
Last synced: 1 day ago
JSON representation
Acceptance Criteria
- Revelant topics? false
- External users? true
- Open source license? true
- Active? true
- Fork? false
Repository metadata
- Host: GitHub
- URL: https://github.com/NatLabRockies/HOPP
- Owner: NatLabRockies
- License: bsd-3-clause
- Created: 2019-11-04T17:13:57.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2026-01-29T16:08:04.000Z (11 days ago)
- Last Synced: 2026-02-06T00:55:14.263Z (4 days ago)
- Language: Python
- Homepage: https://hopp.readthedocs.io/
- Size: 632 MB
- Stars: 34
- Watchers: 7
- Forks: 64
- Open Issues: 69
- Releases: 11
-
Metadata Files:
- Readme: README.md
- Contributing: docs/CONTRIBUTING.md
- License: LICENSE
README.md
Hybrid Optimization and Performance Platform
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.
Software requirements
- Python version 3.8, 3.9, 3.10 64-bit
- Other versions may still work, but have not been extensively tested at this time
Installing from Package Repositories
-
HOPP is available as a PyPi package:
pip install HOPP
Installing from Source
-
Using Git, navigate to a local target directory and clone repository:
git clone https://github.com/NREL/HOPP.git -
Navigate to
HOPPcd 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.txtNote 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_KEYandNREL_API_EMAILrequired for resource downloads, you can create Environment Variables calledNREL_API_KEYandNREL_API_EMAIL. 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 NREL_API_EMAIL=your.name@email.com -
Verify setup by running tests:
pytest tests/hopp -
To set up
NREL_API_KEYfor resource downloads, first refer to section 7 and 8 above. But for the.envfile method,
the file should go in the working directory of your Python project, e.g. directory from where you runpython.
Getting Started
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.
Contributing
Interested in improving HOPP? Please see the Contributing section for more information.
Owner metadata
- Name: National Laboratory of the Rockies
- Login: NatLabRockies
- Email:
- Kind: organization
- Description:
- Website: http://www.nrel.gov
- Location: Golden, CO
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/1906800?v=4
- Repositories: 599
- Last ynced at: 2026-01-22T09:57:55.744Z
- Profile URL: https://github.com/NatLabRockies
GitHub Events
Total
- Release event: 1
- Pull request event: 2
- Push event: 2
- Pull request review event: 2
Last Year
- Release event: 1
- Pull request event: 2
- Push event: 2
- Pull request review event: 2
Issue and Pull Request metadata
Last synced: 10 days ago
Total issues: 0
Total pull requests: 1
Average time to close issues: N/A
Average time to close pull requests: about 5 hours
Total issue authors: 0
Total pull request authors: 1
Average comments per issue: 0
Average comments per pull request: 0.0
Merged pull request: 1
Bot issues: 0
Bot pull requests: 0
Past year issues: 0
Past year pull requests: 1
Past year average time to close issues: N/A
Past year average time to close pull requests: about 5 hours
Past year issue authors: 0
Past year pull request authors: 1
Past year average comments per issue: 0
Past year average comments per pull request: 0.0
Past year merged pull request: 1
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
Top Pull Request Authors
- RHammond2 (1)
Top Issue Labels
Top Pull Request Labels
- bug (1)
- dependencies (1)
Dependencies
- actions/checkout v3 composite
- actions/setup-python v3 composite
- actions/checkout v2 composite
- conda-incubator/setup-miniconda v2 composite
- actions/checkout v2 composite
- actions/setup-python v2 composite
- Cython * development
- NREL-PySAM ==3.0.0 development
- Pillow * development
- Pyomo >=6.1.2 development
- cmake * development
- floris * development
- future * development
- global_land_mask * development
- matplotlib * development
- numpy * development
- pandas * development
- pint * development
- pvmismatch * development
- pysolar * development
- pytest * development
- python-dotenv * development
- pytz * development
- requests * development
- scipy * development
- sphinx * development
- sphinx-copybutton * development
- sphinx-rtd-theme * development
- timezonefinder * development
- urllib3 * development
- Cython *
- NREL-PySAM ==3.0.0
- NREL-PySAM-stubs ==3.0.0
- Pillow *
- Pyomo >=6.1.2
- diskcache *
- fastkml *
- floris *
- future *
- global_land_mask *
- humpday *
- hybridbosse *
- lcoe *
- lxml *
- matplotlib *
- nevergrad *
- nlopt *
- numpy *
- numpy-financial *
- optuna *
- pandas *
- pint *
- pvmismatch *
- pyDOE2 *
- pymoo *
- pyproj *
- pysolar *
- pysot *
- python-dotenv *
- python-rapidjson *
- pytz *
- requests *
- scikit-learn *
- scikit-optimize *
- scipy *
- setuptools *
- shapely >=1.8.5,<2.0.0
- timezonefinder *
- urllib3 *
Score: -Infinity