Skip to main content

CompositeReflectivity

Struct CompositeReflectivity 

Source
pub struct CompositeReflectivity;
Expand description

Composite reflectivity (CREF) — the maximum reflectivity at each geographic point across all elevation tilts.

This is one of the most commonly used derived products in operational meteorology. It provides a plan view of the strongest echoes in the scan regardless of altitude, making it useful for identifying convective storms.

§Algorithm

For each cell in the output geographic grid:

  1. Convert the cell center to a polar coordinate for each elevation tilt
  2. Sample the reflectivity value at that polar coordinate from each sweep field
  3. Take the maximum valid value across all tilts

§Example

use nexrad_process::derived::CompositeReflectivity;
use nexrad_process::ScanDerivedProduct;

let cref = CompositeReflectivity;
let field = cref.compute(&scan, &ref_fields, &coord_sys, &extent, (800, 800))?;

Trait Implementations§

Source§

impl ScanDerivedProduct for CompositeReflectivity

Source§

fn name(&self) -> &str

A human-readable name for this product.
Source§

fn compute( &self, _scan: &Scan, fields: &[SweepField], coord_system: &RadarCoordinateSystem, output_extent: &GeoExtent, output_resolution: (usize, usize), ) -> Result<CartesianField>

Compute the derived product from the scan. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.