How to get wind tiles for your next wind visualization
Quick (and open-source) way to build wind visualizations
(thanks to Henry Rodman for the vrt and vsicurl hints below)
Step 1: Find the right GRIB2 file
Browse NOAA’s HRRR model (limited to CONUS, see below for global options) via the ASDI bucket.
File structure:
s3://noaa-hrrr-bdp-pds/hrrr.YYYYMMDD/conus/hrrr.t{HH}z.wrfsfcf{XX}.grib2
t{HH}z
= model run hourf{XX}
= forecast hour (f00
is analysis,f01
–f48
are 1–48h forecasts)
Example URL for wind at 10m on 2025-05-12 06Z, 4-hour forecast:
https://noaa-hrrr-bdp-pds.s3.amazonaws.com/hrrr.20250512/conus/hrrr.t06z.wrfsfcf04.grib2
Step 2: Understand the wind data
Wind data is split into two bands:
- U = east-west component (positive = eastward)
- V = north-south component (positive = northward)
You’ll need both bands for visualization.
Step 3: Create the TiTiler URL
Use vsicurl
to let TiTiler access the remote GRIB2 file directly:
https://your-titiler-instance.xyz/cog/preview.png?rescale=-127,128&url=vrt:///vsicurl/https://noaa-hrrr-bdp-pds.s3.amazonaws.com/hrrr.20250512/conus/hrrr.t06z.wrfsfcf04.grib2
Step 4: Extract wind bands
Get the U and V wind components (in this case, bands 10 and 11):
https://your-titiler-instance.xyz/cog/preview.png?rescale=-127,128&url=vrt:///vsicurl/https://noaa-hrrr-bdp-pds.s3.amazonaws.com/hrrr.20250512/conus/hrrr.t06z.wrfsfcf04.grib2?bands=10,11&format=png
This gives you the necessary tiled wind png, ready for visualization. It should look something like this one:

Step 5: Visualize with DeckGL
Pass your complete TiTiler URL to the ParticleLayer
from WeatherLayers in Deck.GL:
new ParticleLayer({
id: 'wind-particles',
image: 'THE_URL_GOES_HERE',
imageType: 'VECTOR',
imageUnscale: [-127, 128],
bounds: [-134.1214, 21.1222, -60.8912, 52.6287],
clipBounds: [-134.1214, 21.1222, -60.8912, 52.6287],
// rest of the config
})
The result should look something like this:
What about GFS?
I haven’t tested it yet, but the same approach should work for GFS data (NOAA GFS on AWS) with the only difference being the path structure.