PyDDA 1.3.1 released today with several bugfixes

Today we have released PyDDA 1.3.1. This version has three major bugfixes:

  • The weights from the final radar in the specified list were being set to zero by default. Now the coverage for the last radar is calculated correctly (Addressing Last radar has always zero weights · Issue #89 · openradar/PyDDA · GitHub ).
  • The yz-section plotting functions were not plotting the contours onto the specified axis, but rather whatever was the matplotlib current axis. This is now fixed.
  • Smoothness constraints between the three engines are now consistent with each other (numpy engine was not dividing by grid size). I recommend setting Cx, Cy, and Cz to 1e-4 for best results.

New features:

  • You can now specify the input initial state as u, v, and w fields in the first input Grid to get_dd_wind_field. The initialization procedures now dump the initial state into this variables in your Py-ART Grids automatically for you so that you don’t have to specify these three parameters in get_dd_wind_field anymore. This reduces the number of minimum parameters for get_dd_wind_field to 1. In addition, this is useful if you want to save the state of the retrieval after many iterations, then apply low pass filters before resuming the retrieval to remove high frequency noise.
  • get_dd_wind_field now returns 2 arguments, the list of grids and the parameters used for the retrieval. This allows the user to see the weights that PyDDA pre-calculates for each grid. Therefore, when you are using get_dd_wind_field, you’ll want to call it using grids, params = get_dd_wind_field([grids], ...).