← Conditions.Site Create a Free Report

Report Methodology

This page documents the fixed methodology behind every Conditions.Site report: the parts that are identical from report to report. Everything that varies per report (measurements, stations, distances, weights, diagnostics) is printed in the report itself. Each report links here from its page footer.

On this page

Weather data sources

Reports pull from multiple independent sources and cite every value. Sources are split by temporal class: historical sources report what actually happened (reanalysis models and station archives); prediction sources are numerical forecasts that only cover today through their model horizon. Every source is fetched first-hand from its authoritative provider, with no commercial re-packagers or opaque blends.

SourceWhat it is
Open-Meteo (ERA5)ECMWF ERA5 / ERA5-Land reanalysis, hourly values from the ~11 km model grid cell at the incident location (see below).
NOAA NCEI LCDv2Local Climatological Data Version 2: quality-controlled hourly observations from US airport stations, derived from GHCNh. If neither current NOAA hourly product has a usable observation, Conditions.Site can consult the frozen LCDv1 archive for dates through August 2025 and labels it as legacy.
NOAA NCEI GHCNhGlobal Historical Climatology Network Hourly: NOAA's current global hourly and synoptic station archive. Its retired ISD predecessor is a historical fallback only when both current NOAA products have no usable observation; current and legacy generations are never mixed.
Official national stationRegion-routed first-party observations from ECCC GeoMet in Canada, GeoSphere Austria Klima v2 hourly (CC BY 4.0), or SMHI Sweden MetObs (CC BY 4.0 SE). Conditions.Site identifies the authority, filters provider quality flags, and normalizes report fields. SMHI values are accepted only with its approved G quality code; its unbounded corrected-archive CSV is not fetched during a report.
Wunderground PWSPersonal weather stations near the incident, averaged (see PWS).
NASA POWERMERRA-2 reanalysis grid, a model family independent of ECMWF. Reserved as an operator diagnostic cross-check and not included in standard reports.
AviationWeather.gov worldwide METAROfficial recent METAR/SPECI aviation observations worldwide from the AviationWeather.gov Data API. The service retains the previous 15 days (secondary).
Open-Meteo Forecast, MET Norway, NWS ForecastPrediction sources for future dates (16-day / 9-day / 7-day horizons).

Source selection: Auto and Manual modes

By default reports run in Auto source mode: the app selects every source that can plausibly hold data for the report's date and time, and excludes only sources that certainly cannot. The rules, in order:

Manual mode disables all of the above: the user picks exactly which sources run, and a source that returns nothing appears as an empty column. Auto-mode omissions are always documented on the report's technical page.

ERA5: gridded reference data

ERA5 is the global reanalysis produced by the European Centre for Medium-Range Weather Forecasts (ECMWF). Reanalysis combines a numerical-weather forecasting model with every available historical observation, including surface stations, ships, balloons, satellites and aircraft, using a process called data assimilation. Each grid cell's hourly value is the best-estimate posterior given the entire observation network at that time. Coverage is consistent globally and runs continuously from 1940 to the present, with the newest days coming from ECMWF's preliminary ERA5T release and final values lagging roughly 5 days.

The parent ERA5 product is 0.25° latitude × 0.25° longitude (~28 km cells); the ERA5-Land surface subset (temperature, humidity, wind, precipitation) that Open-Meteo serves runs at 0.1° (~11 km cells), and that is the resolution reported. How the point value is read from those cells is controlled by the sampling mode below; the contributing cell(s) are outlined on the technical-page station map (their corners mark cell extents, not separate measurements).

ERA5 is treated as the modern gold-standard historical-conditions reference by NOAA, NASA, the WMO, and most academic atmospheric-science work. Conditions.Site includes it as a primary source in every gather (so it always appears in the source comparison) and falls back on it whenever no station-based source qualifies under the auto-pick cutoffs. Data is delivered through Open-Meteo's Historical Archive endpoint and appears as "ERA5" in the source comparison table.

ERA5 grid sampling modes

