OBJECT               = COLUMN
 NAME                = FRAME_TIME_WHOLE_SECONDS
 DATA_TYPE           = MSB_INTEGER
 START_BYTE          = 1
 BYTES               = 4
 UNIT                = 'SECONDS'
 DESCRIPTION         = "Mid-point frame time whole seconds. The integer
  represents the whole portion of the Elapsed time (in number of seconds)
  past J2000 -- may be a negative number."
END_OBJECT           = COLUMN
   
OBJECT               = COLUMN
 NAME                = FRAME_TIME_FRAC_SECONDS
 DATA_TYPE           = MSB_INTEGER
 START_BYTE          = 5
 BYTES               = 4
 UNIT                = 'MICROSECONDS'
 DESCRIPTION         = "The frame mid-point time fractional seconds,
  scaled to microseconds. The integer represents the fractional portion
  of the Elapsed time (in number of microseconds) past J2000 -- may be a
  negative number."
END_OBJECT           = COLUMN
   
OBJECT               = COLUMN
 NAME                = ORBIT_NUMBER
 DATA_TYPE           = MSB_UNSIGNED_INTEGER
 START_BYTE          = 9
 BYTES               = 4
 DESCRIPTION         = "Mapping mission orbit number, determined by Mars
  Global Surveyor flight operations system."
END_OBJECT           = COLUMN
   
OBJECT               = COLUMN
 NAME                = AREOCENTRIC_LATITUDE
 DATA_TYPE           = MSB_INTEGER
 START_BYTE          = 13
 BYTES               = 4
 UNIT                = 'DEGREES * (10**6)'
 DESCRIPTION         = "The areocentric latitude value associated with
  the MOLA data frame mid-point with respect to the Mars Global Surveyor
  spacecraft center of mass. Obtained from the MOLA Science Investigation
  Team precision orbit data. Scaled to degrees * 1000000."
END_OBJECT           = COLUMN
   
OBJECT               = COLUMN
 NAME                = AREOCENTRIC_LONGITUDE
 DATA_TYPE           = MSB_INTEGER
 START_BYTE          = 17
 BYTES               = 4
 UNIT                = 'DEGREES * (10**6)'
 DESCRIPTION         = "The East longitude value associated with the MOLA
  data frame mid-point with respect to the Mars Global Surveyor
  spacecraft center of mass. Obtained from the MOLA Science Investigation
  Team precision orbit data. Scaled to degrees * 1000000."
END_OBJECT           = COLUMN
   
OBJECT               = COLUMN
 NAME                = RADIAL_DISTANCE
 DATA_TYPE           = MSB_UNSIGNED_INTEGER
 START_BYTE          = 21
 BYTES               = 4
 UNIT                = 'CENTIMETERS'
 DESCRIPTION         = "The distance from the Mars body center to the
  Mars Global Surveyor spacecraft center of mass associated with the MOLA
  frame mid-point, based on a coordinate system with origin at the center
  of mass of Mars. Obtained from the MOLA Science Investigation Team
  precision orbit data."
END_OBJECT           = COLUMN
   
   
OBJECT               = COLUMN
 NAME                = FRAME_MID_POINT_RANGE
 DATA_TYPE           = MSB_UNSIGNED_INTEGER
 START_BYTE          = 25
 BYTES               = 4
 UNIT                = 'CENTIMETERS'
 DESCRIPTION         = "MOLA range (corrected to Mars Global Surveyor
  center of mass) associated with MOLA data frame mid-point, obtained
  from a straight line best fitted to the individual MOLA range
  measurements (up to 20) in the MOLA data frame."
END_OBJECT           = COLUMN
   
   
OBJECT               = COLUMN
 NAME                = SHOT_QUALITY_FLAG
 DATA_TYPE           = MSB_UNSIGNED_INTEGER
 START_BYTE          = 29
 BYTES               = 4
 DESCRIPTION         = "3 bytes - flag whether good/bad shot (20 least
  significant bits, one for each of the 20 shots, with least significant
  bit, 0, being shot 20) and each bit set to 1 for good, 0 for bad shot.
  1 byte - good shot counter, (total of bits set to 1 in above 20 bits)."
END_OBJECT           = COLUMN
   
