METHODOLOGY

How we verify astronomy guidance

Starry Forecast treats astronomy pages as planning aids, not guarantees. Event pages are based on cited astronomical records, and forecast tools are labeled as guidance because weather, local horizons and sky brightness can change quickly.

Source hierarchy

We prefer primary or institutional astronomy sources such as NASA, the International Meteor Organization and recognized astronomical datasets. Stable reference topics may support background definitions, but they do not replace an event record. The current source list and direct links are published in our source register.

Timing and uncertainty

Universal Time values are kept as source facts unless a page has a reviewed local conversion system. If a source does not provide a precise hour, we do not invent one. Pages encourage users to re-check official calendars before an event.

Quality checks

Review checks cover factual accuracy, information gain, content depth, practical usefulness and uniqueness. Low-value or duplicate drafts are not published. The score is an internal consistency check, not proof that every statement is correct, so citations and correction procedures remain necessary.

Forecast-tool calculation

The stargazing checker combines Open-Meteo forecast and air-quality fields, 7Timer ASTRO seeing data, and local twilight and Moon-phase calculations. City-page ratings use the strongest continuous three-hour combination of hourly cloud, surface visibility and humidity after astronomical dusk; the Moon, cloud layers, smoke risk, dew point and seeing are shown separately so one score is not mistaken for a complete sky model.

The top city summary and the first “Tonight” card use the same local observing date and the same three-hour window. Current cloud layers and surface readings are labeled as a separate snapshot. Local lamps, terrain, smoke and rapidly changing weather are not fully captured, and missing upstream data is not replaced with invented live values.

Independent aurora opportunity assessment

The aurora tool does not alter the ordinary stargazing score. NOAA OVATION is a short-term activity model, typically 30–90 minutes ahead, while Kp describes global geomagnetic activity in three-hour intervals. Neither is a precise probability that one observer in one city will see aurora.

We use the nearest one-degree grid cell by great-circle distance and the strongest geographic-poleward cell within 800 km: north in the Northern Hemisphere, south in the Southern Hemisphere, with no preferred direction at the equator. Nearby activity is attenuated by half in our heuristic. This radius is a search rule, not a claim that aurora is visible over that distance. We do not calculate magnetic latitude, auroral elevation or terrain blocking.

We clip hourly weather intervals to the current time and calculated Sun altitude below −18°, using only the first astronomical-dark period within the next 24 hours. We prefer candidates lasting at least 30 minutes, then choose the lowest cloud cover; if only shorter intervals remain, we show their actual duration. We do not mix separate nights. “Promising” requires a local model value of at least 40 and cloud at most 40%; “Possible” requires model signal at least 10, or current/window-overlapping Kp at least 5 at geographic latitude at least 50°. A later Kp spike outside that window does not improve its grade. Cloud at least 80% makes viewing unlikely. Bright moonlight only reduces a marginal weak-signal assessment; it never rules out strong aurora. These thresholds are conservative, uncalibrated planning heuristics, not NOAA-issued categories.

No astronomical darkness, daylight, polar summer, missing weather, stale NOAA data and partial Kp coverage are explicitly labelled. Later dark windows outside the current model time cannot be rated above “Possible”; the user must refresh near that time. Our freshness cutoff is forecast time plus 30 minutes, with additional timestamp consistency checks. It is not an extension of NOAA's all-night validity.

NOAA upstream grids are edge-cached for three minutes and Kp for ten minutes. City HTML carries only location and weather context; the browser requests fresh aurora data independently. Clouds, light pollution, blocked horizons and eyesight change what is actually visible. Planning guidance only: not for aviation, navigation, emergencies or personal-safety decisions. Official product documentation and interfaces checked October 8, 2026; see the source register.

ILLUSTRATIVE INPUTS — NOT A LIVE FORECAST

Reproduce a city score

This hypothetical hour uses the same hourlyQuality calculation as the city pages. It is not an observation, a forecast for a real place, or a measured chance of seeing stars.

Inputs

Total cloud 20%; high cloud 10%; surface visibility 20 km; humidity 90%; lunar illumination 60%.

Calculation

  1. Start: 100
  2. Cloud penalty: 20 × 0.62 + 10 × 0.09 = −13.3
  3. Visibility adjustment (limited to −10…+8): (20 − 8) × 0.55 = +6.6
  4. Humidity penalty above 82%: (90 − 82) × 0.28 = −2.24
  5. Moon-phase penalty above 20% illumination: (60 − 20) × 0.5 = −20

100 − 13.3 + 6.6 − 2.24 − 20 = 71.06

Round and limit to 0–100: 71/100

A three-hour window averages three hourly scores. For example, 71, 64 and 78 average to 71/100 after rounding. The city summary and Tonight card use the same selected window; the best-night recommendation compares whole-night averages instead.

A score of 71 is not a 71% probability. This is an uncalibrated planning heuristic. The Moon-phase proxy does not use moonrise, moonset or altitude. Light pollution, access, terrain, smoke and seeing are not in this formula; inspect their separate guidance. The quick current-conditions checker is a different snapshot and should not be compared as if it rated the same night window.