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 inform the Reference System Plan Decision, March 26, 2020.  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

RESOLVE Model, 3/23/2020

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

RESOLVE Model Package (zip file) - Scenario Tool updated for pyomo 5.6.9 compatibility 5/27/2020. Input files included in the zip file are not updated and would need to be regenerated using the updated Scenario Tool in order to be compatible with pyomo 5.6.9.  See note below for details. 

Warning:  This is a large file (about 300MB).  The zip file contain these components:

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

  • RESOLVE Python code (Python 3.x compatible) and setup script
  • Excel-based Scenario Tool - updated for pyomo 5.6.9 compatibility 5/27/2020 
  • Excel-based Resource Costs and Build
  • Excel-based Results Viewer
  • Inputs data files for each case studied
  • Results data files for each case studied

     Note about pyomo 5.6.9 update 5/27/2020:

The pyomo software included with Python installations has been updated to version 5.6.9 necessitiating an update to the RESOLVE Scenario Tool. To rerun existing Resolve scenarios or run new scenarios, use the updated Scenario Tool to (re)create the scenario input files (the .tab files in the subdirectory "inputs\scenario_name"). The updated Scenario Tool can be downloaded at the link above. The link above to the full RESOLVE Model Package has also been updated with the new Scenario Tool. This update does not materially impact the optimized solutions of any of the scenarios originally included in the RESOLVE Model Package.

 

The table below names each case included in the results and describes what the case is and if applicable a downstream use case (rows colored green).

A 46MMT_20200207_2045_2GWPRM_NOOTCEXT_RSP_PD Reference System Portfolio – 46 MMT target to be used as guide for conforming portfolio in LSE IRP filings
B 46MMT_20200207_2045_2GWPRM_OTCEXT Scenario assessing impact of limited OTC extensions
C 46MMT_20200207_2045_0PRM_NOOTCEXT Scenario adding 0 GW to the PRM requirement and no OTC extensions
D 46MMT_20200207_2045_0PRM_OTCEXT Scenario adding 0 GW to the PRM requirement and limited OTC extensions
E 46MMT_20200207_2045_2GWPRM_NOOTCEXT_NoNewDER Scenario used exclusively to develop inputs in the IDER proceeding
F 38MMT_20200117_2045_0PRM_NOOTCEXT Similar to C but with 38 MMT target
G 38MMT_20200117_2045_0PRM_OTCEXT Similar to D but with 38 MMT target
H 38MMT_20200117_2045_2GWPRM_NOOTCEXT Similar to A but with 38 MMT target and to be used as guide for conforming portfolio in LSE IRP filings
I 38MMT_20200117_2045_2GWPRM_OTCEXT Similar to B but with 38 MMT target
J 30MMT_20200207_2045_2GWPRM_NOOTCEXT Similar to A but with 30 MMT target
K 30MMT_20200303_2045_2GWPRM_NOOTCEXT_ExpandedEO Similar to J but with expanded energy-only resource potential and to be used as TPP policy-driven sensitivity
L 46MMT_20191104_SolarLimit_PartialOTCExt_Nov_ProposedRSP Proposed RSP from November 2019

 

    IMPORTANT:

    The zip file content must be decompressed before using.  When decompressing, the user must retain the exact folder hierarchy reflected in the zip 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 scripts, 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

    setup.py

    771da4bba9eeaeba06f05ebaa92bd970c3250477dac9d21265c7b0a280ccc0b6

    environment.yml

    8614b3e68e5fbe57ffee555b3d75bd3e422af89f4884f3092e6bae35907da733

    resolve_code/create_results_summary.py

    bf678e70dc7a638a7faea2f279010a6f55750e53167b3412e283779ab1874920

    resolve_code/export_results.py

    32e2adda33cd56c0c552f4a9d841de1e4593fc3190fcfacf851493921886aae3

    resolve_code/fileio.py

    6bffba288f440a5670bd0376b0c5635fc44efaef2e62da135e23b3e938653b5

    resolve_code/load_data.py

    83bea04d476e43140a9461b7312c4a28874438bfdc56191d88fd90a99b117c68

    resolve_code/model_formulation.py

    0777225ef7f91fb1150bc8ac53d53a978e7ca3b2f8aa3df887ca52f9a42c4be9

    resolve_code/run_opt.py

    698871f7e374f1353f2e0c5b30c8786137c853421d0b4e8dce4c90ce533398c2

    resolve_code/runbatch.py

    4c9a34b949b424e5baa545bfef87154d08aa55c8e71a5ab504b1669d2ff55d61

    Any errors or omissions should be reported for investigation to CPUC Energy Division staff: Patrick Young at patrick.young@cpuc.ca.gov