Skip to main content

Radarx

Radarx Logo

DOI Python Versions PyPI Version PyPI Downloads

Conda Version Conda Downloads

CI Build distribution Docs License pre-commit enabled

Black Ruff CodeFactor codecov Codacy Badge

Radarx is a Python library for weather radar data processing and visualization. It builds on xradar, which reads radar data from many formats into xarray DataTree structures, and adds gridding, retrievals and plotting through the .radarx accessor.

Project Status: Beta

Key Features

  • Fast, accurate gridding: Cone gridding interpolates within each sweep and then between sweeps, using the radar's own geometry. A compiled C++ kernel grids tens of millions of cells in a fraction of a second, with no smoothing radius to tune (dtree.radarx.to_grid()). Barnes interpolation is also available.
  • CAPPI retrieval: Constant-altitude PPIs with several methods (dtree.radarx.create_cappi()).
  • Interactive plotting: hvplot-based range-azimuth, PPI, RHI, CAPPI and Max-CAPPI views on DataArrays, Datasets and DataTrees (.radarx.plot), plus matplotlib plots.
  • Unstructured grids: Convert a sweep into a uxarray dataset with one cell per gate, for true gate footprints, area-weighted statistics and remapping (.radarx.to_uxarray()).
  • Radar fundamentals: Functions for radar equations, beam geometry, Doppler, attenuation and more (radarx.fundamentals).
  • Cloud data access: List and download NEXRAD and MRMS data from AWS (radarx.io).

Installation

You can install radarx using conda from the conda-forge channel (recommended):

conda install -c conda-forge radarx

You can also install radarx via pip from PyPI:

python -m pip install radarx

Optional features need extra packages:

python -m pip install "radarx[plot]"     # interactive hvplot plots
python -m pip install "radarx[uxarray]"  # unstructured grids with uxarray

With conda, install them directly, e.g. conda install -c conda-forge hvplot datashader or conda install -c conda-forge uxarray spatialpandas geopandas.

Barnes gridding (method="barnes") needs fast-barnes-py, which supports Python < 3.13 only: python -m pip install fast-barnes-py. The default cone gridding needs no extra packages.

Alternatively, you can install it from source by cloning the repository and running:

git clone https://github.com/syedhamidali/radarx.git
cd radarx
python -m pip install .

Building from source compiles the C++ gridding kernel if a C++ compiler is available; otherwise radarx falls back to an equivalent NumPy implementation.

Usage

Read a radar volume with xradar, then grid, retrieve and plot it with radarx:

import xradar as xd
from open_radar_data import DATASETS

import radarx  # noqa: F401  registers the .radarx accessors

filename = DATASETS.fetch("KLBB20160601_150025_V06")
dtree = xd.io.open_nexradlevel2_datatree(filename)

# 3D grid with cone gridding (500 m spacing, 0.5 to 15 km height)
grid = dtree.radarx.to_grid(
    data_vars=["DBZH"],
    x_lim=(-150e3, 150e3), y_lim=(-150e3, 150e3), z_lim=(500, 15e3),
    x_step=500, y_step=500, z_step=500,
)

# interactive plots (requires radarx[plot])
dtree.radarx.plot.ppi("DBZH", sweeps=0)
grid.radarx.plot.max_cappi("DBZH")

See the documentation for more examples, including CAPPIs, IMD data and unstructured grids.

Documentation

For full documentation, see radarx.readthedocs.io.

Contributing

Contributions are welcome! If you'd like to contribute, please follow the steps below:

  1. Fork the repository.
  2. Create a new branch for your feature or bugfix.
  3. Write tests for your changes.
  4. Submit a pull request.

Please ensure that your code passes the pre-commit hooks and test suite before submitting your PR.

License

Radarx is licensed under the MIT License. See the LICENSE file for more details.

Authors

  • Syed Hamid Ali

Citation

If you use radarx, please cite it with its Zenodo DOI, 10.5281/zenodo.14699306. The DOI covers all versions and always resolves to the latest release, so citations of every version are counted together; add the version you used to the citation.

