netcdf profiler { dimensions: recNum=unlimited; beam = 3; // North, East, and Vertical beams beamNameLen = 8; level = 72; // 72 gate levels staNamLen = 6; // 5 characters + null variables: long wmoStaNum(recNum); wmoStaNum:long_name = "WMO numeric station ID"; char staName(recNum, staNamLen); staName:long_name = "Alphanumeric station name"; float staLat(recNum); staLat:long_name = "Station latitude"; staLat:units = "degree_N"; staLat:_FillValue = 1.0e+38f; staLat:valid_range = -90.f, 90.f; float staLon(recNum); staLon:long_name = "Station longitude"; staLon:units = "degree_E"; staLon:_FillValue = 1.0e+38f; staLon:valid_range = -180.f, 180.f; float staElev(recNum); staElev:long_name = "Elevation above MSL"; staElev:units = "meter"; staElev:_FillValue = 1.0e+38f; staElev:valid_range = 0.f, 8000.f; double timeObs(recNum); timeObs : long_name = "Time of observation"; timeObs : units = "seconds since 1970-1-1 00:00:00.0"; timeObs : _FillValue = 1.0e+38; float pressure(recNum); pressure:long_name = "Pressure reduced to MSL"; pressure:units = "hectopascal"; pressure:_FillValue = 1.0e+38f; float temperature(recNum); temperature:long_name = "Surface temperature"; temperature:units = "kelvin"; temperature:_FillValue = 1.0e+38f; float relHumidity(recNum); relHumidity:long_name = "Surface relative humidity"; relHumidity:units = "percent"; relHumidity:_FillValue = 1.0e+38f; float windSpeedSfc(recNum); windSpeedSfc:long_name = "Surface wind speed"; windSpeedSfc:units = "meter/sec"; windSpeedSfc:_FillValue = 1.0e+38f; windSpeedSfc:valid_range = -150.f, 150.f; float windDirSfc(recNum); windDirSfc:long_name = "Surface wind direction"; windDirSfc:units = "degree"; windDirSfc:_FillValue = 1.0e+38f; windDirSfc:valid_range = 0.f, 360.f; float rainRate (recNum); rainRate : long_name = "Rainfall rate - surface"; rainRate : units = "kg/meter2/sec"; rainRate : _FillValue = 1.0e+38f; char submode (recNum); submode : long_name = "NOAA wind profiler submode information"; submode : valueA = "Wind profiler operating in submode A"; submode : valueB = "Wind profiler operating in submode B"; float levels(level); levels:long_name = "Height above station"; levels:units = "meter"; levels:_FillValue = 1.0e+38f; levels:valid_range = 0.f, 16250.f; short levelMode(level); levelMode:long_name = "Wind profiler mode information"; levelMode:value1 = "Data from low mode"; levelMode:value2 = "Data from high mode"; levelMode:value3 = "Missing"; levelMode:level = "levels"; levelMode:_FillValue = 3s; float uComponent(recNum, level); uComponent:long_name = "u (eastward) component"; uComponent:level = "levels"; uComponent:_FillValue = 1.0e+38f; float vComponent(recNum, level); vComponent:long_name = "v (northward) component"; vComponent:level = "levels"; vComponent:_FillValue = 1.0e+38f; float wComponent(recNum, level); wComponent:long_name = "w (upward) component"; wComponent:level = "levels"; wComponent:_FillValue = 1.0e+38f; byte uvQualityCode(recNum, level); uvQualityCode:long_name = "NOAA wind profiler quality control test results for U and V"; uvQualityCode:level = "levels"; uvQualityCode:_FillValue = '\377'; // octal 377 = decimal 255 uvQualityCode:reference = "Quality code bit table in global attributes section"; byte wQualityCode(recNum, level); wQualityCode:long_name = "NOAA wind profiler quality control test results for W"; wQualityCode:level = "levels"; wQualityCode:_FillValue = '\377'; wQualityCode:reference = "Quality code bit table in global attributes section"; float windSpeedStdDev(recNum, level); windSpeedStdDev:long_name = "Wind speed standard deviation"; windSpeedStdDev:units = "meter/sec"; windSpeedStdDev:level = "levels"; windSpeedStdDev:_FillValue = 1.0e+38f; float wStdDev(recNum, level); wStdDev:long_name = "W standard deviation"; wStdDev:units = "meter/sec"; wStdDev:level = "levels"; wStdDev:_FillValue = 1.0e+38f; char beamNames(beam, beamNameLen); beamNames:long_name = "Beam direction names"; float azimBeam(recNum, beam); azimBeam:long_name = "Azimuth of beam"; azimBeam:units = "degree"; azimBeam:beam = "beamNames"; azimBeam:_FillValue = 1.0e+38f; azimBeam:valid_range = 0.f, 360.f; float elevBeam(recNum, beam); elevBeam:long_name = "Elevation of beam"; elevBeam:units = "degree"; elevBeam:beam = "beamNames"; elevBeam:_FillValue = 1.0e+38f; elevBeam:valid_range = 0.f, 90.f; byte momentsQualityCode(recNum, level, beam); momentsQualityCode:long_name = "NOAA wind profiler data quality control test results for moments"; momentsQualityCode:level = "levels"; momentsQualityCode:beam = "beamNames"; momentsQualityCode:_FillValue = '\377'; momentsQualityCode:reference = "Quality code bit table in global attributes section"; float peakPower (recNum, level, beam); peakPower : long_name = "Spectral peak power"; peakPower : units = "dB"; peakPower : level = "levels"; peakPower : beam = "beamNames"; peakPower : _FillValue = 1.0e+38f; float radVelocity (recNum, level, beam); radVelocity : long_name = "Radial velocity"; radVelocity : units = "meter/sec"; radVelocity : level = "levels"; radVelocity : beam = "beamNames"; radVelocity : _FillValue = 1.0e+38f; float specWidth (recNum, level, beam); specWidth : long_name = "Spectral width"; specWidth : units = "meter2/sec2"; specWidth : level = "levels"; specWidth : beam = "beamNames"; specWidth : _FillValue = 1.0e+38f; // Global attributes: :avgTimePeriod = "6 minutes"; // Quality code bit table :qualityCodeNoBitsSet = "Good"; :qualityCodeBit1Set = "Reserved"; :qualityCodeBit2Set = "Test results inconclusive"; :qualityCodeBit3Set = "Test B performed and failed"; :qualityCodeBit4Set = "Test A performed and failed"; :qualityCodeBit5Set = "Reserved"; :qualityCodeBit6Set = "Reserved"; :qualityCodeBit7Set = "Reserved"; :qualityCodeBit8Set = "Reserved"; :qualityCodeBits1To8Set = "Missing"; :qualityCodeLeastSignificantBit = "bit1"; // Data statements to handle relatively static information: data: levels = 500, 750, 1000, 1250, 1500, 1750, 2000, 2250, 2500, 2750, 3000, 3250, 3500, 3750, 4000, 4250, 4500, 4750, 5000, 5250, 5500, 5750, 6000, 6250, 6500, 6750, 7000, 7250, 7500, 7750, 8000, 8250, 8500, 8750, 9000, 9250, 7500, 7750, 8000, 8250, 8500, 8750, 9000, 9250, 9500, 9750,10000,10250,10500,10750,11000,11250,11500,11750, 12000,12250,12500,12750,13000,13250,13500,13750,14000, 14250,14500,14750,15000,15250,15500,15750,16000,16250; levelMode = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2; beamNames = "North ", "East ", "Vertical"; }