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 7 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.
- Host: GitHub
- URL: https://github.com/NREL/sup3r
- Owner: NREL
- License: bsd-3-clause
- Created: 2021-10-28T19:05:05.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2025-10-16T01:01:17.000Z (17 days ago)
- Last Synced: 2025-10-31T04:29:57.859Z (2 days ago)
- Topics: 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
- Language: Python
- Homepage: https://nrel.github.io/sup3r/
- Size: 197 MB
- Stars: 117
- Watchers: 10
- Forks: 32
- Open Issues: 3
- Releases: 20
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
- Citation: CITATION.cff
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
- Name: National Renewable Energy Laboratory
- Login: NREL
- Email:
- Kind: organization
- Description:
- Website: http://www.nrel.gov
- Location: Golden, CO
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/1906800?v=4
- Repositories: 599
- Last ynced at: 2024-12-18T09:41:07.898Z
- Profile URL: https://github.com/NREL
GitHub Events
Total
- Create event: 52
- Issues event: 3
- Release event: 6
- Watch event: 31
- Delete event: 48
- Issue comment event: 11
- Push event: 457
- Pull request review event: 90
- Pull request review comment event: 62
- Pull request event: 71
- Fork event: 21
Last Year
- Create event: 43
- Issues event: 3
- Release event: 6
- Watch event: 29
- Delete event: 39
- Issue comment event: 11
- Push event: 421
- Pull request review comment event: 61
- Pull request review event: 82
- Pull request event: 55
- Fork event: 20
Committers metadata
Last synced: 4 days ago
Total Commits: 2,941
Total Committers: 8
Avg Commits per committer: 367.625
Development Distribution Score (DDS): 0.365
Commits in past year: 405
Committers in past year: 2
Avg Commits per committer in past year: 202.5
Development Distribution Score (DDS) in past year: 0.138
| Name | Commits | |
|---|---|---|
| bnb32 | b****n@n****v | 1868 |
| 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 | 6 |
| Slater Podgorny | s****n@k****v | 1 |
Committer domains:
Issue and Pull Request metadata
Last synced: 15 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: 287
Bot issues: 0
Bot pull requests: 0
Past year issues: 1
Past year pull requests: 75
Past year average time to close issues: N/A
Past year average time to close pull requests: 8 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.19
Past year merged pull request: 58
Past year bot issues: 0
Past year bot pull requests: 0
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
- Total packages: 3
-
Total downloads:
- pypi: 150 last-month
- Total dependent packages: 0 (may contain duplicates)
- Total dependent repositories: 0 (may contain duplicates)
- Total versions: 60
- Total maintainers: 2
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 3 months ago)
- Last Synced: 2025-10-30T17:01:21.634Z (2 days 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 3 months ago)
- Last Synced: 2025-10-30T17:01:21.635Z (2 days 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 3 months ago)
- Last Synced: 2025-10-30T17:01:21.905Z (2 days ago)
- Versions: 20
- Dependent Packages: 0
- Dependent Repositories: 0
- Downloads: 150 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
- ghp-import *
- sphinx *
- sphinx-click *
- sphinx_rtd_theme *
- actions/checkout v3 composite
- actions/setup-python v4 composite
- codecov/codecov-action v1 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- peaceiris/actions-gh-pages v3.6.1 composite
- actions/checkout v3 composite
- github/super-linter v4 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- release-drafter/release-drafter v5.15.0 composite
- 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: 11.890813805308158