{"calculation_version":"2026-10-10.1","forecast_source":"history","night_date":"2025-10-31","schedule":[{"end":"2025-10-31T22:00Z","end_local":"00:00","hours":6.75,"mean_quality":0.0,"start":"2025-10-31T15:15Z","start_local":"17:15","target":null},{"end":"2025-11-01T01:00Z","end_local":"03:00","hours":3.0,"mean_quality":0.68,"start":"2025-10-31T22:00Z","start_local":"00:00","target":"M42"},{"end":"2025-11-01T02:00Z","end_local":"04:00","hours":1.0,"mean_quality":0.0,"start":"2025-11-01T01:00Z","start_local":"03:00","target":null},{"end":"2025-11-01T03:55Z","end_local":"05:55","hours":1.92,"mean_quality":0.52,"start":"2025-11-01T02:00Z","start_local":"04:00","target":"M42"},{"end":"2025-11-01T04:55Z","end_local":"06:55","hours":1.0,"mean_quality":0.0,"start":"2025-11-01T03:55Z","start_local":"05:55","target":null}],"targets":[{"best_window":{"end":"2025-11-01T00:00Z","end_local":"02:00","hours":1.75,"label":"good","mean_quality":0.75,"start":"2025-10-31T22:15Z","start_local":"00:15"},"dec":-5.3876,"moon_separation":104.6,"name":"M42","quality_hours":3.17,"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":58,"score_astronomy":89,"score_weather":65,"transit":{"airmass":1.47,"alt":42.9,"az":179.9,"t":"2025-11-01T01:15Z"},"verdict":"marginal","weather_known":true,"windows":[{"end":"2025-10-31T21:30Z","end_local":"23:30","hours":6.25,"label":"unusable","mean_quality":0.0,"start":"2025-10-31T15:15Z","start_local":"17:15"},{"end":"2025-10-31T22:00Z","end_local":"00:00","hours":0.5,"label":"poor","mean_quality":0.2,"start":"2025-10-31T21:30Z","start_local":"23:30"},{"end":"2025-10-31T22:15Z","end_local":"00:15","hours":0.25,"label":"marginal","mean_quality":0.56,"start":"2025-10-31T22:00Z","start_local":"00:00"},{"end":"2025-11-01T00:00Z","end_local":"02:00","hours":1.75,"label":"good","mean_quality":0.75,"start":"2025-10-31T22:15Z","start_local":"00:15"},{"end":"2025-11-01T01:00Z","end_local":"03:00","hours":1.0,"label":"marginal","mean_quality":0.58,"start":"2025-11-01T00:00Z","start_local":"02:00"},{"end":"2025-11-01T02:00Z","end_local":"04:00","hours":1.0,"label":"unusable","mean_quality":0.0,"start":"2025-11-01T01:00Z","start_local":"03:00"},{"end":"2025-11-01T03:00Z","end_local":"05:00","hours":1.0,"label":"marginal","mean_quality":0.52,"start":"2025-11-01T02:00Z","start_local":"04:00"},{"end":"2025-11-01T03:20Z","end_local":"05:20","hours":0.33,"label":"good","mean_quality":0.76,"start":"2025-11-01T03:00Z","start_local":"05:00"},{"end":"2025-11-01T03:55Z","end_local":"05:55","hours":0.58,"label":"marginal","mean_quality":0.37,"start":"2025-11-01T03:20Z","start_local":"05:20"},{"end":"2025-11-01T04:25Z","end_local":"06:25","hours":0.5,"label":"poor","mean_quality":0.11,"start":"2025-11-01T03:55Z","start_local":"05:55"},{"end":"2025-11-01T04:55Z","end_local":"06:55","hours":0.5,"label":"unusable","mean_quality":0.0,"start":"2025-11-01T04:25Z","start_local":"06:25"}]}],"unscheduled":[],"warnings":[]}
