{"location":[43.1566,-77.6088],"location_name":"Selected location","timestamp":"2026-10-16T06:39:41.860916Z","source":"National Weather Service","mode":"everyday","current":{"temperature_c":16,"temperature_f":60.8,"temperature":16,"dewpoint_c":11,"dewpoint_f":51.8,"humidity":72.2,"pressure":1007.8,"pressure_hpa":1007.8,"pressure_inhg":29.76,"wind_speed":null,"wind_speed_mph":null,"wind_direction":null,"wind_direction_compass":null,"wind_gust_mph":null,"visibility_m":16093.44,"visibility_mi":10.0,"conditions":"Cloudy","conditions_raw":"Cloudy","sky_label":"Cloudy","sky_source":"nws_textDescription","cloud_layers_summary":["FEW@1828m","FEW@2133m","OVC@3352m"],"raw_metar":null,"station_id":"KROC","observed_at":"2026-10-16T05:55:00+00:00","observation_age_minutes":45,"observation_age_label":"45 min ago","observation_freshness":"acceptable","feels_like_f":60.8,"source":"NWS","location":[43.1566,-77.6088],"quality":{"freshness":"acceptable","age_minutes":45,"sky_source":"nws_textDescription","note":"Sky label uses cloudLayers/METAR when available; NWS textDescription retained as conditions_raw."},"cache_ttl_seconds":45.0,"observation_source":"NWS"},"brief":{"headline":"Periods Of Light Rain","summary":"Now: 60.8°F, Cloudy. Observation age: 45 min ago. Humidity ~72%. Next period (Friday): 70°F, Periods Of Light Rain. Overnight: 50°F, Periods Of Rain. No active NWS watches/warnings at this point.","current_temp_f":60.8,"feels_like_f":60.8,"humidity":72.2,"wind_mph":null,"conditions":"Cloudy","today_high_f":70,"today_high_period":"Friday","tonight_low_f":50,"tonight_low_period":"Overnight","seven_day_high_max_f":70,"seven_day_low_min_f":32,"seven_day_high_range":[47,70],"seven_day_low_range":[32,50],"active_alerts":[],"nearby_zone_alert_titles":[],"station_id":"KROC","observed_at":"2026-10-16T05:55:00+00:00","observation_age_minutes":45,"observation_age_label":"45 min ago"},"periods":[{"name":"Overnight","startTime":"2026-10-16T02:00:00-04:00","endTime":"2026-10-16T06:00:00-04:00","isDaytime":false,"temperature":50,"temperatureUnit":"F","windSpeed":"10 to 16 mph","windDirection":"S","shortForecast":"Periods Of Rain","detailedForecast":"Periods of rain and a slight chance of thunderstorms. Cloudy. Low around 50, with temperatures rising to around 61 overnight. South wind 10 to 16 mph, with gusts as high as 26 mph. Chance of precipitation is 90%. New rainfall amounts between a tenth and quarter of an inch possible.","probabilityOfPrecipitation":91,"relativeHumidity":null},{"name":"Friday","startTime":"2026-10-16T06:00:00-04:00","endTime":"2026-10-16T18:00:00-04:00","isDaytime":true,"temperature":70,"temperatureUnit":"F","windSpeed":"13 to 21 mph","windDirection":"W","shortForecast":"Periods Of Light Rain","detailedForecast":"A chance of rain showers before 7am, then periods of rain between 7am and 2pm, then a chance of rain showers. Cloudy. High near 70, with temperatures falling to around 58 in the afternoon. West wind 13 to 21 mph, with gusts as high as 33 mph. Chance of precipitation is 100%. New rainfall amounts between a quarter and half of an inch possible.","probabilityOfPrecipitation":97,"relativeHumidity":null},{"name":"Friday Night","startTime":"2026-10-16T18:00:00-04:00","endTime":"2026-10-17T06:00:00-04:00","isDaytime":false,"temperature":38,"temperatureUnit":"F","windSpeed":"16 mph","windDirection":"NW","shortForecast":"Chance Rain Showers","detailedForecast":"A chance of rain showers. Cloudy, with a low around 38. Northwest wind around 16 mph, with gusts as high as 29 mph. Chance of precipitation is 40%. New rainfall amounts less than a tenth of an inch possible.","probabilityOfPrecipitation":42,"relativeHumidity":null},{"name":"Saturday","startTime":"2026-10-17T06:00:00-04:00","endTime":"2026-10-17T18:00:00-04:00","isDaytime":true,"temperature":47,"temperatureUnit":"F","windSpeed":"9 to 16 mph","windDirection":"NW","shortForecast":"Chance Rain And Snow Showers then Partly Sunny","detailedForecast":"A chance of rain showers before 8am, then a chance of rain and snow showers between 8am and 11am. Partly sunny, with a high near 47. Northwest wind 9 to 16 mph. Chance of precipitation is 40%.","probabilityOfPrecipitation":35,"relativeHumidity":null},{"name":"Saturday Night","startTime":"2026-10-17T18:00:00-04:00","endTime":"2026-10-18T06:00:00-04:00","isDaytime":false,"temperature":32,"temperatureUnit":"F","windSpeed":"7 mph","windDirection":"W","shortForecast":"Mostly Clear","detailedForecast":"Mostly clear, with a low around 32. West wind around 7 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":61,"temperatureUnit":"F","windSpeed":"6 to 9 mph","windDirection":"SW","shortForecast":"Sunny","detailedForecast":"Sunny, with a high near 61. Southwest wind 6 to 9 mph.","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":38,"temperatureUnit":"F","windSpeed":"6 mph","windDirection":"SW","shortForecast":"Mostly Clear","detailedForecast":"Mostly clear, with a low around 38. Southwest wind around 6 mph.","probabilityOfPrecipitation":0,"relativeHumidity":null},{"name":"Monday","startTime":"2026-10-19T06:00:00-04:00","endTime":"2026-10-19T18:00:00-04:00","isDaytime":true,"temperature":66,"temperatureUnit":"F","windSpeed":"6 mph","windDirection":"SW","shortForecast":"Sunny","detailedForecast":"Sunny, with a high near 66. Southwest wind around 6 mph.","probabilityOfPrecipitation":0,"relativeHumidity":null},{"name":"Monday Night","startTime":"2026-10-19T18:00:00-04:00","endTime":"2026-10-20T06:00:00-04:00","isDaytime":false,"temperature":41,"temperatureUnit":"F","windSpeed":"3 mph","windDirection":"S","shortForecast":"Partly Cloudy","detailedForecast":"Partly cloudy, with a low around 41.","probabilityOfPrecipitation":0,"relativeHumidity":null},{"name":"Tuesday","startTime":"2026-10-20T06:00:00-04:00","endTime":"2026-10-20T18:00:00-04:00","isDaytime":true,"temperature":63,"temperatureUnit":"F","windSpeed":"6 mph","windDirection":"NW","shortForecast":"Sunny","detailedForecast":"Sunny, with a high near 63.","probabilityOfPrecipitation":0,"relativeHumidity":null},{"name":"Tuesday Night","startTime":"2026-10-20T18:00:00-04:00","endTime":"2026-10-21T06:00:00-04:00","isDaytime":false,"temperature":43,"temperatureUnit":"F","windSpeed":"3 mph","windDirection":"N","shortForecast":"Mostly Clear","detailedForecast":"Mostly clear, with a low around 43.","probabilityOfPrecipitation":1,"relativeHumidity":null},{"name":"Wednesday","startTime":"2026-10-21T06:00:00-04:00","endTime":"2026-10-21T18:00:00-04:00","isDaytime":true,"temperature":62,"temperatureUnit":"F","windSpeed":"2 to 7 mph","windDirection":"NE","shortForecast":"Sunny","detailedForecast":"Sunny, with a high near 62.","probabilityOfPrecipitation":1,"relativeHumidity":null},{"name":"Wednesday Night","startTime":"2026-10-21T18:00:00-04:00","endTime":"2026-10-22T06:00:00-04:00","isDaytime":false,"temperature":40,"temperatureUnit":"F","windSpeed":"5 mph","windDirection":"SE","shortForecast":"Partly Cloudy","detailedForecast":"Partly cloudy, with a low around 40.","probabilityOfPrecipitation":1,"relativeHumidity":null},{"name":"Thursday","startTime":"2026-10-22T06:00:00-04:00","endTime":"2026-10-22T18:00:00-04:00","isDaytime":true,"temperature":64,"temperatureUnit":"F","windSpeed":"5 mph","windDirection":"SE","shortForecast":"Sunny","detailedForecast":"Sunny, with a high near 64.","probabilityOfPrecipitation":2,"relativeHumidity":null}],"hourly":[{"name":"","startTime":"2026-10-16T02:00:00-04:00","endTime":"2026-10-16T03:00:00-04:00","isDaytime":false,"temperature":57,"temperatureUnit":"F","windSpeed":"10 mph","windDirection":"S","shortForecast":"Light Rain Likely","detailedForecast":"","probabilityOfPrecipitation":73,"relativeHumidity":80},{"name":"","startTime":"2026-10-16T03:00:00-04:00","endTime":"2026-10-16T04:00:00-04:00","isDaytime":false,"temperature":58,"temperatureUnit":"F","windSpeed":"13 mph","windDirection":"S","shortForecast":"Periods Of Rain","detailedForecast":"","probabilityOfPrecipitation":91,"relativeHumidity":84},{"name":"","startTime":"2026-10-16T04:00:00-04:00","endTime":"2026-10-16T05:00:00-04:00","isDaytime":false,"temperature":60,"temperatureUnit":"F","windSpeed":"15 mph","windDirection":"S","shortForecast":"Periods Of Rain","detailedForecast":"","probabilityOfPrecipitation":82,"relativeHumidity":86},{"name":"","startTime":"2026-10-16T05:00:00-04:00","endTime":"2026-10-16T06:00:00-04:00","isDaytime":false,"temperature":61,"temperatureUnit":"F","windSpeed":"16 mph","windDirection":"S","shortForecast":"Light Rain Likely","detailedForecast":"","probabilityOfPrecipitation":65,"relativeHumidity":92},{"name":"","startTime":"2026-10-16T06:00:00-04:00","endTime":"2026-10-16T07:00:00-04:00","isDaytime":true,"temperature":62,"temperatureUnit":"F","windSpeed":"16 mph","windDirection":"SW","shortForecast":"Chance Rain Showers","detailedForecast":"","probabilityOfPrecipitation":40,"relativeHumidity":92},{"name":"","startTime":"2026-10-16T07:00:00-04:00","endTime":"2026-10-16T08:00:00-04:00","isDaytime":true,"temperature":64,"temperatureUnit":"F","windSpeed":"16 mph","windDirection":"SW","shortForecast":"Light Rain Likely","detailedForecast":"","probabilityOfPrecipitation":61,"relativeHumidity":91},{"name":"","startTime":"2026-10-16T08:00:00-04:00","endTime":"2026-10-16T09:00:00-04:00","isDaytime":true,"temperature":66,"temperatureUnit":"F","windSpeed":"14 mph","windDirection":"SW","shortForecast":"Periods Of Light Rain","detailedForecast":"","probabilityOfPrecipitation":81,"relativeHumidity":90},{"name":"","startTime":"2026-10-16T09:00:00-04:00","endTime":"2026-10-16T10:00:00-04:00","isDaytime":true,"temperature":66,"temperatureUnit":"F","windSpeed":"13 mph","windDirection":"SW","shortForecast":"Periods Of Light Rain","detailedForecast":"","probabilityOfPrecipitation":89,"relativeHumidity":98},{"name":"","startTime":"2026-10-16T10:00:00-04:00","endTime":"2026-10-16T11:00:00-04:00","isDaytime":true,"temperature":68,"temperatureUnit":"F","windSpeed":"13 mph","windDirection":"SW","shortForecast":"Periods Of Light Rain","detailedForecast":"","probabilityOfPrecipitation":97,"relativeHumidity":97},{"name":"","startTime":"2026-10-16T11:00:00-04:00","endTime":"2026-10-16T12:00:00-04:00","isDaytime":true,"temperature":69,"temperatureUnit":"F","windSpeed":"15 mph","windDirection":"SW","shortForecast":"Periods Of Light Rain","detailedForecast":"","probabilityOfPrecipitation":91,"relativeHumidity":96},{"name":"","startTime":"2026-10-16T12:00:00-04:00","endTime":"2026-10-16T13:00:00-04:00","isDaytime":true,"temperature":69,"temperatureUnit":"F","windSpeed":"18 mph","windDirection":"W","shortForecast":"Periods Of Light Rain","detailedForecast":"","probabilityOfPrecipitation":85,"relativeHumidity":96},{"name":"","startTime":"2026-10-16T13:00:00-04:00","endTime":"2026-10-16T14:00:00-04:00","isDaytime":true,"temperature":68,"temperatureUnit":"F","windSpeed":"20 mph","windDirection":"W","shortForecast":"Light Rain Likely","detailedForecast":"","probabilityOfPrecipitation":67,"relativeHumidity":91},{"name":"","startTime":"2026-10-16T14:00:00-04:00","endTime":"2026-10-16T15:00:00-04:00","isDaytime":true,"temperature":68,"temperatureUnit":"F","windSpeed":"21 mph","windDirection":"W","shortForecast":"Chance Rain Showers","detailedForecast":"","probabilityOfPrecipitation":48,"relativeHumidity":85},{"name":"","startTime":"2026-10-16T15:00:00-04:00","endTime":"2026-10-16T16:00:00-04:00","isDaytime":true,"temperature":65,"temperatureUnit":"F","windSpeed":"20 mph","windDirection":"W","shortForecast":"Chance Rain Showers","detailedForecast":"","probabilityOfPrecipitation":48,"relativeHumidity":86},{"name":"","startTime":"2026-10-16T16:00:00-04:00","endTime":"2026-10-16T17:00:00-04:00","isDaytime":true,"temperature":62,"temperatureUnit":"F","windSpeed":"17 mph","windDirection":"W","shortForecast":"Chance Rain Showers","detailedForecast":"","probabilityOfPrecipitation":48,"relativeHumidity":87},{"name":"","startTime":"2026-10-16T17:00:00-04:00","endTime":"2026-10-16T18:00:00-04:00","isDaytime":true,"temperature":58,"temperatureUnit":"F","windSpeed":"17 mph","windDirection":"W","shortForecast":"Chance Rain Showers","detailedForecast":"","probabilityOfPrecipitation":45,"relativeHumidity":89},{"name":"","startTime":"2026-10-16T18:00:00-04:00","endTime":"2026-10-16T19:00:00-04:00","isDaytime":false,"temperature":55,"temperatureUnit":"F","windSpeed":"16 mph","windDirection":"NW","shortForecast":"Chance Rain Showers","detailedForecast":"","probabilityOfPrecipitation":42,"relativeHumidity":90},{"name":"","startTime":"2026-10-16T19:00:00-04:00","endTime":"2026-10-16T20:00:00-04:00","isDaytime":false,"temperature":52,"temperatureUnit":"F","windSpeed":"15 mph","windDirection":"NW","shortForecast":"Chance Rain Showers","detailedForecast":"","probabilityOfPrecipitation":32,"relativeHumidity":92},{"name":"","startTime":"2026-10-16T20:00:00-04:00","endTime":"2026-10-16T21:00:00-04:00","isDaytime":false,"temperature":50,"temperatureUnit":"F","windSpeed":"15 mph","windDirection":"NW","shortForecast":"Slight Chance Rain Showers","detailedForecast":"","probabilityOfPrecipitation":21,"relativeHumidity":91},{"name":"","startTime":"2026-10-16T21:00:00-04:00","endTime":"2026-10-16T22:00:00-04:00","isDaytime":false,"temperature":49,"temperatureUnit":"F","windSpeed":"15 mph","windDirection":"NW","shortForecast":"Slight Chance Rain Showers","detailedForecast":"","probabilityOfPrecipitation":15,"relativeHumidity":90},{"name":"","startTime":"2026-10-16T22:00:00-04:00","endTime":"2026-10-16T23:00:00-04:00","isDaytime":false,"temperature":48,"temperatureUnit":"F","windSpeed":"15 mph","windDirection":"NW","shortForecast":"Cloudy","detailedForecast":"","probabilityOfPrecipitation":10,"relativeHumidity":88},{"name":"","startTime":"2026-10-16T23:00:00-04:00","endTime":"2026-10-17T00:00:00-04:00","isDaytime":false,"temperature":46,"temperatureUnit":"F","windSpeed":"16 mph","windDirection":"N","shortForecast":"Cloudy","detailedForecast":"","probabilityOfPrecipitation":9,"relativeHumidity":86},{"name":"","startTime":"2026-10-17T00:00:00-04:00","endTime":"2026-10-17T01:00:00-04:00","isDaytime":false,"temperature":45,"temperatureUnit":"F","windSpeed":"16 mph","windDirection":"N","shortForecast":"Cloudy","detailedForecast":"","probabilityOfPrecipitation":9,"relativeHumidity":86},{"name":"","startTime":"2026-10-17T01:00:00-04:00","endTime":"2026-10-17T02:00:00-04:00","isDaytime":false,"temperature":44,"temperatureUnit":"F","windSpeed":"16 mph","windDirection":"N","shortForecast":"Slight Chance Rain Showers","detailedForecast":"","probabilityOfPrecipitation":17,"relativeHumidity":85}],"alerts":[],"alert_count":0,"nearby_zone_alerts":[],"nearby_alert_count":0,"alert_zones":{"zone_ids":["NYZ003","NYC055","NYZ201"],"forecast_office":"BUF"},"doc_independent":{"doc":{"agent":"doc","mode":"independent","not_nws":true,"source_surface":"openweathermap","surface":{"temperature_f":59.5,"temperature_c":15.2,"dewpoint_c":12.0,"humidity":81,"wind_speed_mph":11.5,"conditions":"light rain","station_id":"OWM:5134086","observed_at":"2026-10-16T06:34:28Z"},"parameters":{"surface_cape":261.2,"surface_cin":120.0,"wind_shear_0_6km":10.7,"storm_relative_helicity_0_3km":77.9,"supercell_composite":0.12,"significant_tornado":0.03,"energy_helicity_index":0.13},"probabilities":{"tornado":0.001,"severe_thunderstorm":0.08,"hail":0.035},"forecast":{"method":"doc_persistence_climatology_blend","next_24h_high_f":69.5,"next_24h_low_f":39.5,"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-16T06:39:41.913888Z"},"nws_comparison":{"source":"NWS","role":"comparison_baseline_only","temperature_f":60.8,"conditions":"Cloudy","station_id":"KROC","observation_age_label":"45 min ago","observed_at":"2026-10-16T05:55:00+00:00","humidity":72.2,"wind_speed_mph":null,"today_high_f":70,"tonight_low_f":50,"period_count":14},"performance":{"purpose":"Track whether DOC independent analysis outperforms NWS baseline","doc_not_derived_from_nws":true,"temperature_f":{"doc":59.5,"nws":60.8,"doc_minus_nws":-1.3,"abs_error":1.3,"doc_closer_to_nws_if_abs_lt_2":true},"today_high_f":{"doc":69.5,"nws":70,"doc_minus_nws":-0.5,"abs_error":0.5},"tonight_low_f":{"doc":39.5,"nws":50,"doc_minus_nws":-10.5,"abs_error":10.5},"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"}},"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":261.2,"wind_shear_0_6km_ms":10.7,"supercell_composite":0.12,"significant_tornado":0.03,"tornado_probability":0.001,"severe_thunderstorm_probability":0.08,"hail_probability":0.035,"severe_risk_category":"low","doc_confidence":0.69,"doc_forecast":{"method":"doc_persistence_climatology_blend","next_24h_high_f":69.5,"next_24h_low_f":39.5,"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":59.5,"nws":60.8,"doc_minus_nws":-1.3,"abs_error":1.3,"doc_closer_to_nws_if_abs_lt_2":true},"today_high_f":{"doc":69.5,"nws":70,"doc_minus_nws":-0.5,"abs_error":0.5},"tonight_low_f":{"doc":39.5,"nws":50,"doc_minus_nws":-10.5,"abs_error":10.5},"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.8,"conditions":"Cloudy","station_id":"KROC","observation_age_label":"45 min ago","observed_at":"2026-10-16T05:55:00+00:00","humidity":72.2,"wind_speed_mph":null,"today_high_f":70,"tonight_low_f":50,"period_count":14}},"media":{"location":[43.1566,-77.6088],"location_name":"Selected location","generated_at":"2026-10-16T06:39:41.930218Z","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":"KBUF","lat":42.9489,"lon":-78.7369,"distance_km":94.5,"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/BUF/N0Q_0.png","nws_radar_viewer":"https://radar.weather.gov/station/KBUF/standard","nws_viewer":"https://radar.weather.gov/?center=43.1566,-77.6088&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/BUF/N0Q_0.png","loop_frames":["https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0Q_0.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0Q_1.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0Q_2.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0Q_3.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0Q_4.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0Q_5.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0Q_6.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0Q_7.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0Q_8.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/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/BUF/N0U_0.png","loop_frames":["https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0U_0.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0U_1.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0U_2.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0U_3.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0U_4.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0U_5.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0U_6.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0U_7.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0U_8.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/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/BUF/N0S_0.png","loop_frames":["https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0S_0.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0S_1.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0S_2.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0S_3.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0S_4.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0S_5.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0S_6.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0S_7.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0S_8.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/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/BUF/N0C_0.png","loop_frames":["https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0C_0.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0C_1.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0C_2.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0C_3.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0C_4.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0C_5.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0C_6.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0C_7.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0C_8.png","https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/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/BUF/N0Q_0.png","base_velocity":"https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0U_0.png","storm_relative_velocity":"https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0S_0.png","correlation_coefficient":"https://mesonet.agron.iastate.edu/data/gis/images/4326/ridge/BUF/N0C_0.png"},"endpoint":"/api/public/scri?lat=43.1566&lon=-77.6088"}},"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/43.1566/-77.6088","nssl_lightning":"https://www.nssl.noaa.gov/research/lightning/","weather_gov_radar":"https://radar.weather.gov/?center=43.1566,-77.6088&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=43.1566,-77.6088&zoom=7"},"open_maps":{"center":[43.1566,-77.6088],"zoom":7,"marker":{"lat":43.1566,"lon":-77.6088,"label":"KBUF"},"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":"KBUF","lat":42.9489,"lon":-78.7369,"distance_km":94.5,"source":"nws_point_radarStation"},"external_viewers":{"nws_radar":"https://radar.weather.gov/?center=43.1566,-77.6088&zoom=7","nws_station":"https://radar.weather.gov/station/KBUF/standard","goes_conus":"https://www.star.nesdis.noaa.gov/goes/conus.php?sat=G19","openstreetmap":"https://www.openstreetmap.org/#map=7/43.1566/-77.6088","rainviewer_web":"https://www.rainviewer.com/map.html?loc=43.1566,-77.6088,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":199.3,"mindate":"2010-01-01","maxdate":"2010-01-01","latitude":43.00299,"name":"VICTOR 2 NW, NY US","datacoverage":1,"id":"GHCND:USC00308839","elevationUnit":"METERS","longitude":-77.4484,"distance_km":21.481548585777606},"location":[43.1566,-77.6088],"normals":[{"date":"2010-01-01T00:00:00","datatype":"ANN-PRCP-AVGNDS-GE001HI","station":"GHCND:USC00308839","attributes":"P","value":1339.0},{"date":"2010-01-01T00:00:00","datatype":"ANN-PRCP-AVGNDS-GE010HI","station":"GHCND:USC00308839","attributes":"P","value":777.0},{"date":"2010-01-01T00:00:00","datatype":"ANN-PRCP-AVGNDS-GE050HI","station":"GHCND:USC00308839","attributes":"P","value":213.0},{"date":"2010-01-01T00:00:00","datatype":"ANN-PRCP-AVGNDS-GE100HI","station":"GHCND:USC00308839","attributes":"P","value":44.0},{"date":"2010-01-01T00:00:00","datatype":"ANN-PRCP-NORMAL","station":"GHCND:USC00308839","attributes":"R","value":33.64},{"date":"2010-01-01T00:00:00","datatype":"DJF-PRCP-AVGNDS-GE001HI","station":"GHCND:USC00308839","attributes":"P","value":37.5},{"date":"2010-01-01T00:00:00","datatype":"DJF-PRCP-AVGNDS-GE010HI","station":"GHCND:USC00308839","attributes":"P","value":17.5},{"date":"2010-01-01T00:00:00","datatype":"DJF-PRCP-AVGNDS-GE050HI","station":"GHCND:USC00308839","attributes":"P","value":3.2},{"date":"2010-01-01T00:00:00","datatype":"DJF-PRCP-AVGNDS-GE100HI","station":"GHCND:USC00308839","attributes":"P","value":5},{"date":"2010-01-01T00:00:00","datatype":"DJF-PRCP-NORMAL","station":"GHCND:USC00308839","attributes":"R","value":619},{"date":"2010-01-01T00:00:00","datatype":"JJA-PRCP-AVGNDS-GE001HI","station":"GHCND:USC00308839","attributes":"P","value":30.1},{"date":"2010-01-01T00:00:00","datatype":"JJA-PRCP-AVGNDS-GE010HI","station":"GHCND:USC00308839","attributes":"P","value":20.0},{"date":"2010-01-01T00:00:00","datatype":"JJA-PRCP-AVGNDS-GE050HI","station":"GHCND:USC00308839","attributes":"P","value":6.2},{"date":"2010-01-01T00:00:00","datatype":"JJA-PRCP-AVGNDS-GE100HI","station":"GHCND:USC00308839","attributes":"P","value":17},{"date":"2010-01-01T00:00:00","datatype":"JJA-PRCP-NORMAL","station":"GHCND:USC00308839","attributes":"R","value":9.81},{"date":"2010-01-01T00:00:00","datatype":"MAM-PRCP-AVGNDS-GE001HI","station":"GHCND:USC00308839","attributes":"P","value":33.0},{"date":"2010-01-01T00:00:00","datatype":"MAM-PRCP-AVGNDS-GE010HI","station":"GHCND:USC00308839","attributes":"P","value":19.2},{"date":"2010-01-01T00:00:00","datatype":"MAM-PRCP-AVGNDS-GE050HI","station":"GHCND:USC00308839","attributes":"P","value":6.3},{"date":"2010-01-01T00:00:00","datatype":"MAM-PRCP-AVGNDS-GE100HI","station":"GHCND:USC00308839","attributes":"P","value":8},{"date":"2010-01-01T00:00:00","datatype":"MAM-PRCP-NORMAL","station":"GHCND:USC00308839","attributes":"R","value":8.56},{"date":"2010-01-01T00:00:00","datatype":"SON-PRCP-AVGNDS-GE001HI","station":"GHCND:USC00308839","attributes":"P","value":33.3},{"date":"2010-01-01T00:00:00","datatype":"SON-PRCP-AVGNDS-GE010HI","station":"GHCND:USC00308839","attributes":"P","value":21.0},{"date":"2010-01-01T00:00:00","datatype":"SON-PRCP-AVGNDS-GE050HI","station":"GHCND:USC00308839","attributes":"P","value":5.6},{"date":"2010-01-01T00:00:00","datatype":"SON-PRCP-AVGNDS-GE100HI","station":"GHCND:USC00308839","attributes":"P","value":14},{"date":"2010-01-01T00:00:00","datatype":"SON-PRCP-NORMAL","station":"GHCND:USC00308839","attributes":"R","value":9.08}],"metadata":{"resultset":{"offset":1,"count":25,"limit":1000}},"distance_km":21.5,"dataset":"NORMAL_ANN","selection":"nearest_within_extent"},"station_id":"GHCND:USC00308839","station_name":"VICTOR 2 NW, NY US","distance_km":21.5,"note":"NOAA NCEI climate normals from nearest station within 200 km."}}}