A smooth radar loop begins as numbers, not a ready-made movie. Forecast Bar moves a national scan through tiles, verification, caching and on-device rendering, then handles the gaps between scans so storms can move smoothly across the screen.
One national scan, about sixteen million values
NOAA merges radar observations into a national scan every two minutes. The scan used in this film contains 6,100 by 2,700 points: 16,470,000 values. Forecast Bar’s server checks for a new scan every twenty seconds.
Those are different clocks. Checking every twenty seconds does not create a new observation every twenty seconds. Likewise, a display that refreshes many times per second is not receiving that many new radar scans.
Send values and add the colour later
The radar travels as numbers, one byte per point. The phone adds colour when it draws the map. This separates the underlying radar values from the palette the viewer sees.
Individual radars do not sweep in sync. Where one is late, its data is eased toward its next real scan. The film describes that as working between real scans rather than inventing another observation.
Build complete frames from verified tiles
Each frame is cut into tiles. A tile borrows a one-pixel border from its neighbours so the displayed pieces meet without seams. Every tile also receives a SHA-256 fingerprint.
A frame goes live only when all of its tiles pass verification. Once published, it never changes. The tiles needed for the screen arrive together as one file in one request, rather than appearing as a series of incomplete pieces.
Keep immutable frames nearby
Because a published frame does not change, edge caches can retain it for a year. A cached old frame is still that frame; finding the latest scan is a separate job.
On the device, tiles stack into GPU memory and colour is applied per pixel at draw time. The film’s measured autoplay result was about a second and a half. That measures readiness to play the loop, not the age of a radar observation or a universal delivery time.
Move storms between scans instead of simply fading
Storms keep moving during the minutes between observations. A plain crossfade shows the old storm fading out while the new one fades in, producing two faint copies.
The GPU instead estimates a motion field and moves the echoes along their paths between frames. The result can update on the screen’s next refresh, with up to 120 Hz on capable displays. That is a display ceiling, not a promise for every device, and it does not increase the observation frequency.
What to take away
Use these checks next time:
- Separate scan cadence, server checks and display refresh.
- Read the timestamp even when the animation looks continuous.
- Understand smooth motion as rendering between scans, not new radar observations.