{"ok":true,"location":[43.0481,-76.1474],"location_name":"Rochester, NY","generated_at":"2026-08-24T18:50:04.845630Z","critical_pass":true,"checks_passed":9,"checks_total":9,"checks":[{"id":"observation_age","critical":true,"pass":true,"detail":{"age_min":20,"max":90,"freshness":"fresh"}},{"id":"temperature_f","critical":true,"pass":true,"detail":{"agi":71.6,"nws":69.8,"tol_f":3.0}},{"id":"station_id","critical":true,"pass":true,"detail":{"agi":"KSYR","nws":"KSYR"}},{"id":"sky_fields","critical":false,"pass":true,"detail":{"conditions":"Cloudy","conditions_raw":"Cloudy","sky_source":"nws_textDescription","nws_text":"Cloudy"}},{"id":"wind_compass","critical":false,"pass":true,"detail":{"compass":"SW","mph":12.7,"nws_mph":11.5}},{"id":"media_present","critical":false,"pass":true,"detail":{"has_radar":true,"has_satellite":true}},{"id":"periods","critical":true,"pass":true,"detail":{"count":14}},{"id":"hourly_present","critical":false,"pass":true,"detail":{"count":12}},{"id":"upper_air_context","critical":false,"pass":true,"detail":{"site_id":"ALB","name":"Albany, NY","lat":42.6919,"lon":-73.8317,"distance_km":192.8}}],"upper_air":{"available":true,"ingest_status":"links_only","note":"Nearest RAOB site is identified for context. Live radiosonde levels, CAPE/shear from RAOB, and RAP/HRRR grids are not yet ingested. Severe CAPE values elsewhere remain surface proxies, not soundings.","nearest_raob":{"site_id":"ALB","name":"Albany, NY","lat":42.6919,"lon":-73.8317,"distance_km":192.8},"products":{"spc_soundings":"https://www.spc.noaa.gov/exper/soundings/","spc_500mb":"https://www.spc.noaa.gov/obswx/maps/500mb.gif","spc_850mb":"https://www.spc.noaa.gov/obswx/maps/850mb.gif","spc_300mb":"https://www.spc.noaa.gov/obswx/maps/300mb.gif","spc_maps":"https://www.spc.noaa.gov/obswx/maps/","rap_analysis":"https://mag.ncep.noaa.gov/model-guidance-model-parameter.php?group=Model%20Guidance&model=RAP"},"planned":["RAOB BUFR/ASCII parse","RAP/HRRR grid extract","local CAPE/shear from model"]},"schema_version":"2.4.0","notes":["Weekly IOP regression: AGI snapshot vs live NWS station latest.","Critical: age, temperature, station, periods. Soft: sky/wind/media/hourly/upper-air context.","Multi-site: GET /api/public/weekly-regression?multi=true","History: GET /api/public/weekly-regression/history (Postgres when configured)."],"persisted_id":77,"persisted":true}