PyDDA
Designed to retrieve wind kinematics in precipitation storm systems from one or more Doppler weather radars using three dimensional data assimilation.
https://github.com/openradar/pydda
Category: Atmosphere
Sub Category: Meteorological Observation and Forecast
Keywords from Contributors
atmospheric-science meteorology corrections meteorological-data retrieval pyart closember radar-processing weather-radars radar
Last synced: about 23 hours ago
JSON representation
Repository metadata
Pythonic multiple doppler code based off the 3D variational technique
- Host: GitHub
- URL: https://github.com/openradar/pydda
- Owner: openradar
- License: other
- Created: 2017-08-18T18:56:22.000Z (over 8 years ago)
- Default Branch: main
- Last Pushed: 2026-04-29T12:47:06.000Z (14 days ago)
- Last Synced: 2026-05-02T17:27:27.731Z (10 days ago)
- Language: Jupyter Notebook
- Homepage: http://openradarscience.org/PyDDA
- Size: 1.8 GB
- Stars: 107
- Watchers: 7
- Forks: 47
- Open Issues: 14
- Releases: 22
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Roadmap: ROADMAP.md
README.md
PyDDA (Pythonic Direct Data Assimilation)

A Pythonic Multiple Doppler Radar Wind Retrieval Package
This software is designed to retrieve wind kinematics (u,v,w) in precipitation storm systems from
one or more Doppler weather radars using three dimensional data assimilation. Other constraints, including
background fields (eg reanalysis) can be added.
This package is a rewrite of the Potvin et al. (2012) and Shapiro et al (2009) wind retrieval techniques into a purely
Pythonic package for easier integration with Py-ART and Python. This allows for easy installation using pip and anaconda.
This new package also uses a faster minimization technique, L-BFGS-B, which provides a factor of 2 to 5 speedup versus
using the predecessor code, NASA-Multidop, as well as a more elegant syntax
as well as support for an arbitrary number of radars. The code is also threadsafe and has been tested using
HPC tools such as Dask on large (100+ core) clusters.
The user has an option to adjust strength of data, mass continuity constraints as well as implement a low pass filter.
This new version now also has an option to plot a horizontal cross section of a wind barb plot overlaid on a background
field from a grid.
Angles.py is from Multidop and was written by Timothy Lang of NASA.
We recommend using Python 3.9+ or better and using anaconda or pip to install
the required dependencies of PyDDA.
In addition, in order to use the capability to load HRRR data as a constraint, the cfgrib package is needed. Since this does not work on Windows, this is an optional dependency for those who wish to use HRRR data. To install cfgrib, simply do:
pip install cfgrib
Finally, PyDDA now supports Jax and TensorFlow as optional dependencies. PyDDA can be configured to use these two packages to perform the cost function minimization. We highly encourage users to take advantage of these two new engines, as they offer advantages such as better calculation of gradients and faster convergence. In addition, GPUs and TPUs are supported by these packages that can help drastically accelerate the calculations. For Tensorflow type:
conda install -c conda-forge tensorflow tensorflow-probability
For Jax, type:
conda install -c conda-forge jax
Links to important documentation
Installation instructions
The best way to install PyDDA is by using pip.
If you are using PyDDA as an end user, type the following in a bash shell:
pip install pydda
Or, if you have Anaconda, you can install using:
conda install -c conda-forge pydda
Installing from source is recommended if you want to use the latest features and want to make contributions to PyDDA. In
order to install from source, in a bash shell or the Anaconda prompt if you are in Windows, type the following:
git clone https://github.com/openradar/PyDDA
cd PyDDA
pip install -e .
Acknowledgments
Core components of the software are adopted from the Multidop package by converting the C code to Python.
The development of this software is supported by the Climate Model Development and Validation (CMDV) activity which is funded by the Office of Biological and Environmental Research in the US Department of Energy Office of Science.
Contributing
We have a set of goals that we wish to accomplish using PyDDA, including the assimilation of data from various models in the retrieval,
improved visualizations, use of radar data in antenna coordinates, and improved documentation. For more details on what contributions
would be useful to achieving these goals, see the PyDDA Roadmap.
Further support
We are now requesting that all questions related to PyDDA that are not potential software issues to be
relegated to the openradar Discourse group with a 'pydda' tag on your post. This
enables the entire open radar science community to answer questions related to PyDDA so that both the maintainer
and users can answer questions people may have.
References
You must cite these papers if you use PyDDA:
Potvin, C.K., A. Shapiro, and M. Xue, 2012: Impact of a Vertical Vorticity Constraint in Variational Dual-Doppler Wind Analysis: Tests with Real and Simulated Supercell Data. J. Atmos. Oceanic Technol., 29, 32–49, https://doi.org/10.1175/JTECH-D-11-00019.1
Shapiro, A., C.K. Potvin, and J. Gao, 2009: Use of a Vertical Vorticity Equation in Variational Dual-Doppler Wind Analysis. J. Atmos. Oceanic Technol., 26, 2089–2106, https://doi.org/10.1175/2009JTECHA1256.1
Owner metadata
- Name: openradar
- Login: openradar
- Email:
- Kind: organization
- Description: Unwritten understanding all code addition to be done by PR and everything to be collaborative. No unexpected actions.
- Website: https://openradarscience.org/
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/8717403?v=4
- Repositories: 33
- Last ynced at: 2024-10-31T08:41:52.947Z
- Profile URL: https://github.com/openradar
GitHub Events
Total
- Release event: 1
- Pull request event: 9
- Fork event: 4
- Issues event: 2
- Watch event: 14
- Issue comment event: 8
- Push event: 13
Last Year
- Pull request event: 5
- Fork event: 1
- Issues event: 2
- Watch event: 6
- Issue comment event: 7
- Push event: 9
Committers metadata
Last synced: 4 days ago
Total Commits: 435
Total Committers: 30
Avg Commits per committer: 14.5
Development Distribution Score (DDS): 0.375
Commits in past year: 46
Committers in past year: 9
Avg Commits per committer in past year: 5.111
Development Distribution Score (DDS) in past year: 0.652
| Name | Commits | |
|---|---|---|
| Robert Jackson | r****n@a****v | 272 |
| Robert Jackson | r****n@R****l | 34 |
| Robert Jackson | r****n@c****v | 29 |
| Robert Jackson | r****n@R****l | 25 |
| syedhamidali | h****7@g****m | 16 |
| Robert Jackson | r****n@a****v | 8 |
| Robert Jackson | r****n@a****v | 7 |
| mgrover1 | m****x@g****m | 5 |
| Zachary Sherman | z****n@a****v | 4 |
| Matt Menickelly | m****y@a****v | 3 |
| Robert Jackson | r****n@a****v | 3 |
| Robert Jackson | r****n@e****v | 3 |
| Robert Jackson | r****n@e****v | 3 |
| Robert Jackson | r****n@a****v | 2 |
| Robert Jackson | r****n@a****v | 2 |
| Robert Jackson | r****n@c****v | 2 |
| Robert Jackson | r****n@l****v | 2 |
| Robert Jackson | r****n@e****v | 2 |
| Robert Jackson | r****n@e****v | 2 |
| Jackson R C | r****n@o****v | 1 |
| Robert Jackson | r****n@a****v | 1 |
| Robert Jackson | r****n@a****v | 1 |
| Robert Jackson | r****n@a****v | 1 |
| Robert Jackson | r****n@e****v | 1 |
| Robert Jackson | r****n@e****v | 1 |
| Robert Jackson | r****n@e****v | 1 |
| Scott Collis | s****f@g****m | 1 |
| SunnysChan | 1****n | 1 |
| dependabot[bot] | 4****] | 1 |
| jrobrien91 | o****j@a****v | 1 |
Committer domains:
- anl.gov: 4
- c353921l.evs.anl.gov: 1
- anlvpn119.evs.anl.gov: 1
- anlvpn028.evs.anl.gov: 1
- anlvpn077.evs.anl.gov: 1
- evswl135.evs.anl.gov: 1
- evswl141.evs.anl.gov: 1
- anlvpn156.evs.anl.gov: 1
- anlvpn197.evs.anl.gov: 1
- compute-386-01.cels.anl.gov: 1
- lambda1.cels.anl.gov: 1
- evswl147.evs.anl.gov: 1
- evswl130.evs.anl.gov: 1
- or-condo-login01.ornl.gov: 1
- anlvpn072.evs.anl.gov: 1
- anlvpn152.evs.anl.gov: 1
- anlvpn243.evs.anl.gov: 1
- evswl133.evs.anl.gov: 1
- evswl138.evs.anl.gov: 1
- evswl150.evs.anl.gov: 1
Issue and Pull Request metadata
Last synced: 10 days ago
Total issues: 32
Total pull requests: 118
Average time to close issues: 10 months
Average time to close pull requests: 6 days
Total issue authors: 17
Total pull request authors: 8
Average comments per issue: 1.66
Average comments per pull request: 0.27
Merged pull request: 101
Bot issues: 0
Bot pull requests: 2
Past year issues: 1
Past year pull requests: 6
Past year average time to close issues: N/A
Past year average time to close pull requests: about 5 hours
Past year issue authors: 1
Past year pull request authors: 2
Past year average comments per issue: 0.0
Past year average comments per pull request: 0.67
Past year merged pull request: 4
Past year bot issues: 0
Past year bot pull requests: 1
Top Issue Authors
- rcjackson (12)
- chentryto1 (4)
- mgrover1 (2)
- jm5791 (1)
- JoyceHuang228 (1)
- Qxaqq (1)
- dm0096 (1)
- sysumeteo (1)
- jgebauer44 (1)
- hepengz (1)
- huyaox (1)
- LtgBug (1)
- liuximarcus (1)
- Hemol-L (1)
- malcolmmaas (1)
Top Pull Request Authors
- rcjackson (97)
- syedhamidali (11)
- zssherman (3)
- mgrover1 (2)
- dependabot[bot] (2)
- jrobrien91 (1)
- scollis (1)
- mmenickelly (1)
Top Issue Labels
- help wanted (3)
- enhancement (2)
- high priority (1)
- good first issue (1)
- Docs (1)
- foreign-language (1)
Top Pull Request Labels
- dependencies (2)
- github_actions (1)
Package metadata
- Total packages: 2
-
Total downloads:
- pypi: 275 last-month
- conda: 50,031 total
- Total docker downloads: 191
- Total dependent packages: 0 (may contain duplicates)
- Total dependent repositories: 1 (may contain duplicates)
- Total versions: 33
- Total maintainers: 1
pypi.org: pydda
Py-DDA
- Homepage: https://openradarscience.org/PyDDA
- Documentation: https://pydda.readthedocs.io/
- Licenses: BSD
- Latest release: 2.4.1 (published about 1 month ago)
- Last Synced: 2026-05-09T03:01:13.703Z (4 days ago)
- Versions: 25
- Dependent Packages: 0
- Dependent Repositories: 1
- Downloads: 275 Last month
- Docker Downloads: 191
-
Rankings:
- Docker downloads count: 2.476%
- Forks count: 6.281%
- Stargazers count: 7.956%
- Dependent packages count: 9.985%
- Average: 11.589%
- Downloads: 21.091%
- Dependent repos count: 21.744%
- Maintainers (1)
conda-forge.org: pydda
PyDDA is a Pythonic package for developing wind retrievals. It uses the variational technique for assmilating together winds derived from radars and models.
- Homepage: http://openradarscience.org/PyDDA
- Licenses: BSD-3-Clause
- Latest release: 1.1.0 (published about 4 years ago)
- Last Synced: 2026-03-22T00:24:45.950Z (about 2 months ago)
- Versions: 8
- Dependent Packages: 0
- Dependent Repositories: 0
- Downloads: 50,031 Total
-
Rankings:
- Forks count: 26.748%
- Dependent repos count: 34.025%
- Stargazers count: 34.829%
- Average: 36.695%
- Dependent packages count: 51.175%
Dependencies
- arm_pyart *
- cartopy >=0.16.0
- dask *
- distributed *
- matplotlib *
- numpy *
- scipy *
- actions/checkout v2 composite
- conda-incubator/setup-miniconda v2 composite
- peaceiris/actions-gh-pages v3.8.0 composite
- actions/checkout v2 composite
- conda-incubator/setup-miniconda v2 composite
Score: 19.026716542522347