{"calculation_version":"2026-10-10.1","forecast_source":"history","night_date":"2026-08-08","schedule":[{"end":"2026-08-08T19:20Z","end_local":"22:20","hours":1.83,"mean_quality":0.0,"start":"2026-08-08T17:30Z","start_local":"20:30","target":null},{"end":"2026-08-09T01:35Z","end_local":"04:35","hours":6.25,"mean_quality":0.65,"start":"2026-08-08T19:20Z","start_local":"22:20","target":"M31"},{"end":"2026-08-09T02:00Z","end_local":"05:00","hours":0.42,"mean_quality":0.0,"start":"2026-08-09T01:35Z","start_local":"04:35","target":null},{"end":"2026-08-09T02:20Z","end_local":"05:20","hours":0.33,"mean_quality":0.4,"start":"2026-08-09T02:00Z","start_local":"05:00","target":"M31"},{"end":"2026-08-09T03:25Z","end_local":"06:25","hours":1.08,"mean_quality":0.0,"start":"2026-08-09T02:20Z","start_local":"05:20","target":null}],"targets":[{"best_window":{"end":"2026-08-09T00:00Z","end_local":"03:00","hours":4.0,"label":"good","mean_quality":0.73,"start":"2026-08-08T20:00Z","start_local":"23:00"},"dec":41.26875,"moon_separation":59.6,"name":"M31","quality_hours":4.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":74,"score_astronomy":98,"score_weather":75,"transit":{"airmass":1.0,"alt":89.7,"az":183.2,"t":"2026-08-09T01:55Z"},"verdict":"good","weather_known":true,"windows":[{"end":"2026-08-08T19:20Z","end_local":"22:20","hours":1.83,"label":"unusable","mean_quality":0.0,"start":"2026-08-08T17:30Z","start_local":"20:30"},{"end":"2026-08-08T20:00Z","end_local":"23:00","hours":0.67,"label":"marginal","mean_quality":0.47,"start":"2026-08-08T19:20Z","start_local":"22:20"},{"end":"2026-08-09T00:00Z","end_local":"03:00","hours":4.0,"label":"good","mean_quality":0.73,"start":"2026-08-08T20:00Z","start_local":"23:00"},{"end":"2026-08-09T01:35Z","end_local":"04:35","hours":1.58,"label":"marginal","mean_quality":0.51,"start":"2026-08-09T00:00Z","start_local":"03:00"},{"end":"2026-08-09T02:00Z","end_local":"05:00","hours":0.42,"label":"poor","mean_quality":0.26,"start":"2026-08-09T01:35Z","start_local":"04:35"},{"end":"2026-08-09T02:20Z","end_local":"05:20","hours":0.33,"label":"marginal","mean_quality":0.4,"start":"2026-08-09T02:00Z","start_local":"05:00"},{"end":"2026-08-09T02:55Z","end_local":"05:55","hours":0.58,"label":"poor","mean_quality":0.12,"start":"2026-08-09T02:20Z","start_local":"05:20"},{"end":"2026-08-09T03:25Z","end_local":"06:25","hours":0.5,"label":"unusable","mean_quality":0.0,"start":"2026-08-09T02:55Z","start_local":"05:55"}]}],"unscheduled":[],"warnings":[]}
