{"calculation_version":"2026-10-10.1","forecast_source":"history","night_date":"2026-01-15","schedule":[{"end":"2026-01-15T16:25Z","end_local":"18:25","hours":1.17,"mean_quality":0.0,"start":"2026-01-15T15:15Z","start_local":"17:15","target":null},{"end":"2026-01-15T21:05Z","end_local":"23:05","hours":4.67,"mean_quality":0.85,"start":"2026-01-15T16:25Z","start_local":"18:25","target":"M33"},{"end":"2026-01-15T22:00Z","end_local":"00:00","hours":0.92,"mean_quality":0.0,"start":"2026-01-15T21:05Z","start_local":"23:05","target":null},{"end":"2026-01-15T22:15Z","end_local":"00:15","hours":0.25,"mean_quality":0.45,"start":"2026-01-15T22:00Z","start_local":"00:00","target":"M33"},{"end":"2026-01-16T05:50Z","end_local":"07:50","hours":7.58,"mean_quality":0.0,"start":"2026-01-15T22:15Z","start_local":"00:15","target":null}],"targets":[{"best_window":{"end":"2026-01-15T21:00Z","end_local":"23:00","hours":4.08,"label":"good","mean_quality":0.9,"start":"2026-01-15T16:55Z","start_local":"18:55"},"dec":30.66017511,"moon_separation":129.2,"name":"M33","quality_hours":4.39,"ra":23.46206906,"resolved":{"common_name":"Triangulum Pinwheel","dec":30.66017511,"morphology":"SA(s)cd","name":"M 33","ra":23.46206906,"simbad_url":"https://simbad.cds.unistra.fr/simbad/sim-id?Ident=M33","source":"sesame","type":"GiG","type_text":"galaxy in a group","vmag":5.72},"score":87,"score_astronomy":100,"score_weather":87,"transit":{"airmass":1.02,"alt":79.1,"az":179.0,"t":"2026-01-15T16:15Z"},"verdict":"good","weather_known":true,"windows":[{"end":"2026-01-15T15:50Z","end_local":"17:50","hours":0.58,"label":"unusable","mean_quality":0.0,"start":"2026-01-15T15:15Z","start_local":"17:15"},{"end":"2026-01-15T16:25Z","end_local":"18:25","hours":0.58,"label":"poor","mean_quality":0.15,"start":"2026-01-15T15:50Z","start_local":"17:50"},{"end":"2026-01-15T16:55Z","end_local":"18:55","hours":0.5,"label":"marginal","mean_quality":0.5,"start":"2026-01-15T16:25Z","start_local":"18:25"},{"end":"2026-01-15T21:00Z","end_local":"23:00","hours":4.08,"label":"good","mean_quality":0.9,"start":"2026-01-15T16:55Z","start_local":"18:55"},{"end":"2026-01-15T21:05Z","end_local":"23:05","hours":0.08,"label":"marginal","mean_quality":0.3,"start":"2026-01-15T21:00Z","start_local":"23:00"},{"end":"2026-01-15T22:00Z","end_local":"00:00","hours":0.92,"label":"poor","mean_quality":0.26,"start":"2026-01-15T21:05Z","start_local":"23:05"},{"end":"2026-01-15T22:15Z","end_local":"00:15","hours":0.25,"label":"marginal","mean_quality":0.45,"start":"2026-01-15T22:00Z","start_local":"00:00"},{"end":"2026-01-16T05:50Z","end_local":"07:50","hours":7.58,"label":"unusable","mean_quality":0.0,"start":"2026-01-15T22:15Z","start_local":"00:15"}]}],"unscheduled":[],"warnings":[]}
