Skip to content

CurrentWeather.info is an ad-free, tracker-free weather dashboard built around data provenance, validation, and transparency.

Notifications You must be signed in to change notification settings

bornonline/currentweather-docs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 

Repository files navigation

CurrentWeather.info

CurrentWeather.info is an ad-free, tracker-free weather dashboard built around data provenance, validation, and transparency.

We don't average everything and hope.
We decide what's current per field, using explicit rules, validation gates, and clearly labeled sources.

🌐 Live Site: https://CurrentWeather.info
πŸ“š Methodology: https://CurrentWeather.info/methodology
πŸ”§ Technical Updates: https://RealWeather.org/updates


What "Current" Means

Weather data is selected using a tiered fallback system with type-safety and freshness checks:

Data Selection Logic

1. NWS Observations (Preferred)
If a station report is:

  • Less than 60 minutes old (freshness threshold)
  • Within 20Β°F (11Β°C) of Open-Meteo model temperature (sanity delta check)
  • Successfully parsed and type-valid

β†’ Use NWS observations for current conditions

2. Model Data Fallback (Per Field)
If NWS data is stale, missing, or fails the delta check:

  • Fall back to Open-Meteo current conditions for that field only
  • Other valid NWS fields remain unchanged

β†’ Results in "Hybrid" mode when mixed sources are used

3. Provenance Labels (Always)
Every displayed value is explicitly tagged:

  • NWS β€” Direct observation from weather station
  • Open-Meteo β€” Model-based current conditions
  • Hybrid β€” Mixed sources across different fields

Validation Architecture

What Gets Validated

Type & Null Safety:

  • All numeric values checked with typeof === 'number', Number.isFinite(), Number.isNaN()
  • Missing or invalid values render as β€” (null-safe display)
  • No crashes from malformed API responses

Freshness Gates:

  • NWS observations > 60 minutes old are marked "stale"
  • Data auto-refreshes every 10 minutes when tab is active
  • Confidence scoring:
    • LOW: Data > 2 hours old or model-only
    • MEDIUM: Fresh observations or hybrid mode

Sanity Checks:

  • NWS temperature must be within 20Β°F (11Β°C) of Open-Meteo model to qualify
  • If delta exceeds threshold β†’ fall back to model data
  • Coordinates validated: lat ∈ [-90, 90], lon ∈ [-180, 180]
  • NWS territory checks (CONUS, Alaska, Hawaii, Puerto Rico, Guam)

NOT Validated (Trust Source):

  • Physical bounds (temperature extremes, humidity > 100%, pressure ranges)
  • Weather values accepted as-is from external APIs (Open-Meteo, NWS)
  • No runtime bounds checking on magnitude (e.g., wind speed, precipitation)

Architecture: "Trust the Source"

CurrentWeather relies on:

  • Source integrity β€” Open-Meteo and NWS provide physically valid data
  • Type-safety β€” Prevent JavaScript crashes, not meteorological impossibilities
  • Freshness indicators β€” Age-based confidence, not value validation

If a data provider returns an invalid value, we render it (or null). We don't second-guess the APIs.


Why This Design?

Observation data is authoritative.
If NWS says it's 134Β°F in Death Valley, we show itβ€”because it might be real.

Model data is fallback, not smoothing.
We don't blend, average, or "fix" values to look consistent. Gaps appear as gaps.

Transparency over polish.
Users see exactly what the source APIs provide, with clear labels on where each value came from.


Data Sources

CurrentWeather.info aggregates data from multiple public APIs:

Primary Weather Data

Service Purpose Coverage License
National Weather Service (NWS) Real-time observations, forecasts, alerts, NEXRAD radar United States Public domain (U.S. government)
Open-Meteo Global forecast models, air quality, UV index Worldwide CC BY 4.0
RainViewer Live precipitation radar imagery Global Free (non-commercial)

Supporting Services

