Dataset Open Access

Shaping photovoltaic array output to align with changing wholesale electricity price profiles

Brown, Patrick R.; O'Sullivan, Francis M.

This repository includes python scripts and input/output data associated with the following publication:

[1] Brown, P.R.; O'Sullivan, F. "Shaping photovoltaic array output to align with changing wholesale electricity price profiles." Applied Energy 2019. https://doi.org/10.1016/j.apenergy.2019.113734

Please cite reference [1] for full documentation if the contents of this repository are used for subsequent work.

Some of the scripts and data are also used in the following working paper:

[2] Brown, P.R.; O'Sullivan, F. "Spatial and temporal variation in the value of solar power across United States electricity markets". Working Paper, MIT Center for Energy and Environmental Policy Research. 2019. http://ceepr.mit.edu/publications/working-papers/705

All code is in python 3 and relies on a number of dependencies that can be installed using pip or conda.

Contents

  • pvvm.zip : Python module with functions for modeling PV generation, calculating PV revenues and capacity factors, and optimizing PV orientation.
  • notebooks.zip : Jupyter notebooks, including:
    • pvvm-pvtos-data.ipynb: Example scripts used to download and clean input LMP data, determine LMP node locations, and reproduce some figures in reference [1]
    • pvvm-pvtos-analysis.ipynb: Example scripts used to perform the calculations and reproduce some figures in reference [1]
    • pvvm-pvtos-plots.ipynb: Scripts used to produce additional figures in reference [1]
    • pvvm-example-generation.ipynb: Example scripts demonstrating the usage of the PV generation model and orientation optimization
  • html.zip : Static images of the above Jupyter notebooks for viewing without a python kernel
  • data.zip : Day-ahead and real-time nodal locational marginal prices (LMPs) 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 linked here with the complete dataset.
  • results.zip : Simulation results associated with reference [1] above, including modeled revenue, capacity factor, and optimized orientations for PV systems at all LMP nodes

Data terms and usage notes

Code license and usage notes

  • Code (*.py and *.ipynb files) is provided under the MIT License, as specified in the pvvm/LICENSE file.
  • Updates to the code, if any, will be posted in the non-static repository at https://github.com/patrickbrown4/pvvm_pvtos.  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, 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, 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.

Files (7.8 GB)
Name Size
data.zip
md5:94232017990d15cba5884ede65e4100f
7.7 GB Download
html.zip
md5:9adaed01dbe29af68f351dbb3a2db77b
14.1 MB Download
notebooks.zip
md5:4a1153d535ea363bc3f7aab081bbd4af
14.1 MB Download
pvvm.zip
md5:b34e8c85a551dd8de7a39b4c17348c9f
135.9 kB Download
results.zip
md5:c3d4dbd79b618d6f3592477851efb0e7
109.4 MB Download
542
145
views
downloads
All versions This version
Views 542542
Downloads 145145
Data volume 471.0 GB471.0 GB
Unique views 470470
Unique downloads 6969

Share

Cite as