OBJECT               = COLUMN
 NAME                = SHOT_QUALITY_DESCRIPTOR_FLAG
 DATA_TYPE           = LSB_BIT_STRING
 START_BYTE          = 33
 BYTES               = 16
 DESCRIPTION         = "Flag indicating whether the packet or individual
  shots passed or failed the various shot quality tests. Reading the flag
  from right to left with the rightmost bit being bit 0 and the leftmost
  bit being bit 63 the format of the flag is
   bit 0: packet validity checksum test, (per packet test)
   bit 1: computer software validity checksum test, (per packet test)
   bit 2: frame acquisition vs. tracking mode test. (per frame test)
   bit 3: first shot of the packet is OTS test, (per packet test)
   bits 4 - 23: transmit power test, (per shot test)
   bits 24 - 43: return energy test, (per shot test)
   bits 44 - 63: range test, (per shot test)
   bits 64 - 83: range window test
   bits 84 - 103: range comparison test
   bits 104 - 127: unused
   A 1 indicates the test was failed, 0 indicates the test was passed. For the bits that flag each shot, the lower bit corresponds to shot 1 and the higher bit corresponds to shot 20."
   
OBJECT               = BIT_COLUMN
 NAME                = PACKET_VALIDITY_CHECKSUM_FLAG
 BIT_DATA_TYPE       = UNSIGNED_INTEGER
 START_BIT           = 1
 BITS                = 1
 DESCRIPTION         = "Packet validity checksum test flag bit. Please
  see 'shot_quality_descriptor_flag' column object for fuller
  description."
END_OBJECT           = BIT_COLUMN
   
OBJECT               = BIT_COLUMN
 NAME                = SOFTWARE_VALIDITY_CHCKSM_FLAG
 BIT_DATA_TYPE       = UNSIGNED_INTEGER
 START_BIT           = 2
 BITS                = 1
 DESCRIPTION         = "Computer software validity checksum test flag
  bit. Please see 'shot_quality_descriptor_flag' column object for fuller
  description."
END_OBJECT           = BIT_COLUMN
   
OBJECT               = BIT_COLUMN
 NAME                = ACQ_TRACK_MODE_TEST_FLAG
 BIT_DATA_TYPE       = UNSIGNED_INTEGER
 START_BIT           = 3
 BITS                = 1
 DESCRIPTION         = "Frame Acquisition vs. Tracking Mode Test flag
  bit. Please see 'shot_quality_descriptor_flag' column object for fuller
  description."
END_OBJECT           = BIT_COLUMN
   
OBJECT               = BIT_COLUMN
 NAME                = FIRST_SHOT_OTS_FLAG
 BIT_DATA_TYPE       = UNSIGNED_INTEGER
 START_BIT           = 4
 BITS                = 1
 DESCRIPTION         = "First shot in the packet is OTS test flag bit.
  Please see 'shot_quality_descriptor_flag' column object for fuller
  description."
END_OBJECT           = BIT_COLUMN
   
OBJECT               = BIT_COLUMN
 NAME                = TRANSMIT_POWER_TEST
 BIT_DATA_TYPE       = UNSIGNED_INTEGER
 START_BIT           = 5
 BITS                = 20
 DESCRIPTION         = "Transmit power test flag bits. Please see
  'shot_quality_descriptor_flag' column object for fuller description."
END_OBJECT           = BIT_COLUMN
   
OBJECT               = BIT_COLUMN
 NAME                = RETURN_ENERGY_TEST
 BIT_DATA_TYPE       = UNSIGNED_INTEGER
 START_BIT           = 25
 BITS                = 20
 DESCRIPTION         = "Return energy test flag bits. Please see
  'shot_quality_descriptor_flag' column object for fuller description."
END_OBJECT           = BIT_COLUMN
   
OBJECT               = BIT_COLUMN
 NAME                = RANGE_TEST
 BIT_DATA_TYPE       = UNSIGNED_INTEGER
 START_BIT           = 45
 BITS                = 20
 DESCRIPTION         = "Range test flag bits. Please see
  'shot_quality_descriptor_flag' column object for fuller description."
END_OBJECT           = BIT_COLUMN
   
OBJECT               = BIT_COLUMN
 NAME                = RANGE_WINDOW_TEST
 BIT_DATA_TYPE       = UNSIGNED_INTEGER
 START_BIT           = 65
 BITS                = 20
 DESCRIPTION         = "Range window test flag bits. Please see
  'shot_quality_descriptor_flag' column object for fuller description."
END_OBJECT           = BIT_COLUMN
   
OBJECT               = BIT_COLUMN
 NAME                = RANGE_COMPARISON_TEST
 BIT_DATA_TYPE       = UNSIGNED_INTEGER
 START_BIT           = 85
 BITS                = 20
 DESCRIPTION         = "Range comparison test flag bits. Please see
  'shot_quality_descriptor_flag' column object for fuller description."
