Severe storms & tornadoes
NOAA's Storm Events database in Python: tornado tracks, hail by county, weather deaths, damage estimates, the severe-weather season and the traps in damage strings, zone codes and county segments.
NOAA's Storm Events Database is the official US record of damaging weather: every tornado, hail report, flash flood, heat wave and blizzard that a National Weather Service office wrote up, with times, places, deaths and damage estimates. The 2025 file holds 72,360 records. It is a set of local office accounts rather than an instrument record, and that shapes what it can answer.
The guides here read the files, explain what one row and one episode are, map tornado tracks and hail by county, count weather deaths and chart the severe-weather season. Three pages deal with the traps: damage stored as text such as 10.00K, forecast-zone codes that look like county codes, and tornadoes split into one row per county.
🧭 Start with the concepts
The ideas the how-to guides below assume you already have.
⚙️ Then do the task
Step-by-step walkthroughs with code you can copy and adapt.
- How to Read NOAA's Storm Events Database in Python
- How to Map Tornado Tracks from Storm Events Begin and End Points
- How to Map Hail Reports by County: Sizes, Counts and the One-Inch Spike
- How to Count Weather Deaths by Event Type, Place and Age
- How to Chart the Severe Weather Season: Tornadoes, Hail and Wind by Month and Hour
🔧 When it breaks
The errors this topic produces, with the cause explained rather than just the command.
Related topics
Subjects that keep coming up alongside this one, most overlap first.