Example Dataset & MATLAB ReaderThe 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 StartDownload the zip archive. Unzip it. Go to that folder and try MATLAB. Run
showmapYou should be presented with a list of filenames, choose any one of them. To view another set, do
clear cut showmapThat is it! Wasn't it quick?
MATLAB readerA MATLAB reader readprime() is included in the zipfile.
cut = readprime(FILE)
Descriptionreadprime(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.
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)]
LimitationsThe 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.
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" ;