sup3r

The Super Resolution for Renewable Resource Data software uses generative adversarial networks to create synthetic high-resolution wind and solar spatiotemporal data from coarse low-resolution inputs.
https://github.com/NREL/sup3r

Category: Energy Systems
Sub Category: Renewable Energy Integration

Keywords

climate-change climate-data deep-learning downscaling generative-adversarial-network machine-learning reanalysis renewable-energy severe-weather solar-energy tensorflow urban-heat-island wind-energy

Last synced: about 4 hours ago
JSON representation

Repository metadata

The Super-Resolution for Renewable Resource Data (sup3r) software uses generative adversarial networks to create synthetic high-resolution wind and solar spatiotemporal data from coarse low-resolution inputs.

README.rst

          .. raw:: html

    


.. start |Docs| |Tests| |Linter| |PyPi| |PythonV| |Codecov| |Zenodo| .. |Docs| image:: https://github.com/NREL/sup3r/workflows/Documentation/badge.svg :target: https://nrel.github.io/sup3r/ .. |Tests| image:: https://github.com/NREL/sup3r/workflows/Pytests/badge.svg :target: https://github.com/NREL/sup3r/actions?query=workflow%3A%22Pytests%22 .. |Linter| image:: https://github.com/NREL/sup3r/workflows/Lint%20Code%20Base/badge.svg :target: https://github.com/NREL/sup3r/actions?query=workflow%3A%22Lint+Code+Base%22 .. |PyPi| image:: https://img.shields.io/pypi/pyversions/NREL-sup3r.svg :target: https://pypi.org/project/NREL-sup3r/ .. |PythonV| image:: https://badge.fury.io/py/NREL-sup3r.svg :target: https://badge.fury.io/py/NREL-sup3r .. |Codecov| image:: https://codecov.io/gh/nrel/sup3r/branch/main/graph/badge.svg :target: https://codecov.io/gh/nrel/sup3r .. |Zenodo| image:: https://zenodo.org/badge/422324608.svg :target: https://zenodo.org/badge/latestdoi/422324608 Developed by NREL, Sup3r is open-source software that transforms coarse, low-resolution data into actionable and accessible hyper-local data at unprecedented speed and scale. Sup3r (pronounced “super”) is open-source software paired with publicly available datasets that leverages generative adversarial networks to efficiently downscale global climate model data, improving resolution across space and time while preserving physical accuracy. By dramatically cutting computational time and cost, Sup3r delivers the data needed for efficient, highly detailed energy system modeling and analysis. Getting Started =============== Here are some options to get started with sup3r: #. Learn `how to install sup3r `_. #. Learn `how sup3r works `_. #. Learn about our `current applications of sup3r `_. #. Learn about the methods and validation of sup3r from `our publications `_. #. To access output datasets, see `our data records `_ from previous applications. #. To get started running sup3r software, check out our `test suite `_ that uses the software on small pieces of test data. #. To get started loading in data for training or inference, start with the `data handler object `_ that is our basic data structure that opens NREL .h5 and other .nc data files. #. To get started with model training, check out our `training tests `_ that initialize and train a basic GAN on small test data. #. To get started with model inference, check out our `forward pass tests `_ that run a simple inference on small test data. Alternatively, see the examples linked below. #. To see previous examples of sup3r code, configs, pretrained models, and data, see our `published examples `_. #. To setup full runs on an HPC environment, check out the sup3r command line interface `(CLI) `_. How it Works ============ Sup3r uses a generative machine learning approach to produce synthetic high-resolution spatiotemporal energy resource data from coarse, low-resolution inputs. The process is described step-by-step below. .. top-graphic-start .. raw:: html


.. top-graphic-end Step 1: Learns High-Resolution Physics From Historical Data (Training Phase) ---------------------------------------------------------------------------- During what’s called the “training phase,” Sup3r learns how large-scale weather patterns relate to local, detailed conditions using high-resolution historical weather data. Its advanced model design allows it to learn from both simulated data and real-world weather measurements. This helps build neural networks that capture both scientific understanding and real data, making them useful for a variety of applications. At the heart of this process is a generative adversarial network (GAN), which is like a game between two competing players: - The Generator: Learns to create realistic high-resolution data from coarse climate inputs - The Discriminator: Learns to tell the difference between real data (e.g., observed high-resolution weather) and the Generator’s output. Ultimately, the model’s success is determined by the Generator’s ability to “fool” the Discriminator by producing data that is indistinguishable from real-world data. By optimizing for both adherence to the climate inputs and physical realism, Sup3r not only minimizes quantitative bias but also ensures the physics of the high-resolution data are realistic. This is especially important for downstream applications such as power system operational modeling, where fine-scale spatial structure and high-frequency temporal dynamics matter as much as statistical accuracy. .. training-flow-start .. raw:: html


