{"calculation_version":"2026-10-10.1","forecast_source":"history","night_date":"2025-10-25","schedule":[{"end":"2025-10-25T16:30Z","end_local":"19:30","hours":1.17,"mean_quality":0.0,"start":"2025-10-25T15:20Z","start_local":"18:20","target":null},{"end":"2025-10-25T19:00Z","end_local":"22:00","hours":2.5,"mean_quality":0.84,"start":"2025-10-25T16:30Z","start_local":"19:30","target":"M31"},{"end":"2025-10-25T21:00Z","end_local":"00:00","hours":2.0,"mean_quality":0.0,"start":"2025-10-25T19:00Z","start_local":"22:00","target":null},{"end":"2025-10-26T00:00Z","end_local":"03:00","hours":3.0,"mean_quality":0.67,"start":"2025-10-25T21:00Z","start_local":"00:00","target":"M31"},{"end":"2025-10-26T04:50Z","end_local":"06:50","hours":4.83,"mean_quality":0.0,"start":"2025-10-26T00:00Z","start_local":"03:00","target":null}],"targets":[{"best_window":{"end":"2025-10-25T19:00Z","end_local":"22:00","hours":2.0,"label":"good","mean_quality":0.94,"start":"2025-10-25T17:00Z","start_local":"20:00"},"dec":41.26875,"moon_separation":123.5,"name":"M31","quality_hours":4.64,"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":47,"score_astronomy":100,"score_weather":47,"transit":{"airmass":1.0,"alt":89.5,"az":123.8,"t":"2025-10-25T20:45Z"},"verdict":"marginal","weather_known":true,"windows":[{"end":"2025-10-25T15:55Z","end_local":"18:55","hours":0.58,"label":"unusable","mean_quality":0.0,"start":"2025-10-25T15:20Z","start_local":"18:20"},{"end":"2025-10-25T16:30Z","end_local":"19:30","hours":0.58,"label":"poor","mean_quality":0.13,"start":"2025-10-25T15:55Z","start_local":"18:55"},{"end":"2025-10-25T17:00Z","end_local":"20:00","hours":0.5,"label":"marginal","mean_quality":0.44,"start":"2025-10-25T16:30Z","start_local":"19:30"},{"end":"2025-10-25T19:00Z","end_local":"22:00","hours":2.0,"label":"good","mean_quality":0.94,"start":"2025-10-25T17:00Z","start_local":"20:00"},{"end":"2025-10-25T20:00Z","end_local":"23:00","hours":1.0,"label":"poor","mean_quality":0.24,"start":"2025-10-25T19:00Z","start_local":"22:00"},{"end":"2025-10-25T21:00Z","end_local":"00:00","hours":1.0,"label":"unusable","mean_quality":0.0,"start":"2025-10-25T20:00Z","start_local":"23:00"},{"end":"2025-10-25T22:00Z","end_local":"01:00","hours":1.0,"label":"good","mean_quality":0.89,"start":"2025-10-25T21:00Z","start_local":"00:00"},{"end":"2025-10-25T23:00Z","end_local":"02:00","hours":1.0,"label":"marginal","mean_quality":0.52,"start":"2025-10-25T22:00Z","start_local":"01:00"},{"end":"2025-10-25T23:30Z","end_local":"02:30","hours":0.5,"label":"good","mean_quality":0.6,"start":"2025-10-25T23:00Z","start_local":"02:00"},{"end":"2025-10-26T00:00Z","end_local":"03:00","hours":0.5,"label":"marginal","mean_quality":0.59,"start":"2025-10-25T23:30Z","start_local":"02:30"},{"end":"2025-10-26T01:00Z","end_local":"03:00","hours":1.0,"label":"poor","mean_quality":0.23,"start":"2025-10-26T00:00Z","start_local":"03:00"},{"end":"2025-10-26T04:50Z","end_local":"06:50","hours":3.83,"label":"unusable","mean_quality":0.0,"start":"2025-10-26T01:00Z","start_local":"03:00"}]}],"unscheduled":[],"warnings":[]}
