This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
Bob, I don't see any problem with adding new variables to the cdl. Steve Chiswell Unidata User Support >From: Bob Lipschutz <address@hidden> >Organization: UCAR/Unidata >Keywords: 200012142112.eBELCTo18123 > >Folks, > >Bill Moninger has made several changes to his QCACARS processing. >As a result we will be changing the cdl (as below) for the ACARS netCDF >files distributed via LDM. > >Specifically, the netCDF files will include 3 new variables: > > - "downlinkedRH" (relative humidity as received from those aircraft that rep > ort it), > - "correctedWVMR" (corrected water vapor mixing ratio), > - "vertGust" (vertical gust data from some AMDAR aircraft). > >Bill would like to see this put into production soon, if possible. So, >if it would be OK with y'all, I propose to make the switch by, say, next >Wednesday (12/20). We certainly won't change anything if your applications >would be adversely affected by it (unlikely, I know). > >Please let us know if it's ok to proceed as planned. > > Thanks, > > Bob Lipschutz > FSL/Facility Division > 303-497-6636 > > > >==== cut here ==== >netcdf acars.cdl { >dimensions: > recNum = UNLIMITED ; > enLen = 12; //length of encrypted values > rptStationLen = 4; //station reporting through > AirportIdLen = 6; // airport ID > dateLen = 30; //length of human-readable dates > >variables: > >long missingInputMinutes; > missingInputMinutes:long_name = "missing minutes of input data"; > missingInputMinutes:units = "minutes"; > //the above is always zero for the most recent file. > >char minDate(dateLen); > minDate:long_name = "minimum observation date"; > minDate:units = "human-readable min date/time"; > >char maxDate(dateLen); > maxDate:long_name = "maximum observation date"; > maxDate:units = "human-readable max date/time"; > >double minSecs; > minSecs:long_name = "minimum observation time"; > minSecs:units = "seconds since 1970-1-1 00:00:00"; > >double maxSecs; > maxSecs:long_name = "maximum observation time"; > maxSecs:units = "seconds since 1970-1-1 00:00:00"; > >float latitude(recNum) ; > latitude:units = "degree_N" ; > latitude:valid_range = 0.f, 90.f ; > latitude:_FillValue = 99999.f ; > >float longitude(recNum) ; > longitude:units = "degree_E" ; > longitude:valid_range = -180.f, 180.f ; > longitude:_FillValue = 99999.f ; > >float altitude(recNum); > altitude:units = "meter (pressure altitude, msl)"; > altitude:_FillValue = 99999.f; > altitude:valid_min = -100.f; > >double timeObs(recNum) ; > timeObs:long_name = "time of observation"; > timeObs:units = "seconds since 1970-1-1 00:00:00"; > timeObs:_FillValue = 0.0d ; > >float temperature(recNum); > temperature:units = "Kelvin"; > temperature:_FillValue = 99999.f; > >float windDir(recNum); > windDir:long_name = "Wind Direction"; > windDir:units = "degree_true"; > windDir:_FillValue = 99999.f; > windDir:valid_range = 0.f, 359.99f; > >float windSpeed(recNum); > windSpeed:long_name = "Wind Speed"; > windSpeed:units = "meter/sec"; > windSpeed:_FillValue = 99999.f; > windSpeed:valid_min = 0.f; > >float heading(recNum); > heading:long_name = "heading of flight path over ground"; > heading:units = "degree_true"; > heading:_FillValue = 99999.f; > heading:valid_range = 0.f, 359.99f; > >float mach(recNum); > mach:long_name = "mach number (0-1)"; > >float waterVaporMR(recNum) ; > waterVaporMR:long_name = "downlinked water vapor mixing ratio" ; > waterVaporMR:units = "none" ; > waterVaporMR:_FillValue = -1.f ; > >float correctedWVMR(recNum) ; > correctedWVMR:long_name = "corrected water vapor mixing ratio"; > correctedWVMR:units = "none" ; > correctedWVMR:_FillValue = -1.f ; > >float downlinkedRH(recNum) ; > downlinkedRH:long_name = "downlinked relative humidity" ; > downlinkedRH:units = "none" ; > downlinkedRH:_FillValue = -1.f ; > >float dewpoint(recNum); > dewpoint:long_name = "Dew Point (Kelvin)"; > dewpoint:units = "Kelvin"; > dewpoint:_FillValue = 99999.f; > >float rh_probe(recNum); > rh_probe:long_name = "RH in probe (0-1), w/ Vaisala correction un-done"; > rh_probe:_FillValue = 0.f; > >float medTurbulence(recNum); > medTurbulence:long_name="Median eddy dissipation rate"; > medTurbulence:units = "m^(2/3) s^-1"; > medTurbulence:_FillValue= -9.99f; > >float maxTurbulence(recNum); > maxTurbulence:long_name="Maximum eddy dissipation rate"; > maxTurbulence:units = "m^(2/3) s^-1"; > maxTurbulence:_FillValue= -9.99f; > >float vertAccel(recNum) ; > vertAccel:long_name = "peak vertical acceleration" ; > vertAccel:units = "meters/sec/sec" ; > vertAccel:valid_range = -99.90000000000001, 99.90000000000001 > ; > vertAccel:_FillValue = 99999.f ; > >float vertGust(recNum) ; > vertGust:long_name = "peak vertical gust" ; > vertGust:units = "meters/sec" ; > vertGust:_FillValue = 99999.f ; > >char en_tailNumber(recNum,enLen); > en_tailNumber:long_name = "FSL-encrypted tail number"; > >byte dataDescriptor(recNum); > dataDescriptor:long_name = "AWIPS-type data descriptor"; > dataDescriptor:units = " good= R or T , bad= X"; > >byte errorType(recNum); > errorType:units = " temp=T, wind=W, both=B "; > >byte rollFlag(recNum); > rollFlag:long_name = "Aircraft roll angle flag "; > rollFlag:units = " G = < 5 degrees, B = > 5 degrees"; > >byte waterVaporQC(recNum) ; > waterVaporQC:long_name = "water vapor mixing ratio QC character" ; > waterVaporQC:value_0 = "Normal, Ground speed > 60 knots."; > waterVaporQC:value_1 = "Normal, nonmeasurement mode, Ground speed < 60 knots" > ; > waterVaporQC:value_2 = "Small RH, RH measured is < 1.5%;RH set to 1.5%"; > waterVaporQC:value_3 = "Humidity element wet. RH = 5.0v for < 120s"; > waterVaporQC:value_4 = "Element contatminated. RH=5v for>120s"; > waterVaporQC:value_5 = "Heater fail"; > waterVaporQC:value_6 = "Heater fail and wet/contatminated element"; > waterVaporQC:value_7 = "1 or more inputs invalid"; > waterVaporQC:value_8 = "Numeric error"; > waterVaporQC:value_9 = "Dew point greater than temperature"; > >byte interpolatedTime(recNum); > interpolatedTime:long_name ="UPS ascent/descent time interpolation indicator" > ; > interpolatedTime:units = "r for raw data, i for interpolated"; > >byte interpolatedLL(recNum); > interpolatedLL:long_name ="UPS ascent/descent lat&lon interpolation indicator > "; > interpolatedLL:units = "r for raw data, i for interpolated"; > >byte tempError(recNum); tempError:units = "good= p ,bad= W or C ,unknown= -"; > >byte windDirError(recNum); > windDirError:units = " good= p ,bad= B ,unknown= -"; > >byte windSpeedError(recNum); > windSpeedError:units = " good= p ,bad= F or S ,unknown= -"; > >byte speedError(recNum); > speedError:long_name = "Aircraft ground speed error"; > speedError:units = " good= p ,bad= F or S ,unknown= -"; > >byte bounceError(recNum); > bounceError:long_name = "Aircraft altitude variance error"; > bounceError:units = "good= p ,bad= H or L ,unknown= -"; > >byte correctedFlag(recNum); > correctedFlag:long_name ="Corrected data indicator"; > correctedFlag:units = "r,l,T,f,or t"; > correctedFlag:value_r="raw data"; > correctedFlag:value_l="lat/lon correction (other than interpolation)"; > correctedFlag:value_T="temperature correction"; > correctedFlag:value_f="longitude and wind direction flipped"; > correctedFlag:value_t="obs time has been set to the report receipt time"; > >char rptStation(recNum,rptStationLen); > rptStation:long_name = "Station reporting through"; > rptStation:_FillValue = " "; > double timeReceived(recNum); > timeReceived:long_name = "time data was received at ground station"; > timeReceived:units = "seconds since 1970-1-1 00:00:00"; > timeReceived:_FillValue = 0.0d ; > >char origAirport(recNum,AirportIdLen); > origAirport:long_name = "Originating Airport"; > origAirport:valueUNKN = " "; > origAirport:FillValue = " "; > // Please note that there are many possible airport ids. > // UNKN is the only one listed because it allows for those > // formats that do not report this. > >char destAirport(recNum, AirportIdLen); > destAirport:long_name = "Destination Airport"; > destAirport:valueUNKN = " "; > destAirport:FillValue = " "; > // Please note that there are many possible airport ids. > // UNKN is the only one listed because it allows for those > // formats that do not report this. > >// global attributes: >:title = "ACARS data, encrypted tail numbers"; >:reference = "FSL encrypted ACARS, 14-Nov-2000"; >:version = "2.6"; >} >