Skip to content

Releases: openradar/PyDDA

v2.2.0

05 Dec 22:47
2c75e81

Choose a tag to compare

What's Changed

Full Changelog: v2.1.2...v2.2.0d

v2.2

05 Dec 21:50
ced6635

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v2.1.1...v2.2a

v2.1.1

22 Oct 17:42
bd839fb

Choose a tag to compare

Some minor fixes for deprecation warnings and changes to the unit testing suite.

What's Changed

  • ADD: Nightly builds by @rcjackson in #138
  • FIX: Remove python from actions environment, deprecation warnings and user warnings. by @rcjackson in #139

Full Changelog: v2.1.0...v2.1.1

v2.1.0

06 Dec 20:27
98c2df8

Choose a tag to compare

This new release updates the package to conform to the xarray version of DataTree. If you have used the nesting feature, it is important to re-read the nesting example on how to structure your nested grids in order to conform to the new standards.

v.2.0.3

14 Oct 16:09
bfd60ac

Choose a tag to compare

This new release fixes errors with converting the origin_latitude to xarray when trying to read from a PyART Grid.

v2.0.2

10 Oct 14:53
57ec1fb

Choose a tag to compare

Microrelease to fix automatic release to PyPI.

v2.0.1

10 Oct 13:44
357f839

Choose a tag to compare

Micro-release to fix KeyErrors when loading PyDDA grids and to fix errors with automatic release to PyPI.

2.0

19 Jan 21:56
bc863d0

Choose a tag to compare

2.0

PyDDA is moving to an Xarray-based data structure (a PyDDA Grid) for all of its retrievals. This will make it easier for PyDDA to take in any xarray-based dataset as inputs. In addition, we are now also using xarray DataTrees to support grid nesting using a tree structure. Documentation and examples on this nesting have been added to the user guide and example gallery.

The migration of your code to PyDDA 2.0 will involve small changes to the pipeline. Instead of using pyart.io.read_grid to read your grid, simply use pydda.io.read_grid! In addition, you can convert a PyART Grid to a PyDDA Grid) by using pydda.io.read_from_pyart_grid. In addition, PyDDA will automatically convert PyART grids that are specified as inputs to PyDDA grids in the get_dd_wind_field function, though it is recommended to use PyDDA grids as inputs since the initalization and constraint functions use PyDDA Grids.

1.4.0

31 Aug 14:43
64d9306

Choose a tag to compare

PyDDA 1.4.0 has been released today! In this version of PyDDA we have:
* Moved to ruff for linting and added pre-commit hooks to better ensure code quality in PRs.
* Expanded unit testing of Jax/TensorFlow cost functions to resolve stability/syntax issues with these engines (i.e. issue #94)

v1.3.0: Bugfixes!

27 Jul 09:35
bd07f35

Choose a tag to compare

Today we have released PyDDA 1.3.0. 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 #89 ).
  • 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], ...).