{"calculation_version":"2026-10-10.1","days":30,"nights":[{"best_hours":0.0,"best_label":null,"best_window":null,"dark_hours":9.24,"date":"2025-10-02","moon_free_dark_hours":3.3,"moon_illumination":78,"moon_separation":78.0,"score":0,"score_astronomy":100,"score_weather":0,"transit_alt":89.5,"transit_local":"01:20","verdict":"unusable","weather_source":"history","weekday":"Thu"},{"best_hours":0.0,"best_label":null,"best_window":null,"dark_hours":9.29,"date":"2025-10-03","moon_free_dark_hours":2.1,"moon_illumination":86,"moon_separation":66.6,"score":0,"score_astronomy":100,"score_weather":0,"transit_alt":89.6,"transit_local":"01:15","verdict":"unusable","weather_source":"history","weekday":"Fri"},{"best_hours":3.17,"best_label":"good","best_window":"02:40\u201305:50","dark_hours":9.33,"date":"2025-10-04","moon_free_dark_hours":0.87,"moon_illumination":93,"moon_separation":55.1,"score":88,"score_astronomy":92,"score_weather":96,"transit_alt":89.7,"transit_local":"01:10","verdict":"good","weather_source":"history","weekday":"Sat"},{"best_hours":2.5,"best_label":"marginal","best_window":"20:30\u201323:00","dark_hours":9.38,"date":"2025-10-05","moon_free_dark_hours":0.0,"moon_illumination":98,"moon_separation":44.3,"score":21,"score_astronomy":54,"score_weather":39,"transit_alt":89.7,"transit_local":"01:05","verdict":"poor","weather_source":"history","weekday":"Sun"},{"best_hours":0.0,"best_label":null,"best_window":null,"dark_hours":9.43,"date":"2025-10-06","moon_free_dark_hours":0.0,"moon_illumination":100,"moon_separation":35.3,"score":0,"score_astronomy":40,"score_weather":0,"transit_alt":89.5,"transit_local":"01:00","verdict":"unusable","weather_source":"history","weekday":"Mon"},{"best_hours":0.0,"best_label":null,"best_window":null,"dark_hours":9.47,"date":"2025-10-07","moon_free_dark_hours":0.0,"moon_illumination":99,"moon_separation":30.3,"score":0,"score_astronomy":35,"score_weather":0,"transit_alt":89.5,"transit_local":"01:00","verdict":"unusable","weather_source":"history","weekday":"Tue"},{"best_hours":0.0,"best_label":null,"best_window":null,"dark_hours":9.52,"date":"2025-10-08","moon_free_dark_hours":0.0,"moon_illumination":95,"moon_separation":31.6,"score":0,"score_astronomy":43,"score_weather":0,"transit_alt":89.7,"transit_local":"00:55","verdict":"unusable","weather_source":"history","weekday":"Wed"},{"best_hours":7.58,"best_label":"marginal","best_window":"20:25\u201304:00","dark_hours":9.57,"date":"2025-10-09","moon_free_dark_hours":0.0,"moon_illumination":89,"moon_separation":38.5,"score":54,"score_astronomy":57,"score_weather":94,"transit_alt":89.7,"transit_local":"00:50","verdict":"marginal","weather_source":"history","weekday":"Thu"},{"best_hours":0.92,"best_label":"good","best_window":"22:00\u201322:55","dark_hours":9.61,"date":"2025-10-10","moon_free_dark_hours":0.38,"moon_illumination":80,"moon_separation":48.5,"score":59,"score_astronomy":90,"score_weather":65,"transit_alt":89.6,"transit_local":"00:45","verdict":"marginal","weather_source":"history","weekday":"Fri"},{"best_hours":1.67,"best_label":"good","best_window":"20:20\u201322:00","dark_hours":9.66,"date":"2025-10-11","moon_free_dark_hours":1.32,"moon_illumination":70,"moon_separation":59.9,"score":30,"score_astronomy":97,"score_weather":31,"transit_alt":89.5,"transit_local":"00:40","verdict":"poor","weather_source":"history","weekday":"Sat"},{"best_hours":2.0,"best_label":"good","best_window":"01:00\u201303:00","dark_hours":9.7,"date":"2025-10-12","moon_free_dark_hours":2.43,"moon_illumination":59,"moon_separation":71.7,"score":41,"score_astronomy":100,"score_weather":41,"transit_alt":89.6,"transit_local":"00:40","verdict":"marginal","weather_source":"history","weekday":"Sun"},{"best_hours":0.0,"best_label":null,"best_window":null,"dark_hours":9.74,"date":"2025-10-13","moon_free_dark_hours":3.63,"moon_illumination":48,"moon_separation":83.5,"score":6,"score_astronomy":100,"score_weather":6,"transit_alt":89.7,"transit_local":"00:35","verdict":"poor","weather_source":"history","weekday":"Mon"},{"best_hours":0.0,"best_label":null,"best_window":null,"dark_hours":9.79,"date":"2025-10-14","moon_free_dark_hours":4.87,"moon_illumination":38,"moon_separation":95.1,"score":0,"score_astronomy":100,"score_weather":0,"transit_alt":89.7,"transit_local":"00:30","verdict":"unusable","weather_source":"history","weekday":"Tue"},{"best_hours":1.0,"best_label":"good","best_window":"23:00\u201300:00","dark_hours":9.83,"date":"2025-10-15","moon_free_dark_hours":6.08,"moon_illumination":28,"moon_separation":106.4,"score":14,"score_astronomy":100,"score_weather":14,"transit_alt":89.6,"transit_local":"00:25","verdict":"poor","weather_source":"history","weekday":"Wed"},{"best_hours":0.0,"best_label":null,"best_window":null,"dark_hours":9.87,"date":"2025-10-16","moon_free_dark_hours":7.23,"moon_illumination":19,"moon_separation":117.2,"score":0,"score_astronomy":100,"score_weather":0,"transit_alt":89.5,"transit_local":"00:25","verdict":"unusable","weather_source":"history","weekday":"Thu"},{"best_hours":0.0,"best_label":null,"best_window":null,"dark_hours":9.92,"date":"2025-10-17","moon_free_dark_hours":8.35,"moon_illumination":12,"moon_separation":127.3,"score":0,"score_astronomy":100,"score_weather":0,"transit_alt":89.6,"transit_local":"00:20","verdict":"unusable","weather_source":"history","weekday":"Fri"},{"best_hours":0.0,"best_label":null,"best_window":null,"dark_hours":9.96,"date":"2025-10-18","moon_free_dark_hours":9.42,"moon_illumination":6,"moon_separation":136.4,"score":1,"score_astronomy":100,"score_weather":1,"transit_alt":89.7,"transit_local":"00:15","verdict":"poor","weather_source":"history","weekday":"Sat"},{"best_hours":0.0,"best_label":null,"best_window":null,"dark_hours":10.0,"date":"2025-10-19","moon_free_dark_hours":9.98,"moon_illumination":2,"moon_separation":144.0,"score":0,"score_astronomy":100,"score_weather":0,"transit_alt":89.7,"transit_local":"00:10","verdict":"unusable","weather_source":"history","weekday":"Sun"},{"best_hours":0.92,"best_label":"good","best_window":"20:05\u201321:00","dark_hours":10.04,"date":"2025-10-20","moon_free_dark_hours":10.03,"moon_illumination":0,"moon_separation":148.9,"score":18,"score_astronomy":100,"score_weather":18,"transit_alt":89.5,"transit_local":"00:05","verdict":"poor","weather_source":"history","weekday":"Mon"},{"best_hours":1.0,"best_label":"marginal","best_window":"23:00\u201300:00","dark_hours":10.08,"date":"2025-10-21","moon_free_dark_hours":10.07,"moon_illumination":0,"moon_separation":149.9,"score":10,"score_astronomy":100,"score_weather":10,"transit_alt":89.5,"transit_local":"00:05","verdict":"poor","weather_source":"history","weekday":"Tue"},{"best_hours":3.92,"best_label":"good","best_window":"20:05\u201300:00","dark_hours":10.13,"date":"2025-10-22","moon_free_dark_hours":10.12,"moon_illumination":2,"moon_separation":146.8,"score":30,"score_astronomy":100,"score_weather":30,"transit_alt":89.7,"transit_local":"00:00","verdict":"poor","weather_source":"history","weekday":"Wed"},{"best_hours":1.92,"best_label":"good","best_window":"20:05\u201322:00","dark_hours":10.17,"date":"2025-10-23","moon_free_dark_hours":10.15,"moon_illumination":5,"moon_separation":140.7,"score":17,"score_astronomy":100,"score_weather":17,"transit_alt":89.7,"transit_local":"23:55","verdict":"poor","weather_source":"history","weekday":"Thu"},{"best_hours":5.0,"best_label":"good","best_window":"01:00\u201306:00","dark_hours":10.21,"date":"2025-10-24","moon_free_dark_hours":10.18,"moon_illumination":10,"moon_separation":132.6,"score":69,"score_astronomy":100,"score_weather":69,"transit_alt":89.6,"transit_local":"23:50","verdict":"marginal","weather_source":"history","weekday":"Fri"},{"best_hours":2.0,"best_label":"good","best_window":"20:00\u201322:00","dark_hours":10.25,"date":"2025-10-25","moon_free_dark_hours":10.03,"moon_illumination":17,"moon_separation":123.5,"score":47,"score_astronomy":100,"score_weather":47,"transit_alt":89.5,"transit_local":"23:45","verdict":"marginal","weather_source":"history","weekday":"Sat"},{"best_hours":0.5,"best_label":"marginal","best_window":"04:00\u201304:30","dark_hours":10.29,"date":"2025-10-26","moon_free_dark_hours":9.22,"moon_illumination":24,"moon_separation":113.7,"score":5,"score_astronomy":100,"score_weather":5,"transit_alt":89.6,"transit_local":"22:45","verdict":"poor","weather_source":"history","weekday":"Sun"},{"best_hours":6.0,"best_label":"good","best_window":"19:00\u201301:00","dark_hours":10.32,"date":"2025-10-27","moon_free_dark_hours":8.27,"moon_illumination":33,"moon_separation":103.5,"score":65,"score_astronomy":100,"score_weather":65,"transit_alt":89.7,"transit_local":"22:40","verdict":"marginal","weather_source":"history","weekday":"Mon"},{"best_hours":9.83,"best_label":"good","best_window":"18:55\u201304:45","dark_hours":10.36,"date":"2025-10-28","moon_free_dark_hours":7.22,"moon_illumination":42,"moon_separation":92.9,"score":99,"score_astronomy":100,"score_weather":99,"transit_alt":89.7,"transit_local":"22:35","verdict":"good","weather_source":"history","weekday":"Tue"},{"best_hours":9.75,"best_label":"good","best_window":"18:55\u201304:40","dark_hours":10.4,"date":"2025-10-29","moon_free_dark_hours":6.1,"moon_illumination":52,"moon_separation":82.0,"score":100,"score_astronomy":100,"score_weather":100,"transit_alt":89.6,"transit_local":"22:30","verdict":"good","weather_source":"history","weekday":"Wed"},{"best_hours":5.0,"best_label":"good","best_window":"21:00\u201302:00","dark_hours":10.44,"date":"2025-10-30","moon_free_dark_hours":4.95,"moon_illumination":63,"moon_separation":70.9,"score":52,"score_astronomy":100,"score_weather":52,"transit_alt":89.5,"transit_local":"22:30","verdict":"marginal","weather_source":"history","weekday":"Thu"},{"best_hours":2.5,"best_label":"good","best_window":"00:00\u201302:30","dark_hours":10.47,"date":"2025-10-31","moon_free_dark_hours":3.78,"moon_illumination":73,"moon_separation":59.8,"score":37,"score_astronomy":96,"score_weather":38,"transit_alt":89.6,"transit_local":"22:25","verdict":"poor","weather_source":"history","weekday":"Fri"}],"note":"score_astronomy for every night; score_weather/score only where a forecast (next 4 days) or ERA5 history exists \u2014 null otherwise","start":"2025-10-02","target":{"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}}
