Sobre a pontuação
Como condensamos cobertura de nuvens, luz da lua e escuridão astronómica num único número de 0 a 10 — e o que deixamos deliberadamente de fora.
A questão
Se vale a pena sair esta noite depende de três coisas: quanto céu é visível (nuvens), quão escuro está (sol e lua) e onde estás (poluição luminosa). A pontuação combina as duas primeiras. A poluição luminosa define o que é visível a partir da tua localização, mas não entra no número.
Uma pontuação, duas ajudas
- Principal — Média em toda a janela de escuridão astronómica (sol ≥ 18° abaixo do horizonte). A resposta honesta a “quão boa é a noite no geral”.
- Melhores 2 horas — As duas melhores horas seguidas dentro do período escuro. Útil se só tiver pouco tempo; nunca substitui a pontuação principal.
- Noite, 21–01 — Das 21:00 à 01:00, reduzido à parte realmente escura: o que terá se sair à noite.
A fórmula
A pontuação combina clareza (porção do céu sem nuvens) e escuridão (quão pouco a lua ilumina o céu), com um filtro suave de visibilidade.
score = visibility × (clearness × 0.6 + darkness × 0.4) / 10 clearness = 100 − cloudCover% // averaged over the dark window darkness = 100 − moonPenalty // averaged over the same hours visibility = min(1, clearness / 30)
O fator de visibilidade reconhece que as nuvens dominam tudo: se está maioritariamente nublado, mesmo um céu perfeitamente escuro não soma pontos. Acima de 30% de clareza, visibility = 1 e a fórmula reduz-se à média ponderada. Abaixo de 30%, a pontuação desce linearmente até zero.
A penalidade lunar
O brilho da Lua é escalonado pela iluminação e depois ajustado pela altura real a que está em cada hora escura.
- Menos de 25% iluminada (lua nova ou crescente fino): sem penalidade.
- 25–75% iluminada (em torno do quarto): penalidade = iluminação × 0,5.
- Mais de 75% iluminada (gibosa ou cheia): penalidade = iluminação × 1,0.
- Abaixo do horizonte a Lua não conta; a partir de 30° de altura conta o escalão completo; entre os dois, proporcional à altura. Nascer, ocaso e altura vêm do astronomy-engine para a sua localização exata.
O que não entra na pontuação
- A poluição luminosa (classe Bortle, derivada de dados de satélite VIIRS) molda a lista “Visível esta noite” do céu profundo, não o número.
- Vento, humidade e precipitação aparecem na linha do tempo se fizeres scroll, mas não alteram a pontuação.
- Confiança da previsão. Não baixamos a pontuação quando o modelo meteorológico é incerto — confiamos na previsão e deixamos a próxima atualização corrigir.
Exemplo: uma noite completamente nublada
Amesterdão · 19 de setembro de 2026 · previsão real
moonPenalty = 1 (low Moon, sets 23:33) clearness = 100 − 96 = 4 darkness = 100 − 1 = 99 visibility = min(1, 4 / 30) = 0.13 raw = 0.13 × (4×0.6 + 99×0.4) / 10 = 0.56
Exemplo: uma noite excelente
Mesmo lugar · céu limpo, lua crescente
moonPenalty = 0 (< 25% lit) 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
Fontes
- Open-Meteo: cobertura de nuvens por hora, horários de sol e lua, vento, humidade.
- VIIRS Day/Night Band: poluição luminosa, usada para estimar a classe Bortle para a lista “Visível esta noite”.
Frequência de atualização
As previsões são atualizadas a cada 30 minutos na origem. O endpoint da pontuação fica em cache 30 minutos no edge (s-maxage=1800). A previsão de sete noites atualiza-se diariamente.
How the score is calculated
Deeper walkthrough of layer-weighted cloud forecasts, multi-model confidence, METAR observations, and the calibration feedback loop.
Read the methodology →