{"calculation_version":"2026-10-10.1","days":30,"nights":[{"best_hours":0.67,"best_label":"good","best_window":"03:00\u201303:40","dark_hours":4.57,"date":"2025-06-08","moon_free_dark_hours":0.0,"moon_illumination":95,"moon_separation":143.4,"score":24,"score_astronomy":24,"score_weather":100,"transit_alt":89.6,"transit_local":"08:55","verdict":"poor","weather_source":"history","weekday":"Sun"},{"best_hours":0.75,"best_label":"good","best_window":"02:55\u201303:40","dark_hours":4.55,"date":"2025-06-09","moon_free_dark_hours":0.0,"moon_illumination":98,"moon_separation":136.1,"score":23,"score_astronomy":24,"score_weather":97,"transit_alt":89.7,"transit_local":"08:50","verdict":"poor","weather_source":"history","weekday":"Mon"},{"best_hours":0.5,"best_label":"marginal","best_window":"03:10\u201303:40","dark_hours":4.53,"date":"2025-06-10","moon_free_dark_hours":0.0,"moon_illumination":100,"moon_separation":127.2,"score":10,"score_astronomy":25,"score_weather":39,"transit_alt":89.7,"transit_local":"08:45","verdict":"poor","weather_source":"history","weekday":"Tue"},{"best_hours":0.58,"best_label":"good","best_window":"03:05\u201303:40","dark_hours":4.51,"date":"2025-06-11","moon_free_dark_hours":0.0,"moon_illumination":100,"moon_separation":117.4,"score":23,"score_astronomy":25,"score_weather":90,"transit_alt":89.5,"transit_local":"08:40","verdict":"poor","weather_source":"history","weekday":"Wed"},{"best_hours":0.75,"best_label":"good","best_window":"02:55\u201303:40","dark_hours":4.49,"date":"2025-06-12","moon_free_dark_hours":0.0,"moon_illumination":97,"moon_separation":107.0,"score":23,"score_astronomy":23,"score_weather":100,"transit_alt":89.5,"transit_local":"08:40","verdict":"poor","weather_source":"history","weekday":"Thu"},{"best_hours":0.67,"best_label":"good","best_window":"03:00\u201303:40","dark_hours":4.47,"date":"2025-06-13","moon_free_dark_hours":0.2,"moon_illumination":93,"moon_separation":96.2,"score":20,"score_astronomy":22,"score_weather":93,"transit_alt":89.7,"transit_local":"08:35","verdict":"poor","weather_source":"history","weekday":"Fri"},{"best_hours":1.67,"best_label":"marginal","best_window":"02:00\u201303:40","dark_hours":4.46,"date":"2025-06-14","moon_free_dark_hours":0.78,"moon_illumination":87,"moon_separation":85.2,"score":15,"score_astronomy":20,"score_weather":74,"transit_alt":89.7,"transit_local":"08:30","verdict":"poor","weather_source":"history","weekday":"Sat"},{"best_hours":1.67,"best_label":"marginal","best_window":"02:00\u201303:40","dark_hours":4.45,"date":"2025-06-15","moon_free_dark_hours":1.25,"moon_illumination":79,"moon_separation":74.0,"score":19,"score_astronomy":20,"score_weather":94,"transit_alt":89.6,"transit_local":"08:25","verdict":"poor","weather_source":"history","weekday":"Sun"},{"best_hours":0.42,"best_label":"good","best_window":"03:15\u201303:40","dark_hours":4.44,"date":"2025-06-16","moon_free_dark_hours":1.67,"moon_illumination":70,"moon_separation":62.9,"score":20,"score_astronomy":20,"score_weather":100,"transit_alt":89.5,"transit_local":"08:20","verdict":"poor","weather_source":"history","weekday":"Mon"},{"best_hours":0.92,"best_label":"good","best_window":"02:45\u201303:40","dark_hours":4.43,"date":"2025-06-17","moon_free_dark_hours":2.02,"moon_illumination":60,"moon_separation":52.1,"score":22,"score_astronomy":22,"score_weather":100,"transit_alt":89.6,"transit_local":"08:20","verdict":"poor","weather_source":"history","weekday":"Tue"},{"best_hours":1.08,"best_label":"good","best_window":"02:35\u201303:40","dark_hours":4.43,"date":"2025-06-18","moon_free_dark_hours":2.38,"moon_illumination":49,"moon_separation":42.1,"score":24,"score_astronomy":24,"score_weather":100,"transit_alt":89.7,"transit_local":"08:15","verdict":"poor","weather_source":"history","weekday":"Wed"},{"best_hours":1.25,"best_label":"good","best_window":"02:25\u201303:40","dark_hours":4.42,"date":"2025-06-19","moon_free_dark_hours":2.75,"moon_illumination":37,"moon_separation":34.2,"score":29,"score_astronomy":29,"score_weather":100,"transit_alt":89.7,"transit_local":"08:10","verdict":"poor","weather_source":"history","weekday":"Thu"},{"best_hours":1.25,"best_label":"good","best_window":"02:25\u201303:40","dark_hours":4.42,"date":"2025-06-20","moon_free_dark_hours":3.15,"moon_illumination":26,"moon_separation":30.4,"score":32,"score_astronomy":35,"score_weather":90,"transit_alt":89.6,"transit_local":"08:05","verdict":"poor","weather_source":"history","weekday":"Fri"},{"best_hours":1.67,"best_label":"good","best_window":"02:00\u201303:40","dark_hours":4.42,"date":"2025-06-21","moon_free_dark_hours":3.65,"moon_illumination":17,"moon_separation":32.5,"score":40,"score_astronomy":41,"score_weather":98,"transit_alt":89.5,"transit_local":"08:05","verdict":"marginal","weather_source":"history","weekday":"Sat"},{"best_hours":1.75,"best_label":"good","best_window":"01:55\u201303:40","dark_hours":4.42,"date":"2025-06-22","moon_free_dark_hours":4.27,"moon_illumination":9,"moon_separation":39.7,"score":47,"score_astronomy":47,"score_weather":100,"transit_alt":89.6,"transit_local":"08:00","verdict":"marginal","weather_source":"history","weekday":"Sun"},{"best_hours":1.83,"best_label":"good","best_window":"01:50\u201303:40","dark_hours":4.43,"date":"2025-06-23","moon_free_dark_hours":4.42,"moon_illumination":3,"moon_separation":49.9,"score":49,"score_astronomy":49,"score_weather":100,"transit_alt":89.7,"transit_local":"07:55","verdict":"marginal","weather_source":"history","weekday":"Mon"},{"best_hours":1.92,"best_label":"good","best_window":"01:45\u201303:40","dark_hours":4.44,"date":"2025-06-24","moon_free_dark_hours":4.42,"moon_illumination":1,"moon_separation":61.5,"score":50,"score_astronomy":50,"score_weather":100,"transit_alt":89.7,"transit_local":"07:50","verdict":"marginal","weather_source":"history","weekday":"Tue"},{"best_hours":1.92,"best_label":"good","best_window":"01:45\u201303:40","dark_hours":4.45,"date":"2025-06-25","moon_free_dark_hours":4.43,"moon_illumination":0,"moon_separation":73.6,"score":53,"score_astronomy":53,"score_weather":100,"transit_alt":89.5,"transit_local":"07:45","verdict":"marginal","weather_source":"history","weekday":"Wed"},{"best_hours":2.0,"best_label":"good","best_window":"01:40\u201303:40","dark_hours":4.46,"date":"2025-06-26","moon_free_dark_hours":4.43,"moon_illumination":3,"moon_separation":85.8,"score":55,"score_astronomy":55,"score_weather":100,"transit_alt":89.5,"transit_local":"07:45","verdict":"marginal","weather_source":"history","weekday":"Thu"},{"best_hours":1.33,"best_label":"good","best_window":"01:40\u201303:00","dark_hours":4.47,"date":"2025-06-27","moon_free_dark_hours":4.45,"moon_illumination":8,"moon_separation":97.7,"score":38,"score_astronomy":56,"score_weather":68,"transit_alt":89.7,"transit_local":"07:40","verdict":"poor","weather_source":"history","weekday":"Fri"},{"best_hours":0.67,"best_label":"good","best_window":"03:00\u201303:40","dark_hours":4.48,"date":"2025-06-28","moon_free_dark_hours":4.18,"moon_illumination":15,"moon_separation":109.2,"score":26,"score_astronomy":58,"score_weather":45,"transit_alt":89.7,"transit_local":"07:35","verdict":"poor","weather_source":"history","weekday":"Sat"},{"best_hours":2.17,"best_label":"good","best_window":"01:30\u201303:40","dark_hours":4.5,"date":"2025-06-29","moon_free_dark_hours":3.78,"moon_illumination":23,"moon_separation":120.0,"score":60,"score_astronomy":60,"score_weather":100,"transit_alt":89.6,"transit_local":"07:30","verdict":"marginal","weather_source":"history","weekday":"Sun"},{"best_hours":2.33,"best_label":"good","best_window":"01:25\u201303:45","dark_hours":4.52,"date":"2025-06-30","moon_free_dark_hours":3.47,"moon_illumination":32,"moon_separation":129.9,"score":58,"score_astronomy":63,"score_weather":92,"transit_alt":89.5,"transit_local":"07:25","verdict":"marginal","weather_source":"history","weekday":"Mon"},{"best_hours":2.33,"best_label":"good","best_window":"01:25\u201303:45","dark_hours":4.54,"date":"2025-07-01","moon_free_dark_hours":3.17,"moon_illumination":42,"moon_separation":138.6,"score":64,"score_astronomy":65,"score_weather":98,"transit_alt":89.6,"transit_local":"07:25","verdict":"marginal","weather_source":"history","weekday":"Tue"},{"best_hours":2.5,"best_label":"good","best_window":"01:15\u201303:45","dark_hours":4.56,"date":"2025-07-02","moon_free_dark_hours":2.87,"moon_illumination":51,"moon_separation":145.4,"score":66,"score_astronomy":66,"score_weather":100,"transit_alt":89.7,"transit_local":"07:20","verdict":"marginal","weather_source":"history","weekday":"Wed"},{"best_hours":2.58,"best_label":"good","best_window":"01:10\u201303:45","dark_hours":4.59,"date":"2025-07-03","moon_free_dark_hours":2.57,"moon_illumination":61,"moon_separation":149.3,"score":68,"score_astronomy":68,"score_weather":100,"transit_alt":89.7,"transit_local":"07:15","verdict":"marginal","weather_source":"history","weekday":"Thu"},{"best_hours":2.5,"best_label":"good","best_window":"01:15\u201303:45","dark_hours":4.62,"date":"2025-07-04","moon_free_dark_hours":2.23,"moon_illumination":70,"moon_separation":149.2,"score":70,"score_astronomy":70,"score_weather":100,"transit_alt":89.6,"transit_local":"07:10","verdict":"good","weather_source":"history","weekday":"Fri"},{"best_hours":2.67,"best_label":"good","best_window":"01:10\u201303:50","dark_hours":4.64,"date":"2025-07-05","moon_free_dark_hours":1.83,"moon_illumination":78,"moon_separation":145.3,"score":73,"score_astronomy":73,"score_weather":100,"transit_alt":89.5,"transit_local":"07:10","verdict":"good","weather_source":"history","weekday":"Sat"},{"best_hours":2.67,"best_label":"good","best_window":"01:10\u201303:50","dark_hours":4.67,"date":"2025-07-06","moon_free_dark_hours":1.33,"moon_illumination":85,"moon_separation":138.5,"score":74,"score_astronomy":74,"score_weather":100,"transit_alt":89.6,"transit_local":"07:05","verdict":"good","weather_source":"history","weekday":"Sun"},{"best_hours":2.75,"best_label":"good","best_window":"01:05\u201303:50","dark_hours":4.7,"date":"2025-07-07","moon_free_dark_hours":0.72,"moon_illumination":91,"moon_separation":130.0,"score":74,"score_astronomy":74,"score_weather":99,"transit_alt":89.7,"transit_local":"07:00","verdict":"good","weather_source":"history","weekday":"Mon"}],"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-06-08","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}}
