science
How Storm Data Gets Revised After the Fact
The same storm has three different public records at three different times, and here is what changes between the first one and the last
Pull a hail report two days after a storm, screenshot it, and quote it in a file three months later, and there is a real chance you are quoting something that no longer exists in that form. This is not a flaw anybody is hiding. The agencies say it on the pages themselves. But the wording is easy to skim past, and the operational consequence is easy to get wrong.
The same storm has at least three public records, created at three different times, by three different processes.
Minutes to hours: the Local Storm Report
The first record is the Local Storm Report. Local NWS offices collect the information behind these from sources such as damage surveys, emergency managers, and SKYWARN spotters. The Storm Prediction Center's daily storm reports are drawn from those Local Storm Reports, usually sent in near real time.
So the first number attached to a storm often comes from a person looking at a yard and estimating a diameter. That is a reasonable way to get a fast answer and a poor way to get a precise one.
The alerting side has its own short memory. The NWS public API notes that it does not provide a long-term archive, that alerts from its alerts endpoint cover only the past seven days, and that NCEI hosts the official archive of NWS alerts. If you want a warning polygon from last month, the live API is not where it lives.
The same day, every ten minutes
The second record is the preliminary daily report, and it moves while you watch it. The Storm Prediction Center's daily reports page says today's reports are updated every 10 minutes, starting at 6 AM CST or 7 AM CDT, with a separate page covering the last three hours. Yesterday's reports cover 6 AM to 6 AM local time.
There is a detail in there that trips people up. Reports are grouped by a 1200 UTC to 1159 UTC day, not a calendar day. A storm that fires at eleven at night local time can land in the convective day that began the previous morning. If you search a calendar date and find nothing, check the day on either side before concluding the storm was not reported.
SPC labels these reports preliminary and shows them as is. The archive page carries it in capital letters: All Reports Are Considered Preliminary. Archived reports can be retrieved by date, and KML files and a REST service are offered, so a preliminary record is easy to pull programmatically and just as preliminary when you do. For post-storm summaries, SPC directs users to NWS Storm Data by way of the NCEI Storm Events Database.
Ninety to a hundred twenty days: Storm Data
The third record is the one that settles. NWS Rapid City states it plainly: both the Storm Data publication and reports in the Storm Events Database are available 90 to 120 days after the event. That same page gives the coverage: tornadoes since 1950, severe thunderstorms since 1955, and all other weather events since 1996.
The Storm Prediction Center's own severe weather database is compiled from NWS Storm Data, with hail and damaging wind reports going back to 1955. It states that the current year's reports are preliminary. So even a quarter after the storm, a current-year record is not yet the final version of itself.
What changes in between, and why
The sources above establish the timeline but do not enumerate the edits, so treat what follows as reasoning about the process rather than as a published finding.
Reports get added. A damage survey that runs for a week, or an emergency manager who files late, produces entries that did not exist on day two. Estimates get corrected, because a person's guess at a diameter is exactly the kind of value a later look revises. Duplicates get resolved, because a single storm crossing a county line generates reports from several observers and several channels. And because the same page notes the data are used for NWS warning verification and may not capture all storm events, the final record is shaped by a purpose that is not yours.
Two known artifacts are worth carrying. The NWS raised the severe hail threshold from 0.75 inch to 1.00 inch in 2010, and for legacy purposes 0.75 inch reports remain in the annual hail files, so long series may need filtering. And monetary loss figures in the database are described as highly suspect, which means a dollar value pulled from Storm Data should not anchor an estimate.
The radar archive is a different animal
Radar-derived hail data follows none of that timeline, because it is not a report. The Severe Weather Data Inventory at NCEI carries NEXRAD Level-III hail signatures, in a filtered version limited to records with max size greater than zero and probability 100 percent, plus an all-signature version. It also carries storm structure, mesocyclone and tornado signatures and lightning strikes.
Read the page's own caveats, because they are unusually direct. It states that the inventory adds no quality control beyond archival processing, that missing data does not mean no severe weather occurred, and that much of the automatically derived data is radar-based and represents probable rather than confirmed conditions. That last phrase is the one to keep. A hail signature records what the radar inferred, not a stone anybody picked up.
Access is through an interactive map, bulk download of the entire database as CSV over HTTP, and web services, with Shapefile, KMZ, CSV and XML formats. The page also notes that NCEI is migrating data to the cloud, which may result in temporary data access delays, and that order fulfillment is intermittently degraded. Plan a pull with that possibility in it rather than discovering it on a deadline.
Absence is not evidence
Here is the sentence that gets misread most often. If an event is missing from both Storm Data and the Storm Events Database, NWS states that it was not reported to the National Weather Service. Not reported is not the same as did not happen. Reports cluster around population centers, so a storm over sparse country can be real and absent.
One more administrative point from the same page: certified, official copies must be requested from NCEI, not from local NWS offices. If a file needs an official record rather than a reference, that is where it comes from.
What to do about it
Store the date you pulled a record next to the record. A screenshot without a pull date cannot be reconciled against a later version, and a quote from a preliminary record is defensible if it is labeled preliminary and indefensible if it is not.
Re-pull before you quote. If the event is less than roughly four months old, assume the version you have is not final. If you are building a time series, decide what you do about the 2010 threshold change before you build it, not after someone asks. And keep the raw response, not just your parsed summary, so that when the upstream record changes you can tell what changed.
Storm Stream is an API over these same public feeds: its exact-date history path reads NOAA NCEI radar-estimated hail for one day at one point and labels the result verified, while its multi-year sweep is labeled modeled and unverified.