Windfield

a million particles, one real NOAA wind snapshot

SourceNOAA GFS · 10 m wind
Validreading forecast
Particles1,048,576
Render-- fps

Wind speed · m/s
01020+

one fixed forecast hour · not a live feed

1.0M
1.0×
60%
drag to pan · scroll to zoom
Built by Safeer Ali Mirani · Email · GitHub · LinkedIn
GitHub ↗

Windfield

About a million particles pushed through one real hour of NOAA wind, in the browser with WebGPU.

Data

NOAA GFS, the US National Weather Service global forecast. One 6-hourly cycle of 10 m wind, the eastward and northward components, regridded to 360 by 180. Public domain. The exact forecast time is in the panel.

Pipeline

A short Python script pulls a GRIB2 subset from NOAA NOMADS, packs u into the red channel and v into green of one small PNG, and stores the value ranges and cycle time next to it.

Coastlines

Natural Earth 1:110m coastline, also public domain, so you can tell where you are.

Render

Particle positions live in a GPU buffer. A hand-written WGSL compute shader samples the wind under each particle and steps it forward, respawning strays so the field stays even. Trails build up in a floating-point buffer that fades each frame, then a tonemap keeps the fastest winds from clipping to white.

Not live

This is one fixed forecast hour, not a live feed. Re-running the script refreshes it to the latest cycle.

starting