towerpy.eclass.nme#
Towerpy: an open-source toolbox for processing polarimetric radar data.
Classes#
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.
- 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).
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})\)