遇见数据集

Spatial and temporal variation in the value of solar power across United States electricity markets

收藏
Zenodo2020-07-30 更新2026-05-25 收录
数据链接:
官方服务:

资源简介:

This repository includes python scripts and input/output data associated with the following publication: [1] Brown, P.R.; O'Sullivan, F. "Spatial and temporal variation in the value of solar power across United States Electricity Markets". Renewable &amp; Sustainable Energy Reviews 2019. https://doi.org/10.1016/j.rser.2019.109594 Please cite reference [1] for full documentation if the contents of this repository are used for subsequent work. Many of the scripts, data, and descriptive text in this repository are shared with the following publication: [2] Brown, P.R.; O'Sullivan, F. "Shaping photovoltaic array output to align with changing wholesale electricity price profiles". Applied Energy 2019, 256, 113734. https://doi.org/10.1016/j.apenergy.2019.113734 All code is in python 3 and relies on a number of dependencies that can be installed using pip or conda. <strong>Contents</strong> pvvm/*.py : Python module with functions for modeling PV generation and calculating PV energy revenue, capacity value, and emissions offset. notebooks/*.ipynb : Jupyter notebooks, including: pvvm-vos-data.ipynb: Example scripts used to download and clean input LMP data, determine LMP node locations, assign nodes to capacity zones, download NSRDB input data, and reproduce some figures in [1] pvvm-example-generation.ipynb: Example scripts demonstrating the use of the PV generation model and a sensitivity analysis of PV generator assumptions pvvm-example-plots.ipynb: Example scripts demonstrating different plotting functions validate-pv-monthly-eia.ipynb: Scripts and plots for comparing modeled PV generation with monthly generation reported in EIA forms 860 and 923, as discussed in SI Note 3 of [1] validate-pv-hourly-pvdaq.ipynb: Scripts and plots for comparing modeled PV generation with hourly generation reported in NREL PVDAQ database, as discussed in SI Note 3 of [1] pvvm-energyvalue.ipynb: Scripts for calculating the wholesale energy market revenues of PV and reproducing some figures in [1] pvvm-capacityvalue.ipynb: Scripts for calculating the capacity credit and capacity revenues of PV and reproducing some figures in [1] pvvm-emissionsvalue.ipynb: Scripts for calculating the emissions offset of PV and reproducing some figures in [1] pvvm-breakeven.ipynb: Scripts for calculating the breakeven upfront cost and carbon price for PV and reproducing some figures in [1] html/*.html : Static images of the above Jupyter notebooks for viewing without a python kernel data/lmp/*.gz : Day-ahead nodal locational marginal prices (LMPs) and marginal costs of energy (MCE), congestion (MCC), and losses (MCL) for CAISO, ERCOT, MISO, NYISO, and ISONE. At the time of publication of this repository, permission had not been received from PJM to republish their LMP data. If permission is received in the future, a new version of this repository will be linked here with the complete dataset. results/*.csv.gz : Simulation results associated with [1], including modeled energy revenue, capacity credit and revenue, emissions offsets, and breakeven costs for PV systems at all LMP nodes <strong>Data notes</strong> ISO LMP data are used with permission from the different ISOs. Adapting the MIT License (https://opensource.org/licenses/MIT), "The data are provided 'as is', without warranty of any kind, express or implied, including but not limited to the warranties of merchantibility, fitness for a particular purpose and noninfringement. In no event shall the authors or sources be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the data or other dealings with the data." Copyright and usage permissions for the LMP data are available on the ISO websites, linked below. ISO-specific notes on LMP data: CAISO data from http://oasis.caiso.com/mrioasis/logon.do are used pursuant to the terms at http://www.caiso.com/Pages/PrivacyPolicy.aspx#TermsOfUse. ERCOT data are from http://www.ercot.com/mktinfo/prices. MISO data are from https://www.misoenergy.org/markets-and-operations/real-time--market-data/market-reports/ and https://www.misoenergy.org/markets-and-operations/real-time--market-data/market-reports/market-report-archives/. PJM data were originally downloaded from https://www.pjm.com/markets-and-operations/energy/day-ahead/lmpda.aspx and https://www.pjm.com/markets-and-operations/energy/real-time/lmp.aspx. At the time of this writing these data are currently hosted at https://dataminer2.pjm.com/feed/da_hrl_lmps and https://dataminer2.pjm.com/feed/rt_hrl_lmps. NYISO data from http://mis.nyiso.com/public/ are used subject to the disclaimer at https://www.nyiso.com/legal-notice. ISONE data are from https://www.iso-ne.com/isoexpress/web/reports/pricing/-/tree/lmps-da-hourly and https://www.iso-ne.com/isoexpress/web/reports/pricing/-/tree/lmps-rt-hourly-final. The Material is provided on an "as is" basis. ISO New England Inc., to the fullest extent permitted by law, disclaims all warranties, either express or implied, statutory or otherwise, including but not limited to the implied warranties of merchantability, non-infringement of third parties' rights, and fitness for particular purpose. Without limiting the foregoing, ISO New England Inc. makes no representations or warranties about the accuracy, reliability, completeness, date, or timeliness of the Material. ISO New England Inc. shall have no liability to you, your employer or any other third party based on your use of or reliance on the Material. Data workup: LMP data were downloaded directly from the ISOs using scripts similar to the pvvm.data.download_lmps() function (see below for caveats), then repackaged into single-node single-year files using the pvvm.data.nodalize() function. These single-node single-year files were then combined into the dataframes included in this repository, using the procedure shown in the pvvm-vos-data.ipynb notebook for MISO. We provide these yearly dataframes, rather than the long-form data, to minimize file size and number. These dataframes can be unpacked into the single-node files used in the analysis using the pvvm.data.copylmps() function. <strong>Usage notes</strong> Code is provided under the MIT License, as specified in the pvvm/LICENSE file and at the top of each *.py file. Updates to the code, if any, will be posted in the non-static repository at https://github.com/patrickbrown4/pvvm_vos. The code in the present repository has the following version-specific dependencies: matplotlib: 3.0.3 numpy: 1.16.2 pandas: 0.24.2 pvlib: 0.6.1 scipy: 1.2.1 tqdm: 4.31.1 To use the NSRDB download functions, you will need to modify the "settings.py" file to insert a valid NSRDB API key, which can be requested from https://developer.nrel.gov/signup/. Locations can be specified by passing (latitude, longitude) floats to pvvm.data.downloadNSRDBfile(), or by passing a string googlemaps query to pvvm.io.queryNSRDBfile(). To use the googlemaps functionality, you will need to request a googlemaps API key (https://developers.google.com/maps/documentation/javascript/get-api-key) and insert it in the "settings.py" file. Note that many of the ISO websites have changed in the time since the functions in the pvvm.data module were written and the LMP data used in the above papers were downloaded. As such, the pvvm.data.download_lmps() function no longer works for all ISOs and years. We provide this function to illustrate the general procedure used, and do not intend to maintain it or keep it up to date with the changing ISO websites. For up-to-date functions for accessing ISO data, the following repository (no connection to the present work) may be helpful: https://github.com/catalyst-cooperative/pudl.