END_OBJECT           = BIT_COLUMN
   
END_OBJECT           = COLUMN
   
OBJECT               = COLUMN
 NAME                = SHOT_PLANETARY_RADIUS
 DATA_TYPE           = MSB_UNSIGNED_INTEGER
 START_BYTE          = 49
 BYTES               = 80
 ITEMS               = 20
 ITEM_BYTES          = 4
 UNIT                = 'CENTIMETERS'
 DESCRIPTION         = "Array of 20 MOLA planetary radius values in the
  data frame; the distance from the center of Mars to the point on the
  surface of Mars described by the MOLA range; per shot."
END_OBJECT           = COLUMN
   
OBJECT               = COLUMN
 NAME                = FRAME_PLANETARY_RADIUS
 DATA_TYPE           = MSB_UNSIGNED_INTEGER
 START_BYTE          = 129
 BYTES               = 4
 UNIT                = 'CENTIMETERS'
 DESCRIPTION         = "Planetary radius associated with MOLA data frame
  mid-point; the distance from the center of Mars to the point on the
  surface of Mars described by the frame mid-point range."
END_OBJECT           = COLUMN
   
OBJECT               = COLUMN
 NAME                = RIGHT_ASCENSION
 DATA_TYPE           = MSB_INTEGER
 START_BYTE          = 133
 BYTES               = 4
 UNIT                = 'MILLIRADIANS'
 DESCRIPTION         = "Right ascension angle of the MOLA instrument at
  data frame mid-point."
END_OBJECT           = COLUMN
   
OBJECT               = COLUMN
 NAME                = DECLINATION
 DATA_TYPE           = MSB_INTEGER
 START_BYTE          = 137
 BYTES               = 4
 UNIT                = 'MILLIRADIANS'
 DESCRIPTION         = "Declination angle of the MOLA instrument at data
  frame mid-point."
END_OBJECT           = COLUMN
   
OBJECT               = COLUMN
 NAME                = TWIST
 DATA_TYPE           = MSB_INTEGER
 START_BYTE          = 141
 BYTES               = 4
 UNIT                = 'MILLIRADIANS'
 DESCRIPTION         = "Twist angle of the MOLA instrument at data frame
  mid-point."
END_OBJECT           = COLUMN
   
OBJECT               = COLUMN
 NAME                = CORR_RECV_PULSE_ENRGY
 DATA_TYPE           = MSB_UNSIGNED_INTEGER
 START_BYTE          = 145
 BYTES               = 40
 ITEMS               = 20
 ITEM_BYTES          = 2
 UNIT                = 'ATTOJOULES'
 DESCRIPTION         = "Corrected surface-scattered return energy
  measured by first MOLA channel to trigger (an array of 20 values for
  the data frame). Saturation of energy detector may occur (see
  RECV_PULSE_ENERGY_COUNTS)."
END_OBJECT           = COLUMN
   
OBJECT               = COLUMN
 NAME                = SURF_REFLECTIVITY
 DATA_TYPE           = MSB_UNSIGNED_INTEGER
 START_BYTE          = 185
 BYTES               = 40
 ITEMS               = 20
 ITEM_BYTES          = 2
 DESCRIPTION         = "Relative Martian surface reflectivity *
  atmospheric transmittance values, one per shot; stored as a pure
  fraction * 10**5."
END_OBJECT           = COLUMN
   
OBJECT               = COLUMN
 NAME                = TRIGGER_CHANNEL_NUMBER
 DATA_TYPE           = UNSIGNED_INTEGER
 START_BYTE          = 225
 BYTES               = 20
 ITEMS               = 20
 ITEM_BYTES          = 1
 DESCRIPTION         = "Channel number of first MOLA channel to trigger
  (array of 20 values for data frame)."
END_OBJECT           = COLUMN
   
OBJECT               = COLUMN
 NAME                = PULSE_WIDTH
 DATA_TYPE           = MSB_UNSIGNED_INTEGER
 START_BYTE          = 245
 BYTES               = 40
 ITEMS               = 20
 ITEM_BYTES          = 2
 UNIT                = 'NANOSECONDS * 10'
 DESCRIPTION         = "The time between threshold crossings of the
  detected pulse, one per shot, 20 2-byte values. Detector saturation may
  occur (see RECV_PULSE_WIDTH_COUNTS)."
END_OBJECT           = COLUMN
   
