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

Repository metadata

README.md

Hybrid Optimization and Performance Platform

CI Tests

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

  1. HOPP is available as a PyPi package:

    pip install HOPP
    

Installing from Source

  1. Using Git, navigate to a local target directory and clone repository:

    git clone https://github.com/NREL/HOPP.git
    
  2. Navigate to HOPP

    cd HOPP
    
  3. 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
    
  4. 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
    
  5. Install HOPP:

    pip install -e .
    
  6. The functions which download resource data require an NREL API key. Obtain a key from:

    https://developer.nrel.gov/signup/

  7. To set up the NREL_API_KEY and NREL_API_EMAIL required for resource downloads, you can create Environment Variables called NREL_API_KEY and NREL_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
    
  8. Verify setup by running tests:

    pytest tests/hopp
    
  9. 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 run python.

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


GitHub Events

Total
Last Year

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

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/NatLabRockies/HOPP

Top Issue Authors

Top Pull Request Authors

  • RHammond2 (1)

Top Issue Labels

Top Pull Request Labels

  • bug (1)
  • dependencies (1)

Dependencies

.github/workflows/ci.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
.github/workflows/conda_build.yml actions
  • actions/checkout v2 composite
  • conda-incubator/setup-miniconda v2 composite
.github/workflows/publish_to_pypi.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
requirements-dev.txt pypi
  • 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
requirements.txt pypi
  • 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 *
setup.py pypi

Score: -Infinity