On the map: every storm report logged this day.
On the map
Storm reports for May 9, 2004
On May 9, 2004, 215 hail, 80 damaging-wind and 7 tornado reports were logged across 20 states.
FreeNo accountNo phone numberWe don’t keep the address
· As you type, the text is sent to Google to suggest addresses.IndependentNot affiliated with NOAA or the National Weather Service. Source: NOAA Storm Prediction Center storm reports. Data through November 6, 2026. Methodology
← May 8, 2004 All 2004 storm days · May 2004 May 10, 2004 →
On May 9, 2004, 215 hail, 80 damaging-wind and 7 tornado reports were logged across 20 states. The largest hail reported was 2.00″ (hen egg size) in Hand County, SD.
Storm day runs 7 a.m. to 7 a.m. Eastern (12:00–12:00 UTC), the convention the Storm Prediction Center uses. Radar hail estimates start October 2019.
Storm reports by state
| State | Hail | Wind | Tornado | Largest hail |
|---|---|---|---|---|
| MN | 94 | 31 | 4 | 2.00″ |
| WI | 21 | 12 | 0 | 1.00″ |
| SD | 24 | 2 | 0 | 2.00″ |
| NE | 16 | 2 | 0 | 1.75″ |
| MI | 6 | 11 | 0 | 1.75″ |
| VA | 12 | 1 | 0 | 1.75″ |
| NC | 10 | 3 | 0 | 1.25″ |
| IL | 7 | 2 | 0 | 1.00″ |
| NM | 7 | 1 | 0 | 1.75″ |
| IA | 2 | 3 | 2 | 1.00″ |
| GA | 4 | 1 | 0 | 1.75″ |
| MD | 1 | 3 | 0 | 1.75″ |
| CO | 3 | 1 | 0 | 1.50″ |
| PA | 1 | 3 | 0 | 1.00″ |
| AL | 1 | 3 | 0 | 0.88″ |
| TX | 2 | 0 | 0 | 1.00″ |
| SC | 2 | 0 | 0 | 0.75″ |
| IN | 0 | 1 | 1 | – |
| TN | 1 | 0 | 0 | 0.75″ |
| OH | 1 | 0 | 0 | 0.75″ |
Cities with hail reported within 5 miles
| City | Population | Largest report |
|---|---|---|
| Battle Creek, MI | 52,205 | 1.75″ |
| Blacksburg, VA | 45,452 | 1.75″ |
| Rome, GA | 38,747 | 1.75″ |
| Vermillion, SD | 11,877 | 1.75″ |
| Lovington, NM | 11,693 | 1.75″ |
| Springfield, MI | 5,267 | 1.75″ |
| Annandale, MN | 3,487 | 1.50″ |
| Duluth, MN | 87,986 | 1.00″ |
| Schaumburg, IL | 77,099 | 1.00″ |
| Hoffman Estates, IL | 50,920 | 1.00″ |
| Plainfield, IL | 48,881 | 1.00″ |
| Mankato, MN | 46,459 | 1.00″ |
| York, PA | 45,241 | 1.00″ |
| Bartlett, IL | 40,718 | 1.00″ |
| Maplewood, MN | 40,142 | 1.00″ |
| Streamwood, IL | 38,360 | 1.00″ |
| Clovis, NM | 37,555 | 1.00″ |
| Hanover Park, IL | 36,685 | 1.00″ |
| Elk Grove Village, IL | 31,802 | 1.00″ |
| Oakdale, MN | 30,441 | 1.00″ |
| Prior Lake, MN | 28,018 | 1.00″ |
| Belvidere, IL | 25,325 | 1.00″ |
| Rolling Meadows, IL | 23,732 | 1.00″ |
| White Bear Lake, MN | 23,479 | 1.00″ |
| Roselle, IL | 22,871 | 1.00″ |
Hail reports (215)
| Time (UTC) | Size | Location |
|---|---|---|
| 13:05 | 2.00″ | Hand County, SD |
| 16:42 | 2.00″ | Yellow Medicine County, MN |
| 19:08 | 1.75″ | Stevens County, MN |
| 19:50 | 1.75″ | Pope County, MN |
| 20:17 | 1.75″ | Swift County, MN |
| 22:20 | 1.75″ | Floyd County, GA |
| 23:25 | 1.75″ | Blaine County, NE |
| 23:55 | 1.75″ | Curry County, NM |
| 00:13 | 1.75″ | Montgomery County, VA |
| 00:45 | 1.75″ | Clay County, SD |
| 01:02 | 1.75″ | Pittsylvania County, VA |
| 01:05 | 1.75″ | Clay County, SD |
| 02:18 | 1.75″ | Lea County, NM |
| 03:20 | 1.75″ | Lea County, NM |
| 03:26 | 1.75″ | Harford County, MD |
| 05:35 | 1.75″ | Calhoun County, MI |
| 13:00 | 1.50″ | Hand County, SD |
| 21:14 | 1.50″ | Wright County, MN |
| 22:15 | 1.50″ | Yuma County, CO |
| 00:53 | 1.50″ | Union County, SD |
| 21:05 | 1.25″ | Alexander County, NC |
| 21:30 | 1.25″ | Habersham County, GA |
| 12:42 | 1.00″ | Hand County, SD |
| 12:58 | 1.00″ | Hand County, SD |
| 14:20 | 1.00″ | Kingsbury County, SD |
| 16:07 | 1.00″ | Lincoln County, MN |
| 17:25 | 1.00″ | Union County, GA |
| 19:30 | 1.00″ | Swift County, MN |
| 20:30 | 1.00″ | Brewster County, TX |
| 20:30 | 1.00″ | Swift County, MN |
| 20:30 | 1.00″ | Swift County, MN |
| 20:30 | 1.00″ | Bedford County, VA |
| 21:03 | 1.00″ | Stearns County, MN |
| 21:08 | 1.00″ | Meeker County, MN |
| 21:14 | 1.00″ | Bedford County, VA |
| 21:15 | 1.00″ | Iredell County, NC |
| 22:27 | 1.00″ | McLeod County, MN |
| 22:30 | 1.00″ | Burke County, NC |
| 22:36 | 1.00″ | LaSalle County, IL |
| 22:58 | 1.00″ | Dundy County, NE |
| 23:05 | 1.00″ | Boone County, IL |
| 23:06 | 1.00″ | York County, PA |
| 23:15 | 1.00″ | Ramsey County, MN |
| 23:15 | 1.00″ | Curry County, NM |
| 23:19 | 1.00″ | Scott County, MN |
| 23:20 | 1.00″ | Cook County, IL |
| 23:30 | 1.00″ | Cook County, IL |
| 23:31 | 1.00″ | Holt County, NE |
| 23:35 | 1.00″ | St. Louis County, MN |
| 23:37 | 1.00″ | St. Louis County, MN |
| 23:45 | 1.00″ | Clay County, SD |
| 23:48 | 1.00″ | Reeves County, TX |
| 00:00 | 1.00″ | Pierce County, WI |
| 00:00 | 1.00″ | Pierce County, WI |
| 00:05 | 1.00″ | Montgomery County, VA |
| 00:10 | 1.00″ | Will County, IL |
| 00:11 | 1.00″ | Montgomery County, VA |
| 00:15 | 1.00″ | Pierce County, WI |
| 00:20 | 1.00″ | Holt County, NE |
| 00:20 | 1.00″ | Montgomery County, VA |
| 00:24 | 1.00″ | Union County, SD |
| 00:31 | 1.00″ | Knox County, NE |
| 00:59 | 1.00″ | Knox County, NE |
| 01:00 | 1.00″ | Scott County, MN |
| 01:15 | 1.00″ | Custer County, NE |
| 01:31 | 1.00″ | St. Louis County, MN |
| 01:33 | 1.00″ | Le Sueur County, MN |
| 01:40 | 1.00″ | Nicollet County, MN |
| 02:03 | 1.00″ | Blue Earth County, MN |
| 02:08 | 1.00″ | Marathon County, WI |
| 02:10 | 1.00″ | Sioux County, IA |
| 02:19 | 1.00″ | Blue Earth County, MN |
| 02:24 | 1.00″ | Blue Earth County, MN |
| 02:30 | 1.00″ | Wood County, WI |
| 02:30 | 1.00″ | Clay County, SD |
| 02:35 | 1.00″ | Rice County, MN |
| 02:55 | 1.00″ | Portage County, WI |
| 02:58 | 1.00″ | Union County, SD |
| 03:24 | 1.00″ | Dodge County, MN |
| 03:44 | 1.00″ | Olmsted County, MN |
| 03:47 | 1.00″ | Olmsted County, MN |
| 14:51 | 0.88″ | Hamlin County, SD |
| 15:15 | 0.88″ | Hamlin County, SD |
| 16:50 | 0.88″ | Carroll County, VA |
| 19:00 | 0.88″ | Buncombe County, NC |
| 19:29 | 0.88″ | Stevens County, MN |
| 19:52 | 0.88″ | Burke County, NC |
| 20:35 | 0.88″ | Bedford County, VA |
| 20:47 | 0.88″ | Stearns County, MN |
| 21:08 | 0.88″ | Calhoun County, AL |
| 21:54 | 0.88″ | Kalamazoo County, MI |
| 22:32 | 0.88″ | Pine County, MN |
| 22:35 | 0.88″ | Catawba County, NC |
| 22:40 | 0.88″ | Blaine County, NE |
| 22:40 | 0.88″ | Franklin County, GA |
| 22:40 | 0.88″ | Curry County, NM |
| 22:45 | 0.88″ | Ramsey County, MN |
| 22:50 | 0.88″ | Anoka County, MN |
| 23:58 | 0.88″ | St. Louis County, MN |
| 00:00 | 0.88″ | Holt County, NE |
| 00:10 | 0.88″ | Clay County, SD |
| 00:14 | 0.88″ | Montgomery County, VA |
| 00:25 | 0.88″ | Curry County, NM |
| 00:35 | 0.88″ | Perkins County, NE |
| 00:45 | 0.88″ | Clay County, SD |
| 00:46 | 0.88″ | Scott County, MN |
| 00:53 | 0.88″ | Blue Earth County, MN |
| 00:55 | 0.88″ | Pepin County, WI |
| 01:00 | 0.88″ | Lincoln County, NE |
| 01:08 | 0.88″ | Murray County, MN |
| 01:17 | 0.88″ | Union County, SD |
| 01:19 | 0.88″ | Brown County, MN |
| 01:33 | 0.88″ | Nobles County, MN |
| 01:34 | 0.88″ | Nicollet County, MN |
| 01:50 | 0.88″ | Clay County, SD |
| 03:14 | 0.88″ | Plymouth County, IA |
| 03:44 | 0.88″ | Olmsted County, MN |
| 04:30 | 0.88″ | Hall County, NE |
| 06:03 | 0.75″ | Saline County, NE |
| 14:30 | 0.75″ | Kingsbury County, SD |
| 14:35 | 0.75″ | Clark County, SD |
| 15:27 | 0.75″ | Deuel County, SD |
| 16:43 | 0.75″ | Lyon County, MN |
| 16:50 | 0.75″ | Lyon County, MN |
| 19:05 | 0.75″ | Big Stone County, MN |
| 19:08 | 0.75″ | Stevens County, MN |
| 19:36 | 0.75″ | Barry County, MI |
| 20:21 | 0.75″ | Kandiyohi County, MN |
| 20:23 | 0.75″ | Pope County, MN |
| 20:35 | 0.75″ | Stearns County, MN |
| 20:57 | 0.75″ | Kandiyohi County, MN |
| 21:05 | 0.75″ | Barry County, MI |
| 21:13 | 0.75″ | Meeker County, MN |
| 21:18 | 0.75″ | Meeker County, MN |
| 21:20 | 0.75″ | Meeker County, MN |
| 21:20 | 0.75″ | Anderson County, SC |
| 21:28 | 0.75″ | Anderson County, SC |
| 21:30 | 0.75″ | Meeker County, MN |
| 21:30 | 0.75″ | Meeker County, MN |
| 21:35 | 0.75″ | Rutherford County, NC |
| 21:43 | 0.75″ | Wright County, MN |
| 22:00 | 0.75″ | Wright County, MN |
| 22:15 | 0.75″ | Lenawee County, MI |
| 22:15 | 0.75″ | Yuma County, CO |
| 22:16 | 0.75″ | Forsyth County, NC |
| 22:25 | 0.75″ | Guilford County, NC |
| 22:35 | 0.75″ | McLeod County, MN |
| 22:40 | 0.75″ | Hennepin County, MN |
| 22:40 | 0.75″ | Hennepin County, MN |
| 22:40 | 0.75″ | McLeod County, MN |
| 22:50 | 0.75″ | Ramsey County, MN |
| 22:50 | 0.75″ | Forsyth County, NC |
| 22:50 | 0.75″ | Scott County, TN |
| 22:51 | 0.75″ | Yuma County, CO |
| 22:54 | 0.75″ | McLeod County, MN |
| 22:58 | 0.75″ | Curry County, NM |
| 22:59 | 0.75″ | Washington County, MN |
| 22:59 | 0.75″ | Carver County, MN |
| 23:02 | 0.75″ | Ramsey County, MN |
| 23:07 | 0.75″ | Sibley County, MN |
| 23:08 | 0.75″ | Sibley County, MN |
| 23:10 | 0.75″ | Lucas County, OH |
| 23:15 | 0.75″ | Polk County, WI |
| 23:15 | 0.75″ | Lee County, IL |
| 23:20 | 0.75″ | Washington County, MN |
| 23:22 | 0.75″ | Rock County, NE |
| 23:32 | 0.75″ | St. Louis County, MN |
| 23:44 | 0.75″ | Will County, IL |
| 23:46 | 0.75″ | Scott County, MN |
| 23:46 | 0.75″ | Union County, SD |
| 23:54 | 0.75″ | Dunn County, WI |
| 23:58 | 0.75″ | Union County, SD |
| 00:00 | 0.75″ | Dakota County, MN |
| 00:00 | 0.75″ | Barron County, WI |
| 00:01 | 0.75″ | Dakota County, MN |
| 00:06 | 0.75″ | Montgomery County, VA |
| 00:09 | 0.75″ | Montgomery County, VA |
| 00:15 | 0.75″ | Dakota County, MN |
| 00:16 | 0.75″ | Scott County, MN |
| 00:29 | 0.75″ | Knox County, NE |
| 01:06 | 0.75″ | Wabasha County, MN |
| 01:07 | 0.75″ | Carlton County, MN |
| 01:07 | 0.75″ | Pepin County, WI |
| 01:10 | 0.75″ | Murray County, MN |
| 01:12 | 0.75″ | Eau Claire County, WI |
| 01:15 | 0.75″ | St. Louis County, MN |
| 01:20 | 0.75″ | Cottonwood County, MN |
| 01:23 | 0.75″ | Buffalo County, WI |
| 01:35 | 0.75″ | Le Sueur County, MN |
| 01:39 | 0.75″ | Lake County, MN |
| 01:45 | 0.75″ | Marathon County, WI |
| 01:48 | 0.75″ | Clark County, WI |
| 01:48 | 0.75″ | Trempealeau County, WI |
| 01:51 | 0.75″ | Knox County, NE |
| 01:55 | 0.75″ | Clark County, WI |
| 02:00 | 0.75″ | Rice County, MN |
| 02:02 | 0.75″ | Cottonwood County, MN |
| 02:05 | 0.75″ | Rice County, MN |
| 02:23 | 0.75″ | Rice County, MN |
| 02:38 | 0.75″ | Portage County, WI |
| 02:45 | 0.75″ | Goodhue County, MN |
| 02:46 | 0.75″ | Union County, SD |
| 02:57 | 0.75″ | Goodhue County, MN |
| 03:16 | 0.75″ | Dodge County, MN |
| 03:18 | 0.75″ | Dodge County, MN |
| 03:26 | 0.75″ | Dodge County, MN |
| 03:27 | 0.75″ | Waupaca County, WI |
| 03:36 | 0.75″ | Olmsted County, MN |
| 03:41 | 0.75″ | Buffalo County, WI |
| 03:52 | 0.75″ | Wabasha County, MN |
| 03:55 | 0.75″ | Wabasha County, MN |
| 04:11 | 0.75″ | Freeborn County, MN |
| 04:32 | 0.75″ | Mower County, MN |
| 04:40 | 0.75″ | Dodge County, WI |
| 05:59 | 0.75″ | Muskegon County, MI |
Damage, injuries and deaths
National Weather Service offices recorded about $1 million in property damage, $227,000 in crop damage and 1 injury from hail, thunderstorm wind and tornadoes across the US on this storm day (303 events in 21 states). Injuries and deaths are those the events caused directly.
| County | Events | Injuries | Deaths | Property damage |
|---|---|---|---|---|
| Weld County, CO | 1 | 1 | 0 | – |
| Ramsey County, MN | 1 | 0 | 0 | $330,000 |
| Fillmore County, NE | 1 | 0 | 0 | $200,000 |
| Montcalm County, MI | 1 | 0 | 0 | $100,000 |
| Calhoun County, MI | 2 | 0 | 0 | $70,000 |
| Van Buren County, MI | 1 | 0 | 0 | $50,000 |
| Kalamazoo County, MI | 2 | 0 | 0 | $35,000 |
| Barry County, MI | 2 | 0 | 0 | $30,000 |
| Kent County, MI | 1 | 0 | 0 | $25,000 |
| Holt County, NE | 2 | 0 | 0 | $21,000 |
| Eaton County, MI | 1 | 0 | 0 | $20,000 |
| Jackson County, MI | 1 | 0 | 0 | $20,000 |
What the National Weather Service wrote
- Weld County, CO (near Garden City) · Thunderstorm wind 58 mph · 1 injury
“Strong winds from a dry microburst downed tree branches and electrical lines which knocked out power for several hundred residents. One woman was injured when a tree limb fell on her as she was helping to change a tire.” - Ramsey County, MN (near St Paul) · Thunderstorm wind 72 mph · $330,000
“A wind gust of 72 MPH was recorded by an automated sensor at Holman Field at 6:00 PM CDT. Numerous trees and power lines were downed from St. Anthony Park to the State Fairgrounds to the State Capitol including the southern portion of Como Park and the Midway area.” - Montcalm County, MI (near Lakeview) · Thunderstorm wind 69 mph · $100,000
“Twenty to thirty trees were either damaged or blown down by severe thunderstorm wind gusts two miles west of Lakeview.” - Van Buren County, MI (near Paw Paw) · Thunderstorm wind 61 mph · $50,000
“The general public reported that numerous trees were blown down in Paw Paw.” - Calhoun County, MI (near Battle Creek) · Hail 1.75″ · $50,000
“A trained spotter four miles north of Battle Creek reported one and three quarters inch diameter hail.” - Kent County, MI (near Cedar Spgs) · Thunderstorm wind 61 mph · $25,000
“Law enforcement in Cedar Springs reported that many trees and wires were blown down.”
Event narratives from NWS Storm Data, shortened. Up to six per day, chosen by deaths, injuries, damage and size.
Source: NOAA National Centers for Environmental Information (NCEI), Storm Events Database, as entered by National Weather Service offices; data through July 31, 2026. Damage is in dollars of the year, not adjusted for inflation.
Guides: What radar-estimated hail (MESH) is and isn't · Storm reports: preliminary vs final
Hail check for any US address
Every day since October 2019 that radar estimated hail near the address, free.
Guide: How to check if it hailed at your address · Free hail alerts by email · As you type, the text is sent to Google to suggest addresses.