OBJECT               = COLUMN
 NAME                = RECV_OPTICAL_PULSE_WIDTH
 DATA_TYPE           = MSB_UNSIGNED_INTEGER
 START_BYTE          = 285
 BYTES               = 40
 ITEMS               = 20
 ITEM_BYTES          = 2
 UNIT                = 'NANOSECONDS * 10'
 DESCRIPTION         = "Received optical pulse width, corrected for
  filter characteristics and threshold settings, as determined by the
  receiver model (an array of 20 values for the data frame). The pulse
  width provides an estimate of target slope and/or roughness, assuming
  linear detector response and nadir-looking geometry."
END_OBJECT           = COLUMN
   
OBJECT               = COLUMN
 NAME                = FRAME_XYZ
 DATA_TYPE           = MSB_INTEGER
 START_BYTE          = 325
 BYTES               = 12
 ITEMS               = 3
 ITEM_BYTES          = 4
 UNIT                = 'CENTIMETERS'
 DESCRIPTION         = "X, Y, Z coordinates of the intersection point
  between the frame mid-point shot and the Mars surface; from Precision
  Orbit data; 3 4-byte values."
END_OBJECT           = COLUMN
   
OBJECT               = COLUMN
 NAME                = FRAME_LAT_LON
 DATA_TYPE           = MSB_INTEGER
 START_BYTE          = 337
 BYTES               = 8
 ITEMS               = 2
 ITEM_BYTES          = 4
 UNIT                = 'DEGREES * (10**6)'
 DESCRIPTION         = "The areocentric latitude and the East longitude
  of the intersection point between the frame mid-point shot and the Mars
  surface; from Precision Orbit data; 2 4-byte values."
END_OBJECT           = COLUMN
   
OBJECT               = COLUMN
 NAME                = LASER_TRANSMIT_POWER
 DATA_TYPE           = MSB_UNSIGNED_INTEGER
 START_BYTE          = 345
 BYTES               = 40
 ITEMS               = 20
 ITEM_BYTES          = 2
 UNIT                = 'MILLIJOULES * 100'
 DESCRIPTION         = "MOLA laser transmitted pulse energy (array of 20
  values for data frame)."
END_OBJECT           = COLUMN
   
OBJECT               = COLUMN
 NAME                = SHOT_CLASSIFICATION_CODE
 DATA_TYPE           = MSB_UNSIGNED_INTEGER
 START_BYTE          = 385
 BYTES               = 40
 ITEMS               = 20
 ITEM_BYTES          = 2
 DESCRIPTION         = "Shot classification: 0=false trigger or no
  trigger; 1=probable ground trigger; other=unassigned."
END_OBJECT           = COLUMN
   
OBJECT               = COLUMN
 NAME                = CHANNEL_BACKGROUND_NOISE_CTS
 DATA_TYPE           = MSB_UNSIGNED_INTEGER
 START_BYTE          = 425
 BYTES               = 32
 ITEMS               = 8
 ITEM_BYTES          = 4
 UNIT                = 'COUNTS'
 DESCRIPTION         = "Background noise levels in the MOLA channels; at
  half-frame rate; array of 8 four-byte values where array elements 1-4
  are 1st half-frame values for channels 1-4 and array elements 5-8 are
  2nd half-frame values for channel 1-4."
END_OBJECT           = COLUMN
   
OBJECT               = COLUMN
 NAME                = RANGE_DELAY
 DATA_TYPE           = MSB_UNSIGNED_INTEGER
 START_BYTE          = 457
 BYTES               = 4
 UNIT                = 'CENTIMETERS'
 DESCRIPTION         = "Frame value of range gate delay (to beginning of
  range window)."
END_OBJECT           = COLUMN
   
OBJECT               = COLUMN
 NAME                = RANGE_WIDTH
 DATA_TYPE           = MSB_UNSIGNED_INTEGER
 START_BYTE          = 461
 BYTES               = 4
 UNIT                = 'CENTIMETERS'
 DESCRIPTION         = "Frame value of range gate width."
END_OBJECT           = COLUMN
   
OBJECT               = COLUMN
 NAME                = CHANNEL_THRESHOLD_SETTINGS
 DATA_TYPE           = MSB_UNSIGNED_INTEGER
 START_BYTE          = 465
 BYTES               = 16
 ITEMS               = 8
 ITEM_BYTES          = 2
 UNIT                = 'MILLIVOLTS'
 DESCRIPTION         = "Threshold settings for the 4 MOLA channels; at
  half-frame rate; array of 8 four-byte values where array elements 1-4
  are 1st half-frame values for channels 1-4 and array elements 5-8 are
  2nd half-frame values for channel 1-4."
