{
 "dataset": "Canton, 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": 54,
 "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-geo-2026-08-09-tornado-40.81--89.88",
   "lat": 40.81,
   "lon": -89.88,
   "zip": "",
   "city": "2 S Brimfield",
   "date": "2026-08-09",
   "county": "Peoria",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "Brief touchdown in a field, no damage reported.",
   "sourceDetail": "NWS ILX — Storm Chaser via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-06-21-tornado-40.49--89.71",
   "lat": 40.49,
   "lon": -89.71,
   "zip": "",
   "city": "3 W South Pekin",
   "date": "2026-06-21",
   "county": "Tazewell",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "Received video confirmation of a landspout.",
   "sourceDetail": "NWS ILX — Broadcast Media via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-06-17-wind-40.69--89.68",
   "lat": 40.69,
   "lon": -89.68,
   "zip": "",
   "city": "Bellevue",
   "date": "2026-06-17",
   "county": "Peoria",
   "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": "Relayed through Emergency Management.",
   "sourceDetail": "NWS ILX — Trained Spotter via Iowa Mesonet",
   "windSpeedMph": 60,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-06-11-hail-40.53--89.87",
   "lat": 40.53,
   "lon": -89.87,
   "zip": "",
   "city": "3 NE Banner",
   "date": "2026-06-11",
   "county": "Peoria",
   "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-06-11-hail-40.63--89.71",
   "lat": 40.63,
   "lon": -89.71,
   "zip": "",
   "city": "2 SW Peoria Intl Airpor",
   "date": "2026-06-11",
   "county": "Peoria",
   "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-06-11-hail-40.57--89.65",
   "lat": 40.57,
   "lon": -89.65,
   "zip": "",
   "city": "Pekin",
   "date": "2026-06-11",
   "county": "Tazewell",
   "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 Pekin",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.75
  },
  {
   "id": "iem-lsr-2026-06-11-wind-40.40--90.16",
   "lat": 40.4,
   "lon": -90.16,
   "zip": "",
   "city": "Lewistown",
   "date": "2026-06-11",
   "county": "Fulton",
   "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 Lewistown",
   "sourceDetail": "NWS ILX — Emergency Mngr via Iowa Mesonet",
   "windSpeedMph": 65,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-06-11-wind-40.40--90.16",
   "lat": 40.4,
   "lon": -90.16,
   "zip": "",
   "city": "Lewistown",
   "date": "2026-06-11",
   "county": "Fulton",
   "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 Lewistown",
   "sourceDetail": "NWS ILX — Emergency Mngr via Iowa Mesonet",
   "windSpeedMph": 70,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-06-11-wind-40.66--89.69",
   "lat": 40.66,
   "lon": -89.69,
   "zip": "",
   "city": "Peoria Intl Airport",
   "date": "2026-06-11",
   "county": "Peoria",
   "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 Peoria Intl Airport",
   "sourceDetail": "NWS ILX — ASOS via Iowa Mesonet",
   "windSpeedMph": 63,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-06-11-wind-40.68--89.59",
   "lat": 40.68,
   "lon": -89.59,
   "zip": "",
   "city": "1 NNW East Peoria",
   "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 1 NNW East Peoria",
   "sourceDetail": "NWS ILX — Broadcast Media via Iowa Mesonet",
   "windSpeedMph": 70,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-06-11-tornado-40.33--90.36",
   "lat": 40.33,
   "lon": -90.36,
   "zip": "",
   "city": "2 WSW Ipava",
   "date": "2026-06-11",
   "county": "Fulton",
   "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 60 mph, path length 2.39 miles, max width 30 yards. Drone photographs taken by a trained spotter show a tornado path began in a field approximately two miles southwest of Ipava, just north of the east-west oriented portion of north County Highway 12. Drone footage of the tornado showed it continued northeast, impacting a solar farm and tossing a few solar panels. It produced some crop damage in the fields and continued towards Ipava, crossing Bernadotte Street just south of west Main Street. Video shows a very weak tornado continued across Ipava, and there was no damage evident in the footage. The tornado dissipated on the northeast side of Ipava, near the intersection of Kinsey and Mechanic Street, prior to reaching the open field.",
   "sourceDetail": "NWS ILX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-06-11-tornado-40.35--90.32",
   "lat": 40.35,
   "lon": -90.32,
   "zip": "",
   "city": "Ipava",
   "date": "2026-06-11",
   "county": "Fulton",
   "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 Ipava",
   "sourceDetail": "NWS ILX — Emergency Mngr via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-06-10-wind-40.70--90.00",
   "lat": 40.7,
   "lon": -90,
   "zip": "",
   "city": "Farmington",
   "date": "2026-06-10",
   "county": "Fulton",
   "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 Farmington",
   "sourceDetail": "NWS ILX — Emergency Mngr via Iowa Mesonet",
   "windSpeedMph": 61,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-06-10-wind-40.64--89.58",
   "lat": 40.64,
   "lon": -89.58,
   "zip": "",
   "city": "1 E Creve Coeur",
   "date": "2026-06-10",
   "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 1 E Creve Coeur",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "windSpeedMph": 60,
   "evidenceLevel": "reported"
  },
  {
   "id": "asos-bf-PIA-2026-05-18",
   "lat": 40.6675,
   "lon": -89.6839,
   "zip": "",
   "city": "PEORIA",
   "date": "2026-05-18",
   "county": "Peoria",
   "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": "PEORIA (PIA) recorded a 51 mph gust.",
   "sourceDetail": "IL_ASOS automated observation — PEORIA (PIA) [365d backfill 2026-08]",
   "windSpeedMph": 51,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-04-27-wind-40.51--90.39",
   "lat": 40.51,
   "lon": -90.39,
   "zip": "",
   "city": "1 N Marietta",
   "date": "2026-04-27",
   "county": "Fulton",
   "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 N Marietta",
   "sourceDetail": "NWS ILX — Emergency Mngr via Iowa Mesonet",
   "windSpeedMph": 60,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-04-27-wind-40.56--90.04",
   "lat": 40.56,
   "lon": -90.04,
   "zip": "",
   "city": "Canton",
   "date": "2026-04-27",
   "county": "Fulton",
   "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": "Estimated 50-55 mph winds from SWOP observer.",
   "sourceDetail": "NWS ILX — Mesonet via Iowa Mesonet",
   "windSpeedMph": 55,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-04-17-hail-40.35--90.33",
   "lat": 40.35,
   "lon": -90.33,
   "zip": "",
   "city": "Ipava",
   "date": "2026-04-17",
   "county": "Fulton",
   "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 Ipava",
   "sourceDetail": "NWS ILX — Trained Spotter via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.5
  },
  {
   "id": "iem-lsr-2026-04-17-hail-40.35--90.32",
   "lat": 40.35,
   "lon": -90.32,
   "zip": "",
   "city": "Ipava",
   "date": "2026-04-17",
   "county": "Fulton",
   "source": "IEM Local Storm Reports",
   "severity": "severe",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Spotter reported hail measured at 60mm_ or 2.36 inch.",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 2
  },
  {
   "id": "iem-lsr-2026-04-17-hail-40.41--90.32",
   "lat": 40.41,
   "lon": -90.32,
   "zip": "",
   "city": "4 N Ipava",
   "date": "2026-04-17",
   "county": "Fulton",
   "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 4 N Ipava",
   "sourceDetail": "NWS ILX — Emergency Mngr via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-04-17-hail-40.63--90.10",
   "lat": 40.63,
   "lon": -90.1,
   "zip": "",
   "city": "3 E Fairview",
   "date": "2026-04-17",
   "county": "Fulton",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near 3 E Fairview",
   "sourceDetail": "NWS ILX — Trained Spotter via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-04-17-hail-40.63--90.16",
   "lat": 40.63,
   "lon": -90.16,
   "zip": "",
   "city": "Fairview",
   "date": "2026-04-17",
   "county": "Fulton",
   "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 Fairview",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-04-17-hail-40.92--90.02",
   "lat": 40.92,
   "lon": -90.02,
   "zip": "",
   "city": "Williamsfield",
   "date": "2026-04-17",
   "county": "Knox",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Hail damage due to golfball size hail.",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.75
  },
  {
   "id": "iem-lsr-2026-04-17-wind-40.40--90.16",
   "lat": 40.4,
   "lon": -90.16,
   "zip": "",
   "city": "Lewistown",
   "date": "2026-04-17",
   "county": "Fulton",
   "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 Lewistown",
   "sourceDetail": "NWS ILX — Emergency Mngr via Iowa Mesonet",
   "windSpeedMph": 65,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-04-17-wind-40.63--89.57",
   "lat": 40.63,
   "lon": -89.57,
   "zip": "",
   "city": "2 E Creve Coeur",
   "date": "2026-04-17",
   "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 2 E Creve Coeur",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "windSpeedMph": 70,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-04-17-tornado-40.37--90.39",
   "lat": 40.37,
   "lon": -90.39,
   "zip": "",
   "city": "2 E Table Grove",
   "date": "2026-04-17",
   "county": "Fulton",
   "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. EF2, peak wind speed 130 mph, path length 18.1 miles, path width 500 yds. The tornado touched down 2 miles east of Table Grove along Rifle Range Rd with a peak intensity of 130 mph when it laid down a swath of tree damage 500 yards wide, snapping off trees up to 2 to 3 feet in diameter just north of Rifle Range Rd. The tornado curved northeast through mostly forested area, where additional tree damage occurred along with some outbuilding damage. The tornado progressed to the east passing north of Bernadotte and Depler Springs before dissipating just north of Bryant. Along its path, the tornado mainly produced tree damage including uprooting and snapping off trunks. A couple of outbuildings lost their roofing material north of Depler Springs.",
   "sourceDetail": "NWS ILX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-04-17-tornado-40.39--90.42",
   "lat": 40.39,
   "lon": -90.42,
   "zip": "",
   "city": "2 N Table Grove",
   "date": "2026-04-17",
   "county": "Fulton",
   "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 18.6 mi. The tornado touched down about 2 miles north of Table Grove where it destroyed a newer grain bin with wind speeds around 110 mph and tossed the debris more than a mile away. The tornado progressed to the east passing north of Bernadotte and Depler Springs before dissipating just north of Bryant. Along its path, the tornado mainly produced tree damage including uprooting and snapping off trunks. A couple of outbuildings lost their roofing material north of Depler Springs.",
   "sourceDetail": "NWS ILX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-04-17-tornado-40.39--89.84",
   "lat": 40.39,
   "lon": -89.84,
   "zip": "",
   "city": "1 NNW Forest City",
   "date": "2026-04-17",
   "county": "Mason",
   "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 95 mph, path length 15.4 miles. The tornados path began approximately one mile north of Forest City ,along County Road 2800 E, where it first caused substantial tree damage. It then tracked northeastward through Union, crossing E Manito Rd and damaging a small outbuilding. Continuing its movement, the tornado entered the south side of Manito, resulting in snapped and uprooted trees and downed power lines. After crossing north of Hickory Grove road, the storm peeled the roof off a small outbuilding, lofting the debris eastward. The tornado then crossed into Tazewell County, just southeast of Parkland, where more tree damage and a tipped irrigation system were documented. The tornado proceeded to cross the Mackinaw River and caused extensive tree damage as it moved toward South Pekin, lifting slightly past the interchange of Townline Road and Towerline Road.",
   "sourceDetail": "NWS ILX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-04-17-tornado-40.27--89.76",
   "lat": 40.27,
   "lon": -89.76,
   "zip": "",
   "city": "5 ENE Easton",
   "date": "2026-04-17",
   "county": "Mason",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "Tornado on the ground with debris.",
   "sourceDetail": "NWS ILX — Trained Spotter via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-04-17-tornado-40.54--89.73",
   "lat": 40.54,
   "lon": -89.73,
   "zip": "",
   "city": "2 S Mapleton",
   "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 90 mph, path length 6.3 miles. The tornado touched down just southwest of Powerton Lake, and moved along the south side of the lake, before curving northeast. North of the prison, it began to track more eastward south of Koch St. before dissipating over Arlan Lake. A number of tree trunks were snapped along the west-east portion of the track, and an industrial building near the railroad tracks sustained some roof damage.",
   "sourceDetail": "NWS ILX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-04-17-tornado-40.61--89.62",
   "lat": 40.61,
   "lon": -89.62,
   "zip": "",
   "city": "1 WSW Marquette Heights",
   "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 95 mph, path length 2.3 mi. The tornado touched down along Lincoln Blvd on the southwest side of Marquette Heights where it did tree damage and minor home siding damage. It moved east and crossed through McNaughton Park and eventually dissipated along Cole Hollow Rd. While it was on the ground it caused mainly tree damage.",
   "sourceDetail": "NWS ILX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-04-17-tornado-40.51--89.62",
   "lat": 40.51,
   "lon": -89.62,
   "zip": "",
   "city": "2 NE South Pekin",
   "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 95 mph, path length 2.3 miles. The tornado tracked east along Red Shale Hill Rd., before turning northeast at Egg Ranch Rd. Most of the damage was toward the end of the track, in a wooded subdivision along Forest Hill Dr. Here, several tree trunks were snapped.",
   "sourceDetail": "NWS ILX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-04-03-hail-40.43--89.78",
   "lat": 40.43,
   "lon": -89.78,
   "zip": "",
   "city": "Manito",
   "date": "2026-04-03",
   "county": "Mason",
   "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 Manito",
   "sourceDetail": "NWS ILX — Broadcast Media via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-04-03-hail-40.37--89.83",
   "lat": 40.37,
   "lon": -89.83,
   "zip": "",
   "city": "Forest City",
   "date": "2026-04-03",
   "county": "Mason",
   "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 Forest City",
   "sourceDetail": "NWS ILX — Broadcast Media via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 2
  },
  {
   "id": "iem-lsr-2026-04-03-hail-40.30--89.98",
   "lat": 40.3,
   "lon": -89.98,
   "zip": "",
   "city": "4 E Havana",
   "date": "2026-04-03",
   "county": "Mason",
   "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 4 E Havana",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 2
  },
  {
   "id": "iem-lsr-2026-04-03-hail-40.37--89.83",
   "lat": 40.37,
   "lon": -89.83,
   "zip": "",
   "city": "Forest City",
   "date": "2026-04-03",
   "county": "Mason",
   "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 Forest City",
   "sourceDetail": "NWS ILX — Emergency Mngr via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-04-02-hail-40.70--90.01",
   "lat": 40.7,
   "lon": -90.01,
   "zip": "",
   "city": "Farmington",
   "date": "2026-04-02",
   "county": "Fulton",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Pea to dime size hail covering ground at Main and Vernon street.",
   "sourceDetail": "NWS ILX — Emergency Mngr via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.75
  },
  {
   "id": "iem-lsr-2026-04-02-hail-40.49--89.75",
   "lat": 40.49,
   "lon": -89.75,
   "zip": "",
   "city": "5 W South Pekin",
   "date": "2026-04-02",
   "county": "Tazewell",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Measured with photo.",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.5
  },
  {
   "id": "iem-lsr-2026-04-02-hail-40.57--89.73",
   "lat": 40.57,
   "lon": -89.73,
   "zip": "",
   "city": "Mapleton",
   "date": "2026-04-02",
   "county": "Peoria",
   "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 off of highway 24 in Mapleton. Photo via social media.",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-04-02-hail-40.57--89.64",
   "lat": 40.57,
   "lon": -89.64,
   "zip": "",
   "city": "Pekin",
   "date": "2026-04-02",
   "county": "Tazewell",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Nickel size hail in Pekin relayed by Tazewell county emergency manager.",
   "sourceDetail": "NWS ILX — Trained Spotter via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.88
  },
  {
   "id": "iem-lsr-2026-04-02-wind-40.78--89.97",
   "lat": 40.78,
   "lon": -89.97,
   "zip": "",
   "city": "Elmwood",
   "date": "2026-04-02",
   "county": "Peoria",
   "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 Elmwood",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet",
   "windSpeedMph": 63,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-04-02-wind-40.70--90.01",
   "lat": 40.7,
   "lon": -90.01,
   "zip": "",
   "city": "Farmington",
   "date": "2026-04-02",
   "county": "Fulton",
   "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": "60 to 65 mph winds with pea to dime size hail covering the ground at Main and Vernon street.",
   "sourceDetail": "NWS ILX — Emergency Mngr via Iowa Mesonet",
   "windSpeedMph": 65,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-04-02-wind-40.70--90.01",
   "lat": 40.7,
   "lon": -90.01,
   "zip": "",
   "city": "Farmington",
   "date": "2026-04-02",
   "county": "Fulton",
   "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 Farmington",
   "sourceDetail": "NWS ILX — Emergency Mngr via Iowa Mesonet",
   "windSpeedMph": 50,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-04-02-tornado-40.91--89.99",
   "lat": 40.91,
   "lon": -89.99,
   "zip": "",
   "city": "2 SE Williamsfield",
   "date": "2026-04-02",
   "county": "Knox",
   "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 Williamsfield just west of the Knox County line, where it destroyed an outbuilding. It crossed into Peoria County and strengthened to 110 mph winds as it snapped off 7 large power poles along State Route 78 near the intersection with Hwy 150. The tornado progressed eastward producing tree damage near N Brimfield Rd and N Maher Rd before dissipating.",
   "sourceDetail": "NWS ILX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-04-02-tornado-40.78--90.07",
   "lat": 40.78,
   "lon": -90.07,
   "zip": "",
   "city": "3 W Yates City",
   "date": "2026-04-02",
   "county": "Knox",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "The tornado developed near Douglas or about 3.5 miles west of Yates City along State Rt 8, where it damaged an outbuilding. It progressed to the northeast causing some damage to an outbuilding and numerous large trees along Knox Hwy 18 just south of 750 N. The tornado also damaged a couple of homes roofing and siding in that area before moving northeast across Knox Rd 2300 E where it did more tree damage before dissipating.",
   "sourceDetail": "NWS ILX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-04-02-tornado-40.84--90.01",
   "lat": 40.84,
   "lon": -90.01,
   "zip": "",
   "city": "4 N Yates City",
   "date": "2026-04-02",
   "county": "Knox",
   "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 east of Elba Center where it did some tree damage just south of Knox Road 900 N. It progressed across I-74 near E Knox Rd where it damaged an outbuilding and some trees. It caused additional tree damage along N Elmore Rd and W Swab Run Rd before dissipating near N McClellan Rd. Debris was thrown to the east of there as the tornado dissipated.",
   "sourceDetail": "NWS ILX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-03-31-hail-40.24--89.86",
   "lat": 40.24,
   "lon": -89.86,
   "zip": "",
   "city": "1 NW Easton",
   "date": "2026-03-31",
   "county": "Mason",
   "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 NW Easton",
   "sourceDetail": "NWS ILX — Broadcast Media via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.75
  },
  {
   "id": "iem-geo-2026-03-11-tornado-40.36--89.82",
   "lat": 40.36,
   "lon": -89.82,
   "zip": "",
   "city": "1 SSE Forest City",
   "date": "2026-03-11",
   "county": "Mason",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "A number of irrigation pivots were overturned along the path, and several trees had branches damaged. The tornado moved northeast toward Green Valley where it snapped off 8 power poles before dissipating a short time later.",
   "sourceDetail": "NWS ILX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-03-10-tornado-40.33--89.94",
   "lat": 40.33,
   "lon": -89.94,
   "zip": "",
   "city": "1 WNW Topeka",
   "date": "2026-03-10",
   "county": "Mason",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "Delayed public report relayed by broadcast media of a barn damaged. Time estimated by radar.",
   "sourceDetail": "NWS ILX — Public via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-03-10-tornado-40.30--90.04",
   "lat": 40.3,
   "lon": -90.04,
   "zip": "",
   "city": "1 E Havana",
   "date": "2026-03-10",
   "county": "Mason",
   "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 on the far east edge of Havana near Laurel Hill Cemetery, and moved northeast to near Topeka. A number of tree trunks were snapped along the path, and several power poles were snapped along county road 2130. The worst damage was about a mile west-northwest of Topeka, where a horse barn was partially destroyed, killing one horse.",
   "sourceDetail": "NWS ILX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-02-19-hail-40.39--89.83",
   "lat": 40.39,
   "lon": -89.83,
   "zip": "",
   "city": "4 SW Manito",
   "date": "2026-02-19",
   "county": "Mason",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Half dollar size hail at Sand Ridge State Forest.",
   "sourceDetail": "NWS ILX — Broadcast Media via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.25
  },
  {
   "id": "asos-bf-PIA-2025-12-28",
   "lat": 40.6675,
   "lon": -89.6839,
   "zip": "",
   "city": "PEORIA",
   "date": "2025-12-28",
   "county": "Peoria",
   "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": "PEORIA (PIA) recorded a 53 mph gust.",
   "sourceDetail": "IL_ASOS automated observation — PEORIA (PIA) [365d backfill 2026-08]",
   "windSpeedMph": 53,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2025-11-26-wind-40.66--89.69",
   "lat": 40.66,
   "lon": -89.69,
   "zip": "",
   "city": "Peoria Intl Airport",
   "date": "2025-11-26",
   "county": "Peoria",
   "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": "NON-TSTM WND GST reported near Peoria Intl Airport",
   "sourceDetail": "NWS ILX — Official NWS Obs via Iowa Mesonet",
   "windSpeedMph": 53,
   "evidenceLevel": "reported"
  },
  {
   "id": "asos-bf-PIA-2025-11-26",
   "lat": 40.6675,
   "lon": -89.6839,
   "zip": "",
   "city": "PEORIA",
   "date": "2025-11-26",
   "county": "Peoria",
   "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": "PEORIA (PIA) recorded a 53 mph gust.",
   "sourceDetail": "IL_ASOS automated observation — PEORIA (PIA) [365d backfill 2026-08]",
   "windSpeedMph": 53,
   "evidenceLevel": "observed"
  }
 ]
}