How Nexrad 3D Works

Architecture, ingest flow, and WebGL volume rendering pipeline.

Nexrad 3D is a web-native platform that provides real-time, three-dimensional weather radar visualization. The platform captures NEXRAD Level II streams, processes raw radial moments, and renders atmospheric volume directly in the browser using hardware-accelerated ray marching.

Architecture Overview

  • Ingest Worker: Background poller for new upstream radar objects.
  • Radar Parser: Extracts binary Message 31 sweeps and ODIM H5 data.
  • Frontend + API: Interactive UI and compact radial artifact delivery.
  • Redis + Object Storage: Event fanout, state coordination, and blob persistence.

1. Data Ingestion & Processing

Radar sites publish elevation sweeps that are grouped into a single volume. The ingest-worker discovers new volumes, downloads raw binaries, and parses moments such as REF and VEL.

The parser transforms large raw arrays into optimized artifacts, then emits a Redis event to signal downstream clients that the newest volume is available.

2. Transport & Delivery

Instead of shipping heavy meshes, the API returns dense radial arrays and metadata. This reduces transfer cost while preserving volumetric fidelity for GPU-side reconstruction.

3. 3D WebGL Rendering (Volume Ray Marching)

Nexrad 3D uses a custom ray marching pipeline on top of three.js and maplibre-gl. The atmospheric field is uploaded as texture data and sampled per fragment in the shader.

  1. Re-project camera space into radar spherical coordinates.
  2. Sample radial indices to get localized reflectivity or moment values.
  3. Map values through product color scales.
  4. Discard low-value noise with threshold filtering.

Globe View vs. Local View

  • Globe View: Projects radar onto a world map with synchronized map interactions.
  • Local View: Focused orbital inspection around a single site for vertical storm structure analysis.

Inspired by OpenStorm and open-source weather analysis tooling.