pyart.retrieve.hydroclass_semisupervised#

pyart.retrieve.hydroclass_semisupervised(radar, hydro_names=('AG', 'CR', 'LR', 'RP', 'RN', 'VI', 'WS', 'MH', 'IH/HDG'), var_names=('Zh', 'ZDR', 'KDP', 'RhoHV', 'relH'), mass_centers=None, weights=array([1., 1., 1., 0.75, 0.5]), value=50.0, lapse_rate=-6.5, refl_field=None, zdr_field=None, rhv_field=None, kdp_field=None, temp_field=None, iso0_field=None, hydro_field=None, entropy_field=None, radar_freq=None, temp_ref='temperature', compute_entropy=False, output_distances=False, vectorize=False)[source]#

Classifies precipitation echoes into hydrometeor types.

The hydroclass_semisupervised function classifies precipitation echoes in the polarimetric radar data into 9 hydrometeor types using a semi-supervised approach (Besic et al., 2016).

Parameters:
  • radar (radar) – Radar object.

  • hydro_names (array of str) – name of the types of hydrometeors

  • var_names (array of str) – name of the variables

  • mass_centers (ndarray 2D, optional) – The centroids for each variable and hydrometeor class in (nclasses, nvariables).

  • weights (ndarray 1D, optional) – The weight given to each variable. Ordered by [dBZ, ZDR, KDP, RhoHV, H_ISO0]

  • value (float) – The value controlling the rate of decay in the distance transformation

  • lapse_rate (float) – The decrease in temperature for each vertical km [deg/km]

  • refl_field, zdr_field, rhv_field, kdp_field, temp_field, iso0_field (str) – Inputs. Field names within the radar object which represent the horizonal reflectivity, the differential reflectivity, the copolar correlation coefficient, the specific differential phase, the temperature (in deg celsius) and the height respect to the iso0 fields. A value of None for any of these parameters will use the default field name as defined in the Py-ART configuration file.

  • hydro_field (str) – Output. Field name which represents the hydrometeor class field. A value of None will use the default field name as defined in the Py-ART configuration file.

  • entropy_field (str) – Output. Field name which represents the entropy class field. A value of None will use the default field name as defined in the Py-ART configuration file.

  • radar_freq (str, optional) – Radar frequency in Hertz (Hz) used for classification. This parameter will be ignored, if the radar object has frequency information.

  • temp_ref (str) – the field use as reference for temperature. Can be either temperature or height_over_iso0

  • compute_entropy (bool) – If true, the entropy is computed

  • output_distances (bool) – If true, the normalized distances to the centroids for each hydrometeor are provided as output

  • vectorize (bool) – If true, a vectorized version of the class assignation is going to be used

Returns:

  • fields_dict (dict) – Dictionary containing the retrieved fields

  • The output directionary field_dict has the following keys

  • hydro (dict) –

    Hydrometeor classification.
    • 0: Not classified

    • 1: Aggregates

    • 2: Ice crystals

    • 3: Light rain

    • 4: Rimed particles

    • 5: Rain

    • 6: Vertically oriented ice

    • 7: Wet snow

    • 8: Melting hail

    • 9: Dry hail or high-density graupel

  • if compute_entropy is True

  • entropy (dict) – Shannon entropy of the hydrometeor demixing

  • if output_distances is True

  • propX (dict) – Proportion of a given hydrometeor class in the polarimetric decomposition of a radar volume

References

Besic, N., Figueras i Ventura, J., Grazioli, J., Gabella, M., Germann, U., and Berne, A.: Hydrometeor classification through statistical clustering of polarimetric radar measurements: a semi-supervised approach, Atmos. Meas. Tech., 9, 4425-4445, doi:10.5194/amt-9-4425-2016, 2016

Besic, N., Gehring, J., Praz, C., Figueras i Ventura, J., Grazioli, J., Gabella, M., Germann, U., and Berne, A.: Unraveling hydrometeor mixtures in polarimetric radar measurements, Atmos. Meas. Tech., 11, 4847–4866, https://doi.org/10.5194/amt-11-4847-2018, 2018.

Usage#

Notes

The default hydrometeor classification is valid for C-band radars. For X-band radars, if frequency information is not present in the radar.instrument_parameters, the user-supplied radar_freq will be used with a warning. If both radar.instrument_parameters and radar_freq parameter are missing, the algorithm defaults to the C band.

If the radar frequency information is missing from the radar object, you can add it in radar.instrument_parameters, as follows: