{"ok":true,"schema_version":"2.4.1","location_name":"Rochester, NY","location":[40.7128,-74.006],"generated_at":"2026-10-16T07:40:32.105057Z","health":{"status":"healthy","system_initialized":true,"version":"2.0.0","modules_online":15,"modules_total":16,"integrations":{"nws":true,"grok":false,"doc_agi":true,"nasa":true,"firms":true,"noaa_climate":true,"weather_underground":true,"postgres":true},"integrations_detail":{"nws":{"online":true,"role":"primary_obs_forecast_alerts"},"grok":{"online":false,"configured":false,"disabled":true,"role":"disabled_alexa_plus_hackathon","last_ok_at":null,"last_error":"disabled for Amazon Alexa+ hackathon","provider_preference":["alexa-plus"],"gemini_configured":true,"gemini_online":true,"gemini_last_ok_at":"2026-10-16T07:38:19.970014Z","gemini_last_error":null,"last_provider":"gemini","last_probe_at":"2026-10-16T07:38:18.159229Z","models":{"grok":null,"gemini":"gemini-flash-lite-latest"}},"doc_agi":{"online":true,"role":"conversational_meteorology"},"nasa":{"online":true,"configured":true,"status":"online","note":null},"firms":{"online":true,"role":"wildfire_hotspots"},"noaa_climate":{"online":true,"role":"climate_normals_history"},"weather_underground":{"online":true,"role":"optional_pws","note":"Secondary; NWS is authoritative for public snapshot/status."},"postgres":{"online":true,"configured":true,"status":"online","role":"doc_persistence","engine":"postgres","database":"railway","server_version":"PostgreSQL 18.6 (Debian 18.6-1.pgdg13+2) on x86_64-pc-linux-gnu","schema_ready":true,"operator_clients":{"windows":"SQLGate for PostgreSQL","macos":"TablePlus / pgAdmin / DBeaver / psql"}}}},"current":{"temperature_c":15.6,"temperature_f":60.1,"temperature":15.6,"dewpoint_c":11.7,"dewpoint_f":53.1,"humidity":77.6,"pressure":1017.8,"pressure_hpa":1017.8,"pressure_inhg":30.06,"wind_speed":null,"wind_speed_mph":null,"wind_direction":null,"wind_direction_compass":null,"wind_gust_mph":null,"visibility_m":16090,"visibility_mi":10.0,"conditions":"Overcast / obscured","conditions_raw":"Unknown","sky_label":"Overcast / obscured","sky_source":"cloudLayers+metar","cloud_layers_summary":[],"raw_metar":"KNYC 160651Z 10SM OVC022 16/12 A3008 RMK AO2 SLP178 T01560117","station_id":"KNYC","observed_at":"2026-10-16T06:51:00+00:00","observation_age_minutes":50,"observation_age_label":"50 min ago","observation_freshness":"aging","feels_like_f":60.1,"source":"NWS","location":[40.7128,-74.006],"quality":{"freshness":"aging","age_minutes":50,"sky_source":"cloudLayers+metar","note":"Sky label uses cloudLayers/METAR when available; NWS textDescription retained as conditions_raw."},"cache_ttl_seconds":45.0,"observation_source":"NWS"},"observation_quality":{"freshness":"aging","age_minutes":50,"sky_source":"cloudLayers+metar","note":"Sky label uses cloudLayers/METAR when available; NWS textDescription retained as conditions_raw."},"brief":{"headline":"Rain Showers","summary":"Now: 60.1°F, Overcast / obscured. Observation age: 50 min ago. Humidity ~78%. Next period (Friday): 74°F, Rain Showers. Overnight: 59°F, Rain Showers. No active NWS watches/warnings at this point.","current_temp_f":60.1,"feels_like_f":60.1,"humidity":77.6,"wind_mph":null,"conditions":"Overcast / obscured","today_high_f":74,"today_high_period":"Friday","tonight_low_f":59,"tonight_low_period":"Overnight","seven_day_high_max_f":74,"seven_day_low_min_f":42,"seven_day_high_range":[52,74],"seven_day_low_range":[42,59],"active_alerts":[],"nearby_zone_alert_titles":[],"station_id":"KNYC","observed_at":"2026-10-16T06:51:00+00:00","observation_age_minutes":50,"observation_age_label":"50 min ago"},"periods":[{"name":"Overnight","startTime":"2026-10-16T03:00:00-04:00","endTime":"2026-10-16T06:00:00-04:00","isDaytime":false,"temperature":59,"temperatureUnit":"F","windSpeed":"7 mph","windDirection":"SE","shortForecast":"Rain Showers","detailedForecast":"Rain showers. Cloudy, with a low around 59. Southeast wind around 7 mph. Chance of precipitation is 80%.","probabilityOfPrecipitation":77,"relativeHumidity":null},{"name":"Friday","startTime":"2026-10-16T06:00:00-04:00","endTime":"2026-10-16T18:00:00-04:00","isDaytime":true,"temperature":74,"temperatureUnit":"F","windSpeed":"8 to 13 mph","windDirection":"S","shortForecast":"Rain Showers","detailedForecast":"Rain showers before 2pm, then showers and thunderstorms. Mostly cloudy, with a high near 74. South wind 8 to 13 mph. Chance of precipitation is 90%. New rainfall amounts between a tenth and quarter of an inch possible.","probabilityOfPrecipitation":91,"relativeHumidity":null},{"name":"Friday Night","startTime":"2026-10-16T18:00:00-04:00","endTime":"2026-10-17T06:00:00-04:00","isDaytime":false,"temperature":51,"temperatureUnit":"F","windSpeed":"13 to 20 mph","windDirection":"W","shortForecast":"Showers And Thunderstorms","detailedForecast":"Showers and thunderstorms. Cloudy. Low around 51, with temperatures rising to around 58 overnight. West wind 13 to 20 mph. Chance of precipitation is 90%. New rainfall amounts between a tenth and quarter of an inch possible.","probabilityOfPrecipitation":90,"relativeHumidity":null},{"name":"Saturday","startTime":"2026-10-17T06:00:00-04:00","endTime":"2026-10-17T18:00:00-04:00","isDaytime":true,"temperature":52,"temperatureUnit":"F","windSpeed":"20 mph","windDirection":"NW","shortForecast":"Slight Chance Rain Showers then Mostly Sunny","detailedForecast":"A slight chance of rain showers before 8am. Mostly sunny. High near 52, with temperatures falling to around 50 in the afternoon. Northwest wind around 20 mph. Chance of precipitation is 20%.","probabilityOfPrecipitation":23,"relativeHumidity":null},{"name":"Saturday Night","startTime":"2026-10-17T18:00:00-04:00","endTime":"2026-10-18T06:00:00-04:00","isDaytime":false,"temperature":42,"temperatureUnit":"F","windSpeed":"10 to 16 mph","windDirection":"N","shortForecast":"Mostly Clear","detailedForecast":"Mostly clear. Low around 42, with temperatures rising to around 44 overnight. North wind 10 to 16 mph.","probabilityOfPrecipitation":0,"relativeHumidity":null},{"name":"Sunday","startTime":"2026-10-18T06:00:00-04:00","endTime":"2026-10-18T18:00:00-04:00","isDaytime":true,"temperature":56,"temperatureUnit":"F","windSpeed":"7 to 10 mph","windDirection":"NE","shortForecast":"Sunny","detailedForecast":"Sunny, with a high near 56.","probabilityOfPrecipitation":0,"relativeHumidity":null},{"name":"Sunday Night","startTime":"2026-10-18T18:00:00-04:00","endTime":"2026-10-19T06:00:00-04:00","isDaytime":false,"temperature":47,"temperatureUnit":"F","windSpeed":"9 mph","windDirection":"NE","shortForecast":"Mostly Clear","detailedForecast":"Mostly clear, with a low around 47.","probabilityOfPrecipitation":2,"relativeHumidity":null},{"name":"Monday","startTime":"2026-10-19T06:00:00-04:00","endTime":"2026-10-19T18:00:00-04:00","isDaytime":true,"temperature":59,"temperatureUnit":"F","windSpeed":"10 mph","windDirection":"NE","shortForecast":"Mostly Sunny","detailedForecast":"Mostly sunny, with a high near 59.","probabilityOfPrecipitation":9,"relativeHumidity":null},{"name":"Monday Night","startTime":"2026-10-19T18:00:00-04:00","endTime":"2026-10-20T06:00:00-04:00","isDaytime":false,"temperature":49,"temperatureUnit":"F","windSpeed":"10 to 14 mph","windDirection":"NE","shortForecast":"Partly Cloudy","detailedForecast":"Partly cloudy, with a low around 49.","probabilityOfPrecipitation":11,"relativeHumidity":null},{"name":"Tuesday","startTime":"2026-10-20T06:00:00-04:00","endTime":"2026-10-20T18:00:00-04:00","isDaytime":true,"temperature":65,"temperatureUnit":"F","windSpeed":"9 to 14 mph","windDirection":"N","shortForecast":"Mostly Sunny","detailedForecast":"Mostly sunny, with a high near 65.","probabilityOfPrecipitation":11,"relativeHumidity":null},{"name":"Tuesday Night","startTime":"2026-10-20T18:00:00-04:00","endTime":"2026-10-21T06:00:00-04:00","isDaytime":false,"temperature":52,"temperatureUnit":"F","windSpeed":"9 to 16 mph","windDirection":"N","shortForecast":"Partly Cloudy","detailedForecast":"Partly cloudy, with a low around 52.","probabilityOfPrecipitation":7,"relativeHumidity":null},{"name":"Wednesday","startTime":"2026-10-21T06:00:00-04:00","endTime":"2026-10-21T18:00:00-04:00","isDaytime":true,"temperature":64,"temperatureUnit":"F","windSpeed":"13 to 16 mph","windDirection":"NE","shortForecast":"Sunny","detailedForecast":"Sunny, with a high near 64.","probabilityOfPrecipitation":4,"relativeHumidity":null},{"name":"Wednesday Night","startTime":"2026-10-21T18:00:00-04:00","endTime":"2026-10-22T06:00:00-04:00","isDaytime":false,"temperature":50,"temperatureUnit":"F","windSpeed":"10 to 15 mph","windDirection":"NE","shortForecast":"Mostly Clear","detailedForecast":"Mostly clear, with a low around 50.","probabilityOfPrecipitation":7,"relativeHumidity":null},{"name":"Thursday","startTime":"2026-10-22T06:00:00-04:00","endTime":"2026-10-22T18:00:00-04:00","isDaytime":true,"temperature":61,"temperatureUnit":"F","windSpeed":"9 to 15 mph","windDirection":"NE","shortForecast":"Mostly Sunny","detailedForecast":"Mostly sunny, with a high near 61.","probabilityOfPrecipitation":8,"relativeHumidity":null}],"hourly":[{"name":"","startTime":"2026-10-16T03:00:00-04:00","endTime":"2026-10-16T04:00:00-04:00","isDaytime":false,"temperature":60,"temperatureUnit":"F","windSpeed":"7 mph","windDirection":"SE","shortForecast":"Chance Rain Showers","detailedForecast":"","probabilityOfPrecipitation":28,"relativeHumidity":81},{"name":"","startTime":"2026-10-16T04:00:00-04:00","endTime":"2026-10-16T05:00:00-04:00","isDaytime":false,"temperature":60,"temperatureUnit":"F","windSpeed":"7 mph","windDirection":"S","shortForecast":"Chance Rain Showers","detailedForecast":"","probabilityOfPrecipitation":28,"relativeHumidity":84},{"name":"","startTime":"2026-10-16T05:00:00-04:00","endTime":"2026-10-16T06:00:00-04:00","isDaytime":false,"temperature":60,"temperatureUnit":"F","windSpeed":"7 mph","windDirection":"S","shortForecast":"Rain Showers","detailedForecast":"","probabilityOfPrecipitation":77,"relativeHumidity":90},{"name":"","startTime":"2026-10-16T06:00:00-04:00","endTime":"2026-10-16T07:00:00-04:00","isDaytime":true,"temperature":61,"temperatureUnit":"F","windSpeed":"8 mph","windDirection":"S","shortForecast":"Rain Showers","detailedForecast":"","probabilityOfPrecipitation":77,"relativeHumidity":90},{"name":"","startTime":"2026-10-16T07:00:00-04:00","endTime":"2026-10-16T08:00:00-04:00","isDaytime":true,"temperature":62,"temperatureUnit":"F","windSpeed":"9 mph","windDirection":"S","shortForecast":"Rain Showers","detailedForecast":"","probabilityOfPrecipitation":77,"relativeHumidity":93},{"name":"","startTime":"2026-10-16T08:00:00-04:00","endTime":"2026-10-16T09:00:00-04:00","isDaytime":true,"temperature":64,"temperatureUnit":"F","windSpeed":"10 mph","windDirection":"S","shortForecast":"Rain Showers","detailedForecast":"","probabilityOfPrecipitation":91,"relativeHumidity":90},{"name":"","startTime":"2026-10-16T09:00:00-04:00","endTime":"2026-10-16T10:00:00-04:00","isDaytime":true,"temperature":64,"temperatureUnit":"F","windSpeed":"10 mph","windDirection":"S","shortForecast":"Rain Showers","detailedForecast":"","probabilityOfPrecipitation":91,"relativeHumidity":97},{"name":"","startTime":"2026-10-16T10:00:00-04:00","endTime":"2026-10-16T11:00:00-04:00","isDaytime":true,"temperature":65,"temperatureUnit":"F","windSpeed":"10 mph","windDirection":"SW","shortForecast":"Rain Showers","detailedForecast":"","probabilityOfPrecipitation":91,"relativeHumidity":97},{"name":"","startTime":"2026-10-16T11:00:00-04:00","endTime":"2026-10-16T12:00:00-04:00","isDaytime":true,"temperature":66,"temperatureUnit":"F","windSpeed":"10 mph","windDirection":"SW","shortForecast":"Slight Chance Rain Showers","detailedForecast":"","probabilityOfPrecipitation":16,"relativeHumidity":97},{"name":"","startTime":"2026-10-16T12:00:00-04:00","endTime":"2026-10-16T13:00:00-04:00","isDaytime":true,"temperature":67,"temperatureUnit":"F","windSpeed":"12 mph","windDirection":"SW","shortForecast":"Slight Chance Rain Showers","detailedForecast":"","probabilityOfPrecipitation":16,"relativeHumidity":97},{"name":"","startTime":"2026-10-16T13:00:00-04:00","endTime":"2026-10-16T14:00:00-04:00","isDaytime":true,"temperature":68,"temperatureUnit":"F","windSpeed":"12 mph","windDirection":"SW","shortForecast":"Slight Chance Rain Showers","detailedForecast":"","probabilityOfPrecipitation":16,"relativeHumidity":93},{"name":"","startTime":"2026-10-16T14:00:00-04:00","endTime":"2026-10-16T15:00:00-04:00","isDaytime":true,"temperature":70,"temperatureUnit":"F","windSpeed":"13 mph","windDirection":"SW","shortForecast":"Mostly Cloudy","detailedForecast":"","probabilityOfPrecipitation":6,"relativeHumidity":90}],"alerts":[],"alert_count":0,"nearby_zone_alerts":[],"nearby_alert_count":0,"alert_zones":{"zone_ids":["NYZ072","NYC061","NYZ212"],"forecast_office":"OKX"},"severe_context":{"method":"doc_independent","not_nws":true,"not_radiosonde":true,"not_model_grid":true,"disclaimer":"DOC independent analysis — not NWS guidance. Parameters are DOC-model estimates with hard physical caps. Not a radiosonde or official forecast. NWS is provided separately for comparison/scorekeeping only.","note":"DOC independent model with hard caps. NWS is comparison-only (see performance_vs_nws) to track if DOC outperforms official guidance.","surface_cape_jkg":280.5,"wind_shear_0_6km_ms":9.9,"supercell_composite":0.12,"significant_tornado":0.03,"tornado_probability":0.001,"severe_thunderstorm_probability":0.08,"hail_probability":0.037,"severe_risk_category":"low","doc_confidence":0.69,"doc_forecast":{"method":"doc_persistence_climatology_blend","next_24h_high_f":71.8,"next_24h_low_f":41.8,"precip_chance_next_24h":0.25},"performance_vs_nws":{"purpose":"Track whether DOC independent analysis outperforms NWS baseline","doc_not_derived_from_nws":true,"temperature_f":{"doc":61.8,"nws":60.1,"doc_minus_nws":1.7,"abs_error":1.7,"doc_closer_to_nws_if_abs_lt_2":true},"today_high_f":{"doc":71.8,"nws":74,"doc_minus_nws":-2.2,"abs_error":2.2},"tonight_low_f":{"doc":41.8,"nws":59,"doc_minus_nws":-17.2,"abs_error":17.2},"current_temp_verdict":"doc_tracks_nws","note":"Lower abs_error vs NWS means DOC is closer to the official observation/forecast. This does not mean DOC *is* NWS — DOC remains independent."},"nws_comparison":{"source":"NWS","role":"comparison_baseline_only","temperature_f":60.1,"conditions":"Overcast / obscured","station_id":"KNYC","observation_age_label":"50 min ago","observed_at":"2026-10-16T06:51:00+00:00","humidity":77.6,"wind_speed_mph":null,"today_high_f":74,"tonight_low_f":59,"period_count":14}},"doc_independent":{"doc":{"agent":"doc","mode":"independent","not_nws":true,"source_surface":"openweathermap","surface":{"temperature_f":61.8,"temperature_c":16.5,"dewpoint_c":12.8,"humidity":79,"wind_speed_mph":10.0,"conditions":"overcast clouds","station_id":"OWM:5128581","observed_at":"2026-10-16T07:33:43Z"},"parameters":{"surface_cape":280.5,"surface_cin":120.0,"wind_shear_0_6km":9.9,"storm_relative_helicity_0_3km":74.6,"supercell_composite":0.12,"significant_tornado":0.03,"energy_helicity_index":0.13},"probabilities":{"tornado":0.001,"severe_thunderstorm":0.08,"hail":0.037},"forecast":{"method":"doc_persistence_climatology_blend","next_24h_high_f":71.8,"next_24h_low_f":41.8,"precip_chance_next_24h":0.25},"severe_risk_category":"low","confidence":0.69,"bounds_enforced":{"surface_cape_max":2200.0,"surface_cape_quiet_max":900.0,"shear_0_6km_max":28.0,"scp_max":2.5,"stp_max":1.2,"tornado_prob_max":0.18,"severe_prob_max":0.4,"hail_prob_max":0.3,"temp_f_abs_min":-40.0,"temp_f_abs_max":120.0},"disclaimer":"DOC independent analysis — not NWS guidance. Parameters are DOC-model estimates with hard physical caps. Not a radiosonde or official forecast. NWS is provided separately for comparison/scorekeeping only.","timestamp":"2026-10-16T07:40:31.418000Z"},"nws_comparison":{"source":"NWS","role":"comparison_baseline_only","temperature_f":60.1,"conditions":"Overcast / obscured","station_id":"KNYC","observation_age_label":"50 min ago","observed_at":"2026-10-16T06:51:00+00:00","humidity":77.6,"wind_speed_mph":null,"today_high_f":74,"tonight_low_f":59,"period_count":14},"performance":{"purpose":"Track whether DOC independent analysis outperforms NWS baseline","doc_not_derived_from_nws":true,"temperature_f":{"doc":61.8,"nws":60.1,"doc_minus_nws":1.7,"abs_error":1.7,"doc_closer_to_nws_if_abs_lt_2":true},"today_high_f":{"doc":71.8,"nws":74,"doc_minus_nws":-2.2,"abs_error":2.2},"tonight_low_f":{"doc":41.8,"nws":59,"doc_minus_nws":-17.2,"abs_error":17.2},"current_temp_verdict":"doc_tracks_nws","note":"Lower abs_error vs NWS means DOC is closer to the official observation/forecast. This does not mean DOC *is* NWS — DOC remains independent."},"architecture":{"doc_inputs":["openweathermap"],"nws_role":"comparison_baseline_only","doc_role":"independent_analysis"}},"agi_narrative":{"available":false,"provider":"none","reason":"Grok disabled for Amazon Alexa+ hackathon","text":null},"media":{"location":[40.7128,-74.006],"location_name":"Rochester, NY","generated_at":"2026-10-16T07:40:31.428693Z","satellite":{"provider":"NOAA NESDIS GOES-19","northeast_geocolor":"https://cdn.star.nesdis.noaa.gov/GOES19/ABI/SECTOR/ne/GEOCOLOR/latest.jpg","northeast_band13_clean_ir":"https://cdn.star.nesdis.noaa.gov/GOES19/ABI/SECTOR/ne/13/latest.jpg","conus_geocolor":"https://cdn.star.nesdis.noaa.gov/GOES19/ABI/CONUS/GEOCOLOR/latest.jpg","viewer_url":"https://www.star.nesdis.noaa.gov/goes/conus.php?sat=G19"},"satellite_loops":{"northeast_geocolor":{"name":"GOES-19 Northeast GeoColor","latest":"https://cdn.star.nesdis.noaa.gov/GOES19/ABI/SECTOR/ne/GEOCOLOR/latest.jpg","loop_hint":"Use NESDIS viewer for full animation; latest.jpg refreshes ~5 min.","viewer":"https://www.star.nesdis.noaa.gov/goes/sector.php?sat=G19&sector=ne"},"northeast_band13":{"name":"GOES-19 Northeast Clean IR","latest":"https://cdn.star.nesdis.noaa.gov/GOES19/ABI/SECTOR/ne/13/latest.jpg","viewer":"https://www.star.nesdis.noaa.gov/goes/sector.php?sat=G19&sector=ne"},"conus_geocolor":{"name":"GOES-19 CONUS GeoColor","latest":"https://cdn.star.nesdis.noaa.gov/GOES19/ABI/CONUS/GEOCOLOR/latest.jpg","viewer":"https://www.star.nesdis.noaa.gov/goes/conus.php?sat=G19"}},"radar":{"provider":"Iowa State Mesonet / NWS","nearest_site":{"site_id":"KDIX","lat":39.9469,"lon":-74.4107,"distance_km":91.8,"source":"nws_point_radarStation"},"us_composite_base_reflectivity":"https://mesonet.agron.iastate.edu/data/gis/images/4326/USCOMP/n0q_0.png","site_base_reflectivity":"https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0Q_0.png","nws_radar_viewer":"https://radar.weather.gov/station/KDIX/standard","nws_viewer":"https://radar.weather.gov/?center=40.7128,-74.006&zoom=7","iem_nexrad_tiles":"https://mesonet.agron.iastate.edu/cache/tile.py/1.0.0/nexrad-n0q-900913/{z}/{x}/{y}.png","products":{"reflectivity":{"id":"reflectivity","name":"Base Reflectivity (N0Q)","code":"N0Q","latest":"https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0Q_0.png","loop_frames":["https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0Q_0.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0Q_1.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0Q_2.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0Q_3.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0Q_4.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0Q_5.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0Q_6.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0Q_7.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0Q_8.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0Q_9.png"],"composite_latest":"https://mesonet.agron.iastate.edu/data/gis/images/4326/USCOMP/n0q_0.png","composite_loop":["https://mesonet.agron.iastate.edu/data/gis/images/4326/USCOMP/n0q_0.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/USCOMP/n0q_1.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/USCOMP/n0q_2.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/USCOMP/n0q_3.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/USCOMP/n0q_4.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/USCOMP/n0q_5.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/USCOMP/n0q_6.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/USCOMP/n0q_7.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/USCOMP/n0q_8.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/USCOMP/n0q_9.png"],"tiles":"https://mesonet.agron.iastate.edu/cache/tile.py/1.0.0/nexrad-n0q-900913/{z}/{x}/{y}.png"},"base_velocity":{"id":"base_velocity","name":"Base Velocity (N0U)","code":"N0U","latest":"https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0U_0.png","loop_frames":["https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0U_0.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0U_1.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0U_2.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0U_3.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0U_4.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0U_5.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0U_6.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0U_7.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0U_8.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0U_9.png"],"note":"Site ridge product; may 404 for some sites/tilts."},"storm_relative_velocity":{"id":"storm_relative_velocity","name":"Storm-Relative Velocity (N0S)","code":"N0S","latest":"https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0S_0.png","loop_frames":["https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0S_0.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0S_1.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0S_2.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0S_3.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0S_4.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0S_5.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0S_6.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0S_7.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0S_8.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0S_9.png"]},"correlation_coefficient":{"id":"correlation_coefficient","name":"Correlation Coefficient (N0C)","code":"N0C","latest":"https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0C_0.png","loop_frames":["https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0C_0.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0C_1.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0C_2.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0C_3.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0C_4.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0C_5.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0C_6.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0C_7.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0C_8.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0C_9.png"]},"supercell_composite_radar_index":{"id":"scri","name":"Supercell Composite Radar Index (SCRI)","type":"multi_moment_diagnostic","description":"Operational diagnostic combining multi-moment radar context (reflectivity structure, velocity couplets/SRV, CC) with DOC environmental parameters (CAPE, shear, SCP/STP). Not a Level-II NEXRAD moment — a situational awareness index.","component_products":["N0Q","N0U","N0S","N0C"],"component_urls":{"reflectivity":"https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0Q_0.png","base_velocity":"https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0U_0.png","storm_relative_velocity":"https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0S_0.png","correlation_coefficient":"https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/DIX/N0C_0.png"},"endpoint":"/api/public/scri?lat=40.7128&lon=-74.006"}},"default_product":"reflectivity","loop_enabled":true,"loop_frame_count":10,"loop_interval_ms":400},"lightning":{"provider":"Public lightning resources","note":"No proprietary strike feed is licensed; open maps for situational awareness.","blitzortung_map":"https://map.blitzortung.org/#5/40.7128/-74.006","nssl_lightning":"https://www.nssl.noaa.gov/research/lightning/","weather_gov_radar":"https://radar.weather.gov/?center=40.7128,-74.006&zoom=7"},"futurecast":{"name":"Short-term storm motion / futurecast","provider":"RainViewer nowcast frames + DOC motion estimate","rainviewer_nowcast":true,"rainviewer_proxy":"/api/public/rainviewer","note":"RainViewer nowcast paths (when present in weather-maps.json) provide ~30–60 min precipitation advection. DOC may add environmental storm-motion vectors.","nws_radar_future":"https://radar.weather.gov/?center=40.7128,-74.006&zoom=7"},"open_maps":{"center":[40.7128,-74.006],"zoom":7,"marker":{"lat":40.7128,"lon":-74.006,"label":"KDIX"},"default_basemap":"carto_dark","basemaps":{"openstreetmap":{"name":"OpenStreetMap","url":"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png","attribution":"© OpenStreetMap contributors","max_zoom":19,"subdomains":["a","b","c"]},"carto_dark":{"name":"Carto Dark Matter","url":"https://{s}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}{r}.png","attribution":"© OpenStreetMap © CARTO","max_zoom":20,"subdomains":["a","b","c","d"]},"carto_voyager":{"name":"Carto Voyager","url":"https://{s}.basemaps.cartocdn.com/rastertiles/voyager/{z}/{x}/{y}{r}.png","attribution":"© OpenStreetMap © CARTO","max_zoom":20,"subdomains":["a","b","c","d"]},"opentopomap":{"name":"OpenTopoMap","url":"https://{s}.tile.opentopomap.org/{z}/{x}/{y}.png","attribution":"© OpenStreetMap © OpenTopoMap (CC-BY-SA)","max_zoom":17,"subdomains":["a","b","c"]}},"overlays":{"iem_nexrad_base_reflectivity":{"id":"iem_nexrad","name":"NEXRAD Base Reflectivity (IEM)","category":"radar","url":"https://mesonet.agron.iastate.edu/cache/tile.py/1.0.0/nexrad-n0q-900913/{z}/{x}/{y}.png","attribution":"Iowa Environmental Mesonet / NWS NEXRAD","opacity":0.7,"max_zoom":10,"refresh_seconds":300},"iem_nexrad_loop_hint":{"id":"iem_nexrad_q2","name":"NEXRAD Composite Q2 (IEM)","category":"radar","url":"https://mesonet.agron.iastate.edu/cache/tile.py/1.0.0/q2-n0q-900913/{z}/{x}/{y}.png","attribution":"Iowa Environmental Mesonet","opacity":0.65,"max_zoom":10,"refresh_seconds":300},"iem_goes_east_vis":{"id":"iem_goes_vis","name":"GOES-East Visible (IEM)","category":"satellite","url":"https://mesonet.agron.iastate.edu/cache/tile.py/1.0.0/goes-east-vis-1km-900913/{z}/{x}/{y}.png","attribution":"Iowa Environmental Mesonet / NOAA GOES","opacity":0.85,"max_zoom":8,"refresh_seconds":600},"iem_goes_east_ir":{"id":"iem_goes_ir","name":"GOES-East IR (IEM)","category":"satellite_ir","url":"https://mesonet.agron.iastate.edu/cache/tile.py/1.0.0/goes-east-ir-4km-900913/{z}/{x}/{y}.png","attribution":"Iowa Environmental Mesonet / NOAA GOES","opacity":0.8,"max_zoom":8,"refresh_seconds":600},"iem_goes_east_wv":{"id":"iem_goes_wv","name":"GOES-East Water Vapor (IEM)","category":"satellite","url":"https://mesonet.agron.iastate.edu/cache/tile.py/1.0.0/goes-east-wv-4km-900913/{z}/{x}/{y}.png","attribution":"Iowa Environmental Mesonet / NOAA GOES","opacity":0.8,"max_zoom":8,"refresh_seconds":600},"owm_precipitation":{"id":"owm_precipitation","name":"OWM Precipitation","category":"radar","url":"https://tile.openweathermap.org/map/precipitation_new/{z}/{x}/{y}.png?appid=6b80056780a3de5c6d35f0d73a1db083","attribution":"© OpenWeatherMap","opacity":0.65,"max_zoom":12,"refresh_seconds":600,"provider":"openweathermap"},"owm_clouds":{"id":"owm_clouds","name":"OWM Clouds","category":"satellite","url":"https://tile.openweathermap.org/map/clouds_new/{z}/{x}/{y}.png?appid=6b80056780a3de5c6d35f0d73a1db083","attribution":"© OpenWeatherMap","opacity":0.65,"max_zoom":12,"refresh_seconds":600,"provider":"openweathermap"},"owm_temp":{"id":"owm_temp","name":"OWM Temperature","category":"temperature","url":"https://tile.openweathermap.org/map/temp_new/{z}/{x}/{y}.png?appid=6b80056780a3de5c6d35f0d73a1db083","attribution":"© OpenWeatherMap","opacity":0.55,"max_zoom":12,"refresh_seconds":600,"provider":"openweathermap"},"owm_wind":{"id":"owm_wind","name":"OWM Wind","category":"wind","url":"https://tile.openweathermap.org/map/wind_new/{z}/{x}/{y}.png?appid=6b80056780a3de5c6d35f0d73a1db083","attribution":"© OpenWeatherMap","opacity":0.65,"max_zoom":12,"refresh_seconds":600,"provider":"openweathermap"},"owm_pressure":{"id":"owm_pressure","name":"OWM Pressure","category":"analysis","url":"https://tile.openweathermap.org/map/pressure_new/{z}/{x}/{y}.png?appid=6b80056780a3de5c6d35f0d73a1db083","attribution":"© OpenWeatherMap","opacity":0.65,"max_zoom":12,"refresh_seconds":600,"provider":"openweathermap"}},"rainviewer":{"enabled":true,"maps_api":"https://api.rainviewer.com/public/weather-maps.json","maps_api_proxy":"/api/public/rainviewer","tile_template":"{host}{path}/256/{z}/{x}/{y}/2/1_1.png","tile_size":256,"color_scheme":2,"smooth":1,"snow":1,"opacity":0.7,"category":"radar","name":"RainViewer Global Radar","attribution":"RainViewer","notes":["Personal free tier: past radar frames, max zoom ~7 on some plans.","Frontend builds frame tile URLs from maps_api path list."]},"openweathermap":{"configured":true,"provider":"OpenWeatherMap","layers":{"owm_precipitation":{"layer":"precipitation_new","category":"radar","name":"OWM Precipitation"},"owm_clouds":{"layer":"clouds_new","category":"satellite","name":"OWM Clouds"},"owm_temp":{"layer":"temp_new","category":"temperature","name":"OWM Temperature"},"owm_wind":{"layer":"wind_new","category":"wind","name":"OWM Wind"},"owm_pressure":{"layer":"pressure_new","category":"analysis","name":"OWM Pressure"}},"note":"OWM free tiles may 401 for ~10 min–2 h after key creation while the key activates."},"default_overlays_by_view":{"radar":["rainviewer","owm_precipitation","iem_nexrad_base_reflectivity"],"satellite":["owm_clouds","iem_goes_east_vis"],"temperature":["owm_temp","iem_goes_east_ir"]},"nearest_radar":{"site_id":"KDIX","lat":39.9469,"lon":-74.4107,"distance_km":91.8,"source":"nws_point_radarStation"},"external_viewers":{"nws_radar":"https://radar.weather.gov/?center=40.7128,-74.006&zoom=7","nws_station":"https://radar.weather.gov/station/KDIX/standard","goes_conus":"https://www.star.nesdis.noaa.gov/goes/conus.php?sat=G19","openstreetmap":"https://www.openstreetmap.org/#map=7/40.7128/-74.0060","rainviewer_web":"https://www.rainviewer.com/map.html?loc=40.7128,-74.006,7","openweathermap":"https://openweathermap.org/weathermap"}},"notes":["Image URLs are public NOAA/Mesonet products and may lag a few minutes.","open_maps: OpenStreetMap basemap + IEM NEXRAD/GOES tiles + RainViewer animated radar.","Radar multi-moment ridge loops: reflectivity, base velocity, SRV, correlation coefficient.","SCRI is a multi-moment diagnostic index (not a native Level-II moment).","Embed static <img> tags on no-JS pages; use open_maps tile layers for interactive Leaflet maps.","Site-specific ridge imagery may 404 for some codes; US composite is the reliable fallback.","OpenWeatherMap tiles enabled (precipitation/clouds/temp/wind/pressure) via OPENWEATHERMAP_API_KEY."]},"enrichments":{"firms":{"available":true,"fire_count":0,"nearest_fire_km":null,"source_dataset":"VIIRS_SNPP_NRT","radius_km":150,"note":"NASA FIRMS hotspots within 150 km (may be none locally)."},"climate_normals":{"available":true,"data":{"station":{"elevation":41.1,"mindate":"2010-01-01","maxdate":"2010-01-01","latitude":40.74194,"name":"JERSEY CITY, NJ US","datacoverage":1,"id":"GHCND:USC00284339","elevationUnit":"METERS","longitude":-74.05722,"distance_km":5.397017952037849},"location":[40.7128,-74.006],"normals":[{"date":"2010-01-01T00:00:00","datatype":"ANN-PRCP-AVGNDS-GE001HI","station":"GHCND:USC00284339","attributes":"P","value":1072.0},{"date":"2010-01-01T00:00:00","datatype":"ANN-PRCP-AVGNDS-GE010HI","station":"GHCND:USC00284339","attributes":"P","value":727.0},{"date":"2010-01-01T00:00:00","datatype":"ANN-PRCP-AVGNDS-GE050HI","station":"GHCND:USC00284339","attributes":"P","value":319.0},{"date":"2010-01-01T00:00:00","datatype":"ANN-PRCP-AVGNDS-GE100HI","station":"GHCND:USC00284339","attributes":"P","value":128.0},{"date":"2010-01-01T00:00:00","datatype":"ANN-PRCP-NORMAL","station":"GHCND:USC00284339","attributes":"R","value":46.13},{"date":"2010-01-01T00:00:00","datatype":"DJF-PRCP-AVGNDS-GE001HI","station":"GHCND:USC00284339","attributes":"P","value":27.3},{"date":"2010-01-01T00:00:00","datatype":"DJF-PRCP-AVGNDS-GE010HI","station":"GHCND:USC00284339","attributes":"P","value":17.4},{"date":"2010-01-01T00:00:00","datatype":"DJF-PRCP-AVGNDS-GE050HI","station":"GHCND:USC00284339","attributes":"P","value":7.1},{"date":"2010-01-01T00:00:00","datatype":"DJF-PRCP-AVGNDS-GE100HI","station":"GHCND:USC00284339","attributes":"P","value":26},{"date":"2010-01-01T00:00:00","datatype":"DJF-PRCP-NORMAL","station":"GHCND:USC00284339","attributes":"R","value":1018},{"date":"2010-01-01T00:00:00","datatype":"JJA-PRCP-AVGNDS-GE001HI","station":"GHCND:USC00284339","attributes":"P","value":26.1},{"date":"2010-01-01T00:00:00","datatype":"JJA-PRCP-AVGNDS-GE010HI","station":"GHCND:USC00284339","attributes":"P","value":18.4},{"date":"2010-01-01T00:00:00","datatype":"JJA-PRCP-AVGNDS-GE050HI","station":"GHCND:USC00284339","attributes":"P","value":8.3},{"date":"2010-01-01T00:00:00","datatype":"JJA-PRCP-AVGNDS-GE100HI","station":"GHCND:USC00284339","attributes":"P","value":32},{"date":"2010-01-01T00:00:00","datatype":"JJA-PRCP-NORMAL","station":"GHCND:USC00284339","attributes":"R","value":12.22},{"date":"2010-01-01T00:00:00","datatype":"MAM-PRCP-AVGNDS-GE001HI","station":"GHCND:USC00284339","attributes":"P","value":29.3},{"date":"2010-01-01T00:00:00","datatype":"MAM-PRCP-AVGNDS-GE010HI","station":"GHCND:USC00284339","attributes":"P","value":20.4},{"date":"2010-01-01T00:00:00","datatype":"MAM-PRCP-AVGNDS-GE050HI","station":"GHCND:USC00284339","attributes":"P","value":8.3},{"date":"2010-01-01T00:00:00","datatype":"MAM-PRCP-AVGNDS-GE100HI","station":"GHCND:USC00284339","attributes":"P","value":33},{"date":"2010-01-01T00:00:00","datatype":"MAM-PRCP-NORMAL","station":"GHCND:USC00284339","attributes":"R","value":11.74},{"date":"2010-01-01T00:00:00","datatype":"SON-PRCP-AVGNDS-GE001HI","station":"GHCND:USC00284339","attributes":"P","value":24.5},{"date":"2010-01-01T00:00:00","datatype":"SON-PRCP-AVGNDS-GE010HI","station":"GHCND:USC00284339","attributes":"P","value":16.5},{"date":"2010-01-01T00:00:00","datatype":"SON-PRCP-AVGNDS-GE050HI","station":"GHCND:USC00284339","attributes":"P","value":8.2},{"date":"2010-01-01T00:00:00","datatype":"SON-PRCP-AVGNDS-GE100HI","station":"GHCND:USC00284339","attributes":"P","value":37},{"date":"2010-01-01T00:00:00","datatype":"SON-PRCP-NORMAL","station":"GHCND:USC00284339","attributes":"R","value":11.99}],"metadata":{"resultset":{"offset":1,"count":25,"limit":1000}},"distance_km":5.4,"dataset":"NORMAL_ANN","selection":"nearest_within_extent"},"station_id":"GHCND:USC00284339","station_name":"JERSEY CITY, NJ US","distance_km":5.4,"note":"NOAA NCEI climate normals from nearest station within 200 km."}},"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. SPC observed upper-air GIFs (500/850/300 mb) return 404; embedded products are WPC analysis charts plus MAG RAP / SPC sounding links. Severe CAPE values elsewhere remain surface proxies, not soundings.","nearest_raob":{"site_id":"OKX","name":"Upton, NY","lat":40.8656,"lon":-72.8644,"distance_km":97.6},"products":{"spc_soundings":"https://www.spc.noaa.gov/exper/soundings/","analysis_surface":"https://www.wpc.ncep.noaa.gov/sfc/namussfcwbg.gif","analysis_basicwx":"https://www.wpc.ncep.noaa.gov/basicwx/92fwbg.gif","upper_air_500_guidance":"https://mag.ncep.noaa.gov/model-guidance-model-parameter.php?group=Model%20Guidance&model=RAP&area=Namer&param=500_ht_abs_vort","spc_day1_outlook":"https://www.spc.noaa.gov/products/outlook/day1otlk.html","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"]},"source":"National Weather Service","architecture_note":"DOC runs independently (doc_independent). NWS is the comparison baseline for scorekeeping (performance_vs_nws) — DOC does not copy NWS as its model.","api_links":{"docs":"/api/public/docs","health":"/api/health","media":"/api/public/media?lat=40.7128&lon=-74.006","research":"/api/public/research?q=briefing&lat=40.7128&lon=-74.006","chat":"/api/public/chat","threat_shield":"/api/public/threat-shield?lat=40.7128&lon=-74.006","weekly_regression":"/api/public/weekly-regression?lat=40.7128&lon=-74.006","weekly_regression_suite":"/api/public/weekly-regression?multi=true","upper_air":"/api/public/upper-air?lat=40.7128&lon=-74.006","current":"/api/current?lat=40.7128&lon=-74.006","everyday":"/api/forecast/everyday?lat=40.7128&lon=-74.006&include_agi=true","alerts":"/api/alerts?lat=40.7128&lon=-74.006","html_status":"/status?lat=40.7128&lon=-74.006&location_name=Rochester, NY"}}