This GitHub repository contains the source code for NREL's ReEDS model. The ReEDS model source code is available at no cost from the National Renewable Energy Laboratory. The ReEDS model can be downloaded or cloned from https://github.com/NREL/ReEDS-2.0.
For more information about the model, see the open source ReEDS-2.0 Documentation.
ReEDS training videos are available on the NREL YouTube channel at https://youtu.be/aGj3Jnspk9M?si=iqCRNn5MbGZc8ZIO.
ReEDS is a capacity planning and dispatch model for the U.S. electricity system.
As NREL's flagship long-term power sector model, ReEDS has served as the primary analytic tool for many studies of electricity sector research questions. Example model results are available in the Scenario Viewer.
The ReEDS model is written in Python, GAMS, and Julia. Python and Julia are free, open-source languages; GAMS requires a software license from the vendor. A step-by-step guide for getting started with ReEDS is available here, and a quick-start guide for advanced users is outlined below.
- Install Python using the Anaconda Distribution: https://www.anaconda.com/download/success
- Set up GAMS:
- Install GAMS: https://www.gams.com/download/
- Obtain a combined GAMS/CPLEX license: https://www.gams.com/sales/licensing/
- Install Julia: https://julialang.org/downloads/
- Open a command-line interface and set up your environments:
- Clone the ReEDS repository:
git clone [email protected]:NREL/ReEDS-2.0.git
orgit clone https://github.com/NREL/ReEDS-2.0.git
- Navigate to the cloned repository
- Create the
reeds2
conda environment:conda env create -f environment.yml
- Linux and Mac users can use the environment.yml directly. Windows users need to comment out the
- julia=1.8
line from the environment.yml file before creating the enviroment and use the version of Julia installed above.
- Linux and Mac users can use the environment.yml directly. Windows users need to comment out the
- Activate the
reeds2
environment:conda activate reeds2
- Instantiate the Julia environment:
julia --project=. instantiate.jl
- Clone the ReEDS repository:
- Run ReEDS on a test case from the root of the cloned repository:
- For interactive setup:
python runbatch.py
- For one-line operation:
python runbatch.py -b v20250314_main -c test
. In this example, "v20250314_main" is the prefix for a batch of cases, and "test" is the suffix of a cases_{}.csv file located in the root of the repository (in this case, cases_test.csv).
- For interactive setup:
If you have comments and/or questions, you can contact the ReEDS team at [email protected] or post a question on the discussion pages.
Alternatively, you can post questions at ReEDS repository discussion page.