{
 "dataset": "Charleston, IL storm events — 12-month window, 25-mile radius (floods and special weather statements excluded, matching the city page)",
 "license": "https://www.stormauditor.com/data-license",
 "provenance": "Deduplicated by StormAuditor from public NOAA/NWS records (warnings, Local Storm Reports, NCEI Storm Events) under the published methodology at https://www.stormauditor.com/methodology",
 "refreshed_at": "2026-08-25T11:15:15.642+00:00",
 "window_days": 365,
 "event_count": 65,
 "fields": {
  "date": "Event date (YYYY-MM-DD, local storm day)",
  "county": "County or county-equivalent",
  "city": "Nearest city/place named in the source record",
  "event_type": "hazard tag: wind | hail | tornado | flood | lightning",
  "severity": "StormAuditor severity bucket (low|moderate|high|severe)",
  "evidence": "evidence level of the source record",
  "wind_mph": "reported/estimated wind gust, mph (blank if n/a)",
  "hail_in": "reported/estimated hail size, inches (blank if n/a)",
  "source": "originating public record (NWS warning, LSR, NCEI, ...)",
  "lat": "event latitude (WGS84, may be blank)",
  "lon": "event longitude (WGS84, may be blank)"
 },
 "events": [
  {
   "id": "spc-2026-08-11-hail-39.33-26",
   "lat": 39.33,
   "lon": -87.88,
   "zip": "",
   "city": "Martinsville",
   "date": "2026-08-11",
   "county": "Clark",
   "source": "SPC Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.93,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "hail reported near Martinsville",
   "sourceDetail": "SPC filtered reports — 2026-08-11",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-07-04-hail-39.20--87.96",
   "lat": 39.2,
   "lon": -87.96,
   "zip": "",
   "city": "4 N Bellair",
   "date": "2026-07-04",
   "county": "Clark",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near 4 N Bellair",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.88
  },
  {
   "id": "iem-geo-2026-06-21-tornado-39.32--88.43",
   "lat": 39.32,
   "lon": -88.43,
   "zip": "",
   "city": "1 ESE Neoga",
   "date": "2026-06-21",
   "county": "Cumberland",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "Areal drone footage shared via broadcast met. Time estimated by radar.",
   "sourceDetail": "NWS ILX — Broadcast Media via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-06-21-tornado-39.30--88.43",
   "lat": 39.3,
   "lon": -88.43,
   "zip": "",
   "city": "1 SE Neoga",
   "date": "2026-06-21",
   "county": "Cumberland",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "EF-1, max winds 90 mph, path length 0.85 miles, max width 75 yards. The tornado touched down about 1 mile southeast of Neoga, on the east side of I-57. It damaged a few farm outbuildings and trees along its path, which was less than 1 mile long, lifting just north of County Road 1000 N.",
   "sourceDetail": "NWS ILX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-06-21-tornado-39.31--88.23",
   "lat": 39.31,
   "lon": -88.23,
   "zip": "",
   "city": "3 NNE Toledo",
   "date": "2026-06-21",
   "county": "Cumberland",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "EF-0, max winds 80 mph, path length 6.36 miles, path width 350 yards. The tornado began about 1 mile southeast of Bradbury near County Road 1350. It tracked northeast, damaging several trees and a couple of farm outbuildings. It turned east-northeastward and tracked just south of Cottonwood, causing more tree damage before lifting northwest of Diona near the county line.",
   "sourceDetail": "NWS ILX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-06-17-hail-39.72--88.53",
   "lat": 39.72,
   "lon": -88.53,
   "zip": "",
   "city": "3 N Cadwell",
   "date": "2026-06-17",
   "county": "Moultrie",
   "source": "IEM Local Storm Reports",
   "severity": "severe",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Photo of 3 inch diameter jagged hailstone with ruler along with corn damaged from the large hail on farmland between Lovington and Arthur.",
   "sourceDetail": "NWS ILX — NWS Employee via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 3
  },
  {
   "id": "iem-lsr-2026-06-17-hail-39.71--88.46",
   "lat": 39.71,
   "lon": -88.46,
   "zip": "",
   "city": "1 SE Arthur",
   "date": "2026-06-17",
   "county": "Douglas",
   "source": "IEM Local Storm Reports",
   "severity": "severe",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near 1 SE Arthur",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 3
  },
  {
   "id": "iem-lsr-2026-06-17-hail-39.72--88.47",
   "lat": 39.72,
   "lon": -88.47,
   "zip": "",
   "city": "Arthur",
   "date": "2026-06-17",
   "county": "Douglas",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near Arthur",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.75
  },
  {
   "id": "iem-lsr-2026-06-17-hail-39.70--88.39",
   "lat": 39.7,
   "lon": -88.39,
   "zip": "",
   "city": "Chesterville",
   "date": "2026-06-17",
   "county": "Douglas",
   "source": "IEM Local Storm Reports",
   "severity": "severe",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near Chesterville",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 2
  },
  {
   "id": "iem-lsr-2026-06-17-hail-39.68--88.30",
   "lat": 39.68,
   "lon": -88.3,
   "zip": "",
   "city": "1 E Arcola",
   "date": "2026-06-17",
   "county": "Douglas",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Report from mPING: Ping Pong Ball (1.50 in.).",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.5
  },
  {
   "id": "iem-lsr-2026-06-17-hail-39.64--88.32",
   "lat": 39.64,
   "lon": -88.32,
   "zip": "",
   "city": "3 N Humboldt",
   "date": "2026-06-17",
   "county": "Coles",
   "source": "IEM Local Storm Reports",
   "severity": "severe",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Relayed via social media.",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 3
  },
  {
   "id": "iem-lsr-2026-06-17-hail-39.61--88.32",
   "lat": 39.61,
   "lon": -88.32,
   "zip": "",
   "city": "Humboldt",
   "date": "2026-06-17",
   "county": "Coles",
   "source": "IEM Local Storm Reports",
   "severity": "severe",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Relayed via social media.",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 2.5
  },
  {
   "id": "iem-lsr-2026-06-17-hail-39.58--88.35",
   "lat": 39.58,
   "lon": -88.35,
   "zip": "",
   "city": "2 SW Humboldt",
   "date": "2026-06-17",
   "county": "Coles",
   "source": "IEM Local Storm Reports",
   "severity": "severe",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near 2 SW Humboldt",
   "sourceDetail": "NWS ILX — Storm Chaser via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 2.75
  },
  {
   "id": "iem-lsr-2026-06-17-hail-39.52--88.18",
   "lat": 39.52,
   "lon": -88.18,
   "zip": "",
   "city": "3 N Charleston",
   "date": "2026-06-17",
   "county": "Coles",
   "source": "IEM Local Storm Reports",
   "severity": "severe",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Report from mPING: Baseball (2.75 in.).",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 2.75
  },
  {
   "id": "iem-lsr-2026-06-17-hail-39.48--88.18",
   "lat": 39.48,
   "lon": -88.18,
   "zip": "",
   "city": "Charleston",
   "date": "2026-06-17",
   "county": "Coles",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near Charleston",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.75
  },
  {
   "id": "iem-geo-2026-06-17-tornado-39.51--88.33",
   "lat": 39.51,
   "lon": -88.33,
   "zip": "",
   "city": "3 NE Mattoon",
   "date": "2026-06-17",
   "county": "Coles",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "*** 1 INJ *** Semi flipped over on southbound I-57 at mile marker 191. Semi truck driver injured.",
   "sourceDetail": "NWS ILX — Emergency Mngr via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-06-17-tornado-39.52--88.38",
   "lat": 39.52,
   "lon": -88.38,
   "zip": "",
   "city": "3 N Mattoon",
   "date": "2026-06-17",
   "county": "Coles",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "EF-2, max winds 116 mph, path length 13.83 miles, max width 800 yards. The tornado developed about 4 miles north of Mattoon and tracked southeast, damaging trees, homes, and electrical transmission lines as it crossed US Highway 45. It intensified as it reached County Rd 700E, uprooting large hardwood trees and lifting the roof off a single family residence. It continued east-southeast from there, crossing Interstate 57 where it flipped a semi, resulting in one injury. It then heavily damaged a few farm outbuildings and trees on the western outskirts of Charleston. It continued eastward through the north side of Charleston, causing damage at the fairgrounds, a few outbuildings, and trees throughout town before lifting 2 miles east of Charleston along Illinois 16.",
   "sourceDetail": "NWS ILX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-06-17-tornado-39.51--88.34",
   "lat": 39.51,
   "lon": -88.34,
   "zip": "",
   "city": "3 NNE Mattoon",
   "date": "2026-06-17",
   "county": "Coles",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "A tornado touched down east of Mattoon and tracked ESE into the northwest side Charleston.",
   "sourceDetail": "NWS ILX — Emergency Mngr via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "asos-bf-MTO-2026-06-17",
   "lat": 39.4779,
   "lon": -88.2792,
   "zip": "",
   "city": "MATTOON/CHARLEST",
   "date": "2026-06-17",
   "county": "Coles",
   "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": "MATTOON/CHARLEST (MTO) recorded a 56 mph gust.",
   "sourceDetail": "IL_ASOS automated observation — MATTOON/CHARLEST (MTO) [365d backfill 2026-08]",
   "windSpeedMph": 56,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-06-16-hail-39.58--88.41",
   "lat": 39.58,
   "lon": -88.41,
   "zip": "",
   "city": "Cooks Mill",
   "date": "2026-06-16",
   "county": "Coles",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Four photos of hail in Cooks Mill. Hail size estimated from photo.",
   "sourceDetail": "NWS ILX — Emergency Mngr via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.75
  },
  {
   "id": "iem-lsr-2026-06-11-wind-39.68--88.31",
   "lat": 39.68,
   "lon": -88.31,
   "zip": "",
   "city": "Arcola",
   "date": "2026-06-11",
   "county": "Douglas",
   "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 Arcola",
   "sourceDetail": "NWS ILX — Trained Spotter via Iowa Mesonet",
   "windSpeedMph": 60,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-06-11-wind-39.70--88.25",
   "lat": 39.7,
   "lon": -88.25,
   "zip": "",
   "city": "3 ENE Arcola",
   "date": "2026-06-11",
   "county": "Douglas",
   "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": "Personal weather station.",
   "sourceDetail": "NWS ILX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 75,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-MTO-2026-06-11",
   "lat": 39.4779,
   "lon": -88.2792,
   "zip": "",
   "city": "MATTOON/CHARLEST",
   "date": "2026-06-11",
   "county": "Coles",
   "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": "MATTOON/CHARLEST (MTO) recorded a 50 mph gust.",
   "sourceDetail": "IL_ASOS automated observation — MATTOON/CHARLEST (MTO) [365d backfill 2026-08]",
   "windSpeedMph": 50,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-05-18-hail-39.42--88.29",
   "lat": 39.42,
   "lon": -88.29,
   "zip": "",
   "city": "Lerna",
   "date": "2026-05-18",
   "county": "Coles",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Delayed report. Time estimated from radar.",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-05-04-hail-39.48--88.37",
   "lat": 39.48,
   "lon": -88.37,
   "zip": "",
   "city": "Mattoon",
   "date": "2026-05-04",
   "county": "Coles",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Corrects time of previous hail report from Mattoon.",
   "sourceDetail": "NWS ILX — Trained Spotter via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.75
  },
  {
   "id": "iem-lsr-2026-05-04-hail-39.60--88.61",
   "lat": 39.6,
   "lon": -88.61,
   "zip": "",
   "city": "Sullivan",
   "date": "2026-05-04",
   "county": "Moultrie",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Relayed by Broadcast Media.",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-04-27-wind-39.47--88.27",
   "lat": 39.47,
   "lon": -88.27,
   "zip": "",
   "city": "Coles County Airport",
   "date": "2026-04-27",
   "county": "Coles",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "wind",
   "confidence": 0.92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "ASOS station KMTO Coles Co. Mem AP.",
   "sourceDetail": "NWS ILX — ASOS via Iowa Mesonet",
   "windSpeedMph": 52,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-04-27-wind-39.47--88.27",
   "lat": 39.47,
   "lon": -88.27,
   "zip": "",
   "city": "Coles County Airport",
   "date": "2026-04-27",
   "county": "Coles",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "wind",
   "confidence": 0.92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "ASOS station KMTO Coles Co. Mem AP.",
   "sourceDetail": "NWS ILX — ASOS via Iowa Mesonet",
   "windSpeedMph": 53,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-MTO-2026-04-27",
   "lat": 39.4779,
   "lon": -88.2792,
   "zip": "",
   "city": "MATTOON/CHARLEST",
   "date": "2026-04-27",
   "county": "Coles",
   "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": "MATTOON/CHARLEST (MTO) recorded a 52 mph gust.",
   "sourceDetail": "IL_ASOS automated observation — MATTOON/CHARLEST (MTO) [365d backfill 2026-08]",
   "windSpeedMph": 52,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-MTO-2026-04-12",
   "lat": 39.4779,
   "lon": -88.2792,
   "zip": "",
   "city": "MATTOON/CHARLEST",
   "date": "2026-04-12",
   "county": "Coles",
   "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": "MATTOON/CHARLEST (MTO) recorded a 52 mph gust.",
   "sourceDetail": "IL_ASOS automated observation — MATTOON/CHARLEST (MTO) [365d backfill 2026-08]",
   "windSpeedMph": 52,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-04-02-wind-39.47--88.27",
   "lat": 39.47,
   "lon": -88.27,
   "zip": "",
   "city": "Coles County Airport",
   "date": "2026-04-02",
   "county": "Coles",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "wind",
   "confidence": 0.92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "ASOS station KMTO Coles Co. Mem AP.",
   "sourceDetail": "NWS ILX — ASOS via Iowa Mesonet",
   "windSpeedMph": 51,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-04-02-wind-39.47--88.27",
   "lat": 39.47,
   "lon": -88.27,
   "zip": "",
   "city": "Coles County Airport",
   "date": "2026-04-02",
   "county": "Coles",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "wind",
   "confidence": 0.92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "ASOS station KMTO Coles Co. Mem AP.",
   "sourceDetail": "NWS ILX — ASOS via Iowa Mesonet",
   "windSpeedMph": 53,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-04-02-wind-39.47--88.27",
   "lat": 39.47,
   "lon": -88.27,
   "zip": "",
   "city": "Coles County Airport",
   "date": "2026-04-02",
   "county": "Coles",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "ASOS station KMTO Coles Co. Mem AP.",
   "sourceDetail": "NWS ILX — ASOS via Iowa Mesonet",
   "windSpeedMph": 58,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-MTO-2026-04-02",
   "lat": 39.4779,
   "lon": -88.2792,
   "zip": "",
   "city": "MATTOON/CHARLEST",
   "date": "2026-04-02",
   "county": "Coles",
   "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": "MATTOON/CHARLEST (MTO) recorded a 58 mph gust.",
   "sourceDetail": "IL_ASOS automated observation — MATTOON/CHARLEST (MTO) [365d backfill 2026-08]",
   "windSpeedMph": 58,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-MTO-2026-03-27",
   "lat": 39.4779,
   "lon": -88.2792,
   "zip": "",
   "city": "MATTOON/CHARLEST",
   "date": "2026-03-27",
   "county": "Coles",
   "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": "MATTOON/CHARLEST (MTO) recorded a 52 mph gust.",
   "sourceDetail": "IL_ASOS automated observation — MATTOON/CHARLEST (MTO) [365d backfill 2026-08]",
   "windSpeedMph": 52,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-03-26-hail-39.35--88.25",
   "lat": 39.35,
   "lon": -88.25,
   "zip": "",
   "city": "2 S Janesville",
   "date": "2026-03-26",
   "county": "Cumberland",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near 2 S Janesville",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.25
  },
  {
   "id": "asos-bf-MTO-2026-03-26",
   "lat": 39.4779,
   "lon": -88.2792,
   "zip": "",
   "city": "MATTOON/CHARLEST",
   "date": "2026-03-26",
   "county": "Coles",
   "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": "MATTOON/CHARLEST (MTO) recorded a 55 mph gust.",
   "sourceDetail": "IL_ASOS automated observation — MATTOON/CHARLEST (MTO) [365d backfill 2026-08]",
   "windSpeedMph": 55,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-03-22-hail-39.45--88.37",
   "lat": 39.45,
   "lon": -88.37,
   "zip": "",
   "city": "2 S Mattoon",
   "date": "2026-03-22",
   "county": "Coles",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "delayed report_ time estimated from radar. photo of quarter size hail.",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-03-22-hail-39.43--88.42",
   "lat": 39.43,
   "lon": -88.42,
   "zip": "",
   "city": "1 NE Paradise",
   "date": "2026-03-22",
   "county": "Coles",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near 1 NE Paradise",
   "sourceDetail": "NWS ILX — Broadcast Media via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-03-22-hail-39.30--88.00",
   "lat": 39.3,
   "lon": -88,
   "zip": "",
   "city": "Casey",
   "date": "2026-03-22",
   "county": "Clark",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Delayed report from Heartland Manor Inc. Time estimated by radar.",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-03-22-wind-39.47--88.27",
   "lat": 39.47,
   "lon": -88.27,
   "zip": "",
   "city": "Coles County Airport",
   "date": "2026-03-22",
   "county": "Coles",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "wind",
   "confidence": 0.92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "ASOS station KMTO Coles Co. Mem AP.",
   "sourceDetail": "NWS ILX — ASOS via Iowa Mesonet",
   "windSpeedMph": 55,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-MTO-2026-03-22",
   "lat": 39.4779,
   "lon": -88.2792,
   "zip": "",
   "city": "MATTOON/CHARLEST",
   "date": "2026-03-22",
   "county": "Coles",
   "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": "MATTOON/CHARLEST (MTO) recorded a 55 mph gust.",
   "sourceDetail": "IL_ASOS automated observation — MATTOON/CHARLEST (MTO) [365d backfill 2026-08]",
   "windSpeedMph": 55,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-03-15-wind-39.60--88.61",
   "lat": 39.6,
   "lon": -88.61,
   "zip": "",
   "city": "Sullivan",
   "date": "2026-03-15",
   "county": "Moultrie",
   "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": "Estimated winds at least 50-60 mph. Video shared via social media.",
   "sourceDetail": "NWS ILX — Trained Spotter via Iowa Mesonet",
   "windSpeedMph": 60,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-03-15-wind-39.70--88.45",
   "lat": 39.7,
   "lon": -88.45,
   "zip": "",
   "city": "2 SE Arthur",
   "date": "2026-03-15",
   "county": "Douglas",
   "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": "8 inch diameter tree branches down.",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "windSpeedMph": 61,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-03-15-wind-39.47--88.27",
   "lat": 39.47,
   "lon": -88.27,
   "zip": "",
   "city": "Coles County Airport",
   "date": "2026-03-15",
   "county": "Coles",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "wind",
   "confidence": 0.92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "ASOS station KMTO Coles Co. Mem AP.",
   "sourceDetail": "NWS ILX — ASOS via Iowa Mesonet",
   "windSpeedMph": 51,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-03-15-wind-39.47--88.27",
   "lat": 39.47,
   "lon": -88.27,
   "zip": "",
   "city": "Coles County Airport",
   "date": "2026-03-15",
   "county": "Coles",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "ASOS station KMTO Coles Co. Mem AP.",
   "sourceDetail": "NWS ILX — ASOS via Iowa Mesonet",
   "windSpeedMph": 59,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-geo-2026-03-15-tornado-39.70--88.45",
   "lat": 39.7,
   "lon": -88.45,
   "zip": "",
   "city": "2 SE Arthur",
   "date": "2026-03-15",
   "county": "Douglas",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "The tornado touched down about 2 miles southeast of Arthur near N County Rd 100 E producing tree and outbuilding damage and tossing it into the field to the northeast. It produced more tree and outbuilding damage along E County Rd 300 N as it curved east. The tornado turned to the north and produced tree and outbuilding damage before reaching Hwy 133.",
   "sourceDetail": "NWS ILX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-03-15-tornado-39.77--88.36",
   "lat": 39.77,
   "lon": -88.36,
   "zip": "",
   "city": "4 ESE Garrett",
   "date": "2026-03-15",
   "county": "Douglas",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "The tornado touched down about 4.5 miles southwest of Tuscola along County Rd 750 N and it progressed east along that road snapping off numerous large pine trees as well as damaging an outbuilding before it dissipated shortly after crossing N County Rd 800 E.",
   "sourceDetail": "NWS ILX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-03-15-tornado-39.79--88.32",
   "lat": 39.79,
   "lon": -88.32,
   "zip": "",
   "city": "2 WSW Tuscola",
   "date": "2026-03-15",
   "county": "Douglas",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "Corrects previous tornado report from 2 WSW Tuscola, adjusting the time back one hour. The tornado touched down about 2 miles southwest of Tuscola where it snapped off several large trees along N County Rd 800 E. It moved northeast into Tuscola where it caused more tree and fencing damage. It continued on to Villa Grove with minor tree damage along the way. It snapped off multiple power poles on the north side of Villa Grove along with some tree damage before it dissipated just north of town.",
   "sourceDetail": "NWS ILX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "asos-bf-MTO-2026-03-15",
   "lat": 39.4779,
   "lon": -88.2792,
   "zip": "",
   "city": "MATTOON/CHARLEST",
   "date": "2026-03-15",
   "county": "Coles",
   "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": "MATTOON/CHARLEST (MTO) recorded a 58 mph gust.",
   "sourceDetail": "IL_ASOS automated observation — MATTOON/CHARLEST (MTO) [365d backfill 2026-08]",
   "windSpeedMph": 58,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-MTO-2026-03-13",
   "lat": 39.4779,
   "lon": -88.2792,
   "zip": "",
   "city": "MATTOON/CHARLEST",
   "date": "2026-03-13",
   "county": "Coles",
   "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": "MATTOON/CHARLEST (MTO) recorded a 56 mph gust.",
   "sourceDetail": "IL_ASOS automated observation — MATTOON/CHARLEST (MTO) [365d backfill 2026-08]",
   "windSpeedMph": 56,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-geo-2026-03-11-tornado-39.15--88.01",
   "lat": 39.15,
   "lon": -88.01,
   "zip": "",
   "city": "2 NNE Yale",
   "date": "2026-03-11",
   "county": "Jasper",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "A tornado touched down about 1.5 miles north-northwest of Yale where it did some tree damage, then progressed to the northeast where it destroyed a barn near the intersection of 2100E and 2000N. The tornado dissipated shortly after.",
   "sourceDetail": "NWS ILX — Emergency Mngr via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "asos-bf-MTO-2026-02-24",
   "lat": 39.4779,
   "lon": -88.2792,
   "zip": "",
   "city": "MATTOON/CHARLEST",
   "date": "2026-02-24",
   "county": "Coles",
   "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": "MATTOON/CHARLEST (MTO) recorded a 53 mph gust.",
   "sourceDetail": "IL_ASOS automated observation — MATTOON/CHARLEST (MTO) [365d backfill 2026-08]",
   "windSpeedMph": 53,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-MTO-2026-02-20",
   "lat": 39.4779,
   "lon": -88.2792,
   "zip": "",
   "city": "MATTOON/CHARLEST",
   "date": "2026-02-20",
   "county": "Coles",
   "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": "MATTOON/CHARLEST (MTO) recorded a 51 mph gust.",
   "sourceDetail": "IL_ASOS automated observation — MATTOON/CHARLEST (MTO) [365d backfill 2026-08]",
   "windSpeedMph": 51,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-02-19-hail-39.31--87.99",
   "lat": 39.31,
   "lon": -87.99,
   "zip": "",
   "city": "1 NNE Casey",
   "date": "2026-02-19",
   "county": "Clark",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Pea to quarter size hail for about 4 minutes and covering the ground.",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-02-19-hail-39.32--87.88",
   "lat": 39.32,
   "lon": -87.88,
   "zip": "",
   "city": "1 S Martinsville",
   "date": "2026-02-19",
   "county": "Clark",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Delayed report. Quarter size hail reported via social media. Time estimated from radar.",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-01-08-wind-39.47--88.27",
   "lat": 39.47,
   "lon": -88.27,
   "zip": "",
   "city": "Coles County Airport",
   "date": "2026-01-08",
   "county": "Coles",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "ASOS station KMTO Coles Co. Mem AP.",
   "sourceDetail": "NWS ILX — ASOS via Iowa Mesonet",
   "windSpeedMph": 60,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-MTO-2026-01-08",
   "lat": 39.4779,
   "lon": -88.2792,
   "zip": "",
   "city": "MATTOON/CHARLEST",
   "date": "2026-01-08",
   "county": "Coles",
   "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": "MATTOON/CHARLEST (MTO) recorded a 60 mph gust.",
   "sourceDetail": "IL_ASOS automated observation — MATTOON/CHARLEST (MTO) [365d backfill 2026-08]",
   "windSpeedMph": 60,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-geo-2025-12-28-tornado-39.64--87.85",
   "lat": 39.64,
   "lon": -87.85,
   "zip": "",
   "city": "1 SE Redmon",
   "date": "2025-12-28",
   "county": "Edgar",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "Brief touchdown east of Redmon. Public reported damage to an outbuilding.",
   "sourceDetail": "NWS ILX — Storm Chaser via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "asos-bf-MTO-2025-11-30",
   "lat": 39.4779,
   "lon": -88.2792,
   "zip": "",
   "city": "MATTOON/CHARLEST",
   "date": "2025-11-30",
   "county": "Coles",
   "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": "MATTOON/CHARLEST (MTO) recorded a 50 mph gust.",
   "sourceDetail": "IL_ASOS automated observation — MATTOON/CHARLEST (MTO) [365d backfill 2026-08]",
   "windSpeedMph": 50,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2025-11-26-wind-39.47--88.27",
   "lat": 39.47,
   "lon": -88.27,
   "zip": "",
   "city": "Coles County Airport",
   "date": "2025-11-26",
   "county": "Coles",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "wind",
   "confidence": 0.92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "ASOS station KMTO Coles Co. Mem AP.",
   "sourceDetail": "NWS ILX — ASOS via Iowa Mesonet",
   "windSpeedMph": 55,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2025-11-26-wind-39.47--88.27",
   "lat": 39.47,
   "lon": -88.27,
   "zip": "",
   "city": "Coles County Airport",
   "date": "2025-11-26",
   "county": "Coles",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "wind",
   "confidence": 0.92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "ASOS station KMTO Coles Co. Mem AP.",
   "sourceDetail": "NWS ILX — ASOS via Iowa Mesonet",
   "windSpeedMph": 56,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-MTO-2025-11-26",
   "lat": 39.4779,
   "lon": -88.2792,
   "zip": "",
   "city": "MATTOON/CHARLEST",
   "date": "2025-11-26",
   "county": "Coles",
   "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": "MATTOON/CHARLEST (MTO) recorded a 55 mph gust.",
   "sourceDetail": "IL_ASOS automated observation — MATTOON/CHARLEST (MTO) [365d backfill 2026-08]",
   "windSpeedMph": 55,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2025-11-18-hail-39.19--87.93",
   "lat": 39.19,
   "lon": -87.93,
   "zip": "",
   "city": "4 NNE Bellair",
   "date": "2025-11-18",
   "county": "Clark",
   "source": "IEM Local Storm Reports",
   "severity": "severe",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Delayed report. Size estimated from photo. Time estimated by radar.",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 2.5
  },
  {
   "id": "asos-bf-MTO-2025-10-21",
   "lat": 39.4779,
   "lon": -88.2792,
   "zip": "",
   "city": "MATTOON/CHARLEST",
   "date": "2025-10-21",
   "county": "Coles",
   "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": "MATTOON/CHARLEST (MTO) recorded a 51 mph gust.",
   "sourceDetail": "IL_ASOS automated observation — MATTOON/CHARLEST (MTO) [365d backfill 2026-08]",
   "windSpeedMph": 51,
   "evidenceLevel": "observed"
  }
 ]
}