---
license: openmdw-1.1
---
# Earth-2 Checkpoints: StormScope-Solar-GOES-NSRDB
## Description:
StormScope-Solar (NSRDB) is a generative AI model that estimates surface solar irradiance, specifically Global Horizontal Irradiance (GHI), from geostationary satellite (GOES) imagery over the continental US (CONUS).
The model is the solar component of the StormScope nowcasting system: it pairs with the [StormScope-GOES](https://huggingface.co/nvidia/stormscope-goes-mrms) model, which autoregressively predicts future GOES imagery, to nowcast GHI at short lead times. Each predicted (or observed) GOES frame is mapped to a GHI field on the 3 km [HRRR](https://rapidrefresh.noaa.gov/hrrr/) model grid over CONUS.
The model uses a deterministic regression prediction that is optionally refined with an EDM diffusion denoiser via SDEdit (warm-started diffusion), and is conditioned on the most recent GOES state. It supports clearness-index normalization, where GHI is normalized by the top-of-atmosphere insolation, so that predictions remain physically consistent with the solar geometry.
For inference see [NVIDIA Earth2Studio](https://github.com/NVIDIA/earth2studio).
This model is ready for commercial or non-commercial use.
### License/Terms of Use:
**Governing Terms**: Use of this model is governed by the [Linux Foundation OpenMDW License Agreement, version 1.1](https://github.com/OpenMDW/OpenMDW/blob/main/1.1/LICENSE.OpenMDW-1.1).
### Deployment Geography:
Global
### Use Case:
High-resolution nowcasting of surface solar irradiance (GHI) over the continental US (CONUS) from geostationary satellite imagery, for solar energy forecasting, grid operations, and atmospheric/renewable-energy research.
### Release Date:
Hugging Face [08/31/2026] via [https://huggingface.co/nvidia/stormscope-NSRDB](https://huggingface.co/nvidia/stormscope-NSRDB)
## References(s):
- StormScope-GOES-MRMS model card: [https://huggingface.co/nvidia/stormscope-goes-mrms](https://huggingface.co/nvidia/stormscope-goes-mrms)
- NVIDIA Earth2Studio: [https://github.com/NVIDIA/earth2studio](https://github.com/NVIDIA/earth2studio)
- NSRDB (National Solar Radiation Database): [https://nsrdb.nrel.gov/](https://nsrdb.nrel.gov/)
## Model Architecture
**Architecture Type:** Diffusion-based image-to-image regression model. A deterministic regression network produces an initial GHI estimate that is refined by an EDM (elucidated diffusion model) denoiser using SDEdit (warm-started diffusion).
**Network Architecture:** Diffusion denoiser with optional regression backbone
**Number of model parameters:** ~3M per network (SongUNet regression + SongUNet diffusion denoiser; `model_channels=64`, `num_blocks=2` each).
## Input:
**Input Type(s):**
- Tensor (GOES state variables, used as conditioning for the GHI estimate)
- DateTime (NumPy Array), used to compute solar insolation / clearness-index normalization
**Input Format(s):** PyTorch Tensor / NumPy array
**Input Parameters:**
- Five Dimensional (5D) (batch, lead time, variable, height, width)
- Input DateTime (1D)
**Other Properties Related to Input:**
- Input grid (height/width) dimensions are that of the HRRR model grid (3 km CONUS).
- Conditioning GOES variables: `abi01c`, `abi02c`, `abi03c`, `abi07c`, `abi08c`, `abi09c`, `abi10c`, `abi13c`.
- Conditioning is regridded from the raw GOES satellite grid onto the model grid; pixels with no GOES coverage are flagged invalid and zeroed after normalization.
- A static cosine-of-solar-zenith / insolation field is computed from the input DateTime for clearness-index normalization.
For variable naming information, review the [GOES](https://github.com/NVIDIA/earth2studio/blob/main/earth2studio/lexicon/goes.py) Lexicon in Earth2Studio.
## Output:
**Output Type(s):** Tensor (surface Global Horizontal Irradiance, `ghi`)
**Output Format:** PyTorch Tensors
**Output Parameters:** Five Dimensional (5D) (batch, lead time, variable, latitude, longitude)
**Other Properties Related to Output:**
- Output grid (height/width) dimensions are that of the HRRR/NSRDB 3 km model grid over CONUS.
- Output variable: `ghi` (Global Horizontal Irradiance, W/m²).
- Output lead time is of size 1 (model estimates GHI at the GOES observation time).
Our AI models are designed and/or optimized to run on NVIDIA GPU-accelerated systems. By leveraging NVIDIA’s hardware (e.g. GPU cores) and software frameworks (e.g., CUDA libraries), the model achieves faster training and inference times compared to CPU-only solutions.
## Software Integration
**Runtime Engine(s):** [PhysicsNeMo](https://github.com/NVIDIA/physicsnemo); [NVIDIA Earth2Studio](https://github.com/NVIDIA/earth2studio)
**Acceleration Engine:** Not Applicable (the model runs in native PyTorch; no TensorRT / TensorRT-LLM / Triton optimization is applied)
**Supported Hardware Microarchitecture Compatibility:**
* NVIDIA Ampere
* NVIDIA Blackwell
* NVIDIA Hopper
**Supported Operating System(s):**
* Linux
The integration of foundation and fine-tuned models into AI systems requires additional testing using use-case-specific data to ensure safe and effective deployment. Following the V-model methodology, iterative testing and validation at both unit and system levels are essential to mitigate risks, meet technical and functional requirements, and ensure compliance with safety and ethical standards before deployment.
## Model Version(s):
**Model Version:** v1 (`stormscope_nsrdb`)
# Training, Testing, and Evaluation Datasets:
## Training Dataset:
**Link:** [NSRDB](https://nsrdb.nrel.gov/)
*Data Collection Method by dataset:*
* Automatic/Sensors
*Labeling Method by dataset:*
* Automatic/Sensors
*Data Modality:*
* Gridded geophysical time series
*Data Size:*
* **~2.5 TB** on disk (gridded NSRDB GHI on the 3 km HRRR CONUS grid, 5-min cadence: **627 GB** for 2020 and **~625 GB** each for 2021–2023)
**Properties:**
NSRDB (National Solar Radiation Database) surface solar irradiance estimates used as the GHI target. NSRDB provides modeled solar radiation derived from satellite observations over CONUS. Training period: **2020–2023** (held-out validation year: **2024**).
**Link:** [GOES](https://registry.opendata.aws/noaa-goes/)
*Data Collection Method by dataset*
* Automatic/Sensors
*Labeling Method by dataset*
* Automatic/Sensors
*Data Modality:*
* Gridded geophysical time series
*Data Size:*
* **~25 TB** logical (uncompressed) for the 8 conditioning bands, 2020–2023: ~6.3 TB/year (`goes_16c` array shape ≈ [52,560 timesteps × 8 bands × 1500 × 2500], float32, ~10-min cadence on the native GOES grid). Stored Blosc-compressed on disk (smaller footprint); a subset of the shared StormScope GOES ABI CONUS zarr archive.
**Properties:**
GOES imaging data used as model conditioning. GOES is a NOAA geostationary satellite product providing multispectral radiances at 3 km resolution over a disk covering the continental US. Training period: **2020–2023** (GOES-16/17/18 as available; held-out validation year: **2024** with GOES-16).
## Testing Dataset:
**Link:** [NSRDB](https://nsrdb.nrel.gov/)
*Data Collection Method by dataset:*
* Automatic/Sensors
*Labeling Method by dataset:*
* Automatic/Sensors
*Data Modality:*
* Gridded geophysical time series
*Data Size:*
* **~627 GB** on disk (gridded NSRDB GHI for the held-out **2024** year on the 3 km HRRR CONUS grid, 5-min cadence). Paired GOES 2024 conditioning is a subset of the shared StormScope GOES zarr archive (not itemized separately).
**Properties:**
NSRDB and GOES data over a held-out time period. Validation year: **2024**.
**Link:** [SURFRAD](https://gml.noaa.gov/grad/surfrad/) / [SOLRAD](https://gml.noaa.gov/grad/solrad/) ground stations
*Data Collection Method by dataset:*
* Automatic/Sensors
*Labeling Method by dataset:*
* Automatic/Sensors
*Data Modality:*
* In-situ point time series (surface pyranometer GHI)
*Data Size:*
* **n = 2,942** paired comparisons across **14 stations** (year-representative 2025: 5 days/month × daytime hours).
**Properties:**
Independent **out-of-sample test** uses **ground-station** GHI measurements (SURFRAD/SOLRAD, read via `pvlib`) for calendar year **2025**. NSRDB is used for training/validation through 2024, but **NSRDB was not yet published for 2025** at evaluation time, so gridded NSRDB truth is unavailable for that year; ground-station pyranometer observations provide the only independent 2025 truth and additionally test the model against *direct measurements* rather than another satellite-derived product. The operational **HRRR analysis** (DSWRF, F00) is scored as a baseline at the same station locations. GOES-East is auto-selected (GOES-16 → GOES-19 at the 2025-04-07 handover).
## Evaluation Dataset:
**Link:** [NSRDB](https://nsrdb.nrel.gov/)
*Data Collection Method by dataset:*
* Automatic/Sensors
*Labeling Method by dataset:*
* Automatic/Sensors
*Data Modality:*
* Gridded geophysical time series
*Data Size:*
* **70 timesteps** (subset of the held-out 2024 NSRDB year, July 15–19, UTC hours 10–23), regridded onto the 3 km HRRR CONUS grid (1024 × 1792).
**Properties:**
NSRDB 2024 GHI regridded onto the model's 3 km CONUS grid (spherical k-nearest-neighbor IDW, 6 km max distance). Valid pixels: model land mask ∩ daytime GHI > 0 ∩ finite NSRDB (`fill_flag < 255`, GHI fill sentinel masked).
**Link:** [GOES](https://registry.opendata.aws/noaa-goes/)
*Data Collection Method by dataset*
* Automatic/Sensors
*Labeling Method by dataset*
* Automatic/Sensors
*Data Modality:*
* Gridded geophysical time series
*Data Size:*
* **70 GOES-16 ABI CONUS frames** (July 15–19, 2024, UTC hours 10–23), one conditioning frame per evaluated timestep; fetched on demand from the NOAA GOES public archive.
**Properties:**
GOES-16 ABI CONUS (scan mode C) for **July 15–19, 2024**, UTC hours 10–23 (**70 timesteps**, 5 days). **Estimation-step validation only:** observed GOES at time *T* → GHI at *T*. No StormScope-GOES forecast and no autoregressive rollout; end-to-end nowcast skill at lead time > 0 depends on the separate [StormScope-GOES](https://huggingface.co/nvidia/stormscope-goes-mrms) model and is out of scope for this benchmark.
**Benchmark Score:**
**GHI estimation step** (shipped `default` mode: regression warm-start + **12** SDEdit EDM steps, `S_churn=0`, single sample per timestep). Ground truth: NSRDB 2024.
**Dates / samples:** **5 dates** (July 15–19, 2024) × **14 hourly steps** (UTC 10–23) = **70 samples** (one full CONUS GHI field per sample).
**Verification process:** for each sample, the *observed* GOES image at time *T* is fetched, run through `estimate_from_goes` to produce a GHI field on the 3 km HRRR grid, and compared pixel-by-pixel against NSRDB 2024 regridded to the same grid. Metrics are computed over valid pixels only (model land mask ∩ daytime GHI > 0 ∩ finite NSRDB with `fill_flag < 255`) per timestep, then averaged over the 70 samples. This isolates the **estimation step** (GOES at *T* → GHI at *T*); no GOES forecast or autoregressive rollout is involved.
Overall (mean over 70 samples):
| Mode | MBE [W/m²] | rMBE [%] | RMSE [W/m²] | rRMSE [%] | MAE [W/m²] | rMAE [%] | P95\|e\| | corr | R² | stdR | KGE | n |
|------|------------|----------|-------------|-----------|------------|----------|----------|------|-----|------|-----|---|
| **default** (shipped) | **−0.53** | −0.88 | **42.16** | 12.06 | **23.20** | 6.89 | 91.46 | **0.96** | **0.92** | **1.00** | **0.95** | 70 |
| diffusion_warmstart | +2.47 | −0.03 | 46.01 | 13.19 | 26.42 | 7.95 | 99.34 | 0.96 | 0.91 | 1.02 | 0.94 | 70 |
| oneshot | +2.07 | −0.26 | 39.53 | 12.02 | 26.35 | 8.13 | 81.18 | 0.97 | 0.93 | 1.01 | 0.95 | 70 |
The shipped `default` mode — regression first-guess + warm-started SDEdit diffusion — is the **production inference path** (`estimate_from_goes`). It is selected on the basis of **lowest bias, lowest MAE, and physically realistic fine-scale structure**, rather than a single error metric: it is essentially unbiased (MBE −0.53 W/m² vs +2.07 for `oneshot`) and has the lowest MAE (23.20 W/m²). The other rows are internal ablations. `oneshot` is the **regression-only** estimate (no diffusion refinement); because a regression network is trained to minimize MSE it produces a smooth field, which yields marginally lower RMSE/rRMSE and correlation/R² but **misses the fine-scale spatial structure** (cloud texture, sharp irradiance gradients) that the diffusion refinement restores — so it is less physically realistic despite the slightly better pixel-wise error. `diffusion_warmstart` replaces the regression first guess with a high-σ diffusion denoise and raises the afternoon bias (+2–3 W/m² overall, up to ~+12 W/m² at peak insolation hours). In short, warm-starting the diffusion refinement from the deterministic regression guess (SDEdit) keeps the estimate bias-free while retaining realistic fine-scale detail, which is why it is the shipped configuration.
Diurnal breakdown (`default` mode, mean over 5 days):
| UTC hour band | Mean bias | Mean relative RMSE | Mean R² | Notes |
|---------------|-----------|-------------------|---------|-------|
| 10–11 (morning) | −2.2 W/m² | ~28% | ~0.81 | Low insolation; rapidly evolving cloud |
| 12–16 (midday) | +1.1 W/m² | ~10% | ~0.97 | Best performance |
| 17–19 (afternoon peak) | −1.7 W/m² | ~8% | ~0.90 | |
| 20–23 (evening) | −0.8 W/m² | ~10% | ~0.94 | |
**Extended seasonal benchmark (in progress):** A four-season 2024 evaluation (Jan / Apr / Jul / Oct, 5 days each, UTC 10–23, *n*=280 timesteps, `default` mode) is underway; this table will be updated with per-season and full-year aggregate rows when complete.
### Independent 2025 ground-station test (vs HRRR analysis)
Because NSRDB is not yet available for 2025, the shipped `default` model is additionally tested against **ground-station** GHI (SURFRAD/SOLRAD via `pvlib`), with the operational **HRRR analysis** (DSWRF, F00) as an operational baseline scored at the same locations.
**Dates / samples:** year-representative 2025 sampling of **5 days/month × 12 months = 60 dates**, each at **11 daytime UTC hours (13–23)**, over **14 stations** — yielding **n = 2,942** finite, daytime (insolation-above-threshold) paired comparisons after filtering. GOES-East is auto-selected across the 2025-04-07 GOES-16 → GOES-19 handover.
**Verification process:** at each valid time the *observed* GOES image is run through `estimate_from_goes` and the resulting GHI field is sampled at each station's lat/lon; the HRRR analysis (DSWRF, lead 0) is fetched live and sampled at the same points; both are scored against the station pyranometer GHI in physical W/m² and in clearness index (`GHI / (insolation + eps)`). Only finite, above-insolation-threshold daytime points are counted.
| Space | Model | MBE | MAE | RMSE | corr | R² | KGE |
|-------|-------|-----|-----|------|------|-----|-----|
| **GHI [W/m²]** | **StormScope-Solar (default)** | +7.8 | **50.2** | **84.2** | **0.958** | **0.916** | **0.948** |
| GHI [W/m²] | HRRR analysis (baseline) | +0.4 | 85.0 | 140.9 | 0.888 | 0.765 | 0.881 |
| **Clearness index** | **StormScope-Solar (default)** | +0.016 | **0.077** | **0.116** | 0.889 | 0.780 | 0.881 |
| Clearness index | HRRR analysis (baseline) | +0.006 | 0.121 | 0.177 | 0.781 | 0.493 | 0.749 |
Against independent surface measurements, StormScope-Solar reduces GHI **MAE by ~41%** and **RMSE by ~40%** relative to the HRRR analysis, with higher correlation, R² and KGE at every station. It carries a small positive daytime GHI bias (+7.8 W/m², rMBE < ~2%); HRRR is nearly mean-unbiased but substantially noisier.
**Properties (continued):**
Held-out calendar year for validation: **2024** (training: **2020–2023**); independent out-of-sample test on **2025** ground stations (NSRDB unavailable for 2025). Gridded NSRDB estimation benchmark above covers **5 summer days** of 2024.
## Inference:
**Engine:** PyTorch
**Test Hardware:**
* NVIDIA Hopper (H100)
## Ethical Considerations:
NVIDIA believes Trustworthy AI is a shared responsibility and we have established policies and practices to enable development for a wide array of AI applications. Developers should work with their internal model team to ensure this model meets requirements for the relevant industry and use case and addresses unforeseen product misuse.
For more detailed information on ethical considerations for this model, please see the Model Card++ Bias, Explainability, Safety & Security, and Privacy Subcards.
Please report model quality, risk, security vulnerabilities or NVIDIA AI Concerns [here](https://www.nvidia.com/en-us/support/submit-security-vulnerability/).
## Notes:
This project is currently not accepting contributions