[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

20001214: Heads up on FSL ACARS update




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";
>}
>