Info: Zenodo’s user support line is staffed on regular business days between Dec 23 and Jan 5. Response times may be slightly longer than normal.

Published September 20, 2019 | Version 1.0.0
Dataset Open

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

  • 1. Massachusetts Institute of Technology, Energy Initiative

Description

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

data.zip

Files (7.8 GB)

Name Size Download all
md5:94232017990d15cba5884ede65e4100f
7.7 GB Preview Download
md5:9adaed01dbe29af68f351dbb3a2db77b
14.1 MB Preview Download
md5:4a1153d535ea363bc3f7aab081bbd4af
14.1 MB Preview Download
md5:b34e8c85a551dd8de7a39b4c17348c9f
135.9 kB Preview Download
md5:c3d4dbd79b618d6f3592477851efb0e7
109.4 MB Preview Download

Additional details

Related works

Is supplement to
10.1016/j.apenergy.2019.113734 (DOI)