How the Stargazing Score Works
Full transparency on how Clear Skys turns weather data into a stargazing recommendation.
The Four Weather Factors
Every hour of darkness is scored from 0 to 100 based on four weather measurements, each weighted according to how much it affects observing conditions:
**Cloud cover (55% of the score)** — the dominant factor. Clear Skys uses three-layer cloud data from Open-Meteo: low cloud (below ~2,000m) is weighted at 50%, mid-level cloud (2,000–6,000m) at 35%, and high cloud (above 6,000m) at 15%. This layered approach matters because low cloud is opaque and blocks everything, while high cirrus is translucent and primarily affects contrast on faint objects. A sky with 20% high cirrus but no low cloud scores much better than 20% low stratus.
The cloud score uses a stepped scale: 15% or below cloud scores 100 (essentially clear), 15–30% scores 85 (minor obstruction), 30–50% scores 60 (half the sky compromised), 50–70% scores 30 (mostly cloudy, limited windows), 70–85% scores 10 (brief gaps at best), and above 85% scores 0.
**Wind speed (20% of the score)** — affects telescope stability and atmospheric turbulence. Below 5 m/s scores 100 (calm, excellent seeing potential). 5–10 m/s scores 80 (manageable, minor vibration). 10–15 m/s scores 50 (challenging for telescopes). 15–20 m/s scores 20 (binoculars only). Above 20 m/s scores 0 (stay indoors).
**Humidity (15% of the score)** — drives dewing and atmospheric transparency. Below 70% scores 100 (dry, good transparency). 70–80% scores 70 (dew possible on unheated optics). 80–90% scores 40 (dewing likely, reduced transparency). Above 90% scores 10 (heavy dewing, poor sky quality).
**Rain probability (10% of the score)** — the final backstop. Below 10% scores 100. 10–30% scores 70. 30–60% scores 30. Above 60% scores 0. Rain probability is weighted lowest because the other factors (especially cloud) already capture most of the information that rain probability correlates with.
Two refinements sharpen the picture further. The humidity factor is surfaced in the breakdown as **Dew risk**, scored from the dew-point spread — the gap between air temperature and the dew point — which predicts dewing on optics more directly than relative humidity. And two conditions adjust how good a clear sky actually looks: **transparency** (haze), read from visibility, trims the score when scattered light washes out fainter targets even under cloudless skies; and **seeing**, estimated from high-altitude jet-stream wind, reflects atmospheric steadiness, which governs how much fine planetary and lunar detail you can resolve. These don’t stop you observing the way cloud or rain do, but they’re the difference between a merely clear night and a genuinely good one.
The Moon Penalty
After averaging the hourly weather scores, a moon penalty is subtracted. The penalty depends on three things: how bright the moon is (illumination percentage), how much of your observing window overlaps with the moon being above the horizon, and which observer profile you're using.
The base penalty formula is: 35 × (illumination / 100)^0.7 × overlap_factor. The exponent of 0.7 means the penalty ramps up faster than linear — a 50% illuminated moon (first/third quarter) generates more than half the penalty of a full moon, because even a half moon significantly brightens the sky background.
The overlap factor is the proportion of your darkness window during which the moon is above the horizon. A full moon that sets two hours after darkness begins is much less damaging than one that's up all night.
The profile multiplier then scales this penalty. The default (General) profile uses 1.0. Astrophotography uses 1.3 — long-exposure images are severely affected by sky brightness. Visual/binoculars uses 0.8 — wide-field views tolerate some moonlight. Planetary/lunar uses 0.3 — the moon is the target, not the problem. Aurora uses 0.25 — aurora is bright enough to compete with moonlight.
Impact labels: a penalty of 25+ points is "severe" (deep-sky is a write-off), 12–24 is "moderate" (stick to bright objects), 4–11 is "mild" (noticeable but manageable), and below 4 is "minimal" (effectively no impact).
Observer Profiles
The same night scores differently depending on what you're observing. A windy but clear night is excellent for aurora watching but poor for astrophotography. A bright moon ruins deep-sky work but doesn't affect planetary observation at all.
Clear Skys offers five profiles that reweight the scoring factors:
The **General** profile (default) uses the standard weights: cloud 55%, wind 20%, humidity 15%, rain 10%, with a standard moon penalty. Good threshold is 65. This suits most casual stargazers.
The **Astrophotography** profile increases cloud weight to 60% and wind to 25% (long exposures demand still air), reduces humidity and rain weight, and applies a 1.3× moon penalty multiplier. Good threshold is 70 — astrophotographers need better conditions than visual observers.
The **Visual / Binoculars** profile is the most forgiving. Cloud drops to 50%, rain increases to 15% (relevant for binocular observers who can't easily shelter equipment), and moon penalty is reduced to 0.8×. Good threshold is 55.
The **Planetary / Lunar** profile prioritises steadiness over darkness. Wind weight increases to 25% (seeing stability is critical for planetary detail). Moon penalty drops to 0.3× — moonlight is irrelevant when you're looking at planets. Good threshold is 60.
The **Aurora** profile maximises cloud weight at 65% (you need clear northern horizon) and minimises wind (10%) and moon penalty (0.25×). Good threshold is 50 — aurora is bright enough that moderate conditions are still worth going out for.
**Build your own.** If none of the presets match how you observe, Clear Skys lets you create a custom profile. You set the weight of every factor yourself — cloud, wind, humidity, rain and seeing — and they simply have to add up to 100, so dropping a factor to zero removes it from your score entirely. You can go further and control the cloud-layer split: how much low, mid and high cloud each count toward the cloud score. Weight high cloud heavily and thin cirrus will tank a deep-sky night; weight it near zero and the same cirrus barely dents a planetary score. Moon and sky-brightness sensitivity are separate dials too. Your custom profile saves to your device, or to your account if you're signed in, so it follows you across visits.
Twilight Scoring for High Latitudes
At latitudes above ~50°N, summer nights don't reach full astronomical darkness (sun below −18°). Rather than showing no data for weeks, Clear Skys uses twilight scoring: it checks how far below the horizon the sun actually gets and applies a sky-brightness penalty on a sliding scale.
When the sun reaches −16° to −18° (deep nautical twilight), naked-eye visibility extends to roughly magnitude 5.5–6.0 and the penalty is just 5 points. At −14° to −16° (mid nautical), the penalty is 12 points. At −12° to −14° (mid-to-shallow nautical), it's 20 points. At −9° to −12° (bright nautical), only bright objects are realistic and the penalty is 30 points. Above −9° (civil twilight), the sky is too bright for all but planets.
If the sun never drops below −9°, the night is unscored — conditions are too bright for meaningful stargazing beyond planets. For the UK and similar latitudes (50–59°N), the sun reaches at least −12° on every night of the year, so every UK night gets a score even at the solstice.
The observing window shifts from the astronomical darkness window to the civil twilight window (sun below −6°), which is always longer. This means you still get hourly scoring, a best viewing window, and a verdict — the score is just calibrated for the brighter sky.
Data Sources
Weather data comes from Open-Meteo (primary) with MET Norway Locationforecast 2.0 as an automatic fallback if Open-Meteo is unavailable or rate-limited. Both provide hourly cloud (three layers), wind, humidity, and precipitation data.
Astronomy calculations (sun altitude, darkness windows, moon position, planet ephemeris) use the astronomy-engine library — the same engine used in planetarium software, providing sub-arcsecond accuracy.
Aurora data combines the NOAA 3-day Kp forecast (updated every 3 hours) with the NOAA Ovation model (real-time probability map based on current solar wind measurements).
Satellite passes are computed locally using SGP4 propagation with TLE data from Celestrak, refreshed every 12 hours. This covers the ISS, Hubble, Chinese Space Station, and approximately 20 other reliably bright satellites.
Frequently Asked Questions
Why does cloud cover count for more than half the score?∨
Why doesn't light pollution affect the score?∨
How far ahead can I trust the forecast?∨
What does 'volatile' forecast stability mean?∨
Check tonight's stargazing conditions for any location worldwide.
Search your location →