CSU-Radarmet / CSU_RadarTools

A module of independent functions to do precipitation retrievals from polarimetric radar data
GNU General Public License v2.0
88 stars 43 forks source link

CSU_RadarTools

Python tools for polarimetric radar retrievals.

This codebase was developed at Colorado State University by numerous people, including Brenda Dolan, Brody Fuchs, Kyle Wiens, Rob Cifelli, Larry Carey, Timothy Lang, and others.

Currently, fuzzy-logic-based hydrometeor identification, blended rainfall, DSD retrievals, and liquid/ice mass calculations are supported. There is also an algorithm that uses a finite impulse response (FIR) filter to process differential phase and calculate specific differential phase. Finally, there are some tools to do rudimentary QC on the data.

These are supplied as standalone functions that take polarimetric radar data as arguments. Scalars and arrays are supported as function inputs. The main exception is csu_kdp.calc_kdp_bringi() which requires individual rays, sweeps, or volumes of radar data.

CSU_RadarTools Installation

To install CSU_RadarTools, download the source code and then run the following in the code's home directory:

python setup.py install

By default, if the CSURT_F2PY environment variable is not set (or set to a case-insensitive match for {0, false, no}, the package will be compiled using Cython to speed up KDP and other routines. This enables the widest cross-platform support. However, if you are able to compile programs using f2py, you may want to try setting CSU_F2PY to any non-falsy value (e.g. 1). This should provide a modest performance improvement. Under Windows, f2py will be difficult to get working, but we've been successful using it under Mac and Linux.

Note: If you have previously installed CSU_Radartools you may have to completely remove it from its installation location to get the latest version to work right, since the KDP routines have been substantially altered.

To easily access all of the tools, you can use the following in your analysis code:

from csu_radartools import (csu_fhc, csu_liquid_ice_mass, csu_blended_rain,
                            csu_dsd, csu_kdp, csu_misc, fundamentals)

For help information do help on individual modules. There is also a demonstration IPython notebook in the notebooks directory that covers all the modules.

CSU_RadarTools is known to work under Python 2.7 and 3.4-3.7. Other Python versions are untested. Although we still fully support Python 2.7 at this time, we strongly recommend you move to Python >=3.6 as soon as practicable, given the Python 2 end of life date in less than a year, and the fact that many other scientific packages have dropped it already. For more information, please see e.g. the Python 3 Statement.

Latest release of CSU_RadarTools (v1.3): DOI

References for specific modules

Summer HID:

Winter HCA:

Trapezoidal Temperature functions:

Kdp calculation

Ice and liquid mass calculation

CSU Blended Rainfall Algorithm

CSU Tropical Rainfall Algorithm

DSD calculations