{"location":{"name":"Chennai Coast","lat":13.08,"lon":80.27},"generated_at":"2026-09-06T20:47:27Z","data":{"weather":{"source":"open-meteo","status":"error","error":"429 Client Error: Too Many Requests for url: https://api.open-meteo.com/v1/forecast?latitude=13.08&longitude=80.27&current=temperature_2m&current=relative_humidity_2m&current=apparent_temperature&current=precipitation&current=weather_code&current=pressure_msl&current=surface_pressure&current=cloud_cover&current=wind_speed_10m&current=wind_direction_10m&current=wind_gusts_10m&current=uv_index&current=visibility&current=is_day&timezone=UTC","latency_ms":2225.73},"marine":{"sea_surface_temp_c":30.0,"wave_height_m":0.9,"wave_period_s":6.7,"wave_direction_deg":151,"wind_wave_height_m":0.3,"wind_wave_period_s":2.1,"wind_wave_direction_deg":199,"swell_wave_height_m":0.62,"swell_wave_period_s":5.65,"swell_wave_direction_deg":148,"ocean_current_velocity_kmh":0.7,"ocean_current_direction_deg":14,"note":null,"source":"open-meteo-marine","observed_at":"2026-09-06T20:45:00Z","status":"ok","latency_ms":2269.86},"air_quality":{"station_name":"Royapuram, Chennai - TNPCB","pm25":23.83,"pm10":51.8,"o3":28.24,"no2":12.06,"so2":4.98,"co":0.72,"aqi_category":"moderate","source":"openaq","observed_at":"2026-09-03T18:15:00Z","status":"ok","latency_ms":2228.82},"sun_and_lighting":{"sunrise":"2026-09-06T00:26:50+00:00","sunset":"2026-09-06T12:47:52+00:00","solar_noon":"2026-09-06T06:37:21+00:00","day_length_hours":12.35,"civil_twilight_begin":"2026-09-06T00:06:31+00:00","civil_twilight_end":"2026-09-06T13:08:10+00:00","nautical_twilight_begin":"2026-09-05T23:41:35+00:00","nautical_twilight_end":"2026-09-06T13:33:06+00:00","astronomical_twilight_begin":"2026-09-05T23:16:32+00:00","astronomical_twilight_end":"2026-09-06T13:58:09+00:00","source":"sunrise-sunset.org","observed_at":"2026-09-06T06:37:21+00:00","status":"ok","latency_ms":2007.15},"terrain":{"source":"open-meteo-elevation","status":"error","error":"429 Client Error: Too Many Requests for url: https://api.open-meteo.com/v1/elevation?latitude=13.08&longitude=80.27","latency_ms":1562.19},"climate_baseline":{"solar_radiation_kwh_m2":6.0134,"avg_temperature_c":30.82,"avg_wind_speed_ms":3.74,"source":"nasa-power","observed_at":"2026-08-28T00:00:00Z","status":"ok","latency_ms":2172.55},"seismic_risk":{"recent_events_7d_count":0,"max_magnitude":null,"max_magnitude_depth_km":null,"hazard_level":"nominal","search_radius_km":500,"source":"usgs-earthquake","status":"ok","latency_ms":2264.6}},"meta":{"confidence":"partial — open-meteo, open-meteo-elevation failed, other sources ok","failed_sources":["open-meteo","open-meteo-elevation"],"total_latency_ms":2272.98,"source_latencies_ms":{"open-meteo":2225.73,"open-meteo-marine":2269.86,"openaq":2228.82,"sunrise-sunset.org":2007.15,"open-meteo-elevation":1562.19,"nasa-power":2172.55,"usgs-earthquake":2264.6},"cache_hit":false,"freshness_warning":"climate_baseline data is 236.8h old (>24h)","derived_insights":{"heat_index_c":null,"heat_index_category":null,"dew_point_c":null,"fog_risk":"unknown","beaufort_scale":null,"imd_cyclone_category":null,"small_craft_risk_level":"none","small_craft_risk_detail":{"level":"none","wind_kmh_used":0.0,"wave_height_m_used":0.9},"storm_potential_score":null,"storm_potential_level":null,"rapid_pressure_fall":null,"air_stagnation_index":null,"coastal_flood_risk":null,"tsunami_advisory":{"advisory":false,"reason":null},"methodology_note":"Composite physical signals from published, cited sources: NOAA heat index regression, Magnus-Tetens dew point, WMO Beaufort scale, IMD cyclone classification, NWS coastal marine warning wind/sea criteria, the inverse barometer effect, and the Bergeron/Sanders-Gyakum latitude-normalized rapid-pressure-fall criterion — no machine learning or forecasting is involved. See docs/PHASE2_WALKTHROUGH.md for citations and honest scope notes on where these standards do and don't strictly apply."},"trend_24h":{"wave_height_m":{"current":0.9,"previous":0.82,"change":"+0.08"},"pm25":{"current":23.83,"previous":23.83,"change":"+0.0"}},"active_alerts":[]}}