← single night · whole-night plan
Which nights are best for a target over the coming weeks. The astronomy mark (darkness × altitude × Moon) is computed for every night; the weather and the overall mark exist only where Open-Meteo has a forecast (the next four days) or ERA5 history (past nights) — the rest is honestly blank.
| night of | astronomy | weather | overall | best window | highest | dark h | Moon | Moon sep. |
|---|---|---|---|---|---|---|---|---|
| 2030-10-23 Wed | 89 | — | unknown | 01:35–06:15 (good, 4.67 h) | 42.9° 04:50 | 10.16 | 11% | 86.3° |
| 2030-10-24 Thu | 89 | — | unknown | 01:30–06:15 (good, 4.75 h) | 42.9° 04:45 | 10.2 | 5% | 98.7° |
| 2030-10-25 Fri | 89 | — | unknown | 01:25–06:15 (good, 4.83 h) | 42.9° 04:40 | 10.24 | 1% | 111.3° |
| 2030-10-26 Sat | 89 | — | unknown | 01:20–05:15 (good, 4.92 h) | 42.9° 03:35 | 10.28 | 0% | 123.9° |
| 2030-10-27 Sun | 89 | — | unknown | 00:20–05:15 (good, 4.92 h) | 42.9° 03:30 | 10.32 | 2% | 135.8° |
| 2030-10-28 Mon | 89 | — | unknown | 00:15–05:20 (good, 5.08 h) | 42.9° 03:30 | 10.35 | 6% | 145.9° |
| 2030-10-29 Tue | 89 | — | unknown | 00:10–05:20 (good, 5.17 h) | 42.9° 03:25 | 10.39 | 13% | 152.1° |
| 2030-10-30 Wed | 89 | — | unknown | 00:05–05:20 (good, 5.25 h) | 42.9° 03:20 | 10.43 | 22% | 151.7° |
| 2030-10-31 Thu | 89 | — | unknown | 00:00–05:20 (good, 5.33 h) | 42.9° 03:15 | 10.47 | 32% | 145.3° |
| 2030-11-01 Fri | 89 | — | unknown | 00:00–05:20 (good, 5.33 h) | 42.9° 03:10 | 10.5 | 44% | 135.6° |
| 2030-11-02 Sat | 89 | — | unknown | 23:55–05:25 (good, 5.5 h) | 42.9° 03:10 | 10.54 | 55% | 124.6° |
| 2030-11-03 Sun | 89 | — | unknown | 00:00–05:25 (good, 5.42 h) | 42.9° 03:05 | 10.57 | 65% | 113.2° |
| 2030-11-04 Mon | 89 | — | unknown | 00:05–05:25 (good, 5.33 h) | 42.9° 03:00 | 10.61 | 75% | 101.7° |
| 2030-11-05 Tue | 89 | — | unknown | 00:15–05:25 (good, 5.17 h) | 42.9° 02:55 | 10.64 | 83% | 90.2° |
| 2030-11-06 Wed | 86 | — | unknown | 01:30–05:30 (good, 4.0 h) | 42.9° 02:55 | 10.68 | 90% | 79.0° |
| 2030-11-07 Thu | 73 | — | unknown | 04:00–05:30 (good, 1.5 h) | 42.9° 02:50 | 10.71 | 95% | 68.0° |
| 2030-11-08 Fri | 39 | — | unknown | 23:45–05:30 (marginal, 5.75 h) | 42.9° 02:45 | 10.74 | 98% | 57.5° |
| 2030-11-09 Sat | 26 | — | unknown | 00:40–05:30 (marginal, 4.83 h) | 42.9° 02:40 | 10.78 | 100% | 47.6° |
| 2030-11-10 Sun | 18 | — | unknown | 03:05–05:30 (marginal, 2.42 h) | 42.9° 02:35 | 10.81 | 99% | 38.7° |
| 2030-11-11 Mon | 12 | — | unknown | — | 42.9° 02:35 | 10.84 | 97% | 31.5° |
| 2030-11-12 Tue | 12 | — | unknown | — | 42.9° 02:30 | 10.87 | 93% | 27.5° |
| 2030-11-13 Wed | 17 | — | unknown | 23:30–01:30 (marginal, 2.0 h) | 42.9° 02:25 | 10.9 | 88% | 27.9° |
| 2030-11-14 Thu | 26 | — | unknown | 23:00–05:20 (marginal, 6.33 h) | 42.9° 02:20 | 10.93 | 81% | 32.6° |
| 2030-11-15 Fri | 41 | — | unknown | 22:40–05:35 (marginal, 6.92 h) | 42.9° 02:15 | 10.96 | 73% | 40.1° |
| 2030-11-16 Sat | 59 | — | unknown | 23:55–00:50 (good, 0.92 h) | 42.9° 02:15 | 10.99 | 64% | 49.2° |
| 2030-11-17 Sun | 79 | — | unknown | 22:55–04:15 (good, 5.33 h) | 42.9° 02:10 | 11.02 | 54% | 59.3° |
| 2030-11-18 Mon | 85 | — | unknown | 22:50–05:00 (good, 6.17 h) | 42.9° 02:05 | 11.04 | 44% | 70.1° |
| 2030-11-19 Tue | 88 | — | unknown | 22:45–05:10 (good, 6.42 h) | 42.9° 02:00 | 11.07 | 34% | 81.5° |
| 2030-11-20 Wed | 89 | — | unknown | 22:45–05:10 (good, 6.42 h) | 42.9° 02:00 | 11.1 | 24% | 93.4° |
| 2030-11-21 Thu | 89 | — | unknown | 22:40–05:10 (good, 6.5 h) | 42.9° 01:55 | 11.12 | 16% | 105.7° |
curl -sS "https://devops.majbase.com/rozhen-planner/calendar-api?target=M31&date=2030-10-23&days=30"
curl -sS "https://devops.majbase.com/rozhen-planner/calendar-api?target=M31&days=30&format=csv" -o m31-calendar.csv
One row per night: score_astronomy always, score_weather / score only where a forecast or history exists (null otherwise, with weather_source saying which), best window, dark hours, Moon illumination and separation, transit. 7–60 nights. Errors: 400 with invalid_date or target_unresolved. Results are cached for six hours; calculation version 2026-10-10.1.