Local installation instructions#
Installation#
Conda environment#
Create a new conda environment for hercules:
conda create --name hercules python=3.11
conda activate hercules
Hercules#
If you haven’t already cloned hercules:
git clone https://github.com/NREL/hercules
Then,
pip install -e hercules
Possibly, cd
into hercules and switch to the
develop branch.
SEAS, Electrolyzer, PySAM, and WHOC#
SEAS#
SEAS is also required for hercules. To install SEAS, use
pip install https://github.com/NREL/SEAS/blob/v1/SEAS.tar.gz?raw=true
If this fails, the following may work instead (but you need permissions):
git clone https://github.nrel.gov/SEAS/SEAS
cd SEAS
git fetch --all
git switch dv/emuwind
Older versions of git (e.g. the one on Eagle) don’t have the switch
feature; instead, use
git checkout dv/emuwind
Then,
cd ..
pip install -e SEAS
Electrolyzer#
A python electrolyzer model is also required for hercules. To install the electrolyzer, use
git clone git@github.com:NREL/electrolyzer.git
cd electrolyzer
git fetch --all
git switch develop
Older versions of git (e.g. the one on Eagle) don’t have the switch
feature; instead, use
git checkout develop
Then,
cd ..
pip install -e electrolyzer
NREL’s PySAM software is also required for hercules. To install, use
pip install nrel-pysam==6.0.0
PyYAML#
If you run hercules and get an error that pyyaml
is missing, you may also need to install it using
conda install -c conda-forge pyyaml
WHOC#
NREL’s Wind Hybrid Open Controller (WHOC) software is used to implement controllers in the Hercules platform. This package is not essential to run Hercules by itself, but is needed to implement any controls in the platform. Example 06 has an example of how this is used to control a battery based on wind farm power output.
To install: Go back to herc_root
git clone git@github.com:NREL/wind-hybrid-open-controller.git
cd wind-hybrid-open-controller
git fetch --all
pip install -e .
Note: if you want the newest updates to the WHOC repository, you can checkout the develop branch instead of the main branch.
Running [Local]#
Using the run scripts#
The simplest way to run hercules is to use the provided run scripts via:
bash run_script.sh
Running manually#
It is recommended to run primarily using the run scripts as they will handle the launching of the various components of the hercules platform. However, if you wish to run manually, referring to the sequence of commands in the run_script.sh file will be helpful to see how to execute various configurations of the platform.