Skip to main content

Xarray based radar toolkit

Project description

Radarx

Radarx Logo

DOI Python Versions PyPI Version PyPI Downloads

Conda Version Conda Downloads

CI Build distribution RTD Version License pre-commit enabled

Black Ruff CodeQL CodeFactor codebeat badge codecov Codacy Badge

Radarx is a Python library built for radar data processing and visualization. The library integrates tightly with xradar and leverages xarray and DataTree structures to enable easy and efficient manipulation of radar sweeps and volume data.

Project Status: Beta

[!WARNING] This project is currently in high development mode. Features may change frequently, and some parts of the library may be incomplete or subject to change. Please proceed with caution.

Key Features

  • Xradar Integration: Uses xradar for reading radar data in different formats, providing a consistent interface for various radar types.
  • IMD Radar Data Support: Special support for reading and processing IMD radar data in NetCDF format.
  • Volume Scanning: Utilities to process radar sweeps and group them into complete volume scans.
  • Data Gridding: Provides tools for converting radar data to regular Cartesian grids, supporting complex radar geometries.
  • Xarray and DataTree Structured Data: Radar data is returned as xarray datasets, organized into DataTree structures for easy navigation and analysis.

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

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 .

Usage

Here's a simple example of how to use Radarx with xradar to load IMD radar data and process a volume scan:

import radarx as rx

# List of radar files
files = [
    'radar_file1.nc',
    'radar_file2.nc',
    'radar_file3.nc'
]

# Read volume data using Radarx, with xradar integration
volume = rx.io.read_volume(files)

# Access a specific sweep or variable
dbz_data = volume['/volume_0']['DBZ']

Radarx leverages xradar to handle radar file formats and integrates smoothly with xarray and DataTree for organizing and analyzing radar data.

Xradar Integration

Radarx makes use of the powerful xradar library for radar data ingestion and format handling. This ensures that the package is flexible and can handle a variety of radar data formats, including ODIM_H5, Sigmet, and others. For more advanced users, xradar functionality can be directly accessed to extend Radarx's capabilities.

Documentation

For full documentation, please visit the Radarx Documentation.

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

Syed, H. A. (2025). Radarx: An Xarray-based Python package for radar data processing (v0.2). Zenodo. https://doi.org/10.5281/zenodo.14699312

@software{syed_2025_14699312,
  author       = {Syed, Hamid Ali},
  title        = {Radarx: An Xarray-based Python package for radar
                   data processing
                  },
  month        = jan,
  year         = 2025,
  publisher    = {Zenodo},
  version      = {v0.2},
  doi          = {10.5281/zenodo.14699312},
  url          = {https://doi.org/10.5281/zenodo.14699312},
  swhid        = {swh:1:dir:eb4e11846680cf6416be5940f36b363f74e1a3ec
                   ;origin=https://doi.org/10.5281/zenodo.14699306;vi
                   sit=swh:1:snp:f6755852f0e71678ed579651ec997ac4496f
                   3b30;anchor=swh:1:rel:ebd79cd3cf49a7e8a5e9b9576fb7
                   7f7c8bd0227e;path=syedhamidali-radarx-ec92870
                  },
}```

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

radarx-0.2.5.tar.gz (281.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

radarx-0.2.5-py3-none-any.whl (48.6 kB view details)

Uploaded Python 3

File details

Details for the file radarx-0.2.5.tar.gz.

File metadata

  • Download URL: radarx-0.2.5.tar.gz
  • Upload date:
  • Size: 281.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for radarx-0.2.5.tar.gz
Algorithm Hash digest
SHA256 5508e6c96811b310fe47ea0981ac213489f142f99c503b710cafa0e40b62d990
MD5 39f880d4e7e8183f9ebd50b2532ee296
BLAKE2b-256 54b9178bbd2e6c4bc25961d5e84e74594a7fab82563e59b77e4db87c4f8b206e

See more details on using hashes here.

File details

Details for the file radarx-0.2.5-py3-none-any.whl.

File metadata

  • Download URL: radarx-0.2.5-py3-none-any.whl
  • Upload date:
  • Size: 48.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for radarx-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 997ac1a12d3d49701dac06df6ba2bced87916806cd811f210fd90ee29afe3458
MD5 9105917ab33fc1a39e6e5aacb0cd20ec
BLAKE2b-256 55588b4ff23b4e5445d7e8c33fdaa835a182afae35651ac3b30de5365c88c3e8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page