/* Definition: */ /* T0 is the electronic event which starts the range measurement timer. */ /* The laser pulse typically occurs ~820 microseconds after T0. See */ /* the MLA Instrument paper [CAVANAUGHETAL2007] for details regarding */ /* instrument event timing. */ OBJECT = COLUMN NAME = ET COLUMN_NUMBER = 1 BYTES = 16 DATA_TYPE = ASCII_REAL START_BYTE = 1 FORMAT = "F16.6" UNIT = "SECOND" DESCRIPTION = "The independent variable of the equations of motion, in seconds from the J2000 epoch, at the shot timing origin T0. In the past this variable has been referred to at JPL as Ephemeris Time and at MIT, later at the Center for Astrophysics, as Coordinate Time. Its practical realization is the project-supplied clock kernel, applied to the Spacecraft Clock Mission Elapsed Time (MET) count that is transmitted to MESSENGER subsystems by the Integrated Electronics Module corresponding to the 1 PPS signal. The NAIF SPICE spacecraft clock (SCLK) kernel determines a corresponding Terrestrial Dynamic Time. These times are synchronous with respect to an observer at the Solar System barycenter in a relativistic sense. The SPICE library routine SCS2E performs the conversion to Ephemeris Time as used by the Project-supplied ephemeris files." END_OBJECT = COLUMN OBJECT = COLUMN NAME = UTC COLUMN_NUMBER = 2 BYTES = 24 DATA_TYPE = TIME START_BYTE = 18 DESCRIPTION = "Shot timing origin T0, converted to Coordinated Universal Time (UTC). The project-supplied clock kernel and NAIF routines convert MET into Terrestrial Dynamical Time (TDT) seconds past the J2000 epoch, and by accounting for leap seconds and the 32.184 s offset between TDT and UTC, to a standard calendar representation of UTC." END_OBJECT = COLUMN OBJECT = COLUMN NAME = MET COLUMN_NUMBER = 3 BYTES = 9 DATA_TYPE = ASCII_INTEGER START_BYTE = 43 DESCRIPTION = "Mission elapsed time in seconds at the last 1 PPS tick." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SHOT_NUMBER COLUMN_NUMBER = 4 BYTES = 1 DATA_TYPE = ASCII_INTEGER START_BYTE = 53 DESCRIPTION = "Number of 8 Hz shot or minor frame, 0-7" END_OBJECT = COLUMN OBJECT = COLUMN NAME = VGA_GAIN COLUMN_NUMBER = 5 BYTES = 6 DATA_TYPE = ASCII_REAL START_BYTE = 55 FORMAT = "F6.3" DESCRIPTION = "Commanded value for VGA gain." END_OBJECT = COLUMN OBJECT = COLUMN NAME = CH1_HI_THLD COLUMN_NUMBER = 6 BYTES = 7 DATA_TYPE = ASCII_REAL START_BYTE = 62 FORMAT = "F7.4" UNIT = "VOLT" DESCRIPTION = "The threshold setting for channel 1 high." END_OBJECT = COLUMN OBJECT = COLUMN NAME = NOISE_CH1_HI COLUMN_NUMBER = 7 BYTES = 5 DATA_TYPE = ASCII_INTEGER START_BYTE = 70 FORMAT = "I5" DESCRIPTION = "Number of noise hits detected on Channel 1 high, summed over 4 shots, from plog4.4 compressed value." END_OBJECT = COLUMN OBJECT = COLUMN NAME = CH1_LO_THLD COLUMN_NUMBER = 8 BYTES = 7 DATA_TYPE = ASCII_REAL START_BYTE = 76 FORMAT = "F7.4" UNIT = "VOLT" DESCRIPTION = "The threshold setting for channel 1 low, volts." END_OBJECT = COLUMN OBJECT = COLUMN NAME = NOISE_CH1_LO COLUMN_NUMBER = 9 BYTES = 5 DATA_TYPE = ASCII_INTEGER START_BYTE = 84 FORMAT = "I5" DESCRIPTION = "Number of noise hits detected on Channel 1 low, summed over 4 shots, from plog4.4 compressed value." END_OBJECT = COLUMN OBJECT = COLUMN NAME = CH2_THLD COLUMN_NUMBER = 10 BYTES = 7 DATA_TYPE = ASCII_REAL START_BYTE = 90 FORMAT = "F7.4" UNIT = "VOLT" DESCRIPTION = "The threshold setting for channel 2, volts." END_OBJECT = COLUMN OBJECT = COLUMN NAME = NOISE_CH2 COLUMN_NUMBER = 11 BYTES = 5 DATA_TYPE = ASCII_INTEGER START_BYTE = 98 FORMAT = "I5" DESCRIPTION = "Number of noise hits detected on Channel 2, summed over 4 shots, from plog4.4 compressed value." END_OBJECT = COLUMN OBJECT = COLUMN NAME = CH3_THLD COLUMN_NUMBER = 12 BYTES = 7 DATA_TYPE = ASCII_REAL START_BYTE = 104 FORMAT = "F7.4" UNIT = "VOLT" DESCRIPTION = "The threshold setting for channel 3, volts." END_OBJECT = COLUMN OBJECT = COLUMN NAME = NOISE_CH3 COLUMN_NUMBER = 13 BYTES = 5 DATA_TYPE = ASCII_INTEGER START_BYTE = 112 FORMAT = "I5" DESCRIPTION = "Number of noise hits detected on Channel 3, summed over 4 shots, from plog4.4 compressed value." END_OBJECT = COLUMN OBJECT = COLUMN NAME = TX_ENERGY COLUMN_NUMBER = 14 BYTES = 4 DATA_TYPE = ASCII_REAL START_BYTE = 118 FORMAT = "F4.1" UNIT = "MILLIJOULE" DESCRIPTION = "Transmitted laser pulse energy." END_OBJECT = COLUMN OBJECT = COLUMN NAME = STARTPLS_TIME COLUMN_NUMBER = 15 BYTES = 9 DATA_TYPE = ASCII_REAL START_BYTE = 123 FORMAT = "F9.1" UNIT = "nanosecond" DESCRIPTION = "Time of leading edge of transmit laser pulse relative to T0." END_OBJECT = COLUMN OBJECT = COLUMN NAME = STARTPLS_WIDTH COLUMN_NUMBER = 16 BYTES = 4 DATA_TYPE = ASCII_REAL START_BYTE = 133 FORMAT = "F4.1" UNIT = "nanosecond" MISSING_CONSTANT = 99.9 DESCRIPTION = "Width of transmit laser pulse in nanoseconds, used to determine centroid time of outgoing pulse. A value of 99.9 denotes a measurement whose pulse width is invalid." END_OBJECT = COLUMN OBJECT = COLUMN NAME = RANGE_GATE_START COLUMN_NUMBER = 17 BYTES = 5 DATA_TYPE = ASCII_INTEGER START_BYTE = 138 FORMAT = "I5" DESCRIPTION = "Range gate start from RMU; units of 30 meters." END_OBJECT = COLUMN OBJECT = COLUMN NAME = RANGE_GATE_STOP COLUMN_NUMBER = 18 BYTES = 5 DATA_TYPE = ASCII_INTEGER START_BYTE = 144 FORMAT = "I5" DESCRIPTION = "Range gate stop from RMU; units of 30 meters." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SC_RANGE COLUMN_NUMBER = 19 BYTES = 5 DATA_TYPE = ASCII_INTEGER START_BYTE = 150 FORMAT = "I5" DESCRIPTION = "The spacecraft range value used by the science task for algorithm calculations, in units of 30 meters per count. This value is calculated in real time by the spacecraft using its attitude and position knowledge relative to the planet. The range is provided to the instrument asynchronously at one second intervals. As soon as the science task receives a range message, it begins using the new range in its calculations. This value is an estimate only. The spacecraft range reported in telemetry may NOT be the one used throughout the entire second of algorithm calculations." END_OBJECT = COLUMN OBJECT = COLUMN NAME = CH1_HI_RX_TIME COLUMN_NUMBER = 20 BYTES = 10 DATA_TYPE = ASCII_REAL START_BYTE = 156 FORMAT = "F10.1" UNIT = "nanosecond" DESCRIPTION = "Time of leading edge of high threshold received laser pulse relative to T0." END_OBJECT = COLUMN OBJECT = COLUMN NAME = CH1_HI_RX_WIDTH COLUMN_NUMBER = 21 BYTES = 4 DATA_TYPE = ASCII_REAL START_BYTE = 167 FORMAT = "F4.1" UNIT = "nanosecond" MISSING_CONSTANT = 99.9 DESCRIPTION = "Width of high threshold received laser pulse, used determine centroid time of return pulse. A value of 99.9 denotes a measurement whose pulse width is invalid." END_OBJECT = COLUMN OBJECT = COLUMN NAME = WIDE_FILT_RX_CNT COLUMN_NUMBER = 22 BYTES = 2 DATA_TYPE = ASCII_INTEGER START_BYTE = 172 FORMAT = "I2" DESCRIPTION = "Total number of wide filter low returns downlinked, a maximum is 10 (although the hardware can record up to 15 triggers). The use of multiple triggers is described in [CAVANAUGHETAL2007]. In order to compress data for telemetry, a variable length packet is issued, and this record may contain none, or up to 10, groups of event ids, times, and pulse widths. The leading and trailing event times consist of a coarse time count and a fine time count. The trailing event coarse time is downlinked as the four least significant bits of the coarse time difference. This difference should normally be zero or one depending on the phase of the return with respect to the coarse clock. The difference is sometimes one count greater than the actual difference, for reasons that are unclear, and the difference is reduced by one count, or 200 ns. If all 4 least significant bits of the coarse time difference are set, the pulse width is invalid and is set to zero. A nominal offset should be used to approximate the centroid time. Otherwise, the difference LOW_RX_WIDTH_n between leading and trailing edge event time is returned. The nominal centroid time is the leading edge time plus 1/2 this width. The FSW determines whether returns contain signal and downlinks only those low returns that are likely to be ground returns. If signal is not found by the FSW algorithm, it downlinks all triggers. Each of the triggers has a 3-bit leading and trailing edge id of 1, 2, or 4, corresponding to discriminators on filter channels 1, 2, and 3. The LOW_RX_ID_n is the logical AND of the leading and trailing ids. The RMU may occasionally issue multiple id's for an event, but the event id is that of the first valid filter channel discriminator, i.e., =0 invalid pulse, or lead and trail ID do not match. =1 channel 1 low =2 channel 2 low =4 channel 3 low. =5 pad values follow Values greater than 5 denote returns classified as non-ground, i.e., noise returns, resulting from an editing procedure. Such returns will be ignored by the subsequent Science geolocation software. The ten or fewer WIDE_FILT_RX_CNT groups of events now follow." END_OBJECT = COLUMN /* DEFINITION OF TEN GROUPS OF THREE OBJECTS */ OBJECT = COLUMN NAME = LOW_RX_ID_1 COLUMN_NUMBER = 23 BYTES = 1 DATA_TYPE = ASCII_INTEGER START_BYTE = 175 FORMAT = "I1" DESCRIPTION = "ID for low return pulse 1." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LOW_RX_TIME_1 COLUMN_NUMBER = 24 BYTES = 10 DATA_TYPE = ASCII_REAL START_BYTE = 177 FORMAT = "F10.1" UNIT = "nanosecond" DESCRIPTION = "Leading edge time for low return pulse 1, if valid, relative to T0." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LOW_RX_WIDTH_1 COLUMN_NUMBER = 25 BYTES = 6 DATA_TYPE = ASCII_REAL START_BYTE = 188 FORMAT = "F6.1" UNIT = "nanosecond" DESCRIPTION = "Time difference between leading and trailing edge of low pulse 1, used to determine centroid time and spread of return pulse." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LOW_RX_ID_2 COLUMN_NUMBER = 26 BYTES = 1 DATA_TYPE = ASCII_INTEGER START_BYTE = 195 FORMAT = "I1" DESCRIPTION = "ID for low return pulse 2." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LOW_RX_TIME_2 COLUMN_NUMBER = 27 BYTES = 10 DATA_TYPE = ASCII_REAL START_BYTE = 197 FORMAT = "F10.1" UNIT = "nanosecond" DESCRIPTION = "Leading edge time for low return pulse 2, if valid, relative to T0." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LOW_RX_WIDTH_2 COLUMN_NUMBER = 28 BYTES = 6 DATA_TYPE = ASCII_REAL START_BYTE = 208 FORMAT = "F6.1" UNIT = "nanosecond" DESCRIPTION = "Time difference between leading and trailing edge of low pulse 2, used to determine centroid time and spread of return pulse." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LOW_RX_ID_3 COLUMN_NUMBER = 29 BYTES = 1 DATA_TYPE = ASCII_INTEGER START_BYTE = 215 FORMAT = "I1" DESCRIPTION = "ID for low return pulse 3." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LOW_RX_TIME_3 COLUMN_NUMBER = 30 BYTES = 10 DATA_TYPE = ASCII_REAL START_BYTE = 217 FORMAT = "F10.1" UNIT = "nanosecond" DESCRIPTION = "Leading edge time for low return pulse 3, if valid, relative to T0." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LOW_RX_WIDTH_3 COLUMN_NUMBER = 31 BYTES = 6 DATA_TYPE = ASCII_REAL START_BYTE = 228 FORMAT = "F6.1" UNIT = "nanosecond" DESCRIPTION = "Time difference between leading and trailing edge of low pulse 3, used to determine centroid time and spread of return pulse." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LOW_RX_ID_4 COLUMN_NUMBER = 32 BYTES = 1 DATA_TYPE = ASCII_INTEGER START_BYTE = 235 FORMAT = "I1" DESCRIPTION = "ID for low return pulse 4." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LOW_RX_TIME_4 COLUMN_NUMBER = 33 BYTES = 10 DATA_TYPE = ASCII_REAL START_BYTE = 237 FORMAT = "F10.1" UNIT = "nanosecond" DESCRIPTION = "Leading edge time for low return pulse 4, if valid, relative to T0." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LOW_RX_WIDTH_4 COLUMN_NUMBER = 34 BYTES = 6 DATA_TYPE = ASCII_REAL START_BYTE = 248 FORMAT = "F6.1" UNIT = "nanosecond" DESCRIPTION = "Time difference between leading and trailing edge of low pulse 4, used to determine centroid time and spread of return pulse." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LOW_RX_ID_5 COLUMN_NUMBER = 35 BYTES = 1 DATA_TYPE = ASCII_INTEGER START_BYTE = 255 FORMAT = "I1" DESCRIPTION = "ID for low return pulse 5." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LOW_RX_TIME_5 COLUMN_NUMBER = 36 BYTES = 10 DATA_TYPE = ASCII_REAL START_BYTE = 257 FORMAT = "F10.1" UNIT = "nanosecond" DESCRIPTION = "Leading edge time for low return pulse 5, if valid, relative to T0." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LOW_RX_WIDTH_5 COLUMN_NUMBER = 37 BYTES = 6 DATA_TYPE = ASCII_REAL START_BYTE = 268 FORMAT = "F6.1" UNIT = "nanosecond" DESCRIPTION = "Time difference between leading and trailing edge of low pulse 5, used to determine centroid time and spread of return pulse." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LOW_RX_ID_6 COLUMN_NUMBER = 38 BYTES = 1 DATA_TYPE = ASCII_INTEGER START_BYTE = 275 FORMAT = "I1" DESCRIPTION = "ID for low return pulse 6." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LOW_RX_TIME_6 COLUMN_NUMBER = 39 BYTES = 10 DATA_TYPE = ASCII_REAL START_BYTE = 277 FORMAT = "F10.1" UNIT = "nanosecond" DESCRIPTION = "Leading edge time for low return pulse 6, if valid, relative to T0." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LOW_RX_WIDTH_6 COLUMN_NUMBER = 40 BYTES = 6 DATA_TYPE = ASCII_REAL START_BYTE = 288 FORMAT = "F6.1" UNIT = "nanosecond" DESCRIPTION = "Time difference between leading and trailing edge of low pulse 6, used to determine centroid time and spread of return pulse." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LOW_RX_ID_7 COLUMN_NUMBER = 41 BYTES = 1 DATA_TYPE = ASCII_INTEGER START_BYTE = 295 FORMAT = "I1" DESCRIPTION = "ID for low return pulse 7." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LOW_RX_TIME_7 COLUMN_NUMBER = 42 BYTES = 10 DATA_TYPE = ASCII_REAL START_BYTE = 297 FORMAT = "F10.1" UNIT = "nanosecond" DESCRIPTION = "Leading edge time for low return pulse 7, if valid, relative to T0." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LOW_RX_WIDTH_7 COLUMN_NUMBER = 43 BYTES = 6 DATA_TYPE = ASCII_REAL START_BYTE = 308 FORMAT = "F6.1" UNIT = "nanosecond" DESCRIPTION = "Time difference between leading and trailing edge of low pulse 7, used to determine centroid time and spread of return pulse." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LOW_RX_ID_8 COLUMN_NUMBER = 44 BYTES = 1 DATA_TYPE = ASCII_INTEGER START_BYTE = 315 FORMAT = "I1" DESCRIPTION = "ID for low return pulse 8." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LOW_RX_TIME_8 COLUMN_NUMBER = 45 BYTES = 10 DATA_TYPE = ASCII_REAL START_BYTE = 317 FORMAT = "F10.1" UNIT = "nanosecond" DESCRIPTION = "Leading edge time for low return pulse 8, if valid, relative to T0." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LOW_RX_WIDTH_8 COLUMN_NUMBER = 46 BYTES = 6 DATA_TYPE = ASCII_REAL START_BYTE = 328 FORMAT = "F6.1" UNIT = "nanosecond" DESCRIPTION = "Time difference between leading and trailing edge of low pulse 8, used to determine centroid time and spread of return pulse." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LOW_RX_ID_9 COLUMN_NUMBER = 47 BYTES = 1 DATA_TYPE = ASCII_INTEGER START_BYTE = 335 FORMAT = "I1" DESCRIPTION = "ID for low return pulse 9." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LOW_RX_TIME_9 COLUMN_NUMBER = 48 BYTES = 10 DATA_TYPE = ASCII_REAL START_BYTE = 337 FORMAT = "F10.1" UNIT = "nanosecond" DESCRIPTION = "Leading edge time for low return pulse 9, if valid, relative to T0." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LOW_RX_WIDTH_9 COLUMN_NUMBER = 49 BYTES = 6 DATA_TYPE = ASCII_REAL START_BYTE = 348 FORMAT = "F6.1" UNIT = "nanosecond" DESCRIPTION = "Time difference between leading and trailing edge of low pulse 9, used to determine centroid time and spread of return pulse." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LOW_RX_ID_10 COLUMN_NUMBER = 50 BYTES = 1 DATA_TYPE = ASCII_INTEGER START_BYTE = 355 FORMAT = "I1" DESCRIPTION = "ID for low return pulse 10." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LOW_RX_TIME_10 COLUMN_NUMBER = 51 BYTES = 10 DATA_TYPE = ASCII_REAL START_BYTE = 357 FORMAT = "F10.1" UNIT = "nanosecond" DESCRIPTION = "Leading edge time for low return pulse 10, if valid, relative to T0." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LOW_RX_WIDTH_10 COLUMN_NUMBER = 52 BYTES = 6 DATA_TYPE = ASCII_REAL START_BYTE = 368 FORMAT = "F6.1" UNIT = "nanosecond" DESCRIPTION = "Time difference between leading and trailing edge of low pulse 10, used to determine centroid time and spread of return pulse." END_OBJECT = COLUMN /*** SIGNAL PROCESSING INFO updated every 10-s superframe ***/ OBJECT = COLUMN NAME = ALGORITHM_MODE COLUMN_NUMBER = 53 BYTES = 2 DATA_TYPE = ASCII_INTEGER START_BYTE = 375 FORMAT = "I2" DESCRIPTION = "The actual algorithm mode being run. =0 Fixed Mode, =1 Spacecraft Range Mode." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SIGNAL_FOUND COLUMN_NUMBER = 54 BYTES = 2 DATA_TYPE = ASCII_INTEGER START_BYTE = 378 FORMAT = "I2" DESCRIPTION = "Indicates whether upper or lower histograms have been found by science task when processing 10 seconds worth of science data. =0 no signal. =1 upper histogram (high returns) found. =2 lower histogram (low returns) found =3 both upper and lower histogram found." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SIG_FRAM_PER_SUPER COLUMN_NUMBER = 55 BYTES = 2 DATA_TYPE = ASCII_INTEGER START_BYTE = 381 FORMAT = "I2" DESCRIPTION = "The number of frames in the superframe showing a signal. There are 5 frames per superframe. NOTE: There must be at least 4 out of 5 frames showing signal in order to have a signal based on the lower histograms." END_OBJECT = COLUMN