{"calculation_version":"2026-10-10.1","forecast_source":"history","night_date":"2026-08-22","schedule":[{"end":"2026-08-22T18:55Z","end_local":"21:55","hours":1.75,"mean_quality":0.0,"start":"2026-08-22T17:10Z","start_local":"20:10","target":null},{"end":"2026-08-23T02:35Z","end_local":"05:35","hours":7.67,"mean_quality":0.79,"start":"2026-08-22T18:55Z","start_local":"21:55","target":"M31"},{"end":"2026-08-23T03:40Z","end_local":"06:40","hours":1.08,"mean_quality":0.0,"start":"2026-08-23T02:35Z","start_local":"05:35","target":null}],"targets":[{"best_window":{"end":"2026-08-23T02:00Z","end_local":"05:00","hours":4.0,"label":"good","mean_quality":0.94,"start":"2026-08-22T22:00Z","start_local":"01:00"},"dec":41.26875,"moon_separation":115.1,"name":"M31","quality_hours":6.24,"ra":10.68470833,"resolved":{"common_name":"Andromeda Galaxy","dec":41.26875,"morphology":"SA(s)b","name":"M 31","ra":10.68470833,"simbad_url":"https://simbad.cds.unistra.fr/simbad/sim-id?Ident=M31","source":"sesame","type":"AGN","type_text":"galaxy with an active nucleus","vmag":3.44},"score":91,"score_astronomy":100,"score_weather":91,"transit":{"airmass":1.0,"alt":89.7,"az":184.9,"t":"2026-08-23T01:00Z"},"verdict":"good","weather_known":true,"windows":[{"end":"2026-08-22T18:25Z","end_local":"21:25","hours":1.25,"label":"unusable","mean_quality":0.0,"start":"2026-08-22T17:10Z","start_local":"20:10"},{"end":"2026-08-22T18:55Z","end_local":"21:55","hours":0.5,"label":"poor","mean_quality":0.2,"start":"2026-08-22T18:25Z","start_local":"21:25"},{"end":"2026-08-22T19:10Z","end_local":"22:10","hours":0.25,"label":"marginal","mean_quality":0.55,"start":"2026-08-22T18:55Z","start_local":"21:55"},{"end":"2026-08-22T21:00Z","end_local":"00:00","hours":1.83,"label":"good","mean_quality":0.74,"start":"2026-08-22T19:10Z","start_local":"22:10"},{"end":"2026-08-22T22:00Z","end_local":"01:00","hours":1.0,"label":"marginal","mean_quality":0.5,"start":"2026-08-22T21:00Z","start_local":"00:00"},{"end":"2026-08-23T02:00Z","end_local":"05:00","hours":4.0,"label":"good","mean_quality":0.94,"start":"2026-08-22T22:00Z","start_local":"01:00"},{"end":"2026-08-23T02:35Z","end_local":"05:35","hours":0.58,"label":"marginal","mean_quality":0.5,"start":"2026-08-23T02:00Z","start_local":"05:00"},{"end":"2026-08-23T03:10Z","end_local":"06:10","hours":0.58,"label":"poor","mean_quality":0.15,"start":"2026-08-23T02:35Z","start_local":"05:35"},{"end":"2026-08-23T03:40Z","end_local":"06:40","hours":0.5,"label":"unusable","mean_quality":0.0,"start":"2026-08-23T03:10Z","start_local":"06:10"}]}],"unscheduled":[],"warnings":[]}
