{"calculation_version":"2026-10-10.1","forecast_source":"history","night_date":"2026-07-21","schedule":[{"end":"2026-07-21T22:00Z","end_local":"01:00","hours":4.25,"mean_quality":0.0,"start":"2026-07-21T17:45Z","start_local":"20:45","target":null},{"end":"2026-07-22T00:00Z","end_local":"03:00","hours":2.0,"mean_quality":0.68,"start":"2026-07-21T22:00Z","start_local":"01:00","target":"M33"},{"end":"2026-07-22T01:00Z","end_local":"04:00","hours":1.0,"mean_quality":0.0,"start":"2026-07-22T00:00Z","start_local":"03:00","target":null},{"end":"2026-07-22T01:55Z","end_local":"04:55","hours":0.92,"mean_quality":0.49,"start":"2026-07-22T01:00Z","start_local":"04:00","target":"M33"},{"end":"2026-07-22T03:10Z","end_local":"06:10","hours":1.25,"mean_quality":0.0,"start":"2026-07-22T01:55Z","start_local":"04:55","target":null}],"targets":[{"best_window":{"end":"2026-07-22T00:00Z","end_local":"03:00","hours":1.5,"label":"good","mean_quality":0.75,"start":"2026-07-21T22:30Z","start_local":"01:30"},"dec":30.66017511,"moon_separation":165.3,"name":"M33","quality_hours":1.91,"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":46,"score_astronomy":72,"score_weather":64,"transit":{"airmass":1.02,"alt":79.1,"az":178.1,"t":"2026-07-22T03:55Z"},"verdict":"marginal","weather_known":true,"windows":[{"end":"2026-07-21T22:00Z","end_local":"01:00","hours":4.25,"label":"unusable","mean_quality":0.0,"start":"2026-07-21T17:45Z","start_local":"20:45"},{"end":"2026-07-21T22:30Z","end_local":"01:30","hours":0.5,"label":"marginal","mean_quality":0.48,"start":"2026-07-21T22:00Z","start_local":"01:00"},{"end":"2026-07-22T00:00Z","end_local":"03:00","hours":1.5,"label":"good","mean_quality":0.75,"start":"2026-07-21T22:30Z","start_local":"01:30"},{"end":"2026-07-22T01:00Z","end_local":"04:00","hours":1.0,"label":"unusable","mean_quality":0.0,"start":"2026-07-22T00:00Z","start_local":"03:00"},{"end":"2026-07-22T01:10Z","end_local":"04:10","hours":0.17,"label":"good","mean_quality":0.81,"start":"2026-07-22T01:00Z","start_local":"04:00"},{"end":"2026-07-22T01:55Z","end_local":"04:55","hours":0.75,"label":"marginal","mean_quality":0.42,"start":"2026-07-22T01:10Z","start_local":"04:10"},{"end":"2026-07-22T02:35Z","end_local":"05:35","hours":0.67,"label":"poor","mean_quality":0.15,"start":"2026-07-22T01:55Z","start_local":"04:55"},{"end":"2026-07-22T03:10Z","end_local":"06:10","hours":0.58,"label":"unusable","mean_quality":0.0,"start":"2026-07-22T02:35Z","start_local":"05:35"}]}],"unscheduled":[],"warnings":[]}
