{
 "dataset": "Plymouth, MN storm events — 12-month window, 25-mile radius plus Hennepin records (floods and special weather statements excluded, matching the city page)",
 "license": "https://www.stormauditor.com/data-license",
 "provenance": "Consolidated by StormAuditor from public NOAA/NWS records (warnings, Local Storm Reports, NCEI Storm Events) under the published methodology at https://www.stormauditor.com/methodology",
 "refreshed_at": "2026-09-20T08:00:25.36+00:00",
 "window_days": 365,
 "schema_version": "2.0.0",
 "event_count": 118,
 "fields": {
  "id": "stable event identifier (source-derived)",
  "date": "event date (YYYY-MM-DD, local storm day)",
  "county": "county or county-equivalent (may be blank)",
  "city": "place name from the source record (LSR names may carry a distance/direction prefix)",
  "zip": "ZIP code when the source provides one (may be blank)",
  "eventType": "hazard tag: wind | hail | tornado | flood | lightning",
  "severity": "StormAuditor severity bucket (low|moderate|high|severe)",
  "evidenceLevel": "evidence level of the source record (warning|observed|...)",
  "confidence": "StormAuditor confidence score for the record (0-1, may be absent)",
  "windSpeedMph": "reported/estimated wind gust, mph (absent if n/a)",
  "hailSizeInches": "reported/estimated hail size, inches (absent if n/a)",
  "tornadoScale": "EF-scale rating when the source provides one (absent if n/a)",
  "damageTypes": "damage tags from the source narrative (may be absent)",
  "description": "source narrative excerpt (may be absent)",
  "source": "originating public record (NWS warning, LSR, NCEI, ...)",
  "sourceDetail": "issuing office / product detail for the source (may be absent)",
  "originStation": "reporting station identifier when applicable (may be absent)",
  "warningProductKey": "NWS warning product key for warning-derived rows (may be absent)",
  "lat": "event latitude (WGS84, may be blank)",
  "lon": "event longitude (WGS84, may be blank)",
  "rawWindSpeedMph": "source-reported wind value before display screening, mph (may be absent)",
  "windSpeedDisclaimer": "set when the wind value is a warning-projected figure rather than a measurement (may be absent)"
 },
 "events": [
  {
   "id": "asos-MIC-2026-09-14-255206",
   "lat": 45.0622,
   "lon": -93.3511,
   "zip": "",
   "city": "Minneapolis - Crystal",
   "date": "2026-09-14",
   "county": "Hennepin",
   "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": "Minneapolis - Crystal (MIC) recorded a 51 mph gust.",
   "sourceDetail": "MN_ASOS automated observation — Minneapolis - Crystal (MIC)",
   "windSpeedMph": 51,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-MIC-2026-09-11-245751",
   "lat": 45.0622,
   "lon": -93.3511,
   "zip": "",
   "city": "Minneapolis - Crystal",
   "date": "2026-09-11",
   "county": "Hennepin",
   "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": "Minneapolis - Crystal (MIC) recorded a 55 mph gust.",
   "sourceDetail": "MN_ASOS automated observation — Minneapolis - Crystal (MIC)",
   "windSpeedMph": 55,
   "evidenceLevel": "observed"
  },
  {
   "id": "nws-alert-a4cbec9d41c42c4f.001-Hennepin-wind",
   "zip": "",
   "city": "Hennepin",
   "date": "2026-09-03",
   "county": "Hennepin",
   "source": "NWS Weather Alert",
   "severity": "high",
   "eventType": "wind",
   "confidence": 88,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "Severe Thunderstorm Warning for Hennepin. Severe Thunderstorm Warning issued September 3 at 2:35PM CDT until September 3 at 3:00PM CDT by NWS Twin Cities/Chanhassen MN",
   "sourceDetail": "NWS Twin Cities/Chanhassen MN — Severe Thunderstorm Warning",
   "windSpeedMph": 50,
   "evidenceLevel": "warning",
   "warningProductKey": "MPX-SV-W-192"
  },
  {
   "id": "iem-ww-MPX-SV-W-192-Hennepin-hail-2026-09-03",
   "zip": "",
   "city": "Hennepin",
   "date": "2026-09-03",
   "county": "Hennepin",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.72,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS MPX for Hennepin on 2026-09-03. Storm tag hail: 1\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS MPX — Severe Thunderstorm Warning",
   "evidenceLevel": "warning",
   "hailSizeInches": 1,
   "warningProductKey": "MPX-SV-W-192"
  },
  {
   "id": "iem-ww-MPX-SV-W-184-Hennepin-wind-2026-08-20",
   "zip": "",
   "city": "Hennepin",
   "date": "2026-08-20",
   "county": "Hennepin",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.72,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS MPX for Hennepin on 2026-08-20. Storm tag wind: 60 mph. This is a warning — not a confirmed event.",
   "sourceDetail": "NWS MPX — Severe Thunderstorm Warning",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "MPX-SV-W-184"
  },
  {
   "id": "iem-ww-MPX-SV-W-184-Hennepin-hail-2026-08-20",
   "zip": "",
   "city": "Hennepin",
   "date": "2026-08-20",
   "county": "Hennepin",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.72,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS MPX for Hennepin on 2026-08-20. Storm tag hail: 1.5\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS MPX — Severe Thunderstorm Warning",
   "evidenceLevel": "warning",
   "hailSizeInches": 1.5,
   "warningProductKey": "MPX-SV-W-184"
  },
  {
   "id": "iem-ww-MPX-SV-W-185-Hennepin-wind-2026-08-20",
   "zip": "",
   "city": "Hennepin",
   "date": "2026-08-20",
   "county": "Hennepin",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.72,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS MPX for Hennepin on 2026-08-20. Storm tag wind: 60 mph. This is a warning — not a confirmed event.",
   "sourceDetail": "NWS MPX — Severe Thunderstorm Warning",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "MPX-SV-W-185"
  },
  {
   "id": "iem-ww-MPX-SV-W-185-Hennepin-hail-2026-08-20",
   "zip": "",
   "city": "Hennepin",
   "date": "2026-08-20",
   "county": "Hennepin",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.72,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS MPX for Hennepin on 2026-08-20. Storm tag hail: 1\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS MPX — Severe Thunderstorm Warning",
   "evidenceLevel": "warning",
   "hailSizeInches": 1,
   "warningProductKey": "MPX-SV-W-185"
  },
  {
   "id": "asos-bf-STP-2026-07-07",
   "lat": 44.9345,
   "lon": -93.06,
   "zip": "",
   "city": "ST. PAUL",
   "date": "2026-07-07",
   "county": "Ramsey",
   "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": "ST. PAUL (STP) recorded a 52 mph gust.",
   "sourceDetail": "MN_ASOS automated observation — ST. PAUL (STP) [365d backfill 2026-08]",
   "windSpeedMph": 52,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-MIC-2026-06-28",
   "lat": 45.0622,
   "lon": -93.3511,
   "zip": "",
   "city": "Minneapolis - Crystal",
   "date": "2026-06-28",
   "county": "Hennepin",
   "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": "Minneapolis - Crystal (MIC) recorded a 51 mph gust.",
   "sourceDetail": "MN_ASOS automated observation — Minneapolis - Crystal (MIC) [365d backfill 2026-08]",
   "windSpeedMph": 51,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-06-19-hail-45.16--93.67",
   "lat": 45.16,
   "lon": -93.67,
   "zip": "",
   "city": "Hanover",
   "date": "2026-06-19",
   "county": "Wright",
   "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 Hanover",
   "sourceDetail": "NWS MPX — Trained Spotter via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.88
  },
  {
   "id": "iem-lsr-2026-06-19-hail-45.09--93.55",
   "lat": 45.09,
   "lon": -93.55,
   "zip": "",
   "city": "Corcoran",
   "date": "2026-06-19",
   "county": "Hennepin",
   "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 Corcoran",
   "sourceDetail": "NWS MPX — Trained Spotter via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.88
  },
  {
   "id": "iem-lsr-2026-06-19-hail-45.15--93.66",
   "lat": 45.15,
   "lon": -93.66,
   "zip": "",
   "city": "1 SE Hanover",
   "date": "2026-06-19",
   "county": "Hennepin",
   "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 SE Hanover",
   "sourceDetail": "NWS MPX — Trained Spotter via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-06-19-hail-45.12--93.55",
   "lat": 45.12,
   "lon": -93.55,
   "zip": "",
   "city": "1 N Corcoran",
   "date": "2026-06-19",
   "county": "Hennepin",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Several reports of a lot of hail up to quarter sized in Corcoran.",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-06-19-hail-45.12--93.49",
   "lat": 45.12,
   "lon": -93.49,
   "zip": "",
   "city": "2 W Maple Grove",
   "date": "2026-06-19",
   "county": "Hennepin",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Report from mPING: Dime (0.75 in.).",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.75
  },
  {
   "id": "iem-lsr-2026-06-19-hail-45.11--93.34",
   "lat": 45.11,
   "lon": -93.34,
   "zip": "",
   "city": "Brooklyn Park",
   "date": "2026-06-19",
   "county": "Hennepin",
   "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 Brooklyn Park",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.88
  },
  {
   "id": "iem-lsr-2026-06-19-hail-45.10--93.33",
   "lat": 45.1,
   "lon": -93.33,
   "zip": "",
   "city": "1 SE Brooklyn Park",
   "date": "2026-06-19",
   "county": "Hennepin",
   "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 SE Brooklyn Park",
   "sourceDetail": "NWS MPX — Trained Spotter via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-06-19-hail-45.08--93.26",
   "lat": 45.08,
   "lon": -93.26,
   "zip": "",
   "city": "Fridley",
   "date": "2026-06-19",
   "county": "Anoka",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Pea to quarter sized hail. Minor tree damage from several minutes of hail falling.",
   "sourceDetail": "NWS MPX — Trained Spotter via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-06-19-hail-45.05--93.29",
   "lat": 45.05,
   "lon": -93.29,
   "zip": "",
   "city": "1 SE Brooklyn Center",
   "date": "2026-06-19",
   "county": "Hennepin",
   "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 SE Brooklyn Center",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.25
  },
  {
   "id": "iem-lsr-2026-06-19-hail-45.05--93.25",
   "lat": 45.05,
   "lon": -93.25,
   "zip": "",
   "city": "Columbia Heights",
   "date": "2026-06-19",
   "county": "Anoka",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Report from mPING: Dime (0.75 in.).",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.75
  },
  {
   "id": "iem-lsr-2026-06-19-hail-45.04--93.29",
   "lat": 45.04,
   "lon": -93.29,
   "zip": "",
   "city": "2 SE Brooklyn Center",
   "date": "2026-06-19",
   "county": "Hennepin",
   "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 Brooklyn Center",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-06-19-hail-45.05--93.21",
   "lat": 45.05,
   "lon": -93.21,
   "zip": "",
   "city": "1 S New Brighton",
   "date": "2026-06-19",
   "county": "Ramsey",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Report from mPING: Dime (0.75 in.).",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.75
  },
  {
   "id": "iem-lsr-2026-06-19-hail-45.01--93.18",
   "lat": 45.01,
   "lon": -93.18,
   "zip": "",
   "city": "1 W Roseville",
   "date": "2026-06-19",
   "county": "Ramsey",
   "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 MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-06-19-hail-45.03--93.21",
   "lat": 45.03,
   "lon": -93.21,
   "zip": "",
   "city": "2 SE Columbia Heights",
   "date": "2026-06-19",
   "county": "Hennepin",
   "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 Columbia Heights",
   "sourceDetail": "NWS MPX — Trained Spotter via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-06-19-hail-45.02--93.15",
   "lat": 45.02,
   "lon": -93.15,
   "zip": "",
   "city": "Roseville",
   "date": "2026-06-19",
   "county": "Ramsey",
   "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 Roseville",
   "sourceDetail": "NWS MPX — Trained Spotter via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-06-19-hail-45.03--93.16",
   "lat": 45.03,
   "lon": -93.16,
   "zip": "",
   "city": "1 NW Roseville",
   "date": "2026-06-19",
   "county": "Ramsey",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Report from mPING: Dime (0.75 in.).",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.75
  },
  {
   "id": "iem-lsr-2026-06-19-hail-45.05--93.20",
   "lat": 45.05,
   "lon": -93.2,
   "zip": "",
   "city": "1 S New Brighton",
   "date": "2026-06-19",
   "county": "Ramsey",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Report from mPING: Dime (0.75 in.).",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.75
  },
  {
   "id": "iem-lsr-2026-06-19-hail-45.05--93.25",
   "lat": 45.05,
   "lon": -93.25,
   "zip": "",
   "city": "Columbia Heights",
   "date": "2026-06-19",
   "county": "Anoka",
   "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 MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.25
  },
  {
   "id": "iem-lsr-2026-06-19-hail-45.03--93.11",
   "lat": 45.03,
   "lon": -93.11,
   "zip": "",
   "city": "1 W Little Canada",
   "date": "2026-06-19",
   "county": "Ramsey",
   "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 MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-06-19-hail-45.01--93.18",
   "lat": 45.01,
   "lon": -93.18,
   "zip": "",
   "city": "1 W Roseville",
   "date": "2026-06-19",
   "county": "Ramsey",
   "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 MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.25
  },
  {
   "id": "iem-lsr-2026-06-19-hail-45.00--93.15",
   "lat": 45,
   "lon": -93.15,
   "zip": "",
   "city": "1 SSE Roseville",
   "date": "2026-06-19",
   "county": "Ramsey",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "A lot of hail falling in Roseville up to half dollar sized. The ground is fully covered with hail.",
   "sourceDetail": "NWS MPX — Trained Spotter via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.25
  },
  {
   "id": "iem-lsr-2026-06-19-hail-45.02--93.09",
   "lat": 45.02,
   "lon": -93.09,
   "zip": "",
   "city": "1 SW Little Canada",
   "date": "2026-06-19",
   "county": "Ramsey",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Report from mPING: Dime (0.75 in.).",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.75
  },
  {
   "id": "iem-lsr-2026-06-19-hail-45.01--93.18",
   "lat": 45.01,
   "lon": -93.18,
   "zip": "",
   "city": "1 W Roseville",
   "date": "2026-06-19",
   "county": "Ramsey",
   "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: Golf Ball (1.75 in.).",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.75
  },
  {
   "id": "iem-lsr-2026-06-19-hail-45.00--93.20",
   "lat": 45,
   "lon": -93.2,
   "zip": "",
   "city": "1 WNW Falcon Heights",
   "date": "2026-06-19",
   "county": "Ramsey",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Photo report of half dollar sized hail.",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.25
  },
  {
   "id": "iem-lsr-2026-06-19-hail-45.02--93.24",
   "lat": 45.02,
   "lon": -93.24,
   "zip": "",
   "city": "2 S Columbia Heights",
   "date": "2026-06-19",
   "county": "Hennepin",
   "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 MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.25
  },
  {
   "id": "iem-lsr-2026-06-19-hail-44.99--93.13",
   "lat": 44.99,
   "lon": -93.13,
   "zip": "",
   "city": "2 SE Roseville",
   "date": "2026-06-19",
   "county": "Ramsey",
   "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 Roseville",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.5
  },
  {
   "id": "iem-lsr-2026-06-19-hail-44.99--93.18",
   "lat": 44.99,
   "lon": -93.18,
   "zip": "",
   "city": "Falcon Heights",
   "date": "2026-06-19",
   "county": "Ramsey",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Photo report via Facebook.",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.5
  },
  {
   "id": "iem-lsr-2026-06-19-hail-45.00--93.15",
   "lat": 45,
   "lon": -93.15,
   "zip": "",
   "city": "1 S Roseville",
   "date": "2026-06-19",
   "county": "Ramsey",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Report from mPING: Dime (0.75 in.).",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.75
  },
  {
   "id": "iem-lsr-2026-06-19-hail-45.01--93.09",
   "lat": 45.01,
   "lon": -93.09,
   "zip": "",
   "city": "1 SW Little Canada",
   "date": "2026-06-19",
   "county": "Ramsey",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Golf Ball sized hail near hwy 36 and I35.",
   "sourceDetail": "NWS MPX — Trained Spotter via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.75
  },
  {
   "id": "iem-lsr-2026-06-19-hail-45.01--93.15",
   "lat": 45.01,
   "lon": -93.15,
   "zip": "",
   "city": "1 SE Roseville",
   "date": "2026-06-19",
   "county": "Ramsey",
   "source": "IEM Local Storm Reports",
   "severity": "severe",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Report from mPING: Hen Egg (2.00 in.).",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 2
  },
  {
   "id": "iem-lsr-2026-06-19-hail-45.03--93.15",
   "lat": 45.03,
   "lon": -93.15,
   "zip": "",
   "city": "1 N Roseville",
   "date": "2026-06-19",
   "county": "Ramsey",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Report from mPING: Dime (0.75 in.).",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.75
  },
  {
   "id": "iem-lsr-2026-06-19-hail-44.98--93.10",
   "lat": 44.98,
   "lon": -93.1,
   "zip": "",
   "city": "2 N St. Paul",
   "date": "2026-06-19",
   "county": "Ramsey",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Report from mPING: Dime (0.75 in.).",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.75
  },
  {
   "id": "iem-lsr-2026-06-19-hail-44.98--93.17",
   "lat": 44.98,
   "lon": -93.17,
   "zip": "",
   "city": "1 SE Falcon Heights",
   "date": "2026-06-19",
   "county": "Ramsey",
   "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 1 SE Falcon Heights",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.88
  },
  {
   "id": "iem-lsr-2026-06-19-hail-44.98--93.17",
   "lat": 44.98,
   "lon": -93.17,
   "zip": "",
   "city": "1 SE Falcon Heights",
   "date": "2026-06-19",
   "county": "Ramsey",
   "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 MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-06-19-hail-45.00--93.17",
   "lat": 45,
   "lon": -93.17,
   "zip": "",
   "city": "1 NE Falcon Heights",
   "date": "2026-06-19",
   "county": "Ramsey",
   "source": "IEM Local Storm Reports",
   "severity": "severe",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "HAIL reported near 1 NE Falcon Heights",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 2
  },
  {
   "id": "iem-lsr-2026-06-19-hail-45.01--93.14",
   "lat": 45.01,
   "lon": -93.14,
   "zip": "",
   "city": "1 E Roseville",
   "date": "2026-06-19",
   "county": "Ramsey",
   "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 E Roseville",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-06-19-hail-44.99--93.14",
   "lat": 44.99,
   "lon": -93.14,
   "zip": "",
   "city": "2 E Falcon Heights",
   "date": "2026-06-19",
   "county": "Ramsey",
   "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 MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-06-19-hail-44.98--93.10",
   "lat": 44.98,
   "lon": -93.1,
   "zip": "",
   "city": "2 N St. Paul",
   "date": "2026-06-19",
   "county": "Ramsey",
   "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 MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.25
  },
  {
   "id": "iem-lsr-2026-06-19-hail-44.98--93.10",
   "lat": 44.98,
   "lon": -93.1,
   "zip": "",
   "city": "2 N St. Paul",
   "date": "2026-06-19",
   "county": "Ramsey",
   "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 MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.5
  },
  {
   "id": "iem-lsr-2026-06-19-hail-44.97--93.03",
   "lat": 44.97,
   "lon": -93.03,
   "zip": "",
   "city": "2 S Maplewood",
   "date": "2026-06-19",
   "county": "Ramsey",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Report from mPING: Dime (0.75 in.).",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.75
  },
  {
   "id": "iem-lsr-2026-06-19-hail-44.99--93.07",
   "lat": 44.99,
   "lon": -93.07,
   "zip": "",
   "city": "2 W Maplewood",
   "date": "2026-06-19",
   "county": "Ramsey",
   "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 Maplewood",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.25
  },
  {
   "id": "iem-lsr-2026-06-19-hail-44.97--93.04",
   "lat": 44.97,
   "lon": -93.04,
   "zip": "",
   "city": "2 SSW Maplewood",
   "date": "2026-06-19",
   "county": "Ramsey",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Photo report via Facebook.",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.75
  },
  {
   "id": "iem-lsr-2026-06-19-hail-44.99--93.05",
   "lat": 44.99,
   "lon": -93.05,
   "zip": "",
   "city": "1 WSW Maplewood",
   "date": "2026-06-19",
   "county": "Ramsey",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "A lot of hail near Lake Phalen_ up to quarter sized.",
   "sourceDetail": "NWS MPX — Trained Spotter via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-06-19-hail-44.97--93.03",
   "lat": 44.97,
   "lon": -93.03,
   "zip": "",
   "city": "2 S Maplewood",
   "date": "2026-06-19",
   "county": "Ramsey",
   "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 MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-06-19-hail-44.99--92.96",
   "lat": 44.99,
   "lon": -92.96,
   "zip": "",
   "city": "Oakdale",
   "date": "2026-06-19",
   "county": "Washington",
   "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 Oakdale",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2026-06-19-hail-44.99--92.97",
   "lat": 44.99,
   "lon": -92.97,
   "zip": "",
   "city": "Oakdale",
   "date": "2026-06-19",
   "county": "Washington",
   "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 Oakdale",
   "sourceDetail": "NWS MPX — Trained Spotter via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.25
  },
  {
   "id": "iem-lsr-2026-06-19-hail-44.97--93.08",
   "lat": 44.97,
   "lon": -93.08,
   "zip": "",
   "city": "2 NNE St. Paul",
   "date": "2026-06-19",
   "county": "Ramsey",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Photo report via Facebook.",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.25
  },
  {
   "id": "iem-lsr-2026-06-19-hail-45.01--93.14",
   "lat": 45.01,
   "lon": -93.14,
   "zip": "",
   "city": "1 E Roseville",
   "date": "2026-06-19",
   "county": "Ramsey",
   "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 E Roseville",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.25
  },
  {
   "id": "iem-lsr-2026-06-19-hail-44.97--93.07",
   "lat": 44.97,
   "lon": -93.07,
   "zip": "",
   "city": "2 NNE St. Paul",
   "date": "2026-06-19",
   "county": "Ramsey",
   "source": "IEM Local Storm Reports",
   "severity": "severe",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Photo report of hail slightly larger than 2 inches in St Paul.",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 2.25
  },
  {
   "id": "iem-ww-MPX-SV-W-106-Hennepin-wind-2026-06-19",
   "zip": "",
   "city": "Hennepin",
   "date": "2026-06-19",
   "county": "Hennepin",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.72,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS MPX for Hennepin on 2026-06-19. Storm tag wind: 60 mph. This is a warning — not a confirmed event.",
   "sourceDetail": "NWS MPX — Severe Thunderstorm Warning",
   "windSpeedMph": 60,
   "evidenceLevel": "warning",
   "warningProductKey": "MPX-SV-W-106"
  },
  {
   "id": "iem-ww-MPX-SV-W-106-Hennepin-hail-2026-06-19",
   "zip": "",
   "city": "Hennepin",
   "date": "2026-06-19",
   "county": "Hennepin",
   "source": "IEM Watch/Warn Archive",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.72,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Severe Thunderstorm Warning issued by NWS MPX for Hennepin on 2026-06-19. Storm tag hail: 1\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS MPX — Severe Thunderstorm Warning",
   "evidenceLevel": "warning",
   "hailSizeInches": 1,
   "warningProductKey": "MPX-SV-W-106"
  },
  {
   "id": "asos-bf-STP-2026-06-19",
   "lat": 44.9345,
   "lon": -93.06,
   "zip": "",
   "city": "ST. PAUL",
   "date": "2026-06-19",
   "county": "Ramsey",
   "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": "ST. PAUL (STP) recorded a 52 mph gust.",
   "sourceDetail": "MN_ASOS automated observation — ST. PAUL (STP) [365d backfill 2026-08]",
   "windSpeedMph": 52,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-MSP-2026-06-19",
   "lat": 44.8854,
   "lon": -93.2313,
   "zip": "",
   "city": "MINNEAPOLIS",
   "date": "2026-06-19",
   "county": "Hennepin",
   "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": "MINNEAPOLIS (MSP) recorded a 53 mph gust.",
   "sourceDetail": "MN_ASOS automated observation — MINNEAPOLIS (MSP) [365d backfill 2026-08]",
   "windSpeedMph": 53,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-MIC-2026-06-19",
   "lat": 45.0622,
   "lon": -93.3511,
   "zip": "",
   "city": "Minneapolis - Crystal",
   "date": "2026-06-19",
   "county": "Hennepin",
   "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": "Minneapolis - Crystal (MIC) recorded a 54 mph gust.",
   "sourceDetail": "MN_ASOS automated observation — Minneapolis - Crystal (MIC) [365d backfill 2026-08]",
   "windSpeedMph": 54,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-MSP-2026-06-15",
   "lat": 44.8854,
   "lon": -93.2313,
   "zip": "",
   "city": "MINNEAPOLIS",
   "date": "2026-06-15",
   "county": "Hennepin",
   "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": "MINNEAPOLIS (MSP) recorded a 51 mph gust.",
   "sourceDetail": "MN_ASOS automated observation — MINNEAPOLIS (MSP) [365d backfill 2026-08]",
   "windSpeedMph": 51,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-STP-2026-06-12",
   "lat": 44.9345,
   "lon": -93.06,
   "zip": "",
   "city": "ST. PAUL",
   "date": "2026-06-12",
   "county": "Ramsey",
   "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": "ST. PAUL (STP) recorded a 52 mph gust.",
   "sourceDetail": "MN_ASOS automated observation — ST. PAUL (STP) [365d backfill 2026-08]",
   "windSpeedMph": 52,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-MSP-2026-06-10",
   "lat": 44.8854,
   "lon": -93.2313,
   "zip": "",
   "city": "MINNEAPOLIS",
   "date": "2026-06-10",
   "county": "Hennepin",
   "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": "MINNEAPOLIS (MSP) recorded a 61 mph gust.",
   "sourceDetail": "MN_ASOS automated observation — MINNEAPOLIS (MSP) [365d backfill 2026-08]",
   "windSpeedMph": 61,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-04-17-hail-44.97--93.27",
   "lat": 44.97,
   "lon": -93.27,
   "zip": "",
   "city": "1 S Minneapolis",
   "date": "2026-04-17",
   "county": "Hennepin",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Report from mPING: Dime (0.75 in.).",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.75
  },
  {
   "id": "iem-lsr-2026-04-17-hail-44.97--93.24",
   "lat": 44.97,
   "lon": -93.24,
   "zip": "",
   "city": "1 SE Minneapolis",
   "date": "2026-04-17",
   "county": "Hennepin",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Report from mPING: Dime (0.75 in.).",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.75
  },
  {
   "id": "iem-lsr-2026-04-17-hail-44.99--93.21",
   "lat": 44.99,
   "lon": -93.21,
   "zip": "",
   "city": "1 W Falcon Heights",
   "date": "2026-04-17",
   "county": "Hennepin",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Report from mPING: Dime (0.75 in.).",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.75
  },
  {
   "id": "iem-lsr-2026-04-17-hail-45.01--92.99",
   "lat": 45.01,
   "lon": -92.99,
   "zip": "",
   "city": "1 E North St. Paul",
   "date": "2026-04-17",
   "county": "Ramsey",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Report from mPING: Dime (0.75 in.).",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.75
  },
  {
   "id": "iem-lsr-2026-04-17-hail-45.02--93.22",
   "lat": 45.02,
   "lon": -93.22,
   "zip": "",
   "city": "2 SE Columbia Heights",
   "date": "2026-04-17",
   "county": "Hennepin",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Report from mPING: Dime (0.75 in.).",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.75
  },
  {
   "id": "iem-lsr-2026-04-17-hail-44.96--93.28",
   "lat": 44.96,
   "lon": -93.28,
   "zip": "",
   "city": "2 SW Minneapolis",
   "date": "2026-04-17",
   "county": "Hennepin",
   "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 SW Minneapolis",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.75
  },
  {
   "id": "iem-lsr-2026-04-17-hail-45.09--93.14",
   "lat": 45.09,
   "lon": -93.14,
   "zip": "",
   "city": "Shoreview",
   "date": "2026-04-17",
   "county": "Ramsey",
   "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 Shoreview",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.75
  },
  {
   "id": "ncei-1330502-2026-04-17",
   "lon": 212572,
   "zip": "",
   "city": "MINNEAPOLIS",
   "date": "2026-04-17",
   "county": "Hennepin",
   "source": "NCEI Storm Events Database",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.95,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "A surface cold front moved across Minnesota during the early morning of April 17th which ultimately produced two rounds of thunderstorms.  The first line of storms was associated with a warm front which produced quarter size hail across south-central Minnesota mid-morning. The secondary and stronger line of storms tied to the cold front itself moved through in the early afternoon across eastern MN. This line produced a swath of large hail measuring from quarter size up to ping pong ball size hail in Cannon Falls (Goodhue County) which ended up being the largest measured hailstone from this event.",
   "sourceDetail": "Verified by Public — NCEI Event #1330502",
   "evidenceLevel": "official_backfill",
   "hailSizeInches": 0.75
  },
  {
   "id": "ncei-1330506-2026-04-17",
   "lon": 212572,
   "zip": "",
   "city": "ST ANTHONY",
   "date": "2026-04-17",
   "county": "Hennepin",
   "source": "NCEI Storm Events Database",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.95,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "A surface cold front moved across Minnesota during the early morning of April 17th which ultimately produced two rounds of thunderstorms.  The first line of storms was associated with a warm front which produced quarter size hail across south-central Minnesota mid-morning. The secondary and stronger line of storms tied to the cold front itself moved through in the early afternoon across eastern MN. This line produced a swath of large hail measuring from quarter size up to ping pong ball size hail in Cannon Falls (Goodhue County) which ended up being the largest measured hailstone from this event.",
   "sourceDetail": "Verified by Public — NCEI Event #1330506",
   "evidenceLevel": "official_backfill",
   "hailSizeInches": 0.75
  },
  {
   "id": "asos-bf-MIC-2026-04-11",
   "lat": 45.0622,
   "lon": -93.3511,
   "zip": "",
   "city": "Minneapolis - Crystal",
   "date": "2026-04-11",
   "county": "Hennepin",
   "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": "Minneapolis - Crystal (MIC) recorded a 50 mph gust.",
   "sourceDetail": "MN_ASOS automated observation — Minneapolis - Crystal (MIC) [365d backfill 2026-08]",
   "windSpeedMph": 50,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-MIC-2026-03-15",
   "lat": 45.0622,
   "lon": -93.3511,
   "zip": "",
   "city": "Minneapolis - Crystal",
   "date": "2026-03-15",
   "county": "Hennepin",
   "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": "Minneapolis - Crystal (MIC) recorded a 50 mph gust.",
   "sourceDetail": "MN_ASOS automated observation — Minneapolis - Crystal (MIC) [365d backfill 2026-08]",
   "windSpeedMph": 50,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-03-13-wind-44.88--93.23",
   "lat": 44.88,
   "lon": -93.23,
   "zip": "",
   "city": "2 E Richfield",
   "date": "2026-03-13",
   "county": "Hennepin",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "ASOS station KMSP Minneapolis-St. Paul AP.",
   "sourceDetail": "NWS MPX — ASOS via Iowa Mesonet",
   "windSpeedMph": 61,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-03-13-wind-45.17--93.85",
   "lat": 45.17,
   "lon": -93.85,
   "zip": "",
   "city": "1 ESE Buffalo",
   "date": "2026-03-13",
   "county": "Wright",
   "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 KCFE Buffalo AP.",
   "sourceDetail": "NWS MPX — AWOS via Iowa Mesonet",
   "windSpeedMph": 58,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-03-13-wind-44.83--93.47",
   "lat": 44.83,
   "lon": -93.47,
   "zip": "",
   "city": "2 SW Eden Prairie",
   "date": "2026-03-13",
   "county": "Hennepin",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "wind",
   "confidence": 0.92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "ASOS station KFCM Eden Prairie AP.",
   "sourceDetail": "NWS MPX — ASOS via Iowa Mesonet",
   "windSpeedMph": 56,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-03-13-wind-45.07--93.35",
   "lat": 45.07,
   "lon": -93.35,
   "zip": "",
   "city": "2 W Brooklyn Center",
   "date": "2026-03-13",
   "county": "Hennepin",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "ASOS station KMIC Crystal AP.",
   "sourceDetail": "NWS MPX — ASOS via Iowa Mesonet",
   "windSpeedMph": 64,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-03-13-wind-44.93--93.05",
   "lat": 44.93,
   "lon": -93.05,
   "zip": "",
   "city": "2 ESE St. Paul",
   "date": "2026-03-13",
   "county": "Ramsey",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "ASOS station KSTP St. Paul Dwtn AP.",
   "sourceDetail": "NWS MPX — ASOS via Iowa Mesonet",
   "windSpeedMph": 58,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2026-03-13-wind-44.83--93.47",
   "lat": 44.83,
   "lon": -93.47,
   "zip": "",
   "city": "2 SW Eden Prairie",
   "date": "2026-03-13",
   "county": "Hennepin",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "ASOS station KFCM Eden Prairie AP.",
   "sourceDetail": "NWS MPX — ASOS via Iowa Mesonet",
   "windSpeedMph": 63,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-STP-2026-03-13",
   "lat": 44.9345,
   "lon": -93.06,
   "zip": "",
   "city": "ST. PAUL",
   "date": "2026-03-13",
   "county": "Ramsey",
   "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": "ST. PAUL (STP) recorded a 58 mph gust.",
   "sourceDetail": "MN_ASOS automated observation — ST. PAUL (STP) [365d backfill 2026-08]",
   "windSpeedMph": 58,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-MSP-2026-03-13",
   "lat": 44.8854,
   "lon": -93.2313,
   "zip": "",
   "city": "MINNEAPOLIS",
   "date": "2026-03-13",
   "county": "Hennepin",
   "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": "MINNEAPOLIS (MSP) recorded a 60 mph gust.",
   "sourceDetail": "MN_ASOS automated observation — MINNEAPOLIS (MSP) [365d backfill 2026-08]",
   "windSpeedMph": 60,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-ANE-2026-03-13",
   "lat": 45.1449,
   "lon": -93.2102,
   "zip": "",
   "city": "MINNEAPLS/BLAINE",
   "date": "2026-03-13",
   "county": "Hennepin",
   "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": "MINNEAPLS/BLAINE (ANE) recorded a 51 mph gust.",
   "sourceDetail": "MN_ASOS automated observation — MINNEAPLS/BLAINE (ANE) [365d backfill 2026-08]",
   "windSpeedMph": 51,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-FCM-2026-03-13",
   "lat": 44.8261,
   "lon": -93.4607,
   "zip": "",
   "city": "Minneapolis - Flying Cloud",
   "date": "2026-03-13",
   "county": "Hennepin",
   "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": "Minneapolis - Flying Cloud (FCM) recorded a 63 mph gust.",
   "sourceDetail": "MN_ASOS automated observation — Minneapolis - Flying Cloud (FCM) [365d backfill 2026-08]",
   "windSpeedMph": 63,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-MIC-2026-03-13",
   "lat": 45.0622,
   "lon": -93.3511,
   "zip": "",
   "city": "Minneapolis - Crystal",
   "date": "2026-03-13",
   "county": "Hennepin",
   "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": "Minneapolis - Crystal (MIC) recorded a 64 mph gust.",
   "sourceDetail": "MN_ASOS automated observation — Minneapolis - Crystal (MIC) [365d backfill 2026-08]",
   "windSpeedMph": 64,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-CFE-2026-03-13",
   "lat": 45.159,
   "lon": -93.8433,
   "zip": "",
   "city": "Buffalo",
   "date": "2026-03-13",
   "county": "Wright",
   "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": "Buffalo (CFE) recorded a 58 mph gust.",
   "sourceDetail": "MN_ASOS automated observation — Buffalo (CFE) [365d backfill 2026-08]",
   "windSpeedMph": 58,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-ww-MPX-HW-W-1-Hennepin-wind-2026-03-13",
   "zip": "",
   "city": "Hennepin",
   "date": "2026-03-13",
   "county": "Hennepin",
   "source": "IEM High Wind Archive",
   "severity": "high",
   "eventType": "wind",
   "confidence": 0.72,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "HW W for Hennepin.",
   "sourceDetail": "NWS MPX — HW/W",
   "evidenceLevel": "warning",
   "warningProductKey": "MPX-HW-W-1"
  },
  {
   "id": "asos-bf-MIC-2026-03-12",
   "lat": 45.0622,
   "lon": -93.3511,
   "zip": "",
   "city": "Minneapolis - Crystal",
   "date": "2026-03-12",
   "county": "Hennepin",
   "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": "Minneapolis - Crystal (MIC) recorded a 55 mph gust.",
   "sourceDetail": "MN_ASOS automated observation — Minneapolis - Crystal (MIC) [365d backfill 2026-08]",
   "windSpeedMph": 55,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-FCM-2026-03-12",
   "lat": 44.8261,
   "lon": -93.4607,
   "zip": "",
   "city": "Minneapolis - Flying Cloud",
   "date": "2026-03-12",
   "county": "Hennepin",
   "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": "Minneapolis - Flying Cloud (FCM) recorded a 50 mph gust.",
   "sourceDetail": "MN_ASOS automated observation — Minneapolis - Flying Cloud (FCM) [365d backfill 2026-08]",
   "windSpeedMph": 50,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-MIC-2026-01-22",
   "lat": 45.0622,
   "lon": -93.3511,
   "zip": "",
   "city": "Minneapolis - Crystal",
   "date": "2026-01-22",
   "county": "Hennepin",
   "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": "Minneapolis - Crystal (MIC) recorded a 51 mph gust.",
   "sourceDetail": "MN_ASOS automated observation — Minneapolis - Crystal (MIC) [365d backfill 2026-08]",
   "windSpeedMph": 51,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2025-12-20-wind-44.88--93.23",
   "lat": 44.88,
   "lon": -93.23,
   "zip": "",
   "city": "2 E Richfield",
   "date": "2025-12-20",
   "county": "Hennepin",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "wind",
   "confidence": 0.92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "ASOS station KMSP Minneapolis-St. Paul AP.",
   "sourceDetail": "NWS MPX — ASOS via Iowa Mesonet",
   "windSpeedMph": 52,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2025-12-20-wind-45.07--93.35",
   "lat": 45.07,
   "lon": -93.35,
   "zip": "",
   "city": "2 W Brooklyn Center",
   "date": "2025-12-20",
   "county": "Hennepin",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "wind",
   "confidence": 0.92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "ASOS station KMIC Crystal AP.",
   "sourceDetail": "NWS MPX — ASOS via Iowa Mesonet",
   "windSpeedMph": 52,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2025-12-20-wind-44.93--93.05",
   "lat": 44.93,
   "lon": -93.05,
   "zip": "",
   "city": "2 ESE St. Paul",
   "date": "2025-12-20",
   "county": "Ramsey",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "wind",
   "confidence": 0.92,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "ASOS station KSTP St. Paul Dwtn AP.",
   "sourceDetail": "NWS MPX — ASOS via Iowa Mesonet",
   "windSpeedMph": 52,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-MIC-2025-12-20",
   "lat": 45.0622,
   "lon": -93.3511,
   "zip": "",
   "city": "Minneapolis - Crystal",
   "date": "2025-12-20",
   "county": "Hennepin",
   "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": "Minneapolis - Crystal (MIC) recorded a 52 mph gust.",
   "sourceDetail": "MN_ASOS automated observation — Minneapolis - Crystal (MIC) [365d backfill 2026-08]",
   "windSpeedMph": 52,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-STP-2025-12-20",
   "lat": 44.9345,
   "lon": -93.06,
   "zip": "",
   "city": "ST. PAUL",
   "date": "2025-12-20",
   "county": "Ramsey",
   "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": "ST. PAUL (STP) recorded a 52 mph gust.",
   "sourceDetail": "MN_ASOS automated observation — ST. PAUL (STP) [365d backfill 2026-08]",
   "windSpeedMph": 52,
   "evidenceLevel": "observed"
  },
  {
   "id": "asos-bf-FCM-2025-11-26",
   "lat": 44.8261,
   "lon": -93.4607,
   "zip": "",
   "city": "Minneapolis - Flying Cloud",
   "date": "2025-11-26",
   "county": "Hennepin",
   "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": "Minneapolis - Flying Cloud (FCM) recorded a 52 mph gust.",
   "sourceDetail": "MN_ASOS automated observation — Minneapolis - Flying Cloud (FCM) [365d backfill 2026-08]",
   "windSpeedMph": 52,
   "evidenceLevel": "observed"
  },
  {
   "id": "iem-lsr-2025-09-21-hail-44.87--93.03",
   "lat": 44.87,
   "lon": -93.03,
   "zip": "",
   "city": "1 NNE Inver Grove Heigh",
   "date": "2025-09-21",
   "county": "Dakota",
   "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 NNE Inver Grove Heigh",
   "sourceDetail": "NWS MPX — Trained Spotter via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2025-09-21-hail-44.87--93.03",
   "lat": 44.87,
   "lon": -93.03,
   "zip": "",
   "city": "1 SSE South St. Paul",
   "date": "2025-09-21",
   "county": "Dakota",
   "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 SSE South St. Paul",
   "sourceDetail": "NWS MPX — Trained Spotter via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.75
  },
  {
   "id": "iem-lsr-2025-09-21-hail-44.86--93.03",
   "lat": 44.86,
   "lon": -93.03,
   "zip": "",
   "city": "1 NE Inver Grove Height",
   "date": "2025-09-21",
   "county": "Dakota",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Picture sent via X.",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2025-09-21-hail-44.91--93.00",
   "lat": 44.91,
   "lon": -93,
   "zip": "",
   "city": "2 N Newport",
   "date": "2025-09-21",
   "county": "Ramsey",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Had about 2 minutes of 0.5 to 1.5 inch hail.",
   "sourceDetail": "NWS MPX — Trained Spotter via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.5
  },
  {
   "id": "iem-lsr-2025-09-21-hail-45.03--93.80",
   "lat": 45.03,
   "lon": -93.8,
   "zip": "",
   "city": "1 SW Delano",
   "date": "2025-09-21",
   "county": "Wright",
   "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 1 SW Delano",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.75
  },
  {
   "id": "iem-lsr-2025-09-21-hail-44.93--93.48",
   "lat": 44.93,
   "lon": -93.48,
   "zip": "",
   "city": "1 W Minnetonka",
   "date": "2025-09-21",
   "county": "Hennepin",
   "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 MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2025-09-21-hail-44.94--93.52",
   "lat": 44.94,
   "lon": -93.52,
   "zip": "",
   "city": "1 N Deephaven",
   "date": "2025-09-21",
   "county": "Hennepin",
   "source": "IEM Local Storm Reports",
   "severity": "severe",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Report and picture sent via X.",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 2
  },
  {
   "id": "iem-lsr-2025-09-21-hail-44.91--93.50",
   "lat": 44.91,
   "lon": -93.5,
   "zip": "",
   "city": "1 SE Deephaven",
   "date": "2025-09-21",
   "county": "Hennepin",
   "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 SE Deephaven",
   "sourceDetail": "NWS MPX — 911 Call Center via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.75
  },
  {
   "id": "iem-lsr-2025-09-21-hail-44.93--93.42",
   "lat": 44.93,
   "lon": -93.42,
   "zip": "",
   "city": "1 NNW Hopkins",
   "date": "2025-09-21",
   "county": "Hennepin",
   "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 NNW Hopkins",
   "sourceDetail": "NWS MPX — Trained Spotter via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1
  },
  {
   "id": "iem-lsr-2025-09-21-hail-44.92--93.45",
   "lat": 44.92,
   "lon": -93.45,
   "zip": "",
   "city": "1 SSE Minnetonka",
   "date": "2025-09-21",
   "county": "Hennepin",
   "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 SSE Minnetonka",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.25
  },
  {
   "id": "iem-lsr-2025-09-21-hail-44.92--93.47",
   "lat": 44.92,
   "lon": -93.47,
   "zip": "",
   "city": "1 SSW Minnetonka",
   "date": "2025-09-21",
   "county": "Hennepin",
   "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 SSW Minnetonka",
   "sourceDetail": "NWS MPX — Trained Spotter via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.75
  },
  {
   "id": "iem-lsr-2025-09-21-hail-44.92--93.47",
   "lat": 44.92,
   "lon": -93.47,
   "zip": "",
   "city": "1 SW Minnetonka",
   "date": "2025-09-21",
   "county": "Hennepin",
   "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 MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.5
  },
  {
   "id": "iem-lsr-2025-09-21-hail-44.92--93.47",
   "lat": 44.92,
   "lon": -93.47,
   "zip": "",
   "city": "1 SW Minnetonka",
   "date": "2025-09-21",
   "county": "Hennepin",
   "source": "IEM Local Storm Reports",
   "severity": "severe",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Report from mPING: Hen Egg (2.00 in.).",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 2
  },
  {
   "id": "ncei-1294936-2025-09-21",
   "lon": 206980,
   "zip": "",
   "city": "DEEPHAVEN",
   "date": "2025-09-21",
   "county": "Hennepin",
   "source": "NCEI Storm Events Database",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.95,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Report received from mPing.",
   "sourceDetail": "Verified by Public — NCEI Event #1294936",
   "evidenceLevel": "official_backfill",
   "hailSizeInches": 1
  },
  {
   "id": "ncei-1295158-2025-09-21",
   "lon": 206980,
   "zip": "",
   "city": "DEEPHAVEN",
   "date": "2025-09-21",
   "county": "Hennepin",
   "source": "NCEI Storm Events Database",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.95,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Showers and thunderstorms moved across the southern half of Minnesota, including the Twin Cities metro during the late afternoon and evening hours of September 21st. The storm environment consisted of favorable instability, low cloud bases, and some veering winds with height. Although the shear profile was considered only marginal (weak) at the time, a few storms did manage to become severe. Two swaths of large hail ranging from quarter (1-inch) to Hen Egg (2-inch) sized hail fell across portions of the southern Twin Cities metro and in Steele in Waseca Counties.||Two-inch diameter hailstones were reported on the east side of Lake Minnetonka (Hennepin), one mile south of Woodbury (Washington), and six miles NW of New Richland (Waseca).",
   "sourceDetail": "Verified by State Official — NCEI Event #1295158",
   "evidenceLevel": "official_backfill",
   "hailSizeInches": 1.75
  },
  {
   "id": "ncei-1295160-2025-09-21",
   "lon": 206980,
   "zip": "",
   "city": "DEEPHAVEN",
   "date": "2025-09-21",
   "county": "Hennepin",
   "source": "NCEI Storm Events Database",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.95,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Report received from mPING.",
   "sourceDetail": "Verified by Public — NCEI Event #1295160",
   "evidenceLevel": "official_backfill",
   "hailSizeInches": 1.5
  },
  {
   "id": "ncei-1295161-2025-09-21",
   "lon": 206980,
   "zip": "",
   "city": "DEEPHAVEN",
   "date": "2025-09-21",
   "county": "Hennepin",
   "source": "NCEI Storm Events Database",
   "severity": "severe",
   "eventType": "hail",
   "confidence": 0.95,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Report received from mPING.",
   "sourceDetail": "Verified by Public — NCEI Event #1295161",
   "evidenceLevel": "official_backfill",
   "hailSizeInches": 2
  },
  {
   "id": "ncei-1295159-2025-09-21",
   "lon": 206980,
   "zip": "",
   "city": "HOPKINS",
   "date": "2025-09-21",
   "county": "Hennepin",
   "source": "NCEI Storm Events Database",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.95,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Showers and thunderstorms moved across the southern half of Minnesota, including the Twin Cities metro during the late afternoon and evening hours of September 21st. The storm environment consisted of favorable instability, low cloud bases, and some veering winds with height. Although the shear profile was considered only marginal (weak) at the time, a few storms did manage to become severe. Two swaths of large hail ranging from quarter (1-inch) to Hen Egg (2-inch) sized hail fell across portions of the southern Twin Cities metro and in Steele in Waseca Counties.||Two-inch diameter hailstones were reported on the east side of Lake Minnetonka (Hennepin), one mile south of Woodbury (Washington), and six miles NW of New Richland (Waseca).",
   "sourceDetail": "Verified by Public — NCEI Event #1295159",
   "evidenceLevel": "official_backfill",
   "hailSizeInches": 1.25
  }
 ]
}