Skip to content


Repository files navigation

WiSoSuper: Benchmarking Super-Resolution Models on Wind and Solar Data

Caltech SURF Project for 2020-2021

Rupa Kurinchi-Vendhan, Björn Lütjens*, Ritwik Gupta*, Lucien Werner*, Dava Newman


As the United States constructs additional renewable wind and solar energy power plants, policy makers in charge of operational decision making, scheduling, and resource allocation are faced with challenges introduced by the variability in spatial resolution in solar irradiance and wind speeds. Physics-based short-term forecasting models predict wind speeds and solar irradiance fields at coarse resolutions. Thus, machine learning-based super-resolution methods have been developed to provide higher fidelity for decision making. We generate a machine-learning ready dataset of wind and solar data from NREL databases. Additionally, we present a benchmark of super-resolution methods against this data. In addition to simple interpolation methods, we investigate three machine learning methods: the physics-informed resolution-enhancing generative adversarial network (PhIREGAN) model, the enhanced super-resolution generative adversarial network (ESRGAN), and an enhanced deep super-resolution (EDSR) network.


The dataset used for this project is available through the data.ipynb notebook. This file also contains instructions for generating your own machine learning-ready dataset, with flexibility to change the parameters inputted to NREL's WIND Toolkit and NSRDB.

Quick Links: The following links are from Caltech's Data Repository. This includes the wind and solar datasets, as well as sample wind and solar test datasets.

wind data

solar data

The links below provide access to sample wind and solar TFRecords, to be used to test the PhIREGAN.

wind TFRecords

solar TFRecords

To access raw data, visit our Caltech Data Respository page: raw data


To train the PhIREGAN, ESRGAN, or EDSR models to achieve 5x super-resolution (SR), use the following commands.

PhIREGAN --model=phiregan --mode=train --data_dir=path/to/train/data --data_type=data_type

Here, data should be a folder of TFRecords. The data_type can either be wind or solar. To train the SR CNN, replace phiregan with srcnn.

ESRGAN --model=esrgan --mode=train --data_dir=path/to/train/data

As opposed to the PhIREGAN, the data directories for EDSR and ESRGAN must be a folder with HR and LR subdirectories of images.

EDSR --model=edsr --mode=train --data_dir=path/to/train/data --valid_dir=path/to/valid/data --cuda=0


Once you have trained your models, use the commands below to run them on test data.

PhIREGAN --model=phiregan --mode=test --data_dir=path/to/test/data --data_type=data_type

To test the SR CNN, replace phiregan with srcnn.

ESRGAN --model=esrgan --mode=test --data_dir=path/to/test/data --save_dir=path/to/save

Here, save_dir is the directory where SR outputs should be saved.

EDSR --model=edsr --mode=test --data_dir=path/to/test/data --save_dir=path/to/save --model_path=path/to/model --cuda=0


Sample results from each of our models are shown below.

Doodle Jump 3: Fairy Tail Character and Artwork

Doodle Jump 3: Fairy Tail Character and Artwork


To calculate the standard image quality metric values for the SR outputs of each model, use Alternatively, you can generate kinetic energy spectra using and normalized semivariograms using


No description, website, or topics provided.






No releases published


No packages published