{"calculation_version":"2026-10-10.1","days":30,"nights":[{"best_hours":3.17,"best_label":"good","best_window":"19:15\u201322:25","dark_hours":10.72,"date":"2030-02-02","moon_free_dark_hours":10.72,"moon_illumination":0,"moon_separation":71.4,"score":null,"score_astronomy":80,"score_weather":null,"transit_alt":89.7,"transit_local":"16:15","verdict":"unknown","weather_source":"none","weekday":"Sat"},{"best_hours":3.08,"best_label":"good","best_window":"19:15\u201322:20","dark_hours":10.69,"date":"2030-02-03","moon_free_dark_hours":10.68,"moon_illumination":2,"moon_separation":60.1,"score":null,"score_astronomy":78,"score_weather":null,"transit_alt":89.7,"transit_local":"16:10","verdict":"unknown","weather_source":"none","weekday":"Sun"},{"best_hours":2.92,"best_label":"good","best_window":"19:20\u201322:15","dark_hours":10.65,"date":"2030-02-04","moon_free_dark_hours":10.07,"moon_illumination":6,"moon_separation":49.6,"score":null,"score_astronomy":73,"score_weather":null,"transit_alt":89.6,"transit_local":"16:05","verdict":"unknown","weather_source":"none","weekday":"Mon"},{"best_hours":2.83,"best_label":"good","best_window":"19:20\u201322:10","dark_hours":10.62,"date":"2030-02-05","moon_free_dark_hours":8.98,"moon_illumination":12,"moon_separation":40.4,"score":null,"score_astronomy":67,"score_weather":null,"transit_alt":89.5,"transit_local":"16:00","verdict":"unknown","weather_source":"none","weekday":"Tue"},{"best_hours":2.75,"best_label":"good","best_window":"19:20\u201322:05","dark_hours":10.58,"date":"2030-02-06","moon_free_dark_hours":7.93,"moon_illumination":19,"moon_separation":33.3,"score":null,"score_astronomy":58,"score_weather":null,"transit_alt":89.6,"transit_local":"16:00","verdict":"unknown","weather_source":"none","weekday":"Wed"},{"best_hours":2.5,"best_label":"good","best_window":"19:20\u201321:50","dark_hours":10.55,"date":"2030-02-07","moon_free_dark_hours":6.9,"moon_illumination":27,"moon_separation":29.4,"score":null,"score_astronomy":48,"score_weather":null,"transit_alt":89.7,"transit_local":"15:55","verdict":"unknown","weather_source":"none","weekday":"Thu"},{"best_hours":2.25,"best_label":"good","best_window":"19:20\u201321:35","dark_hours":10.51,"date":"2030-02-08","moon_free_dark_hours":5.88,"moon_illumination":36,"moon_separation":29.9,"score":null,"score_astronomy":38,"score_weather":null,"transit_alt":89.7,"transit_local":"15:50","verdict":"unknown","weather_source":"none","weekday":"Fri"},{"best_hours":1.17,"best_label":"good","best_window":"19:25\u201320:35","dark_hours":10.48,"date":"2030-02-09","moon_free_dark_hours":4.88,"moon_illumination":45,"moon_separation":34.3,"score":null,"score_astronomy":31,"score_weather":null,"transit_alt":89.6,"transit_local":"15:45","verdict":"unknown","weather_source":"none","weekday":"Sat"},{"best_hours":2.92,"best_label":"marginal","best_window":"19:25\u201322:20","dark_hours":10.44,"date":"2030-02-10","moon_free_dark_hours":3.9,"moon_illumination":54,"moon_separation":41.4,"score":null,"score_astronomy":25,"score_weather":null,"transit_alt":89.5,"transit_local":"15:45","verdict":"unknown","weather_source":"none","weekday":"Sun"},{"best_hours":2.75,"best_label":"marginal","best_window":"19:25\u201322:10","dark_hours":10.4,"date":"2030-02-11","moon_free_dark_hours":2.97,"moon_illumination":64,"moon_separation":50.0,"score":null,"score_astronomy":21,"score_weather":null,"transit_alt":89.7,"transit_local":"15:40","verdict":"unknown","weather_source":"none","weekday":"Mon"},{"best_hours":2.58,"best_label":"marginal","best_window":"19:25\u201322:00","dark_hours":10.36,"date":"2030-02-12","moon_free_dark_hours":2.08,"moon_illumination":72,"moon_separation":59.7,"score":null,"score_astronomy":20,"score_weather":null,"transit_alt":89.7,"transit_local":"15:35","verdict":"unknown","weather_source":"none","weekday":"Tue"},{"best_hours":2.42,"best_label":"marginal","best_window":"19:30\u201321:55","dark_hours":10.32,"date":"2030-02-13","moon_free_dark_hours":1.3,"moon_illumination":81,"moon_separation":70.0,"score":null,"score_astronomy":20,"score_weather":null,"transit_alt":89.7,"transit_local":"15:30","verdict":"unknown","weather_source":"none","weekday":"Wed"},{"best_hours":2.42,"best_label":"marginal","best_window":"19:30\u201321:55","dark_hours":10.28,"date":"2030-02-14","moon_free_dark_hours":0.6,"moon_illumination":88,"moon_separation":80.9,"score":null,"score_astronomy":22,"score_weather":null,"transit_alt":89.5,"transit_local":"15:25","verdict":"unknown","weather_source":"none","weekday":"Thu"},{"best_hours":0.67,"best_label":"good","best_window":"19:30\u201320:10","dark_hours":10.24,"date":"2030-02-15","moon_free_dark_hours":0.0,"moon_illumination":94,"moon_separation":92.1,"score":null,"score_astronomy":25,"score_weather":null,"transit_alt":89.6,"transit_local":"15:25","verdict":"unknown","weather_source":"none","weekday":"Fri"},{"best_hours":1.5,"best_label":"good","best_window":"19:30\u201321:00","dark_hours":10.2,"date":"2030-02-16","moon_free_dark_hours":0.0,"moon_illumination":98,"moon_separation":103.6,"score":null,"score_astronomy":30,"score_weather":null,"transit_alt":89.7,"transit_local":"15:20","verdict":"unknown","weather_source":"none","weekday":"Sat"},{"best_hours":1.58,"best_label":"good","best_window":"19:30\u201321:05","dark_hours":10.16,"date":"2030-02-17","moon_free_dark_hours":0.0,"moon_illumination":100,"moon_separation":115.2,"score":null,"score_astronomy":34,"score_weather":null,"transit_alt":89.7,"transit_local":"15:15","verdict":"unknown","weather_source":"none","weekday":"Sun"},{"best_hours":1.58,"best_label":"good","best_window":"19:35\u201321:10","dark_hours":10.12,"date":"2030-02-18","moon_free_dark_hours":0.0,"moon_illumination":99,"moon_separation":126.5,"score":null,"score_astronomy":36,"score_weather":null,"transit_alt":89.6,"transit_local":"15:10","verdict":"unknown","weather_source":"none","weekday":"Mon"},{"best_hours":1.5,"best_label":"good","best_window":"19:35\u201321:05","dark_hours":10.08,"date":"2030-02-19","moon_free_dark_hours":0.23,"moon_illumination":96,"moon_separation":137.1,"score":null,"score_astronomy":40,"score_weather":null,"transit_alt":89.5,"transit_local":"15:05","verdict":"unknown","weather_source":"none","weekday":"Tue"},{"best_hours":1.5,"best_label":"good","best_window":"19:35\u201321:05","dark_hours":10.04,"date":"2030-02-20","moon_free_dark_hours":1.42,"moon_illumination":91,"moon_separation":145.8,"score":null,"score_astronomy":40,"score_weather":null,"transit_alt":89.6,"transit_local":"15:05","verdict":"unknown","weather_source":"none","weekday":"Wed"},{"best_hours":1.58,"best_label":"good","best_window":"19:35\u201321:10","dark_hours":10.0,"date":"2030-02-21","moon_free_dark_hours":2.62,"moon_illumination":83,"moon_separation":150.5,"score":null,"score_astronomy":39,"score_weather":null,"transit_alt":89.7,"transit_local":"15:00","verdict":"unknown","weather_source":"none","weekday":"Thu"},{"best_hours":1.42,"best_label":"good","best_window":"19:40\u201321:05","dark_hours":9.95,"date":"2030-02-22","moon_free_dark_hours":3.82,"moon_illumination":74,"moon_separation":149.3,"score":null,"score_astronomy":36,"score_weather":null,"transit_alt":89.7,"transit_local":"14:55","verdict":"unknown","weather_source":"none","weekday":"Fri"},{"best_hours":1.33,"best_label":"good","best_window":"19:40\u201321:00","dark_hours":9.91,"date":"2030-02-23","moon_free_dark_hours":5.02,"moon_illumination":63,"moon_separation":142.8,"score":null,"score_astronomy":35,"score_weather":null,"transit_alt":89.6,"transit_local":"14:50","verdict":"unknown","weather_source":"none","weekday":"Sat"},{"best_hours":1.25,"best_label":"good","best_window":"19:40\u201320:55","dark_hours":9.87,"date":"2030-02-24","moon_free_dark_hours":6.15,"moon_illumination":52,"moon_separation":133.3,"score":null,"score_astronomy":33,"score_weather":null,"transit_alt":89.5,"transit_local":"14:50","verdict":"unknown","weather_source":"none","weekday":"Sun"},{"best_hours":1.17,"best_label":"good","best_window":"19:40\u201320:50","dark_hours":9.82,"date":"2030-02-25","moon_free_dark_hours":7.17,"moon_illumination":40,"moon_separation":122.2,"score":null,"score_astronomy":31,"score_weather":null,"transit_alt":89.6,"transit_local":"14:45","verdict":"unknown","weather_source":"none","weekday":"Mon"},{"best_hours":1.08,"best_label":"good","best_window":"19:45\u201320:50","dark_hours":9.78,"date":"2030-02-26","moon_free_dark_hours":8.03,"moon_illumination":30,"moon_separation":110.6,"score":null,"score_astronomy":29,"score_weather":null,"transit_alt":89.7,"transit_local":"14:40","verdict":"unknown","weather_source":"none","weekday":"Tue"},{"best_hours":1.0,"best_label":"good","best_window":"19:45\u201320:45","dark_hours":9.74,"date":"2030-02-27","moon_free_dark_hours":8.78,"moon_illumination":20,"moon_separation":98.7,"score":null,"score_astronomy":28,"score_weather":null,"transit_alt":89.7,"transit_local":"14:35","verdict":"unknown","weather_source":"none","weekday":"Wed"},{"best_hours":0.92,"best_label":"good","best_window":"19:45\u201320:40","dark_hours":9.69,"date":"2030-02-28","moon_free_dark_hours":9.4,"moon_illumination":12,"moon_separation":86.8,"score":null,"score_astronomy":26,"score_weather":null,"transit_alt":89.6,"transit_local":"14:30","verdict":"unknown","weather_source":"none","weekday":"Thu"},{"best_hours":0.83,"best_label":"good","best_window":"19:45\u201320:35","dark_hours":9.65,"date":"2030-03-01","moon_free_dark_hours":9.63,"moon_illumination":6,"moon_separation":75.2,"score":null,"score_astronomy":25,"score_weather":null,"transit_alt":89.5,"transit_local":"14:30","verdict":"unknown","weather_source":"none","weekday":"Fri"},{"best_hours":0.83,"best_label":"good","best_window":"19:45\u201320:35","dark_hours":9.6,"date":"2030-03-02","moon_free_dark_hours":9.58,"moon_illumination":2,"moon_separation":63.9,"score":null,"score_astronomy":23,"score_weather":null,"transit_alt":89.7,"transit_local":"14:25","verdict":"unknown","weather_source":"none","weekday":"Sat"},{"best_hours":0.67,"best_label":"good","best_window":"19:50\u201320:30","dark_hours":9.55,"date":"2030-03-03","moon_free_dark_hours":9.55,"moon_illumination":0,"moon_separation":53.2,"score":null,"score_astronomy":21,"score_weather":null,"transit_alt":89.7,"transit_local":"14:20","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":"2030-02-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}}
