On the map: every storm report logged this day.
On the map
Storm reports for July 28, 1999
On July 28, 1999, 61 hail, 167 damaging-wind and 5 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
← Jul 27, 1999 All 1999 storm days · July 1999 Jul 29, 1999 →
On July 28, 1999, 61 hail, 167 damaging-wind and 5 tornado reports were logged across 20 states. The largest hail reported was 2.75″ (baseball size) in Sanilac County, MI.
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 |
|---|---|---|---|---|
| OH | 11 | 44 | 2 | 2.00″ |
| MI | 23 | 18 | 1 | 2.75″ |
| VA | 0 | 38 | 0 | – |
| PA | 3 | 19 | 0 | 1.00″ |
| MN | 13 | 3 | 0 | 1.75″ |
| WV | 2 | 10 | 0 | 1.00″ |
| WI | 4 | 4 | 0 | 1.00″ |
| MD | 0 | 8 | 0 | – |
| IN | 1 | 6 | 0 | 0.88″ |
| ME | 3 | 1 | 0 | 0.88″ |
| TN | 0 | 4 | 0 | – |
| CA | 0 | 3 | 0 | – |
| CO | 1 | 1 | 0 | 1.00″ |
| FL | 0 | 1 | 1 | – |
| AZ | 0 | 2 | 0 | – |
| KY | 0 | 2 | 0 | – |
| TX | 0 | 0 | 1 | – |
| MO | 0 | 1 | 0 | – |
| NY | 0 | 1 | 0 | – |
| AR | 0 | 1 | 0 | – |
Cities with hail reported within 5 miles
| City | Population | Largest report |
|---|---|---|
| Sandusky, MI | 2,679 | 2.75″ |
| Youngstown, OH | 59,123 | 2.00″ |
| Struthers, OH | 9,891 | 2.00″ |
| Campbell, OH | 7,751 | 2.00″ |
| Midland, MI | 42,780 | 1.75″ |
| Adrian, MI | 20,259 | 1.75″ |
| Bemidji, MN | 15,733 | 1.75″ |
| Grand Haven, MI | 11,045 | 1.75″ |
| Chardon, OH | 5,233 | 1.75″ |
| Ferrysburg, MI | 2,963 | 1.75″ |
| Spring Lake, MI | 2,510 | 1.75″ |
| Princeton, MN | 5,329 | 1.50″ |
| Wyoming, MI | 78,559 | 1.25″ |
| Marysville, MI | 9,868 | 1.00″ |
| Beaver Falls, PA | 8,757 | 1.00″ |
| Ambridge, PA | 6,886 | 1.00″ |
| New Brighton, PA | 5,517 | 1.00″ |
| Coraopolis, PA | 5,340 | 1.00″ |
| Beaver, PA | 4,336 | 1.00″ |
| Barnesville, OH | 3,902 | 1.00″ |
| Sewickley, PA | 3,770 | 1.00″ |
| Rochester, PA | 3,382 | 1.00″ |
| Fayetteville, WV | 2,753 | 1.00″ |
| Elkhart, IN | 53,690 | 0.88″ |
| Warren, OH | 38,683 | 0.88″ |
Hail reports (61)
| Time (UTC) | Size | Location |
|---|---|---|
| 23:00 | 2.75″ | Sanilac County, MI |
| 14:50 | 2.00″ | Mahoning County, OH |
| 00:07 | 2.00″ | Ottawa County, MI |
| 13:10 | 1.75″ | Geauga County, OH |
| 23:35 | 1.75″ | Midland County, MI |
| 23:40 | 1.75″ | Midland County, MI |
| 23:50 | 1.75″ | Ottawa County, MI |
| 00:30 | 1.75″ | Lenawee County, MI |
| 01:55 | 1.75″ | Beltrami County, MN |
| 05:46 | 1.75″ | Crow Wing County, MN |
| 12:45 | 1.50″ | Geauga County, OH |
| 01:10 | 1.50″ | St. Joseph County, MI |
| 06:15 | 1.50″ | Mille Lacs County, MN |
| 00:20 | 1.25″ | Kent County, MI |
| 15:10 | 1.00″ | Lafayette County, WI |
| 15:22 | 1.00″ | Beaver County, PA |
| 16:00 | 1.00″ | Allegheny County, PA |
| 16:11 | 1.00″ | Belmont County, OH |
| 19:25 | 1.00″ | Pitkin County, CO |
| 19:35 | 1.00″ | Fayette County, WV |
| 21:30 | 1.00″ | Clare County, MI |
| 00:15 | 1.00″ | St. Clair County, MI |
| 00:17 | 1.00″ | Lenawee County, MI |
| 00:20 | 1.00″ | Hillsdale County, MI |
| 04:48 | 1.00″ | Todd County, MN |
| 05:35 | 1.00″ | Morrison County, MN |
| 06:15 | 1.00″ | Benton County, MN |
| 06:20 | 1.00″ | Morrison County, MN |
| 06:50 | 1.00″ | Kanabec County, MN |
| 09:53 | 1.00″ | Florence County, WI |
| 10:45 | 1.00″ | Forest County, WI |
| 14:38 | 0.88″ | Lawrence County, PA |
| 14:40 | 0.88″ | Trumbull County, OH |
| 18:20 | 0.88″ | Aroostook County, ME |
| 01:10 | 0.88″ | Elkhart County, IN |
| 05:05 | 0.88″ | Stearns County, MN |
| 05:40 | 0.88″ | Stearns County, MN |
| 05:45 | 0.88″ | Benton County, MN |
| 09:50 | 0.88″ | Forest County, WI |
| 10:30 | 0.88″ | Iron County, MI |
| 13:25 | 0.75″ | Trumbull County, OH |
| 15:25 | 0.75″ | Medina County, OH |
| 15:30 | 0.75″ | Ashland County, OH |
| 18:17 | 0.75″ | Aroostook County, ME |
| 18:58 | 0.75″ | Doddridge County, WV |
| 20:50 | 0.75″ | Penobscot County, ME |
| 21:45 | 0.75″ | Gladwin County, MI |
| 22:10 | 0.75″ | Gladwin County, MI |
| 01:07 | 0.75″ | Monroe County, MI |
| 01:10 | 0.75″ | Clearwater County, MN |
| 01:24 | 0.75″ | Monroe County, MI |
| 03:45 | 0.75″ | Cuyahoga County, OH |
| 04:10 | 0.75″ | Summit County, OH |
| 04:15 | 0.75″ | Portage County, OH |
| 05:37 | 0.75″ | Crow Wing County, MN |
| 09:35 | 0.75″ | Ontonagon County, MI |
| 09:50 | 0.75″ | Marquette County, MI |
| 10:00 | 0.75″ | Gogebic County, MI |
| 10:36 | 0.75″ | Dickinson County, MI |
| 10:45 | 0.75″ | Menominee County, MI |
| 11:30 | 0.75″ | Menominee County, MI |
Damage, injuries and deaths
National Weather Service offices recorded about $2.8 million in property damage, $44,000 in crop damage, 8 injuries and 1 death from hail, thunderstorm wind and tornadoes across the US on this storm day (234 events in 20 states). Injuries and deaths are those the events caused directly.
| County | Events | Injuries | Deaths | Property damage |
|---|---|---|---|---|
| Waynesboro city, VA | 1 | 0 | 1 | $1,000 |
| Holmes County, OH | 2 | 4 | 0 | $85,000 |
| Garrard County, KY | 1 | 3 | 0 | $80,000 |
| Boone County, MO | 1 | 1 | 0 | – |
| Mohave County, AZ | 1 | 0 | 0 | $500,000 |
| Lawrence County, PA | 3 | 0 | 0 | $300,000 |
| Cuyahoga County, OH | 2 | 0 | 0 | $200,000 |
| Lake County, OH | 1 | 0 | 0 | $150,000 |
| Ashland County, OH | 1 | 0 | 0 | $125,000 |
| Summit County, OH | 2 | 0 | 0 | $115,000 |
| Kent County, MI | 1 | 0 | 0 | $100,000 |
| Trumbull County, OH | 4 | 0 | 0 | $95,000 |
What the National Weather Service wrote
- Waynesboro city, VA (near Waynesboro) · Thunderstorm wind · $1,000 · 1 death
“48 year old woman killed by falling tree” - Holmes County, OH (near Nashville) · Tornado F1 · $75,000 · 4 injuries
“A tornado touched down just north of Nashville near a campground and then traveled east along County Roads 316 and 329 to near Holmesville. From the initial touchdown eastward, the damage path was intermittent.” - Garrard County, KY (near Buckeye) · Thunderstorm wind 69 mph · $80,000 · 3 injuries
“A tied down house trailer was rolled about 100 feet into the middle of a road and was destroyed. The adult female and 2 children that were in the home at the time were treated for minor injuries. Also, damage occurred to several homes and barns. Trees were downed.” - Lawrence County, PA (near New Wilmington) · Thunderstorm wind 104 mph · $200,000
“A microburst occurred across the New Wilmington area. Winds estimated to just over 100 MPH occurred along a narrow and sporadic path from about 2 miles west of New Wilmington at the intersection of Routes 18 and 208 to 2.5 miles south of New Wilmington on Route 956.” - Cuyahoga County, OH (near Valley View) · Tornado F1 · $175,000
“The tornado touched down near Schrieber Road then travelled south into Summit County. The damage path was around four miles in length and was non-continuous. Approximately 200 trees were downed along the damage path.” - Lake County, OH (near Painesville) · Thunderstorm wind 60 mph · $150,000
“Many large trees downed in Painesville. One tree pierced the roof of a nursing home with branches ending up less than a foot away from an elderly woman laying in bed. Three classic cars were severely damaged when the garage they were in was destroyed by a fallen tree.”
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.