{"ok":true,"location":[43.1566,-77.6088],"location_name":"Rochester, NY","generated_at":"2026-08-24T17:25:12.414683Z","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":64.4,"nws":64.4,"tol_f":3.0}},{"id":"station_id","critical":true,"pass":true,"detail":{"agi":"KROC","nws":"KROC"}},{"id":"sky_fields","critical":false,"pass":true,"detail":{"conditions":"Mostly Cloudy","conditions_raw":"Mostly Cloudy","sky_source":"nws_textDescription","nws_text":"Mostly Cloudy"}},{"id":"wind_compass","critical":false,"pass":true,"detail":{"compass":"SW","mph":12.7,"nws_mph":12.7}},{"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":"BUF","name":"Buffalo, NY","lat":42.9408,"lon":-78.7322,"distance_km":94.4}}],"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":"BUF","name":"Buffalo, NY","lat":42.9408,"lon":-78.7322,"distance_km":94.4},"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":71,"persisted":true}