netcdf upperAir { dimensions: manLevel = 21; recNum = UNLIMITED; stnNameLen = 6; sigTLevel = 50; sigWLevel = 50; MwndNum = 4; variables: long wmoStaNum (recNum); wmoStaNum : long_name = "WMO numeric station ID"; wmoStaNum : _FillValue = 1E+9; wmoStaNum : reference = "Volume A of WMO Publication 9"; char staName (recNum, stnNameLen); staName : long_name = "Alphanumeric station name"; staName : _FillValue = 0; staName : reference = "station info table"; float staLat (recNum); staLat : long_name = "station latitude"; staLat : _FillValue = 1E+9; staLat : units = "degrees"; staLat : valid_range = 0., 90.; float staLon (recNum); staLon : long_name = "station longitude"; staLon : _FillValue = 1E+9; staLon : units = "degrees"; staLon : valid_range = -180., -50.; float staElev (recNum); staElev : long_name = "station elevation"; staElev : _FillValue = 1E+9; staElev : units = "meters"; staElev : valid_range = -100.0, 3500.0; double timeObs(recNum); // seconds since 1-1-1970 timeObs : long_name = "time of observation"; timeObs : _FillValue = 1E+36; timeObs : units = "seconds"; long numManT(recNum); numManT : long_name = "Number of Mandatory Levels"; numManT : valid_range = 0, 21; long numSigT(recNum); numSigT : long_name = "Number of Significant Levels wrt T"; numSigT : valid_range = 0, 50; long numSigW(recNum); numSigW : long_name = "Number of Significant Levels wrt W"; numSigW : valid_range = 0, 50; long numMwnd(recNum); numMwnd : long_name = "Number of Maximum Wind Levels"; numMwnd : valid_range = 0, 4; float presSfc (recNum); presSfc : long_name = "Pressure - Surface"; presSfc : _FillValue = 1E+9; presSfc : units = "hectopascals"; // presSfc : valid_range = 1.f, 1500.f; float tempSfc (recNum); tempSfc : long_name = "Temperature - Surface"; tempSfc : _FillValue = 1E+9; tempSfc : units = "Kelvin"; float dewPtSfc (recNum); dewPtSfc : long_name = "Dew Point - Surface"; dewPtSfc : _FillValue = 1E+9; dewPtSfc : units = "Kelvin"; float windDirSfc (recNum); windDirSfc : long_name = "Wind Direction - Surface"; windDirSfc : _FillValue = 1E+9; windDirSfc : units = "degrees"; // windDirSfc : valid_range = 0.0f, 360.0f; float windSpeedSfc (recNum); windSpeedSfc : long_name = "Wind Speed - Surface"; windSpeedSfc : _FillValue = 1E+9; windSpeedSfc : units = "meter/sec"; // windSpeedSfc : valid_range = 0.0f, 300.0f; float presMan (recNum, manLevel); presMan : long_name = "Pressure - Mandatory Levels"; presMan : _FillValue = 1E+9; presMan : units = "hectopascals"; // presMan : valid_range = 1.f, 1500.f; float zMan (recNum, manLevel); zMan : long_name = "Geopotential - Mandatory Levels"; zMan : _FillValue = 1E+9; zMan : units = "meters"; // zMan : valid_range = -250.f, 60000.f; float tempMan (recNum, manLevel); tempMan : long_name = "Temperature - Mandatory Levels"; tempMan : _FillValue = 1E+9; tempMan : units = "Kelvin"; float dewPtMan (recNum, manLevel); dewPtMan : long_name = "Dew Point - Mandatory Levels"; dewPtMan : _FillValue = 1E+9; dewPtMan : units = "Kelvin"; float windDirMan (recNum, manLevel); windDirMan : long_name = "Wind Direction - Mandatory Levels"; windDirMan : _FillValue = 1E+9; windDirMan : units = "degrees"; // windDirMan : valid_range = 0.0f, 360.0f; float windSpeedMan (recNum, manLevel); windSpeedMan : long_name = "Wind Speed - Mandatory Levels"; windSpeedMan : _FillValue = 1E+9; windSpeedMan : units = "meter/sec"; // windSpeedMan : valid_range = 0.0f, 300.0f; float presTrop (recNum); presTrop : long_name = "Pressure - Tropopause"; presTrop : _FillValue = 1E+9; presTrop : units = "hectopascals"; // presTrop : valid_range = 1.f, 1500.f; float tempTrop (recNum); tempTrop : long_name = "Temperature - Tropopause"; tempTrop : _FillValue = 1E+9; tempTrop : units = "Kelvin"; float dewPtTrop (recNum); dewPtTrop : long_name = "Dew Point - Tropopause"; dewPtTrop : _FillValue = 1E+9; dewPtTrop : units = "Kelvin"; float windDirTrop (recNum); windDirTrop : long_name = "Wind Direction - Tropopause"; windDirTrop : _FillValue = 1E+9; windDirTrop : units = "degrees"; // windDirTrop : valid_range = 0.0f, 360.0f; float windSpeedTrop (recNum); windSpeedTrop : long_name = "Wind Speed - Tropopause"; windSpeedTrop : _FillValue = 1E+9; windSpeedTrop : units = "meter/sec"; // windSpeedTrop : valid_range = 0.0f, 300.0f; float presMwnd (recNum, MwndNum); presMwnd : long_name = "Pressure - Max Wind Levels"; presMwnd : _FillValue = 1E+9; presMwnd : units = "hectopascals"; // presMwnd : valid_range = 1.f, 1500.f; float windDirMwnd (recNum, MwndNum); windDirMwnd : long_name = "Wind Direction - Max Wind Levels"; windDirMwnd : _FillValue = 1E+9; windDirMwnd : units = "degrees"; // windDirMwnd : valid_range = 0.0f, 360.0f; float windSpeedMwnd (recNum, MwndNum); windSpeedMwnd : long_name = "Wind Speed - Max Wind Levels"; windSpeedMwnd : _FillValue = 1E+9; windSpeedMwnd : units = "meter/sec"; // windSpeedMwnd : valid_range = 0.0f, 300.0f; float presSigT (recNum, sigTLevel); presSigT : long_name = "Pressure - Significant Levels wrt T or TD"; presSigT : _FillValue = 1E+9; presSigT : units = "hectopascals"; // presSigT : valid_range = 1.f, 1500.f; float tempSigT (recNum, sigTLevel); tempSigT : long_name = "Temperature - Significant Levels wrt T or TD"; tempSigT : _FillValue = 1E+9; tempSigT : units = "Kelvins"; float dewPtSigT (recNum, sigTLevel); dewPtSigT : long_name = "Dew Point - Significant Levels wrt T or TD"; dewPtSigT : _FillValue = 1E+9; dewPtSigT : units = "Kelvins"; float zSigW (recNum, sigWLevel); zSigW : long_name = "Geopotential - Significant Levels wrt Winds"; zSigW : _FillValue = 1E+9; zSigW : units = "meters"; // zSigW : valid_range = -250.f, 60000.f; float windDirSigW (recNum, sigWLevel); windDirSigW : long_name = "Wind Direction - Significant Levels wrt Winds"; windDirSigW : _FillValue = 1E+9; windDirSigW : units = "degrees"; // windDirSigW : valid_range = 0.0f, 360.0f; float windSpeedSigW (recNum, sigWLevel); windSpeedSigW : long_name = "Wind Speed - Significant Levels wrt Winds"; windSpeedSigW : _FillValue = 1E+9; windSpeedSigW : units = "meter/sec"; // windSpeedSigW : valid_range = 0.0f, 300.0f; }