Welcome to ReEDS’s documentation!

ReEDS

Regional Energy Deployment System (ReEDS) Model

CI Documentation Static Badge GitHub License DOI



This GitHub repository contains the source code for NLR’s ReEDS model. The ReEDS model source code is available at no cost from the National Laboratory of the Rockies. The ReEDS model can be downloaded or cloned from https://github.com/ReEDS-Model/ReEDS.

For more information about the model, see the ReEDS Documentation.

ReEDS training videos are available on the NLR Learning YouTube channel.

Introduction

ReEDS is a capacity planning and dispatch model for the U.S. electricity system.

As NLR’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.

Quick-start guide

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.

  1. Install Python using the Anaconda Distribution: https://www.anaconda.com/download/success

  2. Set up GAMS:

    1. Install GAMS: https://www.gams.com/download/

    2. Obtain a combined GAMS/CPLEX license: https://www.gams.com/sales/licensing/

      1. Small ReEDS systems have been solved using the open-source COIN-OR solver as described here, but this capability is not actively maintained.

      2. Other commercial solvers have also been successfully applied to ReEDS, but setup details and some solver tuning are specific to the CPLEX solver.

  3. Install Julia version 1.12.1 as described in the documentation:

    1. Follow the platform-dependent installation instructions at https://julialang.org/downloads/ to install both julia and juliaup

    2. Specify version 1.12.1 by running:

      1. juliaup add 1.12.1

      2. juliaup default 1.12.1

  4. Open a command-line interface and set up your environments:

    1. Clone the ReEDS repository: git clone git@github.com:ReEDS-Model/ReEDS.git or git clone https://github.com/ReEDS-Model/ReEDS.git

    2. Navigate to the cloned repository

    3. Create the reeds2 conda environment: conda env create -f environment.yml

    4. Activate the reeds2 environment: conda activate reeds2

    5. Instantiate the Julia environment: julia --project=. instantiate.jl

    6. (Optional) Several large data files are hosted remotely. These files are downloaded automatically as needed during a ReEDS run, but to finish all the internet-requiring steps up front, you can download them all by running python reeds/remote.py. Additional details on remote files and other topics can be found in the user guide.

  5. Run ReEDS on a test case from the root of the cloned repository:

    1. For interactive setup: python runbatch.py

    2. For one-line operation: python runbatch.py -b v20250314_main -c test. In this example, “v20250314_main” is the prefix for this batch of cases, and “test” is the suffix of the cases file, in this case cases_test.csv, located in the root of the repository. Run python runbatch.py -h for information on other optional command-line arguments for ReEDS.

Contact Us

If you have comments and/or questions, you can contact the ReEDS team at ReEDS.Inquiries@nlr.gov or post a question on the discussion pages.