Open-source tornado detection · MRMS · CONUS + southern Canada · every 2 minutes

A neural network that reads the radar, and a public record of every time it was wrong.

TIMA scores live MRMS data for tornadic signatures, tracks candidate circulations, and projects a path cone. Every high track is later checked against NWS warnings and storm reports, and the results — hits, misses, and false alarms — are published here on a daily cycle.

Checking live status… Median data latency: 3.2 min (measured, 15,663 scans) Open live dashboard →

Verification, in public

scorecard recomputed daily 08:15 UTC · full tables →
Warning anticipation
66min median
Median lead over official tornado warnings that a ≥40% track anticipated, July 2026 Texas outbreak. Per-warning table on the scorecard.
Top-band verification
~22%
Share of 90–100% tracks that verify — comparable to official warning verification rates. False alarms are the system's main open problem, measured daily.
Intensity sweep
31tornadoes
EF0–EF5 replay sweep from official records: every EF2+ case crossed 80% before touchdown, out-of-sample. Weak-tornado sensitivity is a named limitation.
Causal replays
3violent tornadoes
Greenfield, Rolling Fork, Mayfield replayed frame-by-frame using only data available at each moment. One (Rolling Fork) is a documented long-range limitation.

Named misses

Events where TIMA produced no useful track. Each is documented, not buried.

2026-07-10 North Carolina QLCS — three tornado warnings, no ≥40% track. Brief line-embedded spin-ups between scans. 3 warnings
2026-07-15 Uvalde Co., TX overnight — two pre-dawn warnings missed. Rain-embedded morning circulations remain the hardest class. 2 warnings
2024-07-05 Wisconsin EF0 — scored 4–7% in the intensity sweep. Negligible radar-scale rotation: the detection physics boundary. EF0

How to read these numbers

Warning anticipation joins each official tornado warning to the strongest prior TIMA track near it. False-alarm rates are computed per score band over every ended track, against warnings and settled storm reports.

Track scores are signature strength, not calibrated probability of a tornado. Reports settle over days; recent rows are provisional. All lead times carry the measured 3.2-minute data latency.

This is not a warning source. It is a research tool that runs in public. For warnings, use your NWS office or NOAA Weather Radio.

How it works

01

Ingest MRMS

Composite reflectivity and azimuthal shear (0–2 km and 3–6 km) every two minutes across the full mosaic, including the southern Canadian Prairies.

02

Score each storm

A compact CNN scores 64×64 boxes around every rotation signature. Trained on five years of verified tornadoes and a full season of hard negatives.

03

Track and project

Detections link across scans into persistent tracks with fitted motion, descent ratio, and HRRR environmental context. Strong tracks get a widening, right-biased path cone with arrival-time marks.

04

Verify daily

Every morning the scorecard rejoins all tracks against NWS warnings and storm reports and republishes itself — the numbers are allowed to get worse in public.

Known limitations

  • QLCS spin-ups and non-mesocyclonic landspouts are documented weak spots — brief, shallow, or sub-radar circulations.
  • False alarms: most high-scoring rotators never produce. The rate is measured per band and published, not hidden.
  • MRMS latency (median 3.2 min) is measured and already subtracted from every lead-time claim.
  • Path cones assume motion persists and widen with uncertainty. A right-turning storm can exit any cone. They are not warning polygons.
  • Single operator, homelab hardware. Outages happen and show in the scorecard's gaps.

Help label data

StormSwipe shows one radar frame at a time: tornadic or not. Expert labels — especially from meteorologists and spotters — feed the next training run directly.

Open StormSwipe