Skip to content

🐛[BUG]: StormScope 3km_10min intermittently returns all-NaN forecasts from finite inputs #1118

Description

@mordisdevone

Version

Source installation at commit 076242b0d135374dbe5e1858d55335c55e946c9f
(version reports 0.17.0a0).

We have not yet reproduced this against the 0.17.0 release tag.

Installation method

Source

Describe the issue

We observed two StormScope 3km_10min inference runs that completed
without raising an exception but returned entirely non-finite GOES and
MRMS forecast arrays.

Affected forecast initialization times:

  • 2026-08-27T06:00:00Z
  • 2026-08-28T06:00:00Z

Input validation immediately before inference showed:

  • GOES channel finite fractions: approximately 0.98
  • MRMS reflectivity, base reflectivity, and GLM finite fractions: 1.00

The completed forecast arrays contained:

  • GOES: finite fraction 0.0 for all eight output channels
  • MRMS: finite fraction 0.0 for reflectivity, base reflectivity, and GLM

Other initialization times have produced finite forecasts in the same
environment.

The coupled rollout follows the public StormScope example. Relevant
configuration:

  • model: 3km_10min
  • batch size: 1
  • num_steps=25
  • S_churn=10
  • amp=True
  • compile=False
  • no explicit RNG seed
  • 36 autoregressive 10-minute forecast steps

Environment:

  • Linux x86_64
  • NVIDIA L40S
  • Python 3.12
  • PyTorch 2.10.0 / CUDA 12.8
  • NATTEN 0.21.6 CUDA build

We did not instrument the original runs deeply enough to determine
whether the first non-finite value originated in GOES, MRMS,
conditioning construction, or the diffusion sampler.

Could you advise whether this is a known instability involving AMP,
stochastic sampling, or reduced sampler steps? Would you recommend
testing amp=False, the default 100 sampler steps, or a specific fixed
seed first?

It may also be useful for Earth2Studio to fail explicitly when
conditioning or model output becomes non-finite, rather than completing
the rollout with all-NaN arrays.

We can run a targeted configuration matrix and provide redacted tensor
statistics or checkpoint hashes if useful.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions