{"calculation_version":"2026-10-10.1","days":30,"nights":[{"best_hours":0.42,"best_label":"good","best_window":"02:35\u201303:00","dark_hours":5.1,"date":"2025-07-17","moon_free_dark_hours":1.47,"moon_illumination":51,"moon_separation":30.6,"score":32,"score_astronomy":51,"score_weather":64,"transit_alt":89.7,"transit_local":"06:20","verdict":"poor","weather_source":"history","weekday":"Thu"},{"best_hours":3.67,"best_label":"good","best_window":"00:20\u201304:00","dark_hours":5.14,"date":"2025-07-18","moon_free_dark_hours":1.93,"moon_illumination":40,"moon_separation":31.1,"score":64,"score_astronomy":70,"score_weather":92,"transit_alt":89.6,"transit_local":"06:15","verdict":"marginal","weather_source":"history","weekday":"Fri"},{"best_hours":3.92,"best_label":"good","best_window":"00:10\u201304:05","dark_hours":5.19,"date":"2025-07-19","moon_free_dark_hours":2.53,"moon_illumination":29,"moon_separation":37.0,"score":82,"score_astronomy":82,"score_weather":100,"transit_alt":89.5,"transit_local":"06:15","verdict":"good","weather_source":"history","weekday":"Sat"},{"best_hours":4.0,"best_label":"good","best_window":"00:05\u201304:05","dark_hours":5.24,"date":"2025-07-20","moon_free_dark_hours":3.25,"moon_illumination":19,"moon_separation":46.3,"score":92,"score_astronomy":92,"score_weather":100,"transit_alt":89.6,"transit_local":"06:10","verdict":"good","weather_source":"history","weekday":"Sun"},{"best_hours":4.17,"best_label":"good","best_window":"00:00\u201304:10","dark_hours":5.28,"date":"2025-07-21","moon_free_dark_hours":4.17,"moon_illumination":11,"moon_separation":57.3,"score":97,"score_astronomy":97,"score_weather":100,"transit_alt":89.7,"transit_local":"06:05","verdict":"good","weather_source":"history","weekday":"Mon"},{"best_hours":4.25,"best_label":"good","best_window":"23:55\u201304:10","dark_hours":5.33,"date":"2025-07-22","moon_free_dark_hours":5.27,"moon_illumination":5,"moon_separation":69.1,"score":100,"score_astronomy":100,"score_weather":100,"transit_alt":89.7,"transit_local":"06:00","verdict":"good","weather_source":"history","weekday":"Tue"},{"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"}],"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-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}}
