← 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. |
|---|---|---|---|---|---|---|---|---|
| 2026-05-28 Thu | 14 | 97 | 14 | 22:50–01:20 (marginal, 2.5 h) | 50.2° 21:25 | 4.95 | 94% | 36.1° |
| 2026-05-29 Fri | 18 | 87 | 16 | 22:55–01:15 (marginal, 2.33 h) | 50.2° 21:20 | 4.91 | 98% | 47.9° |
| 2026-05-30 Sat | 22 | 60 | 13 | 22:55–00:00 (marginal, 1.08 h) | 50.2° 21:20 | 4.87 | 100% | 59.6° |
| 2026-05-31 Sun | 27 | 89 | 24 | 22:55–01:25 (marginal, 2.5 h) | 50.2° 21:15 | 4.83 | 100% | 71.3° |
| 2026-06-01 Mon | 32 | 64 | 21 | 23:00–01:00 (marginal, 2.0 h) | 50.2° 21:10 | 4.79 | 98% | 83.1° |
| 2026-06-02 Tue | 45 | 92 | 41 | 23:00–00:35 (good, 1.58 h) | 50.2° 21:05 | 4.76 | 94% | 94.8° |
| 2026-06-03 Wed | 47 | 89 | 42 | 23:00–00:25 (good, 1.42 h) | 50.2° 21:05 | 4.73 | 89% | 106.6° |
| 2026-06-04 Thu | 48 | 81 | 39 | 23:00–00:35 (good, 1.58 h) | 50.2° 21:00 | 4.69 | 82% | 118.5° |
| 2026-06-05 Fri | 46 | 75 | 35 | 23:00–00:00 (good, 1.0 h) | 50.2° 20:55 | 4.66 | 74% | 130.5° |
| 2026-06-06 Sat | 44 | 84 | 37 | 23:05–00:25 (good, 1.33 h) | 50.2° 20:50 | 4.63 | 65% | 142.7° |
| 2026-06-07 Sun | 42 | 89 | 37 | 23:05–00:35 (good, 1.5 h) | 50.2° 20:45 | 4.61 | 55% | 154.9° |
| 2026-06-08 Mon | 41 | 0 | 0 | — | 50.2° 20:45 | 4.58 | 45% | 166.7° |
| 2026-06-09 Tue | 39 | 97 | 38 | 23:05–00:30 (good, 1.42 h) | 50.2° 20:40 | 4.56 | 34% | 172.1° |
| 2026-06-10 Wed | 38 | 89 | 34 | 23:05–00:20 (good, 1.25 h) | 50.2° 20:35 | 4.53 | 24% | 162.1° |
| 2026-06-11 Thu | 35 | 71 | 25 | 23:10–00:00 (good, 0.83 h) | 50.2° 20:30 | 4.51 | 15% | 148.6° |
| 2026-06-12 Fri | 34 | 0 | 0 | — | 50.2° 20:25 | 4.49 | 7% | 134.1° |
| 2026-06-13 Sat | 33 | 91 | 30 | 23:10–00:15 (good, 1.08 h) | 50.2° 20:25 | 4.48 | 2% | 119.3° |
| 2026-06-14 Sun | 31 | 98 | 30 | 23:10–00:05 (good, 0.92 h) | 50.2° 20:20 | 4.46 | 0% | 104.2° |
| 2026-06-15 Mon | 29 | 76 | 22 | 23:10–23:40 (good, 0.5 h) | 50.2° 20:15 | 4.45 | 1% | 89.1° |
| 2026-06-16 Tue | 28 | 0 | 0 | — | 50.2° 20:10 | 4.44 | 5% | 74.2° |
| 2026-06-17 Wed | 26 | 0 | 0 | — | 50.2° 20:10 | 4.43 | 12% | 59.6° |
| 2026-06-18 Thu | 22 | 81 | 18 | 23:10–23:35 (good, 0.42 h) | 50.2° 20:05 | 4.43 | 20% | 45.4° |
| 2026-06-19 Fri | 18 | 83 | 15 | 23:10–00:20 (marginal, 1.17 h) | 50.2° 20:00 | 4.42 | 30% | 31.8° |
| 2026-06-20 Sat | 14 | 94 | 13 | 23:15–23:20 (good, 0.08 h) | 50.2° 19:55 | 4.42 | 40% | 19.1° |
| 2026-06-21 Sun | 11 | 98 | 11 | 23:15–00:10 (marginal, 0.92 h) | 50.2° 19:50 | 4.42 | 50% | 8.9° |
| 2026-06-22 Mon | 8 | 90 | 7 | 23:15–00:00 (marginal, 0.75 h) | 50.2° 19:50 | 4.42 | 60% | 11.1° |
| 2026-06-23 Tue | 6 | 30 | 2 | — | 50.2° 19:45 | 4.43 | 70% | 21.7° |
| 2026-06-24 Wed | 5 | 67 | 3 | 23:15–23:35 (marginal, 0.33 h) | 50.2° 19:40 | 4.43 | 78% | 33.3° |
| 2026-06-25 Thu | 5 | 81 | 4 | 23:15–23:35 (marginal, 0.33 h) | 50.2° 19:35 | 4.44 | 86% | 45.1° |
| 2026-06-26 Fri | 5 | 88 | 4 | 23:15–23:40 (marginal, 0.42 h) | 50.2° 19:30 | 4.45 | 92% | 56.8° |
curl -sS "https://devops.majbase.com/rozhen-planner/calendar-api?target=M31&date=2026-05-28&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.