{"action":"created","issue":{"url":"https://api.github.com/repos/ARM-DOE/pyart/issues/588","repository_url":"https://api.github.com/repos/ARM-DOE/pyart","labels_url":"https://api.github.com/repos/ARM-DOE/pyart/issues/588/labels{/name}","comments_url":"https://api.github.com/repos/ARM-DOE/pyart/issues/588/comments","events_url":"https://api.github.com/repos/ARM-DOE/pyart/issues/588/events","html_url":"https://github.com/ARM-DOE/pyart/pull/588","id":175510715,"number":588,"title":"Addition of two KDP retrieval methods","user":{"login":"Wolfigo","id":12154819,"avatar_url":"https://avatars.githubusercontent.com/u/12154819?v=3","gravatar_id":"","url":"https://api.github.com/users/Wolfigo","html_url":"https://github.com/Wolfigo","followers_url":"https://api.github.com/users/Wolfigo/followers","following_url":"https://api.github.com/users/Wolfigo/following{/other_user}","gists_url":"https://api.github.com/users/Wolfigo/gists{/gist_id}","starred_url":"https://api.github.com/users/Wolfigo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Wolfigo/subscriptions","organizations_url":"https://api.github.com/users/Wolfigo/orgs","repos_url":"https://api.github.com/users/Wolfigo/repos","events_url":"https://api.github.com/users/Wolfigo/events{/privacy}","received_events_url":"https://api.github.com/users/Wolfigo/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2016-09-07T14:02:13Z","updated_at":"2016-09-13T13:23:17Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/ARM-DOE/pyart/pulls/588","html_url":"https://github.com/ARM-DOE/pyart/pull/588","diff_url":"https://github.com/ARM-DOE/pyart/pull/588.diff","patch_url":"https://github.com/ARM-DOE/pyart/pull/588.patch"},"body":"Dear all,\r\n\r\nAs my lab's first contribution to the pyart project I would like to suggest adding two methods for KDP estimation, to the _retrieve_ module. I have added these methods in the suggested _kdp_proc.py_ file. The two methods are \r\n\r\n_kdp_vulpiani_ : a simple method for estimating kdp with moving windows (Vulpiani and al., 2012)\r\n\r\n_kdp_schneebeli_ : the ensemble Kalman filter method by Schneebeli and al. (2014).\r\n\r\nOne advantage of these methods over the Maesaka method is that they can retrieve negative KDP. These two methods have very similar calling procedures to the already implement method _kdp_maesaka_. Another addition is the function _filter_psidp_ which can be optionally used prior to estimating Kdp to remove short subsequences of psidp, unravel angles with large discontinuities, use a median filter and mask psidp when rhohv is smaller than a given a threshold.\r\n\r\nThe codes have been adapted from IDL codes written by my colleague Jacopo Grazioli which is one of the co-authors of the Kalman filter paper.\r\n\r\nNote that the Kalman filter method is a pure python/numpy implementation and as such is not very fast (but can be optionally run in parallel) so there is room for improvement.\r\n\r\nI provide a comparison of the three methods in the _tests/compare_kdp_proc.py_ file for a real profile of measured psidp (on an X-band radar) as well as a comparison for one PPI (see below).\r\n\r\n[comparison_kdp_single_profile.pdf](https://github.com/ARM-DOE/pyart/files/459307/comparison_kdp_single_profile.pdf)\r\n![ex_kdp_ppi](https://cloud.githubusercontent.com/assets/12154819/18314618/19737f5a-7514-11e6-9b53-f5a5a6fa891a.png)\r\n\r\nBest regards,\r\n\r\nDaniel Wolfensberger\r\nEPFL-LTE\r\n"},"comment":{"url":"https://api.github.com/repos/ARM-DOE/pyart/issues/comments/246679261","html_url":"https://github.com/ARM-DOE/pyart/pull/588#issuecomment-246679261","issue_url":"https://api.github.com/repos/ARM-DOE/pyart/issues/588","id":246679261,"user":{"login":"kirknorth","id":2049028,"avatar_url":"https://avatars.githubusercontent.com/u/2049028?v=3","gravatar_id":"","url":"https://api.github.com/users/kirknorth","html_url":"https://github.com/kirknorth","followers_url":"https://api.github.com/users/kirknorth/followers","following_url":"https://api.github.com/users/kirknorth/following{/other_user}","gists_url":"https://api.github.com/users/kirknorth/gists{/gist_id}","starred_url":"https://api.github.com/users/kirknorth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kirknorth/subscriptions","organizations_url":"https://api.github.com/users/kirknorth/orgs","repos_url":"https://api.github.com/users/kirknorth/repos","events_url":"https://api.github.com/users/kirknorth/events{/privacy}","received_events_url":"https://api.github.com/users/kirknorth/received_events","type":"User","site_admin":false},"created_at":"2016-09-13T13:23:17Z","updated_at":"2016-09-13T13:23:17Z","body":"@Wolfigo, please be aware that once you initiate a PR from your development branch (in this case `master`), any additional commits you make locally on that branch and push to your remote (e.g., `origin`) will automatically get pushed `upstream` as well. I believe, as @jjhelmus has pointed out, that these additional commits you've pushed recently are unrelated to your original PR which had to do with two new KDP retrieval methods."}}
{"actor":{"display_login":"kirknorth"}}