Recent Releases of PyDDA
PyDDA - v2.4.0
What's Changed
- Fixes in the JAX engine, parallel support for scipy engine, and background weight fixes by @rcjackson in https://github.com/openradar/PyDDA/pull/156
Full Changelog: https://github.com/openradar/PyDDA/compare/v2.3.0...v2.4.0
Atmosphere - Meteorological Observation and Forecast
- Jupyter Notebook
Published by rcjackson 2 months ago
PyDDA - v2.3.0
What's Changed
- VER: 2.2.0 by @rcjackson in https://github.com/openradar/PyDDA/pull/145
- FIX: GitHub Actions upload by @rcjackson in https://github.com/openradar/PyDDA/pull/146
- FIX: Trying to get the PyPI release to work again. by @rcjackson in https://github.com/openradar/PyDDA/pull/147
- FIX: Update artifact versions in PyPI build. by @rcjackson in https://github.com/openradar/PyDDA/pull/148
- FIX: Correct axis parameters and remove duplicate coefficient scaling… by @rcjackson in https://github.com/openradar/PyDDA/pull/150
- Cleaning up the documentation with proofreading and a more detailed user's guide. by @rcjackson in https://github.com/openradar/PyDDA/pull/151
- FIX: No tensorflow in docs environment. This should fix the issues with building the examples. by @rcjackson in https://github.com/openradar/PyDDA/pull/152
- FIX: Remove anaconda from testing and doc build envrionments and test on Python 3.14 by @rcjackson in https://github.com/openradar/PyDDA/pull/154
- ADD: Remove py3.14 for now by @rcjackson in https://github.com/openradar/PyDDA/pull/155
Full Changelog: https://github.com/openradar/PyDDA/compare/v2.2...v2.3.0
Atmosphere - Meteorological Observation and Forecast
- Jupyter Notebook
Published by rcjackson 3 months ago
PyDDA - v2.2.0
What's Changed
- Bump version from 2.1.1 to 2.2 by @rcjackson in https://github.com/openradar/PyDDA/pull/144
- VER: 2.2.0 by @rcjackson in https://github.com/openradar/PyDDA/pull/145
- FIX: GitHub Actions upload by @rcjackson in https://github.com/openradar/PyDDA/pull/146
- FIX: Trying to get the PyPI release to work again. by @rcjackson in https://github.com/openradar/PyDDA/pull/147
- FIX: Update artifact versions in PyPI build. by @rcjackson in https://github.com/openradar/PyDDA/pull/148
Full Changelog: https://github.com/openradar/PyDDA/compare/v2.1.2...v2.2.0d
Atmosphere - Meteorological Observation and Forecast
- Jupyter Notebook
Published by rcjackson 7 months ago
PyDDA - v2.2
What's Changed
- FIX: Tensorflow probability versions for CI by @rcjackson in https://github.com/openradar/PyDDA/pull/141
- Fix radar pair weighting being referenced by cur_array by @SunnysChan in https://github.com/openradar/PyDDA/pull/143
- Bump version from 2.1.1 to 2.2 by @rcjackson in https://github.com/openradar/PyDDA/pull/144
- VER: 2.2.0 by @rcjackson in https://github.com/openradar/PyDDA/pull/145
New Contributors
- @SunnysChan made their first contribution in https://github.com/openradar/PyDDA/pull/143
Full Changelog: https://github.com/openradar/PyDDA/compare/v2.1.1...v2.2a
Atmosphere - Meteorological Observation and Forecast
- Jupyter Notebook
Published by rcjackson 7 months ago
PyDDA - v2.1.1
Some minor fixes for deprecation warnings and changes to the unit testing suite.
What's Changed
- ADD: Nightly builds by @rcjackson in https://github.com/openradar/PyDDA/pull/138
- FIX: Remove python from actions environment, deprecation warnings and user warnings. by @rcjackson in https://github.com/openradar/PyDDA/pull/139
Full Changelog: https://github.com/openradar/PyDDA/compare/v2.1.0...v2.1.1
Atmosphere - Meteorological Observation and Forecast
- Jupyter Notebook
Published by rcjackson 8 months ago
PyDDA - v2.1.0
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.
Atmosphere - Meteorological Observation and Forecast
- Jupyter Notebook
Published by rcjackson over 1 year ago
PyDDA -
Micro-release to fix KeyErrors when loading PyDDA grids and to fix errors with automatic release to PyPI.
Atmosphere - Meteorological Observation and Forecast
- Jupyter Notebook
Published by rcjackson over 1 year ago
PyDDA - 2.0.1
This is a micro release to fix a KeyError when trying to use pydda.io.read_from_pyart_grid. This also fixes errors in the quiver plots due to the deprecated use of NumPy commands.
Atmosphere - Meteorological Observation and Forecast
- Jupyter Notebook
Published by rcjackson almost 2 years ago
PyDDA - 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.
Atmosphere - Meteorological Observation and Forecast
- Jupyter Notebook
Published by rcjackson over 2 years ago
PyDDA - 1.4.0
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)
Atmosphere - Meteorological Observation and Forecast
- Jupyter Notebook
Published by rcjackson almost 3 years ago
PyDDA - v1.3.0: Bugfixes!
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 https://github.com/openradar/PyDDA/issues/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 forget_dd_wind_fieldto 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 usinggrids, params = get_dd_wind_field([grids], ...).
Atmosphere - Meteorological Observation and Forecast
- Jupyter Notebook
Published by rcjackson almost 3 years ago
PyDDA -
In this release, we have added an augmented Lagrangian solver to PyDDA that allows the user to be able to perform retrievals without having to select weights beforehand. Right now this solver has been tested using the mass continuity and radar observational cost functions. In order to enable this functionality, set the engine to "auglag" and then set the Co and Cm weights to 1.0.
Atmosphere - Meteorological Observation and Forecast
- Jupyter Notebook
Published by rcjackson about 4 years ago
PyDDA - PyDDA 1.0
We are glad to finally release PyDDA 1.0. In this version we have fixed the problems noted by issues #58 ,#63 , and #64. In addition, we have been working hard to enhance the optimizer inside PyDDA. Therefore, we now provide the user with an option to use either Jax or TensorFlow (in addition to the current SciPy engine) to solve the optimization problem.
There are several advantages to the Jax and TensorFlow-based engines that we highly encourage our users to use. With Jax and TensorFlow, we are able to use automatic differentiation to calculate the gradients to the cost function. This makes the gradient calculation less susceptible to roundoff and boundary errors. In addition, Jax and TensorFlow both support CUDA-enabled GPUs. Therefore, if you are using a GPU, PyDDA is now capable of harnessing it in order to dramatically speed up the wind retrieval calculation. Even on a CPU-based system, the TensorFlow-based algorithm typically converges faster than the original SciPy-based algorithm. Therefore, we strongly encourage users to use these two other engines in their retrievals.
TensorFlow and Jax are optional dependencies. You need both TensorFlow 2.6.0 and tensorflow-probability in order to use the TensorFlow functionality.
Atmosphere - Meteorological Observation and Forecast
- Jupyter Notebook
Published by rcjackson over 4 years ago
PyDDA - Pirate
In this new release we now support:
* Integration of point observations as a constraint
* Automatic download of ASOS data from the Iowa Mesonet Archive for a given grid as a source of point observations
* Fixes to the documentation
* Reorganization of the cost function/gradient code to make development easier
Atmosphere - Meteorological Observation and Forecast
- Jupyter Notebook
Published by rcjackson over 6 years ago
PyDDA - Power
I am proud to announce a new release of PyDDA. This release adds:
* A bug fix for the calculation of the radial velocity cost function to be more consistent with MultiDop. This will change the coefficients you use for this constraint.
* Improved the capability to adjust the thickness and sizes of quivers and streamline arrows for better visualizations.
* Support for integrating ERA-Interim data into retrieval. This feature can even automatically download and interpolate the ERA-Interim data to the analysis grid, but will require the ECMWF Web API to be installed in order to do so.
The ECMWF Web API, an optional dependency of PyDDA, can be downloaded here:
https://confluence.ecmwf.int/display/WEBAPI/Access+ECMWF+Public+Datasets
One will need to follow the instructions at the above link to set up an account with ECMWF and to use this account with the Web API.
Atmosphere - Meteorological Observation and Forecast
- Jupyter Notebook
Published by rcjackson almost 7 years ago
PyDDA - Thrash
This new release fixes a few bugs with the visualization module as well as adds the following features:
* Use of a 2-pass nested retrieval for running PyDDA with very large (1000's of points in x and y) grids. This will use a distributed cluster to map the problem of optimization to smaller chunks distributed onto workers.
* Quiver plots
There is now a dependency on dask and distributed for the nested retrieval.
Atmosphere - Meteorological Observation and Forecast
- Jupyter Notebook
Published by rcjackson over 7 years ago
PyDDA - Heavy
This is the second release of PyDDA. This release supports:
-
Use of HRRR, WRF, and radar data as observational/model constraints in retrieval.
An arbitrary number of radars can be used, with custom weight fields used for each radar. -
Plotting of gridded data using wind barbs and streamlines.
Atmosphere - Meteorological Observation and Forecast
- Jupyter Notebook
Published by rcjackson over 7 years ago