{"calculation_version":"2026-10-10.1","days":30,"nights":[{"best_hours":4.17,"best_label":"good","best_window":"00:00\u201304:10","dark_hours":5.38,"date":"2025-07-23","moon_free_dark_hours":5.37,"moon_illumination":1,"moon_separation":81.1,"score":97,"score_astronomy":100,"score_weather":97,"transit_alt":89.6,"transit_local":"05:55","verdict":"good","weather_source":"history","weekday":"Wed"},{"best_hours":4.42,"best_label":"good","best_window":"23:50\u201304:15","dark_hours":5.43,"date":"2025-07-24","moon_free_dark_hours":5.42,"moon_illumination":0,"moon_separation":93.1,"score":100,"score_astronomy":100,"score_weather":100,"transit_alt":89.5,"transit_local":"05:55","verdict":"good","weather_source":"history","weekday":"Thu"},{"best_hours":4.5,"best_label":"good","best_window":"23:45\u201304:15","dark_hours":5.48,"date":"2025-07-25","moon_free_dark_hours":5.47,"moon_illumination":2,"moon_separation":104.8,"score":100,"score_astronomy":100,"score_weather":100,"transit_alt":89.7,"transit_local":"05:50","verdict":"good","weather_source":"history","weekday":"Fri"},{"best_hours":4.58,"best_label":"good","best_window":"23:40\u201304:15","dark_hours":5.54,"date":"2025-07-26","moon_free_dark_hours":5.52,"moon_illumination":5,"moon_separation":116.0,"score":100,"score_astronomy":100,"score_weather":100,"transit_alt":89.7,"transit_local":"05:45","verdict":"good","weather_source":"history","weekday":"Sat"},{"best_hours":4.67,"best_label":"good","best_window":"23:40\u201304:20","dark_hours":5.59,"date":"2025-07-27","moon_free_dark_hours":5.57,"moon_illumination":11,"moon_separation":126.5,"score":96,"score_astronomy":100,"score_weather":96,"transit_alt":89.6,"transit_local":"05:40","verdict":"good","weather_source":"history","weekday":"Sun"},{"best_hours":4.75,"best_label":"good","best_window":"23:35\u201304:20","dark_hours":5.64,"date":"2025-07-28","moon_free_dark_hours":5.63,"moon_illumination":18,"moon_separation":135.9,"score":99,"score_astronomy":100,"score_weather":99,"transit_alt":89.5,"transit_local":"05:35","verdict":"good","weather_source":"history","weekday":"Mon"},{"best_hours":4.33,"best_label":"good","best_window":"00:00\u201304:20","dark_hours":5.7,"date":"2025-07-29","moon_free_dark_hours":5.42,"moon_illumination":26,"moon_separation":143.6,"score":95,"score_astronomy":100,"score_weather":95,"transit_alt":89.6,"transit_local":"05:35","verdict":"good","weather_source":"history","weekday":"Tue"},{"best_hours":0.0,"best_label":null,"best_window":null,"dark_hours":5.75,"date":"2025-07-30","moon_free_dark_hours":5.13,"moon_illumination":35,"moon_separation":148.6,"score":0,"score_astronomy":100,"score_weather":0,"transit_alt":89.7,"transit_local":"05:30","verdict":"unusable","weather_source":"history","weekday":"Wed"},{"best_hours":0.42,"best_label":"good","best_window":"04:00\u201304:25","dark_hours":5.81,"date":"2025-07-31","moon_free_dark_hours":4.8,"moon_illumination":44,"moon_separation":149.9,"score":10,"score_astronomy":100,"score_weather":10,"transit_alt":89.7,"transit_local":"05:25","verdict":"poor","weather_source":"history","weekday":"Thu"},{"best_hours":4.83,"best_label":"good","best_window":"23:35\u201304:25","dark_hours":5.86,"date":"2025-08-01","moon_free_dark_hours":4.45,"moon_illumination":54,"moon_separation":147.1,"score":86,"score_astronomy":100,"score_weather":86,"transit_alt":89.6,"transit_local":"05:20","verdict":"good","weather_source":"history","weekday":"Fri"},{"best_hours":5.08,"best_label":"good","best_window":"23:20\u201304:25","dark_hours":5.92,"date":"2025-08-02","moon_free_dark_hours":4.0,"moon_illumination":63,"moon_separation":141.1,"score":100,"score_astronomy":100,"score_weather":100,"transit_alt":89.5,"transit_local":"05:15","verdict":"good","weather_source":"history","weekday":"Sat"},{"best_hours":5.17,"best_label":"good","best_window":"23:20\u201304:30","dark_hours":5.97,"date":"2025-08-03","moon_free_dark_hours":3.47,"moon_illumination":72,"moon_separation":133.0,"score":99,"score_astronomy":100,"score_weather":99,"transit_alt":89.6,"transit_local":"05:15","verdict":"good","weather_source":"history","weekday":"Sun"},{"best_hours":2.0,"best_label":"good","best_window":"02:00\u201304:00","dark_hours":6.03,"date":"2025-08-04","moon_free_dark_hours":2.77,"moon_illumination":80,"moon_separation":123.8,"score":41,"score_astronomy":100,"score_weather":41,"transit_alt":89.7,"transit_local":"05:10","verdict":"marginal","weather_source":"history","weekday":"Mon"},{"best_hours":3.0,"best_label":"good","best_window":"00:00\u201303:00","dark_hours":6.08,"date":"2025-08-05","moon_free_dark_hours":1.9,"moon_illumination":88,"moon_separation":113.6,"score":71,"score_astronomy":100,"score_weather":71,"transit_alt":89.7,"transit_local":"05:05","verdict":"good","weather_source":"history","weekday":"Tue"},{"best_hours":2.58,"best_label":"good","best_window":"02:00\u201304:35","dark_hours":6.14,"date":"2025-08-06","moon_free_dark_hours":0.88,"moon_illumination":94,"moon_separation":102.9,"score":43,"score_astronomy":100,"score_weather":43,"transit_alt":89.6,"transit_local":"05:00","verdict":"marginal","weather_source":"history","weekday":"Wed"},{"best_hours":0.58,"best_label":"good","best_window":"04:00\u201304:35","dark_hours":6.2,"date":"2025-08-07","moon_free_dark_hours":0.0,"moon_illumination":98,"moon_separation":91.7,"score":29,"score_astronomy":82,"score_weather":35,"transit_alt":89.5,"transit_local":"05:00","verdict":"poor","weather_source":"history","weekday":"Thu"},{"best_hours":4.0,"best_label":"good","best_window":"00:35\u201304:35","dark_hours":6.25,"date":"2025-08-08","moon_free_dark_hours":0.0,"moon_illumination":100,"moon_separation":80.3,"score":73,"score_astronomy":73,"score_weather":100,"transit_alt":89.6,"transit_local":"04:55","verdict":"good","weather_source":"history","weekday":"Fri"},{"best_hours":2.0,"best_label":"good","best_window":"02:40\u201304:40","dark_hours":6.31,"date":"2025-08-09","moon_free_dark_hours":0.0,"moon_illumination":100,"moon_separation":68.7,"score":60,"score_astronomy":60,"score_weather":100,"transit_alt":89.7,"transit_local":"04:50","verdict":"marginal","weather_source":"history","weekday":"Sat"},{"best_hours":6.33,"best_label":"marginal","best_window":"22:20\u201304:40","dark_hours":6.37,"date":"2025-08-10","moon_free_dark_hours":0.0,"moon_illumination":97,"moon_separation":57.3,"score":46,"score_astronomy":46,"score_weather":100,"transit_alt":89.7,"transit_local":"04:45","verdict":"marginal","weather_source":"history","weekday":"Sun"},{"best_hours":6.42,"best_label":"marginal","best_window":"22:15\u201304:40","dark_hours":6.43,"date":"2025-08-11","moon_free_dark_hours":0.0,"moon_illumination":92,"moon_separation":46.5,"score":39,"score_astronomy":39,"score_weather":100,"transit_alt":89.5,"transit_local":"04:40","verdict":"poor","weather_source":"history","weekday":"Mon"},{"best_hours":6.5,"best_label":"marginal","best_window":"22:15\u201304:45","dark_hours":6.48,"date":"2025-08-12","moon_free_dark_hours":0.0,"moon_illumination":84,"moon_separation":37.2,"score":40,"score_astronomy":40,"score_weather":100,"transit_alt":89.6,"transit_local":"04:40","verdict":"marginal","weather_source":"history","weekday":"Tue"},{"best_hours":6.58,"best_label":"marginal","best_window":"22:10\u201304:45","dark_hours":6.54,"date":"2025-08-13","moon_free_dark_hours":0.3,"moon_illumination":75,"moon_separation":31.2,"score":51,"score_astronomy":51,"score_weather":100,"transit_alt":89.7,"transit_local":"04:35","verdict":"marginal","weather_source":"history","weekday":"Wed"},{"best_hours":0.33,"best_label":"good","best_window":"22:35\u201322:55","dark_hours":6.6,"date":"2025-08-14","moon_free_dark_hours":0.77,"moon_illumination":65,"moon_separation":30.3,"score":63,"score_astronomy":76,"score_weather":82,"transit_alt":89.7,"transit_local":"04:30","verdict":"marginal","weather_source":"history","weekday":"Thu"},{"best_hours":6.42,"best_label":"good","best_window":"22:25\u201304:50","dark_hours":6.66,"date":"2025-08-15","moon_free_dark_hours":1.32,"moon_illumination":53,"moon_separation":35.2,"score":83,"score_astronomy":83,"score_weather":100,"transit_alt":89.6,"transit_local":"04:25","verdict":"good","weather_source":"history","weekday":"Fri"},{"best_hours":6.5,"best_label":"good","best_window":"22:20\u201304:50","dark_hours":6.71,"date":"2025-08-16","moon_free_dark_hours":1.97,"moon_illumination":42,"moon_separation":43.8,"score":87,"score_astronomy":88,"score_weather":99,"transit_alt":89.5,"transit_local":"04:20","verdict":"good","weather_source":"history","weekday":"Sat"},{"best_hours":6.42,"best_label":"good","best_window":"22:25\u201304:50","dark_hours":6.77,"date":"2025-08-17","moon_free_dark_hours":2.82,"moon_illumination":31,"moon_separation":54.2,"score":90,"score_astronomy":94,"score_weather":96,"transit_alt":89.6,"transit_local":"04:20","verdict":"good","weather_source":"history","weekday":"Sun"},{"best_hours":1.0,"best_label":"good","best_window":"01:00\u201302:00","dark_hours":6.83,"date":"2025-08-18","moon_free_dark_hours":3.85,"moon_illumination":21,"moon_separation":65.6,"score":41,"score_astronomy":100,"score_weather":41,"transit_alt":89.7,"transit_local":"04:15","verdict":"marginal","weather_source":"history","weekday":"Mon"},{"best_hours":0.0,"best_label":null,"best_window":null,"dark_hours":6.89,"date":"2025-08-19","moon_free_dark_hours":5.03,"moon_illumination":13,"moon_separation":77.4,"score":0,"score_astronomy":100,"score_weather":0,"transit_alt":89.7,"transit_local":"04:10","verdict":"unusable","weather_source":"history","weekday":"Tue"},{"best_hours":6.83,"best_label":"good","best_window":"22:05\u201304:55","dark_hours":6.94,"date":"2025-08-20","moon_free_dark_hours":6.28,"moon_illumination":6,"moon_separation":89.2,"score":100,"score_astronomy":100,"score_weather":100,"transit_alt":89.6,"transit_local":"04:05","verdict":"good","weather_source":"history","weekday":"Wed"},{"best_hours":6.92,"best_label":"good","best_window":"22:00\u201304:55","dark_hours":7.0,"date":"2025-08-21","moon_free_dark_hours":6.98,"moon_illumination":2,"moon_separation":100.9,"score":100,"score_astronomy":100,"score_weather":100,"transit_alt":89.5,"transit_local":"04:05","verdict":"good","weather_source":"history","weekday":"Thu"}],"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-07-23","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}}
