Doppler and polarimetric spectra#

The bulk polarimetric observables in rustmatrix.radar are velocity-integrated. The modules under rustmatrix.spectra keep the velocity dimension — they return the scattering matrix as a function of Doppler velocity so you can look at where in the spectrum a given hydrometeor type lives. This is the regime of cloud-radar retrievals [Billault-Roux et al., 2023, Kollias et al., 2002, Lakshmi K. et al., 2024, Zhu et al., 2023].

Line-of-sight Doppler model#

For a vertically-pointing radar, the observed line-of-sight velocity of a drop of diameter \(D\) is

\[ v(D) = v_t(D) + w + \epsilon_t(D) + \epsilon_\mathrm{beam}(\mathbf{u}_h), \]

where

  • \(v_t(D)\) is terminal fall speed,

  • \(w\) is the mean vertical air motion,

  • \(\epsilon_t\) is a diameter-dependent turbulence broadening, and

  • \(\epsilon_\mathrm{beam}\) is the deterministic beam-broadening from horizontal wind \(|\mathbf{u}_h|\) through a beam of full-width \(\theta_b\).

Sign convention: positive velocity = toward a down-pointing radar = fall direction. Flip the sign of v_bins and w for up-looking geometries.

Fall-speed presets#

rustmatrix.spectra ships several \(v_t(D)\) relations so the tutorials can reproduce published results exactly:

Function

Regime

Notes

atlas_srivastava_sekhon_1973

rain

simple exponential fit; one-liner

brandes_et_al_2002

rain

4th-order polynomial, 0.1–8 mm

beard_1976(T, P)

rain, arbitrary \((T, P)\)

Brandes + [Beard, 1977] density correction

locatelli_hobbs_1974_*

snow / graupel

power laws by habit

Drop in your own \(v_t(D)\) as any callable — pass a function returning fall speed in m/s for diameter in mm.

Turbulence broadening#

Subgrid turbulence smears each drop’s Doppler return by a Gaussian of width \(\sigma_t(D)\). Two kernels are wired up:

  • Single-Gaussian — one \(\sigma_t\) applied to every diameter; cheap and conventional.

  • Particle-inertia (Zhu 2023) — solves a drag ODE per drop, so heavier drops see narrower broadening than lighter drops [Zhu et al., 2023]. The tutorial reproduces their Fig. 4 showing that conventional broadening over-smooths the spectrum.

Beam broadening#

For a vertically-pointing radar in horizontal wind \(\mathbf{u}_h\) with Gaussian beam full-width-half-maximum \(\theta_b\),

\[ \sigma_\mathrm{beam} = \frac{|\mathbf{u}_h|\,\theta_b}{2\sqrt{2 \ln 2}} \]

[Doviak and Zrnić, 1993], §5.3, in the small-\(\theta_b\) limit. The convolution of \(\sigma_\mathrm{beam}\) with \(\sigma_t(D)\) in quadrature is exact when the beam is narrow enough that every scatterer inside it sees the same mean wind. When that assumption breaks (deep convection, scan geometries, strong shear across the beam), use rustmatrix.spectra.beam for explicit pattern × scene integration — see the beam-integration page.

Noise#

Real receivers have thermal noise. Pass noise= to SpectralIntegrator:

  • None — signal only (default).

  • "realistic"realistic_noise_floor(wavelength) picks a band- appropriate floor.

  • float — total noise reflectivity in mm⁶ m⁻³, spread uniformly across velocity bins.

  • (noise_h, noise_v) — separate per-channel noise.

Noise is uncorrelated between H and V, so it adds incoherently to sZ_h and sZ_v; signal-only scattering matrices are preserved so that bulk integration still round-trips to the radar.* answers.

Spectral polarimetric observables#

Given S_spec(v) and Z_spec(v) on a velocity grid, the per-bin analogues of the bulk observables are

\[\begin{split} \begin{aligned} sZ_h(v) &= (\lambda^4 / \pi^5 |K_w|^2) \, |S_{hh}^b(v)|^2 \, \Delta v^{-1}, \\ sZ_{dr}(v) &= 10 \log_{10} (sZ_h / sZ_v), \\ sK_{dp}(v) &\propto \Re [S_{vv}^f(v) - S_{hh}^f(v)], \\ s\rho_{hv}(v) &= \text{normalised cross-product per bin}, \end{aligned} \end{split}\]

each evaluated bin-by-bin by applying the bulk radar.* formulas to the per-bin scattering matrix. See the spectral polarimetry tutorial for the Billault-Roux et al. snowfall case study and tutorial 12 for Lakshmi et al. hail.

HydroMix spectra#

S_spec and Z_spec are linear in \(N(D)\), so a rustmatrix.hd_mix.HydroMix of multiple species is handled by summing per-component spectra on a shared velocity grid — with different fall-speed and turbulence kernels per species. The SLW-vs-snow tutorial exercises this end-to-end.

Further reading#

[Bea77]

K. V. Beard. Terminal velocity adjustment for cloud and precipitation drops aloft. Journal of the Atmospheric Sciences, 34(8):1293–1298, 1977. doi:10.1175/1520-0469(1977)034<1293:TVAFCA>2.0.CO;2.

[BRGJ+23] (1,2)

A.-C. Billault-Roux, G. Ghiggi, L. Jaffeux, A. Martini, N. Viltard, and A. Berne. Dual-frequency spectral radar retrieval of snowfall microphysics: a physics-driven deep-learning approach. Atmospheric Measurement Techniques, 16:911–940, 2023. doi:10.5194/amt-16-911-2023.

[DZrnic93] (1,2)

R. J. Doviak and D. S. Zrnić. Doppler Radar and Weather Observations. Academic Press, 2nd edition, 1993.

[KAMJr02] (1,2)

P. Kollias, B. A. Albrecht, and F. D. Marks Jr. Why Mie? Accurate observations of vertical air velocities and raindrop size distributions using a cloud radar. Bulletin of the American Meteorological Society, 83(10):1471–1483, 2002. doi:10.1175/BAMS-83-10-1471.

[LKSBC24] (1,2)

K. Lakshmi K., S. Sahoo, S. K. Biswas, and V. Chandrasekar. Characterization of hydrometeors using C-band dual-polarization Doppler spectra. Journal of Atmospheric and Oceanic Technology, 2024. doi:10.1175/JTECH-D-23-0078.1.

[ZKY23] (1,2,3)

Z. Zhu, P. Kollias, and F. Yang. Particle inertia effects on radar Doppler spectra simulation. Atmospheric Measurement Techniques, 16:3727–3737, 2023. doi:10.5194/amt-16-3727-2023.