WX · A private weather service

Read the sky
like a forecaster.

Every major weather model the moment each run is published, radar down to the raw Doppler scan, and storms tracked run by run, then checked against what actually fell. Self-hosted, built on public weather data. No ads, nothing to sell.

8 models · 5 ensemblesRaw NEXRAD velocitySoundings anywhereStorms found days out
Scroll
Radar

Radar down to the raw scan.

The national mosaic every two minutes, and single radars straight from the Level II feed: reflectivity and velocity, tilt by tilt, drawn on your phone.

Warnings, lightning and SPC outlooks sit on the same map, and when rain is close, a live card says when it starts at your place and how hard it will fall.

  • MRMS · quality-controlled national radar, every 2 min
  • Level II · velocity for spotting rotation, tilt by tilt
  • Now · precipitation type and rate, and the next 3 hours
ReflectivityVelocity · 0.5° tiltIllustration
25 mi50 mi75 mi
Now · your place Illustration
Rain starts in 12 min
Moderate for about an hour, then light until 9 PM.
The Models workspace

Every model. Every run. Side by side.

Each forecast hour is fetched the moment it's published, as any of 64 kinds of map: rain, snow, wind, severe weather and the upper air. Compare four models at once, step back through older runs, or subtract one run from the next to see exactly what changed.

HRRRRRFSGFSECMWF IFSAIFSGEMICONNBMGEFSEPSAIFS ENSREFSGEPS

ECMWF IFS, AIFS and EPS data © ECMWF, CC BY 4.0.

Explore Models
Four models' snow forecasts for the same storm, side by side: HRRR, GFS, ECMWF IFS and ICON each put the heaviest band in a slightly different place, so your place gets between6 and 10 inches. Illustration.
Compare · snow total, Kuchera ratio Illustration
HRRR18z · through Wed 12z
GFS18z · through Wed 12z
ECMWF IFS12z · through Wed 12z
© ECMWF, CC BY 4.0
ICON12z · through Wed 12z
Soundings

Any point, any hour, top to bottom.

Long-press anywhere on a map for a Skew-T from that model, run and hour: instant at your saved places, fetched on demand anywhere else. CAPE, the freezing level, precip type and a plain-English summary come with it.

It says
Freezing rain. Snow melts completely in the warm nose. The cold layer at the ground is too shallow to refreeze the drops, so they freeze on contact.
Sounding · your place · Thu 03z Illustration
1000850700500300-40°-30°-20°-10°0°10°20°30°
Snow-growth zone−12 to −18 °C, saturated
0 °C
Warm nose +3.6 °Csnow melts here
Shallow cold layertoo thin to refreeze
━ temperature━ dew point┅ 0 °C
Storm Desk

It finds the storm, then watches it change.

Storms are picked out of every run days ahead. The desk follows each one run by run: how the range is narrowing, which ensemble scenarios are in play, and the one factor that decides between them, all in a briefing where every number is cited.

A
Coastal track
6–10″
50%
B
Benchmark, colder
10–14″
30%
C
Inland, mixing
2–5″ + ice
20%

Deciding factor: where the low tracks past the 40/70 benchmark.Illustration

Explore the Storm Desk
Snow total at your place, by model run Illustration
0″3″6″9″12″15″18″What fell: 7.3″Sat12zSun00zSun12zMon00zMon12zTue00zTue12zWed00zWed12zThu00z
Five days out the range was 2–17″. Watching that range narrow is the whole story.
Now · live mode

While it's happening, it goes live.

When a Storm Desk storm reaches one of your places, or severe storms or heavy rain come close, the app goes live: what's falling right now, how hard, the next three hours in 15-minute steps, and what's being reported around you. It switches itself on and off.

Before Storm DeskDuring NowAfter Past storms
Explore Now
Your place · nowradar 6:30 PM
Snow0.6″/h ↑Moderate, picking up. Changed from sleet at 5:40 PM. Snow line 6 mi south, moving south.Nearest airport 6:25 PM · light snow · vis 1¼ mi · 31°F
So far2.4″
Liquid0.41″
WindNE 14 G28
Temp31°F
Next 3 hours15 min · observed | HRRR
5:306:30 now7:308:309:30
Heaviest 7:30–9 PM, 1–1.5″/h. Tapering by 10 PM. Another 3–5″ by midnight.
6:28 PMReport4.0″ snow, 10 mi N · trained spotter
6:15 PMSPCSnow rates 1–2″/h spreading southeast
6:02 PMObs6 of 7 airports within 25 mi report snow
5:40 PMHereSleet → snow (radar and the airport agree) · push sent
4:05 PMNWSWinter Storm Warning continues until 7 AM
Scorecard · forecast vs what fell

Then it checks its homework.

Every model is scored every day against real weather stations, and a blend weights them by how well they've done lately. After each storm, the forecasts are lined up against measured snow and rain: who called it, and how early.

High temperature error, last 30 days Illustration
Your blend
2.1°
ECMWF IFS
2.4°
NBM
2.6°
HRRR
2.9°
GFS
3.3°
GEM
3.6°

Average miss in °F. ECMWF IFS data © ECMWF, CC BY 4.0.

Measured
7.3″
snow at your place
Closest, 3 days out
EPS mean
© ECMWF
First run within 1″
Mon 12z
66 hours ahead
In the works · Learn the Sky

Climb the atmosphere.

A meteorology course inside the app, taught on the weather where you are. Five levels, from "what does 40% chance mean?" to forecasting like a professional, with every lesson worked in the live app and a forecast contest alongside.

5
levels, surface to jet stream
~165 h
to the top
Explain mode on every chartForecast contestReplay past storms
Explore Learn the Sky
Surface0Weather literacy~3 h850 mb1.5 km1How the atmosphere works~15 h500 mb5.5 km2Forecasting fundamentals~25 h300 mb9 km3The professional core~120 hJet stream10.5 km4Forecasteropen-endedYour place
How it's built

From raw model output to the map in your hand.

1 · Ingest

Reads each run's index and downloads only the GRIB records it needs, by byte range, the moment a forecast hour lands on the NOAA and ECMWF open-data servers. If a mirror throttles, it moves to the next.

2 · Process

Regrids every field with precomputed indices and stores it as a float16 grid, so any point forecast is a single array lookup. Soundings, CAPE, precipitation type and snow ratios are derived in plain numpy.

3 · Live feeds

MRMS radar every two minutes, NEXRAD Level II decoded straight from the raw bytes, GOES GLM lightning, NWS warnings and SPC outlooks, each fetched once nationally and cut to the places in use.

4 · Client

An installable web app. The browser colors the model values itself with WebGL, so maps stay sharp at any zoom and the number under your cursor is the real one.

13
models and ensembles
64
kinds of map, from rain to the jet stream
2 min
between national radar frames
~2 s
to decode a raw radar volume
PythonFastAPInumpyecCodesAPSchedulerSvelte 5MapLibre GLWebGL2PMTilesDocker
WX

The forecast you'd build
if you could see everything.

WX is private and isn't open for sign-ups. This page shows what it does with nothing but public weather data.

Back to the top ↑