Full transparency on how Clear Skys turns weather data into a stargazing recommendation.
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.
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).
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.
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° (shallow nautical), it's 20 points. At −9° to −12° (deep civil), only bright objects are realistic and the penalty is 30 points.
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.
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.
Check tonight's stargazing conditions for any location worldwide.
Search your location →Because cloud is the single biggest factor in whether you can observe at all. Wind, humidity, and rain affect comfort and image quality, but cloud cover determines whether photons from space reach your eyes or telescope. A calm, dry night under full overcast is worse than a breezy, humid night under clear skies.
Light pollution is a fixed property of your location — it doesn't change night to night. The score reflects variable conditions (weather and moon) that determine whether tonight specifically is worth going out. Light pollution context is provided in the city page blurbs and via the linked light pollution map.
Tonight and tomorrow are usually reliable. Days 2–3 are useful for planning but subject to change. Days 4–7 should be treated as a trend indicator — good for identifying which nights of the week look promising, but not for committing to a plan.
When hourly scores vary by more than 30 points during a single night, the forecast is marked as volatile. This means conditions are changing rapidly — you might get excellent windows interspersed with poor stretches. The best viewing window becomes especially important on volatile nights, as it identifies the most stable good period.