{"calculation_version":"2026-10-10.1","forecast_source":"history","night_date":"2026-07-20","schedule":[{"end":"2026-07-20T20:55Z","end_local":"23:55","hours":3.08,"mean_quality":0.0,"start":"2026-07-20T17:50Z","start_local":"20:50","target":null},{"end":"2026-07-20T21:00Z","end_local":"00:00","hours":0.08,"mean_quality":0.32,"start":"2026-07-20T20:55Z","start_local":"23:55","target":"M31"},{"end":"2026-07-20T23:00Z","end_local":"02:00","hours":2.0,"mean_quality":0.0,"start":"2026-07-20T21:00Z","start_local":"00:00","target":null},{"end":"2026-07-21T01:55Z","end_local":"04:55","hours":2.92,"mean_quality":0.71,"start":"2026-07-20T23:00Z","start_local":"02:00","target":"M31"},{"end":"2026-07-21T03:05Z","end_local":"06:05","hours":1.17,"mean_quality":0.0,"start":"2026-07-21T01:55Z","start_local":"04:55","target":null}],"targets":[{"best_window":{"end":"2026-07-21T01:05Z","end_local":"04:05","hours":2.08,"label":"good","mean_quality":0.79,"start":"2026-07-20T23:00Z","start_local":"02:00"},"dec":41.26875,"moon_separation":150.3,"name":"M31","quality_hours":2.28,"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":53,"score_astronomy":100,"score_weather":53,"transit":{"airmass":1.0,"alt":89.7,"az":194.4,"t":"2026-07-21T03:10Z"},"verdict":"marginal","weather_known":true,"windows":[{"end":"2026-07-20T20:35Z","end_local":"23:35","hours":2.75,"label":"unusable","mean_quality":0.0,"start":"2026-07-20T17:50Z","start_local":"20:50"},{"end":"2026-07-20T20:55Z","end_local":"23:55","hours":0.33,"label":"poor","mean_quality":0.27,"start":"2026-07-20T20:35Z","start_local":"23:35"},{"end":"2026-07-20T21:00Z","end_local":"00:00","hours":0.08,"label":"marginal","mean_quality":0.32,"start":"2026-07-20T20:55Z","start_local":"23:55"},{"end":"2026-07-20T23:00Z","end_local":"02:00","hours":2.0,"label":"unusable","mean_quality":0.0,"start":"2026-07-20T21:00Z","start_local":"00:00"},{"end":"2026-07-21T01:05Z","end_local":"04:05","hours":2.08,"label":"good","mean_quality":0.79,"start":"2026-07-20T23:00Z","start_local":"02:00"},{"end":"2026-07-21T01:55Z","end_local":"04:55","hours":0.83,"label":"marginal","mean_quality":0.5,"start":"2026-07-21T01:05Z","start_local":"04:05"},{"end":"2026-07-21T02:35Z","end_local":"05:35","hours":0.67,"label":"poor","mean_quality":0.15,"start":"2026-07-21T01:55Z","start_local":"04:55"},{"end":"2026-07-21T03:05Z","end_local":"06:05","hours":0.5,"label":"unusable","mean_quality":0.0,"start":"2026-07-21T02:35Z","start_local":"05:35"}]}],"unscheduled":[],"warnings":[]}