END_OBJECT           = COLUMN
   
OBJECT               = COLUMN
 NAME                = RECEIVER_CHAN_MASK
 DATA_TYPE           = MSB_UNSIGNED_INTEGER
 START_BYTE          = 481
 BYTES               = 2
 DESCRIPTION         = "The receiver channel mask status; set to the
  value read from the ATLMOD sent by the altimeter electronics; the mask
  setting indicates which channels are commanded on and off."
END_OBJECT           = COLUMN
   
OBJECT               = COLUMN
 NAME                = ALGORITHM_WORD_MIN_HITS
 DATA_TYPE           = MSB_UNSIGNED_INTEGER
 START_BYTE          = 483
 BYTES               = 2
 DESCRIPTION         = "The minimum shot hit count value required for a
  matched filter channel to trigger; MIN_HITS value set in algorithm from
  the previous data frame."
END_OBJECT           = COLUMN
   
OBJECT               = COLUMN
 NAME                = ALGORITHM_WORD_HIT_COUNT
 DATA_TYPE           = MSB_UNSIGNED_INTEGER
 START_BYTE          = 485
 BYTES               = 2
 DESCRIPTION         = "Current value from the active data frame, showing
  the number of hits counted in the possible 20 shot hits in the single
  frame or the number of hits summed over the possible 100 shots when in
  the 5-frame mode. Tracking algorithm performance indicator. If in the
  acquisition mode, this field will contain the number of shot hits from
  a possible 80 shots within the 4 frame acquisition window."
END_OBJECT           = COLUMN
   
OBJECT               = COLUMN
 NAME                = FRAME_COUNTER
 DATA_TYPE           = MSB_UNSIGNED_INTEGER
 START_BYTE          = 487
 BYTES               = 2
 DESCRIPTION         = "The frame counter value is set from the previous
  data frame tracking algorithm operation."
END_OBJECT           = COLUMN
   
OBJECT               = COLUMN
 NAME                = TRIGGER_CHANNEL
 DATA_TYPE           = MSB_UNSIGNED_INTEGER
 START_BYTE          = 489
 BYTES               = 2
 DESCRIPTION         = "The first channel triggering at or above the
  minimum hit count is set from the previous data frame tracking
  algorithm operation."
END_OBJECT           = COLUMN
   
OBJECT               = COLUMN
 NAME                = FRAME_INDEX
 DATA_TYPE           = MSB_UNSIGNED_INTEGER
 START_BYTE          = 491
 BYTES               = 2
 DESCRIPTION         = "Frame number (among seven frames produced from
  the MOLA telemetry packet) generated in Ground Data System processing."
END_OBJECT           = COLUMN
   
OBJECT               = COLUMN
 NAME                = PACKET_SOURCE_HEADER
 DATA_TYPE           = MSB_UNSIGNED_INTEGER
 START_BYTE          = 493
 BYTES               = 8
 ITEMS               = 2
 ITEM_BYTES          = 4
 DESCRIPTION         = "The header put on the MOLA telemetry packet by
  the Payload Data System."
END_OBJECT           = COLUMN
   
OBJECT               = COLUMN
 NAME                = TIME_CODE_SECONDS
 DATA_TYPE           = MSB_INTEGER
 START_BYTE          = 501
 BYTES               = 4
 UNIT                = 'SECONDS'
 DESCRIPTION         = "The whole portion of the packet time referenced
  to J2000 in Elapsed Time seconds -- may be a negative number. The time
  is obtained from the Payload Data System supplied coarse time code that
  is generated at the time of the MOLA packet collection."
END_OBJECT           = COLUMN
   
OBJECT               = COLUMN
 NAME                = PKT_TIME_CODE_MILLISECONDS
 DATA_TYPE           = MSB_INTEGER
 START_BYTE          = 505
 BYTES               = 2
 UNIT                = 'MILLISECONDS'
 DESCRIPTION         = "The fractional portion of the packet time
  referenced to J2000 in Elapsed Time seconds * 1000 -- may be a negative
  number. The time is obtained from the Payload Data System supplied
  coarse time code that is generated at the time of the MOLA packet
  collection."
END_OBJECT           = COLUMN
   
OBJECT               = COLUMN
 NAME                = PKT_FINE_TIME
 DATA_TYPE           = MSB_UNSIGNED_INTEGER
 START_BYTE          = 507
 BYTES               = 2
 UNIT                = 'COUNTS'
 DESCRIPTION         = "MOLA-generated fine time counter."
END_OBJECT           = COLUMN