{
 "dataset": "Burnsville, MN storm events — 12-month window, 25-mile radius plus Dakota 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": 123,
 "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": "iem-ww-MPX-SV-W-185-Dakota-wind-2026-08-20",
   "zip": "",
   "city": "Dakota",
   "date": "2026-08-20",
   "county": "Dakota",
   "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 Dakota 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-Dakota-hail-2026-08-20",
   "zip": "",
   "city": "Dakota",
   "date": "2026-08-20",
   "county": "Dakota",
   "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 Dakota 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": "iem-ww-MPX-SV-W-182-Dakota-wind-2026-08-20",
   "zip": "",
   "city": "Dakota",
   "date": "2026-08-20",
   "county": "Dakota",
   "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 Dakota 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-182"
  },
  {
   "id": "iem-ww-MPX-SV-W-182-Dakota-hail-2026-08-20",
   "zip": "",
   "city": "Dakota",
   "date": "2026-08-20",
   "county": "Dakota",
   "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 Dakota 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-182"
  },
  {
   "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-SYN-2026-07-04",
   "lat": 44.4736,
   "lon": -93.0145,
   "zip": "",
   "city": "Stanton Airfield",
   "date": "2026-07-04",
   "county": "Goodhue",
   "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": "Stanton Airfield (SYN) recorded a 51 mph gust.",
   "sourceDetail": "MN_ASOS automated observation — Stanton Airfield (SYN) [365d backfill 2026-08]",
   "windSpeedMph": 51,
   "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.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.94--92.96",
   "lat": 44.94,
   "lon": -92.96,
   "zip": "",
   "city": "2 NW Woodbury",
   "date": "2026-06-19",
   "county": "Washington",
   "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--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.95--92.95",
   "lat": 44.95,
   "lon": -92.95,
   "zip": "",
   "city": "2 S 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 2 S Oakdale",
   "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-Dakota-wind-2026-06-19",
   "zip": "",
   "city": "Dakota",
   "date": "2026-06-19",
   "county": "Dakota",
   "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 Dakota 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-Dakota-hail-2026-06-19",
   "zip": "",
   "city": "Dakota",
   "date": "2026-06-19",
   "county": "Dakota",
   "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 Dakota 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.74--92.85",
   "lat": 44.74,
   "lon": -92.85,
   "zip": "",
   "city": "Hastings",
   "date": "2026-04-17",
   "county": "Dakota",
   "source": "IEM Local Storm Reports",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Measurement provided via Facebook. Time estimated via radar.",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.88
  },
  {
   "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-44.93--92.94",
   "lat": 44.93,
   "lon": -92.94,
   "zip": "",
   "city": "1 N Woodbury",
   "date": "2026-04-17",
   "county": "Washington",
   "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.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": "iem-ww-MPX-SV-W-34-Dakota-wind-2026-04-17",
   "zip": "",
   "city": "Dakota",
   "date": "2026-04-17",
   "county": "Dakota",
   "source": "IEM Watch/Warn Archive",
   "severity": "moderate",
   "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 Dakota on 2026-04-17. Storm tag wind: 50 mph. This is a warning — not a confirmed event.",
   "sourceDetail": "NWS MPX — Severe Thunderstorm Warning",
   "windSpeedMph": 50,
   "evidenceLevel": "warning",
   "warningProductKey": "MPX-SV-W-34"
  },
  {
   "id": "iem-ww-MPX-SV-W-34-Dakota-hail-2026-04-17",
   "zip": "",
   "city": "Dakota",
   "date": "2026-04-17",
   "county": "Dakota",
   "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 Dakota on 2026-04-17. Storm tag hail: 1.25\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS MPX — Severe Thunderstorm Warning",
   "evidenceLevel": "warning",
   "hailSizeInches": 1.25,
   "warningProductKey": "MPX-SV-W-34"
  },
  {
   "id": "iem-ww-MPX-SV-W-33-Dakota-wind-2026-04-17",
   "zip": "",
   "city": "Dakota",
   "date": "2026-04-17",
   "county": "Dakota",
   "source": "IEM Watch/Warn Archive",
   "severity": "moderate",
   "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 Dakota on 2026-04-17. Storm tag wind: 50 mph. This is a warning — not a confirmed event.",
   "sourceDetail": "NWS MPX — Severe Thunderstorm Warning",
   "windSpeedMph": 50,
   "evidenceLevel": "warning",
   "warningProductKey": "MPX-SV-W-33"
  },
  {
   "id": "iem-ww-MPX-SV-W-33-Dakota-hail-2026-04-17",
   "zip": "",
   "city": "Dakota",
   "date": "2026-04-17",
   "county": "Dakota",
   "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 Dakota on 2026-04-17. Storm tag hail: 1.25\". This is a warning — not a confirmed event.",
   "sourceDetail": "NWS MPX — Severe Thunderstorm Warning",
   "evidenceLevel": "warning",
   "hailSizeInches": 1.25,
   "warningProductKey": "MPX-SV-W-33"
  },
  {
   "id": "ncei-1330501-2026-04-17",
   "lon": 212572,
   "zip": "",
   "city": "HASTINGS",
   "date": "2026-04-17",
   "county": "Dakota",
   "source": "NCEI Storm Events Database",
   "severity": "moderate",
   "eventType": "hail",
   "confidence": 0.95,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Photo measurement provided via Facebook.",
   "sourceDetail": "Verified by Public — NCEI Event #1330501",
   "evidenceLevel": "official_backfill",
   "hailSizeInches": 0.88
  },
  {
   "id": "iem-ww-MPX-SV-W-2-Dakota-wind-2026-04-13",
   "zip": "",
   "city": "Dakota",
   "date": "2026-04-13",
   "county": "Dakota",
   "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 Dakota on 2026-04-13. 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-2"
  },
  {
   "id": "iem-ww-MPX-SV-W-2-Dakota-hail-2026-04-13",
   "zip": "",
   "city": "Dakota",
   "date": "2026-04-13",
   "county": "Dakota",
   "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 Dakota on 2026-04-13. 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-2"
  },
  {
   "id": "iem-ww-MPX-SV-W-15-Dakota-wind-2026-04-13",
   "zip": "",
   "city": "Dakota",
   "date": "2026-04-13",
   "county": "Dakota",
   "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 Dakota on 2026-04-13. 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-15"
  },
  {
   "id": "iem-ww-MPX-SV-W-15-Dakota-hail-2026-04-13",
   "zip": "",
   "city": "Dakota",
   "date": "2026-04-13",
   "county": "Dakota",
   "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 Dakota on 2026-04-13. 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-15"
  },
  {
   "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-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-LVN-2026-03-13",
   "lat": 44.6252,
   "lon": -93.2273,
   "zip": "",
   "city": "MNPLS/AIRLAKE",
   "date": "2026-03-13",
   "county": "Dakota",
   "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": "MNPLS/AIRLAKE (LVN) recorded a 52 mph gust.",
   "sourceDetail": "MN_ASOS automated observation — MNPLS/AIRLAKE (LVN) [365d backfill 2026-08]",
   "windSpeedMph": 52,
   "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-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": "iem-ww-MPX-HW-W-1-Dakota-wind-2026-03-13",
   "zip": "",
   "city": "Dakota",
   "date": "2026-03-13",
   "county": "Dakota",
   "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 Dakota.",
   "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-44.90--92.97",
   "lat": 44.9,
   "lon": -92.97,
   "zip": "",
   "city": "2 SW Woodbury",
   "date": "2025-09-21",
   "county": "Washington",
   "source": "IEM Local Storm Reports",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "mPing report.",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 1.25
  },
  {
   "id": "iem-lsr-2025-09-21-hail-44.90--92.94",
   "lat": 44.9,
   "lon": -92.94,
   "zip": "",
   "city": "1 SSW Woodbury",
   "date": "2025-09-21",
   "county": "Washington",
   "source": "IEM Local Storm Reports",
   "severity": "severe",
   "eventType": "hail",
   "confidence": 0.92,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Sent via X.",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 2
  },
  {
   "id": "iem-lsr-2025-09-21-hail-44.92--92.95",
   "lat": 44.92,
   "lon": -92.95,
   "zip": "",
   "city": "1 W Woodbury",
   "date": "2025-09-21",
   "county": "Washington",
   "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.93--92.91",
   "lat": 44.93,
   "lon": -92.91,
   "zip": "",
   "city": "1 NE Woodbury",
   "date": "2025-09-21",
   "county": "Washington",
   "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-2025-09-21-hail-44.91--92.93",
   "lat": 44.91,
   "lon": -92.93,
   "zip": "",
   "city": "1 S Woodbury",
   "date": "2025-09-21",
   "county": "Washington",
   "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.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-1292899-2025-09-21",
   "lon": 206980,
   "zip": "",
   "city": "SOUTH ST PAUL",
   "date": "2025-09-21",
   "county": "Dakota",
   "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 Trained Spotter — NCEI Event #1292899",
   "evidenceLevel": "official_backfill",
   "hailSizeInches": 1
  },
  {
   "id": "ncei-1292900-2025-09-21",
   "lon": 206980,
   "zip": "",
   "city": "SOUTH ST PAUL",
   "date": "2025-09-21",
   "county": "Dakota",
   "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 Trained Spotter — NCEI Event #1292900",
   "evidenceLevel": "official_backfill",
   "hailSizeInches": 1.75
  },
  {
   "id": "ncei-1292904-2025-09-21",
   "lon": 206980,
   "zip": "",
   "city": "INVER GROVE HEIGHTS",
   "date": "2025-09-21",
   "county": "Dakota",
   "source": "NCEI Storm Events Database",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.95,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Photo measurement provided via social media.",
   "sourceDetail": "Verified by Social Media — NCEI Event #1292904",
   "evidenceLevel": "official_backfill",
   "hailSizeInches": 1
  }
 ]
}