{
 "dataset": "Ames, IA storm events — 12-month window, 25-mile radius plus Story records (floods and special weather statements excluded, matching the city page)",
 "license": "https://www.stormauditor.com/data-license",
 "provenance": "Consolidated 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-09-20T10:10:20.982+00:00",
 "window_days": 365,
 "schema_version": "2.0.0",
 "event_count": 225,
 "fields": {
  "id": "stable event identifier (source-derived)",
  "date": "event date (YYYY-MM-DD, local storm day)",
  "county": "county or county-equivalent (may be blank)",
  "city": "place name from the source record (LSR names may carry a distance/direction prefix)",
  "zip": "ZIP code when the source provides one (may be blank)",
  "eventType": "hazard tag: wind | hail | tornado | flood | lightning",
  "severity": "StormAuditor severity bucket (low|moderate|high|severe)",
  "evidenceLevel": "evidence level of the source record (warning|observed|...)",
  "confidence": "StormAuditor confidence score for the record (0-1, may be absent)",
  "windSpeedMph": "reported/estimated wind gust, mph (absent if n/a)",
  "hailSizeInches": "reported/estimated hail size, inches (absent if n/a)",
  "tornadoScale": "EF-scale rating when the source provides one (absent if n/a)",
  "damageTypes": "damage tags from the source narrative (may be absent)",
  "description": "source narrative excerpt (may be absent)",
  "source": "originating public record (NWS warning, LSR, NCEI, ...)",
  "sourceDetail": "issuing office / product detail for the source (may be absent)",
  "originStation": "reporting station identifier when applicable (may be absent)",
  "warningProductKey": "NWS warning product key for warning-derived rows (may be absent)",
  "lat": "event latitude (WGS84, may be blank)",
  "lon": "event longitude (WGS84, may be blank)",
  "rawWindSpeedMph": "source-reported wind value before display screening, mph (may be absent)",
  "windSpeedDisclaimer": "set when the wind value is a warning-projected figure rather than a measurement (may be absent)"
 },
 "events": [
  {
   "id": "spc-2026-09-08-wind-41.83-2",
   "lat": 41.83,
   "lon": -93.8,
   "zip": "",
   "city": "3 SSE Madrid",
   "date": "2026-09-08",
   "county": "Polk",
   "source": "SPC Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.93,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "wind reported near 3 SSE Madrid",
   "sourceDetail": "SPC filtered reports — 2026-09-08",
   "windSpeedMph": 74,
   "evidenceLevel": "reported"
  },
  {
   "id": "spc-2026-09-08-wind-41.76-4",
   "lat": 41.76,
   "lon": -93.62,
   "zip": "",
   "city": "2 NW Ankeny",
   "date": "2026-09-08",
   "county": "Polk",
   "source": "SPC Storm Reports",
   "severity": "severe",
   "eventType": "wind",
   "confidence": 0.93,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "wind reported near 2 NW Ankeny",
   "sourceDetail": "SPC filtered reports — 2026-09-08",
   "windSpeedMph": 75,
   "evidenceLevel": "reported"
  },
  {
   "id": "nws-alert-ef7cd8aafaba52b4.001-Story-wind",
   "zip": "",
   "city": "Story",
   "date": "2026-09-08",
   "county": "Story",
   "source": "NWS Weather Alert",
   "severity": "high",
   "eventType": "wind",
   "confidence": 88,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "Severe Thunderstorm Warning for Story. Severe Thunderstorm Warning issued September 8 at 6:04PM CDT until September 8 at 6:30PM CDT by NWS Des Moines IA",
   "sourceDetail": "NWS Des Moines IA — Severe Thunderstorm Warning",
   "windSpeedMph": 70,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-333"
  },
  {
   "id": "iem-ww-DMX-SV-W-333-Story-hail-2026-09-08",
   "zip": "",
   "city": "Story",
   "date": "2026-09-08",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.72,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX for Story on 2026-09-08. Storm tag hail: 0.75\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning",
   "evidenceLevel": "warning",
   "hailSizeInches": 0.75,
   "warningProductKey": "DMX-SV-W-333"
  },
  {
   "id": "spc-2026-09-08-hail-41.73-1",
   "lat": 41.73,
   "lon": -93.6,
   "zip": "",
   "city": "Ankeny",
   "date": "2026-09-08",
   "county": "Polk",
   "source": "SPC Storm Reports",
   "severity": "severe",
   "eventType": "hail",
   "confidence": 0.93,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "hail reported near Ankeny",
   "sourceDetail": "SPC filtered reports — 2026-09-08",
   "evidenceLevel": "reported",
   "hailSizeInches": 2.25
  },
  {
   "id": "iem-lsr-2026-09-08-hail-41.74--93.55",
   "lat": 41.74,
   "lon": -93.55,
   "zip": "",
   "city": "2 E Ankeny",
   "date": "2026-09-08",
   "county": "Polk",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Trained spotter reported largest hail around 1.5 inches and minor siding damage.",
   "sourceDetail": "NWS DMX — Trained Spotter via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.5
  },
  {
   "id": "iem-lsr-2026-09-08-hail-41.70--93.48",
   "lat": 41.7,
   "lon": -93.48,
   "zip": "",
   "city": "1 NW Bondurant",
   "date": "2026-09-08",
   "county": "Polk",
   "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: Half Dollar (1.25 in.).",
   "sourceDetail": "NWS DMX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.25
  },
  {
   "id": "iem-lsr-2026-09-08-hail-41.70--93.54",
   "lat": 41.7,
   "lon": -93.54,
   "zip": "",
   "city": "4 SE Ankeny",
   "date": "2026-09-08",
   "county": "Polk",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Relayed public photo of a hailstone estimated at half dollar sized. Time and location also estimated.",
   "sourceDetail": "NWS DMX — Broadcast Media via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.25
  },
  {
   "id": "spc-2026-09-08-hail-41.70-2",
   "lat": 41.7,
   "lon": -93.48,
   "zip": "",
   "city": "1 NW Bondurant",
   "date": "2026-09-08",
   "county": "Polk",
   "source": "SPC Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.93,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "hail reported near 1 NW Bondurant",
   "sourceDetail": "SPC filtered reports — 2026-09-08",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.75
  },
  {
   "id": "iem-lsr-2026-09-08-wind-41.77--93.58",
   "lat": 41.77,
   "lon": -93.58,
   "zip": "",
   "city": "3 NNE Ankeny",
   "date": "2026-09-08",
   "county": "Polk",
   "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": "TSTM WND GST reported near 3 NNE Ankeny",
   "sourceDetail": "NWS DMX — Public via Iowa Mesonet",
   "windSpeedMph": 68,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-09-08-wind-41.76--93.57",
   "lat": 41.76,
   "lon": -93.57,
   "zip": "",
   "city": "3 NE Ankeny",
   "date": "2026-09-08",
   "county": "Polk",
   "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": "Ankeny RWIS site measured a 71 MPH gust.",
   "sourceDetail": "NWS DMX — Other Federal via Iowa Mesonet",
   "windSpeedMph": 71,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-08-13-wind-41.84--93.64",
   "lat": 41.84,
   "lon": -93.64,
   "zip": "",
   "city": "2 NW Alleman",
   "date": "2026-08-13",
   "county": "Polk",
   "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": "Measured from personal weather station.",
   "sourceDetail": "NWS DMX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 61,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-08-13-wind-41.74--93.76",
   "lat": 41.74,
   "lon": -93.76,
   "zip": "",
   "city": "3 SW Polk City",
   "date": "2026-08-13",
   "county": "Polk",
   "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": "Measured from personal weather station.",
   "sourceDetail": "NWS DMX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 59,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-ww-DMX-SV-W-322-Story-wind-2026-08-13",
   "zip": "",
   "city": "Story",
   "date": "2026-08-13",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.72,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "SV W for Story. Max wind tag: 60 mph.",
   "sourceDetail": "NWS DMX — SV/W",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-322"
  },
  {
   "id": "iem-ww-DMX-SV-W-322-Story-hail-2026-08-13",
   "zip": "",
   "city": "Story",
   "date": "2026-08-13",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.72,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "SV W for Story. Max hail tag: 0.75\".",
   "sourceDetail": "NWS DMX — SV/W",
   "evidenceLevel": "warning",
   "hailSizeInches": 0.75,
   "warningProductKey": "DMX-SV-W-322"
  },
  {
   "id": "nws-alert-a58c68cc347bc4e6.001-Story-wind",
   "zip": "",
   "city": "Story",
   "date": "2026-08-13",
   "county": "Story",
   "source": "NWS Weather Alert",
   "severity": "high",
   "eventType": "wind",
   "confidence": 88,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "Severe Thunderstorm Warning for Story. Severe Thunderstorm Warning issued August 13 at 7:11AM CDT until August 13 at 8:00AM CDT by NWS Des Moines IA",
   "sourceDetail": "NWS Des Moines IA — Severe Thunderstorm Warning",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-323"
  },
  {
   "id": "iem-ww-DMX-SV-W-323-Story-hail-2026-08-13",
   "zip": "",
   "city": "Story",
   "date": "2026-08-13",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.72,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "SV W for Story. Max hail tag: 0.75\".",
   "sourceDetail": "NWS DMX — SV/W",
   "evidenceLevel": "warning",
   "hailSizeInches": 0.75,
   "warningProductKey": "DMX-SV-W-323"
  },
  {
   "id": "nws-alert-8ef1c641b2dffd6f.001-Story-tornado",
   "zip": "",
   "city": "Story",
   "date": "2026-08-13",
   "county": "Story",
   "source": "NWS Weather Alert",
   "severity": "severe",
   "eventType": "tornado",
   "confidence": 88,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "Tornado Warning for Story (observed tornado). Tornado Warning issued August 13 at 7:12AM CDT until August 13 at 7:15AM CDT by NWS Des Moines IA",
   "sourceDetail": "NWS Des Moines IA — Tornado Warning",
   "evidenceLevel": "observed",
   "warningProductKey": "DMX-TO-W-78"
  },
  {
   "id": "iem-ww-DMX-TO-W-77-Story-tornado-2026-08-13",
   "zip": "",
   "city": "Story",
   "date": "2026-08-13",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "severe",
   "eventType": "tornado",
   "confidence": 0.85,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "TO W for Story.",
   "sourceDetail": "NWS DMX — TO/W",
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-TO-W-77"
  },
  {
   "id": "nws-alert-1f02e9b11d098ab1.001-Story-wind",
   "zip": "",
   "city": "Story",
   "date": "2026-08-12",
   "county": "Story",
   "source": "NWS Weather Alert",
   "severity": "high",
   "eventType": "wind",
   "confidence": 88,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "Severe Thunderstorm Warning for Story. Severe Thunderstorm Warning issued August 12 at 8:38AM CDT until August 12 at 9:00AM CDT by NWS Des Moines IA",
   "sourceDetail": "NWS Des Moines IA — Severe Thunderstorm Warning",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-318"
  },
  {
   "id": "iem-ww-DMX-SV-W-318-Story-hail-2026-08-12",
   "zip": "",
   "city": "Story",
   "date": "2026-08-12",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.72,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "SV W for Story. Max hail tag: 0.75\".",
   "sourceDetail": "NWS DMX — SV/W",
   "evidenceLevel": "warning",
   "hailSizeInches": 0.75,
   "warningProductKey": "DMX-SV-W-318"
  },
  {
   "id": "spc-2026-08-12-wind-41.84-160",
   "lat": 41.84,
   "lon": -93.64,
   "zip": "",
   "city": "2 NW Alleman",
   "date": "2026-08-12",
   "county": "Polk",
   "source": "SPC Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.93,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "wind reported near 2 NW Alleman",
   "sourceDetail": "SPC filtered reports — 2026-08-12",
   "windSpeedMph": 61,
   "evidenceLevel": "reported"
  },
  {
   "id": "nws-alert-9999ceb0f7822989.001-Story-wind",
   "zip": "",
   "city": "Story",
   "date": "2026-08-07",
   "county": "Story",
   "source": "NWS Weather Alert",
   "severity": "high",
   "eventType": "wind",
   "confidence": 72,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "Severe Thunderstorm Watch for Story. Severe Thunderstorm Watch issued August 7 at 1:41PM CDT until August 7 at 10:00PM CDT by NWS Des Moines IA",
   "sourceDetail": "NWS Des Moines IA — Severe Thunderstorm Watch",
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-A-541"
  },
  {
   "id": "iem-202607202207-hail-42.31--93.56",
   "lat": 42.31,
   "lon": -93.56,
   "zip": "",
   "city": "1 ENE Ellsworth",
   "date": "2026-07-20",
   "county": "Hamilton",
   "source": "IEM Local Storm Reports",
   "severity": "severe",
   "eventType": "hail",
   "confidence": 92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near 1 ENE Ellsworth, IA. Hail size: 2\".",
   "sourceDetail": "NWS DMX — Trained Spotter via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 2
  },
  {
   "id": "iem-202607202215-hail-42.22--93.50",
   "lat": 42.22,
   "lon": -93.5,
   "zip": "",
   "city": "4 N Roland",
   "date": "2026-07-20",
   "county": "Hamilton",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near 4 N Roland, IA. Hail size: 1.75\".",
   "sourceDetail": "NWS DMX — Trained Spotter via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.75
  },
  {
   "id": "iem-202607202219-hail-42.19--93.48",
   "lat": 42.19,
   "lon": -93.48,
   "zip": "",
   "city": "2 NNE Roland",
   "date": "2026-07-20",
   "county": "Story",
   "source": "IEM Local Storm Reports",
   "severity": "severe",
   "eventType": "hail",
   "confidence": 92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near 2 NNE Roland, IA. Hail size: 2.5\".",
   "sourceDetail": "NWS DMX — Storm Chaser via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 2.5
  },
  {
   "id": "iem-202607202226-hail-42.20--93.58",
   "lat": 42.2,
   "lon": -93.58,
   "zip": "",
   "city": "1 NE Story City",
   "date": "2026-07-20",
   "county": "Story",
   "source": "IEM Local Storm Reports",
   "severity": "severe",
   "eventType": "hail",
   "confidence": 92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near 1 NE Story City, IA. Hail size: 2.75\".",
   "sourceDetail": "NWS DMX — Storm Chaser via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 2.75
  },
  {
   "id": "iem-202607210001-hail-41.97--93.82",
   "lat": 41.97,
   "lon": -93.82,
   "zip": "",
   "city": "Luther",
   "date": "2026-07-20",
   "county": "Boone",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near Luther, IA. Hail size: 1\".",
   "sourceDetail": "NWS DMX — NWS Employee via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-202607210033-hail-41.78--93.59",
   "lat": 41.78,
   "lon": -93.59,
   "zip": "",
   "city": "3 SSE Alleman",
   "date": "2026-07-20",
   "county": "Polk",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near 3 SSE Alleman, IA. Hail size: 1\".",
   "sourceDetail": "NWS DMX — Trained Spotter via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-07-20-wind-42.02--93.54",
   "lat": 42.02,
   "lon": -93.54,
   "zip": "",
   "city": "4 E Ames",
   "date": "2026-07-20",
   "county": "Story",
   "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": "Measured from personal weather station.",
   "sourceDetail": "NWS DMX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 69,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-07-20-wind-42.10--93.64",
   "lat": 42.1,
   "lon": -93.64,
   "zip": "",
   "city": "1 ESE Gilbert",
   "date": "2026-07-20",
   "county": "Story",
   "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": "Measured from personal weather station.",
   "sourceDetail": "NWS DMX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 62,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-07-20-wind-41.74--93.64",
   "lat": 41.74,
   "lon": -93.64,
   "zip": "",
   "city": "2 W Ankeny",
   "date": "2026-07-20",
   "county": "Polk",
   "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": "Measured from personal weather station.",
   "sourceDetail": "NWS DMX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 58,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-geo-2026-07-20T21:55:00Z-tornado-42.34--93.73",
   "lat": 42.34,
   "lon": -93.73,
   "zip": "",
   "city": "4 S Kamrar",
   "date": "2026-07-20",
   "county": "Hamilton",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "tornado",
   "confidence": 92,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "TORNADO reported near 4 S Kamrar, IA. Reports of Tornado on the ground.",
   "sourceDetail": "NWS DMX — Law Enforcement via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "ww-DMX-SV-W-285-2026-07-20-Story-wind",
   "zip": "",
   "city": "",
   "date": "2026-07-20",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 70,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Hurricane wind damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-07-20. Duration: 23 min. Counties: Boone, Hamilton, Hardin, Story. Storm tags: wind: 60.0, hail: 1.0\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #285 (23 min)",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-285"
  },
  {
   "id": "ww-DMX-SV-W-285-2026-07-20-Story-hail",
   "zip": "",
   "city": "",
   "date": "2026-07-20",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 70,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-07-20. Duration: 23 min. Counties: Boone, Hamilton, Hardin, Story. Storm tags: wind: 60.0, hail: 1.0\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #285 (23 min)",
   "evidenceLevel": "warning",
   "hailSizeInches": 1,
   "warningProductKey": "DMX-SV-W-285"
  },
  {
   "id": "ww-DMX-SV-W-287-2026-07-20-Story-wind",
   "zip": "",
   "city": "",
   "date": "2026-07-20",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 70,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Hurricane wind damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-07-20. Duration: 48 min. Counties: Jasper, Marshall, Story. Storm tags: wind: 60.0, hail: 1.5\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #287 (48 min)",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-287"
  },
  {
   "id": "ww-DMX-SV-W-287-2026-07-20-Story-hail",
   "zip": "",
   "city": "",
   "date": "2026-07-20",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 70,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-07-20. Duration: 48 min. Counties: Jasper, Marshall, Story. Storm tags: wind: 60.0, hail: 1.5\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #287 (48 min)",
   "evidenceLevel": "warning",
   "hailSizeInches": 1.5,
   "warningProductKey": "DMX-SV-W-287"
  },
  {
   "id": "ww-DMX-SV-W-289-2026-07-20-Story-wind",
   "zip": "",
   "city": "",
   "date": "2026-07-20",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 70,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Hurricane wind damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-07-20. Duration: 26 min. Counties: Boone, Story. Storm tags: wind: 60.0, hail: 0.88\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #289 (26 min)",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-289"
  },
  {
   "id": "ww-DMX-SV-W-289-2026-07-20-Story-hail",
   "zip": "",
   "city": "",
   "date": "2026-07-20",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 70,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-07-20. Duration: 26 min. Counties: Boone, Story. Storm tags: wind: 60.0, hail: 0.88\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #289 (26 min)",
   "evidenceLevel": "warning",
   "hailSizeInches": 0.88,
   "warningProductKey": "DMX-SV-W-289"
  },
  {
   "id": "ww-DMX-SV-W-286-2026-07-20-Story-wind",
   "zip": "",
   "city": "",
   "date": "2026-07-20",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 70,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Hurricane wind damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-07-20. Duration: 51 min. Counties: Hardin, Boone, Hamilton, Marshall, Story. Storm tags: wind: 60.0, hail: 1.5\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #286 (51 min)",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-286"
  },
  {
   "id": "ww-DMX-SV-W-286-2026-07-20-Story-hail",
   "zip": "",
   "city": "",
   "date": "2026-07-20",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 70,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-07-20. Duration: 51 min. Counties: Hardin, Boone, Hamilton, Marshall, Story. Storm tags: wind: 60.0, hail: 1.5\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #286 (51 min)",
   "evidenceLevel": "warning",
   "hailSizeInches": 1.5,
   "warningProductKey": "DMX-SV-W-286"
  },
  {
   "id": "ww-DMX-SV-W-282-2026-07-20-Story-wind",
   "zip": "",
   "city": "",
   "date": "2026-07-20",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 70,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Hurricane wind damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-07-20. Duration: 47 min. Counties: Marshall, Story. Storm tags: wind: 60.0, hail: 2.75\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #282 (47 min)",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-282"
  },
  {
   "id": "ww-DMX-SV-W-282-2026-07-20-Story-hail",
   "zip": "",
   "city": "",
   "date": "2026-07-20",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 70,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-07-20. Duration: 47 min. Counties: Marshall, Story. Storm tags: wind: 60.0, hail: 2.75\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #282 (47 min)",
   "evidenceLevel": "warning",
   "hailSizeInches": 2.75,
   "warningProductKey": "DMX-SV-W-282"
  },
  {
   "id": "ww-DMX-SV-W-281-2026-07-20-Story-wind",
   "zip": "",
   "city": "",
   "date": "2026-07-20",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 70,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Hurricane wind damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-07-20. Duration: 45 min. Counties: Story, Hamilton, Hardin. Storm tags: wind: 60.0, hail: 2.0\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #281 (45 min)",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-281"
  },
  {
   "id": "ww-DMX-SV-W-281-2026-07-20-Story-hail",
   "zip": "",
   "city": "",
   "date": "2026-07-20",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 70,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-07-20. Duration: 45 min. Counties: Story, Hamilton, Hardin. Storm tags: wind: 60.0, hail: 2.0\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #281 (45 min)",
   "evidenceLevel": "warning",
   "hailSizeInches": 2,
   "warningProductKey": "DMX-SV-W-281"
  },
  {
   "id": "ww-DMX-SV-W-290-2026-07-20-Story-wind",
   "zip": "",
   "city": "",
   "date": "2026-07-20",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 70,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Hurricane wind damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-07-20. Duration: 43 min. Counties: Jasper, Polk, Boone, Story. Storm tags: wind: 70.0, hail: 1.0\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #290 (43 min)",
   "windSpeedMph": 70,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-290"
  },
  {
   "id": "ww-DMX-SV-W-290-2026-07-20-Story-hail",
   "zip": "",
   "city": "",
   "date": "2026-07-20",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 70,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-07-20. Duration: 43 min. Counties: Jasper, Polk, Boone, Story. Storm tags: wind: 70.0, hail: 1.0\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #290 (43 min)",
   "evidenceLevel": "warning",
   "hailSizeInches": 1,
   "warningProductKey": "DMX-SV-W-290"
  },
  {
   "id": "iem-ww-DMX-TO-W-72-Story-tornado-2026-07-20",
   "zip": "",
   "city": "Story",
   "date": "2026-07-20",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "severe",
   "eventType": "tornado",
   "confidence": 0.85,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "TO W for Story.",
   "sourceDetail": "NWS DMX — TO/W",
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-TO-W-72"
  },
  {
   "id": "asos-bf-AMW-2026-07-20",
   "lat": 41.9904,
   "lon": -93.6185,
   "zip": "",
   "city": "Ames",
   "date": "2026-07-20",
   "county": "Story",
   "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": "Ames (AMW) recorded a 56 mph gust.",
   "sourceDetail": "IA_ASOS automated observation — Ames (AMW) [365d backfill 2026-08]",
   "windSpeedMph": 56,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-202607202335-wind-42.02--93.54",
   "lat": 42.02,
   "lon": -93.54,
   "zip": "",
   "city": "4 E Ames",
   "date": "2026-07-20",
   "county": "Story",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "TSTM WND GST reported near 4 E Ames, IA. Peak gust: 67 mph.",
   "sourceDetail": "NWS DMX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 67,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-202607202343-wind-42.10--93.64",
   "lat": 42.1,
   "lon": -93.64,
   "zip": "",
   "city": "1 ESE Gilbert",
   "date": "2026-07-20",
   "county": "Story",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "TSTM WND GST reported near 1 ESE Gilbert, IA. Peak gust: 71 mph.",
   "sourceDetail": "NWS DMX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 71,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-202607202346-wind-42.02--93.54",
   "lat": 42.02,
   "lon": -93.54,
   "zip": "",
   "city": "4 E Ames",
   "date": "2026-07-20",
   "county": "Story",
   "source": "IEM Local Storm Reports",
   "severity": "severe",
   "eventType": "wind",
   "confidence": 92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "TSTM WND GST reported near 4 E Ames, IA. Peak gust: 79 mph.",
   "sourceDetail": "NWS DMX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 79,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-202607210018-wind-41.74--93.64",
   "lat": 41.74,
   "lon": -93.64,
   "zip": "",
   "city": "2 W Ankeny",
   "date": "2026-07-20",
   "county": "Polk",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "TSTM WND GST reported near 2 W Ankeny, IA. Peak gust: 67 mph.",
   "sourceDetail": "NWS DMX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 67,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-07-20-wind-42.02--93.54",
   "lat": 42.02,
   "lon": -93.54,
   "zip": "",
   "city": "4 E Ames",
   "date": "2026-07-20",
   "county": "Story",
   "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": "Measured from personal weather station.",
   "sourceDetail": "NWS DMX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 58,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-202607022225-hail-41.82--93.78",
   "lat": 41.82,
   "lon": -93.78,
   "zip": "",
   "city": "4 NW Polk City",
   "date": "2026-07-02",
   "county": "Polk",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near 4 NW Polk City, IA. Hail size: 1\".",
   "sourceDetail": "NWS DMX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "ww-DMX-SV-W-253-2026-07-02-Story-wind",
   "zip": "",
   "city": "",
   "date": "2026-07-02",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 70,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Hurricane wind damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-07-02. Duration: 25 min. Counties: Boone, Hamilton, Story, Webster, Jasper, Marshall, Polk. Storm tags: wind: 60.0, hail: 1.0\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #253 (25 min)",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-253"
  },
  {
   "id": "ww-DMX-SV-W-253-2026-07-02-Story-hail",
   "zip": "",
   "city": "",
   "date": "2026-07-02",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 70,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-07-02. Duration: 25 min. Counties: Boone, Hamilton, Story, Webster, Jasper, Marshall, Polk. Storm tags: wind: 60.0, hail: 1.0\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #253 (25 min)",
   "evidenceLevel": "warning",
   "hailSizeInches": 1,
   "warningProductKey": "DMX-SV-W-253"
  },
  {
   "id": "ww-DMX-SV-W-258-2026-07-02-Story-wind",
   "zip": "",
   "city": "",
   "date": "2026-07-02",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 70,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Hurricane wind damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-07-02. Duration: 32 min. Counties: Boone, Story, Polk. Storm tags: wind: 60.0, hail: 0.88\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #258 (32 min)",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-258"
  },
  {
   "id": "ww-DMX-SV-W-258-2026-07-02-Story-hail",
   "zip": "",
   "city": "",
   "date": "2026-07-02",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 70,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-07-02. Duration: 32 min. Counties: Boone, Story, Polk. Storm tags: wind: 60.0, hail: 0.88\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #258 (32 min)",
   "evidenceLevel": "warning",
   "hailSizeInches": 0.88,
   "warningProductKey": "DMX-SV-W-258"
  },
  {
   "id": "ww-DMX-SV-W-260-2026-07-02-Story-wind",
   "zip": "",
   "city": "",
   "date": "2026-07-02",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 70,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Hurricane wind damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-07-02. Duration: 20 min. Counties: Jasper, Marshall, Polk, Story. Storm tags: wind: 60.0, hail: 0.75\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #260 (20 min)",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-260"
  },
  {
   "id": "ww-DMX-SV-W-260-2026-07-02-Story-hail",
   "zip": "",
   "city": "",
   "date": "2026-07-02",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 70,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-07-02. Duration: 20 min. Counties: Jasper, Marshall, Polk, Story. Storm tags: wind: 60.0, hail: 0.75\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #260 (20 min)",
   "evidenceLevel": "warning",
   "hailSizeInches": 0.75,
   "warningProductKey": "DMX-SV-W-260"
  },
  {
   "id": "ww-DMX-SV-W-252-2026-07-02-Story-wind",
   "zip": "",
   "city": "",
   "date": "2026-07-02",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 70,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Hurricane wind damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-07-02. Duration: 45 min. Counties: Story, Hamilton, Hardin, Boone, Marshall, Webster, Wright. Storm tags: wind: 60.0, hail: 1.5\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #252 (45 min)",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-252"
  },
  {
   "id": "ww-DMX-SV-W-252-2026-07-02-Story-hail",
   "zip": "",
   "city": "",
   "date": "2026-07-02",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 70,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-07-02. Duration: 45 min. Counties: Story, Hamilton, Hardin, Boone, Marshall, Webster, Wright. Storm tags: wind: 60.0, hail: 1.5\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #252 (45 min)",
   "evidenceLevel": "warning",
   "hailSizeInches": 1.5,
   "warningProductKey": "DMX-SV-W-252"
  },
  {
   "id": "ww-DMX-SV-W-259-2026-07-02-Story-wind",
   "zip": "",
   "city": "",
   "date": "2026-07-02",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 70,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Hurricane wind damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-07-02. Duration: 30 min. Counties: Polk, Story. Storm tags: wind: 60.0, hail: 0.75\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #259 (30 min)",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-259"
  },
  {
   "id": "ww-DMX-SV-W-259-2026-07-02-Story-hail",
   "zip": "",
   "city": "",
   "date": "2026-07-02",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 70,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-07-02. Duration: 30 min. Counties: Polk, Story. Storm tags: wind: 60.0, hail: 0.75\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #259 (30 min)",
   "evidenceLevel": "warning",
   "hailSizeInches": 0.75,
   "warningProductKey": "DMX-SV-W-259"
  },
  {
   "id": "ww-DMX-SV-W-257-2026-07-02-Story-wind",
   "zip": "",
   "city": "",
   "date": "2026-07-02",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 70,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Hurricane wind damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-07-02. Duration: 44 min. Counties: Polk, Story, Dallas, Boone. Storm tags: wind: 60.0, hail: 1.0\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #257 (44 min)",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-257"
  },
  {
   "id": "ww-DMX-SV-W-257-2026-07-02-Story-hail",
   "zip": "",
   "city": "",
   "date": "2026-07-02",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 70,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-07-02. Duration: 44 min. Counties: Polk, Story, Dallas, Boone. Storm tags: wind: 60.0, hail: 1.0\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #257 (44 min)",
   "evidenceLevel": "warning",
   "hailSizeInches": 1,
   "warningProductKey": "DMX-SV-W-257"
  },
  {
   "id": "fema-4942-Story",
   "zip": "",
   "city": "Story",
   "date": "2026-07-01",
   "county": "Story",
   "source": "FEMA Declaration",
   "severity": "moderate",
   "eventType": "wind",
   "confidence": 0.95,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "Federal disaster declaration: SEVERE STORMS AND FLOODING",
   "sourceDetail": "FEMA DR-4942: SEVERE STORMS AND FLOODING",
   "evidenceLevel": "official_backfill"
  },
  {
   "id": "iem-lsr-2026-06-17-wind-42.35--93.71",
   "lat": 42.35,
   "lon": -93.71,
   "zip": "",
   "city": "3 SSE Kamrar",
   "date": "2026-06-17",
   "county": "Hamilton",
   "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": "PWS gust.",
   "sourceDetail": "NWS DMX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 63,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-06-17-wind-42.24--93.30",
   "lat": 42.24,
   "lon": -93.3,
   "zip": "",
   "city": "5 S Hubbard",
   "date": "2026-06-17",
   "county": "Hardin",
   "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": "PWS gust.",
   "sourceDetail": "NWS DMX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 59,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-06-17-wind-42.17--93.21",
   "lat": 42.17,
   "lon": -93.21,
   "zip": "",
   "city": "3 NNW Saint Anthony",
   "date": "2026-06-17",
   "county": "Marshall",
   "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": "PWS gust.",
   "sourceDetail": "NWS DMX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 75,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-06-17-wind-42.08--93.63",
   "lat": 42.08,
   "lon": -93.63,
   "zip": "",
   "city": "2 SSE Gilbert",
   "date": "2026-06-17",
   "county": "Story",
   "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": "PWS gust.",
   "sourceDetail": "NWS DMX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 60,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-06-17-wind-42.02--93.45",
   "lat": 42.02,
   "lon": -93.45,
   "zip": "",
   "city": "Nevada",
   "date": "2026-06-17",
   "county": "Story",
   "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": "Delayed report. Estimated peak wind gust in Nevada.",
   "sourceDetail": "NWS DMX — Trained Spotter via Iowa Mesonet",
   "windSpeedMph": 60,
   "evidenceLevel": "reported"
  },
  {
   "id": "ww-DMX-SV-W-235-2026-06-17-Story-wind",
   "zip": "",
   "city": "",
   "date": "2026-06-17",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 70,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Hurricane wind damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-06-17. Duration: 41 min. Counties: Franklin, Jasper, Marshall, Polk, Boone, Story. Storm tags: wind: 60.0, hail: 0.88\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #235 (41 min)",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-235"
  },
  {
   "id": "ww-DMX-SV-W-235-2026-06-17-Story-hail",
   "zip": "",
   "city": "",
   "date": "2026-06-17",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 70,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-06-17. Duration: 41 min. Counties: Franklin, Jasper, Marshall, Polk, Boone, Story. Storm tags: wind: 60.0, hail: 0.88\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #235 (41 min)",
   "evidenceLevel": "warning",
   "hailSizeInches": 0.88,
   "warningProductKey": "DMX-SV-W-235"
  },
  {
   "id": "asos-bf-AMW-2026-06-17",
   "lat": 41.9904,
   "lon": -93.6185,
   "zip": "",
   "city": "Ames",
   "date": "2026-06-17",
   "county": "Story",
   "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": "Ames (AMW) recorded a 54 mph gust.",
   "sourceDetail": "IA_ASOS automated observation — Ames (AMW) [365d backfill 2026-08]",
   "windSpeedMph": 54,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-202606171002-wind-42.35--93.71",
   "lat": 42.35,
   "lon": -93.71,
   "zip": "",
   "city": "3 SSE Kamrar",
   "date": "2026-06-17",
   "county": "Hamilton",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "TSTM WND GST reported near 3 SSE Kamrar, IA. Peak gust: 72 mph.",
   "sourceDetail": "NWS DMX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 72,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-202606171022-wind-42.24--93.30",
   "lat": 42.24,
   "lon": -93.3,
   "zip": "",
   "city": "5 S Hubbard",
   "date": "2026-06-17",
   "county": "Hardin",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "TSTM WND GST reported near 5 S Hubbard, IA. Peak gust: 68 mph.",
   "sourceDetail": "NWS DMX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 68,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-202606171028-wind-42.17--93.21",
   "lat": 42.17,
   "lon": -93.21,
   "zip": "",
   "city": "3 NNW Saint Anthony",
   "date": "2026-06-17",
   "county": "Marshall",
   "source": "IEM Local Storm Reports",
   "severity": "severe",
   "eventType": "wind",
   "confidence": 92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "TSTM WND GST reported near 3 NNW Saint Anthony, IA. Peak gust: 86 mph.",
   "sourceDetail": "NWS DMX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 86,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-202606171029-wind-42.08--93.63",
   "lat": 42.08,
   "lon": -93.63,
   "zip": "",
   "city": "2 SSE Gilbert",
   "date": "2026-06-17",
   "county": "Story",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "TSTM WND GST reported near 2 SSE Gilbert, IA. Peak gust: 69 mph.",
   "sourceDetail": "NWS DMX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 69,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-202606171040-wind-42.02--93.45",
   "lat": 42.02,
   "lon": -93.45,
   "zip": "",
   "city": "Nevada",
   "date": "2026-06-17",
   "county": "Story",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "TSTM WND GST reported near Nevada, IA. Peak gust: 69 mph.",
   "sourceDetail": "NWS DMX — Trained Spotter via Iowa Mesonet",
   "windSpeedMph": 69,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-ww-DMX-SV-W-234-Story-wind-2026-06-17",
   "zip": "",
   "city": "Story",
   "date": "2026-06-17",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.72,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX for Story on 2026-06-17. Storm tag wind: 70 mph. This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning",
   "windSpeedMph": 70,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-234"
  },
  {
   "id": "iem-ww-DMX-SV-W-234-Story-hail-2026-06-17",
   "zip": "",
   "city": "Story",
   "date": "2026-06-17",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.72,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX for Story on 2026-06-17. Storm tag hail: 0.88\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning",
   "evidenceLevel": "warning",
   "hailSizeInches": 0.88,
   "warningProductKey": "DMX-SV-W-234"
  },
  {
   "id": "iem-ww-DMX-SV-W-232-Story-wind-2026-06-17",
   "zip": "",
   "city": "Story",
   "date": "2026-06-17",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.72,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX for Story on 2026-06-17. Storm tag wind: 70 mph. This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning",
   "windSpeedMph": 70,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-232"
  },
  {
   "id": "iem-ww-DMX-SV-W-232-Story-hail-2026-06-17",
   "zip": "",
   "city": "Story",
   "date": "2026-06-17",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.72,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX for Story on 2026-06-17. Storm tag hail: 1\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning",
   "evidenceLevel": "warning",
   "hailSizeInches": 1,
   "warningProductKey": "DMX-SV-W-232"
  },
  {
   "id": "spc-2026-06-16-216-1002",
   "lat": 42.35,
   "lon": -93.71,
   "zip": "",
   "city": "Kamrar",
   "date": "2026-06-16",
   "county": "Hamilton",
   "source": "SPC Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 90,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "PWS gust. (DMX)",
   "sourceDetail": "Storm Prediction Center verified report",
   "windSpeedMph": 63,
   "evidenceLevel": "reported"
  },
  {
   "id": "spc-2026-06-16-217-1022",
   "lat": 42.24,
   "lon": -93.3,
   "zip": "",
   "city": "Hubbard",
   "date": "2026-06-16",
   "county": "Hardin",
   "source": "SPC Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 90,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "PWS gust. (DMX)",
   "sourceDetail": "Storm Prediction Center verified report",
   "windSpeedMph": 59,
   "evidenceLevel": "reported"
  },
  {
   "id": "spc-2026-06-16-218-1028",
   "lat": 42.17,
   "lon": -93.21,
   "zip": "",
   "city": "Saint Anthony",
   "date": "2026-06-16",
   "county": "Marshall",
   "source": "SPC Storm Reports",
   "severity": "severe",
   "eventType": "wind",
   "confidence": 90,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "PWS gust. (DMX)",
   "sourceDetail": "Storm Prediction Center verified report",
   "windSpeedMph": 75,
   "evidenceLevel": "reported"
  },
  {
   "id": "spc-2026-06-16-219-1029",
   "lat": 42.08,
   "lon": -93.63,
   "zip": "",
   "city": "Gilbert",
   "date": "2026-06-16",
   "county": "Story",
   "source": "SPC Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 90,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "PWS gust. (DMX)",
   "sourceDetail": "Storm Prediction Center verified report",
   "windSpeedMph": 60,
   "evidenceLevel": "reported"
  },
  {
   "id": "spc-2026-06-16-222-1040",
   "lat": 42.02,
   "lon": -93.45,
   "zip": "",
   "city": "Nevada",
   "date": "2026-06-16",
   "county": "Story",
   "source": "SPC Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 90,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "Delayed report. Estimated peak wind gust in Nevada. (DMX)",
   "sourceDetail": "Storm Prediction Center verified report",
   "windSpeedMph": 60,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-06-11-wind-41.99--93.62",
   "lat": 41.99,
   "lon": -93.62,
   "zip": "",
   "city": "2 S Ames",
   "date": "2026-06-11",
   "county": "Story",
   "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": "Delayed entry - measured from KAMW.",
   "sourceDetail": "NWS DMX — ASOS via Iowa Mesonet",
   "windSpeedMph": 72,
   "evidenceLevel": "observed"
  },
  {
   "id": "ww-DMX-SV-W-217-2026-06-11-Story-wind",
   "zip": "",
   "city": "",
   "date": "2026-06-11",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 70,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Hurricane wind damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-06-11. Duration: 52 min. Counties: Hamilton, Hardin, Marshall, Story, Butler, Franklin, Wright, Grundy, Lucas, Mahaska, Marion, Monroe, Wapello, Warren. Storm tags: wind: 70.0, hail: 1.25\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #217 (52 min)",
   "windSpeedMph": 70,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-217"
  },
  {
   "id": "ww-DMX-SV-W-217-2026-06-11-Story-hail",
   "zip": "",
   "city": "",
   "date": "2026-06-11",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 70,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-06-11. Duration: 52 min. Counties: Hamilton, Hardin, Marshall, Story, Butler, Franklin, Wright, Grundy, Lucas, Mahaska, Marion, Monroe, Wapello, Warren. Storm tags: wind: 70.0, hail: 1.25\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #217 (52 min)",
   "evidenceLevel": "warning",
   "hailSizeInches": 1.25,
   "warningProductKey": "DMX-SV-W-217"
  },
  {
   "id": "iem-ww-DMX-TO-W-66-Story-tornado-2026-06-11",
   "zip": "",
   "city": "Story",
   "date": "2026-06-11",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "severe",
   "eventType": "tornado",
   "confidence": 0.85,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "TO W for Story.",
   "sourceDetail": "NWS DMX — TO/W",
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-TO-W-66"
  },
  {
   "id": "asos-bf-AMW-2026-06-11",
   "lat": 41.9904,
   "lon": -93.6185,
   "zip": "",
   "city": "Ames",
   "date": "2026-06-11",
   "county": "Story",
   "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": "Ames (AMW) recorded a 73 mph gust.",
   "sourceDetail": "IA_ASOS automated observation — Ames (AMW) [365d backfill 2026-08]",
   "windSpeedMph": 73,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-BNW-2026-06-11",
   "lat": 42.0486,
   "lon": -93.8486,
   "zip": "",
   "city": "BOONE MUNI",
   "date": "2026-06-11",
   "county": "Boone",
   "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": "BOONE MUNI (BNW) recorded a 55 mph gust.",
   "sourceDetail": "IA_ASOS automated observation — BOONE MUNI (BNW) [365d backfill 2026-08]",
   "windSpeedMph": 55,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-202606111253-wind-41.99--93.62",
   "lat": 41.99,
   "lon": -93.62,
   "zip": "",
   "city": "2 S Ames",
   "date": "2026-06-11",
   "county": "Story",
   "source": "IEM Local Storm Reports",
   "severity": "severe",
   "eventType": "wind",
   "confidence": 92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "TSTM WND GST reported near 2 S Ames, IA. Peak gust: 83 mph.",
   "sourceDetail": "NWS DMX — ASOS via Iowa Mesonet",
   "windSpeedMph": 83,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-ww-DMX-SV-W-216-Story-wind-2026-06-11",
   "zip": "",
   "city": "Story",
   "date": "2026-06-11",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.72,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "SV W for Story. Max wind tag: 60 mph.",
   "sourceDetail": "NWS DMX — SV/W",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-216"
  },
  {
   "id": "iem-ww-DMX-SV-W-216-Story-hail-2026-06-11",
   "zip": "",
   "city": "Story",
   "date": "2026-06-11",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.72,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "SV W for Story. Max hail tag: 0.88\".",
   "sourceDetail": "NWS DMX — SV/W",
   "evidenceLevel": "warning",
   "hailSizeInches": 0.88,
   "warningProductKey": "DMX-SV-W-216"
  },
  {
   "id": "iem-ww-DMX-SV-W-218-Story-wind-2026-06-11",
   "zip": "",
   "city": "Story",
   "date": "2026-06-11",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.72,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "SV W for Story. Max wind tag: 60 mph.",
   "sourceDetail": "NWS DMX — SV/W",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-218"
  },
  {
   "id": "iem-ww-DMX-SV-W-218-Story-hail-2026-06-11",
   "zip": "",
   "city": "Story",
   "date": "2026-06-11",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.72,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "SV W for Story. Max hail tag: 0.88\".",
   "sourceDetail": "NWS DMX — SV/W",
   "evidenceLevel": "warning",
   "hailSizeInches": 0.88,
   "warningProductKey": "DMX-SV-W-218"
  },
  {
   "id": "iem-ww-DMX-SV-W-220-Story-wind-2026-06-11",
   "zip": "",
   "city": "Story",
   "date": "2026-06-11",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.72,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX for Story on 2026-06-11. Storm tag wind: 70 mph. This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning",
   "windSpeedMph": 70,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-220"
  },
  {
   "id": "iem-ww-DMX-SV-W-220-Story-hail-2026-06-11",
   "zip": "",
   "city": "Story",
   "date": "2026-06-11",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.72,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX for Story on 2026-06-11. Storm tag hail: 0.88\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning",
   "evidenceLevel": "warning",
   "hailSizeInches": 0.88,
   "warningProductKey": "DMX-SV-W-220"
  },
  {
   "id": "iem-lsr-2026-06-10-wind-42.22--93.46",
   "lat": 42.22,
   "lon": -93.46,
   "zip": "",
   "city": "4 NNE Roland",
   "date": "2026-06-10",
   "county": "Hardin",
   "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": "Delayed report. Peak wind gust from personal weather station.",
   "sourceDetail": "NWS DMX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 69,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-06-10-wind-42.26--93.35",
   "lat": 42.26,
   "lon": -93.35,
   "zip": "",
   "city": "4 SW Hubbard",
   "date": "2026-06-10",
   "county": "Hardin",
   "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": "Delayed report. Peak wind gust from a personal weather station.",
   "sourceDetail": "NWS DMX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 67,
   "evidenceLevel": "observed"
  },
  {
   "id": "ww-DMX-SV-W-206-2026-06-10-Story-wind",
   "zip": "",
   "city": "",
   "date": "2026-06-10",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 70,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Hurricane wind damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-06-10. Duration: 42 min. Counties: Webster, Boone, Greene, Hamilton, Story. Storm tags: wind: 60.0, hail: 1.0\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #206 (42 min)",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-206"
  },
  {
   "id": "ww-DMX-SV-W-206-2026-06-10-Story-hail",
   "zip": "",
   "city": "",
   "date": "2026-06-10",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 70,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-06-10. Duration: 42 min. Counties: Webster, Boone, Greene, Hamilton, Story. Storm tags: wind: 60.0, hail: 1.0\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #206 (42 min)",
   "evidenceLevel": "warning",
   "hailSizeInches": 1,
   "warningProductKey": "DMX-SV-W-206"
  },
  {
   "id": "iem-202606101546-wind-42.22--93.46",
   "lat": 42.22,
   "lon": -93.46,
   "zip": "",
   "city": "4 NNE Roland",
   "date": "2026-06-10",
   "county": "Hardin",
   "source": "IEM Local Storm Reports",
   "severity": "severe",
   "eventType": "wind",
   "confidence": 92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "TSTM WND GST reported near 4 NNE Roland, IA. Peak gust: 79 mph.",
   "sourceDetail": "NWS DMX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 79,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-202606101600-wind-42.26--93.35",
   "lat": 42.26,
   "lon": -93.35,
   "zip": "",
   "city": "4 SW Hubbard",
   "date": "2026-06-10",
   "county": "Hardin",
   "source": "IEM Local Storm Reports",
   "severity": "severe",
   "eventType": "wind",
   "confidence": 92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "TSTM WND GST reported near 4 SW Hubbard, IA. Peak gust: 77 mph.",
   "sourceDetail": "NWS DMX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 77,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-ww-DMX-SV-W-196-Story-wind-2026-06-10",
   "zip": "",
   "city": "Story",
   "date": "2026-06-10",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.72,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "SV W for Story. Max wind tag: 60 mph.",
   "sourceDetail": "NWS DMX — SV/W",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-196"
  },
  {
   "id": "iem-ww-DMX-SV-W-196-Story-hail-2026-06-10",
   "zip": "",
   "city": "Story",
   "date": "2026-06-10",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.72,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "SV W for Story. Max hail tag: 0.75\".",
   "sourceDetail": "NWS DMX — SV/W",
   "evidenceLevel": "warning",
   "hailSizeInches": 0.75,
   "warningProductKey": "DMX-SV-W-196"
  },
  {
   "id": "iem-ww-DMX-SV-W-195-Story-wind-2026-06-06",
   "zip": "",
   "city": "Story",
   "date": "2026-06-06",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.72,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "SV W for Story. Max wind tag: 60 mph.",
   "sourceDetail": "NWS DMX — SV/W",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-195"
  },
  {
   "id": "iem-ww-DMX-SV-W-195-Story-hail-2026-06-06",
   "zip": "",
   "city": "Story",
   "date": "2026-06-06",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.72,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "SV W for Story. Max hail tag: 1\".",
   "sourceDetail": "NWS DMX — SV/W",
   "evidenceLevel": "warning",
   "hailSizeInches": 1,
   "warningProductKey": "DMX-SV-W-195"
  },
  {
   "id": "ww-DMX-SV-W-179-2026-05-18-Story-wind",
   "zip": "",
   "city": "",
   "date": "2026-05-18",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 70,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Hurricane wind damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-05-18. Duration: 52 min. Counties: Jasper, Marshall, Polk, Story. Storm tags: wind: 60.0, hail: 0.88\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #179 (52 min)",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-179"
  },
  {
   "id": "ww-DMX-SV-W-179-2026-05-18-Story-hail",
   "zip": "",
   "city": "",
   "date": "2026-05-18",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 70,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-05-18. Duration: 52 min. Counties: Jasper, Marshall, Polk, Story. Storm tags: wind: 60.0, hail: 0.88\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #179 (52 min)",
   "evidenceLevel": "warning",
   "hailSizeInches": 0.88,
   "warningProductKey": "DMX-SV-W-179"
  },
  {
   "id": "asos-bf-AMW-2026-05-17",
   "lat": 41.9904,
   "lon": -93.6185,
   "zip": "",
   "city": "Ames",
   "date": "2026-05-17",
   "county": "Story",
   "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": "Ames (AMW) recorded a 50 mph gust.",
   "sourceDetail": "IA_ASOS automated observation — Ames (AMW) [365d backfill 2026-08]",
   "windSpeedMph": 50,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-202604240108-hail-41.69--93.61",
   "lat": 41.69,
   "lon": -93.61,
   "zip": "",
   "city": "1 NE Saylorville",
   "date": "2026-04-23",
   "county": "Polk",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near 1 NE Saylorville, IA. Hail size: 1\".",
   "sourceDetail": "NWS DMX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-geo-2026-04-24T00:33:00Z-tornado-41.89--93.66",
   "lat": 41.89,
   "lon": -93.66,
   "zip": "",
   "city": "2 ENE Slater",
   "date": "2026-04-23",
   "county": "Story",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "tornado",
   "confidence": 92,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "TORNADO reported near 2 ENE Slater, IA. Several reports from local fire department and spotters of tornado on the ground.",
   "sourceDetail": "NWS DMX — Fire Dept/Rescue via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "ww-DMX-SV-W-115-2026-04-23-Story-wind",
   "zip": "",
   "city": "",
   "date": "2026-04-23",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 70,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Hurricane wind damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-04-23. Duration: 62 min. Counties: Boone, Greene, Hamilton, Hardin, Story, Webster. Storm tags: wind: 60.0, hail: 1.0\", tornado: POSSIBLE. This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #115 (62 min)",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-115"
  },
  {
   "id": "ww-DMX-SV-W-115-2026-04-23-Story-hail",
   "zip": "",
   "city": "",
   "date": "2026-04-23",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 70,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-04-23. Duration: 62 min. Counties: Boone, Greene, Hamilton, Hardin, Story, Webster. Storm tags: wind: 60.0, hail: 1.0\", tornado: POSSIBLE. This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #115 (62 min)",
   "evidenceLevel": "warning",
   "hailSizeInches": 1,
   "warningProductKey": "DMX-SV-W-115"
  },
  {
   "id": "ww-DMX-SV-W-119-2026-04-23-Story-wind",
   "zip": "",
   "city": "",
   "date": "2026-04-23",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 70,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Hurricane wind damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-04-23. Duration: 50 min. Counties: Grundy, Boone, Hamilton, Story, Hardin, Marshall. Storm tags: wind: 60.0, hail: 0.75\", tornado: POSSIBLE. This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #119 (50 min)",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-119"
  },
  {
   "id": "ww-DMX-SV-W-119-2026-04-23-Story-hail",
   "zip": "",
   "city": "",
   "date": "2026-04-23",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 70,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-04-23. Duration: 50 min. Counties: Grundy, Boone, Hamilton, Story, Hardin, Marshall. Storm tags: wind: 60.0, hail: 0.75\", tornado: POSSIBLE. This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #119 (50 min)",
   "evidenceLevel": "warning",
   "hailSizeInches": 0.75,
   "warningProductKey": "DMX-SV-W-119"
  },
  {
   "id": "ww-DMX-SV-W-118-2026-04-23-Story-wind",
   "zip": "",
   "city": "",
   "date": "2026-04-23",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 70,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Hurricane wind damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-04-23. Duration: 40 min. Counties: Boone, Dallas, Jasper, Madison, Polk, Story, Warren. Storm tags: wind: 60.0, hail: 0.75\", tornado: POSSIBLE. This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #118 (40 min)",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-118"
  },
  {
   "id": "ww-DMX-SV-W-118-2026-04-23-Story-hail",
   "zip": "",
   "city": "",
   "date": "2026-04-23",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 70,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-04-23. Duration: 40 min. Counties: Boone, Dallas, Jasper, Madison, Polk, Story, Warren. Storm tags: wind: 60.0, hail: 0.75\", tornado: POSSIBLE. This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #118 (40 min)",
   "evidenceLevel": "warning",
   "hailSizeInches": 0.75,
   "warningProductKey": "DMX-SV-W-118"
  },
  {
   "id": "ww-DMX-SV-W-116-2026-04-23-Story-wind",
   "zip": "",
   "city": "",
   "date": "2026-04-23",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 70,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Hurricane wind damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-04-23. Duration: 56 min. Counties: Warren, Adair, Boone, Dallas, Guthrie, Madison, Polk, Story. Storm tags: wind: 60.0, hail: 1.0\", tornado: POSSIBLE. This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #116 (56 min)",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-116"
  },
  {
   "id": "ww-DMX-SV-W-116-2026-04-23-Story-hail",
   "zip": "",
   "city": "",
   "date": "2026-04-23",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 70,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-04-23. Duration: 56 min. Counties: Warren, Adair, Boone, Dallas, Guthrie, Madison, Polk, Story. Storm tags: wind: 60.0, hail: 1.0\", tornado: POSSIBLE. This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #116 (56 min)",
   "evidenceLevel": "warning",
   "hailSizeInches": 1,
   "warningProductKey": "DMX-SV-W-116"
  },
  {
   "id": "iem-ww-DMX-TO-W-21-Story-tornado-2026-04-23",
   "zip": "",
   "city": "Story",
   "date": "2026-04-23",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "severe",
   "eventType": "tornado",
   "confidence": 0.85,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "TO W for Story.",
   "sourceDetail": "NWS DMX — TO/W",
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-TO-W-21"
  },
  {
   "id": "iem-ww-DMX-TO-W-25-Story-tornado-2026-04-23",
   "zip": "",
   "city": "Story",
   "date": "2026-04-23",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "severe",
   "eventType": "tornado",
   "confidence": 0.85,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "TO W for Story.",
   "sourceDetail": "NWS DMX — TO/W",
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-TO-W-25"
  },
  {
   "id": "iem-202604171858-hail-41.73--93.60",
   "lat": 41.73,
   "lon": -93.6,
   "zip": "",
   "city": "Ankeny",
   "date": "2026-04-17",
   "county": "Polk",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near Ankeny, IA. Hail size: 1\".",
   "sourceDetail": "NWS DMX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-202604171905-hail-41.68--93.57",
   "lat": 41.68,
   "lon": -93.57,
   "zip": "",
   "city": "3 E Saylorville",
   "date": "2026-04-17",
   "county": "Polk",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near 3 E Saylorville, IA. Hail size: 1.25\".",
   "sourceDetail": "NWS DMX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.25
  },
  {
   "id": "iem-202604171921-hail-41.90--93.31",
   "lat": 41.9,
   "lon": -93.31,
   "zip": "",
   "city": "Collins",
   "date": "2026-04-17",
   "county": "Story",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near Collins, IA. Hail size: 1\".",
   "sourceDetail": "NWS DMX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "ww-DMX-SV-W-79-2026-04-17-Story-wind",
   "zip": "",
   "city": "",
   "date": "2026-04-17",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 70,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Hurricane wind damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-04-17. Duration: 48 min. Counties: Jasper, Polk, Marshall, Story. Storm tags: wind: 60.0, hail: 1.0\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #79 (48 min)",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-79"
  },
  {
   "id": "ww-DMX-SV-W-79-2026-04-17-Story-hail",
   "zip": "",
   "city": "",
   "date": "2026-04-17",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 70,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-04-17. Duration: 48 min. Counties: Jasper, Polk, Marshall, Story. Storm tags: wind: 60.0, hail: 1.0\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #79 (48 min)",
   "evidenceLevel": "warning",
   "hailSizeInches": 1,
   "warningProductKey": "DMX-SV-W-79"
  },
  {
   "id": "ww-DMX-SV-W-83-2026-04-17-Story-wind",
   "zip": "",
   "city": "",
   "date": "2026-04-17",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 70,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Hurricane wind damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-04-17. Duration: 46 min. Counties: Tama, Story, Marshall, Poweshiek, Jasper. Storm tags: wind: 60.0, hail: 1.25\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #83 (46 min)",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-83"
  },
  {
   "id": "ww-DMX-SV-W-83-2026-04-17-Story-hail",
   "zip": "",
   "city": "",
   "date": "2026-04-17",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 70,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-04-17. Duration: 46 min. Counties: Tama, Story, Marshall, Poweshiek, Jasper. Storm tags: wind: 60.0, hail: 1.25\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #83 (46 min)",
   "evidenceLevel": "warning",
   "hailSizeInches": 1.25,
   "warningProductKey": "DMX-SV-W-83"
  },
  {
   "id": "iem-202604151900-hail-42.19--93.62",
   "lat": 42.19,
   "lon": -93.62,
   "zip": "",
   "city": "1 W Story City",
   "date": "2026-04-15",
   "county": "Story",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near 1 W Story City, IA. Hail size: 1\".",
   "sourceDetail": "NWS DMX — Law Enforcement via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-202604151904-hail-42.18--93.59",
   "lat": 42.18,
   "lon": -93.59,
   "zip": "",
   "city": "Story City",
   "date": "2026-04-15",
   "county": "Story",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near Story City, IA. Hail size: 1.25\".",
   "sourceDetail": "NWS DMX — Trained Spotter via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.25
  },
  {
   "id": "iem-202604151909-hail-42.22--93.54",
   "lat": 42.22,
   "lon": -93.54,
   "zip": "",
   "city": "4 E Randall",
   "date": "2026-04-15",
   "county": "Hamilton",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near 4 E Randall, IA. Hail size: 0.88\".",
   "sourceDetail": "NWS DMX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.88
  },
  {
   "id": "iem-202604152048-hail-41.90--93.31",
   "lat": 41.9,
   "lon": -93.31,
   "zip": "",
   "city": "Collins",
   "date": "2026-04-15",
   "county": "Story",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near Collins, IA. Hail size: 1\".",
   "sourceDetail": "NWS DMX — Fire Dept/Rescue via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-202604160121-hail-42.07--93.63",
   "lat": 42.07,
   "lon": -93.63,
   "zip": "",
   "city": "3 N Ames",
   "date": "2026-04-15",
   "county": "Story",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near 3 N Ames, IA. Hail size: 1.25\".",
   "sourceDetail": "NWS DMX — NWS Employee via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.25
  },
  {
   "id": "iem-202604160123-hail-42.08--93.63",
   "lat": 42.08,
   "lon": -93.63,
   "zip": "",
   "city": "2 SE Gilbert",
   "date": "2026-04-15",
   "county": "Story",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near 2 SE Gilbert, IA. Hail size: 1.5\".",
   "sourceDetail": "NWS DMX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.5
  },
  {
   "id": "iem-202604160124-hail-42.09--93.65",
   "lat": 42.09,
   "lon": -93.65,
   "zip": "",
   "city": "1 S Gilbert",
   "date": "2026-04-15",
   "county": "Story",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near 1 S Gilbert, IA. Hail size: 1\".",
   "sourceDetail": "NWS DMX — Fire Dept/Rescue via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-202604160129-hail-41.88--93.82",
   "lat": 41.88,
   "lon": -93.82,
   "zip": "",
   "city": "Madrid",
   "date": "2026-04-15",
   "county": "Boone",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near Madrid, IA. Hail size: 1\".",
   "sourceDetail": "NWS DMX — Emergency Mngr via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-202604160136-hail-42.08--93.54",
   "lat": 42.08,
   "lon": -93.54,
   "zip": "",
   "city": "6 NE Ames",
   "date": "2026-04-15",
   "county": "Story",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near 6 NE Ames, IA. Hail size: 1\".",
   "sourceDetail": "NWS DMX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-202604160146-hail-42.15--93.40",
   "lat": 42.15,
   "lon": -93.4,
   "zip": "",
   "city": "1 SW Mccallsburg",
   "date": "2026-04-15",
   "county": "Story",
   "source": "IEM Local Storm Reports",
   "severity": "severe",
   "eventType": "hail",
   "confidence": 92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near 1 SW Mccallsburg, IA. Hail size: 2\".",
   "sourceDetail": "NWS DMX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 2
  },
  {
   "id": "iem-202604160147-hail-42.15--93.39",
   "lat": 42.15,
   "lon": -93.39,
   "zip": "",
   "city": "1 S Mccallsburg",
   "date": "2026-04-15",
   "county": "Story",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near 1 S Mccallsburg, IA. Hail size: 1\".",
   "sourceDetail": "NWS DMX — Fire Dept/Rescue via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-202604160200-hail-41.98--93.43",
   "lat": 41.98,
   "lon": -93.43,
   "zip": "",
   "city": "3 SSE Nevada",
   "date": "2026-04-15",
   "county": "Story",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near 3 SSE Nevada, IA. Hail size: 1.75\".",
   "sourceDetail": "NWS DMX — Trained Spotter via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.75
  },
  {
   "id": "iem-202604160208-hail-42.02--93.35",
   "lat": 42.02,
   "lon": -93.35,
   "zip": "",
   "city": "2 W Colo",
   "date": "2026-04-15",
   "county": "Story",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near 2 W Colo, IA. Hail size: 1\".",
   "sourceDetail": "NWS DMX — Trained Spotter via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "ww-DMX-SV-W-51-2026-04-15-Story-wind",
   "zip": "",
   "city": "",
   "date": "2026-04-15",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 70,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Hurricane wind damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-04-15. Duration: 39 min. Counties: Hamilton, Franklin, Grundy, Hardin, Marshall, Story. Storm tags: wind: 60.0, hail: 1.0\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #51 (39 min)",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-51"
  },
  {
   "id": "ww-DMX-SV-W-51-2026-04-15-Story-hail",
   "zip": "",
   "city": "",
   "date": "2026-04-15",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 70,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-04-15. Duration: 39 min. Counties: Hamilton, Franklin, Grundy, Hardin, Marshall, Story. Storm tags: wind: 60.0, hail: 1.0\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #51 (39 min)",
   "evidenceLevel": "warning",
   "hailSizeInches": 1,
   "warningProductKey": "DMX-SV-W-51"
  },
  {
   "id": "ww-DMX-SV-W-77-2026-04-15-Story-wind",
   "zip": "",
   "city": "",
   "date": "2026-04-15",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 70,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Hurricane wind damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-04-15. Duration: 33 min. Counties: Story, Grundy, Hardin, Marshall, Tama. Storm tags: wind: 50.0, hail: 1.0\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #77 (33 min)",
   "windSpeedMph": 50,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-77"
  },
  {
   "id": "ww-DMX-SV-W-77-2026-04-15-Story-hail",
   "zip": "",
   "city": "",
   "date": "2026-04-15",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 70,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-04-15. Duration: 33 min. Counties: Story, Grundy, Hardin, Marshall, Tama. Storm tags: wind: 50.0, hail: 1.0\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #77 (33 min)",
   "evidenceLevel": "warning",
   "hailSizeInches": 1,
   "warningProductKey": "DMX-SV-W-77"
  },
  {
   "id": "ww-DMX-SV-W-52-2026-04-15-Story-wind",
   "zip": "",
   "city": "",
   "date": "2026-04-15",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 70,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Hurricane wind damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-04-15. Duration: 40 min. Counties: Jasper, Polk, Story. Storm tags: wind: 60.0, hail: 1.25\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #52 (40 min)",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-52"
  },
  {
   "id": "ww-DMX-SV-W-52-2026-04-15-Story-hail",
   "zip": "",
   "city": "",
   "date": "2026-04-15",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 70,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-04-15. Duration: 40 min. Counties: Jasper, Polk, Story. Storm tags: wind: 60.0, hail: 1.25\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #52 (40 min)",
   "evidenceLevel": "warning",
   "hailSizeInches": 1.25,
   "warningProductKey": "DMX-SV-W-52"
  },
  {
   "id": "ww-DMX-SV-W-55-2026-04-15-Story-wind",
   "zip": "",
   "city": "",
   "date": "2026-04-15",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 70,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Hurricane wind damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-04-15. Duration: 49 min. Counties: Jasper, Story, Marshall. Storm tags: wind: 60.0, hail: 1.5\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #55 (49 min)",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-55"
  },
  {
   "id": "ww-DMX-SV-W-55-2026-04-15-Story-hail",
   "zip": "",
   "city": "",
   "date": "2026-04-15",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 70,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-04-15. Duration: 49 min. Counties: Jasper, Story, Marshall. Storm tags: wind: 60.0, hail: 1.5\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #55 (49 min)",
   "evidenceLevel": "warning",
   "hailSizeInches": 1.5,
   "warningProductKey": "DMX-SV-W-55"
  },
  {
   "id": "ww-DMX-SV-W-73-2026-04-15-Story-wind",
   "zip": "",
   "city": "",
   "date": "2026-04-15",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 70,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Hurricane wind damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-04-15. Duration: 38 min. Counties: Hardin, Marshall, Story, Boone. Storm tags: wind: 50.0, hail: 1.0\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #73 (38 min)",
   "windSpeedMph": 50,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-73"
  },
  {
   "id": "ww-DMX-SV-W-73-2026-04-15-Story-hail",
   "zip": "",
   "city": "",
   "date": "2026-04-15",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 70,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-04-15. Duration: 38 min. Counties: Hardin, Marshall, Story, Boone. Storm tags: wind: 50.0, hail: 1.0\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #73 (38 min)",
   "evidenceLevel": "warning",
   "hailSizeInches": 1,
   "warningProductKey": "DMX-SV-W-73"
  },
  {
   "id": "ww-DMX-SV-W-74-2026-04-15-Story-wind",
   "zip": "",
   "city": "",
   "date": "2026-04-15",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 70,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Hurricane wind damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-04-15. Duration: 59 min. Counties: Boone, Dallas, Marshall, Polk, Story. Storm tags: wind: 60.0, hail: 1.0\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #74 (59 min)",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-74"
  },
  {
   "id": "ww-DMX-SV-W-74-2026-04-15-Story-hail",
   "zip": "",
   "city": "",
   "date": "2026-04-15",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 70,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-04-15. Duration: 59 min. Counties: Boone, Dallas, Marshall, Polk, Story. Storm tags: wind: 60.0, hail: 1.0\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #74 (59 min)",
   "evidenceLevel": "warning",
   "hailSizeInches": 1,
   "warningProductKey": "DMX-SV-W-74"
  },
  {
   "id": "iem-202604142154-hail-42.23--93.24",
   "lat": 42.23,
   "lon": -93.24,
   "zip": "",
   "city": "5 SW New Providence",
   "date": "2026-04-14",
   "county": "Hardin",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near 5 SW New Providence, IA. Hail size: 1\".",
   "sourceDetail": "NWS DMX — Trained Spotter via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "asos-bf-AMW-2026-04-08",
   "lat": 41.9904,
   "lon": -93.6185,
   "zip": "",
   "city": "Ames",
   "date": "2026-04-08",
   "county": "Story",
   "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": "Ames (AMW) recorded a 57 mph gust.",
   "sourceDetail": "IA_ASOS automated observation — Ames (AMW) [365d backfill 2026-08]",
   "windSpeedMph": 57,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-202603310312-hail-41.68--93.75",
   "lat": 41.68,
   "lon": -93.75,
   "zip": "",
   "city": "1 WNW Johnston",
   "date": "2026-03-30",
   "county": "Polk",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near 1 WNW Johnston, IA. Hail size: 0.75\".",
   "sourceDetail": "NWS DMX — Trained Spotter via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.75
  },
  {
   "id": "iem-202603310316-hail-41.74--93.64",
   "lat": 41.74,
   "lon": -93.64,
   "zip": "",
   "city": "2 W Ankeny",
   "date": "2026-03-30",
   "county": "Polk",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near 2 W Ankeny, IA. Hail size: 1\".",
   "sourceDetail": "NWS DMX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-202603310317-hail-41.73--93.60",
   "lat": 41.73,
   "lon": -93.6,
   "zip": "",
   "city": "Ankeny",
   "date": "2026-03-30",
   "county": "Polk",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near Ankeny, IA. Hail size: 1\".",
   "sourceDetail": "NWS DMX — Amateur Radio via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-202603310320-hail-41.77--93.58",
   "lat": 41.77,
   "lon": -93.58,
   "zip": "",
   "city": "3 NNE Ankeny",
   "date": "2026-03-30",
   "county": "Polk",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near 3 NNE Ankeny, IA. Hail size: 0.75\".",
   "sourceDetail": "NWS DMX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.75
  },
  {
   "id": "ww-DMX-SV-W-8-2026-03-30-Story-wind",
   "zip": "",
   "city": "",
   "date": "2026-03-30",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 70,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Hurricane wind damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-03-30. Duration: 67 min. Counties: Jasper, Boone, Dallas, Marshall, Polk, Story. Storm tags: wind: 60.0, hail: 1.0\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #8 (67 min)",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-8"
  },
  {
   "id": "ww-DMX-SV-W-8-2026-03-30-Story-hail",
   "zip": "",
   "city": "",
   "date": "2026-03-30",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 70,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-03-30. Duration: 67 min. Counties: Jasper, Boone, Dallas, Marshall, Polk, Story. Storm tags: wind: 60.0, hail: 1.0\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #8 (67 min)",
   "evidenceLevel": "warning",
   "hailSizeInches": 1,
   "warningProductKey": "DMX-SV-W-8"
  },
  {
   "id": "ww-DMX-SV-W-10-2026-03-30-Story-wind",
   "zip": "",
   "city": "",
   "date": "2026-03-30",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 70,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Hurricane wind damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-03-30. Duration: 42 min. Counties: Jasper, Tama, Marshall, Polk, Poweshiek, Story. Storm tags: wind: 60.0, hail: 1.0\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #10 (42 min)",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-10"
  },
  {
   "id": "ww-DMX-SV-W-10-2026-03-30-Story-hail",
   "zip": "",
   "city": "",
   "date": "2026-03-30",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 70,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-03-30. Duration: 42 min. Counties: Jasper, Tama, Marshall, Polk, Poweshiek, Story. Storm tags: wind: 60.0, hail: 1.0\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #10 (42 min)",
   "evidenceLevel": "warning",
   "hailSizeInches": 1,
   "warningProductKey": "DMX-SV-W-10"
  },
  {
   "id": "ww-DMX-SV-W-5-2026-03-30-Story-wind",
   "zip": "",
   "city": "",
   "date": "2026-03-30",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 70,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Hurricane wind damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-03-30. Duration: 27 min. Counties: Dallas, Polk, Story. Storm tags: wind: 60.0, hail: 1.0\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #5 (27 min)",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-5"
  },
  {
   "id": "ww-DMX-SV-W-5-2026-03-30-Story-hail",
   "zip": "",
   "city": "",
   "date": "2026-03-30",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 70,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2026-03-30. Duration: 27 min. Counties: Dallas, Polk, Story. Storm tags: wind: 60.0, hail: 1.0\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #5 (27 min)",
   "evidenceLevel": "warning",
   "hailSizeInches": 1,
   "warningProductKey": "DMX-SV-W-5"
  },
  {
   "id": "iem-202603310315-hail-41.74--93.64",
   "lat": 41.74,
   "lon": -93.64,
   "zip": "",
   "city": "2 WNW Ankeny",
   "date": "2026-03-30",
   "county": "Polk",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near 2 WNW Ankeny, IA. Hail size: 0.88\".",
   "sourceDetail": "NWS DMX — Trained Spotter via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.88
  },
  {
   "id": "asos-bf-AMW-2026-03-16",
   "lat": 41.9904,
   "lon": -93.6185,
   "zip": "",
   "city": "Ames",
   "date": "2026-03-16",
   "county": "Story",
   "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": "Ames (AMW) recorded a 52 mph gust.",
   "sourceDetail": "IA_ASOS automated observation — Ames (AMW) [365d backfill 2026-08]",
   "windSpeedMph": 52,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-AMW-2026-03-15",
   "lat": 41.9904,
   "lon": -93.6185,
   "zip": "",
   "city": "Ames",
   "date": "2026-03-15",
   "county": "Story",
   "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": "Ames (AMW) recorded a 60 mph gust.",
   "sourceDetail": "IA_ASOS automated observation — Ames (AMW) [365d backfill 2026-08]",
   "windSpeedMph": 60,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-03-15-wind-41.68--93.57",
   "lat": 41.68,
   "lon": -93.57,
   "zip": "",
   "city": "3 E Saylorville",
   "date": "2026-03-15",
   "county": "Polk",
   "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": "Peak wind at AWOS station KIKV Ankeny Airport.",
   "sourceDetail": "NWS DMX — AWOS via Iowa Mesonet",
   "windSpeedMph": 58,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-BNW-2026-03-15",
   "lat": 42.0486,
   "lon": -93.8486,
   "zip": "",
   "city": "BOONE MUNI",
   "date": "2026-03-15",
   "county": "Boone",
   "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": "BOONE MUNI (BNW) recorded a 52 mph gust.",
   "sourceDetail": "IA_ASOS automated observation — BOONE MUNI (BNW) [365d backfill 2026-08]",
   "windSpeedMph": 52,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-IKV-2026-03-15",
   "lat": 41.6878,
   "lon": -93.5695,
   "zip": "",
   "city": "ANKENY",
   "date": "2026-03-15",
   "county": "Polk",
   "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": "ANKENY (IKV) recorded a 58 mph gust.",
   "sourceDetail": "IA_ASOS automated observation — ANKENY (IKV) [365d backfill 2026-08]",
   "windSpeedMph": 58,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-202603160021-wind-41.99--93.62",
   "lat": 41.99,
   "lon": -93.62,
   "zip": "",
   "city": "2 S Ames",
   "date": "2026-03-15",
   "county": "Story",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "NON-TSTM WND GST reported near 2 S Ames, IA. Peak gust: 68 mph.",
   "sourceDetail": "NWS DMX — AWOS via Iowa Mesonet",
   "windSpeedMph": 68,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-202603160140-wind-41.99--93.62",
   "lat": 41.99,
   "lon": -93.62,
   "zip": "",
   "city": "2 S Ames",
   "date": "2026-03-15",
   "county": "Story",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "NON-TSTM WND GST reported near 2 S Ames, IA. Peak gust: 69 mph.",
   "sourceDetail": "NWS DMX — AWOS via Iowa Mesonet",
   "windSpeedMph": 69,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-202603160235-wind-41.68--93.57",
   "lat": 41.68,
   "lon": -93.57,
   "zip": "",
   "city": "3 E Saylorville",
   "date": "2026-03-15",
   "county": "Polk",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "NON-TSTM WND GST reported near 3 E Saylorville, IA. Peak gust: 67 mph.",
   "sourceDetail": "NWS DMX — AWOS via Iowa Mesonet",
   "windSpeedMph": 67,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-ww-DMX-HW-W-3-Story-wind-2026-03-15",
   "zip": "",
   "city": "Story",
   "date": "2026-03-15",
   "county": "Story",
   "source": "IEM High Wind Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.72,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "HW W for Story.",
   "sourceDetail": "NWS DMX — HW/W",
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-HW-W-3"
  },
  {
   "id": "iem-lsr-2026-03-15-wind-41.99--93.62",
   "lat": 41.99,
   "lon": -93.62,
   "zip": "",
   "city": "2 S Ames",
   "date": "2026-03-15",
   "county": "Story",
   "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": "AWOS station KAMW 2 SSE Ames.",
   "sourceDetail": "NWS DMX — AWOS via Iowa Mesonet",
   "windSpeedMph": 59,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-AMW-2026-03-13",
   "lat": 41.9904,
   "lon": -93.6185,
   "zip": "",
   "city": "Ames",
   "date": "2026-03-13",
   "county": "Story",
   "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": "Ames (AMW) recorded a 60 mph gust.",
   "sourceDetail": "IA_ASOS automated observation — Ames (AMW) [365d backfill 2026-08]",
   "windSpeedMph": 60,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-BNW-2026-03-13",
   "lat": 42.0486,
   "lon": -93.8486,
   "zip": "",
   "city": "BOONE MUNI",
   "date": "2026-03-13",
   "county": "Boone",
   "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": "BOONE MUNI (BNW) recorded a 53 mph gust.",
   "sourceDetail": "IA_ASOS automated observation — BOONE MUNI (BNW) [365d backfill 2026-08]",
   "windSpeedMph": 53,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-IKV-2026-03-13",
   "lat": 41.6878,
   "lon": -93.5695,
   "zip": "",
   "city": "ANKENY",
   "date": "2026-03-13",
   "county": "Polk",
   "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": "ANKENY (IKV) recorded a 52 mph gust.",
   "sourceDetail": "IA_ASOS automated observation — ANKENY (IKV) [365d backfill 2026-08]",
   "windSpeedMph": 52,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-ww-DMX-HW-W-2-Story-wind-2026-03-13",
   "zip": "",
   "city": "Story",
   "date": "2026-03-13",
   "county": "Story",
   "source": "IEM High Wind Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.72,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "HW W for Story.",
   "sourceDetail": "NWS DMX — HW/W",
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-HW-W-2"
  },
  {
   "id": "asos-bf-AMW-2026-02-18",
   "lat": 41.9904,
   "lon": -93.6185,
   "zip": "",
   "city": "Ames",
   "date": "2026-02-18",
   "county": "Story",
   "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": "Ames (AMW) recorded a 52 mph gust.",
   "sourceDetail": "IA_ASOS automated observation — Ames (AMW) [365d backfill 2026-08]",
   "windSpeedMph": 52,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-01-21-wind-41.86--93.90",
   "lat": 41.86,
   "lon": -93.9,
   "zip": "",
   "city": "1 ENE Woodward",
   "date": "2026-01-21",
   "county": "Dallas",
   "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": "Measured from personal weather station.",
   "sourceDetail": "NWS DMX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 64,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-01-21-wind-41.87--94.01",
   "lat": 41.87,
   "lon": -94.01,
   "zip": "",
   "city": "1 N Bouton",
   "date": "2026-01-21",
   "county": "Boone",
   "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": "Measured from personal weather station.",
   "sourceDetail": "NWS DMX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 62,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-01-21-wind-41.79--93.53",
   "lat": 41.79,
   "lon": -93.53,
   "zip": "",
   "city": "1 W Elkhart",
   "date": "2026-01-21",
   "county": "Polk",
   "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": "Mesonet station UP752 0.6 W Elkhart (UPR).",
   "sourceDetail": "NWS DMX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 58,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-01-21-wind-41.82--93.80",
   "lat": 41.82,
   "lon": -93.8,
   "zip": "",
   "city": "4 SSE Madrid",
   "date": "2026-01-21",
   "county": "Polk",
   "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": "Measured from personal weather station.",
   "sourceDetail": "NWS DMX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 65,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-AMW-2026-01-21",
   "lat": 41.9904,
   "lon": -93.6185,
   "zip": "",
   "city": "Ames",
   "date": "2026-01-21",
   "county": "Story",
   "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": "Ames (AMW) recorded a 58 mph gust.",
   "sourceDetail": "IA_ASOS automated observation — Ames (AMW) [365d backfill 2026-08]",
   "windSpeedMph": 58,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-BNW-2026-01-21",
   "lat": 42.0486,
   "lon": -93.8486,
   "zip": "",
   "city": "BOONE MUNI",
   "date": "2026-01-21",
   "county": "Boone",
   "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": "BOONE MUNI (BNW) recorded a 54 mph gust.",
   "sourceDetail": "IA_ASOS automated observation — BOONE MUNI (BNW) [365d backfill 2026-08]",
   "windSpeedMph": 54,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-202601212107-wind-41.86--93.90",
   "lat": 41.86,
   "lon": -93.9,
   "zip": "",
   "city": "1 ENE Woodward",
   "date": "2026-01-21",
   "county": "Dallas",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "NON-TSTM WND GST reported near 1 ENE Woodward, IA. Peak gust: 74 mph.",
   "sourceDetail": "NWS DMX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 74,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-202601212115-wind-41.87--94.01",
   "lat": 41.87,
   "lon": -94.01,
   "zip": "",
   "city": "1 N Bouton",
   "date": "2026-01-21",
   "county": "Boone",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "NON-TSTM WND GST reported near 1 N Bouton, IA. Peak gust: 71 mph.",
   "sourceDetail": "NWS DMX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 71,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-202601212121-wind-41.79--93.53",
   "lat": 41.79,
   "lon": -93.53,
   "zip": "",
   "city": "1 W Elkhart",
   "date": "2026-01-21",
   "county": "Polk",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "NON-TSTM WND GST reported near 1 W Elkhart, IA. Peak gust: 67 mph.",
   "sourceDetail": "NWS DMX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 67,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-202601212128-wind-41.82--93.80",
   "lat": 41.82,
   "lon": -93.8,
   "zip": "",
   "city": "4 SSE Madrid",
   "date": "2026-01-21",
   "county": "Polk",
   "source": "IEM Local Storm Reports",
   "severity": "severe",
   "eventType": "wind",
   "confidence": 92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "NON-TSTM WND GST reported near 4 SSE Madrid, IA. Peak gust: 75 mph.",
   "sourceDetail": "NWS DMX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 75,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-202601212153-wind-41.99--93.62",
   "lat": 41.99,
   "lon": -93.62,
   "zip": "",
   "city": "2 S Ames",
   "date": "2026-01-21",
   "county": "Story",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "NON-TSTM WND GST reported near 2 S Ames, IA. Peak gust: 67 mph.",
   "sourceDetail": "NWS DMX — AWOS via Iowa Mesonet",
   "windSpeedMph": 67,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-ww-DMX-HW-W-1-Story-wind-2026-01-21",
   "zip": "",
   "city": "Story",
   "date": "2026-01-21",
   "county": "Story",
   "source": "IEM High Wind Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.72,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "HW W for Story.",
   "sourceDetail": "NWS DMX — HW/W",
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-HW-W-1"
  },
  {
   "id": "asos-bf-BNW-2026-01-18",
   "lat": 42.0486,
   "lon": -93.8486,
   "zip": "",
   "city": "BOONE MUNI",
   "date": "2026-01-18",
   "county": "Boone",
   "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": "BOONE MUNI (BNW) recorded a 53 mph gust.",
   "sourceDetail": "IA_ASOS automated observation — BOONE MUNI (BNW) [365d backfill 2026-08]",
   "windSpeedMph": 53,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-BNW-2025-12-28",
   "lat": 42.0486,
   "lon": -93.8486,
   "zip": "",
   "city": "BOONE MUNI",
   "date": "2025-12-28",
   "county": "Boone",
   "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": "BOONE MUNI (BNW) recorded a 52 mph gust.",
   "sourceDetail": "IA_ASOS automated observation — BOONE MUNI (BNW) [365d backfill 2026-08]",
   "windSpeedMph": 52,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-IKV-2025-12-28",
   "lat": 41.6878,
   "lon": -93.5695,
   "zip": "",
   "city": "ANKENY",
   "date": "2025-12-28",
   "county": "Polk",
   "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": "ANKENY (IKV) recorded a 56 mph gust.",
   "sourceDetail": "IA_ASOS automated observation — ANKENY (IKV) [365d backfill 2026-08]",
   "windSpeedMph": 56,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-AMW-2025-12-28",
   "lat": 41.9904,
   "lon": -93.6185,
   "zip": "",
   "city": "Ames",
   "date": "2025-12-28",
   "county": "Story",
   "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": "Ames (AMW) recorded a 56 mph gust.",
   "sourceDetail": "IA_ASOS automated observation — Ames (AMW) [365d backfill 2026-08]",
   "windSpeedMph": 56,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-BNW-2025-12-18",
   "lat": 42.0486,
   "lon": -93.8486,
   "zip": "",
   "city": "BOONE MUNI",
   "date": "2025-12-18",
   "county": "Boone",
   "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": "BOONE MUNI (BNW) recorded a 58 mph gust.",
   "sourceDetail": "IA_ASOS automated observation — BOONE MUNI (BNW) [365d backfill 2026-08]",
   "windSpeedMph": 58,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-AMW-2025-12-18",
   "lat": 41.9904,
   "lon": -93.6185,
   "zip": "",
   "city": "Ames",
   "date": "2025-12-18",
   "county": "Story",
   "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": "Ames (AMW) recorded a 56 mph gust.",
   "sourceDetail": "IA_ASOS automated observation — Ames (AMW) [365d backfill 2026-08]",
   "windSpeedMph": 56,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-202512182055-wind-42.05--93.85",
   "lat": 42.05,
   "lon": -93.85,
   "zip": "",
   "city": "2 E Boone",
   "date": "2025-12-18",
   "county": "Boone",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "NON-TSTM WND GST reported near 2 E Boone, IA. Peak gust: 67 mph.",
   "sourceDetail": "NWS DMX — AWOS via Iowa Mesonet",
   "windSpeedMph": 67,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-AMW-2025-12-10",
   "lat": 41.9904,
   "lon": -93.6185,
   "zip": "",
   "city": "Ames",
   "date": "2025-12-10",
   "county": "Story",
   "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": "Ames (AMW) recorded a 54 mph gust.",
   "sourceDetail": "IA_ASOS automated observation — Ames (AMW) [365d backfill 2026-08]",
   "windSpeedMph": 54,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-BNW-2025-12-10",
   "lat": 42.0486,
   "lon": -93.8486,
   "zip": "",
   "city": "BOONE MUNI",
   "date": "2025-12-10",
   "county": "Boone",
   "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": "BOONE MUNI (BNW) recorded a 54 mph gust.",
   "sourceDetail": "IA_ASOS automated observation — BOONE MUNI (BNW) [365d backfill 2026-08]",
   "windSpeedMph": 54,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-IKV-2025-12-10",
   "lat": 41.6878,
   "lon": -93.5695,
   "zip": "",
   "city": "ANKENY",
   "date": "2025-12-10",
   "county": "Polk",
   "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": "ANKENY (IKV) recorded a 51 mph gust.",
   "sourceDetail": "IA_ASOS automated observation — ANKENY (IKV) [365d backfill 2026-08]",
   "windSpeedMph": 51,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-202512101102-wind-41.99--93.62",
   "lat": 41.99,
   "lon": -93.62,
   "zip": "",
   "city": "2 S Ames",
   "date": "2025-12-10",
   "county": "Story",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "NON-TSTM WND GST reported near 2 S Ames, IA. Peak gust: 62 mph.",
   "sourceDetail": "NWS DMX — ASOS via Iowa Mesonet",
   "windSpeedMph": 62,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-ww-DMX-HW-W-6-Story-wind-2025-12-10",
   "zip": "",
   "city": "Story",
   "date": "2025-12-10",
   "county": "Story",
   "source": "IEM High Wind Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.72,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "HW W for Story.",
   "sourceDetail": "NWS DMX — HW/W",
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-HW-W-6"
  },
  {
   "id": "iem-lsr-2025-11-26-wind-42.03--93.83",
   "lat": 42.03,
   "lon": -93.83,
   "zip": "",
   "city": "3 ESE Boone",
   "date": "2025-11-26",
   "county": "Boone",
   "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": "AWOS station KBNW Boone Airport.",
   "sourceDetail": "NWS DMX — AWOS via Iowa Mesonet",
   "windSpeedMph": 58,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-AMW-2025-11-26",
   "lat": 41.9904,
   "lon": -93.6185,
   "zip": "",
   "city": "Ames",
   "date": "2025-11-26",
   "county": "Story",
   "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": "Ames (AMW) recorded a 64 mph gust.",
   "sourceDetail": "IA_ASOS automated observation — Ames (AMW) [365d backfill 2026-08]",
   "windSpeedMph": 64,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-BNW-2025-11-26",
   "lat": 42.0486,
   "lon": -93.8486,
   "zip": "",
   "city": "BOONE MUNI",
   "date": "2025-11-26",
   "county": "Boone",
   "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": "BOONE MUNI (BNW) recorded a 58 mph gust.",
   "sourceDetail": "IA_ASOS automated observation — BOONE MUNI (BNW) [365d backfill 2026-08]",
   "windSpeedMph": 58,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-202511260715-wind-42.03--93.83",
   "lat": 42.03,
   "lon": -93.83,
   "zip": "",
   "city": "3 ESE Boone",
   "date": "2025-11-26",
   "county": "Boone",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "NON-TSTM WND GST reported near 3 ESE Boone, IA. Peak gust: 67 mph.",
   "sourceDetail": "NWS DMX — AWOS via Iowa Mesonet",
   "windSpeedMph": 67,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-202511260940-wind-41.99--93.62",
   "lat": 41.99,
   "lon": -93.62,
   "zip": "",
   "city": "2 S Ames",
   "date": "2025-11-26",
   "county": "Story",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "NON-TSTM WND GST reported near 2 S Ames, IA. Peak gust: 74 mph.",
   "sourceDetail": "NWS DMX — AWOS via Iowa Mesonet",
   "windSpeedMph": 74,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-AMW-2025-11-25",
   "lat": 41.9904,
   "lon": -93.6185,
   "zip": "",
   "city": "Ames",
   "date": "2025-11-25",
   "county": "Story",
   "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": "Ames (AMW) recorded a 58 mph gust.",
   "sourceDetail": "IA_ASOS automated observation — Ames (AMW) [365d backfill 2026-08]",
   "windSpeedMph": 58,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-BNW-2025-11-25",
   "lat": 42.0486,
   "lon": -93.8486,
   "zip": "",
   "city": "BOONE MUNI",
   "date": "2025-11-25",
   "county": "Boone",
   "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": "BOONE MUNI (BNW) recorded a 51 mph gust.",
   "sourceDetail": "IA_ASOS automated observation — BOONE MUNI (BNW) [365d backfill 2026-08]",
   "windSpeedMph": 51,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-IKV-2025-11-25",
   "lat": 41.6878,
   "lon": -93.5695,
   "zip": "",
   "city": "ANKENY",
   "date": "2025-11-25",
   "county": "Polk",
   "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": "ANKENY (IKV) recorded a 52 mph gust.",
   "sourceDetail": "IA_ASOS automated observation — ANKENY (IKV) [365d backfill 2026-08]",
   "windSpeedMph": 52,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-202511260214-wind-41.99--93.62",
   "lat": 41.99,
   "lon": -93.62,
   "zip": "",
   "city": "2 S Ames",
   "date": "2025-11-25",
   "county": "Story",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "NON-TSTM WND GST reported near 2 S Ames, IA. Peak gust: 67 mph.",
   "sourceDetail": "NWS DMX — AWOS via Iowa Mesonet",
   "windSpeedMph": 67,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-AMW-2025-10-21",
   "lat": 41.9904,
   "lon": -93.6185,
   "zip": "",
   "city": "Ames",
   "date": "2025-10-21",
   "county": "Story",
   "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": "Ames (AMW) recorded a 51 mph gust.",
   "sourceDetail": "IA_ASOS automated observation — Ames (AMW) [365d backfill 2026-08]",
   "windSpeedMph": 51,
   "evidenceLevel": "observed"
  },
  {
   "id": "ncei-1297890-2025-09-22",
   "lon": 208287,
   "zip": "",
   "city": "AMES",
   "date": "2025-09-22",
   "county": "Story",
   "source": "NCEI Storm Events Database",
   "severity": "moderate",
   "eventType": "wind",
   "confidence": 0.95,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "Several large tree branches greater than 3 inches in diameter down around the city.",
   "sourceDetail": "Verified by Public — NCEI Event #1297890",
   "windSpeedMph": 50,
   "evidenceLevel": "official_backfill"
  },
  {
   "id": "ww-DMX-SV-W-249-2025-09-22-Story-wind",
   "zip": "",
   "city": "",
   "date": "2025-09-22",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 70,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Hurricane wind damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2025-09-22. Duration: 46 min. Counties: Wright, Hardin, Marshall, Story. Storm tags: wind: 60.0, hail: 1.0\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #249 (46 min)",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "DMX-SV-W-249"
  },
  {
   "id": "ww-DMX-SV-W-249-2025-09-22-Story-hail",
   "zip": "",
   "city": "",
   "date": "2025-09-22",
   "county": "Story",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 70,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS DMX on 2025-09-22. Duration: 46 min. Counties: Wright, Hardin, Marshall, Story. Storm tags: wind: 60.0, hail: 1.0\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS DMX — Severe Thunderstorm Warning #249 (46 min)",
   "evidenceLevel": "warning",
   "hailSizeInches": 1,
   "warningProductKey": "DMX-SV-W-249"
  }
 ]
}