#radar #nexrad #weather #meteorology #noaa

nexrad-render

Rendering functions for NEXRAD weather radar data visualization

4 releases

new 1.0.0-rc.4 Feb 28, 2026
1.0.0-rc.3 Jan 24, 2026
1.0.0-rc.1 Jan 19, 2026

#452 in Visualization

MIT license

3MB
4.5K SLoC

Rendering functions for NEXRAD weather radar data.

This crate provides functions to render radar data into visual images. It converts radar moment data (reflectivity, velocity, etc.) into color-mapped images that can be saved to common formats like PNG.

Example

use nexrad_model::data::Product;
use nexrad_render::{render_radials, RenderOptions, nws_reflectivity_scale};

let options = RenderOptions::new(800, 800);
let image = render_radials(
    sweep.radials(),
    Product::Reflectivity,
    &nws_reflectivity_scale(),
    &options,
).unwrap();

// Save directly to PNG
image.save("radar.png").unwrap();

Crate Boundaries

This crate provides visualization and rendering with the following responsibilities and constraints:

Responsibilities

  • Render radar data to images (image::RgbaImage)
  • Apply color scales to moment data
  • Handle geometric transformations (polar to Cartesian coordinates)
  • Consume nexrad-model types (Radial, MomentData)

Constraints

  • No data access or network operations
  • No binary parsing or decoding

This crate can be used standalone or through the nexrad facade crate (re-exported via the render feature, which is enabled by default).


NEXRAD Render

Crates.io Docs.rs Rust CI

Functions for rendering NEXRAD weather radar data into visual images. Supports multiple radar products including reflectivity, velocity, and spectrum width with configurable color scales.

Dependencies

~9.5MB
~199K SLoC