The Storm Events Database documents storms and other weather phenomena having sufficient intensity to cause loss of life, injuries, property damage, and/or disruption to commerce across the United States. Records date from 1950 up to the current year. Created by the National Weather Service and the National Centers for Environmental Information, the dataset is presented here by The Internet of Water Coalition, The Commons, and Earth Genome.
The Storm Events Database is a publicly accessible source of National Weather Service (NWS) Storm Data, a collection of significant weather phenomena that have sufficient intensity to cause loss of life, injuries, significant property damage, and/or disruption to commerce across the United States.
The Internet of Water Coalition (IoW), The Commons, and Earth Genome maintain this repository as part of a collaborative effort to enhance access to NOAA's storm events data and unlock its potential for insights. This project exists downstream from the official NOAA dataset and is not directly affiliated with NWS, NOAA, or NCEI. The dataset presented here powers IoW's Storm Events Database Explorer.
Records date from 1950 through approximately 3-4 months before the current date. Our goal is to update the data here on a monthly basis, pending the availability of new data from NOAA/NCEI. Historical coverage varies by event type. Between 1950 and 1954, tornadoes were the only event type recorded. Between 1955 and 1995, tornado, thunderstorm wind, and hail events were captured. From 1996 to present, all 55 event types are covered. NCEI explains that evolution here.
Officially, the dataset has 55 event types representing various weather phenomena that NWS captures in the Storm Events Database. In addition, we created 7 unofficial high-level categories to group those event types. Each category groups events by their main cause or impact. In the data schema presented here, each event has an event_type (the official type assigned by NWS) and an event_type_family (the high-level category).
Hazards that make it hard to see or breathe, like fog, smoke, or ash.
Event Types: dense-fog, marine-dense-fog, freezing-fog, dense-smoke, volcanic-ash
Water-related dangers from heavy rain or high tides that cause flooding.
Event Types: coastal-flood, storm-surge/tide, seiche, tsunami, high-surf, rip-current, sneakerwave, astronomical-low-tide, heavy-rain, flood, flash-flood, lakeshore-flood, debris-flow
High-temperature events and their effects, such as drought or wildfires.
Event Types: heat, excessive-heat, drought, wildfire
Localized storms with thunder, lightning, hail, or small tornadoes.
Event Types: dust-devil, dust-storm, thunderstorm-wind, marine-thunderstorm-wind, hail, marine-hail, lightning, marine-lightning, tornado``waterspout, funnel-cloud
Large, spinning storms that form over warm water—tropical depressions to hurricanes.
Event Types: hurricane, marine-hurricane/typhoon, tropical-depression, tropical-storm, marine-tropical-depression, marine-tropical-storm
Strong winds not caused by storms or hurricanes, like winds from frontal systems or mountain flows.
Event Types: high-wind, strong-wind, marine-high-wind, marine-strong-wind
Winter hazards like snow, ice, and extreme cold that affect roads and buildings.
Event Types: marine-heavy-freezing-spray, sleet, ice-storm, heavy-snow, lake-effect-snow, blizzard, winter-storm, winter-weather, cold/wind-chill``extreme-cold/wind-chill, frost/freeze, avalanche
Location data varies by event type. Some event types such as thunderstorm-wind and tornado have point coordinates, and there is variability in whether those events have a single point location or multiple points. Other event types like drought and winter-storm have no point coordinates and are instead represented spatially by NWS using the county or forecast zone where the event occurred. To simplify visualization in the tool, we have chosen to assign a single Point geometry to every event regardless of event type. For events with one or more points in the official data, we use the event's first Point ("location_index": 1). For events represented by a county or forecast zone, we use the centroid of that boundary. Around 1% of events have a null geometry because their FIPS code could not be matched to an appropriate boundary.
For ease of access, the data is provided in both CSV and GeoParquet formats. The CSV zip files are organized by year, whereas the GeoParquet combines all 2 million+ events into a single file using the best practices found in geoparquet-io. The schema has the following columns:
The GeoParquet format is particularly helpful for users who don't want to download individual CSVs. DuckDB provides excellent support for accessing GeoParquet files with both tabular and spatial queries. To use the examples below, start by installing a DuckDB client: https://duckdb.org/install/
The GeoParquet file includes per-row bounding boxes for efficient spatial filtering:
Although this project applies data cleaning procedures to improve accuracy, limitations in the source data remain. In some rare cases, event records may contain inconsistencies such as a storm being assigned to a specific state or county FIPS code while its recorded latitude and longitude fall outside the corresponding boundary. These discrepancies arise from the underlying official data. For transparency and verification, users may access and download the original data directly from the National Centers for Environmental Information (NCEI) at https://www.ncei.noaa.gov/access/storm-events-database, which serves as the authoritative source of truth for this project's data.