# pass/fail criteria for report file

#     @(#) QUALITY_CHECKS 1.27 09/19/05

# Syntax: FileType, followed by list of all expected fields in report file.
#           Numerical fields can be checked against forced values, or a range
#           (val, min, max or both).

ACC1A : Level 1A Accelerometer data
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=-1.000 : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 : 0 -> GPS Receiver Time; 1 -> Space Craft Elapsed Time
  BitCount1 : 0 -> Pulse Sync; 1 -> no Pulse Sync
  BitCount2 : ICU board (0 = nominal, 1 = redundant)
  BitCount3 : Invalid ACC (GDEL) timing
  BitCount4 : ACC Mode (0 = Normal Range Mode; 1 = Low Range Mode)
  BitCount5
  BitCount6 : No OBDH->Receiver time mapping
  BitCount7 : No Clock correction available
  nrec_read :  number of records read from file        
  nrec_read_used : number of records used for ttag fix     
  nrec_written : number of fixed ttag records written    
  nrec_nulled : number of records nulled                
  nrec_non_incorportated : number of non-incorparated records 
  nrec_filled : number of ang acc records added to fill 
  nrec_consistency : consitency check sum 0=nominal != 0 problem 

ACC1B : Level 1B Accelerometer data
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=86000 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 : Vp out of nominal range 
  BitCount1
  BitCount2 : any linear ACC component has fit residual > 10 microns/s^2 
  BitCount3 : extrapolated clock correction  >5s but < 15s from fit center 
  BitCount4 : extrapolated clock correction < 5s  from fit center
  BitCount5 : filled data > 15s from fit center
  BitCount6 : filled data > 5s but < 15s from fit center
  BitCount7 : filled data < 5s  from fit center
  Nr_nodatagapfill : number of data gaps not filled
  CRMS_lin_accl_x : compression rms lin_acc_x_axis m/s**2
  CRMS_lin_accl_y : compression rms lin_acc_y_axis m/s**2
  CRMS_lin_accl_z : compression rms lin_acc_z_axis m/s**2
  CRMS_ang_accl_x : compression rms ang_acc_x_axis rad/s**2
  CRMS_ang_accl_y : compression rms ang_acc_y_axis rad/s**2
  CRMS_ang_accl_z : compression rms ang_acc_z_axis rad/s**2
  rel_bias_x : relative bias in x-direction (nm/sec^2)  
  rel_bias_y : relative bias in y-direction (nm/sec^2)  
  rel_bias_z : relative bias in z-direction (nm/sec^2)  
  rel_scale_x : relative scale in x-direction           
  rel_scale_y : relative scale in y-direction           
  rel_scale_z : relative scale in z-direction           
  rel_res_x : relative res in x-direction (nm/sec^2)   
  rel_res_y : relative res in y-direction (nm/sec^2)   
  rel_res_z : relative res in z-direction (nm/sec^2)   

ILG1A : Level 1A IPU log messages
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 
  BitCount1
  BitCount2
  BitCount3
  BitCount4
  BitCount5
  BitCount6
  BitCount7

AHK1A : Level 1A Accelerometer House keeping data
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 : 0 -> GPS Receiver Time; 1 -> Space Craft Elapsed Time
  BitCount1 : 0 -> Pulse Sync; 1 -> no Pulse Sync
  BitCount2 : ICU board (0 = nominal, 1 = redundant)
  BitCount3 : Invalid ACC (GDEL) timing
  BitCount4 : ACC Mode (0 = Normal Range Mode; 1 = Low Range Mode)
  BitCount5
  BitCount6 : No OBDH->Receiver time mapping
  BitCount7 : No Clock correction available
  nrec_read :  number of records read from file        
  nrec_read_used : number of records used for ttag fix     
  nrec_written : number of fixed ttag records written    
  nrec_nulled : number of records nulled                
  nrec_non_incorportated : number of non-incorparated records 
  nrec_filled : number of ang acc records added to fill 
  nrec_consistency : consitency check sum 0=nominal != 0 problem 

