{"calculation_version":"2026-10-10.1","forecast_source":"history","night_date":"2026-01-19","schedule":[{"end":"2026-01-19T16:45Z","end_local":"18:45","hours":1.42,"mean_quality":0.0,"start":"2026-01-19T15:20Z","start_local":"17:20","target":null},{"end":"2026-01-19T23:50Z","end_local":"01:50","hours":7.08,"mean_quality":0.73,"start":"2026-01-19T16:45Z","start_local":"18:45","target":"M42"},{"end":"2026-01-20T05:45Z","end_local":"07:45","hours":5.92,"mean_quality":0.0,"start":"2026-01-19T23:50Z","start_local":"01:50","target":null}],"targets":[{"best_window":{"end":"2026-01-19T23:10Z","end_local":"01:10","hours":4.58,"label":"good","mean_quality":0.8,"start":"2026-01-19T18:35Z","start_local":"20:35"},"dec":-5.3876,"moon_separation":123.2,"name":"M42","quality_hours":5.3,"ra":83.8201,"resolved":{"common_name":"Great Orion Nebula","dec":-5.3876,"name":"M 42","ra":83.8201,"simbad_url":"https://simbad.cds.unistra.fr/simbad/sim-id?Ident=M42","source":"sesame","type":"HII","type_text":"HII region \u2014 a star-forming nebula"},"score":82,"score_astronomy":89,"score_weather":93,"transit":{"airmass":1.47,"alt":42.9,"az":179.8,"t":"2026-01-19T20:00Z"},"verdict":"good","weather_known":true,"windows":[{"end":"2026-01-19T16:15Z","end_local":"18:15","hours":0.92,"label":"unusable","mean_quality":0.0,"start":"2026-01-19T15:20Z","start_local":"17:20"},{"end":"2026-01-19T16:45Z","end_local":"18:45","hours":0.5,"label":"poor","mean_quality":0.2,"start":"2026-01-19T16:15Z","start_local":"18:15"},{"end":"2026-01-19T17:00Z","end_local":"19:00","hours":0.25,"label":"marginal","mean_quality":0.32,"start":"2026-01-19T16:45Z","start_local":"18:45"},{"end":"2026-01-19T18:00Z","end_local":"20:00","hours":1.0,"label":"good","mean_quality":0.79,"start":"2026-01-19T17:00Z","start_local":"19:00"},{"end":"2026-01-19T18:35Z","end_local":"20:35","hours":0.58,"label":"marginal","mean_quality":0.59,"start":"2026-01-19T18:00Z","start_local":"20:00"},{"end":"2026-01-19T23:10Z","end_local":"01:10","hours":4.58,"label":"good","mean_quality":0.8,"start":"2026-01-19T18:35Z","start_local":"20:35"},{"end":"2026-01-19T23:50Z","end_local":"01:50","hours":0.67,"label":"marginal","mean_quality":0.48,"start":"2026-01-19T23:10Z","start_local":"01:10"},{"end":"2026-01-20T05:45Z","end_local":"07:45","hours":5.92,"label":"unusable","mean_quality":0.0,"start":"2026-01-19T23:50Z","start_local":"01:50"}]}],"unscheduled":[],"warnings":[]}
