Example Dataset & MATLAB Reader

The OU-PRIME data is available in NetCDF format and has been designed to be WDSS-II friendly. Each data file contains all the attributes needed for WDSS-II to recognize the data type, site location, colormap, etc. Here is a set of data with example MATLAB code to read and display them. If you try them with your MATLAB, you should get something similar to the following screenshots.
Download
Really Quick Start
Download the zip archive. Unzip it. Go to that folder and try MATLAB. Run
showmap
You should be presented with a list of filenames, choose any one of them. To view another set, do
clear cut
showmap
That is it! Wasn't it quick?
MATLAB reader
A MATLAB reader
readprime() is included in the zipfile.
Syntax
cut = readprime(FILE)
Description
readprime(FILE) reads a NetCDF moment data FILE into MATLAB as a structure variable. Each NetCDF file from OU-PRIME contains only one sweep, one moment product. If multiple products are available, with similar filenames, the function will attempt to find and group them into the same structure.
Example
cut = readprime('OKU-20090613-032937-03-Z.nc')
The output is
cut =
radar: 'OU-PRIME'
lat: 35.1801
lon: -97.4337
elev_m: 342
height_m: 366
time: 7.3394e+05
vcp: 'OUVCP21'
el_deg: [720x1 single]
az_deg: [720x1 single]
prod: [6x1 struct]
cut.prod(1) =
type: 'Z'
ngate: 960
delr_m: 125
data: [960x720 single]
cut.prod(2) =
type: 'V'
ngate: 960
delr_m: 125
data: [960x720 single]
Say if you wanted to access the data of reflectivity, i.e., a matrix of 960 x 720 elements, it should be referred to as
cut.prod(1).data =
[ z(1,1) z(1,2) z(1,3) ... z(1,720);
z(2,1) z(2,2) z(2,3) ... z(2,720);
z(3,1) z(3,2) z(3,3) ... z(3,720);
: : : :
: : : :
z(960,1) z(960,2) z(960,3) ... z(960,720)]
Limitations
The function is implemented using the native support for netCDF from MATLAB. It should be portable across various platforms as long as MATLAB supports them. The function has been tested, however, only with the MATLAB release 2008b, 2009a, 2009b, 2010a on Mac OS X 10.6.2 and RedHat Linux 2.6.18.
Screenshots
NetCDF Header
dimensions:
Azimuth = 720 ;
Gate = 960 ;
variables:
float Azimuth(Azimuth) ;
Azimuth:Units = "Degrees" ;
float Elevation(Azimuth) ;
Elevation:Units = "Degrees" ;
float Beamwidth(Azimuth) ;
Beamwidth:Units = "Degrees" ;
float GateWidth(Azimuth) ;
GateWidth:Units = "Meters" ;
float TxPower(Azimuth) ;
TxPower:Units = "dBm" ;
float Corrected_Intensity(Azimuth, Gate) ;
Corrected_Intensity:Units = "dBZ" ;
// global attributes:
:TypeName = "Corrected_Intensity" ;
:DataType = "RadialSet" ;
:Latitude = 35.1800994873047 ;
:Longitude = -97.4337005615234 ;
:Height = 342 ;
:Time = 1244863777 ;
:FractionalTime = 0. ;
:attributes = "NyquistVelocity vcp radarName ColorMap" ;
:NyquistVelocity-unit = "MetersPerSecond" ;
:NyquistVelocity-value = "16.05" ;
:vcp-unit = "dimensionless" ;
:vcp-value = "OUVCP21_1deg" ;
:radarName-unit = "dimensionless" ;
:radarName-value = "OKU" ;
:RangeToFirstGate = 0 ;
:RangeToFirstGateUnits = "Meters" ;
:RadarParameters = "PRF PulseWidth MaximumRange" ;
:PRF-unit = "Hertz" ;
:PRF-value = 1180 ;
:PulseWidth-unit = "MicroSeconds" ;
:PulseWidth-value = 0.8 ;
:MaximumRange-unit = "KiloMeters" ;
:MaximumRange-value = 120.f ;
:Z_Calibration = 0.f ;
:Zdr_Calibration = 0.f ;
:C_Calibration = 32.f ;
:ColorMap-unit = "dimensionless" ;
:ColorMap-value = "Reflectivity" ;
:Elevation = 1.5 ;
:ElevationUnits = "Degrees" ;
:MissingData = -99900. ;
:RangeFolded = -99901. ;
:MoreRadarParameters = "AntennaSpeed ClutterFilter" ;
:AntennaSpeed-DegreesPerSecond = 15.f ;
:ClutterFilter = "No Filter" ;
:CalibrationParameters = "ZCal ZdrOffset NoiseSampleH NoiseSampleV" ;
:ZCal-dB = -32.f ;
:ZdrOffset-dB = 0.f ;
:NoiseSampleH-value = 2.25f ;
:NoiseSampleV-value = 2.01f ;
:CensoringParameters = "LogNoiseThreshold CCOR SQIThreshold" ;
:LogNoiseThreshold-dB = 0.0625f ;
:CCOR-dB = 60.f ;
:SQIThreshold-percent = 0.f ;
:ConversionPlugin = "Vol2NetCDF v1.2 for EDGE 5.3" ;
:ContactInformation = "http://arrc.ou.edu/ouprime" ;