AHK1B : Level 1B Accelerometer House keeping data
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 : 0 -> GPS Receiver Time; 1 -> Space Craft Elapsed Time
  BitCount1 : 0 -> Pulse Sync; 1 -> no Pulse Sync
  BitCount2 : ICU board (0 = nominal, 1 = redundant)
  BitCount3 : Invalid ACC (GDEL) timing
  BitCount4 : ACC Mode (0 = Normal Range Mode; 1 = Low Range Mode)
  BitCount5
  BitCount6 : No OBDH->Receiver time mapping
  BitCount7 : No Clock correction available

TIM1A : Level 1A OBDH time mapping to GPS time
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 : Delta OBDH time != 1 sec
  BitCount1 : Multiple icu blocks
  BitCount2 : Sync process started
  BitCount3 : GPS time mapping not defined
  BitCount4 : Missed Antenna state packet
  BitCount5 : gdel flag set in one or more ICU data blocks
  BitCount6 : Unable to compute GPS mapping
  BitCount7

TIM1B : Level 1B OBDH time mapping to GPS time
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 : Delta OBDH time != 1 sec
  BitCount1 : Multiple icu blocks
  BitCount2 : Sync process started
  BitCount3 : GPS time mapping not defined
  BitCount4 : Missed Antenna state packet
  BitCount5 : gdel flag set in one or more ICU data blocks
  BitCount6 : Unable to compute GPS mapping
  BitCount7

IHK1A : Level 1A IPU House keeping data
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 
  BitCount1
  BitCount2
  BitCount3
  BitCount4
  BitCount5
  BitCount6 : No OBDH->Receiver time mapping
  BitCount7 : No Clock correction available

IHK1B : Level 1B IPU House keeping data
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 
  BitCount1
  BitCount2
  BitCount3
  BitCount4
  BitCount5
  BitCount6 : No OBDH->Receiver time mapping
  BitCount7 : No Clock correction available

CLK1A : Level 1A Satellite Clock solution (based on IPU nav solution)
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 : linear extrapolation not valid AFTER rcv_time
  BitCount1 : linear extrapolation not valid BEFORE rcv_time
  BitCount2 : overlap data missing before start midnight
  BitCount3 : overlap data missing after start midnight
  BitCount4 : overlap data missing before end midnight
  BitCount5 : overlap data missing after end midnight
  BitCount6
  BitCount7
  overlap_bias_start : Time offset at first IPU interval from linear fit in nano-sec 
  overlap_bias_sigma_start  : Sigma Time offset at first IPU interval  in nano-sec
  overlap_slope_start  : Relative drift at first IPU interval  from linear fit in nano-sec/sec
  overlap_slope_sigma_start : Sigma Relative drift at first IPU interval  in nano-sec/sec
  overlap_rms_zero_start : raw RMS of overlap clock difference at first IPU interval  (nano-sec)
  overlap_rms_fit_start : linear fit  RMS of overlap clock diff. at first IPU interval  (nano-sec)
  overlap_npoints_start : number of data points used in clock overlap at first IPU interval 
  overlap_bias_end : Time offset at last IPU interval from linear fit in nano-sec 
  overlap_bias_sigma_end  : Sigma Time offset at last IPU interval in nano-sec
  overlap_slope_end  : Relative drift at last IPU interval from linear fit in nano-sec/sec
  overlap_slope_sigma_end : Sigma Relative drift at last IPU interval in nano-sec/sec
  overlap_rms_zero_end : raw RMS of overlap clock difference at last IPU interval (nano-sec)
  overlap_rms_fit_end : linear fit  RMS of overlap clock diff. at last IPU interval (nano-sec)
  overlap_npoints_end : number of data points used in clock overlap at last IPU interval
  nobs_formal_edit : number of tdp solutions edit based on formal error in tdp file

