wradlib.clutter.classify_echo_fuzzy(dat, weights=None, trpz=None, thresh=0.5)[source]#

Fuzzy echo classification and clutter identification based on polarimetric moments.

The implementation is based on [Vulpiani et al., 2012]. At the moment, it only distinguishes between meteorological and non-meteorological echos.

Changed in version 1.4.0: The implementation was extended using depolarization ratio (dr) and clutter phase alignment (cpa).

For Clutter Phase Alignment (CPA) see [Hubbert et al., 2009a] and [Hubbert et al., 2009b]

For each decision variable and radar bin, the algorithm uses trapezoidal functions in order to define the membership to the non-meteorological echo class. Based on pre-defined weights, a linear combination of the different degrees of membership is computed. The echo is assumed to be non-meteorological in case the linear combination exceeds a threshold.

At the moment, the following decision variables are considered:

  • Texture of differential reflectivity (zdr) (mandatory)

  • Texture of correlation coefficient (rho) (mandatory)

  • Texture of differential propagation phase (phidp) (mandatory)

  • Doppler velocity (dop) (mandatory)

  • Static clutter map (map) (mandatory)

  • Correlation coefficient (rho2) (additional)

  • Depolarization Ratio (dr), computed from correlation coefficient & differential reflectivity (additional)

  • clutter phase alignment (cpa) (additional)

  • dat (dict) – dictionary of arrays. Contains the data of the decision variables. The shapes of the arrays should be (…, number of beams, number of gates) and the shapes need to be identical or be broadcastable.

  • weights (dict) – dictionary of floats. Defines the weights of the decision variables. Default is: zdr: 0.4, rho: 0.4, phi: 0.1, dop: 0.1, map: 0.5, rho2: 0.4, dr: 0.4, cpa: 0.4.

  • trpz (dict) – dictionary of lists of floats. Contains the arguments of the trapezoidal membership functions for each decision variable. Default is: zdr: [0.7, 1.0, 9999, 9999], rho: [0.1, 0.15, 9999, 9999], phi: [15, 20, 10000, 10000], dop: [-0.2, -0.1, 0.1, 0.2], map: [1, 1, 9999, 9999], rho2: [-9999, -9999, 0.95, 0.98], dr: [-20, -12, 9999, 9999], cpa: [0.6, 0.9, 9999, 9999].

  • thresh (float) – Threshold below which membership in non-meteorological membership class is assumed.


output (tuple) – a tuple of two boolean arrays of same shape as the input arrays The first array boolean array indicates non-meteorological echos based on the fuzzy classification. The second boolean array indicates where all the polarimetric moments had missing values which could be used as an additional information criterion.