Confusion with wradlib.clutter.classify_echo_fuzzy

Dear wradlib users and developers,

I’m very glad to join this community and I would like to get more information about the python module wradlib.clutter.classify_echo_fuzzy implemented in wradlib for echo-classification.

I have some doubts and I would be very grateful if someone could help me:

  1. which kind of static clutter map should be used in input in wradlib.clutter.classify_echo_fuzzy? For example, it should be a matrix filled with integers representing ordinals of the elevations free from clutter in each bin(0 stands for first elevation free from clutter, 1 for second elevation…) or it should be filled with the first free elevation angle for each bin or something else?
  2. Should nodata be masked or set to nan in each input field? Should bins affected from clutter in the static clutter map, for a given elevation, be masked or be set to nan too?

Thanks a lot for your patience and attention!

Hi Chiara,

I’m a bit confused you are talking about cluttermap as input.

The input of this function are polarimetric moments and their respective membership functions, see wradlib.clutter.classify_echo_fuzzy — wradlib.

An example you could follow is in the tutorial section of the wardlib docs Simple fuzzy echo classification from dual-pol moments — wradlib.

Hi Chiara,

Got it now, yes the cluttermap is part of the input moments. Essentially it is a 2d array (as the other moments) representing a number between 0 and 1 (0 no clutter, 1 clutter) for each bin. The map should be created from a certain sweep, and the moments should be measured at the same elevation.


thank you very much for your explanation.
I have then found the files used in the wradlib tutorial, in wradlib-data/netcdf at main · wradlib/wradlib-data · GitHub and wradlib-data/TAG_cmap_sweeps_0204050607.hdf5 at main · wradlib/wradlib-data · GitHub.
As you have replied, the clutter map used in the tutorial is a boolean array (matrix of 1 and 0 if we use the numeric values).

Finally, would you recommend to mask nodata bins, by setting them to nan, for the other mandatory fields (such as zdr or rhohv)?

Thank you very much again!

1 Like

Hi @Chiara,

I think I can’t answer your last question to the last extend. But if you want to make sure that no nodata bins accidentally end up in your evaluations then mask them. Another option would be to apply the nodata-mask to the output.