CLK1B : Level 1B Satellite Clock solution (from OD software + CLK1A)
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 : linear extrapolation not valid AFTER rcv_time
  BitCount1 : linear extrapolation not valid BEFORE rcv_time
  BitCount2 : overlap data missing before start midnight
  BitCount3 : overlap data missing after start midnight
  BitCount4 : overlap data missing before end midnight
  BitCount5 : overlap data missing after end midnight
  BitCount6
  BitCount7
  overlap_bias_start : Time offset at start midnight from linear fit in nano-sec 
  overlap_bias_sigma_start  : Sigma Time offset at start midnight in nano-sec
  overlap_slope_start  : Relative drift at start midnight from linear fit in nano-sec/sec
  overlap_slope_sigma_start : Sigma Relative drift at start midnight in nano-sec/sec
  overlap_rms_zero_start : raw RMS of overlap clock difference at start midnight (nano-sec)
  overlap_rms_fit_start : linear fit  RMS of overlap clock diff. at start midnight (nano-sec)
  overlap_npoints_start : number of data points used in clock overlap at start midnight
  overlap_bias_end : Time offset at end midnight from linear fit in nano-sec 
  overlap_bias_sigma_end  : Sigma Time offset at end midnight in nano-sec
  overlap_slope_end  : Relative drift at end midnight from linear fit in nano-sec/sec
  overlap_slope_sigma_end : Sigma Relative drift at end midnight in nano-sec/sec
  overlap_rms_zero_end : raw RMS of overlap clock difference at end midnight (nano-sec)
  overlap_rms_fit_end : linear fit  RMS of overlap clock diff. at end midnight (nano-sec)
  overlap_npoints_end : number of data points used in clock overlap at end midnight
  nobs_formal_edit : number of tdp solutions edit based on formal error in tdp file

GNV1A : Level 1A On board navigation solution
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 
  BitCount1
  BitCount2
  BitCount3
  BitCount4
  BitCount5
  BitCount6
  BitCount7

GNV1B : Level 1B navigation solution (from OD software)
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 
  BitCount1
  BitCount2 : overlap data missing before start midnight
  BitCount3 : overlap data missing after start midnight
  BitCount4 : overlap data missing before end midnight
  BitCount5 : overlap data missing after end midnight
  BitCount6
  BitCount7 : formal errors are not available and set to 0.0
  npoints_start : number of overlap point at midnight start
  hpos_rms_start : H position overlap RMS for midnight start (m)
  cpos_rms_start : C position overlap RMS for midnight start (m)
  lpos_rms_start : L position overlap RMS for midnight start (m)
  hvel_rms_start : H velocity overlap RMS for midnight start (m/sec)
  cvel_rms_start : C velocity overlap RMS for midnight start (m/sec)
  lvel_rms_start : L velocity overlap RMS for midnight start (m/sec)
  npoints_end : number of overlap point at midnight end
  hpos_rms_end : H position overlap RMS for midnight end (m)
  cpos_rms_end : C position overlap RMS for midnight end (m)
  lpos_rms_end : L position overlap RMS for midnight end (m)
  hvel_rms_end : H velocity overlap RMS for midnight end (m/sec)
  cvel_rms_end : C velocity overlap RMS for midnight end (m/sec)
  lvel_rms_end : L velocity overlap RMS for midnight end (m/sec)

GPS1A : Level 1A GPS flight data
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 : phase break occurred in L1/K/CA
  BitCount1 : phase break occurred in L2/Ka
  BitCount2 : cycle slip detected in L1/K/CA
  BitCount3 : cycle slip detected in L2/Ka
  BitCount4 : L1 SNR < 5
  BitCount5 : L2 SNR < 5
  BitCount6
  BitCount7

GPI1A : Level 1A Intermediate GPS flight data
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 : phase break occurred in L1/K/CA
  BitCount1 : phase break occurred in L2/Ka
  BitCount2 : cycle slip detected in L1/K/CA
  BitCount3 : cycle slip detected in L2/Ka
  BitCount4 : L1 SNR < 5
  BitCount5 : L2 SNR < 5
  BitCount6
  BitCount7
  crms_CA : compression rms for CA phase (m)
  CA_nobs : number of CA phase points
  crms_L1 : compression rms for L1 phase (m)
  L1_nobs : number of L1 phase points
  crms_L2 : compression rms for L2 phase (m)
  L2_nobs : number of L2 phase points
  breaks : number of phase breaks in output data  
  lowL1_snr : number of discarded data (low L1 SNR) 
  lowL2_snr : number of discarded data (low L2 SNR)  
  CAmisLock : number of discarded data (L1_SNR !< 0.4*CA_SNR^2/1000)          
  discards: total number of discarded data          
  nobs_in:  number of input raw data points        

