skillfed

arm-pyart

Py-ART: Python ARM Radar Toolkit

arm-pyart v2.2.5 157.0K downloads/30d#10,770 on PyPI597
Permissive license BSD-3-Clause Active released

What it is and what it does

Py-ART is a Python library for working with weather radar data, developed and used by the ARM User Facility for processing data from precipitation and cloud radars. It sits on top of NumPy, SciPy, matplotlib, and xarray to provide radar-specific algorithms for data correction, retrieval, and visualization. The package handles reading multiple radar file formats, applying quality control and correction algorithms, and producing publication-ready plots with geographic context via cartopy. It's designed for atmospheric scientists and radar engineers but is general enough to work with many radar types beyond ARM's own instruments.

The library bundles published scientific methods for radar processing—wind retrieval, beam blockage calculation, turbulence detection—and integrates with the broader open-radar ecosystem through xradar and open-radar-data. Installation is straightforward via conda or pip, though the dependency stack (netcdf4, cartopy, xarray, scipy) means setup time and potential compilation on some platforms. The package is actively maintained, supports current Python versions (3.11–3.13), and carries no known security vulnerabilities.

Use it for:

  • Read and quality-control raw radar data from multiple file formats (cfradial, netCDF4, HDF5) for scientific analysis.
  • Apply published correction algorithms (attenuation, clutter removal, velocity dealiasing) to radar reflectivity and velocity fields.
  • Generate publication-ready radar plots with geographic overlays, colormaps, and custom field metadata.
  • Retrieve wind kinematics or precipitation estimates from single or dual-Doppler radar observations.
  • Integrate radar data into larger atmospheric science workflows using xarray and pandas for time-series or spatial analysis.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Py-ART provides weather radar data processing, analysis, and visualization algorithms built on the Scientific Python stack for examining precipitation and cloud radar data.

Yes, if you work with weather radar data in research or operational settings. Py-ART is production-stable (Development Status 5), actively maintained, carries no vulnerabilities, and integrates well with the Scientific Python ecosystem. The medium install friction is justified by the comprehensive radar algorithm library and active community. Not necessary for general atmospheric modeling or visualization work that doesn't involve radar-specific corrections or retrievals.

Install

arm-pyart on PyPI

pip

pip install arm-pyart

uv

uv add arm-pyart

poetry

poetry add arm-pyart

Installing arm-pyart

Before you install

Medium install friction due to 15 runtime dependencies including compiled packages (netcdf4, cartopy) and optional C/C++ compiler requirements. Active maintenance with recent release (38 days ago) and steady repository activity (597 stars) reduces adoption risk.

License in practice

BSD-3-Clause (permissive) allows commercial and private use with minimal restrictions, requiring only license and copyright notice retention.

Quickstart

pip install arm-pyart

import pyart
radar = pyart.io.read_cfradial('radar_file.nc')
radar.fields.keys()

Requires Python 3.11 or later; netcdf4 and cartopy have compiled dependencies that may need system libraries (HDF5, GEOS, PROJ).

Verify before relying

  • Whether optional dependencies (h5py, CyLP, PyGLPK, CVXOPT, wradlib) are commonly needed for typical workflows.
  • Performance characteristics when processing large radar datasets or real-time data streams.
  • Compatibility with non-standard radar formats beyond cfradial and netCDF4.

Package facts

License BSD-3-Clause (permissive)
Python support supports the current Python release (>=3.11)
Install friction medium — platform-specific wheel
Runtime dependencies 15 — cartopy, cftime, fsspec, matplotlib, mda-xdrlib, netcdf4, numpy, open-radar-data, pandas, pint, pooch, s3fs, scipy, xarray, xradar
Maintenance actively maintained — 38 days since the last release
Last repo commit
First released
Downloads 156,959/month — #10,770 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: arm_pyart-2.2.5-cp311-cp311-macosx_10_9_x86_64.whl; arm_pyart-2.2.5-cp311-cp311-macosx_11_0_arm64.whl; arm_pyart-2.2.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; arm_pyart-2.2.5-cp311-cp311-win_amd64.whl; arm_pyart-2.2.5-cp312-cp312-macosx_10_13_x86_64.whl; arm_pyart-2.2.5-cp312-cp312-macosx_11_0_arm64.whl; arm_pyart-2.2.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; arm_pyart-2.2.5-cp312-cp312-win_amd64.whl; arm_pyart-2.2.5-cp313-cp313-macosx_10_13_x86_64.whl; arm_pyart-2.2.5-cp313-cp313-macosx_11_0_arm64.whl; arm_pyart-2.2.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; arm_pyart-2.2.5-cp313-cp313-win_amd64.whl

Development Status :: 5 - Production/StableFramework :: MatplotlibIntended Audience :: DevelopersIntended Audience :: Science/ResearchOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIX :: LinuxProgramming Language :: CProgramming Language :: CythonProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Topic :: Scientific/EngineeringTopic :: Scientific/Engineering :: Atmospheric Science

Tags

weather radar data processingradar algorithms pythonatmospheric radar toolkitradar data analysis visualizationprecipitation radar toolsdoppler radar processingradar reflectivity correction
radar-processingatmospheric-sciencegeospatial-data

More Scientific/Engineering packages