University of Oklahoma logo. Texas A&M University logo.
This image is the GridRad logo.  Clicking here will take you to the Overview page.

3-D Gridded NEXRAD WSR-88D Radar Data

Data access software

Click on the links below to download IDL and Python programs to read the GridRad data files and perform basic filtering and decluttering operations.

*Note that the developers' main programming language is IDL. The Python routines were written by Cameron Homeyer and have been thoroughly tested, but we welcome suggestions from experienced Python users to improve those routines.

Additional information about the filtering and decluttering programs is provided in the Algorithm Description Document (coming soon).

Visualization software

GridRad_Viewer is an interactive software package for plotting maps and vertical sections of the GridRad data.


IDL usage example

The IDL function GRIDRAD_READ_FILE returns a data structure containing the contents of the requested GridRad file.

IDL> gridrad = GRIDRAD_READ_FILE('', /VERBOSE)                                                  
% Compiled module: GRIDRAD_READ_FILE.
% Loaded DLM: NCDF.
Level 3 data read from in        1.0469980 s
IDL> help, gridrad                                                                                  
** Structure <183d808>, 21 tags, length=663261016, data length=663261004, refs=1:
   NAME            STRING    'GridRad analysis for 2010-07-01 00:00:00Z'
   X               STRUCT    ->  Array[1]
   Y               STRUCT    ->  Array[1]
   Z               STRUCT    ->  Array[1]
   Z_H             STRUCT    ->  Array[1]
   NOBS            BYTE      Array[2301, 1201, 24]
   NECHO           BYTE      Array[2301, 1201, 24]
   FILE            STRING    ''
   FILES_MERGED    STRING    Array[390]
   ANALYSIS_TIME   STRING    '2010-07-01 00:00:00Z'
IDL> help, gridrad.x                                                                                
** Structure <17a68e8>, 5 tags, length=9248, data length=9244, refs=2:
   VALUES          FLOAT     Array[2301]
   LONG_NAME       STRING    'Longitude'
   UNITS           STRING    'degrees East'
   DELTA           FLOAT         0.0200000
   N               LONG              2301
IDL> help, gridrad.z_h                                                                              
** Structure <17999b8>, 9 tags, length=530592272, data length=530592268, refs=2:
   VALUES          FLOAT     Array[2301, 1201, 24]
   LONG_NAME       STRING    'Radar Reflectivity'
   UNITS           STRING    'dBZ'
   MISSING         FLOAT               NaN
   WVALUES         FLOAT     Array[2301, 1201, 24]
   WLONG_NAME      STRING    'Reflectivity Bin Weights'
   WUNITS          STRING    'dimensionless'
   WMISSING        FLOAT           0.00000
   N               LONG          66324024

To make a quick grayscale plot of column-maximum reflectivity and save to a PNG file

IDL> window, xsize = gridrad.x.n, ysize = gridrad.y.n
IDL> tv, bytscl(max(gridrad.z_h.values, dim = 3, /nan), /nan)
IDL> write_png, 'gridrad_test.png', tvrd(true = 1)

The resulting unfiltered map looks like this.

Quick-look unfiltered GridRad reflectivity map - click map to download image.
This image is an example of a quick-look radar reflectivity map created using GridRad data.

To filter and declutter the data before plotting …

IDL> gridrad2 = GRIDRAD_FILTER(gridrad)
% Compiled module: GRIDRAD_FILTER.
IDL> gridrad3 = GRIDRAD_REMOVE_CLUTTER(gridrad2)
% Compiled module: GRIDRAD_REMOVE_CLUTTER.
% Compiled module: ARRAY_INDICES.
IDL> tv, bytscl(max(gridrad3.z_h.values, dim = 3, /nan), /nan)
IDL> write_png, 'gridrad_filtered_test.png', tvrd(true = 1)   

The filtered map looks like this.

Quick-look filtered GridRad reflectivity map - click map to download image.
This image is an example of a quick-look radar reflectivity map created using GridRad data.

These quick maps can be compared with the raw and filtered maps for the same time on the Maps page.