RESOLVE Model and Results used for 2019 IRP Proposed Reference System Portfolio Development

The page contains the RESOLVE model and Results used for portfolio development in the 2019-2020 IRP process.  This release includes model updates and case results used to create the Proposed Reference System Portfolio in November 2019.  CPUC staff uses RESOLVE to study a range of portfolios of new electric resources designed to optimally meet California's long-term energy policy goals.  CPUC staff and consultants have completed major updates to the RESOLVE model since the last IRP process (2017-2018).  Key updates include:

  • Use of the Energy Commission's 2018 Integrated Energy Policy Report (IEPR) California Energy Demand Updated Forecast, 2018-2030
  • Complete refresh of baseline generation units and updated candidate resource costs and potential
  • Ability to model economic retention of existing dispatchable gas resources
  • Modeling of declining capacity value of battery storage at higher penetrations
  • Python 3.x compatible code

For a more complete description of input and functionality updates, refer to the 11/6/2019 Proposed Reference System Plan presentation.

RESOLVE Model, 11/6/2019

Inputs and Assumptions for the Proposed Reference System Portfolio used with the release of RESOLVE

RESOLVE User Guide (updated 11/6/2019) - read this first to learn how to use the Excel workbooks and Python code provided below

RESOLVE Model and Results Package (7z archiving and file compression app)
Warning:  This is a large file(about 820 MB).  The 7z file contains these components:

RESOLVE Python code (new, Python 3.x compatible) and setup script

  • Excel-based Scenario Tool
  • Excel-based Resource Costs and Build
  • Excel-based Results Viewer
  • Inputs data files for each case studied
  • Results data files for each case studied


The 7z file content must be decompressed before using.  When decompressing, the user must retain the exact folder hierarchy reflected in the 7z file - otherwise the Python code and Excel macros will not be able to locate files.

The version of RESOLVE was written using Python 3.x syntax.  To run these script, the user must use a Python 3.x environment.  See the User Guide linked above for details.   

DISCLAIMER:  The core of the RESOLVE model is written in the Python scripting language.  This model was created by Energy+Environmental Economics (E3) and was adapted for use in the CPUC's Integrated Resource Planning proceeding under the administration of CPUC's Energy Division.  The E3 RESOLVE Model is free software under the terms of the GNU Affero General Public License as published by Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The CPUC is distributing the RESOLVE Model in the hope that it will be useful, however:  No warranty of any kind, implied, expressed, or statutory, including but not limited to the warranties of non-infringement of third party rights, title, merchantability, fitness for a particular purpose, and freedom from computer virus, is given with respect to the RESOLVE software including its Python scripts, the web page hosting the RESOLVE software or hyperlinks to other Internet resources.

References or links in the web site hosting the RESOLVE model to any specific commercial products, processes, or services, or the use of any trade, firm, or corporation name are for the information and convenience of the public, and do not constitute endorsement, recommendation, or favoring by the CPUC, or its employees or agents. E3 and the CPUC bear no responsibility for the consequences of any modifications to the model, including its Python scripts, whether intentional or unintentional.

The Python scripts of the RESOLVE model, as distributed by the CPUC, are uniquely identified by the following hashes (checksums). Please consult with your information technology professional for information regarding how to help assure the provenance of your code using the data below.

RESOLVE File SHA-256 Hash   771da4bba9eeaeba06f05ebaa92bd970c3250477dac9d21265c7b0a280ccc0b6 
environment.yml   8614b3e68e5fbe57ffee555b3d75bd3e422af89f4884f3092e6bae35907da733 
resolve_code/   bf678e70dc7a638a7faea2f279010a6f55750e53167b3412e283779ab1874920 
resolve_code/   32e2adda33cd56c0c552f4a9d841de1e4593fc3190fcfacf851493921886aae3 
resolve_code/   6bffba288f440a5670bd0376b0c5635fc44efaef2e62da135e23b3e938653b5 
resolve_code/   83bea04d476e43140a9461b7312c4a28874438bfdc56191d88fd90a99b117c68 
resolve_code/   0777225ef7f91fb1150bc8ac53d53a978e7ca3b2f8aa3df887ca52f9a42c4be9 
resolve_code/   698871f7e374f1353f2e0c5b30c8786137c853421d0b4e8dce4c90ce533398c2 
resolve_code/   4c9a34b949b424e5baa545bfef87154d08aa55c8e71a5ab504b1669d2ff55d61 

Any errors or omissions should be reported for investigation to CPUC Energy Division staff Patrick Young at



Immigration Guide