Technical and social challenges in creating the Python ARM Radar Toolkit (Py-ART)
Authors: Helmus, Jonathan, Argonne National Laboratory; Collis, Scott, Argonne National Laboratory
The Atmospheric Radiation Measurement (ARM) Climate Research Facility is currently in the process of bringing online and running more than 30 cloud and precipitation radars with the goal of providing meaningful data from these devices to the meteorology and climate modeling communities. Preparing this data for dissemination requires extensive use of numerical algorithms specific to the radar science and remote sensing fields. Although these algorithms have been published and vetted by the community, many lack a robust implementation, either available under an open license or in proprietary software packages. Rather then keep our implementation of these algorithms and other supporting routines internal, we have created the open source Python-ARM Radar Toolkit (Py-ART) to disseminate not only data to end users but also the source code which was used to create this data. Py-ART offers a powerful interpreted environment for ingesting radar data from a number of formats, correcting for aliasing and attenuation, mapping data to Cartesian grids, creating standard plots of radar fields, and performing a number of geophysical retrievals on the data. The package is also capable of writing data to Climate and Forecast (CF) standard NetCDF files as well as the emerging CF-Radial format for antenna coordinate data. In addition to discussing the technical aspects of the project some of the social, legal and academic issues in developing a community-focused project will be discussed including: the challenge of creating software which appeals to the wide range of user abilities often found in the scientific community, licensing difficulties when adapting existing codes as well when working with academic institutions and government agencies, the obstacles of developing software in collaboration with scientist with a variety of research interests, funding levels, and software philosophies.