{"schema_version":"1.1","purpose":"Complete cached hourly weather and astronomy data for tonight; raw source fields precede auxiliary analysis","location":{"slug":"glenlea","name":"Glenlea Astronomical Observatory","latitude":49.645278,"longitude":-97.121389,"elevation_m":231.0,"timezone":"America/Winnipeg","coordinate_source":"Minor Planet Center observatory code 729; latitude cross-checked against published observatory listing"},"generated_at":"2026-09-04T03:16:15.326791Z","data_status":"complete","cache_only":true,"source_health":{"healthy":5,"total":5,"astrospheric":{"status":"ok","fetched_at":"2026-09-04T03:16:15.322846Z","model_time":"2026090318","forecast_time":"2026090319","is_nbm_available":true,"credit_cost":15,"variables":["Cloud","Transparency","Seeing","Temperature","DewPoint","WindDirection","Wind"]},"model_ensemble":{"status":"ok","fetched_at":"2026-09-04T03:16:13.208165Z","oldest_model_fetched_at":"2026-09-04T03:16:13.040143Z","provider":"Open-Meteo","models":["RDPS","HRDPS","GFS","ICON","NBM"],"live_models":["RDPS","HRDPS","GFS","ICON","NBM"],"cached_models":[],"unavailable_models":[],"model_statuses":{"RDPS":{"status":"ok","fetched_at":"2026-09-04T03:16:13.062182Z","attempts":1},"HRDPS":{"status":"ok","fetched_at":"2026-09-04T03:16:13.040143Z","attempts":1},"GFS":{"status":"ok","fetched_at":"2026-09-04T03:16:13.092217Z","attempts":1},"ICON":{"status":"ok","fetched_at":"2026-09-04T03:16:13.191529Z","attempts":1},"NBM":{"status":"ok","fetched_at":"2026-09-04T03:16:13.208165Z","attempts":1}},"cache_policy":{"max_age_hours":6.0,"semantics":"Last-known-good model values remain visible with cached status; they are never labelled live."},"message":null},"air_quality":{"status":"ok","fetched_at":"2026-09-04T03:16:12.894719Z","provider":"CAMS Global via Open-Meteo","resolution_note":"45 km global atmospheric composition guidance; smoke proxy, not local smoke detection."},"eccc_current":{"status":"ok","provider":"Environment and Climate Change Canada SWOB","station":"KLEEFELD (MAFRI)","station_code":"PTG","observed_at":"2026-09-04T03:00:00Z","age_minutes":16,"distance_km":19.6,"temperature_c":17.3,"dew_point_c":16.5,"humidity_percent":95.0,"wind_speed_kmh":null,"wind_direction_degrees":null,"wind_gust_kmh":null,"precipitation_10m_mm":null,"station_coordinates":[49.5297,-96.9155],"cloud_observation":{"status":"ok","station":"Winnipeg/James Armstrong Richard","station_code":null,"observed_at":"2026-09-04T03:00:00Z","age_minutes":16,"distance_km":30.6,"station_coordinates":[49.91,-97.2401],"cloud_percent":100.0,"sky_category":"Overcast","cloud_amount_codes":[34,36],"method":"ECCC SWOB reported total cloud amount percent."}},"eccc_hourly":{"status":"ok","provider":"Environment and Climate Change Canada City Page Weather","product_status":"experimental","forecast_location":"Winnipeg","updated_at":"2026-09-04T03:01:24Z","warning_count":0,"warnings":[]},"coverage":{"astrospheric":{"available_from":"2026-09-03T21:00:00Z","available_through":"2026-09-07T06:00:00Z","variables":{"Cloud":{"available_from":"2026-09-03T21:00:00Z","available_through":"2026-09-07T06:00:00Z"},"Transparency":{"available_from":"2026-09-03T21:00:00Z","available_through":"2026-09-07T06:00:00Z"},"Seeing":{"available_from":"2026-09-03T21:00:00Z","available_through":"2026-09-07T06:00:00Z"},"Temperature":{"available_from":"2026-09-03T21:00:00Z","available_through":"2026-09-07T06:00:00Z"},"DewPoint":{"available_from":"2026-09-03T21:00:00Z","available_through":"2026-09-07T06:00:00Z"},"WindDirection":{"available_from":"2026-09-03T21:00:00Z","available_through":"2026-09-07T06:00:00Z"},"Wind":{"available_from":"2026-09-03T21:00:00Z","available_through":"2026-09-07T06:00:00Z"}}},"independent_models":{"GFS":{"available_from":"2026-09-04T00:00:00Z","available_through":"2026-09-10T23:00:00Z"},"HRDPS":{"available_from":"2026-09-04T00:00:00Z","available_through":"2026-09-05T18:00:00Z"},"ICON":{"available_from":"2026-09-04T00:00:00Z","available_through":"2026-09-10T23:00:00Z"},"NBM":{"available_from":"2026-09-04T00:00:00Z","available_through":"2026-09-10T23:00:00Z"},"RDPS":{"available_from":"2026-09-04T00:00:00Z","available_through":"2026-09-07T06:00:00Z"}},"air_quality":{"available_from":"2026-09-04T00:00:00Z","available_through":"2026-09-08T23:00:00Z"},"eccc_hourly":{"available_from":"2026-09-04T04:00:00Z","available_through":"2026-09-05T03:00:00Z"}}},"sources":{"astrospheric":{"provider":"Astrospheric Data API v2","fields":"Cloud, Transparency, Seeing, Temperature, DewPoint, WindDirection, Wind","note":"Official Astrospheric values. Individual Pro Cloud Ensemble members are not exposed by this API."},"independent_models":{"provider":"Open-Meteo model endpoints","fields":"RDPS, HRDPS, GFS, ICON and NBM cloud, temperature, dew point, humidity, precipitation and wind","note":"Independent model data; not the Astrospheric Pro Cloud Ensemble."},"eccc_current":{"provider":"Environment and Climate Change Canada SWOB","fields":"nearest recent weather-station observation plus separately selected nearby aviation cloud observation","note":"Every observation retains station time, age, distance and quality. Layer cloud codes are converted with the documented ECCC code-table midpoint and are labeled as an estimate, not a Glenlea sensor."},"eccc_hourly":{"provider":"Environment and Climate Change Canada City Page Weather","fields":"condition, precipitation probability, temperature and wind","note":"Official experimental Winnipeg city forecast used only as a short-range cross-check."},"smoke_proxy":{"provider":"CAMS Global via Open-Meteo","fields":"PM2.5 and aerosol optical depth","note":"Coarse atmospheric guidance, not local smoke detection."},"astronomy":{"provider":"Astronomy Engine and Astral","fields":"Moon phase/position, Sun altitude, rise/set and twilight","note":"Computed for the configured Glenlea coordinates."}},"data_dictionary":{"cloud_percent":{"unit":"%","meaning":"total cloud cover; lower is better"},"transparency_index":{"unit":"Astrospheric index","meaning":"atmospheric transparency index; lower is better"},"seeing_index":{"unit":"Astrospheric 1-5","meaning":"seeing quality; higher is better"},"temperature_c":{"unit":"degC","meaning":"air temperature"},"dew_point_c":{"unit":"degC","meaning":"dew point"},"dew_point_spread_c":{"unit":"degC","meaning":"temperature minus dew point; smaller means higher condensation risk"},"humidity_percent":{"unit":"%","meaning":"relative humidity"},"wind_speed_kmh":{"unit":"km/h","meaning":"sustained wind speed"},"wind_direction_degrees":{"unit":"degrees true","meaning":"meteorological wind direction"},"wind_gust_kmh":{"unit":"km/h","meaning":"wind gust speed"},"precipitation_probability_percent":{"unit":"%","meaning":"maximum available hourly precipitation probability"},"moon.illumination_percent":{"unit":"%","meaning":"illuminated lunar disk"},"moon.altitude_degrees":{"unit":"degrees","meaning":"Moon altitude above the geometric horizon"},"moon.azimuth_degrees":{"unit":"degrees","meaning":"Moon azimuth clockwise from north"},"sun_altitude_degrees":{"unit":"degrees","meaning":"Sun altitude; astronomical darkness begins at -18 degrees"},"sky_timeline.samples":{"unit":"15-minute local-time samples","meaning":"computed Sun altitude and Moon altitude/azimuth/illumination from 18:00 through 08:00"},"smoke_proxy.pm2_5_ug_m3":{"unit":"ug/m3","meaning":"coarse CAMS PM2.5 smoke/haze proxy"},"smoke_proxy.aerosol_optical_depth":{"unit":"dimensionless","meaning":"coarse CAMS aerosol optical depth"},"model_agreement.score":{"unit":"0-1","meaning":"agreement derived from independent model cloud spread"},"component_scores":{"unit":"0-10","meaning":"server-computed auxiliary deep-sky component scores"},"overall_score":{"unit":"0-10","meaning":"server-computed auxiliary deep-sky score"},"scoring_v2.condition_score_0_to_10":{"unit":"0-10","meaning":"V2 physical weather quality before confidence; requires all physical components"},"scoring_v2.final_imaging_score_0_to_10":{"unit":"0-10","meaning":"V2 condition score after bounded cloud-model and aerosol risk adjustments plus hard safety caps"},"scoring_v2.forecast_confidence.score_0_to_1":{"unit":"0-1","meaning":"V2 confidence from weighted model agreement, Astrospheric alignment, freshness, coverage and horizon cap"},"scoring_v2.weighted_model_agreement":{"unit":"mixed","meaning":"weighted median, weighted MAD, range, outliers and active model priors for cloud"},"hour_history":{"unit":"hourly rows","meaning":"at most 24 hours of cached prior forecast rows; these are not observations or measured historical weather"},"target.altitude_degrees":{"unit":"degrees","meaning":"target altitude above horizon"},"target.azimuth_degrees":{"unit":"degrees","meaning":"target azimuth clockwise from north"}},"astronomy":{"evening_date":"2026-09-03","sunset":"2026-09-03T20:09:34.467631-05:00","civil_dusk":"2026-09-03T20:43:53.463701-05:00","nautical_dusk":"2026-09-03T21:24:02.965463-05:00","astronomical_dusk":"2026-09-03T22:07:39.625363-05:00","astronomical_dawn":"2026-09-04T04:48:13.346615-05:00","nautical_dawn":"2026-09-04T05:31:52.182414-05:00","civil_dawn":"2026-09-04T06:12:04.265299-05:00","sunrise":"2026-09-04T06:46:26.056324-05:00","moon_rise":"2026-09-03T22:37:00-05:00","moon_set":"2026-09-03T15:04:00-05:00"},"sky_timeline":{"start_local":"2026-09-03T18:00:00-05:00","end_local":"2026-09-04T08:00:00-05:00","interval_minutes":15,"altitude_unit":"degrees","samples":[{"time_local":"2026-09-03T18:00:00-05:00","time_utc":"2026-09-03T23:00:00Z","sun_altitude_degrees":19.69,"moon_altitude_degrees":-13.3,"moon_azimuth_degrees":348.3,"moon_illumination_percent":54.3,"moon_phase_day":21.748},{"time_local":"2026-09-03T18:15:00-05:00","time_utc":"2026-09-03T23:15:00Z","sun_altitude_degrees":17.31,"moon_altitude_degrees":-13.7,"moon_azimuth_degrees":351.6,"moon_illumination_percent":54.2,"moon_phase_day":21.76},{"time_local":"2026-09-03T18:30:00-05:00","time_utc":"2026-09-03T23:30:00Z","sun_altitude_degrees":14.91,"moon_altitude_degrees":-14.0,"moon_azimuth_degrees":354.9,"moon_illumination_percent":54.1,"moon_phase_day":21.771},{"time_local":"2026-09-03T18:45:00-05:00","time_utc":"2026-09-03T23:45:00Z","sun_altitude_degrees":12.5,"moon_altitude_degrees":-14.1,"moon_azimuth_degrees":358.2,"moon_illumination_percent":54.0,"moon_phase_day":21.782},{"time_local":"2026-09-03T19:00:00-05:00","time_utc":"2026-09-04T00:00:00Z","sun_altitude_degrees":10.09,"moon_altitude_degrees":-14.1,"moon_azimuth_degrees":1.5,"moon_illumination_percent":53.9,"moon_phase_day":21.793},{"time_local":"2026-09-03T19:15:00-05:00","time_utc":"2026-09-04T00:15:00Z","sun_altitude_degrees":7.68,"moon_altitude_degrees":-13.9,"moon_azimuth_degrees":4.8,"moon_illumination_percent":53.8,"moon_phase_day":21.805},{"time_local":"2026-09-03T19:30:00-05:00","time_utc":"2026-09-04T00:30:00Z","sun_altitude_degrees":5.3,"moon_altitude_degrees":-13.6,"moon_azimuth_degrees":8.1,"moon_illumination_percent":53.6,"moon_phase_day":21.816},{"time_local":"2026-09-03T19:45:00-05:00","time_utc":"2026-09-04T00:45:00Z","sun_altitude_degrees":2.97,"moon_altitude_degrees":-13.2,"moon_azimuth_degrees":11.4,"moon_illumination_percent":53.5,"moon_phase_day":21.827},{"time_local":"2026-09-03T20:00:00-05:00","time_utc":"2026-09-04T01:00:00Z","sun_altitude_degrees":0.77,"moon_altitude_degrees":-12.7,"moon_azimuth_degrees":14.6,"moon_illumination_percent":53.4,"moon_phase_day":21.838},{"time_local":"2026-09-03T20:15:00-05:00","time_utc":"2026-09-04T01:15:00Z","sun_altitude_degrees":-1.89,"moon_altitude_degrees":-12.0,"moon_azimuth_degrees":17.8,"moon_illumination_percent":53.3,"moon_phase_day":21.85},{"time_local":"2026-09-03T20:30:00-05:00","time_utc":"2026-09-04T01:30:00Z","sun_altitude_degrees":-4.32,"moon_altitude_degrees":-11.2,"moon_azimuth_degrees":21.0,"moon_illumination_percent":53.2,"moon_phase_day":21.861},{"time_local":"2026-09-03T20:45:00-05:00","time_utc":"2026-09-04T01:45:00Z","sun_altitude_degrees":-6.66,"moon_altitude_degrees":-10.3,"moon_azimuth_degrees":24.1,"moon_illumination_percent":53.0,"moon_phase_day":21.872},{"time_local":"2026-09-03T21:00:00-05:00","time_utc":"2026-09-04T02:00:00Z","sun_altitude_degrees":-8.94,"moon_altitude_degrees":-9.3,"moon_azimuth_degrees":27.2,"moon_illumination_percent":52.9,"moon_phase_day":21.884},{"time_local":"2026-09-03T21:15:00-05:00","time_utc":"2026-09-04T02:15:00Z","sun_altitude_degrees":-11.17,"moon_altitude_degrees":-8.1,"moon_azimuth_degrees":30.2,"moon_illumination_percent":52.8,"moon_phase_day":21.895},{"time_local":"2026-09-03T21:30:00-05:00","time_utc":"2026-09-04T02:30:00Z","sun_altitude_degrees":-13.34,"moon_altitude_degrees":-6.9,"moon_azimuth_degrees":33.2,"moon_illumination_percent":52.7,"moon_phase_day":21.906},{"time_local":"2026-09-03T21:45:00-05:00","time_utc":"2026-09-04T02:45:00Z","sun_altitude_degrees":-15.45,"moon_altitude_degrees":-5.5,"moon_azimuth_degrees":36.1,"moon_illumination_percent":52.6,"moon_phase_day":21.917},{"time_local":"2026-09-03T22:00:00-05:00","time_utc":"2026-09-04T03:00:00Z","sun_altitude_degrees":-17.48,"moon_altitude_degrees":-4.1,"moon_azimuth_degrees":39.0,"moon_illumination_percent":52.4,"moon_phase_day":21.929},{"time_local":"2026-09-03T22:15:00-05:00","time_utc":"2026-09-04T03:15:00Z","sun_altitude_degrees":-19.43,"moon_altitude_degrees":-2.5,"moon_azimuth_degrees":41.8,"moon_illumination_percent":52.3,"moon_phase_day":21.94},{"time_local":"2026-09-03T22:30:00-05:00","time_utc":"2026-09-04T03:30:00Z","sun_altitude_degrees":-21.29,"moon_altitude_degrees":-0.9,"moon_azimuth_degrees":44.6,"moon_illumination_percent":52.2,"moon_phase_day":21.951},{"time_local":"2026-09-03T22:45:00-05:00","time_utc":"2026-09-04T03:45:00Z","sun_altitude_degrees":-23.06,"moon_altitude_degrees":0.6,"moon_azimuth_degrees":47.3,"moon_illumination_percent":52.1,"moon_phase_day":21.962},{"time_local":"2026-09-03T23:00:00-05:00","time_utc":"2026-09-04T04:00:00Z","sun_altitude_degrees":-24.71,"moon_altitude_degrees":2.2,"moon_azimuth_degrees":50.0,"moon_illumination_percent":52.0,"moon_phase_day":21.974},{"time_local":"2026-09-03T23:15:00-05:00","time_utc":"2026-09-04T04:15:00Z","sun_altitude_degrees":-26.25,"moon_altitude_degrees":3.9,"moon_azimuth_degrees":52.6,"moon_illumination_percent":51.8,"moon_phase_day":21.985},{"time_local":"2026-09-03T23:30:00-05:00","time_utc":"2026-09-04T04:30:00Z","sun_altitude_degrees":-27.66,"moon_altitude_degrees":5.8,"moon_azimuth_degrees":55.2,"moon_illumination_percent":51.7,"moon_phase_day":21.996},{"time_local":"2026-09-03T23:45:00-05:00","time_utc":"2026-09-04T04:45:00Z","sun_altitude_degrees":-28.93,"moon_altitude_degrees":7.7,"moon_azimuth_degrees":57.8,"moon_illumination_percent":51.6,"moon_phase_day":22.008},{"time_local":"2026-09-04T00:00:00-05:00","time_utc":"2026-09-04T05:00:00Z","sun_altitude_degrees":-30.05,"moon_altitude_degrees":9.7,"moon_azimuth_degrees":60.3,"moon_illumination_percent":51.5,"moon_phase_day":22.019},{"time_local":"2026-09-04T00:15:00-05:00","time_utc":"2026-09-04T05:15:00Z","sun_altitude_degrees":-31.01,"moon_altitude_degrees":11.8,"moon_azimuth_degrees":62.8,"moon_illumination_percent":51.4,"moon_phase_day":22.03},{"time_local":"2026-09-04T00:30:00-05:00","time_utc":"2026-09-04T05:30:00Z","sun_altitude_degrees":-31.81,"moon_altitude_degrees":13.9,"moon_azimuth_degrees":65.3,"moon_illumination_percent":51.3,"moon_phase_day":22.041},{"time_local":"2026-09-04T00:45:00-05:00","time_utc":"2026-09-04T05:45:00Z","sun_altitude_degrees":-32.43,"moon_altitude_degrees":16.0,"moon_azimuth_degrees":67.7,"moon_illumination_percent":51.1,"moon_phase_day":22.053},{"time_local":"2026-09-04T01:00:00-05:00","time_utc":"2026-09-04T06:00:00Z","sun_altitude_degrees":-32.87,"moon_altitude_degrees":18.2,"moon_azimuth_degrees":70.2,"moon_illumination_percent":51.0,"moon_phase_day":22.064},{"time_local":"2026-09-04T01:15:00-05:00","time_utc":"2026-09-04T06:15:00Z","sun_altitude_degrees":-33.12,"moon_altitude_degrees":20.5,"moon_azimuth_degrees":72.7,"moon_illumination_percent":50.9,"moon_phase_day":22.075},{"time_local":"2026-09-04T01:30:00-05:00","time_utc":"2026-09-04T06:30:00Z","sun_altitude_degrees":-33.19,"moon_altitude_degrees":22.7,"moon_azimuth_degrees":75.1,"moon_illumination_percent":50.8,"moon_phase_day":22.086},{"time_local":"2026-09-04T01:45:00-05:00","time_utc":"2026-09-04T06:45:00Z","sun_altitude_degrees":-33.07,"moon_altitude_degrees":25.0,"moon_azimuth_degrees":77.6,"moon_illumination_percent":50.7,"moon_phase_day":22.098},{"time_local":"2026-09-04T02:00:00-05:00","time_utc":"2026-09-04T07:00:00Z","sun_altitude_degrees":-32.76,"moon_altitude_degrees":27.3,"moon_azimuth_degrees":80.1,"moon_illumination_percent":50.5,"moon_phase_day":22.109},{"time_local":"2026-09-04T02:15:00-05:00","time_utc":"2026-09-04T07:15:00Z","sun_altitude_degrees":-32.27,"moon_altitude_degrees":29.6,"moon_azimuth_degrees":82.6,"moon_illumination_percent":50.4,"moon_phase_day":22.12},{"time_local":"2026-09-04T02:30:00-05:00","time_utc":"2026-09-04T07:30:00Z","sun_altitude_degrees":-31.6,"moon_altitude_degrees":32.0,"moon_azimuth_degrees":85.2,"moon_illumination_percent":50.3,"moon_phase_day":22.132},{"time_local":"2026-09-04T02:45:00-05:00","time_utc":"2026-09-04T07:45:00Z","sun_altitude_degrees":-30.76,"moon_altitude_degrees":34.3,"moon_azimuth_degrees":87.8,"moon_illumination_percent":50.2,"moon_phase_day":22.143},{"time_local":"2026-09-04T03:00:00-05:00","time_utc":"2026-09-04T08:00:00Z","sun_altitude_degrees":-29.75,"moon_altitude_degrees":36.7,"moon_azimuth_degrees":90.5,"moon_illumination_percent":50.1,"moon_phase_day":22.154},{"time_local":"2026-09-04T03:15:00-05:00","time_utc":"2026-09-04T08:15:00Z","sun_altitude_degrees":-28.59,"moon_altitude_degrees":39.1,"moon_azimuth_degrees":93.3,"moon_illumination_percent":49.9,"moon_phase_day":22.165},{"time_local":"2026-09-04T03:30:00-05:00","time_utc":"2026-09-04T08:30:00Z","sun_altitude_degrees":-27.28,"moon_altitude_degrees":41.4,"moon_azimuth_degrees":96.2,"moon_illumination_percent":49.8,"moon_phase_day":22.177},{"time_local":"2026-09-04T03:45:00-05:00","time_utc":"2026-09-04T08:45:00Z","sun_altitude_degrees":-25.84,"moon_altitude_degrees":43.8,"moon_azimuth_degrees":99.2,"moon_illumination_percent":49.7,"moon_phase_day":22.188},{"time_local":"2026-09-04T04:00:00-05:00","time_utc":"2026-09-04T09:00:00Z","sun_altitude_degrees":-24.27,"moon_altitude_degrees":46.1,"moon_azimuth_degrees":102.4,"moon_illumination_percent":49.6,"moon_phase_day":22.199},{"time_local":"2026-09-04T04:15:00-05:00","time_utc":"2026-09-04T09:15:00Z","sun_altitude_degrees":-22.58,"moon_altitude_degrees":48.4,"moon_azimuth_degrees":105.7,"moon_illumination_percent":49.5,"moon_phase_day":22.211},{"time_local":"2026-09-04T04:30:00-05:00","time_utc":"2026-09-04T09:30:00Z","sun_altitude_degrees":-20.79,"moon_altitude_degrees":50.7,"moon_azimuth_degrees":109.3,"moon_illumination_percent":49.3,"moon_phase_day":22.222},{"time_local":"2026-09-04T04:45:00-05:00","time_utc":"2026-09-04T09:45:00Z","sun_altitude_degrees":-18.91,"moon_altitude_degrees":52.9,"moon_azimuth_degrees":113.1,"moon_illumination_percent":49.2,"moon_phase_day":22.233},{"time_local":"2026-09-04T05:00:00-05:00","time_utc":"2026-09-04T10:00:00Z","sun_altitude_degrees":-16.93,"moon_altitude_degrees":55.0,"moon_azimuth_degrees":117.2,"moon_illumination_percent":49.1,"moon_phase_day":22.245},{"time_local":"2026-09-04T05:15:00-05:00","time_utc":"2026-09-04T10:15:00Z","sun_altitude_degrees":-14.88,"moon_altitude_degrees":57.1,"moon_azimuth_degrees":121.7,"moon_illumination_percent":49.0,"moon_phase_day":22.256},{"time_local":"2026-09-04T05:30:00-05:00","time_utc":"2026-09-04T10:30:00Z","sun_altitude_degrees":-12.76,"moon_altitude_degrees":59.1,"moon_azimuth_degrees":126.5,"moon_illumination_percent":48.9,"moon_phase_day":22.267},{"time_local":"2026-09-04T05:45:00-05:00","time_utc":"2026-09-04T10:45:00Z","sun_altitude_degrees":-10.57,"moon_altitude_degrees":60.9,"moon_azimuth_degrees":131.8,"moon_illumination_percent":48.7,"moon_phase_day":22.278},{"time_local":"2026-09-04T06:00:00-05:00","time_utc":"2026-09-04T11:00:00Z","sun_altitude_degrees":-8.33,"moon_altitude_degrees":62.6,"moon_azimuth_degrees":137.7,"moon_illumination_percent":48.6,"moon_phase_day":22.29},{"time_local":"2026-09-04T06:15:00-05:00","time_utc":"2026-09-04T11:15:00Z","sun_altitude_degrees":-6.04,"moon_altitude_degrees":64.1,"moon_azimuth_degrees":144.1,"moon_illumination_percent":48.5,"moon_phase_day":22.301},{"time_local":"2026-09-04T06:30:00-05:00","time_utc":"2026-09-04T11:30:00Z","sun_altitude_degrees":-3.68,"moon_altitude_degrees":65.4,"moon_azimuth_degrees":151.0,"moon_illumination_percent":48.4,"moon_phase_day":22.312},{"time_local":"2026-09-04T06:45:00-05:00","time_utc":"2026-09-04T11:45:00Z","sun_altitude_degrees":-1.19,"moon_altitude_degrees":66.4,"moon_azimuth_degrees":158.6,"moon_illumination_percent":48.3,"moon_phase_day":22.324},{"time_local":"2026-09-04T07:00:00-05:00","time_utc":"2026-09-04T12:00:00Z","sun_altitude_degrees":1.33,"moon_altitude_degrees":67.1,"moon_azimuth_degrees":166.6,"moon_illumination_percent":48.1,"moon_phase_day":22.335},{"time_local":"2026-09-04T07:15:00-05:00","time_utc":"2026-09-04T12:15:00Z","sun_altitude_degrees":3.57,"moon_altitude_degrees":67.5,"moon_azimuth_degrees":174.9,"moon_illumination_percent":48.0,"moon_phase_day":22.346},{"time_local":"2026-09-04T07:30:00-05:00","time_utc":"2026-09-04T12:30:00Z","sun_altitude_degrees":5.92,"moon_altitude_degrees":67.6,"moon_azimuth_degrees":183.4,"moon_illumination_percent":47.9,"moon_phase_day":22.358},{"time_local":"2026-09-04T07:45:00-05:00","time_utc":"2026-09-04T12:45:00Z","sun_altitude_degrees":8.3,"moon_altitude_degrees":67.3,"moon_azimuth_degrees":191.8,"moon_illumination_percent":47.8,"moon_phase_day":22.369},{"time_local":"2026-09-04T08:00:00-05:00","time_utc":"2026-09-04T13:00:00Z","sun_altitude_degrees":10.71,"moon_altitude_degrees":66.6,"moon_azimuth_degrees":199.9,"moon_illumination_percent":47.7,"moon_phase_day":22.38}],"moon_maximum":{"time_local":"2026-09-04T07:30:00-05:00","altitude_degrees":67.6,"azimuth_degrees":183.4}},"server_analysis":{"weights":{"cloud":0.32,"transparency":0.22,"moonlight":0.13,"darkness":0.1,"wind":0.08,"dew_risk":0.07,"forecast_confidence":0.06,"seeing":0.02},"scoring_version":"2.0","scoring_v2":{"version":"2.0","mode":"deep_sky_astrophotography","condition_weights":{"cloud":0.35,"transparency":0.25,"wind":0.1,"dew_risk":0.09,"darkness":0.09,"moonlight":0.08,"seeing":0.04},"forecast_confidence_weights":{"independent_model_agreement":0.45,"astrospheric_alignment":0.25,"freshness":0.15,"coverage":0.15},"model_prior_weights":{"0_48h":{"HRDPS":0.24,"RDPS":0.16,"ICON":0.25,"GFS":0.2,"NBM":0.15},"48_84h":{"RDPS":0.35,"ICON":0.25,"GFS":0.25,"NBM":0.15},"84_168h":{"RDPS":0.2,"ICON":0.35,"GFS":0.45}},"forecast_horizon_caps":[{"through_hours":24,"maximum_confidence":1.0},{"through_hours":48,"maximum_confidence":0.92},{"through_hours":84,"maximum_confidence":0.82},{"through_hours":120,"maximum_confidence":0.65},{"through_hours":168,"maximum_confidence":0.5}],"missing_data_policy":"Missing values remain null. A complete V2 condition score requires all seven physical components; precipitation and at least two active models are additionally required for a decision-grade hour.","freshness":{"score_0_to_1":0.966,"astrospheric_model_run":"2026-09-03T18:00:00Z","astrospheric_model_run_age_hours":9.3,"independent_models_fetched_at":"2026-09-04T03:16:13.208165Z","independent_models_fetch_age_hours":0.0,"independent_model_initialization_time":null,"independent_model_initialization_note":"Not supplied by the current Open-Meteo response; fetched time is not presented as model initialization time."}},"tonight":{"evening_date":"2026-09-03","score_status":"complete","overall_score":2.5,"forecast_confidence":0.74,"best_window":null,"all_quality_windows":[],"main_risk":"降水概率偏高（已结合 ECCC 短临预报）","astronomy":{"evening_date":"2026-09-03","sunset":"2026-09-03T20:09:34.467631-05:00","civil_dusk":"2026-09-03T20:43:53.463701-05:00","nautical_dusk":"2026-09-03T21:24:02.965463-05:00","astronomical_dusk":"2026-09-03T22:07:39.625363-05:00","astronomical_dawn":"2026-09-04T04:48:13.346615-05:00","nautical_dawn":"2026-09-04T05:31:52.182414-05:00","civil_dawn":"2026-09-04T06:12:04.265299-05:00","sunrise":"2026-09-04T06:46:26.056324-05:00","moon_rise":"2026-09-03T22:37:00-05:00","moon_set":"2026-09-03T15:04:00-05:00"},"sky_timeline":{"start_local":"2026-09-03T18:00:00-05:00","end_local":"2026-09-04T08:00:00-05:00","interval_minutes":15,"altitude_unit":"degrees","samples":[{"time_local":"2026-09-03T18:00:00-05:00","time_utc":"2026-09-03T23:00:00Z","sun_altitude_degrees":19.69,"moon_altitude_degrees":-13.3,"moon_azimuth_degrees":348.3,"moon_illumination_percent":54.3,"moon_phase_day":21.748},{"time_local":"2026-09-03T18:15:00-05:00","time_utc":"2026-09-03T23:15:00Z","sun_altitude_degrees":17.31,"moon_altitude_degrees":-13.7,"moon_azimuth_degrees":351.6,"moon_illumination_percent":54.2,"moon_phase_day":21.76},{"time_local":"2026-09-03T18:30:00-05:00","time_utc":"2026-09-03T23:30:00Z","sun_altitude_degrees":14.91,"moon_altitude_degrees":-14.0,"moon_azimuth_degrees":354.9,"moon_illumination_percent":54.1,"moon_phase_day":21.771},{"time_local":"2026-09-03T18:45:00-05:00","time_utc":"2026-09-03T23:45:00Z","sun_altitude_degrees":12.5,"moon_altitude_degrees":-14.1,"moon_azimuth_degrees":358.2,"moon_illumination_percent":54.0,"moon_phase_day":21.782},{"time_local":"2026-09-03T19:00:00-05:00","time_utc":"2026-09-04T00:00:00Z","sun_altitude_degrees":10.09,"moon_altitude_degrees":-14.1,"moon_azimuth_degrees":1.5,"moon_illumination_percent":53.9,"moon_phase_day":21.793},{"time_local":"2026-09-03T19:15:00-05:00","time_utc":"2026-09-04T00:15:00Z","sun_altitude_degrees":7.68,"moon_altitude_degrees":-13.9,"moon_azimuth_degrees":4.8,"moon_illumination_percent":53.8,"moon_phase_day":21.805},{"time_local":"2026-09-03T19:30:00-05:00","time_utc":"2026-09-04T00:30:00Z","sun_altitude_degrees":5.3,"moon_altitude_degrees":-13.6,"moon_azimuth_degrees":8.1,"moon_illumination_percent":53.6,"moon_phase_day":21.816},{"time_local":"2026-09-03T19:45:00-05:00","time_utc":"2026-09-04T00:45:00Z","sun_altitude_degrees":2.97,"moon_altitude_degrees":-13.2,"moon_azimuth_degrees":11.4,"moon_illumination_percent":53.5,"moon_phase_day":21.827},{"time_local":"2026-09-03T20:00:00-05:00","time_utc":"2026-09-04T01:00:00Z","sun_altitude_degrees":0.77,"moon_altitude_degrees":-12.7,"moon_azimuth_degrees":14.6,"moon_illumination_percent":53.4,"moon_phase_day":21.838},{"time_local":"2026-09-03T20:15:00-05:00","time_utc":"2026-09-04T01:15:00Z","sun_altitude_degrees":-1.89,"moon_altitude_degrees":-12.0,"moon_azimuth_degrees":17.8,"moon_illumination_percent":53.3,"moon_phase_day":21.85},{"time_local":"2026-09-03T20:30:00-05:00","time_utc":"2026-09-04T01:30:00Z","sun_altitude_degrees":-4.32,"moon_altitude_degrees":-11.2,"moon_azimuth_degrees":21.0,"moon_illumination_percent":53.2,"moon_phase_day":21.861},{"time_local":"2026-09-03T20:45:00-05:00","time_utc":"2026-09-04T01:45:00Z","sun_altitude_degrees":-6.66,"moon_altitude_degrees":-10.3,"moon_azimuth_degrees":24.1,"moon_illumination_percent":53.0,"moon_phase_day":21.872},{"time_local":"2026-09-03T21:00:00-05:00","time_utc":"2026-09-04T02:00:00Z","sun_altitude_degrees":-8.94,"moon_altitude_degrees":-9.3,"moon_azimuth_degrees":27.2,"moon_illumination_percent":52.9,"moon_phase_day":21.884},{"time_local":"2026-09-03T21:15:00-05:00","time_utc":"2026-09-04T02:15:00Z","sun_altitude_degrees":-11.17,"moon_altitude_degrees":-8.1,"moon_azimuth_degrees":30.2,"moon_illumination_percent":52.8,"moon_phase_day":21.895},{"time_local":"2026-09-03T21:30:00-05:00","time_utc":"2026-09-04T02:30:00Z","sun_altitude_degrees":-13.34,"moon_altitude_degrees":-6.9,"moon_azimuth_degrees":33.2,"moon_illumination_percent":52.7,"moon_phase_day":21.906},{"time_local":"2026-09-03T21:45:00-05:00","time_utc":"2026-09-04T02:45:00Z","sun_altitude_degrees":-15.45,"moon_altitude_degrees":-5.5,"moon_azimuth_degrees":36.1,"moon_illumination_percent":52.6,"moon_phase_day":21.917},{"time_local":"2026-09-03T22:00:00-05:00","time_utc":"2026-09-04T03:00:00Z","sun_altitude_degrees":-17.48,"moon_altitude_degrees":-4.1,"moon_azimuth_degrees":39.0,"moon_illumination_percent":52.4,"moon_phase_day":21.929},{"time_local":"2026-09-03T22:15:00-05:00","time_utc":"2026-09-04T03:15:00Z","sun_altitude_degrees":-19.43,"moon_altitude_degrees":-2.5,"moon_azimuth_degrees":41.8,"moon_illumination_percent":52.3,"moon_phase_day":21.94},{"time_local":"2026-09-03T22:30:00-05:00","time_utc":"2026-09-04T03:30:00Z","sun_altitude_degrees":-21.29,"moon_altitude_degrees":-0.9,"moon_azimuth_degrees":44.6,"moon_illumination_percent":52.2,"moon_phase_day":21.951},{"time_local":"2026-09-03T22:45:00-05:00","time_utc":"2026-09-04T03:45:00Z","sun_altitude_degrees":-23.06,"moon_altitude_degrees":0.6,"moon_azimuth_degrees":47.3,"moon_illumination_percent":52.1,"moon_phase_day":21.962},{"time_local":"2026-09-03T23:00:00-05:00","time_utc":"2026-09-04T04:00:00Z","sun_altitude_degrees":-24.71,"moon_altitude_degrees":2.2,"moon_azimuth_degrees":50.0,"moon_illumination_percent":52.0,"moon_phase_day":21.974},{"time_local":"2026-09-03T23:15:00-05:00","time_utc":"2026-09-04T04:15:00Z","sun_altitude_degrees":-26.25,"moon_altitude_degrees":3.9,"moon_azimuth_degrees":52.6,"moon_illumination_percent":51.8,"moon_phase_day":21.985},{"time_local":"2026-09-03T23:30:00-05:00","time_utc":"2026-09-04T04:30:00Z","sun_altitude_degrees":-27.66,"moon_altitude_degrees":5.8,"moon_azimuth_degrees":55.2,"moon_illumination_percent":51.7,"moon_phase_day":21.996},{"time_local":"2026-09-03T23:45:00-05:00","time_utc":"2026-09-04T04:45:00Z","sun_altitude_degrees":-28.93,"moon_altitude_degrees":7.7,"moon_azimuth_degrees":57.8,"moon_illumination_percent":51.6,"moon_phase_day":22.008},{"time_local":"2026-09-04T00:00:00-05:00","time_utc":"2026-09-04T05:00:00Z","sun_altitude_degrees":-30.05,"moon_altitude_degrees":9.7,"moon_azimuth_degrees":60.3,"moon_illumination_percent":51.5,"moon_phase_day":22.019},{"time_local":"2026-09-04T00:15:00-05:00","time_utc":"2026-09-04T05:15:00Z","sun_altitude_degrees":-31.01,"moon_altitude_degrees":11.8,"moon_azimuth_degrees":62.8,"moon_illumination_percent":51.4,"moon_phase_day":22.03},{"time_local":"2026-09-04T00:30:00-05:00","time_utc":"2026-09-04T05:30:00Z","sun_altitude_degrees":-31.81,"moon_altitude_degrees":13.9,"moon_azimuth_degrees":65.3,"moon_illumination_percent":51.3,"moon_phase_day":22.041},{"time_local":"2026-09-04T00:45:00-05:00","time_utc":"2026-09-04T05:45:00Z","sun_altitude_degrees":-32.43,"moon_altitude_degrees":16.0,"moon_azimuth_degrees":67.7,"moon_illumination_percent":51.1,"moon_phase_day":22.053},{"time_local":"2026-09-04T01:00:00-05:00","time_utc":"2026-09-04T06:00:00Z","sun_altitude_degrees":-32.87,"moon_altitude_degrees":18.2,"moon_azimuth_degrees":70.2,"moon_illumination_percent":51.0,"moon_phase_day":22.064},{"time_local":"2026-09-04T01:15:00-05:00","time_utc":"2026-09-04T06:15:00Z","sun_altitude_degrees":-33.12,"moon_altitude_degrees":20.5,"moon_azimuth_degrees":72.7,"moon_illumination_percent":50.9,"moon_phase_day":22.075},{"time_local":"2026-09-04T01:30:00-05:00","time_utc":"2026-09-04T06:30:00Z","sun_altitude_degrees":-33.19,"moon_altitude_degrees":22.7,"moon_azimuth_degrees":75.1,"moon_illumination_percent":50.8,"moon_phase_day":22.086},{"time_local":"2026-09-04T01:45:00-05:00","time_utc":"2026-09-04T06:45:00Z","sun_altitude_degrees":-33.07,"moon_altitude_degrees":25.0,"moon_azimuth_degrees":77.6,"moon_illumination_percent":50.7,"moon_phase_day":22.098},{"time_local":"2026-09-04T02:00:00-05:00","time_utc":"2026-09-04T07:00:00Z","sun_altitude_degrees":-32.76,"moon_altitude_degrees":27.3,"moon_azimuth_degrees":80.1,"moon_illumination_percent":50.5,"moon_phase_day":22.109},{"time_local":"2026-09-04T02:15:00-05:00","time_utc":"2026-09-04T07:15:00Z","sun_altitude_degrees":-32.27,"moon_altitude_degrees":29.6,"moon_azimuth_degrees":82.6,"moon_illumination_percent":50.4,"moon_phase_day":22.12},{"time_local":"2026-09-04T02:30:00-05:00","time_utc":"2026-09-04T07:30:00Z","sun_altitude_degrees":-31.6,"moon_altitude_degrees":32.0,"moon_azimuth_degrees":85.2,"moon_illumination_percent":50.3,"moon_phase_day":22.132},{"time_local":"2026-09-04T02:45:00-05:00","time_utc":"2026-09-04T07:45:00Z","sun_altitude_degrees":-30.76,"moon_altitude_degrees":34.3,"moon_azimuth_degrees":87.8,"moon_illumination_percent":50.2,"moon_phase_day":22.143},{"time_local":"2026-09-04T03:00:00-05:00","time_utc":"2026-09-04T08:00:00Z","sun_altitude_degrees":-29.75,"moon_altitude_degrees":36.7,"moon_azimuth_degrees":90.5,"moon_illumination_percent":50.1,"moon_phase_day":22.154},{"time_local":"2026-09-04T03:15:00-05:00","time_utc":"2026-09-04T08:15:00Z","sun_altitude_degrees":-28.59,"moon_altitude_degrees":39.1,"moon_azimuth_degrees":93.3,"moon_illumination_percent":49.9,"moon_phase_day":22.165},{"time_local":"2026-09-04T03:30:00-05:00","time_utc":"2026-09-04T08:30:00Z","sun_altitude_degrees":-27.28,"moon_altitude_degrees":41.4,"moon_azimuth_degrees":96.2,"moon_illumination_percent":49.8,"moon_phase_day":22.177},{"time_local":"2026-09-04T03:45:00-05:00","time_utc":"2026-09-04T08:45:00Z","sun_altitude_degrees":-25.84,"moon_altitude_degrees":43.8,"moon_azimuth_degrees":99.2,"moon_illumination_percent":49.7,"moon_phase_day":22.188},{"time_local":"2026-09-04T04:00:00-05:00","time_utc":"2026-09-04T09:00:00Z","sun_altitude_degrees":-24.27,"moon_altitude_degrees":46.1,"moon_azimuth_degrees":102.4,"moon_illumination_percent":49.6,"moon_phase_day":22.199},{"time_local":"2026-09-04T04:15:00-05:00","time_utc":"2026-09-04T09:15:00Z","sun_altitude_degrees":-22.58,"moon_altitude_degrees":48.4,"moon_azimuth_degrees":105.7,"moon_illumination_percent":49.5,"moon_phase_day":22.211},{"time_local":"2026-09-04T04:30:00-05:00","time_utc":"2026-09-04T09:30:00Z","sun_altitude_degrees":-20.79,"moon_altitude_degrees":50.7,"moon_azimuth_degrees":109.3,"moon_illumination_percent":49.3,"moon_phase_day":22.222},{"time_local":"2026-09-04T04:45:00-05:00","time_utc":"2026-09-04T09:45:00Z","sun_altitude_degrees":-18.91,"moon_altitude_degrees":52.9,"moon_azimuth_degrees":113.1,"moon_illumination_percent":49.2,"moon_phase_day":22.233},{"time_local":"2026-09-04T05:00:00-05:00","time_utc":"2026-09-04T10:00:00Z","sun_altitude_degrees":-16.93,"moon_altitude_degrees":55.0,"moon_azimuth_degrees":117.2,"moon_illumination_percent":49.1,"moon_phase_day":22.245},{"time_local":"2026-09-04T05:15:00-05:00","time_utc":"2026-09-04T10:15:00Z","sun_altitude_degrees":-14.88,"moon_altitude_degrees":57.1,"moon_azimuth_degrees":121.7,"moon_illumination_percent":49.0,"moon_phase_day":22.256},{"time_local":"2026-09-04T05:30:00-05:00","time_utc":"2026-09-04T10:30:00Z","sun_altitude_degrees":-12.76,"moon_altitude_degrees":59.1,"moon_azimuth_degrees":126.5,"moon_illumination_percent":48.9,"moon_phase_day":22.267},{"time_local":"2026-09-04T05:45:00-05:00","time_utc":"2026-09-04T10:45:00Z","sun_altitude_degrees":-10.57,"moon_altitude_degrees":60.9,"moon_azimuth_degrees":131.8,"moon_illumination_percent":48.7,"moon_phase_day":22.278},{"time_local":"2026-09-04T06:00:00-05:00","time_utc":"2026-09-04T11:00:00Z","sun_altitude_degrees":-8.33,"moon_altitude_degrees":62.6,"moon_azimuth_degrees":137.7,"moon_illumination_percent":48.6,"moon_phase_day":22.29},{"time_local":"2026-09-04T06:15:00-05:00","time_utc":"2026-09-04T11:15:00Z","sun_altitude_degrees":-6.04,"moon_altitude_degrees":64.1,"moon_azimuth_degrees":144.1,"moon_illumination_percent":48.5,"moon_phase_day":22.301},{"time_local":"2026-09-04T06:30:00-05:00","time_utc":"2026-09-04T11:30:00Z","sun_altitude_degrees":-3.68,"moon_altitude_degrees":65.4,"moon_azimuth_degrees":151.0,"moon_illumination_percent":48.4,"moon_phase_day":22.312},{"time_local":"2026-09-04T06:45:00-05:00","time_utc":"2026-09-04T11:45:00Z","sun_altitude_degrees":-1.19,"moon_altitude_degrees":66.4,"moon_azimuth_degrees":158.6,"moon_illumination_percent":48.3,"moon_phase_day":22.324},{"time_local":"2026-09-04T07:00:00-05:00","time_utc":"2026-09-04T12:00:00Z","sun_altitude_degrees":1.33,"moon_altitude_degrees":67.1,"moon_azimuth_degrees":166.6,"moon_illumination_percent":48.1,"moon_phase_day":22.335},{"time_local":"2026-09-04T07:15:00-05:00","time_utc":"2026-09-04T12:15:00Z","sun_altitude_degrees":3.57,"moon_altitude_degrees":67.5,"moon_azimuth_degrees":174.9,"moon_illumination_percent":48.0,"moon_phase_day":22.346},{"time_local":"2026-09-04T07:30:00-05:00","time_utc":"2026-09-04T12:30:00Z","sun_altitude_degrees":5.92,"moon_altitude_degrees":67.6,"moon_azimuth_degrees":183.4,"moon_illumination_percent":47.9,"moon_phase_day":22.358},{"time_local":"2026-09-04T07:45:00-05:00","time_utc":"2026-09-04T12:45:00Z","sun_altitude_degrees":8.3,"moon_altitude_degrees":67.3,"moon_azimuth_degrees":191.8,"moon_illumination_percent":47.8,"moon_phase_day":22.369},{"time_local":"2026-09-04T08:00:00-05:00","time_utc":"2026-09-04T13:00:00Z","sun_altitude_degrees":10.71,"moon_altitude_degrees":66.6,"moon_azimuth_degrees":199.9,"moon_illumination_percent":47.7,"moon_phase_day":22.38}],"moon_maximum":{"time_local":"2026-09-04T07:30:00-05:00","altitude_degrees":67.6,"azimuth_degrees":183.4}},"hour_count":8,"verdict":{"code":"NO_GO","zh":"不建议出发：今晚不适合稳定深空摄影","en":"Not worth the trip for reliable deep-sky imaging."},"scoring_v2":{"scoring_version":"2.0","night_score_0_to_10":2.5,"forecast_confidence_0_to_1":0.87,"score_status":"provisional","best_window":null,"excellent_windows":[],"usable_windows":[],"provisional_windows":[],"night_score_method":{"basis":"best_continuous_window","window_mean_weight":0.65,"window_p20_weight":0.35,"duration_adjustment":null},"decision":{"code":"UNCERTAIN","label_zh":"预报不确定","worth_departing":null,"reason_zh":"关键数据不完整或预报可信度低于 45%，不应仅凭分数决定专程出发。"},"main_risk_zh":"降水概率偏高","critical_data_complete":false}},"compact_decision":{"worth_departing":false,"code":"NO_GO","score_0_to_10":2.5,"score_status":"complete","verdict_zh":"不建议出发：今晚不适合稳定深空摄影","verdict_en":"Not worth the trip for reliable deep-sky imaging.","best_window":null,"best_window_context":{"hour_count":0,"reasons_zh":["没有连续时段同时达到评分、云量、降水与暮光门槛。"],"mean_cloud_percent":null,"minimum_cloud_percent":null,"maximum_cloud_percent":null,"mean_transparency_index":null,"mean_model_agreement_0_to_1":null,"moon_above_horizon":null,"hourly":[]},"main_risk_zh":"降水概率偏高（已结合 ECCC 短临预报）","forecast_confidence_0_to_1":0.74,"direct_answer_zh":"不建议出发：今晚不适合稳定深空摄影。今晚没有达到质量门槛的连续拍摄窗口。当前最大风险：降水概率偏高（已结合 ECCC 短临预报）。","night_score_v2_0_to_10":2.5,"forecast_confidence_v2_0_to_1":0.87,"score_status_v2":"provisional","best_window_v2":null,"best_window_context_v2":{"hour_count":0,"reasons_zh":["没有连续时段同时达到评分、云量、降水与暮光门槛。"],"mean_cloud_percent":null,"minimum_cloud_percent":null,"maximum_cloud_percent":null,"mean_transparency_index":null,"mean_model_agreement_0_to_1":null,"moon_above_horizon":null,"hourly":[]},"main_risk_v2_zh":"降水概率偏高","decision_v2":{"code":"UNCERTAIN","label_zh":"预报不确定","worth_departing":null,"reason_zh":"关键数据不完整或预报可信度低于 45%，不应仅凭分数决定专程出发。"},"direct_answer_v2_zh":"预报不确定。今晚没有达到 V2 质量与可信度门槛的连续拍摄窗口。当前最大风险：降水概率偏高。"}},"hour_count":8,"hours":[{"time_utc":"2026-09-04T03:00:00Z","time_local":"2026-09-03T22:00:00-05:00","astrospheric":{"cloud_percent":91.4,"transparency_index":29.0,"seeing_index":0.0,"temperature_c":18.0,"dew_point_c":18.0,"wind_speed_kmh":25.2,"wind_direction_degrees":79.0},"independent_models":{"RDPS":{"cloud_percent":80.0,"temperature_c":18.3,"dew_point_c":18.1,"humidity_percent":99.0,"precipitation_probability_percent":null,"wind_speed_kmh":24.8,"wind_direction_degrees":83.0,"wind_gust_kmh":29.5,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.062182Z"},"HRDPS":{"cloud_percent":34.0,"temperature_c":17.9,"dew_point_c":16.1,"humidity_percent":89.0,"precipitation_probability_percent":null,"wind_speed_kmh":14.8,"wind_direction_degrees":81.0,"wind_gust_kmh":14.8,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.040143Z"},"GFS":{"cloud_percent":100.0,"temperature_c":17.4,"dew_point_c":16.3,"humidity_percent":93.0,"precipitation_probability_percent":46.0,"wind_speed_kmh":3.2,"wind_direction_degrees":180.0,"wind_gust_kmh":3.6,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.092217Z"},"ICON":{"cloud_percent":100.0,"temperature_c":17.9,"dew_point_c":16.7,"humidity_percent":93.0,"precipitation_probability_percent":75.0,"wind_speed_kmh":12.5,"wind_direction_degrees":51.0,"wind_gust_kmh":32.4,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.191529Z"},"NBM":{"cloud_percent":93.0,"temperature_c":17.9,"dew_point_c":17.6,"humidity_percent":98.0,"precipitation_probability_percent":46.0,"wind_speed_kmh":12.2,"wind_direction_degrees":30.0,"wind_gust_kmh":19.4,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.208165Z"}},"cloud_percent":91.4,"transparency_index":29.0,"seeing_index":0.0,"temperature_c":18.0,"dew_point_c":18.0,"dew_point_spread_c":0.0,"humidity_percent":93.0,"wind_speed_kmh":25.2,"wind_direction_degrees":79.0,"wind_gust_kmh":32.4,"precipitation_probability_percent":75.0,"eccc_hourly_forecast":null,"moon":{"phase_day":21.929,"illumination_percent":52.4,"altitude_degrees":-4.1,"azimuth_degrees":39.0},"sun_altitude_degrees":-17.48,"is_astronomical_dark":false,"smoke_proxy":{"pm2_5_ug_m3":3.2,"aerosol_optical_depth":0.22},"model_agreement":{"score":0.368,"label":"low","model_count":5,"mean_cloud_percent":81.4,"median_cloud_percent":93.0,"spread_percent":66.0,"standard_deviation":24.8,"models":{"RDPS":80.0,"HRDPS":34.0,"GFS":100.0,"ICON":100.0,"NBM":93.0}},"component_scores":{"cloud":0.3,"transparency":0.5,"seeing":0.0,"wind":3.4,"dew_risk":0.0,"moonlight":9.9,"darkness":9.7,"forecast_confidence":3.7},"overall_score":2.5,"score_status":"complete","field_sources":{"cloud":"Astrospheric","transparency":"Astrospheric RDPS + RAP smoke","seeing":"Astrospheric RDPS","temperature_dew_wind":"Astrospheric RDPS","humidity_gust_precipitation":"Open-Meteo multi-model","short_range_public_forecast":"ECCC City Page Weather (experimental)","moon_sun_twilight":"Astronomy Engine (Moon) + Astral (Sun/twilight)","smoke_proxy":"CAMS Global via Open-Meteo"},"scoring_v2":{"scoring_version":"2.0","condition_score_0_to_10":2.2,"final_imaging_score_0_to_10":2.2,"available_only_diagnostic_score_0_to_10":2.2,"score_status":"complete","decision_data_complete":true,"missing_components":[],"base_component_scores":{"cloud":0.3,"transparency":0.5,"wind":3.4,"dew_risk":0.0,"darkness":9.7,"moonlight":9.9,"seeing":0.0},"adjusted_component_scores":{"cloud":0.3,"transparency":0.5,"wind":3.4,"dew_risk":0.0,"darkness":9.7,"moonlight":9.9,"seeing":0.0},"risk_adjustments":[],"hard_caps":[{"reason":"cloud_70_percent","maximum_score":2.5},{"reason":"precipitation_65_percent","maximum_score":2.5}],"effective_wind_kmh":25.2,"weighted_model_agreement":{"method":"weighted_median_mad","horizon_band":"0_48h","model_count":5,"models":{"HRDPS":34.0,"RDPS":80.0,"ICON":100.0,"GFS":100.0,"NBM":93.0},"normalized_weights":{"HRDPS":0.24,"RDPS":0.16,"ICON":0.25,"GFS":0.2,"NBM":0.15},"weighted_median_cloud_percent":93.0,"weighted_mad_cloud_percent":7.0,"range_percent":66.0,"agreement_0_to_1":0.66,"label":"medium","outlier_models":["HRDPS"]},"forecast_confidence":{"score_0_to_1":0.835,"uncapped_score_0_to_1":0.835,"horizon_cap_0_to_1":1.0,"forecast_horizon_hours":0.0,"horizon_band":"0_48h","components":{"independent_model_agreement":0.66,"astrospheric_alignment":0.973,"freshness":0.966,"coverage":1.0},"coverage":{"primary_fraction":1.0,"active_model_prior_fraction":1.0,"precipitation_available":true,"missing":[]}},"freshness":{"score_0_to_1":0.966,"astrospheric_model_run":"2026-09-03T18:00:00Z","astrospheric_model_run_age_hours":9.3,"independent_models_fetched_at":"2026-09-04T03:16:13.208165Z","independent_models_fetch_age_hours":0.0,"independent_model_initialization_time":null,"independent_model_initialization_note":"Not supplied by the current Open-Meteo response; fetched time is not presented as model initialization time."},"dew_trend":{"label":"improving","change":1.0,"values":[0.0,0.0,1.0]},"wind_trend":{"label":"improving","change":-9.8,"values":[25.2,19.7,15.4]}}},{"time_utc":"2026-09-04T04:00:00Z","time_local":"2026-09-03T23:00:00-05:00","astrospheric":{"cloud_percent":94.5,"transparency_index":29.0,"seeing_index":0.0,"temperature_c":18.0,"dew_point_c":18.0,"wind_speed_kmh":8.6,"wind_direction_degrees":130.0},"independent_models":{"RDPS":{"cloud_percent":97.0,"temperature_c":18.4,"dew_point_c":18.1,"humidity_percent":98.0,"precipitation_probability_percent":null,"wind_speed_kmh":9.4,"wind_direction_degrees":132.0,"wind_gust_kmh":15.1,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.062182Z"},"HRDPS":{"cloud_percent":95.0,"temperature_c":17.2,"dew_point_c":16.1,"humidity_percent":93.0,"precipitation_probability_percent":null,"wind_speed_kmh":2.5,"wind_direction_degrees":33.0,"wind_gust_kmh":2.5,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.040143Z"},"GFS":{"cloud_percent":100.0,"temperature_c":17.6,"dew_point_c":17.2,"humidity_percent":97.0,"precipitation_probability_percent":52.0,"wind_speed_kmh":3.9,"wind_direction_degrees":214.0,"wind_gust_kmh":6.5,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.092217Z"},"ICON":{"cloud_percent":100.0,"temperature_c":17.7,"dew_point_c":16.7,"humidity_percent":94.0,"precipitation_probability_percent":43.0,"wind_speed_kmh":9.9,"wind_direction_degrees":46.0,"wind_gust_kmh":28.1,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.191529Z"},"NBM":{"cloud_percent":83.0,"temperature_c":17.6,"dew_point_c":17.6,"humidity_percent":100.0,"precipitation_probability_percent":52.0,"wind_speed_kmh":10.4,"wind_direction_degrees":50.0,"wind_gust_kmh":16.9,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.208165Z"}},"cloud_percent":94.5,"transparency_index":29.0,"seeing_index":0.0,"temperature_c":18.0,"dew_point_c":18.0,"dew_point_spread_c":0.0,"humidity_percent":97.0,"wind_speed_kmh":8.6,"wind_direction_degrees":130.0,"wind_gust_kmh":28.1,"precipitation_probability_percent":60.0,"eccc_hourly_forecast":{"condition":"Chance of showers","precipitation_probability_percent":60.0,"temperature_c":18.0,"wind_speed_kmh":20.0,"wind_direction":"E"},"moon":{"phase_day":21.974,"illumination_percent":52.0,"altitude_degrees":2.2,"azimuth_degrees":50.0},"sun_altitude_degrees":-24.71,"is_astronomical_dark":true,"smoke_proxy":{"pm2_5_ug_m3":3.0,"aerosol_optical_depth":0.18},"model_agreement":{"score":0.839,"label":"high","model_count":5,"mean_cloud_percent":95.0,"median_cloud_percent":97.0,"spread_percent":17.0,"standard_deviation":6.3,"models":{"RDPS":97.0,"HRDPS":95.0,"GFS":100.0,"ICON":100.0,"NBM":83.0}},"component_scores":{"cloud":0.1,"transparency":0.5,"seeing":0.0,"wind":6.1,"dew_risk":0.0,"moonlight":9.3,"darkness":10.0,"forecast_confidence":8.4},"overall_score":2.5,"score_status":"complete","field_sources":{"cloud":"Astrospheric","transparency":"Astrospheric RDPS + RAP smoke","seeing":"Astrospheric RDPS","temperature_dew_wind":"Astrospheric RDPS","humidity_gust_precipitation":"Open-Meteo multi-model","short_range_public_forecast":"ECCC City Page Weather (experimental)","moon_sun_twilight":"Astronomy Engine (Moon) + Astral (Sun/twilight)","smoke_proxy":"CAMS Global via Open-Meteo"},"scoring_v2":{"scoring_version":"2.0","condition_score_0_to_10":2.4,"final_imaging_score_0_to_10":2.4,"available_only_diagnostic_score_0_to_10":2.4,"score_status":"complete","decision_data_complete":true,"missing_components":[],"base_component_scores":{"cloud":0.1,"transparency":0.5,"wind":6.1,"dew_risk":0.0,"darkness":10.0,"moonlight":9.3,"seeing":0.0},"adjusted_component_scores":{"cloud":0.1,"transparency":0.5,"wind":6.1,"dew_risk":0.0,"darkness":10.0,"moonlight":9.3,"seeing":0.0},"risk_adjustments":[],"hard_caps":[{"reason":"cloud_70_percent","maximum_score":2.5}],"effective_wind_kmh":19.7,"weighted_model_agreement":{"method":"weighted_median_mad","horizon_band":"0_48h","model_count":5,"models":{"HRDPS":95.0,"RDPS":97.0,"ICON":100.0,"GFS":100.0,"NBM":83.0},"normalized_weights":{"HRDPS":0.24,"RDPS":0.16,"ICON":0.25,"GFS":0.2,"NBM":0.15},"weighted_median_cloud_percent":97.0,"weighted_mad_cloud_percent":3.0,"range_percent":17.0,"agreement_0_to_1":0.883,"label":"high","outlier_models":[]},"forecast_confidence":{"score_0_to_1":0.932,"uncapped_score_0_to_1":0.932,"horizon_cap_0_to_1":1.0,"forecast_horizon_hours":0.7,"horizon_band":"0_48h","components":{"independent_model_agreement":0.883,"astrospheric_alignment":0.958,"freshness":0.966,"coverage":1.0},"coverage":{"primary_fraction":1.0,"active_model_prior_fraction":1.0,"precipitation_available":true,"missing":[]}},"freshness":{"score_0_to_1":0.966,"astrospheric_model_run":"2026-09-03T18:00:00Z","astrospheric_model_run_age_hours":9.3,"independent_models_fetched_at":"2026-09-04T03:16:13.208165Z","independent_models_fetch_age_hours":0.0,"independent_model_initialization_time":null,"independent_model_initialization_note":"Not supplied by the current Open-Meteo response; fetched time is not presented as model initialization time."},"dew_trend":{"label":"stable","change":0.0,"values":[0.0,1.0,0.0]},"wind_trend":{"label":"improving","change":-6.1,"values":[19.7,15.4,13.6]}}},{"time_utc":"2026-09-04T05:00:00Z","time_local":"2026-09-04T00:00:00-05:00","astrospheric":{"cloud_percent":98.0,"transparency_index":29.0,"seeing_index":0.0,"temperature_c":19.0,"dew_point_c":18.0,"wind_speed_kmh":5.8,"wind_direction_degrees":133.0},"independent_models":{"RDPS":{"cloud_percent":98.0,"temperature_c":18.5,"dew_point_c":18.2,"humidity_percent":98.0,"precipitation_probability_percent":null,"wind_speed_kmh":5.8,"wind_direction_degrees":145.0,"wind_gust_kmh":5.8,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.062182Z"},"HRDPS":{"cloud_percent":97.0,"temperature_c":17.2,"dew_point_c":16.2,"humidity_percent":94.0,"precipitation_probability_percent":null,"wind_speed_kmh":3.6,"wind_direction_degrees":68.0,"wind_gust_kmh":3.6,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.040143Z"},"GFS":{"cloud_percent":100.0,"temperature_c":17.9,"dew_point_c":17.2,"humidity_percent":96.0,"precipitation_probability_percent":44.0,"wind_speed_kmh":10.9,"wind_direction_degrees":134.0,"wind_gust_kmh":14.4,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.092217Z"},"ICON":{"cloud_percent":95.0,"temperature_c":17.5,"dew_point_c":16.5,"humidity_percent":94.0,"precipitation_probability_percent":38.0,"wind_speed_kmh":8.8,"wind_direction_degrees":35.0,"wind_gust_kmh":22.0,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.191529Z"},"NBM":{"cloud_percent":72.0,"temperature_c":17.2,"dew_point_c":17.2,"humidity_percent":100.0,"precipitation_probability_percent":44.0,"wind_speed_kmh":9.4,"wind_direction_degrees":70.0,"wind_gust_kmh":15.1,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.208165Z"}},"cloud_percent":98.0,"transparency_index":29.0,"seeing_index":0.0,"temperature_c":19.0,"dew_point_c":18.0,"dew_point_spread_c":1.0,"humidity_percent":96.0,"wind_speed_kmh":5.8,"wind_direction_degrees":133.0,"wind_gust_kmh":22.0,"precipitation_probability_percent":60.0,"eccc_hourly_forecast":{"condition":"Periods of drizzle","precipitation_probability_percent":60.0,"temperature_c":17.0,"wind_speed_kmh":15.0,"wind_direction":"S"},"moon":{"phase_day":22.019,"illumination_percent":51.5,"altitude_degrees":9.7,"azimuth_degrees":60.3},"sun_altitude_degrees":-30.05,"is_astronomical_dark":true,"smoke_proxy":{"pm2_5_ug_m3":3.0,"aerosol_optical_depth":0.12},"model_agreement":{"score":0.735,"label":"medium","model_count":5,"mean_cloud_percent":92.4,"median_cloud_percent":97.0,"spread_percent":28.0,"standard_deviation":10.3,"models":{"RDPS":98.0,"HRDPS":97.0,"GFS":100.0,"ICON":95.0,"NBM":72.0}},"component_scores":{"cloud":0.0,"transparency":0.5,"seeing":0.0,"wind":7.8,"dew_risk":2.8,"moonlight":8.7,"darkness":10.0,"forecast_confidence":7.3},"overall_score":2.5,"score_status":"complete","field_sources":{"cloud":"Astrospheric","transparency":"Astrospheric RDPS + RAP smoke","seeing":"Astrospheric RDPS","temperature_dew_wind":"Astrospheric RDPS","humidity_gust_precipitation":"Open-Meteo multi-model","short_range_public_forecast":"ECCC City Page Weather (experimental)","moon_sun_twilight":"Astronomy Engine (Moon) + Astral (Sun/twilight)","smoke_proxy":"CAMS Global via Open-Meteo"},"scoring_v2":{"scoring_version":"2.0","condition_score_0_to_10":2.8,"final_imaging_score_0_to_10":2.5,"available_only_diagnostic_score_0_to_10":2.8,"score_status":"complete","decision_data_complete":true,"missing_components":[],"base_component_scores":{"cloud":0.0,"transparency":0.5,"wind":7.8,"dew_risk":2.8,"darkness":10.0,"moonlight":8.7,"seeing":0.0},"adjusted_component_scores":{"cloud":0.0,"transparency":0.5,"wind":7.8,"dew_risk":2.8,"darkness":10.0,"moonlight":8.7,"seeing":0.0},"risk_adjustments":[],"hard_caps":[{"reason":"cloud_70_percent","maximum_score":2.5}],"effective_wind_kmh":15.4,"weighted_model_agreement":{"method":"weighted_median_mad","horizon_band":"0_48h","model_count":5,"models":{"HRDPS":97.0,"RDPS":98.0,"ICON":95.0,"GFS":100.0,"NBM":72.0},"normalized_weights":{"HRDPS":0.24,"RDPS":0.16,"ICON":0.25,"GFS":0.2,"NBM":0.15},"weighted_median_cloud_percent":97.0,"weighted_mad_cloud_percent":2.0,"range_percent":28.0,"agreement_0_to_1":0.88,"label":"high","outlier_models":[]},"forecast_confidence":{"score_0_to_1":0.937,"uncapped_score_0_to_1":0.937,"horizon_cap_0_to_1":1.0,"forecast_horizon_hours":1.7,"horizon_band":"0_48h","components":{"independent_model_agreement":0.88,"astrospheric_alignment":0.983,"freshness":0.966,"coverage":1.0},"coverage":{"primary_fraction":1.0,"active_model_prior_fraction":1.0,"precipitation_available":true,"missing":[]}},"freshness":{"score_0_to_1":0.966,"astrospheric_model_run":"2026-09-03T18:00:00Z","astrospheric_model_run_age_hours":9.3,"independent_models_fetched_at":"2026-09-04T03:16:13.208165Z","independent_models_fetch_age_hours":0.0,"independent_model_initialization_time":null,"independent_model_initialization_note":"Not supplied by the current Open-Meteo response; fetched time is not presented as model initialization time."},"dew_trend":{"label":"rising_risk","change":-1.0,"values":[1.0,0.0,0.0]},"wind_trend":{"label":"stable","change":-1.3,"values":[15.4,13.6,14.1]}}},{"time_utc":"2026-09-04T06:00:00Z","time_local":"2026-09-04T01:00:00-05:00","astrospheric":{"cloud_percent":84.3,"transparency_index":29.0,"seeing_index":3.0,"temperature_c":18.0,"dew_point_c":18.0,"wind_speed_kmh":2.2,"wind_direction_degrees":151.0},"independent_models":{"RDPS":{"cloud_percent":72.0,"temperature_c":18.4,"dew_point_c":18.2,"humidity_percent":99.0,"precipitation_probability_percent":null,"wind_speed_kmh":1.8,"wind_direction_degrees":173.0,"wind_gust_kmh":1.8,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.062182Z"},"HRDPS":{"cloud_percent":90.0,"temperature_c":16.4,"dew_point_c":16.0,"humidity_percent":97.0,"precipitation_probability_percent":null,"wind_speed_kmh":1.8,"wind_direction_degrees":161.0,"wind_gust_kmh":1.8,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.040143Z"},"GFS":{"cloud_percent":100.0,"temperature_c":17.9,"dew_point_c":17.4,"humidity_percent":97.0,"precipitation_probability_percent":16.0,"wind_speed_kmh":10.6,"wind_direction_degrees":114.0,"wind_gust_kmh":18.4,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.092217Z"},"ICON":{"cloud_percent":90.0,"temperature_c":17.3,"dew_point_c":16.5,"humidity_percent":95.0,"precipitation_probability_percent":25.0,"wind_speed_kmh":8.9,"wind_direction_degrees":32.0,"wind_gust_kmh":19.4,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.191529Z"},"NBM":{"cloud_percent":73.0,"temperature_c":17.1,"dew_point_c":17.1,"humidity_percent":100.0,"precipitation_probability_percent":16.0,"wind_speed_kmh":8.6,"wind_direction_degrees":60.0,"wind_gust_kmh":14.0,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.208165Z"}},"cloud_percent":84.3,"transparency_index":29.0,"seeing_index":3.0,"temperature_c":18.0,"dew_point_c":18.0,"dew_point_spread_c":0.0,"humidity_percent":97.0,"wind_speed_kmh":2.2,"wind_direction_degrees":151.0,"wind_gust_kmh":19.4,"precipitation_probability_percent":60.0,"eccc_hourly_forecast":{"condition":"Periods of drizzle","precipitation_probability_percent":60.0,"temperature_c":17.0,"wind_speed_kmh":15.0,"wind_direction":"S"},"moon":{"phase_day":22.064,"illumination_percent":51.0,"altitude_degrees":18.2,"azimuth_degrees":70.2},"sun_altitude_degrees":-32.87,"is_astronomical_dark":true,"smoke_proxy":{"pm2_5_ug_m3":3.1,"aerosol_optical_depth":0.1},"model_agreement":{"score":0.726,"label":"medium","model_count":5,"mean_cloud_percent":85.0,"median_cloud_percent":90.0,"spread_percent":28.0,"standard_deviation":10.8,"models":{"RDPS":72.0,"HRDPS":90.0,"GFS":100.0,"ICON":90.0,"NBM":73.0}},"component_scores":{"cloud":0.7,"transparency":0.5,"seeing":6.0,"wind":8.6,"dew_risk":0.0,"moonlight":7.9,"darkness":10.0,"forecast_confidence":7.3},"overall_score":2.5,"score_status":"complete","field_sources":{"cloud":"Astrospheric","transparency":"Astrospheric RDPS + RAP smoke","seeing":"Astrospheric RDPS","temperature_dew_wind":"Astrospheric RDPS","humidity_gust_precipitation":"Open-Meteo multi-model","short_range_public_forecast":"ECCC City Page Weather (experimental)","moon_sun_twilight":"Astronomy Engine (Moon) + Astral (Sun/twilight)","smoke_proxy":"CAMS Global via Open-Meteo"},"scoring_v2":{"scoring_version":"2.0","condition_score_0_to_10":3.0,"final_imaging_score_0_to_10":2.5,"available_only_diagnostic_score_0_to_10":3.0,"score_status":"complete","decision_data_complete":true,"missing_components":[],"base_component_scores":{"cloud":0.7,"transparency":0.5,"wind":8.6,"dew_risk":0.0,"darkness":10.0,"moonlight":7.9,"seeing":6.0},"adjusted_component_scores":{"cloud":0.7,"transparency":0.5,"wind":8.6,"dew_risk":0.0,"darkness":10.0,"moonlight":7.9,"seeing":6.0},"risk_adjustments":[],"hard_caps":[{"reason":"cloud_70_percent","maximum_score":2.5}],"effective_wind_kmh":13.6,"weighted_model_agreement":{"method":"weighted_median_mad","horizon_band":"0_48h","model_count":5,"models":{"HRDPS":90.0,"RDPS":72.0,"ICON":90.0,"GFS":100.0,"NBM":73.0},"normalized_weights":{"HRDPS":0.24,"RDPS":0.16,"ICON":0.25,"GFS":0.2,"NBM":0.15},"weighted_median_cloud_percent":90.0,"weighted_mad_cloud_percent":10.0,"range_percent":28.0,"agreement_0_to_1":0.68,"label":"medium","outlier_models":[]},"forecast_confidence":{"score_0_to_1":0.827,"uncapped_score_0_to_1":0.827,"horizon_cap_0_to_1":1.0,"forecast_horizon_hours":2.7,"horizon_band":"0_48h","components":{"independent_model_agreement":0.68,"astrospheric_alignment":0.905,"freshness":0.966,"coverage":1.0},"coverage":{"primary_fraction":1.0,"active_model_prior_fraction":1.0,"precipitation_available":true,"missing":[]}},"freshness":{"score_0_to_1":0.966,"astrospheric_model_run":"2026-09-03T18:00:00Z","astrospheric_model_run_age_hours":9.3,"independent_models_fetched_at":"2026-09-04T03:16:13.208165Z","independent_models_fetch_age_hours":0.0,"independent_model_initialization_time":null,"independent_model_initialization_note":"Not supplied by the current Open-Meteo response; fetched time is not presented as model initialization time."},"dew_trend":{"label":"stable","change":0.0,"values":[0.0,0.0,0.0]},"wind_trend":{"label":"stable","change":-1.8,"values":[13.6,14.1,11.8]}}},{"time_utc":"2026-09-04T07:00:00Z","time_local":"2026-09-04T02:00:00-05:00","astrospheric":{"cloud_percent":86.7,"transparency_index":29.0,"seeing_index":3.0,"temperature_c":18.0,"dew_point_c":18.0,"wind_speed_kmh":2.2,"wind_direction_degrees":37.0},"independent_models":{"RDPS":{"cloud_percent":77.0,"temperature_c":18.1,"dew_point_c":17.9,"humidity_percent":99.0,"precipitation_probability_percent":null,"wind_speed_kmh":2.2,"wind_direction_degrees":25.0,"wind_gust_kmh":2.2,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.062182Z"},"HRDPS":{"cloud_percent":69.0,"temperature_c":16.5,"dew_point_c":16.0,"humidity_percent":97.0,"precipitation_probability_percent":null,"wind_speed_kmh":5.0,"wind_direction_degrees":234.0,"wind_gust_kmh":5.0,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.040143Z"},"GFS":{"cloud_percent":76.0,"temperature_c":17.8,"dew_point_c":17.3,"humidity_percent":97.0,"precipitation_probability_percent":12.0,"wind_speed_kmh":7.1,"wind_direction_degrees":105.0,"wind_gust_kmh":20.2,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.092217Z"},"ICON":{"cloud_percent":88.0,"temperature_c":17.1,"dew_point_c":16.4,"humidity_percent":96.0,"precipitation_probability_percent":18.0,"wind_speed_kmh":6.8,"wind_direction_degrees":32.0,"wind_gust_kmh":19.1,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.191529Z"},"NBM":{"cloud_percent":78.0,"temperature_c":16.8,"dew_point_c":16.8,"humidity_percent":100.0,"precipitation_probability_percent":12.0,"wind_speed_kmh":7.9,"wind_direction_degrees":50.0,"wind_gust_kmh":13.3,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.208165Z"}},"cloud_percent":86.7,"transparency_index":29.0,"seeing_index":3.0,"temperature_c":18.0,"dew_point_c":18.0,"dew_point_spread_c":0.0,"humidity_percent":97.0,"wind_speed_kmh":2.2,"wind_direction_degrees":37.0,"wind_gust_kmh":20.2,"precipitation_probability_percent":60.0,"eccc_hourly_forecast":{"condition":"Periods of drizzle","precipitation_probability_percent":60.0,"temperature_c":17.0,"wind_speed_kmh":15.0,"wind_direction":"S"},"moon":{"phase_day":22.109,"illumination_percent":50.5,"altitude_degrees":27.3,"azimuth_degrees":80.1},"sun_altitude_degrees":-32.76,"is_astronomical_dark":true,"smoke_proxy":{"pm2_5_ug_m3":3.2,"aerosol_optical_depth":0.08},"model_agreement":{"score":0.836,"label":"high","model_count":5,"mean_cloud_percent":77.6,"median_cloud_percent":77.0,"spread_percent":19.0,"standard_deviation":6.1,"models":{"RDPS":77.0,"HRDPS":69.0,"GFS":76.0,"ICON":88.0,"NBM":78.0}},"component_scores":{"cloud":0.5,"transparency":0.5,"seeing":6.0,"wind":8.3,"dew_risk":0.0,"moonlight":7.1,"darkness":10.0,"forecast_confidence":8.4},"overall_score":2.5,"score_status":"complete","field_sources":{"cloud":"Astrospheric","transparency":"Astrospheric RDPS + RAP smoke","seeing":"Astrospheric RDPS","temperature_dew_wind":"Astrospheric RDPS","humidity_gust_precipitation":"Open-Meteo multi-model","short_range_public_forecast":"ECCC City Page Weather (experimental)","moon_sun_twilight":"Astronomy Engine (Moon) + Astral (Sun/twilight)","smoke_proxy":"CAMS Global via Open-Meteo"},"scoring_v2":{"scoring_version":"2.0","condition_score_0_to_10":2.8,"final_imaging_score_0_to_10":2.5,"available_only_diagnostic_score_0_to_10":2.8,"score_status":"complete","decision_data_complete":true,"missing_components":[],"base_component_scores":{"cloud":0.5,"transparency":0.5,"wind":8.3,"dew_risk":0.0,"darkness":10.0,"moonlight":7.1,"seeing":6.0},"adjusted_component_scores":{"cloud":0.5,"transparency":0.5,"wind":8.3,"dew_risk":0.0,"darkness":10.0,"moonlight":7.1,"seeing":6.0},"risk_adjustments":[],"hard_caps":[{"reason":"cloud_70_percent","maximum_score":2.5}],"effective_wind_kmh":14.1,"weighted_model_agreement":{"method":"weighted_median_mad","horizon_band":"0_48h","model_count":5,"models":{"HRDPS":69.0,"RDPS":77.0,"ICON":88.0,"GFS":76.0,"NBM":78.0},"normalized_weights":{"HRDPS":0.24,"RDPS":0.16,"ICON":0.25,"GFS":0.2,"NBM":0.15},"weighted_median_cloud_percent":77.0,"weighted_mad_cloud_percent":1.0,"range_percent":19.0,"agreement_0_to_1":0.927,"label":"high","outlier_models":[]},"forecast_confidence":{"score_0_to_1":0.922,"uncapped_score_0_to_1":0.922,"horizon_cap_0_to_1":1.0,"forecast_horizon_hours":3.7,"horizon_band":"0_48h","components":{"independent_model_agreement":0.927,"astrospheric_alignment":0.838,"freshness":0.966,"coverage":1.0},"coverage":{"primary_fraction":1.0,"active_model_prior_fraction":1.0,"precipitation_available":true,"missing":[]}},"freshness":{"score_0_to_1":0.966,"astrospheric_model_run":"2026-09-03T18:00:00Z","astrospheric_model_run_age_hours":9.3,"independent_models_fetched_at":"2026-09-04T03:16:13.208165Z","independent_models_fetch_age_hours":0.0,"independent_model_initialization_time":null,"independent_model_initialization_note":"Not supplied by the current Open-Meteo response; fetched time is not presented as model initialization time."},"dew_trend":{"label":"stable","change":0.0,"values":[0.0,0.0,0.0]},"wind_trend":{"label":"stable","change":-3.3,"values":[14.1,11.8,10.8]}}},{"time_utc":"2026-09-04T08:00:00Z","time_local":"2026-09-04T03:00:00-05:00","astrospheric":{"cloud_percent":83.1,"transparency_index":29.0,"seeing_index":3.0,"temperature_c":18.0,"dew_point_c":18.0,"wind_speed_kmh":3.6,"wind_direction_degrees":51.0},"independent_models":{"RDPS":{"cloud_percent":59.0,"temperature_c":18.1,"dew_point_c":17.9,"humidity_percent":99.0,"precipitation_probability_percent":null,"wind_speed_kmh":3.2,"wind_direction_degrees":46.0,"wind_gust_kmh":3.2,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.062182Z"},"HRDPS":{"cloud_percent":42.0,"temperature_c":15.7,"dew_point_c":15.4,"humidity_percent":98.0,"precipitation_probability_percent":null,"wind_speed_kmh":5.4,"wind_direction_degrees":273.0,"wind_gust_kmh":5.4,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.040143Z"},"GFS":{"cloud_percent":100.0,"temperature_c":17.7,"dew_point_c":17.3,"humidity_percent":97.0,"precipitation_probability_percent":9.0,"wind_speed_kmh":7.1,"wind_direction_degrees":135.0,"wind_gust_kmh":16.9,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.092217Z"},"ICON":{"cloud_percent":83.0,"temperature_c":16.8,"dew_point_c":16.3,"humidity_percent":97.0,"precipitation_probability_percent":18.0,"wind_speed_kmh":6.1,"wind_direction_degrees":357.0,"wind_gust_kmh":14.8,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.191529Z"},"NBM":{"cloud_percent":83.0,"temperature_c":16.6,"dew_point_c":16.6,"humidity_percent":100.0,"precipitation_probability_percent":9.0,"wind_speed_kmh":7.6,"wind_direction_degrees":40.0,"wind_gust_kmh":11.5,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.208165Z"}},"cloud_percent":83.1,"transparency_index":29.0,"seeing_index":3.0,"temperature_c":18.0,"dew_point_c":18.0,"dew_point_spread_c":0.0,"humidity_percent":98.0,"wind_speed_kmh":3.6,"wind_direction_degrees":51.0,"wind_gust_kmh":16.9,"precipitation_probability_percent":60.0,"eccc_hourly_forecast":{"condition":"Periods of drizzle","precipitation_probability_percent":60.0,"temperature_c":16.0,"wind_speed_kmh":15.0,"wind_direction":"S"},"moon":{"phase_day":22.154,"illumination_percent":50.1,"altitude_degrees":36.7,"azimuth_degrees":90.5},"sun_altitude_degrees":-29.75,"is_astronomical_dark":true,"smoke_proxy":{"pm2_5_ug_m3":3.3,"aerosol_optical_depth":0.08},"model_agreement":{"score":0.469,"label":"low","model_count":5,"mean_cloud_percent":73.4,"median_cloud_percent":83.0,"spread_percent":58.0,"standard_deviation":20.4,"models":{"RDPS":59.0,"HRDPS":42.0,"GFS":100.0,"ICON":83.0,"NBM":83.0}},"component_scores":{"cloud":0.8,"transparency":0.5,"seeing":6.0,"wind":9.3,"dew_risk":0.0,"moonlight":6.3,"darkness":10.0,"forecast_confidence":4.7},"overall_score":2.5,"score_status":"complete","field_sources":{"cloud":"Astrospheric","transparency":"Astrospheric RDPS + RAP smoke","seeing":"Astrospheric RDPS","temperature_dew_wind":"Astrospheric RDPS","humidity_gust_precipitation":"Open-Meteo multi-model","short_range_public_forecast":"ECCC City Page Weather (experimental)","moon_sun_twilight":"Astronomy Engine (Moon) + Astral (Sun/twilight)","smoke_proxy":"CAMS Global via Open-Meteo"},"scoring_v2":{"scoring_version":"2.0","condition_score_0_to_10":3.0,"final_imaging_score_0_to_10":2.5,"available_only_diagnostic_score_0_to_10":3.0,"score_status":"complete","decision_data_complete":true,"missing_components":[],"base_component_scores":{"cloud":0.8,"transparency":0.5,"wind":9.3,"dew_risk":0.0,"darkness":10.0,"moonlight":6.3,"seeing":6.0},"adjusted_component_scores":{"cloud":0.8,"transparency":0.5,"wind":9.3,"dew_risk":0.0,"darkness":10.0,"moonlight":6.3,"seeing":6.0},"risk_adjustments":[],"hard_caps":[{"reason":"cloud_70_percent","maximum_score":2.5}],"effective_wind_kmh":11.8,"weighted_model_agreement":{"method":"weighted_median_mad","horizon_band":"0_48h","model_count":5,"models":{"HRDPS":42.0,"RDPS":59.0,"ICON":83.0,"GFS":100.0,"NBM":83.0},"normalized_weights":{"HRDPS":0.24,"RDPS":0.16,"ICON":0.25,"GFS":0.2,"NBM":0.15},"weighted_median_cloud_percent":83.0,"weighted_mad_cloud_percent":17.0,"range_percent":58.0,"agreement_0_to_1":0.43,"label":"low","outlier_models":[]},"forecast_confidence":{"score_0_to_1":0.738,"uncapped_score_0_to_1":0.738,"horizon_cap_0_to_1":1.0,"forecast_horizon_hours":4.7,"horizon_band":"0_48h","components":{"independent_model_agreement":0.43,"astrospheric_alignment":0.998,"freshness":0.966,"coverage":1.0},"coverage":{"primary_fraction":1.0,"active_model_prior_fraction":1.0,"precipitation_available":true,"missing":[]}},"freshness":{"score_0_to_1":0.966,"astrospheric_model_run":"2026-09-03T18:00:00Z","astrospheric_model_run_age_hours":9.3,"independent_models_fetched_at":"2026-09-04T03:16:13.208165Z","independent_models_fetch_age_hours":0.0,"independent_model_initialization_time":null,"independent_model_initialization_note":"Not supplied by the current Open-Meteo response; fetched time is not presented as model initialization time."},"dew_trend":{"label":"stable","change":0.0,"values":[0.0,0.0,0.0]},"wind_trend":{"label":"stable","change":0.5,"values":[11.8,10.8,12.3]}}},{"time_utc":"2026-09-04T09:00:00Z","time_local":"2026-09-04T04:00:00-05:00","astrospheric":{"cloud_percent":76.5,"transparency_index":29.0,"seeing_index":4.0,"temperature_c":18.0,"dew_point_c":18.0,"wind_speed_kmh":2.2,"wind_direction_degrees":297.0},"independent_models":{"RDPS":{"cloud_percent":83.0,"temperature_c":17.4,"dew_point_c":17.4,"humidity_percent":100.0,"precipitation_probability_percent":null,"wind_speed_kmh":3.6,"wind_direction_degrees":265.0,"wind_gust_kmh":3.6,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.062182Z"},"HRDPS":{"cloud_percent":96.0,"temperature_c":15.7,"dew_point_c":15.4,"humidity_percent":98.0,"precipitation_probability_percent":null,"wind_speed_kmh":4.3,"wind_direction_degrees":326.0,"wind_gust_kmh":4.3,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.040143Z"},"GFS":{"cloud_percent":100.0,"temperature_c":17.6,"dew_point_c":17.1,"humidity_percent":97.0,"precipitation_probability_percent":3.0,"wind_speed_kmh":5.4,"wind_direction_degrees":110.0,"wind_gust_kmh":14.4,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.092217Z"},"ICON":{"cloud_percent":89.0,"temperature_c":16.7,"dew_point_c":16.3,"humidity_percent":98.0,"precipitation_probability_percent":3.0,"wind_speed_kmh":7.0,"wind_direction_degrees":339.0,"wind_gust_kmh":15.5,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.191529Z"},"NBM":{"cloud_percent":82.0,"temperature_c":16.6,"dew_point_c":16.6,"humidity_percent":100.0,"precipitation_probability_percent":3.0,"wind_speed_kmh":6.5,"wind_direction_degrees":50.0,"wind_gust_kmh":11.2,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.208165Z"}},"cloud_percent":76.5,"transparency_index":29.0,"seeing_index":4.0,"temperature_c":18.0,"dew_point_c":18.0,"dew_point_spread_c":0.0,"humidity_percent":98.0,"wind_speed_kmh":2.2,"wind_direction_degrees":297.0,"wind_gust_kmh":15.5,"precipitation_probability_percent":60.0,"eccc_hourly_forecast":{"condition":"Periods of drizzle","precipitation_probability_percent":60.0,"temperature_c":16.0,"wind_speed_kmh":15.0,"wind_direction":"S"},"moon":{"phase_day":22.199,"illumination_percent":49.6,"altitude_degrees":46.1,"azimuth_degrees":102.4},"sun_altitude_degrees":-24.27,"is_astronomical_dark":true,"smoke_proxy":{"pm2_5_ug_m3":3.3,"aerosol_optical_depth":0.07},"model_agreement":{"score":0.822,"label":"high","model_count":5,"mean_cloud_percent":90.0,"median_cloud_percent":89.0,"spread_percent":18.0,"standard_deviation":7.1,"models":{"RDPS":83.0,"HRDPS":96.0,"GFS":100.0,"ICON":89.0,"NBM":82.0}},"component_scores":{"cloud":1.2,"transparency":0.5,"seeing":8.0,"wind":9.7,"dew_risk":0.0,"moonlight":5.6,"darkness":10.0,"forecast_confidence":8.2},"overall_score":2.5,"score_status":"complete","field_sources":{"cloud":"Astrospheric","transparency":"Astrospheric RDPS + RAP smoke","seeing":"Astrospheric RDPS","temperature_dew_wind":"Astrospheric RDPS","humidity_gust_precipitation":"Open-Meteo multi-model","short_range_public_forecast":"ECCC City Page Weather (experimental)","moon_sun_twilight":"Astronomy Engine (Moon) + Astral (Sun/twilight)","smoke_proxy":"CAMS Global via Open-Meteo"},"scoring_v2":{"scoring_version":"2.0","condition_score_0_to_10":3.2,"final_imaging_score_0_to_10":2.5,"available_only_diagnostic_score_0_to_10":3.2,"score_status":"complete","decision_data_complete":true,"missing_components":[],"base_component_scores":{"cloud":1.2,"transparency":0.5,"wind":9.7,"dew_risk":0.0,"darkness":10.0,"moonlight":5.6,"seeing":8.0},"adjusted_component_scores":{"cloud":1.1,"transparency":0.5,"wind":9.7,"dew_risk":0.0,"darkness":10.0,"moonlight":5.6,"seeing":8.0},"risk_adjustments":[{"type":"cloud_model_risk","component_points":-0.12,"final_score_points":-0.04,"reasons":["Independent models are 12 points cloudier than Astrospheric"]}],"hard_caps":[{"reason":"cloud_70_percent","maximum_score":2.5}],"effective_wind_kmh":10.8,"weighted_model_agreement":{"method":"weighted_median_mad","horizon_band":"0_48h","model_count":5,"models":{"HRDPS":96.0,"RDPS":83.0,"ICON":89.0,"GFS":100.0,"NBM":82.0},"normalized_weights":{"HRDPS":0.24,"RDPS":0.16,"ICON":0.25,"GFS":0.2,"NBM":0.15},"weighted_median_cloud_percent":89.0,"weighted_mad_cloud_percent":7.0,"range_percent":18.0,"agreement_0_to_1":0.78,"label":"medium","outlier_models":[]},"forecast_confidence":{"score_0_to_1":0.844,"uncapped_score_0_to_1":0.844,"horizon_cap_0_to_1":1.0,"forecast_horizon_hours":5.7,"horizon_band":"0_48h","components":{"independent_model_agreement":0.78,"astrospheric_alignment":0.792,"freshness":0.966,"coverage":1.0},"coverage":{"primary_fraction":1.0,"active_model_prior_fraction":1.0,"precipitation_available":true,"missing":[]}},"freshness":{"score_0_to_1":0.966,"astrospheric_model_run":"2026-09-03T18:00:00Z","astrospheric_model_run_age_hours":9.3,"independent_models_fetched_at":"2026-09-04T03:16:13.208165Z","independent_models_fetch_age_hours":0.0,"independent_model_initialization_time":null,"independent_model_initialization_note":"Not supplied by the current Open-Meteo response; fetched time is not presented as model initialization time."},"dew_trend":{"label":"stable","change":0.0,"values":[0.0,0.0,0.0]},"wind_trend":{"label":"stable","change":1.8,"values":[10.8,12.3,12.6]}}},{"time_utc":"2026-09-04T10:00:00Z","time_local":"2026-09-04T05:00:00-05:00","astrospheric":{"cloud_percent":88.2,"transparency_index":29.0,"seeing_index":4.0,"temperature_c":18.0,"dew_point_c":18.0,"wind_speed_kmh":7.9,"wind_direction_degrees":267.0},"independent_models":{"RDPS":{"cloud_percent":59.0,"temperature_c":17.6,"dew_point_c":17.6,"humidity_percent":100.0,"precipitation_probability_percent":null,"wind_speed_kmh":9.0,"wind_direction_degrees":262.0,"wind_gust_kmh":9.0,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.062182Z"},"HRDPS":{"cloud_percent":96.0,"temperature_c":16.3,"dew_point_c":15.9,"humidity_percent":97.0,"precipitation_probability_percent":null,"wind_speed_kmh":4.7,"wind_direction_degrees":5.0,"wind_gust_kmh":4.7,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.040143Z"},"GFS":{"cloud_percent":96.0,"temperature_c":17.3,"dew_point_c":16.9,"humidity_percent":97.0,"precipitation_probability_percent":1.0,"wind_speed_kmh":1.8,"wind_direction_degrees":191.0,"wind_gust_kmh":13.0,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.092217Z"},"ICON":{"cloud_percent":98.0,"temperature_c":16.7,"dew_point_c":16.2,"humidity_percent":97.0,"precipitation_probability_percent":3.0,"wind_speed_kmh":8.1,"wind_direction_degrees":339.0,"wind_gust_kmh":17.6,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.191529Z"},"NBM":{"cloud_percent":72.0,"temperature_c":16.4,"dew_point_c":16.4,"humidity_percent":100.0,"precipitation_probability_percent":1.0,"wind_speed_kmh":5.8,"wind_direction_degrees":10.0,"wind_gust_kmh":9.4,"data_status":"ok","fetched_at":"2026-09-04T03:16:13.208165Z"}},"cloud_percent":88.2,"transparency_index":29.0,"seeing_index":4.0,"temperature_c":18.0,"dew_point_c":18.0,"dew_point_spread_c":0.0,"humidity_percent":97.0,"wind_speed_kmh":7.9,"wind_direction_degrees":267.0,"wind_gust_kmh":17.6,"precipitation_probability_percent":60.0,"eccc_hourly_forecast":{"condition":"Periods of drizzle","precipitation_probability_percent":60.0,"temperature_c":16.0,"wind_speed_kmh":15.0,"wind_direction":"S"},"moon":{"phase_day":22.245,"illumination_percent":49.1,"altitude_degrees":55.0,"azimuth_degrees":117.2},"sun_altitude_degrees":-16.93,"is_astronomical_dark":false,"smoke_proxy":{"pm2_5_ug_m3":3.5,"aerosol_optical_depth":0.08},"model_agreement":{"score":0.606,"label":"medium","model_count":5,"mean_cloud_percent":84.2,"median_cloud_percent":96.0,"spread_percent":39.0,"standard_deviation":15.8,"models":{"RDPS":59.0,"HRDPS":96.0,"GFS":96.0,"ICON":98.0,"NBM":72.0}},"component_scores":{"cloud":0.4,"transparency":0.5,"seeing":8.0,"wind":9.1,"dew_risk":0.0,"moonlight":5.7,"darkness":9.5,"forecast_confidence":6.1},"overall_score":2.5,"score_status":"complete","field_sources":{"cloud":"Astrospheric","transparency":"Astrospheric RDPS + RAP smoke","seeing":"Astrospheric RDPS","temperature_dew_wind":"Astrospheric RDPS","humidity_gust_precipitation":"Open-Meteo multi-model","short_range_public_forecast":"ECCC City Page Weather (experimental)","moon_sun_twilight":"Astronomy Engine (Moon) + Astral (Sun/twilight)","smoke_proxy":"CAMS Global via Open-Meteo"},"scoring_v2":{"scoring_version":"2.0","condition_score_0_to_10":2.8,"final_imaging_score_0_to_10":2.5,"available_only_diagnostic_score_0_to_10":2.8,"score_status":"complete","decision_data_complete":true,"missing_components":[],"base_component_scores":{"cloud":0.4,"transparency":0.5,"wind":9.1,"dew_risk":0.0,"darkness":9.5,"moonlight":5.7,"seeing":8.0},"adjusted_component_scores":{"cloud":0.4,"transparency":0.5,"wind":9.1,"dew_risk":0.0,"darkness":9.5,"moonlight":5.7,"seeing":8.0},"risk_adjustments":[],"hard_caps":[{"reason":"cloud_70_percent","maximum_score":2.5}],"effective_wind_kmh":12.3,"weighted_model_agreement":{"method":"weighted_median_mad","horizon_band":"0_48h","model_count":5,"models":{"HRDPS":96.0,"RDPS":59.0,"ICON":98.0,"GFS":96.0,"NBM":72.0},"normalized_weights":{"HRDPS":0.24,"RDPS":0.16,"ICON":0.25,"GFS":0.2,"NBM":0.15},"weighted_median_cloud_percent":96.0,"weighted_mad_cloud_percent":2.0,"range_percent":39.0,"agreement_0_to_1":0.852,"label":"high","outlier_models":["RDPS"]},"forecast_confidence":{"score_0_to_1":0.896,"uncapped_score_0_to_1":0.896,"horizon_cap_0_to_1":1.0,"forecast_horizon_hours":6.7,"horizon_band":"0_48h","components":{"independent_model_agreement":0.852,"astrospheric_alignment":0.87,"freshness":0.966,"coverage":1.0},"coverage":{"primary_fraction":1.0,"active_model_prior_fraction":1.0,"precipitation_available":true,"missing":[]}},"freshness":{"score_0_to_1":0.966,"astrospheric_model_run":"2026-09-03T18:00:00Z","astrospheric_model_run_age_hours":9.3,"independent_models_fetched_at":"2026-09-04T03:16:13.208165Z","independent_models_fetch_age_hours":0.0,"independent_model_initialization_time":null,"independent_model_initialization_note":"Not supplied by the current Open-Meteo response; fetched time is not presented as model initialization time."},"dew_trend":{"label":"stable","change":0.0,"values":[0.0,0.0,0.0]},"wind_trend":{"label":"stable","change":1.6,"values":[12.3,12.6,13.9]}}}],"limitations":["Astrospheric v2 exposes Cloud, Transparency, Seeing, Temperature, DewPoint, WindDirection and Wind; it does not expose individual Pro Cloud Ensemble members.","RDPS, HRDPS, GFS, ICON and NBM comparison is independently sourced through Open-Meteo and may differ from the Astrospheric app's Pro ensemble processing.","CAMS aerosol data is a coarse smoke/haze proxy, not local satellite cloud-motion analysis.","ECCC City Page Weather is an official but experimental city forecast for Winnipeg; it is a short-range cross-check, not a Glenlea cloud-percentage model.","The final decision remains forecast guidance; verify the sky and road/site access before travel."]}