On the map: every storm report logged this day.
On the map
Storm reports for July 31, 2004
On July 31, 2004, 72 hail, 29 damaging-wind and 4 tornado reports were logged across 17 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
← Jul 30, 2004 All 2004 storm days · July 2004 Aug 1, 2004 →
On July 31, 2004, 72 hail, 29 damaging-wind and 4 tornado reports were logged across 17 states. The largest hail reported was 1.75″ (golf ball size) in Minnehaha 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 | 28 | 1 | 2 | 1.75″ |
| IA | 25 | 6 | 0 | 1.75″ |
| SD | 11 | 0 | 2 | 1.75″ |
| NE | 4 | 1 | 0 | 0.88″ |
| MT | 0 | 4 | 0 | – |
| NY | 0 | 4 | 0 | – |
| WI | 2 | 1 | 0 | 0.75″ |
| ND | 2 | 0 | 0 | 0.75″ |
| ID | 0 | 2 | 0 | – |
| TX | 0 | 2 | 0 | – |
| VT | 0 | 2 | 0 | – |
| UT | 0 | 1 | 0 | – |
| WY | 0 | 1 | 0 | – |
| NJ | 0 | 1 | 0 | – |
| PA | 0 | 1 | 0 | – |
| CO | 0 | 1 | 0 | – |
| AZ | 0 | 1 | 0 | – |
Cities with hail reported within 5 miles
| City | Population | Largest report |
|---|---|---|
| Richfield, MN | 36,491 | 1.75″ |
| Marshall, MN | 13,996 | 1.75″ |
| Mendota Heights, MN | 11,542 | 1.75″ |
| Hartford, SD | 3,600 | 1.75″ |
| Lennox, SD | 2,539 | 1.25″ |
| Hawarden, IA | 2,630 | 1.00″ |
| Des Moines, IA | 213,096 | 0.88″ |
| Eden Prairie, MN | 62,905 | 0.88″ |
| Chanhassen, MN | 25,746 | 0.88″ |
| Boone, IA | 12,461 | 0.88″ |
| Windsor Heights, IA | 5,106 | 0.88″ |
| St. Paul, MN | 307,465 | 0.75″ |
| Sioux Falls, SD | 209,289 | 0.75″ |
| Edina, MN | 53,564 | 0.75″ |
| St. Louis Park, MN | 49,899 | 0.75″ |
| Mankato, MN | 46,459 | 0.75″ |
| Roseville, MN | 35,637 | 0.75″ |
| Hopkins, MN | 19,462 | 0.75″ |
| Menomonie, WI | 16,709 | 0.75″ |
| North Mankato, MN | 14,142 | 0.75″ |
| Waconia, MN | 13,831 | 0.75″ |
| Little Canada, MN | 10,590 | 0.75″ |
| Sheldon, IA | 5,584 | 0.75″ |
| Falcon Heights, MN | 5,002 | 0.75″ |
| Sibley, IA | 2,787 | 0.75″ |
Hail reports (72)
| Time (UTC) | Size | Location |
|---|---|---|
| 00:05 | 1.75″ | Minnehaha County, SD |
| 00:12 | 1.75″ | Nobles County, MN |
| 00:26 | 1.75″ | Minnehaha County, SD |
| 01:05 | 1.75″ | Lyon County, IA |
| 01:45 | 1.75″ | Lyon County, IA |
| 03:13 | 1.75″ | Lyon County, MN |
| 03:13 | 1.75″ | Lyon County, MN |
| 03:53 | 1.75″ | Hennepin County, MN |
| 23:50 | 1.25″ | Minnehaha County, SD |
| 01:31 | 1.25″ | Lincoln County, SD |
| 22:50 | 1.00″ | Pipestone County, MN |
| 23:40 | 1.00″ | Nobles County, MN |
| 23:45 | 1.00″ | McCook County, SD |
| 01:50 | 1.00″ | Turner County, SD |
| 03:03 | 1.00″ | Lyon County, MN |
| 03:36 | 1.00″ | Sioux County, IA |
| 03:38 | 1.00″ | Sioux County, IA |
| 23:05 | 0.88″ | Nobles County, MN |
| 23:27 | 0.88″ | Rock County, MN |
| 23:27 | 0.88″ | Nobles County, MN |
| 23:29 | 0.88″ | Nobles County, MN |
| 00:18 | 0.88″ | Nobles County, MN |
| 02:59 | 0.88″ | O'Brien County, IA |
| 03:15 | 0.88″ | Tripp County, SD |
| 03:27 | 0.88″ | Hennepin County, MN |
| 03:35 | 0.88″ | Sioux County, IA |
| 03:50 | 0.88″ | Sioux County, IA |
| 04:12 | 0.88″ | Gregory County, SD |
| 04:20 | 0.88″ | Buena Vista County, IA |
| 04:22 | 0.88″ | Gregory County, SD |
| 05:35 | 0.88″ | Keya Paha County, NE |
| 06:48 | 0.88″ | Boone County, IA |
| 06:53 | 0.88″ | Boone County, IA |
| 07:35 | 0.88″ | Polk County, IA |
| 11:25 | 0.88″ | Platte County, NE |
| 22:55 | 0.75″ | Pipestone County, MN |
| 23:02 | 0.75″ | Murray County, MN |
| 23:05 | 0.75″ | Rock County, MN |
| 23:45 | 0.75″ | Cavalier County, ND |
| 23:53 | 0.75″ | Nobles County, MN |
| 23:57 | 0.75″ | Cavalier County, ND |
| 00:08 | 0.75″ | Nobles County, MN |
| 00:08 | 0.75″ | Nobles County, MN |
| 00:32 | 0.75″ | Minnehaha County, SD |
| 00:59 | 0.75″ | Nobles County, MN |
| 01:09 | 0.75″ | Turner County, SD |
| 02:00 | 0.75″ | Lyon County, IA |
| 02:05 | 0.75″ | Osceola County, IA |
| 02:05 | 0.75″ | Kittson County, MN |
| 02:15 | 0.75″ | Osceola County, IA |
| 02:59 | 0.75″ | Sioux County, IA |
| 03:00 | 0.75″ | Lyon County, IA |
| 03:03 | 0.75″ | McLeod County, MN |
| 03:10 | 0.75″ | Osceola County, IA |
| 03:10 | 0.75″ | O'Brien County, IA |
| 03:10 | 0.75″ | Carver County, MN |
| 03:20 | 0.75″ | O'Brien County, IA |
| 03:35 | 0.75″ | O'Brien County, IA |
| 03:36 | 0.75″ | Hennepin County, MN |
| 03:41 | 0.75″ | Hennepin County, MN |
| 03:45 | 0.75″ | Pierce County, WI |
| 03:48 | 0.75″ | Redwood County, MN |
| 03:51 | 0.75″ | Ramsey County, MN |
| 04:20 | 0.75″ | Cherokee County, IA |
| 04:25 | 0.75″ | Plymouth County, IA |
| 05:00 | 0.75″ | Cherokee County, IA |
| 05:15 | 0.75″ | Clay County, IA |
| 05:18 | 0.75″ | Cherokee County, IA |
| 05:30 | 0.75″ | Dunn County, WI |
| 07:50 | 0.75″ | Knox County, NE |
| 09:14 | 0.75″ | Nicollet County, MN |
| 11:42 | 0.75″ | Platte County, NE |
Damage, injuries and deaths
National Weather Service offices recorded about $168,000 in property damage and $10,000 in crop damage from hail, thunderstorm wind and tornadoes across the US on this storm day (107 events in 17 states). Injuries and deaths are those the events caused directly.
| County | Events | Injuries | Deaths | Property damage |
|---|---|---|---|---|
| Franklin County, NY | 3 | 0 | 0 | $100,000 |
| Turner County, SD | 1 | 0 | 0 | $30,000 |
| Douglas County, CO | 1 | 0 | 0 | $15,000 |
| Bannock County, ID | 1 | 0 | 0 | $6,000 |
| Rutland County, VT | 1 | 0 | 0 | $5,000 |
| Boone County, IA | 3 | 0 | 0 | $4,000 |
| Calhoun County, IA | 1 | 0 | 0 | $2,000 |
| Polk County, IA | 1 | 0 | 0 | $2,000 |
| Nobles County, MN | 1 | 0 | 0 | $2,000 |
| Pima County, AZ | 1 | 0 | 0 | $1,000 |
| Addison County, VT | 1 | 0 | 0 | $1,000 |
What the National Weather Service wrote
- Turner County, SD (near Centerville) · Tornado F1 · $30,000
“A tornado destroyed a garage. The tornado also damaged a storage shed and the shelter belt around a farmstead. Four people were briefly trapped in the basement of the house by garage debris, but there were no injuries.” - Douglas County, CO (near Parker) · Thunderstorm wind 58 mph · $15,000
“Strong thunderstorm winds downed a 65-ft blue spruce in Parker. The tree landed onto a home, damaging the roof of the residence. Dozens of holes poked into the shingles and gutters were damaged.” - Nobles County, MN (near Adrian) · Tornado F1 · $2,000
“A tornado damaged trees and destroyed outbuildings.” - Pima County, AZ (near Tucson) · Thunderstorm wind 58 mph · $1,000
“Strong thunderstorm winds caused the power lines at the 39th block of 16th Avenue to be downed.” - O'Brien County, IA (near Sutherland) · Thunderstorm wind 70 mph
“Thunderstorm winds caused extensive tree damage.” - Holt County, NE (near Atkinson) · Thunderstorm wind 60 mph
“Several large branches were broken off by the wind.”
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.