Skip to main content

Hybrid Systems Optimization and Performance Platform.

Project description

HOPP: Hybrid Optimization and Performance Platform

PyPI version CI Tests image License

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.9, 3.10, and 3.11 only (PySAM 4.2 is incompatible with 3.12)

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 HOPP and its dependencies:

    conda install -y -c conda-forge coin-or-cbc=2.10.8 glpk
    

    Note if you are on Windows, you will have to manually install Cbc: https://github.com/coin-or/Cbc.

    • If you want to just use HOPP:

      pip install .  
      
    • If you want to work with the examples:

      pip install ".[examples]"
      
    • If you also want development dependencies for running tests and building docs:

      pip install -e ".[develop]"
      
  5. The functions which download resource data require an NREL API key. Obtain a key from:

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

  6. 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
    
  7. Verify setup by running tests:

    pytest tests/hopp
    
  8. To set up NREL_API_KEY for resource downloads, first refer to section 6 and 7 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.

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

hopp-3.0.tar.gz (71.5 MB view details)

Uploaded Source

Built Distribution

hopp-3.0-py3-none-any.whl (67.2 MB view details)

Uploaded Python 3

File details

Details for the file hopp-3.0.tar.gz.

File metadata

  • Download URL: hopp-3.0.tar.gz
  • Upload date:
  • Size: 71.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for hopp-3.0.tar.gz
Algorithm Hash digest
SHA256 6ab5bee9fd180f3ed14c32354c16ffb63cee0be2adcdfdbc418e617345d3f4d7
MD5 1770b515e9542413fddea2d46f767b97
BLAKE2b-256 a50c8379ea7c78d612eaf266554ad3273317e92cefe7085c8b45f2a93d295131

See more details on using hashes here.

File details

Details for the file hopp-3.0-py3-none-any.whl.

File metadata

  • Download URL: hopp-3.0-py3-none-any.whl
  • Upload date:
  • Size: 67.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for hopp-3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a3221bcb554bf522adbb7a867c558b80a52a05259d974dce03d1e7aeabd071b8
MD5 a88db5be06b5c1dc822dbb50415cc488
BLAKE2b-256 f58f05d8edab674a4bc29ec288853f1a0ea2a8dc992c969c5ebdf930317c69a5

See more details on using hashes here.

Supported by

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