Format of data
Data files are written in netCDF and as can be seen from the
header, e.g.
demo$ ncdump -h core_faam_20060216_r1_b175.nc | more
netcdf core_faam_20060216_r1_b175 {
dimensions:
data_point = UNLIMITED ; // (24781 currently)
sps01 = 1 ;
sps02 = 2 ;
sps04 = 4 ;
sps08 = 8 ;
sps32 = 32 ;
sps64 = 64 ;
variables:
int Time(data_point) ;
Time:long_name = "time of measurement
" ;
Time:standard_name = "time" ;
Time:_FillValue = -1 ;
Time:units = "seconds since 2006-02-16 00:00:00 +0000
" ;
float PARA0515(data_point, sps01) ;
PARA0515:long_name = "Data time in seconds from midnight on day
the flight starts - may exceed 86400. " ;
PARA0515:short_name = "SECS" ;
PARA0515:units = "s " ;
PARA0515:frequency = 1s ;
PARA0515:_FillValue = -9999.f ;
PARA0515:standard_name = "time" ;
byte PARA0515FLAG(data_point, sps01) ;
PARA0515FLAG:long_name = "Flag for PARA0515" ;
PARA0515FLAG:units = "1" ;
PARA0515FLAG:frequency = 1s ;
PARA0515FLAG:_FillValue = -1b ;
float PARA0516(data_point, sps32) ;
PARA0516:long_name = "Indicated air speed from the aircraft RVSM
system. " ;
PARA0516:short_name = "IAS " ;
PARA0516:units = "m s-1 " ;
PARA0516:frequency = 32s ;
PARA0516:_FillValue = -9999.f ;
byte PARA0516FLAG(data_point, sps32) ;
the first variable which is stored is Time and this is followed by lots
of 2D
float arrays (although one of the dimensions is sometimes one)
which are accompanied by flag arrays. The float arrays
are called catchy names like PARA0515, but the header file also
provides a `short_name' and `long_name' which will make it easier to
identify the data. The flag arrays, which are named after the float
array with the addition of `FLAG' to the name, are exactly the same
size as the float arrays and indicate the quality of the data in the
float array. The flag array contain numbers 0 to 3: 0 means good; 1
means suspect; 2 means poor; 3 means rubbish. So when
PARA0516FLAG(5,6)=2 the data in PARA0516(5,6) is believed to be poor
or incorrect.
Note: the only annoying thing I'm aware of about netCDF is that is
orders the dimensions back to front. So
float PARA0515(data_point, sps01) ;
means that PARA0515 is a 2D float array where the first dimension
is sps01 (not data_point as you'd expect) and the second dimension is
data_point. I have read some ridicously justification for this
somewhere, but it wasn't worth remembering.