GPS1B : Level 1B GPS flight data
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 : phase break occurred in L1/K/CA
  BitCount1 : phase break occurred in L2/Ka
  BitCount2 : cycle slip detected in L1/K/CA
  BitCount3 : cycle slip detected in L2/Ka
  BitCount4 : L1 SNR < 5
  BitCount5 : L2 SNR < 5
  BitCount6
  BitCount7
  crms_CA : compression rms for CA phase (m)
  CA_nobs : number of CA phase points
  crms_L1 : compression rms for L1 phase (m)
  L1_nobs : number of L1 phase points
  crms_L2 : compression rms for L2 phase (m)
  L2_nobs : number of L2 phase points
  breaks : number of phase breaks in output data   
  lowL1_snr : number of discarded data (low L1 SNR)   
  lowL2_snr : number of discarded data (low L2 SNR)   
  CAmisLock : number of discarded data (L1_SNR !< 0.4*CA_SNR^2/1000)                     
  discards: total number of discarded data                 
  nobs_in:  number of input raw data points  

KBR1A : Level 1A KBR ranging data
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 : phase break occurred in L1/K/CA
  BitCount1 : phase break occurred in L2/Ka
  BitCount2 : cycle slip detected in L1/K/CA
  BitCount3 : cycle slip detected in L2/Ka
  BitCount4 : insane K or Ka polynomial coeffs
  BitCount5 max=1 : K or Ka phase missing       
  BitCount6 max=10 : K SNR < 450
  BitCount7 max=100 : Ka SNR < 450

KBR1B : Level 1B KBR ranging data
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 : phase break
  BitCount1 : extrapolated states for lighttime_corr
  BitCount2 : extrapolated attitudes for ant_centr_corr
  BitCount3 : extrapolated clock correction > 5s from fit center
  BitCount4 : extrapolated clock correction < 5s from fit center
  BitCount5 : data corrected for timetag bias of either K or Ka phase
  BitCount6 : filled data > 5s from fit center
  BitCount7 : filled data < 5s  from fit center
  crms_dowr : compression rms for dual-1way range (m)
  crms_ion  : compression rms for biased Ka-band ion correction
  arc_length : total arc length of valid dowr data
  resid_nobs : number of obs in KBR-GPS range residuals
  resid_rms  : RMS of KBR-GPS range residuals (cm)
  resid_min  : minimun KBR-GPS range residual (cm)
  resid_max  : maximum KBR-GPS range residual (cm)
  number_of_arcs : Number of continous data arcs
  clkdd_nobs : number of clk dd obs
  clkdd_mean : mean of clk dd obs (picosec)
  clkdd_sigma : sigma of clk dd obs (picosec)
  clkdd_min   : minimum of clk dd obs (picosec)
  clkdd_max   : maximum of clk dd obs (picosec)
  clkdd_rms   : rms of clk dd obs (picosec)

MAG1A : Level 1A Magnetic Torque Rod Activation + Magnetometer data
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 : 0 -> GPS Receiver Time; 1 -> Space Craft Elapsed Time
  BitCount1 : 0 -> Pulse Sync; 1 -> no Pulse Sync
  BitCount2
  BitCount3
  BitCount4
  BitCount5
  BitCount6 
  BitCount7 

MAG1B : Level 1B Magnetic Torque Rod Activation + Magnetometer data
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 : 0 -> GPS Receiver Time; 1 -> Space Craft Elapsed Time
  BitCount1 : 0 -> Pulse Sync; 1 -> no Pulse Sync
  BitCount2
  BitCount3
  BitCount4
  BitCount5
  BitCount6 : No OBDH->Receiver time mapping
  BitCount7 : No Clock correction available

USO1B : Oscillator frequency data (derived from OD software output)
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 : linear extrapolation not valid AFTER rcv_time
  BitCount1 : linear extrapolation not valid BEFORE rcv_time
  BitCount2
  BitCount3
  BitCount4
  BitCount5
  BitCount6
  BitCount7

SCA1A : Level 1A star camera data (both raw SCA in one file per SC)
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 : Valid flag (0=valid,1=invalid) (n.b. flipped from sca_mode)
  BitCount1 : "Precision"
  BitCount2 : "Add 1/4 integration period to SCA time tag"
  BitCount3 : "Non-Stellar Object (i.e. false stars)"
  BitCount4  max=100 : SCA's not in dual 1Hz mode
  BitCount5
  BitCount6 : "Orbit Correction (used/not used)"
  BitCount7 : "Sequence"

