Sobre la puntuación
Cómo condensamos cobertura nubosa, luz lunar y oscuridad astronómica en un único número del 0 al 10 — y qué dejamos fuera deliberadamente.
La pregunta
Si esta noche merece la pena depende de tres cosas: cuánto cielo se ve (nubes), cuán oscuro está (sol y luna) y dónde estás (contaminación lumínica). La puntuación combina las dos primeras. La contaminación lumínica define qué es visible desde tu ubicación, pero no entra en el número.
Una puntuación, dos ayudas
- Principal — Media en toda la ventana de oscuridad astronómica (sol ≥ 18° bajo el horizonte). La respuesta honesta a “qué tal está la noche en conjunto”.
- Mejores 2 horas — Las dos mejores horas seguidas dentro del periodo oscuro. Útil si solo tienes un rato; nunca sustituye a la puntuación principal.
- Noche, 21–01 — De 21:00 a 01:00, recortado a la parte realmente oscura: lo que tendrás si sales por la noche.
La fórmula
La puntuación combina claridad (parte de cielo sin nubes) y oscuridad (cuán poco ilumina la luna), con un umbral de visibilidad suave.
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)
El factor de visibilidad reconoce que las nubes lo bloquean todo: si está mayormente cubierto, ni una noche perfectamente oscura suma puntos. Por encima del 30% de claridad, visibility = 1 y la fórmula se reduce a la media ponderada simple. Por debajo del 30%, la puntuación cae linealmente a cero.
La penalización lunar
El brillo de la Luna se clasifica por tramos de iluminación y después se ajusta según lo alta que esté realmente en cada hora oscura.
- Menos del 25% iluminada (luna nueva o creciente fina): sin penalización.
- 25–75% iluminada (alrededor del cuarto): penalización = iluminación × 0,5.
- Más del 75% iluminada (gibosa o llena): penalización = iluminación × 1,0.
- Bajo el horizonte la Luna no cuenta; desde 30° de altura cuenta el tramo completo; en medio, en proporción a la altura. Salida, puesta y altura vienen de astronomy-engine para tu ubicación exacta.
Qué no entra en la puntuación
- La contaminación lumínica (clase Bortle, derivada de los datos satelitales VIIRS) modela la lista “Visible esta noche” de cielo profundo, no el número.
- Viento, humedad y precipitación aparecen en la línea temporal si haces scroll, pero no cambian la puntuación.
- Confianza del pronóstico. No bajamos la puntuación cuando el modelo meteo está incierto — confiamos en el pronóstico y dejamos que la siguiente actualización corrija.
Ejemplo: una noche totalmente cubierta
Ámsterdam · 19 de septiembre de 2026 · previsión 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
Ejemplo: una gran noche
Mismo lugar · cielo despejado, luna creciente
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
Fuentes
- Open-Meteo: cobertura nubosa por hora, horarios de sol y luna, viento, humedad.
- VIIRS Day/Night Band: contaminación lumínica, usada para estimar la clase Bortle para la lista “Visible esta noche”.
Frecuencia de actualización
Las previsiones se refrescan cada 30 minutos arriba. El endpoint de puntuación se cachea 30 minutos en el edge (s-maxage=1800). La previsión a siete noches se actualiza cada día.
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 →