towerpy.eclass.nme#

Towerpy: an open-source toolbox for processing polarimetric radar data.

Classes#

NME_ID

A class to identify non-meteorlogical echoes within radar data.

Module Contents#

class towerpy.eclass.nme.NME_ID(radobj=None)[source]#

A class to identify non-meteorlogical echoes within radar data.

Attributes#

elev_anglefloat

Elevation angle at which the scan was taken, in deg.

file_namestr

Name of the file containing radar data.

scandatetimedatetime

Date and time of scan.

site_namestr

Name of the radar site.

echoesIDdict
Key/values of the ME/NME classification:

‘pcpn’ = 0

‘noise’ = 3

‘clutter’ = 5

nme_classifdict

Results of the clutter classification.

varsdict

Radar variables with clutter echoes removed.

elev_angle = None[source]#
file_name = None[source]#
scandatetime = None[source]#
site_name = None[source]#
lsinterference_filter(rad_georef, rad_vars, data2correct=None, rhv_min=0.3, classid=None, plot_method=False)[source]#

Filter linear signatures and speckles.

Parameters#

rad_georefdict

Georeferenced data containing descriptors of the azimuth, gates and beam height, amongst others.

rad_varsdict

Radar variables used to identify the LS and speckles.

rhv_minfloat, optional

Minimal threshold in rhoHV [-] used to discard non-meteorological scatterers. The default is 0.3

classiddict, optional

Modifies the key/values of the LS/Despeckling results (echoesID). The default are the same as in echoesID (see class definition).

data2correctdict, optional

Variables into which LS ans speckles are removed. The default is None.

plot_methodbool, optional

Plot the LS/speckles classification method. The default is False.

Notes#

1. Radar variables should already be (at least) filtered for noise to ensure accurate and reliable results.

clutter_id(rad_georef, rad_params, rad_vars, path_mfs=None, min_snr=0, binary_class=255, clmap=None, classid=None, data2correct=None, plot_method=False)[source]#

Classify between weather and clutter echoes.

Parameters#

rad_georefdict

Georeferenced data containing descriptors of the azimuth, gates and beam height, amongst others.

rad_paramsdict

Radar technical details.

rad_varsdict

Radar variables used to identify the clutter echoes.

path_mfsstr, optional

Location of the membership function files.

min_snrfloat, optional

Reference noise value. The default is 0.

binary_classint
Binary code used for clutter classification:

\(\rho_{HV} = 128\)

\(CM = 64\)

\(LDR = 32\)

\(V = 16\)

\(\sigma(\rho_{HV}) = 8\)

\(\sigma(\Phi_{DP}) = 4\)

\(\sigma(Z_{DR}) = 2\)

\(\sigma(Z_{H}) = 1\)

The default is 255, i.e. all the variables are used.

clmaparray, optional

Clutter frequency map in the interval [0-1]. The default is None.

classiddict, optional

Modifies the key/values of the clutter classification results (echoesID). The default are the same as in echoesID (see class definition).

data2correctdict, optional

Variables into which clutter echoes are removed. The default is None.

plot_methodbool, optional

Plot the clutter classification method. The default is False.

Notes#

1. Make sure to define which radar variables are used in the classification by setting up the parameter ‘binary_class’.

2. This function uses the shared object ‘lnxlibclutterclassifier’ or the dynamic link library ‘w64libclutterclassifier’ depending on the operating system (OS).

  1. Based on the method described in [1]

References#

Examples#

>>> rnme = tp.eclass.nme.NME_ID(rdata)
>>> rnme.clutter_id(rdata.georef, rdata.params, rsnr.vars,
                    binary_class=159, min_snr=rsnr.min_snr)

binary_class = 159 -> (128+16+8+4+2+1) i.e. \(\rho_{HV} + V + \sigma(\rho_{HV}) + \sigma(\Phi_{DP}) + \sigma(Z_{DR}) + \sigma(Z_{H})\)