GitHub's "Cite this repository" button (top right of the repository page) gives the citation in APA and BibTeX. Both, and the text below in the rendered documentation, are generated from CITATION.cff, so they always match the latest release.

Cite radarx as:

{{ apa_citation }}

Metadata

Release files for radarx 0.5.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for radarx 0.5.1
File Size Uploaded
radarx-0.5.1.tar.gz 3.2 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for radarx 0.5.1
File
radarx-0.5.1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
radarx-0.5.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
radarx-0.5.1-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
radarx-0.5.1-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
radarx-0.5.1-cp314-cp314-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.15+ x86-64 Details
radarx-0.5.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
radarx-0.5.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
radarx-0.5.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
radarx-0.5.1-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
radarx-0.5.1-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
radarx-0.5.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
radarx-0.5.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
radarx-0.5.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
radarx-0.5.1-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
radarx-0.5.1-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details

Total release size: 84.5 MB

Release files / radarx-0.5.1.tar.gz

Download URL radarx-0.5.1.tar.gz
Size 3.2 MB
Tags Source
SHA-256 checksum
How to use checksums
c13804a3cac5c02f69f878885a7378cde3cddc4bd541d89656f5c643751cbd54
BLAKE2b-256 checksum
How to use checksums
4527cc1374034aec97dda3a001157c6d2b98cc8b6c9b75e3dc3223ae13fbb454
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / radarx-0.5.1-cp314-cp314-win_amd64.whl

Download URL radarx-0.5.1-cp314-cp314-win_amd64.whl
Size 5.5 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
c2d34f04ce0fc5dc37e68c43347bf58d65d2fc0c3e48e68d32f08decb490a9f6
BLAKE2b-256 checksum
How to use checksums
c60071d06dedbb16754835b7078214d23d74ef6fd335fbdd158612bc01e4a0d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / radarx-0.5.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL radarx-0.5.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 5.9 MB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
2f46845654c43c127942c3b4a79be2a208d9b40ba4a2fe44c7cdeadefec27198
BLAKE2b-256 checksum
How to use checksums
6ddb7cb60f4deefe668b6e6ded3679c713984b1dfa5e2b0c78787c878322b5f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / radarx-0.5.1-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL radarx-0.5.1-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 5.6 MB
Tags CPython 3.14 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
b516d02b9d2d3fd8a5ff36a8b427ac930ccf31f60b0c3bef640b472ac7948aa5
BLAKE2b-256 checksum
How to use checksums
ba36e2fb4c3e6499769b64604b87617407e6808fe65cc8b0c82594eb78f40540
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / radarx-0.5.1-cp314-cp314-macosx_11_0_arm64.whl

Download URL radarx-0.5.1-cp314-cp314-macosx_11_0_arm64.whl
Size 5.0 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0cfe4192ea0e8bf07201a4e6cc8ff9fd2608c0ce327769bfc3d0157d639cd3f3
BLAKE2b-256 checksum
How to use checksums
1d41624225acf4a83febdc2f42a7ff95d65d9ed23f6c88a5f61425ac27522da7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / radarx-0.5.1-cp314-cp314-macosx_10_15_x86_64.whl

Download URL radarx-0.5.1-cp314-cp314-macosx_10_15_x86_64.whl
Size 5.2 MB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
252729baa5c70dccad36a598c6271b89d9488dda2f1c2a8e40eb136a84e5e468
BLAKE2b-256 checksum
How to use checksums
d9fb1f6651a4c28add514c3cffc2d6f0a0330a5267fc0c36a784ea8278f5855d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / radarx-0.5.1-cp313-cp313-win_amd64.whl