PCI1A : Level 1A phase center to CG range correction (one file per SC)
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 : From 1 star camera only 
  BitCount1 : Filled data 
  BitCount2 : 
  BitCount3 : 
  BitCount4 : 
  BitCount5 :
  BitCount6 : 
  BitCount7 : 
  crms      : Compression RMS for PC to CG range correction (m)

SCA1B : Level 1B star camera data (compressed/combined SCA data)
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 : filled data at T
  BitCount1 : filled data at T +/- 1 sec
  BitCount2 : filled data at T +/- 2 sec
  BitCount3 : data from 1 star camera only
  BitCount4 : extrapolated clock correction
  BitCount5
  BitCount6 : low rate data from 2nd SCA
  BitCount7 : low rate data from 1st SCA
  crms_q0_prim : compression rms for q0 for primary SCA
  crms_q1_prim : compression rms for q1 for primary SCA
  crms_q2_prim : compression rms for q2 for primary SCA
  crms_q3_prim : compression rms for q3 for primary SCA
  crms_q0_sec  : compression rms for q0 for secondary SCA
  crms_q1_sec  : compression rms for q1 for secondary SCA
  crms_q2_sec  : compression rms for q2 for secondary SCA
  crms_q3_sec  : compression rms for q3 for secondary SCA
  mean_yaw_prim : mean yaw angle (deg) when eci (primary)
  rms_yaw_prim  : RMS yaw angle (deg) when eci (primary)
  badn_yaw_prim : bad data points yaw angle if eci
  mean_pitch_prim : mean pitch angle (deg) when eci (primary)
  rms_pitch_prim  : RMS pitch angle (deg) when eci (primary)
  badn_pitch_prim: bad data points pitch angle if eci
  mean_roll_prim : mean roll  angle (deg) when eci (primary)
  rms_roll_prim  : RMS roll angle (deg) when eci (primary)
  badn_roll_prim : bad data points roll angle if eci
  mean_yaw_sec : mean yaw angle (deg) when eci (secondary)
  rms_yaw_sec  : RMS yaw angle (deg) when eci (secondary)
  badn_yaw_sec : bad data points yaw angle if eci
  mean_pitch_sec : mean pitch angle (deg) when eci (secondary)
  rms_pitch_sec  : RMS pitch angle (deg) when eci (secondary)
  badn_pitch_sec: bad data points pitch angle if eci
  mean_roll_sec : mean roll  angle (deg) when eci (secondary)
  rms_roll_sec  : RMS roll angle (deg) when eci (secondary)
  badn_roll_sec : bad data points roll angle if eci
  nr_offset :     number of offset used in statistics     
  q2_avg_dif :    daily average x-component of diff quat  
  q3_avg_dif :    daily average y-component of diff quat  
  q4_avg_dif :    daily average z-component of diff quat  
  q2_stdev_dif :  daily stddev  x-component of diff quat  
  q3_stdev_dif :  daily stddev  y-component of diff quat  
  q4_stdev_dif :  daily stddev  z-component of diff quat  
  sca1_nr_res :     number of residual for SCA id = 1       
  sca2_nr_res :     number of residual for SCA id = 2       
  sca1_x_res_rms :  RMS SCA1 x residual (micro radians)     
  sca1_y_res_rms :  RMS SCA1 y residual (micro radians)     
  sca1_z_res_rms :  RMS SCA1 z residual (micro radians)    
  sca2_x_res_rms :  RMS SCA2 x residual (micro radians)     
  sca2_y_res_rms :  RMS SCA2 y residual (micro radians)     
  sca2_z_res_rms :  RMS SCA2 z residual (micro radians)     

