wradlib.atten.correct_attenuation_hb(gateset, *, coefficients=None, mode='except', thrs=59.0)[source]#

Gate-by-Gate attenuation correction according to [Hitschfeld et al., 1954]

  • gateset (numpy.ndarray) – multidimensional array. The range gates (over which iteration has to be performed) are supposed to vary along the last dimension so, e.g., for a set of l radar images stored in polar form with m azimuths and n range-bins the input array’s shape can be either (l,m,n) or (m,l,n) data has to be provided in decibel representation of reflectivity [dBZ]

  • coefficients (dict) –

    • a : float proportionality factor of the k-Z relation (\(k=a \cdot Z^{b}\)). Per default set to 1.67e-4.

    • b : float exponent of the k-Z relation ( \(k=a \cdot Z^{b}\) ). Per default set to 0.7.

    • gate_length : float length of a range gate [km]. Per default set to 1.0.

  • mode (str) – controls how the function reacts, if the sum of signal and attenuation exceeds the threshold thrs Possible values:

    • ‘warn’ : emit a warning through the module’s logger but continue execution

    • ‘zero’ : set offending gates to 0.0

    • ‘nan’ : set offending gates to nan

    • ‘except’: raise an AttenuationOverflowError exception

    Any other mode will also raise the Exception.

  • thrs (float) – threshold, for the sum of attenuation and signal, which is considered implausible.


pia (numpy.ndarray) – Array with the same shape as gateset containing the calculated attenuation [dB] for each range gate.




See Hitschfeld and Bordan.