.. training-flow-end Step 2: Collects Coarse Climate Data and Scenarios -------------------------------------------------- The Sup3r software can use input data from global climate models that have very low resolutions (up to 100 kilometers wide per grid cell with 1 average data point per day). This publicly available input data is useful for understanding general trends but is too coarse to help with local decision making, like where to place a wind farm or how a certain neighborhood might suffer from extreme heat. One of Sup3r’s key strengths lies in its flexibility, allowing users to choose from countless publicly available climate datasets. This feature empowers users to easily explore various potential futures and make informed decisions based on a range of possibilities. Step 3: Generates Realistic, High-Resolution Climate Data (Inference Phase) --------------------------------------------------------------------------- During what’s called the “inference phase,” Sup3r uses generative models that were trained in Step 1 and the low-resolution climate data gathered in Step #2 to produce hyper-local data at a 0.5- to 4-kilometer resolution with a 5- to 60-minute frequency (depending on the application) for all requested meteorological variables. Sup3r has been proven to generate output that reproduces the large-scale dynamics in the data from Step 2 while capturing realistic physics at the finest scales. .. inference-flow-start .. raw:: html


.. inference-flow-end Applications of Sup3r ===================== Sup3rCC ------- Sup3rCC is an application of the Sup3r software that downscales global climate model outputs to 4-km spatial and hourly temporal resolution. It provides high-resolution data on temperature, humidity, wind, and solar irradiance, supporting analysis of energy system resilience under future climate conditions. Notably, Sup3rCC does not represent real historical weather events, unlike Sup3rWind or Sup3rUHI (described below). To learn more about Sup3rCC, check out the publication list below or the `Sup3rCC example `_. Sup3rWind --------- Sup3rWind uses the Sup3r software to produce high-resolution historical wind resource data by downscaling global reanalysis datasets—which combine historical weather observations with modern forecasting models—to 2-km spatial and 5-minute temporal resolution. It improves the representation of extreme wind events and preserves important spatiotemporal patterns for use in energy system planning and operations. Sup3rWind data is used by wind energy developers worldwide. To learn more about Sup3rWind, check out the publication list below or the `Sup3rWind example `_. Sup3rUHI -------- Sup3rUHI applies the Sup3r software to urban environments, combining satellite observations and ground measurements to generate hyper-local temperature and humidity time series. It supports both historical analysis and future scenario modeling, enabling precise, data-driven planning for high-risk heat events. To learn more about Sup3rUHI, check out the publication list below or the `Sup3rUHI repo `_. Installing sup3r ================ NOTE: The installation instruction below assume that you have python installed on your machine and are using `conda `__ as your package/environment manager. Option 1: Install from PIP (recommended for analysts): ------------------------------------------------------ 1. Create a new environment: ``conda create --name sup3r python=3.11`` 2. Activate environment: ``conda activate sup3r`` 3. Install sup3r: ``pip install NREL-sup3r`` 4. Run this if you want to train models on GPUs: ``pip install tensorflow[and-cuda]`` 4.1 For OSX use instead: ``python -m pip install tensorflow-metal`` Option 2: Clone repo (recommended for developers) ------------------------------------------------- 1. from home dir, ``git clone git@github.com:NREL/sup3r.git`` 2. Create ``sup3r`` environment and install package 1) Create a conda env with python: ``conda create --name sup3r python=3.11`` 2) Run the command: ``conda activate sup3r`` 3) ``cd`` into the repo cloned in 1. 4) Prior to running ``pip`` below, make sure the branch is correct (install from main!) 5) Install ``sup3r`` and its dependencies by running: ``pip install .`` (or ``pip install -e .`` if running a dev branch or working on the source code) 6) Run this if you want to train models on GPUs: ``pip install tensorflow[and-cuda]`` 7) *Optional*: Set up the pre-commit hooks with ``pip install pre-commit`` and ``pre-commit install`` Recommended Citation ==================== Update with current version and DOI: Brandon Benton, Grant Buster, Guilherme Pimenta Castelao, Malik Hassanaly, Pavlo Pinchuk, Slater Podgorny, Andrew Glaws, and Ryan King. Super Resolution for Renewable Resource Data (sup3r). https://github.com/NREL/sup3r (version v0.2.3), 2025. https://doi.org/10.5281/zenodo.15586596 Publications ============ Estimating the impacts of increasing temperatures and the efficacy of climate adaptation strategies in urban microclimates with deep learning, *Urban Climate* (2025) https://doi.org/10.1016/j.uclim.2025.102603 Second-Generation Downscaled Earth System Model Data using Generative Machine Learning, *Data in Brief* (2025) https://doi.org/10.1016/j.dib.2025.111774 Super-Resolution for Renewable Energy Resource Data with Wind from Reanalysis Data and Application to Ukraine, *Energies* (2025) https://doi.org/10.3390/en18143769 High-Resolution Meteorology With Climate Change Impacts From Global Climate Model Data Using Generative Machine Learning, *Nature Energy* (2024) https://doi.org/10.1038/s41560-024-01507-9 Adversarial Super-Resolution of Climatological Wind and Solar Data, *Proceedings of the National Academy of Sciences* (2020) https://doi.org/10.1073/pnas.1918964117 Data Records ============ Super-Resolution for Renewable Energy Resource Data with Climate Change Impacts (Sup3rCC). [Data set]. Open Energy Data Initiative (OEDI). National Renewable Energy Laboratory (NREL). https://doi.org/10.25984/1970814 Super-Resolution for Renewable Energy Resource Data with Wind from Reanalysis (Sup3rWind). [Data set]. Open Energy Data Initiative (OEDI). National Renewable Energy Laboratory. https://data.openei.org/submissions/8455 Super-Resolution for Renewable Resource Data and Urban Heat Islands (Sup3rUHI). [Data set]. Open Energy Data Initiative (OEDI). National Renewable Energy Lab (NREL). https://data.openei.org/submissions/6220 Acknowledgments =============== This work was authored by the National Renewable Energy Laboratory, operated for the U.S. Department of Energy (DOE) under Contract No. DE-AC36-08GO28308. This research was supported by the Grid Modernization Initiative of the U.S. Department of Energy (DOE) as part of its Grid Modernization Laboratory Consortium, a strategic partnership between DOE and the national laboratories to bring together leading experts, technologies, and resources to collaborate on the goal of modernizing the nation’s grid. Funding provided by the the DOE Office of Energy Efficiency and Renewable Energy (EERE), the DOE Office of Electricity (OE), DOE Grid Deployment Office (GDO), the DOE Office of Fossil Energy and Carbon Management (FECM), and the DOE Office of Cybersecurity, Energy Security, and Emergency Response (CESER), the DOE Advanced Scientific Computing Research (ASCR) program, the DOE Solar Energy Technologies Office (SETO), the DOE Wind Energy Technologies Office (WETO), the United States Agency for International Development (USAID), and the Laboratory Directed Research and Development (LDRD) program at the National Renewable Energy Laboratory. 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.

Citation (CITATION.cff)

cff-version: 1.2.0
title: The Super-Resolution for Renewable Resource Data (sup3r)
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - family-names: Benton
    given-names: Brandon
    affiliation: NREL
    orcid: "https://orcid.org/0009-0008-9931-2050"
  - family-names: Buster
    given-names: Grant
    affiliation: NREL
    orcid: "https://orcid.org/0000-0001-8616-8100"
  - family-names: Hassanaly
    given-names: Malik
    affiliation: NREL
    orcid: "https://orcid.org/0000-0002-0425-9090"
  - family-names: Pinchuk
    given-names: Pavlo
    affiliation: NREL
    orcid: "https://orcid.org/0000-0003-4736-4728"
  - family-names: Podgorny
    given-names: Slater
    affiliation: NREL
    orcid: "https://orcid.org/0009-0008-4903-411X"
  - family-names: Glaws
    given-names: Andrew
    affiliation: NREL
    orcid: "https://orcid.org/0000-0002-7268-1883"
  - family-names: King
    given-names: Ryan
    affiliation: NREL
    orcid: "https://orcid.org/0000-0002-0591-7139"
identifiers:
  - type: doi
    value: 10.5281/zenodo.6808547
repository-code: 'https://github.com/NREL/sup3r'
abstract: >-
  The Super Resolution for Renewable Resource Data (sup3r)
  software uses generative adversarial networks to create
  synthetic high-resolution wind and solar spatiotemporal
  data from coarse low-resolution inputs.
keywords:
  - machine-learning
  - deep-learning
  - generative-adversarial-network
  - climate-change
  - tensorflow
  - climate-data
  - solar-energy
  - renewable-energy
  - wind-energy
license: BSD-3-Clause
commit: 6d0f100
version: 0.1.2
date-released: '2023-12-18'

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 1 day ago

Total Commits: 2,919
Total Committers: 8
Avg Commits per committer: 364.875
Development Distribution Score (DDS): 0.368