SCI1A : Level 1A intermediate star camera data (compressed/combined)
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 : filled data at T
  BitCount1 : filled data at T +/- 1 sec
  BitCount2 : filled data at T +/- 2 sec
  BitCount3 : data from 1 star camera only
  BitCount4 : extrapolated clock correction
  BitCount5
  BitCount6 : low rate data from 2nd SCA
  BitCount7 : low rate data from 1st SCA
  crms_q0_prim : compression rms for q0 for primary SCA
  crms_q1_prim : compression rms for q1 for primary SCA
  crms_q2_prim : compression rms for q2 for primary SCA
  crms_q3_prim : compression rms for q3 for primary SCA
  crms_q0_sec  : compression rms for q0 for secondary SCA
  crms_q1_sec  : compression rms for q1 for secondary SCA
  crms_q2_sec  : compression rms for q2 for secondary SCA
  crms_q3_sec  : compression rms for q3 for secondary SCA
  mean_yaw_prim : mean yaw angle (deg) when eci (primary)
  rms_yaw_prim  : RMS yaw angle (deg) when eci (primary)
  badn_yaw_prim : bad data points yaw angle if eci
  mean_pitch_prim : mean pitch angle (deg) when eci (primary)
  rms_pitch_prim  : RMS pitch angle (deg) when eci (primary)
  badn_pitch_prim: bad data points pitch angle if eci
  mean_roll_prim : mean roll  angle (deg) when eci (primary)
  rms_roll_prim  : RMS roll angle (deg) when eci (primary)
  badn_roll_prim : bad data points roll angle if eci
  mean_yaw_sec : mean yaw angle (deg) when eci (secondary)
  rms_yaw_sec  : RMS yaw angle (deg) when eci (secondary)
  badn_yaw_sec : bad data points yaw angle if eci
  mean_pitch_sec : mean pitch angle (deg) when eci (secondary)
  rms_pitch_sec  : RMS pitch angle (deg) when eci (secondary)
  badn_pitch_sec: bad data points pitch angle if eci
  mean_roll_sec : mean roll  angle (deg) when eci (secondary)
  rms_roll_sec  : RMS roll angle (deg) when eci (secondary)
  badn_roll_sec : bad data points roll angle if eci
  nr_offset :     number of offset used in statistics     
  q2_avg_dif :    daily average x-component of diff quat  
  q3_avg_dif :    daily average y-component of diff quat  
  q4_avg_dif :    daily average z-component of diff quat  
  q2_stdev_dif :  daily stddev  x-component of diff quat  
  q3_stdev_dif :  daily stddev  y-component of diff quat  
  q4_stdev_dif :  daily stddev  z-component of diff quat  
  sca1_nr_res :     number of residual for SCA id = 1
  sca2_nr_res :     number of residual for SCA id = 2
  sca1_x_res_rms :  RMS SCA1 x residual (micro radians)
  sca1_y_res_rms :  RMS SCA1 y residual (micro radians)
  sca1_z_res_rms :  RMS SCA1 z residual (micro radians)
  sca2_x_res_rms :  RMS SCA2 x residual (micro radians)
  sca2_y_res_rms :  RMS SCA2 y residual (micro radians)
  sca2_z_res_rms :  RMS SCA2 z residual (micro radians)

TNK1A : Level 1A Gas tank sensor + auxiliary data for COM management
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 : 0 -> GPS Receiver Time; 1 -> Space Craft Elapsed Time
  BitCount1 : 0 -> Pulse Sync; 1 -> no Pulse Sync
  BitCount2
  BitCount3
  BitCount4
  BitCount5
  BitCount6
  BitCount7

TNK1B : Level 1B Gas tank sensor + auxiliary data for COM management
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 : 0 -> GPS Receiver Time; 1 -> Space Craft Elapsed Time
  BitCount1 : 0 -> Pulse Sync; 1 -> no Pulse Sync
  BitCount2
  BitCount3
  BitCount4
  BitCount5
  BitCount6 : No OBDH->Receiver time mapping
  BitCount7 : No Clock correction available

THR1A : Level 1A thruster activation data
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 : On time not calculated
  BitCount1 : Multiple unaccounted thrusts prior to current record
  BitCount2
  BitCount3
  BitCount4
  BitCount5
  BitCount6
  BitCount7

THR1B : Level 1B thruster activation data
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 : On time not calculated
  BitCount1 : Multiple unaccounted thrusts prior to current record
  BitCount2
  BitCount3
  BitCount4
  BitCount5
  BitCount6 : No OBDH->Receiver time mapping
  BitCount7 : No Clock correction available

MAS1A : Level 1A Spacecraft mass as a function of time
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 
  BitCount1
  BitCount2
  BitCount3
  BitCount4
  BitCount5
  BitCount6
  BitCount7

