{
 "dataset": "Milwaukee, WI storm events — 12-month window, 25-mile radius (floods and special weather statements excluded, matching the city page)",
 "license": "https://www.stormauditor.com/data-license",
 "provenance": "Deduplicated by StormAuditor from public NOAA/NWS records (warnings, Local Storm Reports, NCEI Storm Events) under the published methodology at https://www.stormauditor.com/methodology",
 "refreshed_at": "2026-08-24T08:35:09.651+00:00",
 "window_days": 365,
 "event_count": 62,
 "fields": {
  "date": "Event date (YYYY-MM-DD, local storm day)",
  "county": "County or county-equivalent",
  "city": "Nearest city/place named in the source record",
  "event_type": "hazard tag: wind | hail | tornado | flood | lightning",
  "severity": "StormAuditor severity bucket (low|moderate|high|severe)",
  "evidence": "evidence level of the source record",
  "wind_mph": "reported/estimated wind gust, mph (blank if n/a)",
  "hail_in": "reported/estimated hail size, inches (blank if n/a)",
  "source": "originating public record (NWS warning, LSR, NCEI, ...)",
  "lat": "event latitude (WGS84, may be blank)",
  "lon": "event longitude (WGS84, may be blank)"
 },
 "events": [
  {
   "id": "iem-lsr-2026-08-18-wind-43.12--88.03",
   "lat": 43.12,
   "lon": -88.03,
   "zip": "",
   "city": "2 ENE Butler",
   "date": "2026-08-18",
   "county": "Milwaukee",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "wind",
   "confidence": 0.92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "AWOS station KMWC Milwaukee Timmerman Airport reports 56 mph winds during thunderstorm.",
   "sourceDetail": "NWS MKX — AWOS via Iowa Mesonet",
   "windSpeedMph": 56,
   "evidenceLevel": "observed"
  },
  {
   "id": "spc-2026-08-18-torn-43.22-1",
   "lat": 43.22,
   "lon": -88.23,
   "zip": "",
   "city": "1 SSW Hubertus",
   "date": "2026-08-18",
   "county": "Washington",
   "source": "SPC Storm Reports",
   "severity": "severe",
   "eventType": "tornado",
   "confidence": 0.93,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "tornado reported near 1 SSW Hubertus",
   "sourceDetail": "SPC filtered reports — 2026-08-18",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-08-10-hail-42.93--88.07",
   "lat": 42.93,
   "lon": -88.07,
   "zip": "",
   "city": "1 W Hales Corners",
   "date": "2026-08-10",
   "county": "Waukesha",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Report from mPING: Dime (0.75 in.).",
   "sourceDetail": "NWS MKX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.75
  },
  {
   "id": "iem-lsr-2026-08-09-hail-42.86--88.35",
   "lat": 42.86,
   "lon": -88.35,
   "zip": "",
   "city": "1 SW Mukwonago",
   "date": "2026-08-09",
   "county": "Waukesha",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near 1 SW Mukwonago",
   "sourceDetail": "NWS MKX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "spc-2026-08-09-hail-42.87-9",
   "lat": 42.87,
   "lon": -88.29,
   "zip": "",
   "city": "2 E Mukwonago",
   "date": "2026-08-09",
   "county": "Waukesha",
   "source": "SPC Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.93,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "hail reported near 2 E Mukwonago",
   "sourceDetail": "SPC filtered reports — 2026-08-09",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.25
  },
  {
   "id": "spc-2026-07-27-hail-42.76-19",
   "lat": 42.76,
   "lon": -88.22,
   "zip": "",
   "city": "Waterford",
   "date": "2026-07-27",
   "county": "Racine",
   "source": "SPC Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.93,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "hail reported near Waterford",
   "sourceDetail": "SPC filtered reports — 2026-07-27",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-07-27-hail-43.06--88.39",
   "lat": 43.06,
   "lon": -88.39,
   "zip": "",
   "city": "1 S Delafield",
   "date": "2026-07-27",
   "county": "Waukesha",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near 1 S Delafield",
   "sourceDetail": "NWS MKX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "asos-MKE-2026-07-27-26024",
   "lat": 42.9472,
   "lon": -87.8967,
   "zip": "",
   "city": "MILWAUKEE",
   "date": "2026-07-27",
   "county": "Milwaukee",
   "source": "IEM ASOS Station",
   "severity": "moderate",
   "eventType": "wind",
   "confidence": 0.95,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "MILWAUKEE (MKE) recorded a 53 mph gust.",
   "sourceDetail": "WI_ASOS automated observation — MILWAUKEE (MKE)",
   "windSpeedMph": 53,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-07-02-hail-43.30--88.11",
   "lat": 43.3,
   "lon": -88.11,
   "zip": "",
   "city": "3 ESE Jackson",
   "date": "2026-07-02",
   "county": "Washington",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Trained spotter reports 1 inch diameter hail in Jackson.",
   "sourceDetail": "NWS MKX — Trained Spotter via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-07-02-wind-43.14--88.11",
   "lat": 43.14,
   "lon": -88.11,
   "zip": "",
   "city": "1 SE Menomonee Falls",
   "date": "2026-07-02",
   "county": "Waukesha",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "Private weather station measures 64 MPH wind gust. Time confirmed from radar.",
   "sourceDetail": "NWS MKX — Public via Iowa Mesonet",
   "windSpeedMph": 64,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-06-11-wind-42.96--87.90",
   "lat": 42.96,
   "lon": -87.9,
   "zip": "",
   "city": "2 WSW Saint Francis",
   "date": "2026-06-11",
   "county": "Milwaukee",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "wind",
   "confidence": 0.92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "Mitchell airport.",
   "sourceDetail": "NWS MKX — ASOS via Iowa Mesonet",
   "windSpeedMph": 53,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-06-11-wind-42.76--87.81",
   "lat": 42.76,
   "lon": -87.81,
   "zip": "",
   "city": "2 WSW North Bay",
   "date": "2026-06-11",
   "county": "Racine",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "wind",
   "confidence": 0.92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "Racine airport.",
   "sourceDetail": "NWS MKX — ASOS via Iowa Mesonet",
   "windSpeedMph": 54,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-MKE-2026-06-11",
   "lat": 42.9472,
   "lon": -87.8967,
   "zip": "",
   "city": "MILWAUKEE",
   "date": "2026-06-11",
   "county": "Milwaukee",
   "source": "IEM ASOS Station",
   "severity": "moderate",
   "eventType": "wind",
   "confidence": 0.95,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "MILWAUKEE (MKE) recorded a 52 mph gust.",
   "sourceDetail": "WI_ASOS automated observation — MILWAUKEE (MKE) [365d backfill 2026-08]",
   "windSpeedMph": 52,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-RAC-2026-06-11",
   "lat": 42.7611,
   "lon": -87.8136,
   "zip": "",
   "city": "RACINE",
   "date": "2026-06-11",
   "county": "Racine",
   "source": "IEM ASOS Station",
   "severity": "moderate",
   "eventType": "wind",
   "confidence": 0.95,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "RACINE (RAC) recorded a 54 mph gust.",
   "sourceDetail": "WI_ASOS automated observation — RACINE (RAC) [365d backfill 2026-08]",
   "windSpeedMph": 54,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-MKE-2026-05-12",
   "lat": 42.9472,
   "lon": -87.8967,
   "zip": "",
   "city": "MILWAUKEE",
   "date": "2026-05-12",
   "county": "Milwaukee",
   "source": "IEM ASOS Station",
   "severity": "moderate",
   "eventType": "wind",
   "confidence": 0.95,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "MILWAUKEE (MKE) recorded a 50 mph gust.",
   "sourceDetail": "WI_ASOS automated observation — MILWAUKEE (MKE) [365d backfill 2026-08]",
   "windSpeedMph": 50,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-04-27-wind-42.96--87.91",
   "lat": 42.96,
   "lon": -87.91,
   "zip": "",
   "city": "2 WSW Saint Francis",
   "date": "2026-04-27",
   "county": "Milwaukee",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "More than 200 calls for downed trees and branches in Milwaukee. Some trees blocking roads_ and resting on homes and vehicles.",
   "sourceDetail": "NWS MKX — County Official via Iowa Mesonet",
   "windSpeedMph": 70,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-04-27-wind-42.96--87.90",
   "lat": 42.96,
   "lon": -87.9,
   "zip": "",
   "city": "KMKE Airport ASOS",
   "date": "2026-04-27",
   "county": "Milwaukee",
   "source": "IEM Local Storm Reports",
   "severity": "severe",
   "eventType": "wind",
   "confidence": 0.92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "ASOS Peak Wind Report_ 120-deg_ 67-kt_ 1832-zulu.",
   "sourceDetail": "NWS MKX — ASOS via Iowa Mesonet",
   "windSpeedMph": 77,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-MKE-2026-04-27",
   "lat": 42.9472,
   "lon": -87.8967,
   "zip": "",
   "city": "MILWAUKEE",
   "date": "2026-04-27",
   "county": "Milwaukee",
   "source": "IEM ASOS Station",
   "severity": "severe",
   "eventType": "wind",
   "confidence": 0.95,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "MILWAUKEE (MKE) recorded a 77 mph gust.",
   "sourceDetail": "WI_ASOS automated observation — MILWAUKEE (MKE) [365d backfill 2026-08]",
   "windSpeedMph": 77,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-04-21-hail-42.96--87.90",
   "lat": 42.96,
   "lon": -87.9,
   "zip": "",
   "city": "2 WSW Saint Francis",
   "date": "2026-04-21",
   "county": "Milwaukee",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Milwaukee Airport Observer pictures.",
   "sourceDetail": "NWS MKX — Official NWS Obs via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-04-21-hail-42.95--87.92",
   "lat": 42.95,
   "lon": -87.92,
   "zip": "",
   "city": "3 W Saint Francis",
   "date": "2026-04-21",
   "county": "Milwaukee",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Report from mPING: Quarter (1.00 in.).",
   "sourceDetail": "NWS MKX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-04-21-hail-42.79--88.05",
   "lat": 42.79,
   "lon": -88.05,
   "zip": "",
   "city": "6 E Wind Lake",
   "date": "2026-04-21",
   "county": "Racine",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near 6 E Wind Lake",
   "sourceDetail": "NWS MKX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.88
  },
  {
   "id": "iem-lsr-2026-04-21-hail-42.77--88.13",
   "lat": 42.77,
   "lon": -88.13,
   "zip": "",
   "city": "4 SE Wind Lake",
   "date": "2026-04-21",
   "county": "Racine",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Report from mPING: Quarter (1.00 in.).",
   "sourceDetail": "NWS MKX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-geo-2026-04-17-tornado-42.81--88.28",
   "lat": 42.81,
   "lon": -88.28,
   "zip": "",
   "city": "3 WNW Waterford North",
   "date": "2026-04-17",
   "county": "Racine",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "NWS Damage Survey concludes an EF-0 tornado occurred with estimated peak winds of 70 mph and a path width of 70 yards. This tornado began at the intersection of Wisconsin Hwy 83 and County Hwy O north of Waterford. This tornado then continued east, uprooting and snapping trees as well as lofting a porta-potty onto a building, before likely ending in the Tichigan State Wildlife Area. Time estimated from radar.",
   "sourceDetail": "NWS MKX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-04-17-tornado-42.85--88.15",
   "lat": 42.85,
   "lon": -88.15,
   "zip": "",
   "city": "2 N Wind Lake",
   "date": "2026-04-17",
   "county": "Waukesha",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "NWS Damage Survey concludes an EF-0 tornado occurred with estimated peak winds of 70 mph and a width of 75 yards. The tornado started near the intersection of Kelsey Drive and Keiser Lane. This tornado then headed northeast causing tree damage before ending in the Big Muskego Lake Wildlife Area northeast of Keiser Lane. Time estimated from radar.",
   "sourceDetail": "NWS MKX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-04-17-tornado-42.79--88.08",
   "lat": 42.79,
   "lon": -88.08,
   "zip": "",
   "city": "5 ESE Wind Lake",
   "date": "2026-04-17",
   "county": "Racine",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "NWS Damage Survey reported EF-0 Tornado, estimated peak winds of 80 mph. Began on west side of US-45 in northern Racine Co near North Cape and tracked northeast to 7 Mile Rd. Intermittent damage to a few trees, barn with portion of roof torn off and lofted. Time estimated from radar.",
   "sourceDetail": "NWS MKX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-04-17-tornado-42.82--88.07",
   "lat": 42.82,
   "lon": -88.07,
   "zip": "",
   "city": "4 E Wind Lake",
   "date": "2026-04-17",
   "county": "Racine",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "NWS Damage Survey reported EF-1 Tornado, estimated peak winds of 100 mph. Began on west side of US-45 in northern Racine Co and tracked northeast to County Line Rd on the south side of Franklin in Milwaukee County. Many snapped and uprooted trees, barn damage, house roof damage, and a warehouse lost 50 percent of its roof. Time estimated from radar.",
   "sourceDetail": "NWS MKX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-04-14-hail-43.20--88.27",
   "lat": 43.2,
   "lon": -88.27,
   "zip": "",
   "city": "3 SW Richfield",
   "date": "2026-04-14",
   "county": "Washington",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Report from mPING: Quarter (1.00 in.).",
   "sourceDetail": "NWS MKX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-04-14-hail-43.18--88.13",
   "lat": 43.18,
   "lon": -88.13,
   "zip": "",
   "city": "2 N Menomonee Falls",
   "date": "2026-04-14",
   "county": "Waukesha",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Photo from social media with a tape measure. Time estimate from radar.",
   "sourceDetail": "NWS MKX — Trained Spotter via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.25
  },
  {
   "id": "iem-lsr-2026-04-14-hail-43.19--88.25",
   "lat": 43.19,
   "lon": -88.25,
   "zip": "",
   "city": "3 S Richfield",
   "date": "2026-04-14",
   "county": "Waukesha",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near 3 S Richfield",
   "sourceDetail": "NWS MKX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.25
  },
  {
   "id": "iem-lsr-2026-04-14-hail-43.18--88.12",
   "lat": 43.18,
   "lon": -88.12,
   "zip": "",
   "city": "2 NNE Menomonee Falls",
   "date": "2026-04-14",
   "county": "Waukesha",
   "source": "IEM Local Storm Reports",
   "severity": "severe",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Photo from social media with a tape measure.",
   "sourceDetail": "NWS MKX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 2
  },
  {
   "id": "iem-lsr-2026-04-14-hail-43.11--88.05",
   "lat": 43.11,
   "lon": -88.05,
   "zip": "",
   "city": "1 E Butler",
   "date": "2026-04-14",
   "county": "Milwaukee",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Report from mPING: Quarter (1.00 in.).",
   "sourceDetail": "NWS MKX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-04-14-hail-43.22--88.10",
   "lat": 43.22,
   "lon": -88.1,
   "zip": "",
   "city": "1 SE Germantown",
   "date": "2026-04-14",
   "county": "Washington",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Photo from social media with coins. Time estimated from radar.",
   "sourceDetail": "NWS MKX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-04-14-hail-43.15--88.31",
   "lat": 43.15,
   "lon": -88.31,
   "zip": "",
   "city": "1 N Merton",
   "date": "2026-04-14",
   "county": "Waukesha",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Report from mPING: Ping Pong Ball (1.50 in.).",
   "sourceDetail": "NWS MKX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.5
  },
  {
   "id": "iem-lsr-2026-04-14-hail-43.17--88.10",
   "lat": 43.17,
   "lon": -88.1,
   "zip": "",
   "city": "2 NE Menomonee Falls",
   "date": "2026-04-14",
   "county": "Waukesha",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Report from mPING: Quarter (1.00 in.).",
   "sourceDetail": "NWS MKX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-04-14-hail-43.20--88.11",
   "lat": 43.2,
   "lon": -88.11,
   "zip": "",
   "city": "3 SSE Germantown",
   "date": "2026-04-14",
   "county": "Washington",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near 3 SSE Germantown",
   "sourceDetail": "NWS MKX — Amateur Radio via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.25
  },
  {
   "id": "iem-lsr-2026-04-14-hail-43.21--88.11",
   "lat": 43.21,
   "lon": -88.11,
   "zip": "",
   "city": "2 SSE Germantown",
   "date": "2026-04-14",
   "county": "Washington",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near 2 SSE Germantown",
   "sourceDetail": "NWS MKX — Amateur Radio via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-04-14-hail-43.18--88.12",
   "lat": 43.18,
   "lon": -88.12,
   "zip": "",
   "city": "2 N Menomonee Falls",
   "date": "2026-04-14",
   "county": "Waukesha",
   "source": "IEM Local Storm Reports",
   "severity": "severe",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Report from mPING: Hen Egg (2.00 in.).",
   "sourceDetail": "NWS MKX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 2
  },
  {
   "id": "iem-lsr-2026-04-14-wind-43.11--88.04",
   "lat": 43.11,
   "lon": -88.04,
   "zip": "",
   "city": "2 E Butler",
   "date": "2026-04-14",
   "county": "Milwaukee",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "Timmerman Airport AWOS.",
   "sourceDetail": "NWS MKX — AWOS via Iowa Mesonet",
   "windSpeedMph": 61,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-geo-2026-04-14-tornado-43.15--88.25",
   "lat": 43.15,
   "lon": -88.25,
   "zip": "",
   "city": "2 WNW Sussex",
   "date": "2026-04-14",
   "county": "Waukesha",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "NWS Storm Survey found EF2 tornado damage in the Town of Lisbon. Maximum winds 120 MPH. Path length 3.2 miles. Duration 6 minutes. Complete loss of roof on southern side of a building. Wind entered through garage door portal and lifted roof off. Small outbuilding destroyed. Shingles removed from other structures and garage doors pushed in. Trees uprooted and snapped.",
   "sourceDetail": "NWS MKX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-04-14-tornado-43.15--88.24",
   "lat": 43.15,
   "lon": -88.24,
   "zip": "",
   "city": "1 NW Sussex",
   "date": "2026-04-14",
   "county": "Waukesha",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "Radar confirmed. Time estimated by radar.",
   "sourceDetail": "NWS MKX — Trained Spotter via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "asos-bf-MKE-2026-04-14",
   "lat": 42.9472,
   "lon": -87.8967,
   "zip": "",
   "city": "MILWAUKEE",
   "date": "2026-04-14",
   "county": "Milwaukee",
   "source": "IEM ASOS Station",
   "severity": "moderate",
   "eventType": "wind",
   "confidence": 0.95,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "MILWAUKEE (MKE) recorded a 57 mph gust.",
   "sourceDetail": "WI_ASOS automated observation — MILWAUKEE (MKE) [365d backfill 2026-08]",
   "windSpeedMph": 57,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-UES-2026-04-14",
   "lat": 43.041,
   "lon": -88.2371,
   "zip": "",
   "city": "WAUKESHA CNTY",
   "date": "2026-04-14",
   "county": "Waukesha",
   "source": "IEM ASOS Station",
   "severity": "moderate",
   "eventType": "wind",
   "confidence": 0.95,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "WAUKESHA CNTY (UES) recorded a 56 mph gust.",
   "sourceDetail": "WI_ASOS automated observation — WAUKESHA CNTY (UES) [365d backfill 2026-08]",
   "windSpeedMph": 56,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-MWC-2026-04-14",
   "lat": 43.1104,
   "lon": -88.0344,
   "zip": "",
   "city": "MILWAUKEE/LAWREN",
   "date": "2026-04-14",
   "county": "Milwaukee",
   "source": "IEM ASOS Station",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.95,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "MILWAUKEE/LAWREN (MWC) recorded a 61 mph gust.",
   "sourceDetail": "WI_ASOS automated observation — MILWAUKEE/LAWREN (MWC) [365d backfill 2026-08]",
   "windSpeedMph": 61,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-03-31-wind-42.73--88.03",
   "lat": 42.73,
   "lon": -88.03,
   "zip": "",
   "city": "3 NNE Union Grove",
   "date": "2026-03-31",
   "county": "Racine",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "wind",
   "confidence": 0.92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "Wisconet site WIUGR (Yorkville) measured a wind gust of 51 mph.",
   "sourceDetail": "NWS MKX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 51,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-03-31-wind-42.77--87.82",
   "lat": 42.77,
   "lon": -87.82,
   "zip": "",
   "city": "2 W North Bay",
   "date": "2026-03-31",
   "county": "Racine",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "ASOS station KRAC Racine-Batten Airport.",
   "sourceDetail": "NWS MKX — ASOS via Iowa Mesonet",
   "windSpeedMph": 67,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-RAC-2026-03-31",
   "lat": 42.7611,
   "lon": -87.8136,
   "zip": "",
   "city": "RACINE",
   "date": "2026-03-31",
   "county": "Racine",
   "source": "IEM ASOS Station",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.95,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "RACINE (RAC) recorded a 66 mph gust.",
   "sourceDetail": "WI_ASOS automated observation — RACINE (RAC) [365d backfill 2026-08]",
   "windSpeedMph": 66,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-RAC-2026-03-22",
   "lat": 42.7611,
   "lon": -87.8136,
   "zip": "",
   "city": "RACINE",
   "date": "2026-03-22",
   "county": "Racine",
   "source": "IEM ASOS Station",
   "severity": "moderate",
   "eventType": "wind",
   "confidence": 0.95,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "RACINE (RAC) recorded a 50 mph gust.",
   "sourceDetail": "WI_ASOS automated observation — RACINE (RAC) [365d backfill 2026-08]",
   "windSpeedMph": 50,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-RAC-2026-03-16",
   "lat": 42.7611,
   "lon": -87.8136,
   "zip": "",
   "city": "RACINE",
   "date": "2026-03-16",
   "county": "Racine",
   "source": "IEM ASOS Station",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.95,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "RACINE (RAC) recorded a 58 mph gust.",
   "sourceDetail": "WI_ASOS automated observation — RACINE (RAC) [365d backfill 2026-08]",
   "windSpeedMph": 58,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-MKE-2026-03-16",
   "lat": 42.9472,
   "lon": -87.8967,
   "zip": "",
   "city": "MILWAUKEE",
   "date": "2026-03-16",
   "county": "Milwaukee",
   "source": "IEM ASOS Station",
   "severity": "moderate",
   "eventType": "wind",
   "confidence": 0.95,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "MILWAUKEE (MKE) recorded a 50 mph gust.",
   "sourceDetail": "WI_ASOS automated observation — MILWAUKEE (MKE) [365d backfill 2026-08]",
   "windSpeedMph": 50,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-MKE-2026-03-15",
   "lat": 42.9472,
   "lon": -87.8967,
   "zip": "",
   "city": "MILWAUKEE",
   "date": "2026-03-15",
   "county": "Milwaukee",
   "source": "IEM ASOS Station",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.95,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "MILWAUKEE (MKE) recorded a 60 mph gust.",
   "sourceDetail": "WI_ASOS automated observation — MILWAUKEE (MKE) [365d backfill 2026-08]",
   "windSpeedMph": 60,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-RAC-2026-03-15",
   "lat": 42.7611,
   "lon": -87.8136,
   "zip": "",
   "city": "RACINE",
   "date": "2026-03-15",
   "county": "Racine",
   "source": "IEM ASOS Station",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.95,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "RACINE (RAC) recorded a 63 mph gust.",
   "sourceDetail": "WI_ASOS automated observation — RACINE (RAC) [365d backfill 2026-08]",
   "windSpeedMph": 63,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-RAC-2026-03-13",
   "lat": 42.7611,
   "lon": -87.8136,
   "zip": "",
   "city": "RACINE",
   "date": "2026-03-13",
   "county": "Racine",
   "source": "IEM ASOS Station",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.95,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "RACINE (RAC) recorded a 61 mph gust.",
   "sourceDetail": "WI_ASOS automated observation — RACINE (RAC) [365d backfill 2026-08]",
   "windSpeedMph": 61,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-MWC-2026-03-13",
   "lat": 43.1104,
   "lon": -88.0344,
   "zip": "",
   "city": "MILWAUKEE/LAWREN",
   "date": "2026-03-13",
   "county": "Milwaukee",
   "source": "IEM ASOS Station",
   "severity": "moderate",
   "eventType": "wind",
   "confidence": 0.95,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "MILWAUKEE/LAWREN (MWC) recorded a 52 mph gust.",
   "sourceDetail": "WI_ASOS automated observation — MILWAUKEE/LAWREN (MWC) [365d backfill 2026-08]",
   "windSpeedMph": 52,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-UES-2026-03-13",
   "lat": 43.041,
   "lon": -88.2371,
   "zip": "",
   "city": "WAUKESHA CNTY",
   "date": "2026-03-13",
   "county": "Waukesha",
   "source": "IEM ASOS Station",
   "severity": "moderate",
   "eventType": "wind",
   "confidence": 0.95,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "WAUKESHA CNTY (UES) recorded a 53 mph gust.",
   "sourceDetail": "WI_ASOS automated observation — WAUKESHA CNTY (UES) [365d backfill 2026-08]",
   "windSpeedMph": 53,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-MKE-2026-03-13",
   "lat": 42.9472,
   "lon": -87.8967,
   "zip": "",
   "city": "MILWAUKEE",
   "date": "2026-03-13",
   "county": "Milwaukee",
   "source": "IEM ASOS Station",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.95,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "MILWAUKEE (MKE) recorded a 68 mph gust.",
   "sourceDetail": "WI_ASOS automated observation — MILWAUKEE (MKE) [365d backfill 2026-08]",
   "windSpeedMph": 68,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-03-10-hail-42.72--87.83",
   "lat": 42.72,
   "lon": -87.83,
   "zip": "",
   "city": "2 N Elmwood Park",
   "date": "2026-03-10",
   "county": "Racine",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Trained Spotter reports half to one inch sized hail.",
   "sourceDetail": "NWS MKX — Trained Spotter via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "asos-bf-MKE-2026-01-09",
   "lat": 42.9472,
   "lon": -87.8967,
   "zip": "",
   "city": "MILWAUKEE",
   "date": "2026-01-09",
   "county": "Milwaukee",
   "source": "IEM ASOS Station",
   "severity": "moderate",
   "eventType": "wind",
   "confidence": 0.95,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "MILWAUKEE (MKE) recorded a 50 mph gust.",
   "sourceDetail": "WI_ASOS automated observation — MILWAUKEE (MKE) [365d backfill 2026-08]",
   "windSpeedMph": 50,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-MKE-2025-11-26",
   "lat": 42.9472,
   "lon": -87.8967,
   "zip": "",
   "city": "MILWAUKEE",
   "date": "2025-11-26",
   "county": "Milwaukee",
   "source": "IEM ASOS Station",
   "severity": "moderate",
   "eventType": "wind",
   "confidence": 0.95,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "MILWAUKEE (MKE) recorded a 54 mph gust.",
   "sourceDetail": "WI_ASOS automated observation — MILWAUKEE (MKE) [365d backfill 2026-08]",
   "windSpeedMph": 54,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-RAC-2025-11-26",
   "lat": 42.7611,
   "lon": -87.8136,
   "zip": "",
   "city": "RACINE",
   "date": "2025-11-26",
   "county": "Racine",
   "source": "IEM ASOS Station",
   "severity": "moderate",
   "eventType": "wind",
   "confidence": 0.95,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "RACINE (RAC) recorded a 51 mph gust.",
   "sourceDetail": "WI_ASOS automated observation — RACINE (RAC) [365d backfill 2026-08]",
   "windSpeedMph": 51,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2025-09-22-hail-42.98--88.16",
   "lat": 42.98,
   "lon": -88.16,
   "zip": "",
   "city": "2 W New Berlin",
   "date": "2025-09-22",
   "county": "Waukesha",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Report from mPING: Dime (0.75 in.).",
   "sourceDetail": "NWS MKX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.75
  },
  {
   "id": "iem-lsr-2025-09-22-hail-42.93--88.07",
   "lat": 42.93,
   "lon": -88.07,
   "zip": "",
   "city": "1 W Hales Corners",
   "date": "2025-09-22",
   "county": "Waukesha",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Report from mPING: Dime (0.75 in.).",
   "sourceDetail": "NWS MKX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.75
  },
  {
   "id": "iem-lsr-2025-09-22-hail-42.90--88.02",
   "lat": 42.9,
   "lon": -88.02,
   "zip": "",
   "city": "1 NW Franklin",
   "date": "2025-09-22",
   "county": "Milwaukee",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Report from mPING: Dime (0.75 in.).",
   "sourceDetail": "NWS MKX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.75
  }
 ]
}