wradlib.atten.correct_attenuation_hb¶
-
wradlib.atten.
correct_attenuation_hb
(gateset, coefficients={'a': 0.000167, 'b': 0.7, 'gate_length': 1.0}, mode='except', thrs=59.0)¶ Gate-by-Gate attenuation correction according to [Hitschfeld1954]
Parameters: - 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] - 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 (string) –
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.
Returns: pia (
numpy.ndarray) -- Array with the same shape as ``gateset`
containing the calculated attenuation [dB] for each range gate.Raises: AttenuationOverflowError
– Exception, if attenuation exceedsthrs
and no handlingmode
is set.Examples
- gateset (