{"calculation_version":"2026-10-10.1","forecast_source":"history","night_date":"2025-10-04","schedule":[{"end":"2025-10-04T17:30Z","end_local":"20:30","hours":1.58,"mean_quality":0.0,"start":"2025-10-04T15:55Z","start_local":"18:55","target":null},{"end":"2025-10-05T03:25Z","end_local":"06:25","hours":9.92,"mean_quality":0.56,"start":"2025-10-04T17:30Z","start_local":"20:30","target":"M31"},{"end":"2025-10-05T04:25Z","end_local":"07:25","hours":1.0,"mean_quality":0.0,"start":"2025-10-05T03:25Z","start_local":"06:25","target":null}],"targets":[{"best_window":{"end":"2025-10-05T02:50Z","end_local":"05:50","hours":3.17,"label":"good","mean_quality":0.71,"start":"2025-10-04T23:40Z","start_local":"02:40"},"dec":41.26875,"moon_separation":55.1,"name":"M31","quality_hours":5.75,"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":88,"score_astronomy":92,"score_weather":96,"transit":{"airmass":1.0,"alt":89.7,"az":187.4,"t":"2025-10-04T22:10Z"},"verdict":"good","weather_known":true,"windows":[{"end":"2025-10-04T16:30Z","end_local":"19:30","hours":0.58,"label":"unusable","mean_quality":0.0,"start":"2025-10-04T15:55Z","start_local":"18:55"},{"end":"2025-10-04T17:30Z","end_local":"20:30","hours":1.0,"label":"poor","mean_quality":0.12,"start":"2025-10-04T16:30Z","start_local":"19:30"},{"end":"2025-10-04T23:40Z","end_local":"02:40","hours":6.17,"label":"marginal","mean_quality":0.5,"start":"2025-10-04T17:30Z","start_local":"20:30"},{"end":"2025-10-05T02:50Z","end_local":"05:50","hours":3.17,"label":"good","mean_quality":0.71,"start":"2025-10-04T23:40Z","start_local":"02:40"},{"end":"2025-10-05T03:25Z","end_local":"06:25","hours":0.58,"label":"marginal","mean_quality":0.42,"start":"2025-10-05T02:50Z","start_local":"05:50"},{"end":"2025-10-05T03:55Z","end_local":"06:55","hours":0.5,"label":"poor","mean_quality":0.12,"start":"2025-10-05T03:25Z","start_local":"06:25"},{"end":"2025-10-05T04:25Z","end_local":"07:25","hours":0.5,"label":"unusable","mean_quality":0.0,"start":"2025-10-05T03:55Z","start_local":"06:55"}]}],"unscheduled":[],"warnings":[]}
