{
 "dataset": "Normal, 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-24T09:20:11.824+00:00",
 "window_days": 365,
 "event_count": 64,
 "fields": {
  "date": "Event date (YYYY-MM-DD, local storm day)",
  "county": "County or county-equivalent",
  "city": "Nearest city/place named in the source record",
  "event_type": "hazard tag: wind | hail | tornado | flood | lightning",
  "severity": "StormAuditor severity bucket (low|moderate|high|severe)",
  "evidence": "evidence level of the source record",
  "wind_mph": "reported/estimated wind gust, mph (blank if n/a)",
  "hail_in": "reported/estimated hail size, inches (blank if n/a)",
  "source": "originating public record (NWS warning, LSR, NCEI, ...)",
  "lat": "event latitude (WGS84, may be blank)",
  "lon": "event longitude (WGS84, may be blank)"
 },
 "events": [
  {
   "id": "iem-lsr-2026-08-13-wind-40.53--88.96",
   "lat": 40.53,
   "lon": -88.96,
   "zip": "",
   "city": "2 NE Normal",
   "date": "2026-08-13",
   "county": "McLean",
   "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 2 NE Normal",
   "sourceDetail": "NWS ILX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 64,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-08-13-wind-40.48--88.91",
   "lat": 40.48,
   "lon": -88.91,
   "zip": "",
   "city": "Central Illinois Airpor",
   "date": "2026-08-13",
   "county": "McLean",
   "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 KBMI Bloomington Arpt.",
   "sourceDetail": "NWS ILX — AWOS via Iowa Mesonet",
   "windSpeedMph": 67,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-08-13-wind-40.36--88.63",
   "lat": 40.36,
   "lon": -88.63,
   "zip": "",
   "city": "6 S Arrowsmith",
   "date": "2026-08-13",
   "county": "McLean",
   "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 6 S Arrowsmith",
   "sourceDetail": "NWS ILX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 61,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-06-17-hail-40.34--89.31",
   "lat": 40.34,
   "lon": -89.31,
   "zip": "",
   "city": "Armington",
   "date": "2026-06-17",
   "county": "Tazewell",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Quarter size hail.",
   "sourceDetail": "NWS ILX — Broadcast Media via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-06-17-wind-40.80--89.20",
   "lat": 40.8,
   "lon": -89.2,
   "zip": "",
   "city": "Roanoke",
   "date": "2026-06-17",
   "county": "Woodford",
   "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 at the Emergency Operations Center.",
   "sourceDetail": "NWS ILX — Emergency Mngr via Iowa Mesonet",
   "windSpeedMph": 60,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-06-17-wind-40.74--88.88",
   "lat": 40.74,
   "lon": -88.88,
   "zip": "",
   "city": "Gridley",
   "date": "2026-06-17",
   "county": "McLean",
   "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": "Wind gust observation from personal weather station...relayed through broadcast media.",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "windSpeedMph": 70,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-06-11-wind-40.53--89.36",
   "lat": 40.53,
   "lon": -89.36,
   "zip": "",
   "city": "Mackinaw",
   "date": "2026-06-11",
   "county": "Tazewell",
   "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": "Time estimated by radar.",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "windSpeedMph": 62,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-06-11-wind-40.72--89.34",
   "lat": 40.72,
   "lon": -89.34,
   "zip": "",
   "city": "4 E Washington",
   "date": "2026-06-11",
   "county": "Tazewell",
   "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 4 E Washington",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "windSpeedMph": 63,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-06-11-wind-40.71--89.29",
   "lat": 40.71,
   "lon": -89.29,
   "zip": "",
   "city": "1 SW Eureka",
   "date": "2026-06-11",
   "county": "Woodford",
   "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 1 SW Eureka",
   "sourceDetail": "NWS ILX — Emergency Mngr via Iowa Mesonet",
   "windSpeedMph": 60,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-06-11-wind-40.48--88.91",
   "lat": 40.48,
   "lon": -88.91,
   "zip": "",
   "city": "Central Illinois Airpor",
   "date": "2026-06-11",
   "county": "McLean",
   "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 Central Illinois Airpor",
   "sourceDetail": "NWS ILX — AWOS via Iowa Mesonet",
   "windSpeedMph": 59,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-06-11-wind-40.35--88.77",
   "lat": 40.35,
   "lon": -88.77,
   "zip": "",
   "city": "Le Roy",
   "date": "2026-06-11",
   "county": "McLean",
   "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": 78,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-geo-2026-06-11-tornado-40.63--89.35",
   "lat": 40.63,
   "lon": -89.35,
   "zip": "",
   "city": "1 W Deer Creek",
   "date": "2026-06-11",
   "county": "Tazewell",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "TORNADO reported near 1 W Deer Creek",
   "sourceDetail": "NWS ILX — Trained Spotter via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-06-11-tornado-40.85--88.82",
   "lat": 40.85,
   "lon": -88.82,
   "zip": "",
   "city": "3 SE Flanagan",
   "date": "2026-06-11",
   "county": "Livingston",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "NWS Survey confirms a preliminary EF-1 tornado. Most significant damage found consistent with winds of 105 mph. Peak width of 900 yards, length of 33.6 miles.",
   "sourceDetail": "NWS LOT — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "asos-bf-BMI-2026-06-11",
   "lat": 40.4771,
   "lon": -88.9159,
   "zip": "",
   "city": "BLOOMINGTON/NORM",
   "date": "2026-06-11",
   "county": "McLean",
   "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": "BLOOMINGTON/NORM (BMI) recorded a 59 mph gust.",
   "sourceDetail": "IL_ASOS automated observation — BLOOMINGTON/NORM (BMI) [365d backfill 2026-08]",
   "windSpeedMph": 59,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-06-10-wind-40.63--89.28",
   "lat": 40.63,
   "lon": -89.28,
   "zip": "",
   "city": "Goodfield",
   "date": "2026-06-10",
   "county": "Woodford",
   "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": "TSTM WND GST reported near Goodfield",
   "sourceDetail": "NWS ILX — Emergency Mngr via Iowa Mesonet",
   "windSpeedMph": 55,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-06-10-wind-40.75--89.05",
   "lat": 40.75,
   "lon": -89.05,
   "zip": "",
   "city": "2 WNW El Paso",
   "date": "2026-06-10",
   "county": "Woodford",
   "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": "Personal Weather System Observation.",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "windSpeedMph": 59,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-06-10-wind-40.80--89.20",
   "lat": 40.8,
   "lon": -89.2,
   "zip": "",
   "city": "Roanoke",
   "date": "2026-06-10",
   "county": "Woodford",
   "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": "59 mph wind gust measured at EMA building in Roanoke.",
   "sourceDetail": "NWS ILX — Emergency Mngr via Iowa Mesonet",
   "windSpeedMph": 59,
   "evidenceLevel": "reported"
  },
  {
   "id": "asos-bf-BMI-2026-06-10",
   "lat": 40.4771,
   "lon": -88.9159,
   "zip": "",
   "city": "BLOOMINGTON/NORM",
   "date": "2026-06-10",
   "county": "McLean",
   "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": "BLOOMINGTON/NORM (BMI) recorded a 51 mph gust.",
   "sourceDetail": "IL_ASOS automated observation — BLOOMINGTON/NORM (BMI) [365d backfill 2026-08]",
   "windSpeedMph": 51,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-05-18-wind-40.79--89.20",
   "lat": 40.79,
   "lon": -89.2,
   "zip": "",
   "city": "Roanoke",
   "date": "2026-05-18",
   "county": "Woodford",
   "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 gust to 58 mph at Woodford County EOC.",
   "sourceDetail": "NWS ILX — Emergency Mngr via Iowa Mesonet",
   "windSpeedMph": 58,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-04-27-hail-40.72--89.27",
   "lat": 40.72,
   "lon": -89.27,
   "zip": "",
   "city": "Eureka",
   "date": "2026-04-27",
   "county": "Woodford",
   "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 ILX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.25
  },
  {
   "id": "iem-lsr-2026-04-27-hail-40.62--89.22",
   "lat": 40.62,
   "lon": -89.22,
   "zip": "",
   "city": "1 W Congerville",
   "date": "2026-04-27",
   "county": "Woodford",
   "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-geo-2026-04-27-tornado-40.19--88.89",
   "lat": 40.19,
   "lon": -88.89,
   "zip": "",
   "city": "4 ESE Wapella",
   "date": "2026-04-27",
   "county": "De Witt",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "Small machine shed collapsed with its debris strewn toward the ENE near the intersection of Birkbeck Rd and Northfork Rd.",
   "sourceDetail": "NWS ILX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-04-17-wind-40.51--89.29",
   "lat": 40.51,
   "lon": -89.29,
   "zip": "",
   "city": "4 ESE Mackinaw",
   "date": "2026-04-17",
   "county": "Tazewell",
   "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": "TSTM WND GST reported near 4 ESE Mackinaw",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "windSpeedMph": 78,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-04-17-wind-40.47--88.91",
   "lat": 40.47,
   "lon": -88.91,
   "zip": "",
   "city": "Central Illinois Airpor",
   "date": "2026-04-17",
   "county": "McLean",
   "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 Central Illinois Airpor",
   "sourceDetail": "NWS ILX — AWOS via Iowa Mesonet",
   "windSpeedMph": 66,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-04-17-wind-40.51--88.98",
   "lat": 40.51,
   "lon": -88.98,
   "zip": "",
   "city": "Normal",
   "date": "2026-04-17",
   "county": "McLean",
   "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": "Wind gust measured with anemometer.",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "windSpeedMph": 85,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-04-17-wind-40.56--88.90",
   "lat": 40.56,
   "lon": -88.9,
   "zip": "",
   "city": "Towanda",
   "date": "2026-04-17",
   "county": "McLean",
   "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": "Peak gust before power was lost.",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "windSpeedMph": 82,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-04-17-tornado-40.34--89.07",
   "lat": 40.34,
   "lon": -89.07,
   "zip": "",
   "city": "5 S Shirley",
   "date": "2026-04-17",
   "county": "McLean",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "EF1, peak wind speed 100 mph, path length 33.8 miles. The tornado touched down about 2.5 miles southeast of Funks Grove where it produced some tree damage along E 400 North Rd. It progressed northeast crossing Hwy 51 just south of Randolph, causing damage to numerous trees along the way. As it headed toward Downs, it caused EF-1 damage to a home and several large trees, with estimated wind speeds of 100 mph. As the tornado moved northeast toward Ellsworth, it caused more tree damage and some home damage, with wind speeds up to 100 mph. The remainder of the tornado path were through countryside areas, with tree damage the primary impacts. The tornado dissipated about 1.5 miles from the Ford County line along E 1700 North Rd.",
   "sourceDetail": "NWS ILX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-04-17-tornado-40.52--89.42",
   "lat": 40.52,
   "lon": -89.42,
   "zip": "",
   "city": "3 E Tremont",
   "date": "2026-04-17",
   "county": "Tazewell",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "EF1, max wind speed 110 mph, path length 10.7 mi. The tornado touched down near Lake Windermere where it caused tree damage and some minor siding damage at various locations around the Lake. It progressed to Mackinaw and Heritage Lake where it produced more tree damage. It eventually moved into northwestern McLean County where it snapped of 3 large power poles along N 150 East Road. It dissipated shortly after that.",
   "sourceDetail": "NWS ILX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-04-17-tornado-40.41--89.33",
   "lat": 40.41,
   "lon": -89.33,
   "zip": "",
   "city": "2 SSW Minier",
   "date": "2026-04-17",
   "county": "Tazewell",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "EF1, peak wind speed 100 mph, path length 12.4 miles, path width 300 yds. This tornado touched down 3 miles south of Minier and moved northeast destroying a farm outbuildings and blowing to west east into the field. It damaged a farm building and then moved northeast and entered the far west side of Stanford. In the northwest side of town it did lots of tree damage and then moved northeast toward Bloomington, IL. The tornado damaged more trees and then dissipated 2 miles west of I-55/I-74 on Rte 9.",
   "sourceDetail": "NWS ILX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-04-17-tornado-40.38--89.34",
   "lat": 40.38,
   "lon": -89.34,
   "zip": "",
   "city": "3 NNW Armington",
   "date": "2026-04-17",
   "county": "Tazewell",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "EF1, peak wind speed 90 mph, path length 1 mile, path width 200 yds. This tornado briefly touched down and did minor tree damage and blew a portion of the roof of a machine building. It was on the ground for 1 mile.",
   "sourceDetail": "NWS ILX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-04-17-tornado-40.54--89.27",
   "lat": 40.54,
   "lon": -89.27,
   "zip": "",
   "city": "4 E Mackinaw",
   "date": "2026-04-17",
   "county": "Tazewell",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "EF2, max wind speed 115 mph, path length 2 mi. The tornado touched down along Runyon Rd about a half mile west of the Tazewell-McLean County line. It cause extensive damage to that area, snapping off 7 large power poles and causing damage to several outbuildings. One large grain bin was tossed several hundred yards to the east. The tornado progressed into McLean County where it caused primarily tree damage before dissipating just north of Woodruff.",
   "sourceDetail": "NWS ILX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-04-17-tornado-40.49--89.08",
   "lat": 40.49,
   "lon": -89.08,
   "zip": "",
   "city": "5 WNW Bloomington",
   "date": "2026-04-17",
   "county": "McLean",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "This is a correction to a previous tornado LSR. EF1, peak wind speed 110 mph, path length 11.3 miles, path width 900 yds. This tornado touched down on Old Peoria Rd 1 miles west of Rivian Parkway on the far west side of Bloomington, IL and did just tree damage. It then moved northeast and damaged several metal buildings. As it moved northeast across Normal, IL, it did significant tree damage, especially between Main Street and North Linden Street. It continued to do tree damage as it moved northeast. As it left town, it flipped over a semi on I-55. It then entered Towanda, doing minor damage and ended just northeast of town.",
   "sourceDetail": "NWS ILX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-04-17-tornado-40.45--89.01",
   "lat": 40.45,
   "lon": -89.01,
   "zip": "",
   "city": "2 SSW Bloomington",
   "date": "2026-04-17",
   "county": "McLean",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "EF1, peak wind speed 100 mph, path length 1.3 miles. This tornado set down next to Veteran Parkway doing minor damage to two greenhouses. It traveled near the highway and into Highland Park Golf Course where it did only tree damage. It ended before reaching Main Street.",
   "sourceDetail": "NWS ILX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-04-17-tornado-40.45--89.03",
   "lat": 40.45,
   "lon": -89.03,
   "zip": "",
   "city": "3 SW Bloomington",
   "date": "2026-04-17",
   "county": "McLean",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "This tornado is a combination of two previously LSRd tornadoes in Bloomington IL. This tornado developed just south of Fox Creek Road between I- 55 and Veterans Parkway, with a few greenhouses damaged along the track. It traveled near Veterans Parkway and into Highland Park Golf Course where it did only tree damage. It continued through South Oakland and across the Bloomington Country Club Golf Course, where it produced mainly tree damage. As it moved northeast it broke two power poles on Empire St and then traveled across Veterans Parkway into a housing area. It did significant tree damage as it moved northeast and then broke two more power poles on GE Road. It continued northeast, doing more tree damage as it headed out of Bloomington. It snapped off trees about 1.5 miles northeast of Bloomington along E 1750 North Rd, as well as along E 1900 North Rd where it also did significant damage to an outbuilding near the intersection with N 2300 East Rd. As it continued northeast, it did soffit damage to a home, snapped branches, and damaged an outbuilding along E 2100 North Rd. As it passed to the southeast of Pleasant Hill, it damaged the roofs and doors of two outbuildings along E 2250 North Rd then dissipated after it snapped a power pole and a tree about 2 miles northeast of Pleasant Hill along N 2900 East Rd. The EF-1 tornado path extended 20.87 miles.",
   "sourceDetail": "NWS ILX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-04-17-tornado-40.48--88.97",
   "lat": 40.48,
   "lon": -88.97,
   "zip": "",
   "city": "2 ENE Bloomington",
   "date": "2026-04-17",
   "county": "McLean",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "EF1, peak wind speed 110 mph, path length 4.0 miles. This tornado touched down in the Bloomington Country Club Golf Course and did tree damage. As it moved northeast it broke two power poles on Empire St and then traveled across Veterans Parkway into a housing area. It did significant tree damage as it moved northeast and then broke two more power poles on GE Road. It continued northeast, doing more tree damage and then weakened and ended near the intersection of Fort Jesse Road and Towanda Barnes Road.",
   "sourceDetail": "NWS ILX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-04-17-tornado-40.64--88.79",
   "lat": 40.64,
   "lon": -88.79,
   "zip": "",
   "city": "Lexington",
   "date": "2026-04-17",
   "county": "McLean",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "EF1, max wind speed 100 mph, path length 0.34 mi. Moved across the northwest portions of town, mainly snapping tree branches and power poles. One house received some minor roof damage.",
   "sourceDetail": "NWS ILX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-04-17-tornado-40.61--88.67",
   "lat": 40.61,
   "lon": -88.67,
   "zip": "",
   "city": "4 E Pleasant Hill",
   "date": "2026-04-17",
   "county": "McLean",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "EF1, path length 7.9 miles, peak wind speed 90 mph. The tornado began in rural northeast McLean County about 4 miles northwest of Colfax, damaging trees and power poles and power lines. The tornado crossed into Livingston County, damaging more trees and a machine shed.",
   "sourceDetail": "NWS ILX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-04-17-tornado-40.43--88.54",
   "lat": 40.43,
   "lon": -88.54,
   "zip": "",
   "city": "1 W Saybrook",
   "date": "2026-04-17",
   "county": "McLean",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "EF0, peak wind speed 85 mph, path length 3.2 miles. Tracked ENE across western and northern portions of Saybrook. A narrow, one block damage path consisted of several downed trees and multiple broken large tree limbs. The narrow path and few available damage indicators resulted in inconclusive evidence of a track extending farther to the WSW or ENE into Gibson City.",
   "sourceDetail": "NWS ILX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-04-17-tornado-40.66--88.58",
   "lat": 40.66,
   "lon": -88.58,
   "zip": "",
   "city": "7 SSW Fairbury",
   "date": "2026-04-17",
   "county": "Livingston",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "An NWS damage survey determined an EF-1 tornado started in McLean County and crossed into Livingston County. Peak winds were estimated near 90 mph.",
   "sourceDetail": "NWS LOT — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "asos-bf-BMI-2026-04-17",
   "lat": 40.4771,
   "lon": -88.9159,
   "zip": "",
   "city": "BLOOMINGTON/NORM",
   "date": "2026-04-17",
   "county": "McLean",
   "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": "BLOOMINGTON/NORM (BMI) recorded a 66 mph gust.",
   "sourceDetail": "IL_ASOS automated observation — BLOOMINGTON/NORM (BMI) [365d backfill 2026-08]",
   "windSpeedMph": 66,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-04-03-hail-40.53--89.18",
   "lat": 40.53,
   "lon": -89.18,
   "zip": "",
   "city": "Danvers",
   "date": "2026-04-03",
   "county": "McLean",
   "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 Danvers",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-04-02-wind-40.58--88.95",
   "lat": 40.58,
   "lon": -88.95,
   "zip": "",
   "city": "3 WNW Towanda",
   "date": "2026-04-02",
   "county": "McLean",
   "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": "Mesonet station FW2710 Towanda.",
   "sourceDetail": "NWS ILX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 53,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-04-02-wind-40.58--88.95",
   "lat": 40.58,
   "lon": -88.95,
   "zip": "",
   "city": "3 WNW Towanda",
   "date": "2026-04-02",
   "county": "McLean",
   "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 FW2710 Towanda.",
   "sourceDetail": "NWS ILX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 58,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-04-02-wind-40.48--88.91",
   "lat": 40.48,
   "lon": -88.91,
   "zip": "",
   "city": "Central Illinois Airpor",
   "date": "2026-04-02",
   "county": "McLean",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "wind",
   "confidence": 0.92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "AWOS station KBMI Bloomington Arpt.",
   "sourceDetail": "NWS ILX — AWOS via Iowa Mesonet",
   "windSpeedMph": 51,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-BMI-2026-04-02",
   "lat": 40.4771,
   "lon": -88.9159,
   "zip": "",
   "city": "BLOOMINGTON/NORM",
   "date": "2026-04-02",
   "county": "McLean",
   "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": "BLOOMINGTON/NORM (BMI) recorded a 51 mph gust.",
   "sourceDetail": "IL_ASOS automated observation — BLOOMINGTON/NORM (BMI) [365d backfill 2026-08]",
   "windSpeedMph": 51,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-03-31-hail-40.72--89.35",
   "lat": 40.72,
   "lon": -89.35,
   "zip": "",
   "city": "3 ENE Washington",
   "date": "2026-03-31",
   "county": "Tazewell",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "East Cruger & DeeMack Road. Delayed report. Time estimated from radar.",
   "sourceDetail": "NWS ILX — Broadcast Media via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.25
  },
  {
   "id": "iem-lsr-2026-03-31-hail-40.74--89.27",
   "lat": 40.74,
   "lon": -89.27,
   "zip": "",
   "city": "1 N Eureka",
   "date": "2026-03-31",
   "county": "Woodford",
   "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 N Eureka",
   "sourceDetail": "NWS ILX — Trained Spotter via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-03-26-hail-40.46--89.07",
   "lat": 40.46,
   "lon": -89.07,
   "zip": "",
   "city": "3 N Shirley",
   "date": "2026-03-26",
   "county": "McLean",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Station Elevation: 776 ft.",
   "sourceDetail": "NWS ILX — NWS Employee via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-03-26-hail-40.47--88.99",
   "lat": 40.47,
   "lon": -88.99,
   "zip": "",
   "city": "1 S Bloomington",
   "date": "2026-03-26",
   "county": "McLean",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Dime size hail from 455 to 5 pm.",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.75
  },
  {
   "id": "iem-lsr-2026-03-26-hail-40.45--89.01",
   "lat": 40.45,
   "lon": -89.01,
   "zip": "",
   "city": "2 SW Bloomington",
   "date": "2026-03-26",
   "county": "McLean",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Report from mPING: Quarter (1.00 in.).",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-03-26-hail-40.46--88.84",
   "lat": 40.46,
   "lon": -88.84,
   "zip": "",
   "city": "2 W Holder",
   "date": "2026-03-26",
   "county": "McLean",
   "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 W Holder",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-03-15-wind-40.48--88.91",
   "lat": 40.48,
   "lon": -88.91,
   "zip": "",
   "city": "Central Illinois Airpor",
   "date": "2026-03-15",
   "county": "McLean",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "wind",
   "confidence": 0.92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "AWOS station KBMI Bloomington Arpt.",
   "sourceDetail": "NWS ILX — AWOS via Iowa Mesonet",
   "windSpeedMph": 51,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-BMI-2026-03-15",
   "lat": 40.4771,
   "lon": -88.9159,
   "zip": "",
   "city": "BLOOMINGTON/NORM",
   "date": "2026-03-15",
   "county": "McLean",
   "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": "BLOOMINGTON/NORM (BMI) recorded a 51 mph gust.",
   "sourceDetail": "IL_ASOS automated observation — BLOOMINGTON/NORM (BMI) [365d backfill 2026-08]",
   "windSpeedMph": 51,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-03-11-wind-40.63--89.28",
   "lat": 40.63,
   "lon": -89.28,
   "zip": "",
   "city": "Goodfield",
   "date": "2026-03-11",
   "county": "Woodford",
   "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": "TSTM WND GST reported near Goodfield",
   "sourceDetail": "NWS ILX — Trained Spotter via Iowa Mesonet",
   "windSpeedMph": 57,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-03-10-hail-40.86--88.95",
   "lat": 40.86,
   "lon": -88.95,
   "zip": "",
   "city": "6 SE Minonk",
   "date": "2026-03-10",
   "county": "Woodford",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Near the intersection of 1800 North and 3100 East.",
   "sourceDetail": "NWS ILX — Emergency Mngr via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-01-14-wind-40.85--88.82",
   "lat": 40.85,
   "lon": -88.82,
   "zip": "",
   "city": "3 SE Flanagan",
   "date": "2026-01-14",
   "county": "Livingston",
   "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": "Personal Weather station measured wind gust to 55 mph.",
   "sourceDetail": "NWS LOT — Public via Iowa Mesonet",
   "windSpeedMph": 55,
   "evidenceLevel": "reported"
  },
  {
   "id": "asos-bf-BMI-2025-12-29",
   "lat": 40.4771,
   "lon": -88.9159,
   "zip": "",
   "city": "BLOOMINGTON/NORM",
   "date": "2025-12-29",
   "county": "McLean",
   "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": "BLOOMINGTON/NORM (BMI) recorded a 54 mph gust.",
   "sourceDetail": "IL_ASOS automated observation — BLOOMINGTON/NORM (BMI) [365d backfill 2026-08]",
   "windSpeedMph": 54,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2025-12-28-hail-40.66--89.13",
   "lat": 40.66,
   "lon": -89.13,
   "zip": "",
   "city": "5 NE Congerville",
   "date": "2025-12-28",
   "county": "Woodford",
   "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 5 NE Congerville",
   "sourceDetail": "NWS ILX — Emergency Mngr via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "asos-bf-BMI-2025-12-28",
   "lat": 40.4771,
   "lon": -88.9159,
   "zip": "",
   "city": "BLOOMINGTON/NORM",
   "date": "2025-12-28",
   "county": "McLean",
   "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": "BLOOMINGTON/NORM (BMI) recorded a 50 mph gust.",
   "sourceDetail": "IL_ASOS automated observation — BLOOMINGTON/NORM (BMI) [365d backfill 2026-08]",
   "windSpeedMph": 50,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2025-12-18-wind-40.58--88.95",
   "lat": 40.58,
   "lon": -88.95,
   "zip": "",
   "city": "3 WNW Towanda",
   "date": "2025-12-18",
   "county": "McLean",
   "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": "Mesonet station FW2710 Towanda.",
   "sourceDetail": "NWS ILX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 52,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2025-12-18-wind-40.48--88.91",
   "lat": 40.48,
   "lon": -88.91,
   "zip": "",
   "city": "Central Illinois Airpor",
   "date": "2025-12-18",
   "county": "McLean",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "wind",
   "confidence": 0.92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "AWOS station KBMI Bloomington Arpt.",
   "sourceDetail": "NWS ILX — AWOS via Iowa Mesonet",
   "windSpeedMph": 51,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-BMI-2025-12-18",
   "lat": 40.4771,
   "lon": -88.9159,
   "zip": "",
   "city": "BLOOMINGTON/NORM",
   "date": "2025-12-18",
   "county": "McLean",
   "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": "BLOOMINGTON/NORM (BMI) recorded a 51 mph gust.",
   "sourceDetail": "IL_ASOS automated observation — BLOOMINGTON/NORM (BMI) [365d backfill 2026-08]",
   "windSpeedMph": 51,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2025-11-26-wind-40.48--88.91",
   "lat": 40.48,
   "lon": -88.91,
   "zip": "",
   "city": "Central Illinois Airpor",
   "date": "2025-11-26",
   "county": "McLean",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "wind",
   "confidence": 0.92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "AWOS station KBMI Bloomington Arpt.",
   "sourceDetail": "NWS ILX — AWOS via Iowa Mesonet",
   "windSpeedMph": 52,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-BMI-2025-11-26",
   "lat": 40.4771,
   "lon": -88.9159,
   "zip": "",
   "city": "BLOOMINGTON/NORM",
   "date": "2025-11-26",
   "county": "McLean",
   "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": "BLOOMINGTON/NORM (BMI) recorded a 52 mph gust.",
   "sourceDetail": "IL_ASOS automated observation — BLOOMINGTON/NORM (BMI) [365d backfill 2026-08]",
   "windSpeedMph": 52,
   "evidenceLevel": "observed"
  }
 ]
}