netcdf sao { // SAO message dimensions: maxAutoStaLen = 6; // Max auto station name length maxAutoWeather = 5; // Max num of auto weather codes maxAutoWeaLen = 12; // Max num of auto weather codes maxCldTypeLen = 5; maxCloudTypes = 5; maxDataSrcLen = 8; maxRepLen = 5; // Max report type length maxSAOLen = 256; // Max undecoded SAO length maxSkyCover = 5; // Max num of sky cover groups maxSkyLen = 8; // Max length of sky cover word maxSkyMethLen = 3; maxStaNamLen = 5; // Station name length maxWeatherNum = 5; // Max num of present weather codes maxWeatherLen = 40; recNum = UNLIMITED; variables: // SAO ORIGIN INFO // This variable does not appear in SAOs. long wmoId(recNum); wmoId:long_name = "WMO numeric station ID"; wmoId:_FillValue = -2147483647; wmoId:valid_range = 1, 89999; wmoId:reference = "station table"; char stationName(recNum, maxStaNamLen); stationName:long_name = "Alphanumeric station name"; stationName:reference = "station table"; // This variable does not appear in SAOs. float latitude(recNum); latitude:units = "degrees"; latitude:_FillValue = 3.40282357e+38f; latitude:reference = "station table"; // This variable does not appear in SAOs. float longitude(recNum); longitude:units = "degrees"; longitude:_FillValue = 3.40282357e+38f; longitude:reference = "station table"; // This variable does not appear in SAOs. float elevation(recNum); elevation:units = "meters"; elevation:_FillValue = 3.40282357e+38f; elevation:reference = "station table"; // SAO DATE AND TIME double timeObs(recNum); timeObs:long_name = "time of observation"; timeObs:units = "seconds since 1-1-1970"; timeObs:_FillValue = 1.797693134862315900e+308; // This variable does not appear in SAOs. double timeNominal(recNum); timeNominal:long_name = "SAO hour"; timeNominal:units = "seconds since 1-1-1970"; timeNominal:_FillValue = 1.797693134862315900e+308; // REPORT TYPE char reportType(recNum, maxRepLen); reportType:long_name = "Report type"; reportType:reference = "FMH-1"; // AUTO STATION TYPE char autoStationType(recNum, maxAutoStaLen); autoStationType:long_name = "Automated station type"; autoStationType:reference = "FMH-1"; // SKY COVER GROUP char skyCover(recNum, maxSkyLen, maxSkyCover); skyCover:long_name = "Sky cover"; skyCover:reference = "FMH-1"; float skyLayerBase(recNum, maxSkyCover); skyLayerBase:long_name = "Sky cover layer base"; skyLayerBase:units = "meters"; skyLayerBase:_FillValue = 3.40282357e+38f; skyLayerBase:valid_min = 0; char skyHeightMethod(recNum, maxSkyMethLen, maxSkyCover); skyHeightMethod:long_name = "Method of determining ceiling ht"; skyHeightMethod:reference = "FMH-1"; //char skyVarHeightFlag(recNum, maxSkyCover); // skyVarHeightFlag:long_name = "Sky cover variable height flag"; // skyVarHeightFlag:valid_range = 0, 1; // VISIBILITY GROUP float visibility(recNum); visibility:units = "kilometers"; visibility:_FillValue = 3.40282357e+38f; visibility:valid_min = 0.0; //int varVisFlag(recNum); // varVisFlag:long_name = "Variable visibility flag"; // varVisFlag:valid_range = 0, 1; //int visLessThanFlag(recNum); // visLessThanFlag:long_name = "Visibility less than flag"; // visLessThanFlag:valid_range = 0, 1; // PRESENT WEATHER char presWeather(recNum, maxWeatherLen); presWeather:long_name = "Present weather"; presWeather:reference = "FMH-1"; // SEA LEVEL PRESSURE float seaLevelPress(recNum); seaLevelPress:long_name = "Sea level pressure"; seaLevelPress:units = "1e2 pascals"; seaLevelPress:_FillValue = 3.40282357e+38f; // TEMPERATURE float temperature(recNum); temperature:units = "Kelvins"; temperature:_FillValue = 3.40282357e+38f; // DEWPOINT float dewpoint(recNum); dewpoint:units = "Kelvins"; dewpoint:_FillValue = 3.40282357e+38f; // WIND GROUP float windDir(recNum); windDir:long_name = "Wind direction"; windDir:units = "degrees"; windDir:_FillValue = 3.40282357e+38f; float windSpeed(recNum); windSpeed:long_name = "Wind speed"; windSpeed:units = "meter/sec"; windSpeed:_FillValue = 3.40282357e+38f; windSpeed:valid_min = 0; float windGust(recNum); windGust:long_name = "Wind gust"; windGust:units = "meter/sec"; windGust:_FillValue = 3.40282357e+38f; windGust:valid_min = 0; // ALTIMETER float altimeter(recNum); altimeter:long_name = "Altimeter setting"; altimeter:units = "1e2 pascals"; altimeter:_FillValue = 3.40282357e+38f; altimeter:valid_min = 0.0; // 24 HOUR TEMPERATURE float minTemp24Hour(recNum); minTemp24Hour:long_name = "24 hour min temperature"; minTemp24Hour:units = "Kelvins"; minTemp24Hour:_FillValue = 3.40282357e+38f; float maxTemp24Hour(recNum); maxTemp24Hour:long_name = "24 hour max temperature"; maxTemp24Hour:units = "Kelvins"; maxTemp24Hour:_FillValue = 3.40282357e+38f; // 1 HOUR PRECIP float precip1Hour(recNum); precip1Hour:long_name = "1 hour precip"; precip1Hour:units = "mm"; precip1Hour:_FillValue = 3.40282357e+38f; precip1Hour:valid_min = 0.0; // 3 HOUR PRECIP float precip3Hour(recNum); precip3Hour:long_name = "3 hour precip"; precip3Hour:units = "mm"; precip3Hour:_FillValue = 3.40282357e+38f; precip3Hour:valid_min = 0.0; // 6 HOUR PRECIP float precip6Hour(recNum); precip6Hour:long_name = "6 hour precip"; precip6Hour:units = "mm"; precip6Hour:_FillValue = 3.40282357e+38f; precip6Hour:valid_min = 0.0; // 24 HOUR PRECIP float precip24Hour(recNum); precip24Hour:long_name = "24 hour precip"; precip24Hour:units = "mm"; precip24Hour:_FillValue = 3.40282357e+38f; precip24Hour:valid_min = 0.0; // 3 HOUR PRESSURE CHANGE GROUP short pressChangeChar(recNum); pressChangeChar:long_name = "Character of pressure change"; pressChangeChar:_FillValue = -32767s; pressChangeChar:reference = "FMH-1"; short pressChange3Hour(recNum); pressChange3Hour:long_name = "3 hour pressure change"; pressChange3Hour:units = "1e2 pascals"; pressChange3Hour:_FillValue = -32767s; pressChange3Hour:valid_min = 0.0; // RAW SAO MESSAGE char rawSAO(recNum, maxSAOLen); rawSAO:long_name = "Raw SAO message"; // CORRECTION FLAG long correction(recNum); correction:long_name = "Corrected SAO indicator"; wmoId:_FillValue = -2147483647; // DATA SOURCE // char dataSource(recNum, maxDataSrcLen); // dataSource:long_name = "Data source name"; // GLOBAL ATTRIBUTES //:title = "Surface Aviation Observations"; }