What is Py-ART?

The Python ARM Radar Toolkit, Py-ART, is a Python module containing a collection of weather radar algorithms and utilities. Py-ART is used by the Atmospheric Radiation Measurement (ARM) Climate Research Facility for working with data from a number of its precipitation and cloud radars, but has been designed so that it can be used by others in the radar and atmospheric communities to examine, processes, and analyze data from many types of weather radars.

Citing Py-ART

If you use Py-ART in your work please cite it in your paper. While the developers appreciate mentions in the text and acknowledgements citing the paper helps more.

For Py-ART cite our paper in the Journal of Open Research Software

Helmus, J.J. & Collis, S.M., (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

For a general citation on Open Radar Software please cite Maik Heistermann in BAMS

M. Heistermann, S. Collis, M. J. Dixon, S. Giangrande, J. J. Helmus, B. Kelley, J. Koistinen, D. B. Michelson, M. Peura, T. Pfaff, and D. B. Wolff, 2015: The Emergence of Open-Source Software for the Weather Radar Community. Bull. Amer. Meteor. Soc. 96, 117–128, doi: 10.1175/BAMS-D-13-00240.1.

What can Py-ART do?

Py-ART has the ability to ingest (read) from a number of common weather radar formats including Sigmet/IRIS, MDV, CF/Radial, UF, and NEXRAD Level II archive files. Radar data can be written to NetCDF files which conform to the CF/Radial convention.

Py-ART also contains routines which can produce common radar plots including PPIs and RHIs.

PPI Plot RHI Plot

Algorithms in the module are able to performs a number of corrections on the radar moment data in antenna coordinate including attenuation correction of the reflectivity, velocity dealiasing, and correction of the specific (Kdp) and differential (PhiDP) phases.

A sophisticated mapping routines is able to efficiently create uniform Cartesian grids of radar fields from one or more radars. Routines exist in Py-ART for plotting these grids as well as saving them to NetCDF files.


Py-ART requires an install of Python 2.6 or 2.7 as well as the following modules.

The following are optional dependencies that if installed will provide additional functionality:

An easy way to obtain most or all of these dependancies is to install a Scientific Python distribution such as Enthought Canopy, or Anaconda which both have free versions. Additional details on installing a SciPy stack can found online.

To install Py-ART on Linux or OS-X clone the git repository or download the repositories zip file and extract the file. Then run:

$ python setup.py install

Installing Py-ART on Windows has not been tested. Additional detail on installing Py-ART can be found in the INSTALL.rst file.


Documentation for Py-ART can be found in the online documentation or using Python's built in help system. A number of examples are also provided for those wishing to see real world uses of Py-ART. The user reference manual may be of use to those needing a detailed information about the modules, functions and classes in Py-ART.

Getting help

Py-ART has a mailing list where you can ask questions and request help. Also feel free to email the lead developer of the pproject, Jonathan J. Helmus, directly with questions or comments.


Py-ART is an open source software package distributed under the New BSD License. Source code for the package is available on GitHub. Feature requests and bug reports can be sumbitted to the Issue tracker, posting to the pyart-users mailing list or contacting Jonathan Helmus directly. Contributions of source code, documentation or additional example are always appreciated from both developers and users. Developers looking for more detailed information on the inner workings of Py-ART should examine the developer reference manual.