← Voltar ao início

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

Cobertura de nuvens (média)
96% · 21:43–05:25
Lua
61% · 17:00–23:33
Cálculo
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
Pontuação
0.6
Fique em casa. Uma camada baixa fechada toda a noite: o filtro de visibilidade leva a pontuação quase a zero. A Lua mal conta: fica baixa e põe-se às 23:33.

Exemplo: uma noite excelente

Mesmo lugar · céu limpo, lua crescente

Cobertura de nuvens (média)
8%
Lua
Waxing Crescent · 15%
Cálculo
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
Pontuação
9.5
Larga tudo e sai. Lua crescente, céu quase limpo, escuridão astronómica completa.

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.

For the geeks

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 →
← Voltar ao início
Como funciona a pontuação StarsOut