{"calculation_version":"2026-10-10.1","days":30,"nights":[{"best_hours":0.0,"best_label":null,"best_window":null,"dark_hours":6.5,"date":"2040-04-28","moon_free_dark_hours":0.15,"moon_illumination":96,"moon_separation":132.7,"score":null,"score_astronomy":1,"score_weather":null,"transit_alt":89.8,"transit_local":"11:35","verdict":"unknown","weather_source":"none","weekday":"Sat"},{"best_hours":0.0,"best_label":null,"best_window":null,"dark_hours":6.44,"date":"2040-04-29","moon_free_dark_hours":1.4,"moon_illumination":90,"moon_separation":123.2,"score":null,"score_astronomy":1,"score_weather":null,"transit_alt":89.8,"transit_local":"11:30","verdict":"unknown","weather_source":"none","weekday":"Sun"},{"best_hours":0.0,"best_label":null,"best_window":null,"dark_hours":6.39,"date":"2040-04-30","moon_free_dark_hours":2.58,"moon_illumination":81,"moon_separation":112.5,"score":null,"score_astronomy":1,"score_weather":null,"transit_alt":89.7,"transit_local":"11:25","verdict":"unknown","weather_source":"none","weekday":"Mon"},{"best_hours":0.0,"best_label":null,"best_window":null,"dark_hours":6.33,"date":"2040-05-01","moon_free_dark_hours":3.62,"moon_illumination":71,"moon_separation":101.2,"score":null,"score_astronomy":1,"score_weather":null,"transit_alt":89.5,"transit_local":"11:25","verdict":"unknown","weather_source":"none","weekday":"Tue"},{"best_hours":0.0,"best_label":null,"best_window":null,"dark_hours":6.27,"date":"2040-05-02","moon_free_dark_hours":4.43,"moon_illumination":60,"moon_separation":89.7,"score":null,"score_astronomy":1,"score_weather":null,"transit_alt":89.7,"transit_local":"11:20","verdict":"unknown","weather_source":"none","weekday":"Wed"},{"best_hours":0.0,"best_label":null,"best_window":null,"dark_hours":6.21,"date":"2040-05-03","moon_free_dark_hours":5.1,"moon_illumination":49,"moon_separation":78.4,"score":null,"score_astronomy":1,"score_weather":null,"transit_alt":89.8,"transit_local":"11:15","verdict":"unknown","weather_source":"none","weekday":"Thu"},{"best_hours":0.0,"best_label":null,"best_window":null,"dark_hours":6.16,"date":"2040-05-04","moon_free_dark_hours":5.63,"moon_illumination":38,"moon_separation":67.5,"score":null,"score_astronomy":1,"score_weather":null,"transit_alt":89.8,"transit_local":"11:10","verdict":"unknown","weather_source":"none","weekday":"Fri"},{"best_hours":0.0,"best_label":null,"best_window":null,"dark_hours":6.1,"date":"2040-05-05","moon_free_dark_hours":6.07,"moon_illumination":27,"moon_separation":57.3,"score":null,"score_astronomy":1,"score_weather":null,"transit_alt":89.6,"transit_local":"11:05","verdict":"unknown","weather_source":"none","weekday":"Sat"},{"best_hours":0.0,"best_label":null,"best_window":null,"dark_hours":6.04,"date":"2040-05-06","moon_free_dark_hours":6.02,"moon_illumination":18,"moon_separation":48.3,"score":null,"score_astronomy":2,"score_weather":null,"transit_alt":89.6,"transit_local":"11:05","verdict":"unknown","weather_source":"none","weekday":"Sun"},{"best_hours":0.08,"best_label":"marginal","best_window":"04:55\u201305:00","dark_hours":5.98,"date":"2040-05-07","moon_free_dark_hours":5.97,"moon_illumination":11,"moon_separation":41.3,"score":null,"score_astronomy":2,"score_weather":null,"transit_alt":89.7,"transit_local":"11:00","verdict":"unknown","weather_source":"none","weekday":"Mon"},{"best_hours":0.17,"best_label":"marginal","best_window":"04:50\u201305:00","dark_hours":5.93,"date":"2040-05-08","moon_free_dark_hours":5.92,"moon_illumination":5,"moon_separation":37.1,"score":null,"score_astronomy":2,"score_weather":null,"transit_alt":89.8,"transit_local":"10:55","verdict":"unknown","weather_source":"none","weekday":"Tue"},{"best_hours":0.25,"best_label":"marginal","best_window":"04:45\u201305:00","dark_hours":5.87,"date":"2040-05-09","moon_free_dark_hours":5.85,"moon_illumination":2,"moon_separation":36.6,"score":null,"score_astronomy":2,"score_weather":null,"transit_alt":89.7,"transit_local":"10:50","verdict":"unknown","weather_source":"none","weekday":"Wed"},{"best_hours":0.17,"best_label":"marginal","best_window":"04:45\u201304:55","dark_hours":5.82,"date":"2040-05-10","moon_free_dark_hours":5.8,"moon_illumination":0,"moon_separation":39.8,"score":null,"score_astronomy":3,"score_weather":null,"transit_alt":89.6,"transit_local":"10:45","verdict":"unknown","weather_source":"none","weekday":"Thu"},{"best_hours":0.25,"best_label":"marginal","best_window":"04:40\u201304:55","dark_hours":5.76,"date":"2040-05-11","moon_free_dark_hours":5.75,"moon_illumination":1,"moon_separation":45.7,"score":null,"score_astronomy":4,"score_weather":null,"transit_alt":89.6,"transit_local":"10:45","verdict":"unknown","weather_source":"none","weekday":"Fri"},{"best_hours":0.33,"best_label":"marginal","best_window":"04:35\u201304:55","dark_hours":5.71,"date":"2040-05-12","moon_free_dark_hours":5.68,"moon_illumination":3,"moon_separation":53.3,"score":null,"score_astronomy":4,"score_weather":null,"transit_alt":89.8,"transit_local":"10:40","verdict":"unknown","weather_source":"none","weekday":"Sat"},{"best_hours":0.42,"best_label":"marginal","best_window":"04:30\u201304:55","dark_hours":5.65,"date":"2040-05-13","moon_free_dark_hours":5.15,"moon_illumination":7,"moon_separation":61.9,"score":null,"score_astronomy":4,"score_weather":null,"transit_alt":89.8,"transit_local":"10:35","verdict":"unknown","weather_source":"none","weekday":"Sun"},{"best_hours":0.25,"best_label":"marginal","best_window":"03:55\u201304:10","dark_hours":5.6,"date":"2040-05-14","moon_free_dark_hours":4.2,"moon_illumination":13,"moon_separation":71.0,"score":null,"score_astronomy":5,"score_weather":null,"transit_alt":89.7,"transit_local":"10:30","verdict":"unknown","weather_source":"none","weekday":"Mon"},{"best_hours":0.42,"best_label":"marginal","best_window":"04:25\u201304:50","dark_hours":5.55,"date":"2040-05-15","moon_free_dark_hours":3.35,"moon_illumination":20,"moon_separation":80.3,"score":null,"score_astronomy":5,"score_weather":null,"transit_alt":89.5,"transit_local":"10:25","verdict":"unknown","weather_source":"none","weekday":"Tue"},{"best_hours":0.5,"best_label":"marginal","best_window":"04:20\u201304:50","dark_hours":5.49,"date":"2040-05-16","moon_free_dark_hours":2.63,"moon_illumination":28,"moon_separation":89.8,"score":null,"score_astronomy":6,"score_weather":null,"transit_alt":89.7,"transit_local":"10:25","verdict":"unknown","weather_source":"none","weekday":"Wed"},{"best_hours":0.58,"best_label":"marginal","best_window":"04:15\u201304:50","dark_hours":5.44,"date":"2040-05-17","moon_free_dark_hours":2.0,"moon_illumination":37,"moon_separation":99.4,"score":null,"score_astronomy":6,"score_weather":null,"transit_alt":89.8,"transit_local":"10:20","verdict":"unknown","weather_source":"none","weekday":"Thu"},{"best_hours":0.58,"best_label":"marginal","best_window":"04:10\u201304:45","dark_hours":5.39,"date":"2040-05-18","moon_free_dark_hours":1.47,"moon_illumination":46,"moon_separation":108.9,"score":null,"score_astronomy":6,"score_weather":null,"transit_alt":89.8,"transit_local":"10:15","verdict":"unknown","weather_source":"none","weekday":"Fri"},{"best_hours":0.58,"best_label":"marginal","best_window":"04:10\u201304:45","dark_hours":5.34,"date":"2040-05-19","moon_free_dark_hours":1.0,"moon_illumination":56,"moon_separation":118.1,"score":null,"score_astronomy":7,"score_weather":null,"transit_alt":89.6,"transit_local":"10:10","verdict":"unknown","weather_source":"none","weekday":"Sat"},{"best_hours":0.67,"best_label":"marginal","best_window":"04:05\u201304:45","dark_hours":5.29,"date":"2040-05-20","moon_free_dark_hours":0.57,"moon_illumination":66,"moon_separation":127.0,"score":null,"score_astronomy":8,"score_weather":null,"transit_alt":89.5,"transit_local":"10:10","verdict":"unknown","weather_source":"none","weekday":"Sun"},{"best_hours":0.75,"best_label":"marginal","best_window":"04:00\u201304:45","dark_hours":5.24,"date":"2040-05-21","moon_free_dark_hours":0.15,"moon_illumination":75,"moon_separation":134.9,"score":null,"score_astronomy":8,"score_weather":null,"transit_alt":89.7,"transit_local":"10:05","verdict":"unknown","weather_source":"none","weekday":"Mon"},{"best_hours":0.67,"best_label":"marginal","best_window":"04:05\u201304:45","dark_hours":5.19,"date":"2040-05-22","moon_free_dark_hours":0.0,"moon_illumination":84,"moon_separation":140.9,"score":null,"score_astronomy":8,"score_weather":null,"transit_alt":89.8,"transit_local":"10:00","verdict":"unknown","weather_source":"none","weekday":"Tue"},{"best_hours":0.58,"best_label":"marginal","best_window":"03:20\u201303:55","dark_hours":5.15,"date":"2040-05-23","moon_free_dark_hours":0.0,"moon_illumination":91,"moon_separation":143.6,"score":null,"score_astronomy":9,"score_weather":null,"transit_alt":89.7,"transit_local":"09:55","verdict":"unknown","weather_source":"none","weekday":"Wed"},{"best_hours":0.67,"best_label":"marginal","best_window":"03:15\u201303:55","dark_hours":5.1,"date":"2040-05-24","moon_free_dark_hours":0.0,"moon_illumination":97,"moon_separation":142.0,"score":null,"score_astronomy":9,"score_weather":null,"transit_alt":89.6,"transit_local":"09:50","verdict":"unknown","weather_source":"none","weekday":"Thu"},{"best_hours":0.67,"best_label":"marginal","best_window":"03:10\u201303:50","dark_hours":5.05,"date":"2040-05-25","moon_free_dark_hours":0.0,"moon_illumination":100,"moon_separation":136.0,"score":null,"score_astronomy":9,"score_weather":null,"transit_alt":89.6,"transit_local":"09:50","verdict":"unknown","weather_source":"none","weekday":"Fri"},{"best_hours":1.58,"best_label":"marginal","best_window":"03:05\u201304:40","dark_hours":5.01,"date":"2040-05-26","moon_free_dark_hours":0.0,"moon_illumination":100,"moon_separation":127.1,"score":null,"score_astronomy":10,"score_weather":null,"transit_alt":89.8,"transit_local":"09:45","verdict":"unknown","weather_source":"none","weekday":"Sat"},{"best_hours":1.58,"best_label":"marginal","best_window":"03:05\u201304:40","dark_hours":4.97,"date":"2040-05-27","moon_free_dark_hours":0.0,"moon_illumination":97,"moon_separation":116.5,"score":null,"score_astronomy":11,"score_weather":null,"transit_alt":89.8,"transit_local":"09:40","verdict":"unknown","weather_source":"none","weekday":"Sun"}],"note":"score_astronomy for every night; score_weather/score only where a forecast (next 4 days) or ERA5 history exists \u2014 null otherwise","start":"2040-04-28","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}}
