{"calculation_version":"2026-10-10.1","days":30,"nights":[{"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"},{"best_hours":4.5,"best_label":"good","best_window":"00:00\u201304:30","dark_hours":10.51,"date":"2025-11-01","moon_free_dark_hours":2.58,"moon_illumination":82,"moon_separation":48.9,"score":84,"score_astronomy":87,"score_weather":97,"transit_alt":89.7,"transit_local":"22:20","verdict":"good","weather_source":"history","weekday":"Sat"},{"best_hours":0.25,"best_label":"good","best_window":"04:05\u201304:20","dark_hours":10.55,"date":"2025-11-02","moon_free_dark_hours":1.35,"moon_illumination":90,"moon_separation":39.0,"score":60,"score_astronomy":71,"score_weather":85,"transit_alt":89.7,"transit_local":"22:15","verdict":"marginal","weather_source":"history","weekday":"Sun"},{"best_hours":0.0,"best_label":null,"best_window":null,"dark_hours":10.58,"date":"2025-11-03","moon_free_dark_hours":0.07,"moon_illumination":96,"moon_separation":31.9,"score":1,"score_astronomy":38,"score_weather":4,"transit_alt":89.6,"transit_local":"22:10","verdict":"poor","weather_source":"history","weekday":"Mon"},{"best_hours":0.0,"best_label":null,"best_window":null,"dark_hours":10.62,"date":"2025-11-04","moon_free_dark_hours":0.0,"moon_illumination":99,"moon_separation":30.1,"score":0,"score_astronomy":31,"score_weather":0,"transit_alt":89.5,"transit_local":"22:10","verdict":"unusable","weather_source":"history","weekday":"Tue"},{"best_hours":0.0,"best_label":null,"best_window":null,"dark_hours":10.65,"date":"2025-11-05","moon_free_dark_hours":0.0,"moon_illumination":100,"moon_separation":34.9,"score":0,"score_astronomy":37,"score_weather":0,"transit_alt":89.7,"transit_local":"22:05","verdict":"unusable","weather_source":"history","weekday":"Wed"},{"best_hours":0.0,"best_label":null,"best_window":null,"dark_hours":10.69,"date":"2025-11-06","moon_free_dark_hours":0.0,"moon_illumination":97,"moon_separation":44.2,"score":0,"score_astronomy":56,"score_weather":0,"transit_alt":89.7,"transit_local":"22:00","verdict":"unusable","weather_source":"history","weekday":"Thu"},{"best_hours":0.0,"best_label":null,"best_window":null,"dark_hours":10.72,"date":"2025-11-07","moon_free_dark_hours":0.0,"moon_illumination":92,"moon_separation":55.5,"score":0,"score_astronomy":68,"score_weather":0,"transit_alt":89.6,"transit_local":"21:55","verdict":"unusable","weather_source":"history","weekday":"Fri"},{"best_hours":0.0,"best_label":null,"best_window":null,"dark_hours":10.75,"date":"2025-11-08","moon_free_dark_hours":0.73,"moon_illumination":84,"moon_separation":67.7,"score":0,"score_astronomy":100,"score_weather":0,"transit_alt":89.5,"transit_local":"21:50","verdict":"unusable","weather_source":"history","weekday":"Sat"},{"best_hours":0.0,"best_label":null,"best_window":null,"dark_hours":10.78,"date":"2025-11-09","moon_free_dark_hours":1.95,"moon_illumination":74,"moon_separation":80.0,"score":3,"score_astronomy":100,"score_weather":3,"transit_alt":89.6,"transit_local":"21:50","verdict":"poor","weather_source":"history","weekday":"Sun"},{"best_hours":0.0,"best_label":null,"best_window":null,"dark_hours":10.82,"date":"2025-11-10","moon_free_dark_hours":3.22,"moon_illumination":64,"moon_separation":92.0,"score":0,"score_astronomy":100,"score_weather":0,"transit_alt":89.7,"transit_local":"21:45","verdict":"unusable","weather_source":"history","weekday":"Mon"},{"best_hours":8.92,"best_label":"good","best_window":"18:40\u201303:35","dark_hours":10.85,"date":"2025-11-11","moon_free_dark_hours":4.45,"moon_illumination":53,"moon_separation":103.7,"score":95,"score_astronomy":100,"score_weather":95,"transit_alt":89.7,"transit_local":"21:40","verdict":"good","weather_source":"history","weekday":"Tue"},{"best_hours":7.67,"best_label":"good","best_window":"20:00\u201303:40","dark_hours":10.88,"date":"2025-11-12","moon_free_dark_hours":5.62,"moon_illumination":43,"moon_separation":114.7,"score":78,"score_astronomy":100,"score_weather":78,"transit_alt":89.6,"transit_local":"21:35","verdict":"good","weather_source":"history","weekday":"Wed"},{"best_hours":8.92,"best_label":"good","best_window":"18:40\u201303:35","dark_hours":10.91,"date":"2025-11-13","moon_free_dark_hours":6.73,"moon_illumination":33,"moon_separation":125.1,"score":99,"score_astronomy":100,"score_weather":99,"transit_alt":89.5,"transit_local":"21:35","verdict":"good","weather_source":"history","weekday":"Thu"},{"best_hours":8.92,"best_label":"good","best_window":"18:40\u201303:35","dark_hours":10.94,"date":"2025-11-14","moon_free_dark_hours":7.8,"moon_illumination":24,"moon_separation":134.5,"score":100,"score_astronomy":100,"score_weather":100,"transit_alt":89.6,"transit_local":"21:30","verdict":"good","weather_source":"history","weekday":"Fri"},{"best_hours":4.33,"best_label":"good","best_window":"18:40\u201323:00","dark_hours":10.97,"date":"2025-11-15","moon_free_dark_hours":8.85,"moon_illumination":16,"moon_separation":142.5,"score":63,"score_astronomy":100,"score_weather":63,"transit_alt":89.7,"transit_local":"21:25","verdict":"marginal","weather_source":"history","weekday":"Sat"}],"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-17","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}}
