pyrad
A Python-based, open-source framework for real-time and offline processing and visualization of weather radar data from diverse radar networks and formats, developed by MeteoSwiss and MeteoFrance.
https://github.com/meteoswiss/pyrad
Category: Atmosphere
Sub Category: Meteorological Observation and Forecast
Keywords from Contributors
closember weather-radars pyart radar-processing weather kd-tree resampling
Last synced: about 22 hours ago
JSON representation
Repository metadata
Python Radar Data Processing
- Host: GitHub
- URL: https://github.com/meteoswiss/pyrad
- Owner: MeteoSwiss
- License: other
- Created: 2021-02-01T10:46:21.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2025-12-11T10:57:03.000Z (15 days ago)
- Last Synced: 2025-12-15T10:15:22.813Z (12 days ago)
- Language: Python
- Homepage: https://meteoswiss.github.io/pyrad/
- Size: 125 MB
- Stars: 52
- Watchers: 4
- Forks: 10
- Open Issues: 10
- Releases: 20
-
Metadata Files:
- Readme: README.md
- License: LICENSE
README.md
Note that pull requests should target the dev branch!
Master branch
Dev branch
pyrad
Python Radar Data Processing
What is Pyrad?
Pyrad is a real-time data processing framework developed by MeteoSwiss and MeteoFrance. The framework is
aimed at processing and visualizing polar data from individual weather radars as well as composite
Cartesian products both off-line and in real time. It is written in the Python language. The
framework is version controlled and automatic documentation is generated based on doc-strings.
It is capable of ingesting data from all the weather radars in Switzerland, namely the operational
MeteoSwiss C-band rad4alp radar network, the MeteoSwiss X-band DX50 radar and the EPFL MXPol radar
and radar data in the OPERA file format. Additionally, it can ingest C/FRadial and NEXRAD level 2 files.
The processing flow is controlled by 3 simple configuration files. Multiple levels of processing can
be performed. At each level new datasets (e.g. attenuation corrected reflectivity) are created which
can be stored in a file and/or used in the next processing level (for example, creating a rainfall rate
dataset from the corrected reflectivity). Multiple products can be generated from each dataset (e.g.
PPI, RHI images, histograms, etc.). In the off-line mode, data from multiple radars can be ingested
in order to obtain products such as the inter-comparison of reflectivity values at co-located range
gates.
The framework is able to ingest polarimetric and Doppler radar moments as well as auxiliary data
such as numerical weather prediction parameters (e.g. temperature, wind speed, etc.), DEM-based
visibility and data used in the generation of the products such as rain gauge measurements,
disdrometer measurements, solar flux, etc. It can as well work with I/Q data, spectral data and Cartesian
data.
The signal processing and part of the data visualization is performed by a MeteoSwiss developed version of the Py-ART radar toolkit which contains enhanced features. MeteoSwiss regularly contributes back to the main Py-ART branch once a new functionality has been thoroughly tested and it is considered of interest for the broad weather radar community.
The processing framework has multiple and expanding capabilities, include various forms of echo classification and
filtering, differential phase and specific differential phase estimation, attenuation correction, data
quality monitoring, multiple rainfall rate algorithms, etc. In addition time series of data in points,
regions or trajectories of interest can be extracted and comparisons can be performed with other
sensors. This is particularly useful when performing measurement campaigns where remote
sensing retrievals are validated with in-situ airplane or ground-based measurements.
Cloning from github
Make sure to also get the submodules by running
git clone --recursive https://github.com/MeteoSwiss/pyrad.git
Installation with conda
To install from the conda repositories simply run
conda install -c conda-forge pyart_mch
conda install -c conda-forge pyrad_mch
Note that you can also install arm_pyart instead of pyart_mch, which will use the official Py-ART, but some functionalities of pyrad will be missing!
Installation
To install Pyrad and its submodules please have a look at the Pyrad user manual (pdf).
Use
Before using it have a look at the cookbook (pdf).
For details on the implemented functions and a list of all pyrad features please check the pyrad library reference for users.
Example configuration files can be found in the repository directory pyrad/config/processing/ and in the dedicated examples repository.
To use Pyrad for data quality monitoring check the report pyrad_monitoring_fvj.pdf.
Learning pyrad
Please also check the course that the pyrad team gave at the ASEAN-WMO 2024 workshop: https://github.com/openradar/asean2024-pyrad-course.
It includes a list of 10 configuration files and their descriptions, that encompasses a large number of possible use cases.
Newsletter
If you would like to be informed about the addition of major features in Pyrad as well as the release of new Pyrad versions, you can subscribe to our mailing list, where we will periodically publish a newsletter. Note that we do not sell, communicate or divulgate your email address to anyone, and you can unsubscribe at any time via a link provided in every newsletter.
Development
We welcome contributions, suggestions of developments and bug reports.
Suggestions of developments and bug reports should use the Issues page of the github repository.
The process to contribute by partners external to MeteoSwiss is described in the user manual.
Citation
The core of Pyrad is based on Py-ART. Py-ART was originally developed in the context of the ARM Research Facility. If you use Pyrad for your work, please cite BOTH Py-ART and Pyrad papers in your paper:
J.J. Helmus, S.M. Collis, (2016). The Python ARM Radar Toolkit (Py-ART), a Library for Working with Weather Radar Data in the Python Programming Language. Journal of Open Research Software. 4(1), p.e25. DOI: http://doi.org/10.5334/jors.119
J. Figueras i Ventura, M. Lainer, Z. Schauwecker, J. Grazioli, U. Germann, (2020). Pyrad: A Real-Time Weather Radar Data Processing Framework Based on Py-ART. Journal of Open Research Software, 8(1), p.28. DOI: http://doi.org/10.5334/jors.330
Disclaimer
The software is still in a development stage. Please let us know if you would like to test it.
MeteoSwiss cannot be held responsible for errors in the code or problems that could arise from its use.
Owner metadata
- Name: MeteoSwiss
- Login: MeteoSwiss
- Email:
- Kind: organization
- Description: Federal Office of Meteorology and Climatology MeteoSwiss
- Website: https://www.meteoswiss.ch
- Location: Zurich, Geneva, Locarno, Payerne
- Twitter: meteosuisse
- Company:
- Icon url: https://avatars.githubusercontent.com/u/10277948?v=4
- Repositories: 22
- Last ynced at: 2023-03-07T00:58:37.643Z
- Profile URL: https://github.com/MeteoSwiss
GitHub Events
Total
- Create event: 5
- Release event: 4
- Issues event: 8
- Watch event: 11
- Delete event: 4
- Member event: 1
- Issue comment event: 5
- Push event: 174
- Pull request event: 2
Last Year
- Create event: 5
- Release event: 4
- Issues event: 4
- Watch event: 9
- Delete event: 4
- Member event: 1
- Issue comment event: 3
- Push event: 133
- Pull request event: 2
Committers metadata
Last synced: 3 days ago
Total Commits: 1,733
Total Committers: 37
Avg Commits per committer: 46.838
Development Distribution Score (DDS): 0.53
Commits in past year: 149
Committers in past year: 4
Avg Commits per committer in past year: 37.25
Development Distribution Score (DDS) in past year: 0.114
| Name | Commits | |
|---|---|---|
| Daniel Wolfensberger | d****r@m****h | 815 |
| fvj | j****a@m****h | 293 |
| Jordi Figueras | f****j@z****h | 188 |
| Jordi | j****i@g****m | 93 |
| Jordi Figueras | f****j@z****h | 60 |
| figuerasiventuraj | j****a@m****r | 44 |
| -Lassen-Account | l****s@z****h | 34 |
| jgr | j****i@m****h | 28 |
| radarv | r****v@m****h | 25 |
| Malsplus User | m****s@z****2 | 22 |
| malsplus | m****s@z****h | 22 |
| Andreas Leuenberger | a****r@m****h | 18 |
| Radar, Satellite and Nowcasting Division | m****r | 18 |
| Your Name | y****u@e****m | 12 |
| Eric Sulmoni | E****i@m****h | 8 |
| Guidicel | m****i@e****h | 6 |
| Ubuntu | u****u@i****l | 6 |
| Floor van den Heuvel | f****l@e****h | 4 |
| Daniel Wolfensberger | d****r@e****h | 4 |
| fvanden | f****l@m****h | 4 |
| shaika | a****k@m****r | 4 |
| meteoswiss-mdr | l****i@m****h | 3 |
| Daniel Wolfensberger | w****b@k****r | 3 |
| FIGUERAS I VENTURA JORDI | f****j@s****r | 2 |
| Martin Lainer | m****r@t****r | 2 |
| conda | c****a@z****h | 2 |
| kuz | z****h@m****h | 2 |
| ned | d****i@m****h | 2 |
| Daniel Wolfensberger | w****d@z****h | 1 |
| Daniel Wolfensberger | w****b@k****r | 1 |
| and 7 more... | ||
Committer domains:
- meteoswiss.ch: 10
- zueub242.meteoswiss.ch: 4
- epfl.ch: 3
- keschln-0002.cm.cluster: 2
- meteo.fr: 2
- cirrus.malsdomain2: 1
- keschpn-0001.cm.cluster: 1
- tsa-pp011.cm.cluster: 1
- keschln-0002.(none): 1
- svalm1-sidev.meteo.fr: 1
- keschln-0003.cm.cluster: 1
- tsa-ln002.cm.cluster: 1
- syrinx.meteo.fr: 1
- ip-172-31-26-120.eu-west-1.compute.internal: 1
- zueub412.meteoswiss.ch: 1
- zueub222.meteoswiss.ch: 1
Issue and Pull Request metadata
Last synced: about 1 month ago
Total issues: 48
Total pull requests: 26
Average time to close issues: 4 months
Average time to close pull requests: 6 days
Total issue authors: 6
Total pull request authors: 2
Average comments per issue: 1.94
Average comments per pull request: 0.15
Merged pull request: 22
Bot issues: 0
Bot pull requests: 0
Past year issues: 8
Past year pull requests: 3
Past year average time to close issues: 15 days
Past year average time to close pull requests: about 1 month
Past year issue authors: 1
Past year pull request authors: 2
Past year average comments per issue: 0.63
Past year average comments per pull request: 0.67
Past year merged pull request: 2
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- jfigui (29)
- wolfidan (15)
- syedhamidali (1)
- fpavogt (1)
- margish100 (1)
Top Pull Request Authors
- wolfidan (23)
- jfigui (9)
Top Issue Labels
- enhancement (11)
- bug (7)
- help wanted (5)
- documentation (2)
Top Pull Request Labels
Package metadata
- Total packages: 4
-
Total downloads:
- pypi: 228 last-month
- Total docker downloads: 206
- Total dependent packages: 0 (may contain duplicates)
- Total dependent repositories: 2 (may contain duplicates)
- Total versions: 60
- Total maintainers: 2
pypi.org: pyrad-mch
Python Radar Toolkit
- Homepage: https://github.com/MeteoSwiss/pyrad.git
- Documentation: https://pyrad-mch.readthedocs.io/
- Licenses: BSD
- Latest release: 2.1.2 (published about 1 month ago)
- Last Synced: 2025-12-21T23:06:02.494Z (5 days ago)
- Versions: 39
- Dependent Packages: 0
- Dependent Repositories: 1
- Downloads: 218 Last month
- Docker Downloads: 206
-
Rankings:
- Docker downloads count: 4.137%
- Dependent packages count: 10.126%
- Stargazers count: 12.308%
- Forks count: 12.548%
- Average: 13.574%
- Downloads: 20.792%
- Dependent repos count: 21.535%
- Maintainers (2)
pypi.org: pyrad-arm
Pyrad: Python Radar Toolkit
- Homepage: https://github.com/MeteoSwiss/pyrad.git
- Documentation: https://pyrad-arm.readthedocs.io/
- Licenses: BSD
- Latest release: 0.6.0 (published over 3 years ago)
- Last Synced: 2025-12-21T23:06:02.553Z (5 days ago)
- Versions: 1
- Dependent Packages: 0
- Dependent Repositories: 0
- Downloads: 10 Last month
-
Rankings:
- Dependent packages count: 6.633%
- Stargazers count: 14.194%
- Forks count: 14.514%
- Average: 23.162%
- Dependent repos count: 30.611%
- Downloads: 49.858%
- Maintainers (1)
conda-forge.org: pyrad_mch
This is the MeteoSwiss Pyrad. Pyrad is an open source Python module for weather radar data processing. The module controls the data flow. The inputs and outputs are specified using config files. Most of the core data processing is performed using the MeteoSwiss version of Py-ART, originally developed in the framework of the Atmospheric Radiation Measurement (ARM) Climate Research Facility for working with data from a number of precipitation and cloud radars. The MeteoSwiss version of Py-ART contains enhanced and experimental functionality. MeteoSwiss regularly contributes back to the ARM-DOE Py-ART.
- Homepage: https://github.com/MeteoSwiss/pyrad
- Licenses: BSD-3-Clause
- Latest release: 1.4.5 (published over 3 years ago)
- Last Synced: 2025-12-21T23:06:08.477Z (5 days ago)
- Versions: 15
- Dependent Packages: 0
- Dependent Repositories: 1
-
Rankings:
- Dependent repos count: 24.412%
- Average: 44.746%
- Stargazers count: 50.701%
- Dependent packages count: 51.604%
- Forks count: 52.268%
conda-forge.org: pyrad_arm
This is the MeteoSwiss Pyrad. Pyrad is an open source Python module for weather radar data processing. The module controls the data flow. The inputs and outputs are specified using config files. Most of the core data processing is performed using Py-ART, originally developed in the framework of the Atmospheric Radiation Measurement (ARM) Climate Research Facility for working with data from a number of precipitation and cloud radars. This package is provided for convenience to the Py-ART comunity. If you would like to get the full functionality of Pyrad please use pyrad_mch, which runs with the MeteoSwiss version of Py-ART.
- Homepage: https://pyrad-mch.readthedocs.io/en/stable/
- Licenses: BSD-3-Clause
- Latest release: 1.4.5 (published about 3 years ago)
- Last Synced: 2025-12-21T23:06:08.794Z (5 days ago)
- Versions: 5
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 34.025%
- Average: 45.648%
- Stargazers count: 47.816%
- Forks count: 49.573%
- Dependent packages count: 51.175%
Dependencies
- cython *
- numpydoc *
- numpy *
- actions/checkout v2 composite
- mamba-org/setup-micromamba v1 composite
- peaceiris/actions-gh-pages v3.8.0 composite
- actions/checkout master composite
- actions/setup-python v3 composite
- pypa/gh-action-pypi-publish release/v1 composite
- actions/checkout v2 composite
- actions/checkout master composite
- actions/setup-python v2 composite
- conda-incubator/setup-miniconda v2.0.0 composite
- actions/checkout v2 composite
- actions/checkout master composite
- actions/setup-python v2 composite
- conda-incubator/setup-miniconda v2.0.0 composite
- actions/checkout v2 composite
- actions/checkout main composite
- conda-incubator/setup-miniconda v2.0.0 composite
- actions/checkout v2 composite
- actions/checkout main composite
- conda-incubator/setup-miniconda v2.0.0 composite
- actions/checkout v2 composite
- cartopy
- cftime
- cvxopt
- cython
- fsspec
- gdal
- glpk
- ipython
- matplotlib
- metpy
- myst-nb
- nbsphinx
- netcdf4
- numpy
- open-radar-data
- pandas
- pandoc
- pip
- pkg-config
- pydata-sphinx-theme
- pytest
- s3fs
- scipy
- shapely
- sphinx
- sphinx-copybutton
- sphinx-design
- sphinx-gallery
- wradlib
- xarray
- cartopy
- matplotlib
- netcdf4
- numpy
- pyart_mch
- pyrad_mch
- python 3.10.*
- scipy
- wradlib
Score: 13.824827024601623