O wyniku
Jak skracamy zachmurzenie, światło księżyca i ciemność astronomiczną do jednej liczby od 0 do 10 — i co świadomie pomijamy.
Pytanie
Czy dziś warto zależy od trzech rzeczy: ile widać nieba (chmury), jak ciemno jest (słońce i księżyc) i gdzie jesteś (zanieczyszczenie świetlne). Wynik łączy dwie pierwsze. Zanieczyszczenie świetlne kształtuje to, co widać z Twojej lokalizacji, ale nie wchodzi do liczby.
Trzy wyniki na noc
- Główny — Średnia z całego okna ciemności astronomicznej (słońce ≥ 18° pod horyzontem). Uczciwa odpowiedź na pytanie „jak dobra jest noc jako całość”.
- Szczyt 2 h — Najlepsze dwugodzinne okno nocy. Użyj go, gdy masz tylko chwilę na wyjście.
- Prime 21–01 — To, co naprawdę otrzymasz, jeśli wyjdziesz około 21:00 i wrócisz około 01:00, niezależnie od tego, kiedy zaczyna się ciemność astronomiczna.
Wzór
Wynik łączy klarowność (część nieba bez chmur) i ciemność (jak słabo księżyc rozjaśnia niebo) z miękką bramką widoczności.
score = visibility × (clearness × 0.6 + darkness × 0.4) / 10 clearness = 100 − cloudCover% darkness = 100 − moonPenalty visibility = min(1, clearness / 30)
Współczynnik widoczności uznaje, że chmury zamykają wszystko: jeśli niebo jest w większości zachmurzone, nawet idealnie ciemna noc nie zdobywa punktów. Powyżej 30% klarowności visibility = 1 i wzór redukuje się do zwykłej średniej ważonej. Poniżej 30% wynik liniowo spada do zera.
Kara księżycowa
Oświetlenie księżyca jest podzielone na progi, ze zniżką dla późnonocnych okien, w których księżyc zwykle już zachodzi.
- Mniej niż 25% oświetlenia (nów lub wąski sierp): brak kary.
- 25–75% oświetlenia (okolice kwadry): kara = oświetlenie × 0,5.
- Powyżej 75% oświetlenia (księżyc garbaty lub pełnia): kara = oświetlenie × 1,0.
- Jeśli okno zaczyna się między 00:00 a 03:00 ORAZ oświetlenie przekracza 50%, kara jest mnożona przez 0,6.
Czego nie ma w wyniku
- Zanieczyszczenie świetlne (klasa Bortle’a, na podstawie danych satelitarnych VIIRS) kształtuje listę „Widoczne dziś wieczorem” dla deep sky, nie liczbę.
- Wiatr, wilgotność i opady są widoczne na osi czasu po przewinięciu, ale nie zmieniają wyniku.
- Pewność prognozy. Nie obniżamy wyniku, gdy model pogody jest niepewny — ufamy prognozie i pozwalamy następnej aktualizacji ją skorygować.
Przykład: noc w pełni zachmurzona
Amsterdam · 5 maja 2026
moonPenalty(83, 23) = 83 × 1.0 = 83 clearness = 100 − 100 = 0 darkness = 100 − 83 = 17 visibility = min(1, 0 / 30) = 0 raw = 0 × (0×0.6 + 17×0.4) / 10 = 0.0
Przykład: świetna noc
To samo miejsce · czyste niebo, sierp księżyca
moonPenalty(15, 23) = 0 (< 25% bracket) clearness = 100 − 8 = 92 darkness = 100 − 0 = 100 visibility = min(1, 92 / 30) = 1 raw = 1 × (92×0.6 + 100×0.4) / 10 = 9.52
Źródła
- Open-Meteo: zachmurzenie godzinowe, godziny słońca i księżyca, wiatr, wilgotność.
- VIIRS Day/Night Band: zanieczyszczenie świetlne, używane do oszacowania klasy Bortle’a dla listy „Widoczne dziś wieczorem”.
Częstotliwość aktualizacji
Prognozy odświeżają się co 30 minut po stronie źródła. Endpoint wyniku jest cache’owany przez 30 minut na edge (s-maxage=1800). Prognoza siedmionocna aktualizuje się codziennie.