Two selectable modes control how the point value is read from the grid (the mode used is recorded in the report's SOURCES appendix):

The primary value & source weighting

The headline ("primary") value on the report can be synthesized three ways; the mode used is stated on the report:

In weighted mode each source's weight is:

weight = authority × f(Δt) × f(distance) × f(elevation Δ) × f(temperature outlier) × f(climate regime) × f(terrain)

The time, distance, elevation, and temperature-outlier factors are Gaussian, for example f(Δt) = exp(−Δt² / (2σt²)), calibrated so the factor falls to 0.5 at: Δt = 120 min (sample-time offset), d = 20 mi (station distance), Δh = 150 m (elevation difference), ΔT = 3 °C from the cross-source median (outlier damping). The climate-regime and terrain factors are discrete penalty multipliers: the climate factor is 0.3 when the line from incident to station crosses a coast or large-lake edge, 0.5 when one endpoint is shore-adjacent (<5 km) and the other isn't (Natural Earth 1:10m polygons), and 1.0 otherwise; the terrain factor is 0.5 when an elevation sample along the line exceeds the higher endpoint by 300 m (an intervening ridge, meaning a rain shadow or lee side), and 1.0 otherwise.

Sources without a station get distance factor = 1 (the value is already at the incident lat/lon); sources without an observed-at timestamp get time factor = 0. For multi-station-averaged sources (currently only Wunderground PWS), the authority is scaled by √N, where N is the number of contributing stations, capped at a ceiling of 2.0. This is the central-limit-theorem reduction in noise when N independent sensors are averaged. The per-source weights and each factor's value are printed in the report's PRIMARY WEIGHTS table, so the mean is fully decomposable.

Same-station de-duplication. Two feeds can resolve to the same physical station. The most common case is NOAA LCDv2 and NOAA GHCNh, which are two NCEI packagings of one airport's observations and, in NCEI's search service, are keyed by the same station identifier. They are not independent measurements, so counting both would let a single instrument dominate the average. When two sources are keyed to the same station identifier, or NOAA explicitly exposes the same assigned WBAN through its current and legacy identifier formats, the report keeps one as the station's value (the more report-oriented record, currently LCDv2 over GHCNh over raw METAR; where the kept record is missing a field, a grouped sibling supplies it, so the station is counted once per field and never zero times) and marks the others as "grouped". A grouped source stays visible as its own column for comparison, but it is left out of the weighted average; the remaining sources, including the kept one, are then renormalized to 100%. Matching is limited to identical native identifiers and narrow provider-defined physical keys such as an assigned NOAA WBAN, WMO station number, or Canada's published GHCN identifier. AWC METAR and global GHCNh rows sharing a WMO number are therefore one station; an ICAO-only row remains independent because name- or coordinate-based matching risks merging distinct instruments. Gridded reanalyses (ERA5) carry no station identifier and are never grouped.

Reading the source-comparison table

The technical page prints every field from every source side by side, plus the weighting factors that produced each source's share. Two red-cell conventions:

Personal weather stations (PWS)

The PWS detail page lists each personal weather station within 1 mi (1.61 km) of the incident that passed the elevation filter (±100 m / 328 ft of incident ground elevation). The AVERAGE row at the top is the equal-weight mean used for the headline value; per-station rows let a reviewer see which stations agreed and which deviated. Stations attempted but returning no data show a dash in every value column.

PWS sensor placement and calibration vary wildly (roof-mounted in sun, near A/C exhaust, etc.); averaging multiple nearby stations smooths out individual sensor bias while preserving spatial proximity to the incident. This is also why the √N authority boost in weighting applies to the PWS average.

Hourly observations

The hourly tables span the 6 hours before and after the time of interest (TOI ± 6 h). The first table is a weighted average across every source that reported each hour, weighted independently for that hour rather than carried over from the time of interest; the per-source tables follow it so any row can be decomposed. A source counts toward an hour when it reported within 30 minutes of it, and an hour with only one reporting source is left to that source's own table. Hours tagged -1d / +1d fall on the calendar day before / after the incident date. All times are in the incident location's local timezone.

Sun & moon positions: apparent vs. geometric

Sun and moon positions in reports are apparent positions: where the body would have appeared in the sky to an observer at the incident location, accounting for the atmosphere bending light and the observer not being at Earth's center. This is the value most relevant for "could the witness see the sun?", glare, sun-in-eyes, and cast-shadow questions.

A reviewer comparing a report to NOAA's Solar Calculator, USNO, or similar geometric tools will see a 0.5° to 0.6° disagreement on altitude at low sun angles. That gap is atmospheric refraction. Both numbers are correct; they answer different questions. The corrections applied:

Positions are computed locally by astronomy-engine (algorithms: VSOP87 for the sun, ELP2000-82B for the moon, IAU 1980 nutation) and cross-checked against SunCalc (Jean Meeus, Astronomical Algorithms, 2nd ed.). Expected cross-check agreement: sun within ~1 arcminute; moon up to ~2.5° (SunCalc computes the moon with a truncated lunar series, a documented simplification of the cross-check engine and not an error in the primary engine). Each report prints the actual cross-check deltas.

Report conventions

Every report is built with the methodology above.

Create a Free Report

Questions about the methodology: support@conditions.site · Privacy · Terms