SnapCosmos Night Engine v1.0 · Validation
Night Engine accuracy
We publish how often the engine is right, and where it is not. Current run: 85% agreement across 600 scored location-nights, with 16 opposite calls.
- Overall agreement
- 85%
- Locations
- 102
- Countries
- 58
- Last run
- 2026-07-30
By observing goal
Each goal uses a different weighting profile, so each is validated separately. Tolerance setting: Mostly clear.
- ISS passes99%
101/102 nights · 0 opposite calls · The easiest case: pass geometry is deterministic and only cloud can spoil it.
- Planets97%
99/102 nights · 1 opposite call · Bright targets tolerate moonlight and thin cloud, so the two methods rarely diverge.
- Moon92%
94/102 nights · 2 opposite calls · Disagreements cluster on nights with broken cloud, where 'worth it' is genuinely a judgement call.
- Astrophotography78%
70/90 nights · 2 opposite calls · Most disagreements are WAIT vs GO on mediocre nights early in a week that improves later.
- Milky Way75%
77/102 nights · 4 opposite calls · The engine is stricter about a risen Moon than the baseline, which costs agreement around first and last quarter.
- Meteor showers66%
67/102 nights · 7 opposite calls · The weakest domain, and we know why: the engine does not yet score radiant altitude or shower activity (ZHR). That is the next fix, not a threshold tweak.
Method
How this is measured
One honest sentence first: this is agreement with a baseline, not a measurement against observed sky.
For every location the harness fetches a live seven-night hourly forecast, computes hours of astronomical darkness and Moon geometry with the same ephemeris the site uses, and runs the production scoring code — not a copy of it. The resulting recommendation (go, wait or skip) is compared with a baseline that sees only raw numbers: A rule-based expert baseline computed from raw cloud cover, Moon illumination weighted by how long the Moon is above the horizon, and hours of astronomical darkness — with no access to the engine's weighting.
Disagreements are classified. Go versus wait is a soft disagreement — two defensible readings of a mediocre night. Go versus skip is a hard disagreement, the only class that would actually send someone outside for nothing, and it is reported separately for every goal above.
What this does not prove: that the sky was in fact clear. Verifying against observed conditions requires post-hoc satellite cloud data, and that is the next step for this page rather than something we claim today.
Open items
What we are fixing next
| Gap | Effect | Status |
|---|---|---|
| Radiant altitude and ZHR for meteor showers | Meteor agreement stuck at 66% | Next engine change |
| Post-hoc verification against satellite cloud observations | Turns agreement into true accuracy | Planned |
| Atmospheric transparency and aerosol load | Milky Way nights can score well and still look milky | No public data source yet |
| Local terrain and coastal fog | Below weather-model grid resolution | Mitigated by the drive suggestion |
Related