Skip to content
Python Fundamental Calculations for Radar Meteorology
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples Added example directory and moved examples here from main page. Oct 2, 2015
pyradarmet Fix incorrect keyword call in BeamBlock. Dec 4, 2017
scripts Added example directory and moved examples here from main page. Oct 2, 2015


Python Fundamental Calculations in Radar Meteorology package notes

Originally Created: 5 February 2014


Nick Guy -

Special thanks to Timothy Lang and Kai Muehlbauer for the insights and contributions.

Package Details – Routines to calculate coefficients useful in attenuation calculations – Routines to convert linear to log reflectivity and vice versa – Routines to calculate a number of fundamental Doppler radar characteristics including unambiguous range and velocity, “Doppler dilemma” equation, dual PRF Vmax,… – Routines to calculate such characteristics as effective radius, half-power radius, ray height, sample volumes, range corrections, beam blockage fractions,… – Routines to calculate such characteristics as wavelength, frequency, pulse length, radar constant, effective antenna area, thermal noise, … – Routines to calculate such characteristics as CDR, LDR, ZDR, ZDP,… This is really basic at the moment as I haven’t even attempted dual-pol calcs as of yet. – Routines to calculate ZDR offset of a dual-polarimetric radar. This is called by an executable called cal_zdr.

BeamBlock - A class that allows the calculation of the geometric beam blocking.


This module has be ported over to an R package by Jose Gama.

PyRadarMet is undergoing a port into the wradlib python package.

Some modules now exist in wradlib. Many fundamental calculations are planned to be moved the CSU_RadarTools python package.

Special packages (e.g. BeamBlock, ZDR cal scripts) are currently only available in PyRadarMet.


There are two options for install. The setup script now downloads the data listed below automatically.

To download and install the data within the package directory:

python install

This is the most robust way, as the data is always a relative path stored within the python 'egg'.

To download the data and install it to a user-specified location an environmental variable must be set. The variable is 'GTOPO_DATA' and can be set on unix systems (in a bash environment) as such:

export GTOPO_DATA=/some/direcoty/for/the/data

It is recommended that this be done in a shell profile file like .bashrc or .bash_profile Then run the install command:

python install

The install took about 150 seconds on a university connection when installed in an external directory.

The install took about 250 seconds when installed as part of the package.

##Data The data folder holds Digital Elevation Model data used in the BeamBlock routine. The data is the GTOPO30, a 30-arc second (~ 1 km) elevation data set. Data available from the U.S. Geological Survey. Downloaded from the long term archive,

using the EarthExplorer tool.


Developed on the Anaconda distribution (1.9.1 & Python 2.7.7), tested to: Anaconda 2.1.0 and Python 2.7.8 Anaconda

It uses a typical scientific python stack: Numpy Scipy matplotlib


This software was originally an attempt to help me get used to programming in Python environment. I have tested more since it was originally developed and have modified accordingly.

Please feel free to contact me with questions or suggestions. Do note this is a side project and it may take me some time to respond.

This is open-source software, with no warranties extended.

You can’t perform that action at this time.