Expand description
Processing algorithms for NEXRAD weather radar data.
This crate provides processing traits and algorithms that operate on the field types
defined in nexrad_model. The core abstraction is the SweepProcessor trait,
which transforms one SweepField into another. Processors can be composed into
pipelines using SweepPipeline.
§Architecture
Three processing traits cover different scopes:
SweepProcessor— single-sweep algorithms (filtering, smoothing)ScanProcessor— multi-elevation algorithms (velocity dealiasing)ScanDerivedProduct— produces aCartesianFieldfrom a full scan (composite reflectivity, VIL)
§Example
ⓘ
use nexrad_process::{SweepPipeline, filter::ThresholdFilter};
use nexrad_model::data::{SweepField, Product};
let field = SweepField::from_radials(sweep.radials(), Product::Reflectivity).unwrap();
let filtered = SweepPipeline::new()
.then(ThresholdFilter { min: Some(5.0), max: None })
.execute(&field)?;Re-exports§
pub use pipeline::SweepPipeline;pub use result::Error;pub use result::Result;
Modules§
- derived
- Derived products computed from radar scans. Derived products computed from radar scans.
- detection
- Storm cell detection algorithms. Storm cell detection algorithms.
- filter
- Filtering algorithms for sweep field data. Filtering algorithms for sweep field data.
- pipeline
- Composable processing pipelines.
- result
- Result and error types for processing operations. Result and error types for NEXRAD processing operations.
Traits§
- Scan
Derived Product - Produces a
CartesianFieldfrom a full scan. - Scan
Processor - Processes fields with full scan context (multiple elevations).
- Sweep
Processor - Transforms one
SweepFieldinto another.