Weather Sources

weNow aggregates data from multiple weather providers simultaneously and computes a consensus forecast. This page documents the active and disabled sources, how ensemble aggregation works, and how confidence is communicated to users.

Active Sources

Provider Model License Website
Open-Meteo ECMWF CC BY 4.0 open-meteo.com
OpenWeatherMap GFS / proprietary Proprietary openweathermap.org
WeatherAPI Blended Proprietary weatherapi.com
Visual Crossing Blended Proprietary visualcrossing.com

Disabled Sources

The following providers are integrated but currently disabled, pending API key fixes:

Ensemble Aggregation

Rather than relying on a single weather provider, weNow combines data from all active sources into a consensus forecast. Here is how it works:

  1. Parallel fetching -- The backend sends requests to all active weather APIs simultaneously using Promise.allSettled. If one or more sources fail, the remaining sources still produce a valid result.
  2. Normalization -- Each API adapter converts its raw response into the shared WeatherData interface. All temperatures are normalized to Celsius and all wind speeds to meters per second, regardless of the source format.
  3. Weighted median -- The backend computes a weighted median across all successful responses. Sources are weighted by forecast model quality: ECMWF-based sources (such as Open-Meteo) receive the highest weight, followed by GFS-based sources (such as OpenWeatherMap), then blended model sources (such as WeatherAPI and Visual Crossing).
  4. Outlier removal -- Values that diverge significantly from the group consensus are excluded from the final median calculation, reducing the impact of erroneous readings from any single provider.

Confidence Indicators

weNow displays a color-coded confidence badge on weather cards and widgets to indicate how closely the sources agree:

Color Condition Meaning
Green Sources agree within 1.5 degrees C High confidence -- providers are closely aligned
Yellow Sources agree within 3 degrees C Moderate confidence -- some divergence between providers
Red Sources diverge by more than 3 degrees C Low confidence -- providers disagree significantly

Forecast Data

The ensemble aggregation extends beyond current conditions into forecast periods:

Unit Normalization

All weather API adapters normalize their responses to a consistent set of units before ensemble aggregation occurs:

This normalization happens at the adapter level so that all downstream logic -- median calculation, outlier removal, and client display -- operates on a single, consistent unit system.