netcdf RASS { dimensions: level = 22; recNum = UNLIMITED; staNamLen = 6; // 5 char alphanum id + null char variables: int level (level); level : long_name = "Height above station"; level : units = "meters"; long wmoStaNum (recNum); wmoStaNum : long_name = "WMO numeric station ID"; char staName(recNum, staNamLen) ; staName : long_name = "Alphanumeric station name" ; staName : reference = "station table" ; float staLat (recNum); staLat : long_name = "Station latitude"; staLat : units = "degrees"; staLat : valid_range = 0.f, 90.f; float staLon (recNum); staLon : long_name = "Station longitude"; staLon : units = "degrees"; staLon : valid_range = -180.f, -50.f; float staElev (recNum); staElev : long_name = "Station elevation"; staElev : units = "meters"; double timeObs(recNum); // seconds since 1-1-1970 timeObs : long_name = "Time of observation"; timeObs : _FillValue = 1.0e+38; timeObs : units = "seconds"; float windSpeedSfc (recNum); windSpeedSfc : long_name = "Wind speed - surface"; windSpeedSfc : _FillValue = 1.0e38f; windSpeedSfc : units = "meter/sec"; float windDirSfc (recNum); windDirSfc : long_name = "Wind direction - surface"; windDirSfc : _FillValue = 1.0e38f; windDirSfc : units = "degrees"; float pressure (recNum); pressure : long_name = "Pressure reduced to MSL"; pressure : _FillValue = 1.0e38f; pressure : units = "pascals"; float temperature (recNum); temperature : long_name = "Temperature - surface"; temperature : _FillValue = 1.0e38f; temperature : units = "Kelvin"; float rainRate (recNum); rainRate : long_name = "Rainfall rate - surface"; rainRate : _FillValue = 1.0e38f; rainRate : units = "kg/meter**2/second"; float relHumidity (recNum); relHumidity : long_name = "Relative Humidity - surface"; relHumidity : _FillValue = 1.0e38f; relHumidity : units = "percent"; char submode (recNum); submode : long_name = "NOAA wind profiler submode"; byte qualityCode (recNum, level); qualityCode : long_name = "NOAA wind profiler quality control test results"; qualityCode : noBitsSet = "Good"; qualityCode : bit1Set = "Reserved"; qualityCode : bit2Set = "Test results inconclusive"; qualityCode : bit3Set = "Test B performed and failed"; qualityCode : bit4Set = "Test A performed and failed"; qualityCode : bit5Set = "Reserved"; qualityCode : bit6Set = "Reserved"; qualityCode : bit7Set = "Reserved"; qualityCode : bit8Set = "Reserved"; qualityCode : bits1To8Set = "Missing"; qualityCode : LeastSignificantBit = "bit1"; float consensusNum (recNum, level); consensusNum : long_name = "Virtual temperature consensus num"; consensusNum : _FillValue = 1.0e38f; // "6 minute" data files will not contain 'consensusNum' float peakPower (recNum, level); peakPower : long_name = "Spectral peak power"; peakPower : _FillValue = 1.0e38f; peakPower : units = "dB"; float virtualTemp (recNum, level); virtualTemp : long_name = "Virtual temperature"; virtualTemp : _FillValue = 1.0e38f; virtualTemp : units = "Kelvin"; data: level = 500, 750, 1000, 1250, 1500, 1750, 2000, 2250, 2500, 2750, 3000, 3500, 3750, 4000, 4250, 4500, 4750, 5000, 5250, 5500, 5750, 6000; // global attributes // :avgTimePeriod is created at run time // :title (file contents information) is created at run time }