{"calculation_version":"2026-10-10.1","forecast_source":"history","night_date":"2025-10-12","schedule":[{"end":"2025-10-12T16:45Z","end_local":"19:45","hours":1.08,"mean_quality":0.0,"start":"2025-10-12T15:40Z","start_local":"18:40","target":null},{"end":"2025-10-12T17:00Z","end_local":"20:00","hours":0.25,"mean_quality":0.32,"start":"2025-10-12T16:45Z","start_local":"19:45","target":"M31"},{"end":"2025-10-12T17:20Z","end_local":"20:20","hours":0.33,"mean_quality":0.0,"start":"2025-10-12T17:00Z","start_local":"20:00","target":null},{"end":"2025-10-12T18:00Z","end_local":"21:00","hours":0.67,"mean_quality":0.42,"start":"2025-10-12T17:20Z","start_local":"20:20","target":"M31"},{"end":"2025-10-12T21:00Z","end_local":"00:00","hours":3.0,"mean_quality":0.0,"start":"2025-10-12T18:00Z","start_local":"21:00","target":null},{"end":"2025-10-13T01:00Z","end_local":"04:00","hours":4.0,"mean_quality":0.62,"start":"2025-10-12T21:00Z","start_local":"00:00","target":"M31"},{"end":"2025-10-13T04:35Z","end_local":"07:35","hours":3.58,"mean_quality":0.0,"start":"2025-10-13T01:00Z","start_local":"04:00","target":null}],"targets":[{"best_window":{"end":"2025-10-13T00:00Z","end_local":"03:00","hours":2.0,"label":"good","mean_quality":0.7,"start":"2025-10-12T22:00Z","start_local":"01:00"},"dec":41.26875,"moon_separation":71.7,"name":"M31","quality_hours":3.35,"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":41,"score_astronomy":100,"score_weather":41,"transit":{"airmass":1.0,"alt":89.6,"az":227.7,"t":"2025-10-12T21:40Z"},"verdict":"marginal","weather_known":true,"windows":[{"end":"2025-10-12T16:15Z","end_local":"19:15","hours":0.58,"label":"unusable","mean_quality":0.0,"start":"2025-10-12T15:40Z","start_local":"18:40"},{"end":"2025-10-12T16:45Z","end_local":"19:45","hours":0.5,"label":"poor","mean_quality":0.09,"start":"2025-10-12T16:15Z","start_local":"19:15"},{"end":"2025-10-12T17:00Z","end_local":"20:00","hours":0.25,"label":"marginal","mean_quality":0.32,"start":"2025-10-12T16:45Z","start_local":"19:45"},{"end":"2025-10-12T17:20Z","end_local":"20:20","hours":0.33,"label":"poor","mean_quality":0.2,"start":"2025-10-12T17:00Z","start_local":"20:00"},{"end":"2025-10-12T18:00Z","end_local":"21:00","hours":0.67,"label":"marginal","mean_quality":0.42,"start":"2025-10-12T17:20Z","start_local":"20:20"},{"end":"2025-10-12T21:00Z","end_local":"00:00","hours":3.0,"label":"unusable","mean_quality":0.0,"start":"2025-10-12T18:00Z","start_local":"21:00"},{"end":"2025-10-12T22:00Z","end_local":"01:00","hours":1.0,"label":"marginal","mean_quality":0.57,"start":"2025-10-12T21:00Z","start_local":"00:00"},{"end":"2025-10-13T00:00Z","end_local":"03:00","hours":2.0,"label":"good","mean_quality":0.7,"start":"2025-10-12T22:00Z","start_local":"01:00"},{"end":"2025-10-13T01:00Z","end_local":"04:00","hours":1.0,"label":"marginal","mean_quality":0.51,"start":"2025-10-13T00:00Z","start_local":"03:00"},{"end":"2025-10-13T03:00Z","end_local":"06:00","hours":2.0,"label":"poor","mean_quality":0.2,"start":"2025-10-13T01:00Z","start_local":"04:00"},{"end":"2025-10-13T04:35Z","end_local":"07:35","hours":1.58,"label":"unusable","mean_quality":0.0,"start":"2025-10-13T03:00Z","start_local":"06:00"}]}],"unscheduled":[],"warnings":[]}
