{"calculation_version":"2026-10-10.1","forecast_source":"none","night_date":"2026-11-22","schedule":[{"end":"2026-11-22T16:35Z","end_local":"18:35","hours":1.67,"mean_quality":0.0,"start":"2026-11-22T14:55Z","start_local":"16:55","target":null},{"end":"2026-11-22T18:30Z","end_local":"20:30","hours":1.92,"mean_quality":0.34,"start":"2026-11-22T16:35Z","start_local":"18:35","target":"M31"},{"end":"2026-11-22T23:25Z","end_local":"01:25","hours":4.92,"mean_quality":0.0,"start":"2026-11-22T18:30Z","start_local":"20:30","target":null},{"end":"2026-11-23T00:50Z","end_local":"02:50","hours":1.42,"mean_quality":0.31,"start":"2026-11-22T23:25Z","start_local":"01:25","target":"M31"},{"end":"2026-11-23T05:20Z","end_local":"07:20","hours":4.5,"mean_quality":0.0,"start":"2026-11-23T00:50Z","start_local":"02:50","target":null}],"targets":[{"best_window":{"end":"2026-11-22T18:30Z","end_local":"20:30","hours":1.92,"label":"marginal","mean_quality":0.34,"start":"2026-11-22T16:35Z","start_local":"18:35"},"dec":41.26875,"moon_separation":29.9,"name":"M31","quality_hours":2.82,"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":null,"score_astronomy":27,"score_weather":null,"transit":{"airmass":1.0,"alt":89.6,"az":231.4,"t":"2026-11-22T19:00Z"},"verdict":"unknown","weather_known":false,"windows":[{"end":"2026-11-22T15:30Z","end_local":"17:30","hours":0.58,"label":"unusable","mean_quality":0.0,"start":"2026-11-22T14:55Z","start_local":"16:55"},{"end":"2026-11-22T16:35Z","end_local":"18:35","hours":1.08,"label":"poor","mean_quality":0.13,"start":"2026-11-22T15:30Z","start_local":"17:30"},{"end":"2026-11-22T18:30Z","end_local":"20:30","hours":1.92,"label":"marginal","mean_quality":0.34,"start":"2026-11-22T16:35Z","start_local":"18:35"},{"end":"2026-11-22T23:25Z","end_local":"01:25","hours":4.92,"label":"poor","mean_quality":0.28,"start":"2026-11-22T18:30Z","start_local":"20:30"},{"end":"2026-11-23T00:50Z","end_local":"02:50","hours":1.42,"label":"marginal","mean_quality":0.31,"start":"2026-11-22T23:25Z","start_local":"01:25"},{"end":"2026-11-23T01:40Z","end_local":"03:40","hours":0.83,"label":"poor","mean_quality":0.24,"start":"2026-11-23T00:50Z","start_local":"02:50"},{"end":"2026-11-23T05:20Z","end_local":"07:20","hours":3.67,"label":"unusable","mean_quality":0.0,"start":"2026-11-23T01:40Z","start_local":"03:40"}]}],"unscheduled":[],"warnings":[]}