Download URL radarx-0.5.1-cp313-cp313-win_amd64.whl
Size 5.3 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
0caf1aea8e9c24f22155e4bb769ddc99d111a9a66ec44a60bda66dec4cbaa45c
BLAKE2b-256 checksum
How to use checksums
483ada306ca91e292d88d04aa1edc619a70dc538e2c1ecf68d8e94a5af6cd560
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / radarx-0.5.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL radarx-0.5.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 5.9 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
04821a0eddbc9c8e2fddabd3cdc73eaa0792bbea9ced3c2c0c8897057c7d8f37
BLAKE2b-256 checksum
How to use checksums
3feebe4766327910740505bf30eef57efe1eb10b9d1993c697f55986516c1e37
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / radarx-0.5.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL radarx-0.5.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 5.6 MB
Tags CPython 3.13 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
a3ae6fa0f2ba8210d5f4bceae3a9b7f39327b7183347cc85b72b4c53025468cd
BLAKE2b-256 checksum
How to use checksums
cca2415d548f0a4a264dad640118111a5d8274607482cbf168c5b3a400adb98c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / radarx-0.5.1-cp313-cp313-macosx_11_0_arm64.whl

Download URL radarx-0.5.1-cp313-cp313-macosx_11_0_arm64.whl
Size 5.0 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e1c3ade730c446b5264422008ea1d10b79668bf894a408b6c6b1dfdf7401ef05
BLAKE2b-256 checksum
How to use checksums
bab06a4d8027d4fb9436b46d01f945a53c0cbaf9d8150a4ea53beb47c64ef76d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / radarx-0.5.1-cp313-cp313-macosx_10_13_x86_64.whl

Download URL radarx-0.5.1-cp313-cp313-macosx_10_13_x86_64.whl
Size 5.2 MB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
08aaa916d1e03030766617f362549db4d101d4d201a24244f792f90ffdb035f4
BLAKE2b-256 checksum
How to use checksums
7e406d036122979b5285e9c6a76ffc655fae20edd674875f52347191dc0a35f5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / radarx-0.5.1-cp312-cp312-win_amd64.whl

Download URL radarx-0.5.1-cp312-cp312-win_amd64.whl
Size 5.3 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
e873bf48029fb941c8abee9248b3af15c6d13146456403c99f18a61a09540888
BLAKE2b-256 checksum
How to use checksums
0a0337b083fd87f087025aa37bab8606e1cff841c88d7dfb00a80f995bdc2331
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / radarx-0.5.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL radarx-0.5.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 5.9 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
d9189de70f22c76e58192a1d6bde80412b48b34f1694b2459b6baa79002399bb
BLAKE2b-256 checksum
How to use checksums
c32ba4c7455f1af4a6b57b952d19a2acf4f8dbc7cad98c88b1a8e99a65f973f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / radarx-0.5.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL radarx-0.5.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 5.6 MB
Tags CPython 3.12 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
50fe239d846bc2a0de54f8ab286d4420a4ec31426ff2750ceb62ca3a27c0993b
BLAKE2b-256 checksum
How to use checksums
16236f85957e36aec4981cc9c942dee74da04d3e83fb88f9070a3563ad1c7a0a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / radarx-0.5.1-cp312-cp312-macosx_11_0_arm64.whl

Download URL radarx-0.5.1-cp312-cp312-macosx_11_0_arm64.whl
Size 5.0 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
add5d8bffca85a6afc5c21fa2cb6500b351c02d0724a37c2e9464f4d20acb754
BLAKE2b-256 checksum
How to use checksums
1c56c3c30898e8b0d67505e288a34c8972d042eebb7e518b1cbcbdb8ac273c79
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / radarx-0.5.1-cp312-cp312-macosx_10_13_x86_64.whl

Download URL radarx-0.5.1-cp312-cp312-macosx_10_13_x86_64.whl
Size 5.2 MB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
5a1844df829212552167e1d2e1d17e390faa1429bf749e3b34c99962439423b5
BLAKE2b-256 checksum
How to use checksums
6d7af6d3877ec5f8e1b5269ab1cc417dbf1ba24402c69c767ba35649b25bea46
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page