How PlainHazard is made

Every figure in PlainHazard's natural hazards record comes from a public federal file. Each page names the file and its date under the figures it supports and links the official search where you can confirm them. This page explains how the files are joined, what the pipeline checks, how AI is used, and what the record cannot tell you.

The files

  • NOAA NCEI Storm Events Database: the details, fatalities and locations files for every year from 1950 (file revision 20260918; 2,052,037 records, the newest from June 30, 2026).
  • NOAA Storm Prediction Center tornado database: one row per tornado, 1950 to 2025 (73,458 tornadoes), and its state segments.
  • FEMA OpenFEMA Disaster Declarations Summaries (v2): 70,407 rows, one per declared area, through October 2, 2026. The same file is published as CSV at https://www.fema.gov/api/open/v2/DisasterDeclarationsSummaries.csv.
  • FEMA NFIP Redacted Claims (v3): flood insurance claims, as of September 8, 2026.
  • FEMA National Risk Index, county table, December 2025 release.
  • National Weather Service zone-county correlation files and, for earlier years, dated forecast-zone boundaries from the Iowa Environmental Mesonet archive (10 versions); Census Bureau county adjacency (2025); BLS CPI-U through FRED.

How the files become a county record

The Storm Events Database files a record against a county, a forecast zone or a marine zone. County records go to their county. A forecast zone can cover parts of several counties and its boundaries change, so each zone record is placed on every county the zone covered in the year of the event: from 2024 by the National Weather Service's current correlation file, before that by the dated zone boundary in force at the time. Of 1,999,928 land records, 5,449 name a zone that no file places; they count in their state's totals but on no county page. Records filed against marine zones (52,109) are on no county page; marine hazards have their own national totals.

Damage is converted to 2025 dollars with the BLS consumer price index (CPI-U, not seasonally adjusted) for the year of the event. Deaths are direct and indirect as filed. Per-area ranks leave out counties under 100 square miles and states under 1,000 square miles, where a few records swing the rate. Every per-area figure divides by land area from the Census Bureau's 2024 Gazetteer (water excluded). When the National Weather Service files the same deaths, injuries and narrative on two forecast-zone records of one storm, or the same damage within 1%, the repeat is counted once in every total. Narratives are quoted as the National Weather Service wrote them; in about 2,600 records a character such as an apostrophe or a dash reached NOAA's files as unreadable bytes, and we restore apostrophes, dashes and degree signs from their place in the sentence and drop the rest.

FEMA declarations and NOAA storm records are kept side by side and never merged into one score: a declaration is a federal decision on a state's request, a storm record is an observation. They answer different questions and, across counties, barely move together (measured here). FEMA's National Risk Index is shown as FEMA publishes it, as a model, never as a count.

When two figures differ

  • Storm records: the files hold 2,052,037 rows; 2,004,972 of them are land hazards (the national total on the home page); 1,999,928 were filed against a county or a land forecast zone, the rest against marine zones.
  • Tornado deaths: the Storm Prediction Center's database counts 6,341 for one row per tornado; the Storm Events records count 6,410, because they add indirect deaths and file a tornado once per county it crossed. A single tornado can therefore show two death counts.
  • Flood deaths since 1996: the event records count 3,050; the fatalities file, which lists each death with its place, holds 3,001 rows for the same events. The analysis of where flood deaths happen uses the fatalities file.
  • Damage: from 1950 to 1992 the file records damage in steps of a scale (12 distinct values), repeated on each county segment; lists ranked by damage start in 1993 and count a figure repeated on several counties of one event once.

The checks

  • A rebuild stops if a table that holds data would not be filled again, so a failed download cannot empty a page.
  • The storm stage stops if the yearly storm files skip any year from 1950, if the record count falls below 1.9 million, if the tornado file holds fewer than 70,000 tornadoes, or if the price index lacks a full year 2025.
  • Each source has a refresh schedule; a file older than its publisher's schedule is flagged as stale.
  • Automated tests check the pipeline's parsing and the page contracts before anything is published.

Who reviews what, and when: before each release three figures on every page type (county, state, state by hazard, hazard type, research and ranking pages) are checked against the NOAA, SPC and FEMA files they cite, and the pages are read in separate review passes against Google's and Bing's published quality guidelines, for claims a reader could dispute and for figures that disagree between pages. The studio runs these checks with AI tools and records each one; the last full review was for the release of October 8, 2026. Between releases, each monthly data load runs the checks above, and a page type whose figures change is checked again before it is published.

How it is made

The pipeline is scripted and the pages read their figures from its database when you open them. PlainHazard uses AI tools to write the code, the page templates and the explanatory text, including the guides and the analyses. AI does not decide any figure: every count, rank, share and dollar amount is a database query over the files above, and each analysis states its method, sources and limits. We check the data with automated tests against the source files rather than reading every county page one by one, which is why each page shows where its figures come from and how to confirm them.

What the record cannot tell you

  • Coverage grew in steps: tornadoes only from 1950, thunderstorm wind and hail from 1955, all 48 event types from 1996. Pages compare a hazard only over the years it was fully recorded.
  • A storm record needs an observer, so counts follow reporting as well as weather. The Storm Prediction Center notes that tornado reports rose especially around the installation of the NEXRAD Doppler radar network in the mid-1990s; the weakest tornadoes are the clearest case.
  • Damage figures are estimates filed by forecast offices, many of them zero or blank; treat sums as a floor.
  • NOAA publishes each month about 75 days after it ends, so the newest weeks are not yet in the record.
  • Flood insurance claims show insured losses only. The Risk Index is a model that FEMA revises between releases.

Reusing the data

The federal files are public. PlainHazard's derived tables can be downloaded from the data page and are released under CC0 1.0 (no rights reserved). A citation of PlainHazard and the federal source is appreciated, not required.

Who answers for it

PlainHazard Editorial answers for the method and the figures; the about page names the owner. Report an error to hello@plainhazard.com; corrections explains what happens next.