Giter Club home page Giter Club logo

phire's Introduction

Physics-Informed Resolution-Enhancing GANs (PhIRE GANs)

This repository contains code for the model described in

Stengel K., Glaws A., Hettinger D., King R. "Adversarial super-resolution of climatological wind and solar data". PNAS July 21, 2020 117 (29) 16805-16815; first published July 6, 2020 https://doi.org/10.1073/pnas.1918964117


Table of Contents

Requirements

  • Python v3.7
  • TensorFlow v1.12
  • numpy v1.15
  • matplotlib v3.1

A conda environment YML file, tf_env.yml has been provided for your convenience.

Data

WIND Toolkit & NSRDB

LR, MR, and HR wind example data (from WIND Toolkit) can be found in example_data/. These datasets are from NREL's WIND Toolkit. The LR and MR data are to be used with the MR and HR models respectively. If you would like to use your own data for the super-resolution it must have the shape: (N_batch, height, width, [ua, va]). Example solar data (from NSRDB) can also be found in example_data/ and can be treated in the same manner as the WIND Toolkit is treated. If you choose to use your own solar data it should have the shape: (N_batch, height, width, [DNI, DHI]). The scripts are designed to take in TFRecords. Methods for converting numpy arrays into compatible TFRecords are available in utils.py.

CCSM

If you would like to run the CCSM wind data through the pretrained PhIREGANs models, you can download the data from here with the following:

  • project : CMIP5
  • model : CCSM4
  • experiment : 1% per year CO2
  • time_frequency : day
  • realm : atmos
  • ensemble : r2i1p1
  • version : 20130218
  • variables : ua, va (for wind), and rsds (for solar) CCSM solar data is converted from daily to hourly average values using the TAG model. The CCSM GHI data is split into DNI and DHI components using the DISC model.

Model Weights

Model weights can be found in models/. The wind MR and HR models perform a 10x and 5x super-resolution respectively while both solar models perform a 5x super-resolution. Each model is designed to work on the distance scales they were trained on (100 to 10km or 10km to 2km/4km). If you wish to have a different amount of super-resolution you must train the models accordingly.

Running the Models

An example of how to use the PhIRE GANs model for training and testing can be found in main.py.

References

[1] Aguiar, R., and M. T. A. G. Collares-Pereira. "TAG: a time-dependent, autoregressive, Gaussian model for generating synthetic hourly radiation." Solar energy 49.3 (1992): 167-174.
[2] Maxwell, E.,"DISC Model." Excel Worksheet link
[3] Holmgren, William F., Clifford W. Hansen, and Mark Mikofski. "pvlib python: a python package for modeling solar energy systems." J. Open Source Software 3.29 (2018): 884.
[4] Meehl, Gerald A., "CCSM4 model run for CMIP5 with 1% increasing CO2" (2014). NCAR. doi:10.1594/WDCC/CMIP5.NRS4c1. Served by ESGF (Version 2) [Data set]. World Data Center for Climate (WDCC) at DKRZ.
[5] Taylor, Karl E., Ronald J. Stouffer, and Gerald A. Meehl. "An overview of CMIP5 and the experiment design." Bulletin of the American Meteorological Society 93.4 (2012): 485-498.
[6] Cinquini, Luca, et al. "The Earth System Grid Federation: An open infrastructure for access to distributed geospatial data." Future Generation Computer Systems 36 (2014): 400-417.
[7] Draxl, Caroline, et al. "The wind integration national dataset (wind) toolkit." Applied Energy 151 (2015): 355-366.
[8] Sengupta, Manajit, et al. "The national solar radiation data base (NSRDB)." Renewable and Sustainable Energy Reviews 89 (2018): 51-60.

Acknowledgments

We acknowledge the World Climate Research Program’s Working Group on Coupled Modelling, which is responsible for CMIP, and we thank the climate modeling groups (listed CCSM section) for producing and making available their model output. For CMIP the U.S. Department of Energy’s Program for Climate Model Diagnosis and Intercomparison provides coordinating support and led development of software infrastructure in partnership with the Global Organization for Earth System Science Portals.

This work was authored by the National Renewable Energy Laboratory (NREL), operated by Alliance for Sustainable Energy, LLC, for the U.S. Department of Energy (DOE) under Contract No. DE-AC36-08GO28308. This work was supported by the Laboratory Directed Research and Development (LDRD) Program at NREL. The research was performed using computational resources sponsored by the Department of Energy's Office of Energy Efficiency and Renewable Energy and located at the National Renewable Energy Laboratory. The views expressed in the article do not necessarily represent the views of the DOE or the U.S. Government. The U.S. Government retains and the publisher, by accepting the article for publication, acknowledges that the U.S. Government retains a nonexclusive, paid-up, irrevocable, worldwide license to publish or reproduce the published form of this work, or allow others to do so, for U.S. Government purposes.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.