NWS text like 'Slight Chance Showers And Thunderstorms' (~17-24%) was mapping
straight to WMO 95 / thunderstorm icon, over-stating a mere chance of storms.
shortForecastToWmo now takes the period's precip probability (plus chance-like
wording) and downgrades low-chance storms to light showers (80) and low-chance
rain to light rain (61), keeping real/severe storms at 95. This also stops the
false thunderstorm alert banner for low-chance days. Today/Monday for Rogers
County now render as showers instead of storms.
- New Settings > Data source toggle (Open-Meteo global / NWS US); NWS
falls back to Open-Meteo when unavailable or outside its coverage.
- src/lib/api/nws.js: /points -> forecast/hourly/grid normalizer producing
the app's shared shape, with realistic air highs (NWS reports 104 for the
day Open-Meteo over-forecasts at 116); heat-index/feels-like falls back to
air temp since NWS returns apparentTemperature as null here.
- NWS requires a User-Agent contact; email is a build-time Vite env
(VITE_NWS_EMAIL), read from gitignored .env.local, never committed.
- Details view now shows which provider served the data.
- Fixes the identical UTC date-parse shift for NWS naive local times.
- Tests (8) + recorded live fixtures for Rogers County, OK.