RESOLVE Model Inputs and Results used for 2019 IRP Reference System Plan Decision
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