{
 "dataset": "St. Paul, MN storm events — 12-month window, 25-mile radius plus Ramsey 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-Ramsey-wind-2026-08-20",
   "zip": "",
   "city": "Ramsey",
   "date": "2026-08-20",
   "county": "Ramsey",
   "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 Ramsey 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-Ramsey-hail-2026-08-20",
   "zip": "",
   "city": "Ramsey",
   "date": "2026-08-20",
   "county": "Ramsey",
   "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 Ramsey 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-Ramsey-wind-2026-08-20",
   "zip": "",
   "city": "Ramsey",
   "date": "2026-08-20",
   "county": "Ramsey",
   "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 Ramsey 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-Ramsey-hail-2026-08-20",
   "zip": "",
   "city": "Ramsey",
   "date": "2026-08-20",
   "county": "Ramsey",
   "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 Ramsey 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-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.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.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.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-45.00--92.88",
   "lat": 45,
   "lon": -92.88,
   "zip": "",
   "city": "Lake Elmo",
   "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": "HAIL reported near Lake Elmo",
   "sourceDetail": "NWS MPX — Public via Iowa Mesonet",
   "evidenceLevel": "reported",
   "hailSizeInches": 0.88
  },
  {
   "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-Ramsey-wind-2026-06-19",
   "zip": "",
   "city": "Ramsey",
   "date": "2026-06-19",
   "county": "Ramsey",
   "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 Ramsey 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-Ramsey-hail-2026-06-19",
   "zip": "",
   "city": "Ramsey",
   "date": "2026-06-19",
   "county": "Ramsey",
   "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 Ramsey 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": "iem-ww-MPX-SV-W-109-Ramsey-wind-2026-06-19",
   "zip": "",
   "city": "Ramsey",
   "date": "2026-06-19",
   "county": "Ramsey",
   "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 Ramsey on 2026-06-19. 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-109"
  },
  {
   "id": "iem-ww-MPX-SV-W-109-Ramsey-hail-2026-06-19",
   "zip": "",
   "city": "Ramsey",
   "date": "2026-06-19",
   "county": "Ramsey",
   "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 Ramsey 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-109"
  },
  {
   "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": "iem-ww-MPX-SV-W-84-Ramsey-wind-2026-06-10",
   "zip": "",
   "city": "Ramsey",
   "date": "2026-06-10",
   "county": "Ramsey",
   "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 Ramsey on 2026-06-10. 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-84"
  },
  {
   "id": "iem-ww-MPX-SV-W-84-Ramsey-hail-2026-06-10",
   "zip": "",
   "city": "Ramsey",
   "date": "2026-06-10",
   "county": "Ramsey",
   "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 Ramsey on 2026-06-10. 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-84"
  },
  {
   "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": "ncei-1330508-2026-04-17",
   "lon": 212572,
   "zip": "",
   "city": "SHOREVIEW",
   "date": "2026-04-17",
   "county": "Ramsey",
   "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 #1330508",
   "evidenceLevel": "official_backfill",
   "hailSizeInches": 0.75
  },
  {
   "id": "ncei-1330505-2026-04-17",
   "lon": 212572,
   "zip": "",
   "city": "NORTH ST PAUL",
   "date": "2026-04-17",
   "county": "Ramsey",
   "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 #1330505",
   "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-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-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": "iem-ww-MPX-HW-W-1-Ramsey-wind-2026-03-13",
   "zip": "",
   "city": "Ramsey",
   "date": "2026-03-13",
   "county": "Ramsey",
   "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 Ramsey.",
   "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": "ncei-1323972-2026-03-12",
   "lon": 210823,
   "zip": "",
   "city": "Ramsey",
   "date": "2026-03-12",
   "county": "Ramsey",
   "source": "NCEI Storm Events Database",
   "severity": "moderate",
   "eventType": "wind",
   "confidence": 0.95,
   "damageTypes": [
    "Roof shingle lift",
    "Soffit/fascia damage",
    "Tree strike risk",
    "Fence/screen damage"
   ],
   "description": "Strong northwest winds were sustained around 25 to 35 mph overnight, with frequent gusts over 45 mph. A max wind gust of 58 mph was recorded at KSTP around 5:00am. A billboard fell over and had its metal bolts sheared at the base near Hudson Rd and Mcknight Rd N in Maplewood. Estimated winds to create this damage are 60 mph.",
   "sourceDetail": "Verified by Public — NCEI Event #1323972",
   "windSpeedMph": 52,
   "evidenceLevel": "official_backfill"
  },
  {
   "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-1295167-2025-09-21",
   "lon": 206980,
   "zip": "",
   "city": "(STP)ST PAUL DOWNTOWN AIRPORT HOLMAN FIELD",
   "date": "2025-09-21",
   "county": "Ramsey",
   "source": "NCEI Storm Events Database",
   "severity": "high",
   "eventType": "hail",
   "confidence": 0.95,
   "damageTypes": [
    "Shingle bruising",
    "Granule displacement",
    "Metal denting",
    "Vehicle damage"
   ],
   "description": "Report of half-inch to Ping Pong Ball sized hail for two minutes.",
   "sourceDetail": "Verified by Trained Spotter — NCEI Event #1295167",
   "evidenceLevel": "official_backfill",
   "hailSizeInches": 1.5
  }
 ]
}