Skip to content
Dao Wang edited this page Sep 29, 2025 · 19 revisions

Table of Contents

Introduction

This Python package calculates the radar backscatter cross-section for snowflakes, including oblate and prolate shapes.
It is applicable to radar wavelengths ranging from 10 to 183 GHz, no longer than ice particle sizes.

Installation

First, install the pytmatrix package by following the instructions on its GitHub Wiki.

Then, clone this repository:

git clone https://github.com/ddaaoo123/Radar_Tmatrix.git

User Inputs

In run_pytmatrix.py:

Input Variable Description Data type
hifreq_vec Radar frequencies in GHz. np.array
spheroidtype For calculating the snowflake mass and volume. 'oblate' or 'prolate' string
ice_material Gather information regarding the snowflake refractive index. Default: RefractiveIndexMaterial(shelf='main', book='H2O', page='Warren-2008') function/class
ar_inv_sel_vec Aspect ratio for the snowflakes np.array
rad_elev_array Radar elevation angles. radar elevation = 90 - incident zenith np.array
Dmax Snowflake maximum diameter [mm] np.array
mD_relation Snowflake m–D relationship. Default: 'myown': m = a*D^b string
myown_a_array a component in m-D relationship. b component is then calculated. Default: b = 3.457 + 0.51*log10(a) based on https://doi.org/10.1175/JAMC-D-16-0222.1 np.array

Outputs

NetCDF Output Variables

Variable Name Description Units Dimensions
rad_elev Radar elevation angle degrees rad_elev
Dmax Snowflake maximum dimension cm Dmax
canting_degree Canting degree degrees canting_degree
ssrga_cross_section SSRGA Radar backscatter cross section cm² rad_elev, Dmax
rayleigh_cross_section_h Rayleigh backscatter (horizontal polarization) cm² rad_elev, Dmax
rayleigh_cross_section_v Rayleigh backscatter (vertical polarization) cm² rad_elev, Dmax
sigma_co_nocant_h T-Matrix backscatter (horizontal, no canting) cm² rad_elev, Dmax
sigma_co_nocant_v T-Matrix backscatter (vertical, no canting) cm² rad_elev, Dmax
sigma_co_cant_h T-Matrix backscatter (horizontal, with canting) cm² rad_elev, Dmax, canting_degree
sigma_co_cant_v T-Matrix backscatter (vertical, with canting) cm² rad_elev, Dmax, canting_degree
backscatter_amplitude_matrix_nocant_real Real part of scattering amplitude matrix (no canting) cm rad_elev, Dmax, Smat_dim1, Smat_dim2
backscatter_amplitude_matrix_nocant_imag Imaginary part of scattering amplitude matrix (no canting) cm rad_elev, Dmax, Smat_dim1, Smat_dim2
backscatter_amplitude_matrix_cant_real Real part of scattering amplitude matrix (with canting) cm rad_elev, Dmax, Smat_dim1, Smat_dim2, canting_degree
backscatter_amplitude_matrix_cant_imag Imaginary part of scattering amplitude matrix (with canting) cm rad_elev, Dmax, Smat_dim1, Smat_dim2, canting_degree
backscatter_amplitude_matrix_nocant Complex scattering amplitude matrix (no canting) cm rad_elev, Dmax, Smat_dim1, Smat_dim2
backscatter_amplitude_matrix_cant Complex scattering amplitude matrix (with canting) cm rad_elev, Dmax, Smat_dim1, Smat_dim2, canting_degree

Global Attributes

  • am: Coefficient ( a ) in the m–D relationship
  • bm: Coefficient ( b ) in the m–D relationship
  • aspect_ratio: Inverse aspect ratio used in shape modeling

References

  • Leinonen, J., High-level interface to T-matrix scattering calculations: architecture, capabilities and limitations, Opt. Express, vol. 22, issue 2, 1655-1660 (2014), doi: 10.1364/OE.22.001655.

  • Leinonen, J., Python code for T-matrix scattering calculations. Available at https://github.com/jleinonen/pytmatrix/.

  • M. N. Polyanskiy. Refractiveindex.info database of optical constants. Sci. Data 11, 94 (2024),https://doi.org/10.1038/s41597-023-02898-2

  • Gergely, M., and T. J. Garrett (2016), Impact of the natural variability in snowflake diameter, aspect ratio, and orientation on modeled snowfall radar reflectivity, J. Geophys. Res. Atmos., 121, 12,236–12,252, doi:10.1002/2016JD025192.