MAS1B : Level 1B Spacecraft mass as a function of time
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 
  BitCount1
  BitCount2
  BitCount3
  BitCount4
  BitCount5
  BitCount6 : No OBDH->Receiver time mapping
  BitCount7 : No Clock correction available

GNI1A : Level 1A Intermediate GRACE satellite orbit solution
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 
  BitCount1
  BitCount2 : overlap data missing before start midnight
  BitCount3 : overlap data missing after start midnight
  BitCount4 : overlap data missing before end midnight
  BitCount5 : overlap data missing after end midnight
  BitCount6
  BitCount7 : formal errors are not available and set to 0.0
  NphasePts : number of phase points used in POD
  PhaseRes  : phase residuals from POD (cm)
  PercentPhaseOut : percentage of edited phase data
  NrangePts : number of range points used in POD
  RangeRes  : range residuals from POD (cm)
  PercentRangeOut : percentage of edit range data

QKS1B : Rotation from Star Camera Frames into K-Band Frame
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 
  BitCount1
  BitCount2
  BitCount3
  BitCount4
  BitCount5
  BitCount6
  BitCount7

QSB1B : Rotation From Satellite Body frame into SRF
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 
  BitCount1
  BitCount2
  BitCount3
  BitCount4
  BitCount5
  BitCount6
  BitCount7

QSA1B : Rotation From Star Camera Frames into SRF
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 
  BitCount1
  BitCount2
  BitCount3
  BitCount4
  BitCount5
  BitCount6
  BitCount7

VCM1B : Vector offset file for Center of Mass solution from calibration maneuvers or tracking model in SRF
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0
  BitCount1
  BitCount2
  BitCount3
  BitCount4
  BitCount5
  BitCount6
  BitCount7

VKB1B : Vector offset for KBR phase centers in SRF
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0
  BitCount1
  BitCount2
  BitCount3
  BitCount4
  BitCount5
  BitCount6
  BitCount7

VSL1B : Vector offset file for SLR Corner cube reflector offset in SRF
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 : L1 phase center offset vector
  BitCount1 : L2 phase center offset vector
  BitCount2
  BitCount3
  BitCount4
  BitCount5
  BitCount6
  BitCount7

VGO1B : Vector offset file for GPS Occultation Antenna in SRF
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 : L1 phase center offset vector
  BitCount1 : L2 phase center offset vector
  BitCount2
  BitCount3
  BitCount4
  BitCount5
  BitCount6
  BitCount7

VGB1B : Vector offset file for GPS Backup Navigation Antenna in SRF
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 : L1 phase center offset vector
  BitCount1 : L2 phase center offset vector
  BitCount2
  BitCount3
  BitCount4
  BitCount5
  BitCount6
  BitCount7

VGN1B : Vector offset file for GPS Main Antenna in SRF
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 : L1 phase center offset vector
  BitCount1 : L2 phase center offset vector
  BitCount2
  BitCount3
  BitCount4
  BitCount5
  BitCount6
  BitCount7

HRT1A : Level 1A High Resolution Temperature data                   
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 : 0 -> GPS Receiver Time; 1 -> Space Craft Elapsed Time
  BitCount1 : 0 -> Pulse Sync; 1 -> no Pulse Sync
  BitCount2
  BitCount3
  BitCount4
  BitCount5
  BitCount6 
  BitCount7 

HRT1B : Level 1B High Resolution Temperature data                   
  FileName 
  FileTtag
  ProcessTtag : (j2k sec)
  FirstDataPointTtag : (j2k sec)
  LastDataPointTtag : (j2k sec)
  Nrecs min=1 : number of data records
  TimeGapAvg  : average data gap (sec)
  TimeGapVar  : variance data gap (sec)
  TimeGapMin min=0  : minimum time gap (sec)
  TimeGapMax  : maximum time gap (sec)
  NQualBits val=8
  BitCount0 : 0 -> GPS Receiver Time; 1 -> Space Craft Elapsed Time
  BitCount1 : 0 -> Pulse Sync; 1 -> no Pulse Sync
  BitCount2
  BitCount3
  BitCount4
  BitCount5
  BitCount6 : No OBDH->Receiver time mapping
  BitCount7 : No Clock correction available