本仓库包含与下述学术论文相关的Python脚本与输入/输出数据集:[1] Brown, P.R.; O'Sullivan, F. "美国电力市场中太阳能发电价值的时空分布"(Spatial and temporal variation in the value of solar power across United States Electricity Markets),发表于*Renewable & Sustainable Energy Reviews* 2019年。DOI: https://doi.org/10.1016/j.rser.2019.109594。若将本仓库内容用于后续研究,请引用参考文献[1]以获取完整文档说明。 本仓库中的多数脚本、数据集与说明文本与下述学术论文共享:[2] Brown, P.R.; O'Sullivan, F. "调整光伏阵列出力以匹配实时批发电力价格曲线"(Shaping photovoltaic array output to align with changing wholesale electricity price profiles),发表于*Applied Energy* 2019年, 256, 113734。DOI: https://doi.org/10.1016/j.apenergy.2019.113734。 所有代码均基于Python 3编写,依赖若干可通过pip或conda安装的第三方库。 **目录结构** pvvm/*.py:用于建模光伏(Photovoltaic, PV)出力、计算光伏能源收益、容量价值与减排量的Python模块。 notebooks/*.ipynb:Jupyter Notebook文件,包括: - pvvm-vos-data.ipynb:用于下载并清洗节点边际电价(Locational Marginal Prices, LMP)数据、确定LMP节点位置、将节点分配至容量区域、下载国家太阳能辐射数据库(National Solar Radiation Database, NSRDB)输入数据,以及复现文献[1]中部分图表的示例脚本。 - pvvm-example-generation.ipynb:演示光伏出力模型使用方法与光伏发电机组假设条件敏感性分析的示例脚本。 - pvvm-example-plots.ipynb:演示各类绘图函数使用方法的示例脚本。 - validate-pv-monthly-eia.ipynb:用于将建模得到的光伏出力与美国能源信息署(Energy Information Administration, EIA)表格860与923披露的月度光伏出力进行对比的脚本与图表,对应文献[1]的补充说明附注3。 - validate-pv-hourly-pvdaq.ipynb:用于将建模得到的光伏出力与美国国家可再生能源实验室(National Renewable Energy Laboratory, NREL)PVDAQ数据库披露的逐时光伏出力进行对比的脚本与图表,对应文献[1]的补充说明附注3。 - pvvm-energyvalue.ipynb:用于计算光伏批发能源市场收益并复现文献[1]中部分图表的脚本。 - pvvm-capacityvalue.ipynb:用于计算光伏容量信用与容量收益并复现文献[1]中部分图表的脚本。 - pvvm-emissionsvalue.ipynb:用于计算光伏减排量并复现文献[1]中部分图表的脚本。 - pvvm-breakeven.ipynb:用于计算光伏的盈亏初始成本与碳价格并复现文献[1]中部分图表的脚本。 html/*.html:上述Jupyter Notebook的静态网页版本,可在无需Python运行环境的情况下查看。 data/lmp/*.gz:包含加州独立系统运营商(California Independent System Operator, CAISO)、得克萨斯州电力可靠性委员会(Electric Reliability Council of Texas, ERCOT)、中西部独立系统运营商(Midcontinent Independent System Operator, MISO)、纽约独立系统运营商(New York Independent System Operator, NYISO)与新英格兰独立系统运营商(ISO New England, ISONE)的日前市场节点边际电价(LMP),以及能源边际成本(Marginal Cost of Energy, MCE)、拥堵边际成本(Marginal Cost of Congestion, MCC)与损耗边际成本(Marginal Cost of Losses, MCL)的压缩数据文件。本仓库发布时,尚未获得PJM的许可以重新发布其LMP数据。若后续获得许可,将在此处链接包含完整数据集的仓库新版本。 results/*.csv.gz:与文献[1]相关的仿真结果数据集,包括所有LMP节点处光伏系统的建模能源收益、容量信用与收益、减排量与盈亏成本。 **数据说明** 本仓库使用的各独立系统运营商(Independent System Operator, ISO)LMP数据已获得相应ISO的许可。本仓库采用修改版MIT许可协议(MIT License)(https://opensource.org/licenses/MIT),声明如下:‘本数据按“现状”提供,不附带任何明示或暗示的担保,包括但不限于适销性、特定用途适用性与非侵权性的担保。无论因合同、侵权或其他法律行为,在任何情况下,作者或数据来源均不对因本数据或与本数据相关的交易产生的任何索赔、损害或其他责任承担责任。’LMP数据的版权与使用许可可在对应ISO的官方网站查询,具体链接如下: - CAISO数据源自http://oasis.caiso.com/mrioasis/logon.do,使用需遵守http://www.caiso.com/Pages/PrivacyPolicy.aspx#TermsOfUse中的条款。 - ERCOT数据源自http://www.ercot.com/mktinfo/prices。 - MISO数据源自https://www.misoenergy.org/markets-and-operations/real-time--market-data/market-reports/与https://www.misoenergy.org/markets-and-operations/real-time--market-data/market-reports/market-report-archives/。 - PJM数据最初下载自https://www.pjm.com/markets-and-operations/energy/day-ahead/lmpda.aspx与https://www.pjm.com/markets-and-operations/energy/real-time/lmp.aspx。截至本文撰写时,此类数据当前托管于https://dataminer2.pjm.com/feed/da_hrl_lmps与https://dataminer2.pjm.com/feed/rt_hrl_lmps。 - NYISO数据源自http://mis.nyiso.com/public/,使用需遵守https://www.nyiso.com/legal-notice中的免责声明。 - ISONE数据源自https://www.iso-ne.com/isoexpress/web/reports/pricing/-/tree/lmps-da-hourly与https://www.iso-ne.com/isoexpress/web/reports/pricing/-/tree/lmps-rt-hourly-final。 新英格兰独立系统运营商(ISO New England Inc.)按“现状”提供材料,在法律允许的最大范围内,其不承担任何明示或暗示的担保,包括但不限于适销性、第三方权利不侵权与特定用途适用性的默示担保。此外,新英格兰独立系统运营商不对本材料的准确性、可靠性、完整性、时效性或及时性作出任何陈述或担保。无论基于您对本材料的使用或依赖,新英格兰独立系统运营商均不对您、您的雇主或任何第三方承担任何责任。 数据整理流程:LMP数据通过类似pvvm.data.download_lmps()的函数直接从ISO官网下载(详见下文注意事项),随后通过pvvm.data.nodalize()函数打包为单节点单年度文件。这些单节点单年度文件随后按照pvvm-vos-data.ipynb中针对MISO的流程合并为仓库中包含的数据集。为最小化文件大小与数量,本仓库提供合并后的年度数据集而非长格式数据。您可通过pvvm.data.copylmps()函数将合并后的数据集解压为分析所需的单节点文件。 **使用说明** 本代码基于MIT许可协议(MIT License)发布,详细条款见pvvm/LICENSE文件与每个*.py文件头部的声明。若有代码更新,将发布于非静态仓库https://github.com/patrickbrown4/pvvm_vos。本仓库当前代码的版本依赖如下: - matplotlib: 3.0.3 - numpy: 1.16.2 - pandas: 0.24.2 - pvlib: 0.6.1 - scipy: 1.2.1 - tqdm: 4.31.1 若需使用NSRDB下载功能,您需修改settings.py文件,填入有效的NSRDB API密钥,密钥可从https://developer.nrel.gov/signup/申请。您可通过向pvvm.data.downloadNSRDBfile()传入(纬度, 经度)浮点数参数,或向pvvm.io.queryNSRDBfile()传入谷歌地图查询字符串来指定数据位置。若需使用谷歌地图功能,您需申请谷歌地图API密钥(https://developers.google.com/maps/documentation/javascript/get-api-key)并填入settings.py文件。 请注意,自pvvm.data模块中的函数编写与上述论文使用的LMP数据下载以来,多数ISO官网已发生变更。因此,pvvm.data.download_lmps()函数已无法适配所有ISO与年份。本函数仅用于演示通用数据获取流程,我们无意维护该函数或使其适配不断变更的ISO官网。如需获取ISO数据的最新工具,可参考下述与本项目无关联的仓库:https://github.com/catalyst-cooperative/pudl。

提供机构:
Zenodo
创建时间:
2019-12-20
二维码
社区交流群
二维码
科研交流群
商业服务