WSR-88D · Springfield-Branson National Airport · 37.2352° N, 93.4006° W
KSGF, Decoded
This is not a radar API. It’s the raw Level 2 feed from Springfield’s own dish, decoded byte-by-byte and drawn below.
fetching the latest volume scan…
no returns — a quiet sky
Theory of operation
The dish
KSGF is one of 160 WSR-88D (“NEXRAD”) radars NOAA operates. Every 4–10 minutes it completes a volume scan: a full 360° sweep at each of several tilt angles, lowest first. As the dish turns, the raw data streams into a public S3 bucket, s3://unidata-nexrad-level2-chunks, in ~50 KB pieces anyone can read, seconds after they leave the radar. Most radar apps buy this data back from an API vendor. This page skips the middleman.
The decode
A server route finds the newest volume’s chunk directory under KSGF/, pulls the front of it — the lowest tilt lives in the first few chunks, so the full 4–12 MB volume never crosses the wire — and hands the pieces to nexrad-level-2-data (MIT), which implements NOAA’s ICD 2620002 wire format in JavaScript. We ship the lowest tilt’s reflectivity (or, in velocity mode, the Doppler channel — how fast rain is moving toward or away from the dish): ~720 radials × ~460 gates, quantized to one byte per gate and shipped as base64 — a few hundred KB that gzips to a fraction of that. The loop button replays the last six volume scans, which is all storm motion is.
dBZ -> byte: b = clamp(round((dBZ + 33) × 2) + 1, 1, 255); 0 = no echo
byte -> dBZ: dBZ = (b − 1) / 2 − 33The render
The browser walks every pixel of the disc once: pixel → polar coordinates → gate lookup → classic NWS color table. 640×640 pixels resolve in a few milliseconds of plain JavaScript — no WebGL, no map SDK. Below 5 dBZ is drawn transparent, the same threshold TV stations use so dust and bugs don’t paint the whole screen green. Cores above 50 dBZ get a soft bloom, and the rotating sweep line is pure decoration — the data underneath updates every few minutes, not every twelve seconds.
One honest caveat: the feed can run a scan or two behind the dish. When the sky turns mean, use a real warning source — this page is an exhibit, not a shelter plan.
Why this is on a consulting site
Because “expensive vendor product” and “free public data plus 300 lines of code” are the same picture more often than anyone admits. Finding those gaps in a business’s software bills is roughly the job description. We take requests.
$ ls /observatory
The Observatory · all experiments
The Living Ozarks · live sky + river
Local on the 8s · 1990s forecast
Ozarks From Above · 3D terrain
Winds Over the Ozarks · live wind field
Everything here runs on open data and open source, glued together in an afternoon or two. If your business has a “we could never build that” on the shelf, let’s talk.