Service Purpose Data Sent
BigDataCloud Reverse geocoding (coordinates β†’ place names) GPS coordinates
ESRI ArcGIS NOAA NEXRAD radar tiles Tile coordinates
CartoDB Base map tiles (streets, terrain) Tile coordinates

Privacy Note: All API requests originate from your browser. CurrentWeather.info does not proxy, log, or store any location data. See Privacy Policy.


Features

  • Real-time observations from NWS weather stations (METAR/ASOS/AWOS)
  • Global forecast data via Open-Meteo (GFS, ECMWF, ICON models)
  • Live radar from RainViewer and NOAA NEXRAD
  • Air quality monitoring (PM2.5, PM10, NOβ‚‚, SOβ‚‚, O₃, CO, UV index, pollen)
  • NWS alerts (warnings, watches, advisories)
  • Astronomical data (sun/moon rise/set, moon phase, solar elevation)
  • Detailed metrics (wind chill, heat index, dew point, visibility, pressure trends)
  • Provenance transparency β€” Every value labeled with its source
  • Ad-free, tracker-free β€” No analytics, no cookies, no surveillance

Projects

CurrentWeather.info

Live Site: https://currentweather.info

A fast, modern weather dashboard that combines:

  • NWS station observations (preferred)
  • Open-Meteo forecast models (fallback)
  • Explicit per-field validation and selection logic

Built to show what's actually current, not what looks smooth.

RealWeather.org

Documentation: https://realweather.org
Updates Feed: https://realweather.org/updates

A technical documentation site that explains:

  • Data source selection rules
  • Fallback behavior and validation gates
  • Implementation receipts for all features
  • Methodology behind every displayed value

RealWeather exists to answer: "Why am I seeing this?"


Principles

βœ“ No ads β€” No monetization, no affiliate links
βœ“ No tracking β€” No analytics, no cookies, no profiling
βœ“ No engagement manipulation β€” No dark patterns, no A/B tests
βœ“ Explicit data sources β€” Every value labeled with provenance
βœ“ Per-field selection β€” Not global blending or smoothing
βœ“ Observation priority β€” Ground truth beats model output
βœ“ Transparency β€” Open methodology, documented validation logic


Technical Architecture

Frontend:

  • React 18 (SPA with Vite build)
  • Client-side rendering (no SSR)
  • Direct API calls from browser (no proxy)

Static Documentation:

  • /about, /methodology, /privacy, /changelog
  • Served as static HTML with JSON-LD structured data
  • SEO-optimized with canonical URLs and Open Graph metadata

Hosting:

  • CDN delivery (Cloudflare + Caddy)
  • Static assets cached aggressively
  • API responses cached client-side (10-minute TTL)

Refresh Intervals:

  • Current conditions: 10 minutes (tab active)
  • Forecasts: 30 minutes
  • Radar: 5-10 minutes (live-streamed)
  • Alerts: 5 minutes

Why the Application Source is Private

CurrentWeather.info is a production system with:

  • Live infrastructure and CDN configuration
  • Rate-limited third-party API keys
  • Abuse prevention and operational integrity logic

The application source code is private to protect infrastructure.

The methodology, data sources, and selection rules are fully documented:

We believe in transparency of process, not exposure of infrastructure.


Documentation Structure

docs/ β”œβ”€β”€ data-sources.md # Detailed API specifications β”œβ”€β”€ validation-logic.md # Freshness, sanity checks, confidence scoring β”œβ”€β”€ fallback-behavior.md # NWS β†’ Open-Meteo failover rules └── provenance-labels.md # How source badges are determined

(Coming soon)


License

Documentation License: MIT (see LICENSE)

This repository contains public documentation only. The CurrentWeather.info application source code is not included and remains private.


Contact


Changelog

See CHANGELOG.md for methodology updates and documentation changes.

For user-facing feature updates, see:


Built with provenance, honesty, and respect.

Releases

No releases published

Packages

No packages published