wradlib.dp.phidp_kdp_vulpiani(obj, dr, *, ndespeckle=5, winlen=7, niter=2, copy=False, **kwargs)[source]#
wradlib.dp.phidp_kdp_vulpiani(obj: DataArray, *, winlen=7, **kwargs)

Establish consistent \(Phi_{DP}\) profiles from raw data.

This approach is based on [Vulpiani et al., 2012] and involves a two-step procedure of \(Phi_{DP}\) reconstruction.

Processing of raw \(Phi_{DP}\) data contains the following steps:

  • Despeckle

  • Initial \(K_{DP}\) estimation

  • Removal of artifacts

  • Phase unfolding

  • \(Phi_{DP}\) reconstruction using iterative estimation of \(K_{DP}\)

  • obj (numpy.ndarray) – array of shape (n azimuth angles, n range gates)

  • dr (float) – gate length in km

  • ndespeckle (int, optional) – ndespeckle parameter of despeckle, defaults to 5

  • winlen (int, optional) – winlen parameter of kdp_from_phidp, defaults to 7

  • niter (int, optional) – Number of iterations in which \(Phi_{DP}\) is retrieved from \(K_{DP}\) and vice versa, defaults to 2.

  • copy (bool, optional) – if True, the original \(Phi_{DP}\) array will remain unchanged, defaults to False

Keyword Arguments:
  • th1 (float) – Threshold th1 from above cited paper.

  • th2 (float) – Threshold th2 from above cited paper.

  • th3 (float) – Threshold th3 from above cited paper.


  • phidp (numpy.ndarray) – array of shape (…, n azimuth angles, n range gates) reconstructed \(Phi_{DP}\)

  • kdp (numpy.ndarray) – array of shape (…, n azimuth angles, n range gates) kdp estimate corresponding to phidp output


See Routine verification measures for radar-based precipitation estimates.