Commits in past year: 415
Committers in past year: 3
Avg Commits per committer in past year: 138.333
Development Distribution Score (DDS) in past year: 0.176

Name Email Commits
bnb32 b****n@n****v 1846
grantbuster g****r@n****v 615
Gui Castelao g****e@c****t 233
Malik m****y@g****m 155
ppinchuk p****k@n****v 46
Brandon Benton b****b@c****u 17
Slater Podgorny 9****9@u****m 6
Slater Podgorny s****n@k****v 1

Committer domains:


Issue and Pull Request metadata

Last synced: 5 days ago

Total issues: 23
Total pull requests: 320
Average time to close issues: 14 days
Average time to close pull requests: 6 days
Total issue authors: 4
Total pull request authors: 6
Average comments per issue: 1.91
Average comments per pull request: 0.63
Merged pull request: 285
Bot issues: 0
Bot pull requests: 0

Past year issues: 1
Past year pull requests: 79
Past year average time to close issues: N/A
Past year average time to close pull requests: 7 days
Past year issue authors: 1
Past year pull request authors: 3
Past year average comments per issue: 0.0
Past year average comments per pull request: 0.18
Past year merged pull request: 60
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/NREL/sup3r

Top Issue Authors

  • grantbuster (11)
  • bnb32 (9)
  • malihass (2)
  • castelao (1)

Top Pull Request Authors

  • bnb32 (148)
  • grantbuster (113)
  • castelao (44)
  • malihass (10)
  • ppinchuk (4)
  • spodgorny9 (1)

Top Issue Labels

  • feature (10)
  • bug (4)

Top Pull Request Labels

  • documentation (2)
  • bug (1)
  • enhancement (1)

Package metadata

proxy.golang.org: github.com/nrel/sup3r

  • Homepage:
  • Documentation: https://pkg.go.dev/github.com/nrel/sup3r#section-documentation
  • Licenses: bsd-3-clause
  • Latest release: v0.2.4 (published about 2 months ago)
  • Last Synced: 2025-10-01T02:31:01.165Z (1 day ago)
  • Versions: 20
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent packages count: 5.389%
    • Average: 5.57%
    • Dependent repos count: 5.75%
proxy.golang.org: github.com/NREL/sup3r

  • Homepage:
  • Documentation: https://pkg.go.dev/github.com/NREL/sup3r#section-documentation
  • Licenses: bsd-3-clause
  • Latest release: v0.2.4 (published about 2 months ago)
  • Last Synced: 2025-10-01T02:31:01.516Z (1 day ago)
  • Versions: 20
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent packages count: 5.395%
    • Average: 5.576%
    • Dependent repos count: 5.758%
pypi.org: nrel-sup3r

Super Resolving Renewable Resource Data (sup3r)

  • Homepage:
  • Documentation: https://nrel-sup3r.readthedocs.io/
  • Licenses: BSD-3-Clause
  • Latest release: 0.2.4 (published about 2 months ago)
  • Last Synced: 2025-10-01T02:31:02.835Z (1 day ago)
  • Versions: 20
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 234 Last month
  • Rankings:
    • Dependent packages count: 6.633%
    • Stargazers count: 15.684%
    • Downloads: 16.69%
    • Average: 18.564%
    • Forks count: 23.201%
    • Dependent repos count: 30.611%
  • Maintainers (2)

Dependencies

docs/requirements.txt pypi
  • ghp-import *
  • sphinx *
  • sphinx-click *
  • sphinx_rtd_theme *
.github/workflows/codecov.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • codecov/codecov-action v1 composite
.github/workflows/gh_pages.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • peaceiris/actions-gh-pages v3.6.1 composite
.github/workflows/linter.yml actions
  • actions/checkout v3 composite
  • github/super-linter v4 composite
.github/workflows/publish_to_pypi.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/pull_request_tests.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/release_drafter.yml actions
  • release-drafter/release-drafter v5.15.0 composite
setup.py pypi
pyproject.toml pypi
  • NREL-farms >=1.0.4
  • NREL-gaps >=0.6.0
  • NREL-phygnn >=0.0.23
  • NREL-rex >=0.2.84
  • dask >=2022.0
  • google-auth-oauthlib ==0.5.3
  • matplotlib >=3.1
  • netCDF4 ==1.5.8
  • numpy >=1.7.0
  • pandas >=2.0
  • pillow >=10.0
  • pytest >=5.2
  • scipy >=1.0.0
  • sphinx >=7.0
  • tensorflow >2.4,<2.16
  • xarray >=2023.0

Score: 12.339063892302187