{
 "dataset": "Janesville, WI storm events — 12-month window, 25-mile radius (floods and special weather statements excluded, matching the city page)",
 "license": "https://www.stormauditor.com/data-license",
 "provenance": "Deduplicated by StormAuditor from public NOAA/NWS records (warnings, Local Storm Reports, NCEI Storm Events) under the published methodology at https://www.stormauditor.com/methodology",
 "refreshed_at": "2026-08-24T12:15:10.398+00:00",
 "window_days": 365,
 "event_count": 31,
 "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-09-wind-42.89-4",
   "lat": 42.89,
   "lon": -89.02,
   "zip": "",
   "city": "4 NE Edgerton",
   "date": "2026-08-09",
   "county": "Dane",
   "source": "SPC Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.93,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "wind reported near 4 NE Edgerton",
   "sourceDetail": "SPC filtered reports — 2026-08-09",
   "windSpeedMph": 59,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-08-07-hail-42.72--88.97",
   "lat": 42.72,
   "lon": -88.97,
   "zip": "",
   "city": "3 NE Janesville",
   "date": "2026-08-07",
   "county": "Rock",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Broadcast MET reports estimated dime to penny size hail NE of Janesville_ with estimated 40-50 MPH wind gusts.",
   "sourceDetail": "NWS MKX — Broadcast Media via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.75
  },
  {
   "id": "iem-lsr-2026-07-03-wind-42.57--88.68",
   "lat": 42.57,
   "lon": -88.68,
   "zip": "",
   "city": "2 SE Darien",
   "date": "2026-07-03",
   "county": "Walworth",
   "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": "*** 3 FATAL_ 2 INJ *** NWS Storm Survey for Walworth County: Damage from south of Darien through Lake Delavan to Como occurred due to downburst winds and not a tornado. Estimated peak winds of 90-100",
   "sourceDetail": "NWS MKX — NWS Storm Survey via Iowa Mesonet",
   "windSpeedMph": 100,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-07-03-wind-42.58--88.71",
   "lat": 42.58,
   "lon": -88.71,
   "zip": "",
   "city": "1 S Darien",
   "date": "2026-07-03",
   "county": "Walworth",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "Private Weather Station.",
   "sourceDetail": "NWS MKX — Public via Iowa Mesonet",
   "windSpeedMph": 63,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-06-24-hail-42.76--88.91",
   "lat": 42.76,
   "lon": -88.91,
   "zip": "",
   "city": "2 SE Milton",
   "date": "2026-06-24",
   "county": "Rock",
   "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 SE Milton",
   "sourceDetail": "NWS MKX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.25
  },
  {
   "id": "iem-lsr-2026-06-24-wind-42.78--88.95",
   "lat": 42.78,
   "lon": -88.95,
   "zip": "",
   "city": "Milton",
   "date": "2026-06-24",
   "county": "Rock",
   "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": "About 3 large limbs out of a healthy tree in Milton.",
   "sourceDetail": "NWS MKX — Public via Iowa Mesonet",
   "windSpeedMph": 60,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-06-10-wind-42.83--89.14",
   "lat": 42.83,
   "lon": -89.14,
   "zip": "",
   "city": "4 W Edgerton",
   "date": "2026-06-10",
   "county": "Rock",
   "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": "Trained spotter estimates 80 MPH wind gusts.",
   "sourceDetail": "NWS MKX — Trained Spotter via Iowa Mesonet",
   "windSpeedMph": 80,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-06-10-wind-42.53--89.20",
   "lat": 42.53,
   "lon": -89.2,
   "zip": "",
   "city": "6 N Shirland",
   "date": "2026-06-10",
   "county": "Rock",
   "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": "85 MPH wind gust estimated from home instrumentation.",
   "sourceDetail": "NWS MKX — Trained Spotter via Iowa Mesonet",
   "windSpeedMph": 85,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-06-10-wind-42.90--88.98",
   "lat": 42.9,
   "lon": -88.98,
   "zip": "",
   "city": "6 SE Rockdale",
   "date": "2026-06-10",
   "county": "Jefferson",
   "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": "Trained spotter estimates 85 MPH wind gusts.",
   "sourceDetail": "NWS MKX — Trained Spotter via Iowa Mesonet",
   "windSpeedMph": 85,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-06-10-wind-42.81--88.97",
   "lat": 42.81,
   "lon": -88.97,
   "zip": "",
   "city": "2 NW Milton",
   "date": "2026-06-10",
   "county": "Rock",
   "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": "Trained spotter estimates 80 MPH wind gusts.",
   "sourceDetail": "NWS MKX — Trained Spotter via Iowa Mesonet",
   "windSpeedMph": 80,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-06-10-wind-42.92--88.82",
   "lat": 42.92,
   "lon": -88.82,
   "zip": "",
   "city": "1 E Fort Atkinson",
   "date": "2026-06-10",
   "county": "Jefferson",
   "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": "Trained spotter estimates 75 MPH wind gusts.",
   "sourceDetail": "NWS MKX — Trained Spotter via Iowa Mesonet",
   "windSpeedMph": 75,
   "evidenceLevel": "reported"
  },
  {
   "id": "asos-bf-JVL-2026-06-10",
   "lat": 42.6202,
   "lon": -89.0416,
   "zip": "",
   "city": "JANESVILLE/ROCK",
   "date": "2026-06-10",
   "county": "Rock",
   "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": "JANESVILLE/ROCK (JVL) recorded a 55 mph gust.",
   "sourceDetail": "WI_ASOS automated observation — JANESVILLE/ROCK (JVL) [365d backfill 2026-08]",
   "windSpeedMph": 55,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-04-17-hail-42.53--88.97",
   "lat": 42.53,
   "lon": -88.97,
   "zip": "",
   "city": "3 E Beloit",
   "date": "2026-04-17",
   "county": "Rock",
   "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 3 E Beloit",
   "sourceDetail": "NWS MKX — Trained Spotter via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 2
  },
  {
   "id": "iem-lsr-2026-04-17-hail-42.71--89.24",
   "lat": 42.71,
   "lon": -89.24,
   "zip": "",
   "city": "3 NNW Footville",
   "date": "2026-04-17",
   "county": "Rock",
   "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 NNW Footville",
   "sourceDetail": "NWS MKX — Trained Spotter via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-04-17-hail-42.68--89.03",
   "lat": 42.68,
   "lon": -89.03,
   "zip": "",
   "city": "1 WSW Janesville",
   "date": "2026-04-17",
   "county": "Rock",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Time estimated from radar.",
   "sourceDetail": "NWS MKX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.5
  },
  {
   "id": "iem-geo-2026-04-17-tornado-42.64--88.95",
   "lat": 42.64,
   "lon": -88.95,
   "zip": "",
   "city": "4 SE Janesville",
   "date": "2026-04-17",
   "county": "Rock",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "NWS Damage Survey concludes an EF-1 tornado occurred with estimated peak winds of 100 mph. The tornado started southwest of Emerald Grove and moved northeastward, taking the roof off of a farm outbuilding, buckling garage doors, and snapping multiple trees before ending near Lake Lorraine. Time estimated from radar.",
   "sourceDetail": "NWS MKX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-04-17-tornado-42.65--88.87",
   "lat": 42.65,
   "lon": -88.87,
   "zip": "",
   "city": "1 N Avalon",
   "date": "2026-04-17",
   "county": "Rock",
   "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 5 ENE Avalon. Snapped and uprooted trees, damage to houses, and sheet metal wrapped around trees near Emerald Grove. Time estimated from radar.",
   "sourceDetail": "NWS MKX — Public via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-04-17-tornado-42.65--88.78",
   "lat": 42.65,
   "lon": -88.78,
   "zip": "",
   "city": "5 ENE Avalon",
   "date": "2026-04-17",
   "county": "Rock",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "Snapped and uprooted trees, damage to houses, and sheet metal wrapped around trees near Emerald Grove. Time estimated from radar.",
   "sourceDetail": "NWS MKX — Public via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-04-17-tornado-42.64--88.72",
   "lat": 42.64,
   "lon": -88.72,
   "zip": "",
   "city": "3 NNW Darien",
   "date": "2026-04-17",
   "county": "Walworth",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "NWS Storm Survey concludes an EF-1 tornado occurred with estimated peak winds of 100 mph. The tornado started just north of School Section Road, traveled along State Road 11 into the Redwood Court neighborhood of Delavan. Pine trees uprooted and snapped, a few outbuildings having sheet metal removed from the roof and walls, empty concrete silo toppled. Time estimated by radar.",
   "sourceDetail": "NWS MKX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-04-17-tornado-42.65--88.69",
   "lat": 42.65,
   "lon": -88.69,
   "zip": "",
   "city": "3 WNW Delavan",
   "date": "2026-04-17",
   "county": "Walworth",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "NWS Damage Survey concludes an EF-1 tornado occurred with estimated peak winds of 100 mph. The tornado started near Turtle Creek by Klug Road, lifting northeastward through the northern portions of Comus Lake by Dam Road. The tornado uprooted or snapped multiple trees along the path, pushed in mental doors on a large metal building, and pulled off shingles on a garage and a house. Time estimated by radar.",
   "sourceDetail": "NWS MKX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-04-15-tornado-42.68--88.64",
   "lat": 42.68,
   "lon": -88.64,
   "zip": "",
   "city": "4 N Delavan",
   "date": "2026-04-15",
   "county": "Walworth",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "EF1 tornado west of Elkhorn. Metal roof and wall panels ripped off buildings and lofted. Tree damage. Maximum estimated wind speed of 100 mph. Path of approximately 2 miles.",
   "sourceDetail": "NWS MKX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-04-14-wind-42.94--89.00",
   "lat": 42.94,
   "lon": -89,
   "zip": "",
   "city": "3 SE Rockdale",
   "date": "2026-04-14",
   "county": "Jefferson",
   "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": "Trained spotter estimates 70 MPH winds.",
   "sourceDetail": "NWS MKX — Trained Spotter via Iowa Mesonet",
   "windSpeedMph": 70,
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-geo-2026-04-14-tornado-42.95--89.11",
   "lat": 42.95,
   "lon": -89.11,
   "zip": "",
   "city": "4 WSW Rockdale",
   "date": "2026-04-14",
   "county": "Dane",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "tornado",
   "confidence": 0.9,
   "damageTypes": [
    "Structural roof failure",
    "Debris penetration",
    "Complete shingle removal"
   ],
   "description": "NWS Storm Survey: EF-1 tornado, estimated peak winds of 105 mph. 75 yards wide. Tornado appears to have started west of I-39 along Church Rd where it tracked to the north side before hitting a farmstead along Highway 73. Two metal barn structures were completely destroyed with sheet metal from these buildings found in the trees in the far farm hill. A cement silo was also lifted up and had 3 large chunks of the cap broken off of it. The tornado appears to have gone southeast toward County Road A before ending near Woodside School Rd. Extensive straight line/rear flank downdraft damage occurred about a mile or two to the south of the tornado with one farm shed destroyed along Hwy 73 south of Thronson Rd. Sheet metal from this building appeared to be tumbled into the nearby field to the east.",
   "sourceDetail": "NWS MKX — NWS Storm Survey via Iowa Mesonet (GeoJSON)",
   "evidenceLevel": "reported"
  },
  {
   "id": "iem-lsr-2026-04-02-hail-42.69--89.03",
   "lat": 42.69,
   "lon": -89.03,
   "zip": "",
   "city": "1 WNW Janesville",
   "date": "2026-04-02",
   "county": "Rock",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Hail at Mercy Hospital.",
   "sourceDetail": "NWS MKX — Broadcast Media via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.25
  },
  {
   "id": "iem-lsr-2026-04-02-hail-42.71--89.01",
   "lat": 42.71,
   "lon": -89.01,
   "zip": "",
   "city": "2 NNE Janesville",
   "date": "2026-04-02",
   "county": "Rock",
   "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 NNE Janesville",
   "sourceDetail": "NWS MKX — Broadcast Media via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.5
  },
  {
   "id": "iem-lsr-2026-04-02-hail-42.69--88.97",
   "lat": 42.69,
   "lon": -88.97,
   "zip": "",
   "city": "2 E Janesville",
   "date": "2026-04-02",
   "county": "Rock",
   "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 2 E Janesville",
   "sourceDetail": "NWS MKX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.75
  },
  {
   "id": "iem-lsr-2026-04-02-hail-42.84--88.77",
   "lat": 42.84,
   "lon": -88.77,
   "zip": "",
   "city": "2 W Whitewater",
   "date": "2026-04-02",
   "county": "Walworth",
   "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 W Whitewater",
   "sourceDetail": "NWS MKX — Broadcast Media via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 2
  },
  {
   "id": "iem-lsr-2026-04-02-hail-42.83--88.76",
   "lat": 42.83,
   "lon": -88.76,
   "zip": "",
   "city": "2 W Whitewater",
   "date": "2026-04-02",
   "county": "Walworth",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Report from mPING: Quarter (1.00 in.).",
   "sourceDetail": "NWS MKX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-04-02-hail-42.73--89.03",
   "lat": 42.73,
   "lon": -89.03,
   "zip": "",
   "city": "3 NNW Janesville",
   "date": "2026-04-02",
   "county": "Rock",
   "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 3 NNW Janesville",
   "sourceDetail": "NWS MKX — Emergency Mngr via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.88
  },
  {
   "id": "asos-bf-JVL-2026-03-13",
   "lat": 42.6202,
   "lon": -89.0416,
   "zip": "",
   "city": "JANESVILLE/ROCK",
   "date": "2026-03-13",
   "county": "Rock",
   "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": "JANESVILLE/ROCK (JVL) recorded a 58 mph gust.",
   "sourceDetail": "WI_ASOS automated observation — JANESVILLE/ROCK (JVL) [365d backfill 2026-08]",
   "windSpeedMph": 58,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-03-10-hail-42.51--89.03",
   "lat": 42.51,
   "lon": -89.03,
   "zip": "",
   "city": "1 SSW Beloit",
   "date": "2026-03-10",
   "county": "Rock",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "report relayed via social media.",
   "sourceDetail": "NWS MKX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  }
 ]
}