Submitted: ________________________________________________ __________
Gregory A. Neumann Date
MOLA Science Team
Concurred: ________________________________________________ __________
Maria Zuber Date
MOLA Deputy Principal Investigator
Approved: ________________________________________________ __________
David E. Smith Date
MOLA Principal Investigator
Document and Change Control Log | |||
---|---|---|---|
Date | Version | Section | Status |
04/01/97 | 1.0 | all | Released for MGS |
07/23/97 | 1.1 | Section
4.3.2 Table 1 Table 2 Appendix C | Updated for PEDR format changes |
07/23/97 | 1.1 | Appendix C | Incorrect start bytes and descriptions were corrected in the format files (unmarked) |
01/30/98 | 2.0 | all | revised for contingency science |
List of Figures | |
---|---|
1 | PEDR Data Product Structure and Organization |
List of Tables | |
---|---|
1 | PEDR Data Product Record Format |
2 | PEDR Data Product Record Contents Description |
3 | PEDR Data Product Subcommutated Data Format |
MOLA-672-PL-89.354
Operations Facility Configuration and Control Plan, Version 1.0, NASA
Goddard Space Flight Center Wallops Flight Facility, January 5, 1990
MOLA-972-SP-91.163
Mars
Orbiter Laser Altimeter Aggregated Experiment Data Record Product Software
Interface Specification Document, Version 1.0, NASA Goddard Space Flight
Center Wallops Flight Facility, March 31, 1997
SFOC-0088-00-07-02
Space
Flight Operations Center User's Guide for Work Station End Users, Volume 2:
Working with File Data, Version 17.0, Draft, Jet Propulsion Laboratory,
January 1992
MO-642-3-PDB-UG-01
Mars
Observer Project Database (MO PDB) User Overview, Strawman, Jet Propulsion
Laboratory, February 7, 1990
MOSO0099-04-00
Planetary
Science Data Dictionary Document, PDS Version 3.0, Jet Propulsion
Laboratory, November 20,1992, JPL D-7116, Rev C
MOLA-972-SP-92-232
Mars
Orbiter Laser Altimeter Any-Experiment Gridded Data Product Software Interface
Specification, Version 1.0, NASA Goddard Space Flight Center Wallops
Flight Facility, March 31, 1997
MOLA-972-SP-92.213
MOLA
CD-ROM Standard Product Archive Collection Software Interface
Specification, Version 1.0, S. Slavney, R. E. Arvidson, Washington
University, August 11, 1993
Using the precision orbit data, the accuracy of the MOLA footprint is 30 meters radially; 30 meters along track; 30 meters across track.
The PDS shall receive the PEDR data product and make it available to the science community.
The PEDR data product shall remain on the MOLA operations file system and be available to the MOLA Science Team for further investigations.
Any changes to the PEDR data product, either format or content shall affect the software that creates the data product.
Additionally, any changes to the PEDR data product could affect the EGDR data products' content or format or affect the software that creates the EGDR data products. See Applicable Document #6 for a detailed description of the EGDR Data Products.
Each PEDR data product shall encompass one orbit of MOLA data.
The data set id for the MOLA PEDR data product is MGS-M-MOLA-3-PEDR-L1B-V1.0. This is the data set id that was provided to the PDB and the Planetary Data System. This id describes the overall PEDR data product. The version number is incremented should the PEDR Data Product format change.
The PDB required keywords are
PDS_VERSION_ID
| PRODUCT_RELEASE_DATE |
The file naming convention for each PEDR data product produced is
AP#####a.b
, where:
A | represents the MOLA instrument, an altimeter |
P | is the data product, PEDR, identifier |
##### | is the orbit number with leading zeros |
a | is the product edition number |
b | indicates the file is fixed point, binary. |
CCSD3ZF0000100000001
where:
CCSD | is the Control Authority ID |
3 | is the SFDU version ID |
Z | is the class ID for primary labels |
F | is the SFDU delimiter type, total EOFs. |
0 | is a spare octet |
0001 | is the Data Descriptive Package ID (DDPID) |
00000001 | is the delimiter value for this label; indicates the number of EOFs delimiting the product. |
NJPL3KS0PDSX$$INFO$$
where:
NJPL | is the Control Authority ID |
3 | is the SFDU version ID |
K | is the class ID for catalog data object labels |
S | is the SFDU delimiter type, start marker. |
0 | is a spare octet |
PDSX | is the Data Descriptive Package ID |
$$INFO$$ | is the delimiter value for this label |
After the label, shall be the catalog entries required by the Project. These
shall be in the KEYWORD=VALUE
format. Each
KEYWORD=VALUE
string shall be terminated by a carriage return,
line feed combination. The required keywords are listed in Section 3.4. The catalog entries (keywords) with
example values are listed in Appendix C.1. Applicable Document #5 contains definitions of the
keywords listed in the appendix.
Planetary Data System required object definitions and pointers are contained in the catalog header. Each data parameter in the product is defined by the object structure; the pointers direct the user to format files which fully define the PEDR record format and contents. Appendix C contains an example of the object definitions and pointers.
The catalog entries will be delimited by the K-header end label; it has the following form:
CCSD$$MARKER$$INFO$$
NJPL3IF0004100000001
where:
NJPL | is the Control Authority ID |
3 | is the SFDU version ID |
I | is the class ID for data labels |
F | is the SFDU delimiter type, Total EOFs |
0 | is a spare octet |
0041 | is the Data Descriptive Package ID |
00000001 | is the delimiter value for this label; indicates the number of EOFs delimiting the product. |
Contained in a PEDR are the range value computed at the frame mid-point, the planetary radius at the frame mid-point, and the planetary radius for each shot. There are 20 possible shots in a 2 second frame. Additionally, location, i.e., latitude, longitude, and radial distance, obtained from the precision orbit data, is stored in the PEDR. The precision orbit data is gathered at the frame mid-point with respect to the Mars Global Surveyor center of mass. The range and planetary radius values are computed with respect to the center of mass of the Mars Global Surveyor. Additional information describing the instrument and its configuration are included in the PEDR.
A complete listing of all parameters contained in a PEDR can be found in Table 1. A description of the parameters contained in a PEDR is found in Table 2. The engineering/housekeeping data are listed in Table 3; this table also describes the location of the engineering/housekeeping data among the seven PEDRs that constitute a MOLA telemetry packet. Additionally, the PEDR format and contents are described in the PEDR Data Dictionary in Appendix B.
The PEDR data product will be produced as the AEDR files and corresponding precision orbit data become available. The data products will be produced during a standard 5 day / 40 hour work week.
Approximately 13 PEDR Data Products shall be produced for each mapping mission day resulting in a daily volume of 34 Mbytes. During the period of time designated as contingency science or phasing orbits, MOLA ranges to the surface for only 20-30 minutes and the volume is accordingly reduced.
Parameter | Bytes | Units | Description |
---|---|---|---|
- frame mid-point time whole seconds | 4 | Seconds | The whole portion of the Elapsed Time since J2000 at the frame mid-point[1] in the MOLA data frame |
- frame mid-point time fractional seconds | 4 | Microseconds | The fractional portion of the Elapsed Time since J2000 at the frame mid-pointa in the MOLA data frame |
- orbit reference number | 4 | Counts | Mapping mission orbit number determined by Mars Global Surveyor flight operations system at frame mid-point |
- frame mid-point areocentric latitude of spacecraft | 4 | Degrees * 106 | MGS Spacecraft areocentric latitude associated with MOLA data frame mid-point; from Precision Orbit data |
- frame mid-point areocentric longitude | 4 | Degrees * 106 | MGS Spacecraft east longitude value associated with MOLA data frame mid-point; from Precision Orbit data |
- frame mid-point radial distance of spacecraft | 4 | Centimeters | Radial distance (i.e., the distance from Martian bodycenter to Mars Global Surveyor spacecraft center of mass) associated with MOLA data frame mid-point; from Precision Orbit data |
- frame mid-point range | 4 | Centimeters | MOLA range (corrected to Mars Global Surveyor center of mass) associated with MOLA data frame mid-point, obtained from a straight line best-fit of the individual (up to 20) MOLA range measurements in the MOLA data frame |
- shot quality flag | 4 | 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 1 and bit 19 being shot 20) and each bit
set to 0 for good, 1 for bad shot; bits 20-23 are unused 1 byte--good shot counter, (total of bits set to 0 in above 20 bits) | |
- shot quality descriptor flag | 16 | 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 127 the format of the flag is bit
0: packet validity checksum test | |
- shot quality descriptor flag (contd.) | 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. | ||
- shot planetary radius | 80 | Centimeters | Array of 20 MOLA planetary radii, one per shot, in the data frame; the distance from the center of Mars to the point on the surface of Mars described by the MOLA range, 20 4-byte values |
- frame mid-point planetary radius | 4 | Centimeters | 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 MOLA mid-point range |
- instrument attitude right ascension | 4 | Milliradians | MOLA right ascension at data frame mid-point |
- instrument attitude declination | 4 | Milliradians | MOLA declination at data frame mid-point |
- instrument attitude twist | 4 | Milliradians | MOLA twist at data frame mid-point |
- corrected received pulse energy | 40 | Attojoules | Corrected surface-scattered return energy as measured by the pulse width and area counters, corrected for threshold setting, 20 2-byte values |
- surface reflectivity * atmospheric transmittance | 40 | Pure fraction * 105 | Relative Martian surface reflectivity values, one per shot; 20 2-byte values |
- trigger channel number | 20 | Channel number of first MOLA filter channel to trigger, 20 1-byte values | |
- returned pulse width at threshold | 40 | Nanoseconds * 10 | Time between threshold crossings of the detected pulse. The pulse width is used to correct the time-of-flight to the optical pulse centroid, but recv_pulse_energy_counts may be saturated. In this case, the timing correction is limited to the equivalent of a six-degree slope. 20 2-byte values |
- received optical pulse width | 40 | Nanoseconds * 10 | Received optical pulse width, corrected for filter characteristics and threshold settings, as determined by the receiver model (one sigma value, with the minimum limited by the filter response). The pulse width provides an estimate of target slope and/or roughness, assuming nadir-looking geometry |
- frame mid-point coordinates | 12 | Centimeters | 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 |
- frame mid-point latitude, longitude | 8 | Degrees * 106 | 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 |
- laser transmit power | 40 | mJ * 100 | MOLA laser transmitted pulse energy, corrected for detector and heat sink temperatures, 20 2-byte values |
- shot classification code | 40 | shot classification and weighting codes: a zero value denotes a noise return; 1 denotes a good return | |
- channel background noise counts | 32 | Counts | Frame value for background levels in the MOLA channels, at half-frame rate (order: 1A, 2A, 3A, 4A, 1B, 2B, 3B, and 4B where A is first half and B is second half of data frame), for raw background counts (prior to engineering unit conversion) equal to or less than 23 the converted value is set to 1.0, 8 4-byte values |
- range delay | 4 | Centimeters | Frame value of range gate delay (to beginning of range window) |
- range width | 4 | Centimeters | Frame value of range gate width |
- receiver channel threshold settings | 16 | Millivolts | Threshold settings for the 4 MOLA channels, at half-frame rate (order: 1A, 2A, 3A, 4A, 1B, 2B, 3B, and 4B), 8 2-byte values |
- receiver channel mask | 2 | MOLA channel mask setting for the frame; the mask indicates whether any of the 4 channels have been commanded off | |
- algorithm word MIN_HITS | 2 | Frame value for the flight software word MIN_HITS | |
- algorithm word HIT_COUNT | 2 | Counts | Frame value for the flight software word HIT_COUNT |
- frame counter | 2 | Software status value | |
- trigger channel | 2 | Software status value | |
- within-packet frame index | 2 | Count | Frame number (among seven frames in MOLA telemetry packet) generated in Ground Data System processing |
- packet source header | 8 | Information placed in MOLA telemetry packet by Payload Data System | |
- telemetry packet coarse time code seconds | 4 | ET (Elapsed Time) seconds | The whole portion of the Payload Data System generated time code in ET seconds referenced to J2000; a signed number. |
- telemetry packet coarse time code milliseconds | 2 | ET milliseconds | The fractional portion of the Payload Data System generated time code in ET seconds referenced to J2000; a signed number. |
- telemetry packet fine time code | 2 | counts | MOLA generated fine time counter |
- engineering/ housekeeping data | 28 | Complete set of packet engineering and housekeeping data (196 bytes) from each MOLA telemetry packet, subcommutated into 7 data frames, 28 bytes appear at this location in each frame. | |
- orbit quality flag 1 | 2 | Flag indicating origin of orbit. 0 indicates JPL was producer; 1 or higher indicates the MOLA Science Investigation Team. | |
- orbit quality flag 2 | 2 | Precision orbit quality flag, TBD. | |
- orbit quality flag 3 | 2 | Precision orbit quality flag, TBD. | |
- phase angle | 2 | radians * 104 | The angle between the vectors from Mars to Mars Global Surveyor and from Mars to the Sun at the frame mid-point location |
- solar incidence angle | 2 | radians * 104 | Originally, the angle between the Mars surface normal vector and the Mars Global Surveyor vector at the frame mid-point location, now set to 0 |
- emission angle | 2 | radians * 104 | Originally, the angle between the Mars surface normal vector and the Sun vector at the frame mid-point location, now set equal to the phase angle |
- Atmospheric opacity | 4 | Pure number * 106 | May be retrieved from TES data; nominally 0.5 |
- double precision frame mid-point time | 8 | seconds | The frame mid-point time represented in IEEE standard double precision; ET seconds (referenced to J2000) |
- trigger channel raw received pulse energy | 20 | Counts | The received pulse energy counts; 255=>saturation; 20 1-byte values |
- trigger channel raw received pulse width | 20 | Counts | The received pulse width counts; 63=>saturation; 20 1-byte values |
spacecraft body-fixed XYZ coordinates | 12 | Centimeters | The Mars fixed X, Y, Z coordinates of the MGS spacecraft; from Precision Orbit data |
- Geoid radius | 4 | Centimeters | The radius of the reference geoid with 3396 kilometer mean equatorial radius |
- Off-nadir angle | 4 | Degrees * 106 | Angle between the actual frame-midpoint shot direction and areocentric direction |
- Encoder bits | 20 | The start and stop encoder bits for each MOLA shot. With these bits, the MOLA shot range is interpolated within each clock count. The start and stop encoders are stored in bits 0-1 and 4-5 of each byte | |
- delta geoid | 4 | centimeters | The average change in geoid associated with each 20-shot MOLA frame. |
- MOLA clock rate | 4 | Hertz | The MOLA clock frequency used to calculate laser pulse time-of-flight. |
- MOLA range | 80 | centimeters | The MOLA range value per shot; these values have been corrected by the range correction below, 20 4-byte values |
- range correction | 40 | centimeters | Correction to the range value due to the detector response and range walk, 20 2-byte values |
- delta latitude | 4 | Degrees * 106 | The average distance between each areocentric latitude associated with each 20-shot MOLA frame. |
- delta longitude | 4 | Degrees * 106 | The average distance between each areocentric longitude associated with each 20-shot MOLA frame. |
TOTAL: | 776 |
AEDR | Aggregated Experiment Data Record |
aJ | attoJoule |
DDPID | Data Descriptive Package ID |
EGDR | Experiment Gridded Data Record |
ET | Elapsed Time |
EUC | Engineering Unit Conversion |
FTP | File Transfer Protocol |
Gbytes | gigabytes |
GMM-1 | Goddard Mars Model-1 potential model (Smith et al., 1993) |
GSFC | Goddard Space Flight Center |
JPL | Jet Propulsion Laboratory |
MGS | Mars Global Surveyor |
Mbytes | megabytes |
mJ | milliJoule |
MOLA | Mars Orbiter Laser Altimeter |
ms | milliseconds |
NAIF/SPICE | Navigation Ancillary Information Facility / Spacecraft Ephemeris, Planet Ephemeris, Instrument Offset, Instrument Inertial Orientation (C), Event Oriented Information Kernels |
PEDR | Precision Experiment Data Record |
PDB | Project Data Base |
PDS | Planetary Data System |
SFDU | Standard Formatted Data Unit |
SFOC | Space Flight Operations Center |
SIS | Software Interface Specification |
SOPC | Science Operations Planning Computer |
SPICE | Spacecraft Ephemeris, Planet Ephemeris, Instrument Offset, Instrument Inertial Orientation (C), Event Oriented Information Kernels |
TBD | to be determined |
WFF | Wallops Flight Facility |
CCSD3ZF0000100000001NJPL3KS0PDSX$$INFO$$ PDS_VERSION_ID = PDS3 RECORD_TYPE = FIXED_LENGTH FILE_RECORDS = 'UNK' RECORD_BYTES = 776 LABEL_RECORDS = 10 FILE_NAME = 'AP90003U.B' ^PEDR_FR_1_TABLE = 11 ^PEDR_FR_2_TABLE = 11 ^PEDR_FR_3_TABLE = 11 ^PEDR_FR_4_TABLE = 11 ^PEDR_FR_5_TABLE = 11 ^PEDR_FR_6_TABLE = 11 ^PEDR_FR_7_TABLE = 11 DATA_SET_ID = 'MGS-M-MOLA-3-PEDR-L1B-V1.0' PRODUCT_ID = 'MOLA-AP90003U.B' SPACECRAFT_NAME = 'MARS_GLOBAL_SURVEYOR' INSTRUMENT_ID = 'MOLA' INSTRUMENT_NAME = 'MARS_ORBITER_LASER_ALTIMETER' TARGET_NAME = 'MARS' SOFTWARE_NAME = 'PP_MAIN_5.00' UPLOAD_ID = 'SM-7.6' SOURCE_PRODUCT_ID =
{"MOLA-AA90003F.B","MOLA-APPLCT00.T",
"NAF0000E-CK"," NAF0000E-CK","","NAF0000C-SPK"," NAF0000C-SPK",""} PRODUCT_RELEASE_DATE = 1998-141 START_TIME = 1997-212T19:10:00.000 STOP_TIME = 1997-212T19:45:00.000 NATIVE_START_TIME = -76351736.816730 NATIVE_STOP_TIME = -76349636.816730 SPACECRAFT_CLOCK_START_COUNT = 443588190.140 SPACECRAFT_CLOCK_STOP_COUNT = 443595246.140 PRODUCT_CREATION_TIME = 1998-051T17:42:37.881 MISSION_PHASE_NAME = 'CONTINGENCY' ORBIT_NUMBER = 90003 PRODUCT_VERSION_TYPE = {"R004-CALIBRATED REL.","O90003 -
ORBIT 3", "P004-CALIBRATED REL.","E004-CALIBRATED
REL."} PRODUCER_ID = 'MGS_MOLA_TEAM' PRODUCER_FULL_NAME = 'DAVID E. SMITH' PRODUCER_INSTITUTION_NAME = 'GODDARD SPACE FLIGHT CENTER' DESCRIPTION = "The PEDR data product contains the along-track,
time series collection of MOLA instrument, science mode data in
engineering and physical units. Precision orbit data describing the
instrument's position and location has been added to each record. The
precision data is supplied by the MOLA Science Team." OBJECT = PEDR_FR_1_TABLE INTERCHANGE_FORMAT = BINARY ROWS = 'UNK' COLUMNS = 71 ROW_BYTES = 776 ^FIRST_STRUCTURE = 'PEDRSEC1.FMT' ^FR_1_ENG_STRUCTURE = 'PEDRENG1.FMT' ^THIRD_STRUCTURE = 'PEDRSEC3.FMT' DESCRIPTION = "This is one of seven table definitions that apply
to the seven possible PEDR record structures, one for each frame. In
each data record, byte 492 (counting from one) identifies the frame
number for the record. This table structure incorporates the
engineering information returned in Frame 1. The 'first_structure'
format file includes descriptions of the first 500 bytes of the
record, 'fr_1_eng_structure' format file describes bytes 501 to 528,
and the 'third_structure' format file describes bytes 529 to
776." END_OBJECT = PEDR_FR_1_TABLE OBJECT = PEDR_FR_2_TABLE INTERCHANGE_FORMAT = BINARY ROWS = 'UNK' COLUMNS = 71 ROW_BYTES = 776 ^FIRST_STRUCTURE = 'PEDRSEC1.FMT' ^FR_2_ENG_STRUCTURE = 'PEDRENG2.FMT' ^THIRD_STRUCTURE = 'PEDRSEC3.FMT' DESCRIPTION = "This is one of seven table definitions that apply
to the seven possible PEDR record structures, one for each frame. In
each data record, byte 492 (counting from one) identifies the frame
number for the record. This table structure incorporates the
engineering information returned in Frame 2. The 'first_structure'
format file includes descriptions of the first 500 bytes of the
record, 'fr_2_eng_structure' format file describes bytes 501 to 528,
and the 'third_structure' format file describes bytes 529 to
776." END_OBJECT = PEDR_FR_2_TABLE OBJECT = PEDR_FR_3_TABLE INTERCHANGE_FORMAT = BINARY ROWS = 'UNK' COLUMNS = 70 ROW_BYTES = 776 ^FIRST_STRUCTURE = 'PEDRSEC1.FMT' ^FR_3_ENG_STRUCTURE = 'PEDRENG3.FMT' ^THIRD_STRUCTURE = 'PEDRSEC3.FMT' DESCRIPTION = "This is one of seven table definitions that apply
to the seven possible PEDR record structures, one for each frame. In
each data record, byte 492 (counting from one) identifies the frame
number for the record. This table structure incorporates the
engineering information returned in Frame 3. The 'first_structure'
format file includes descriptions of the first 500 bytes of the
record, 'fr_3_eng_structure' format file describes bytes 501 to 528,
and the 'third_structure' format file describes bytes 529 to
776." END_OBJECT = PEDR_FR_3_TABLE OBJECT = PEDR_FR_4_TABLE INTERCHANGE_FORMAT = BINARY ROWS = 'UNK' COLUMNS = 58 ROW_BYTES = 776 ^FIRST_STRUCTURE = 'PEDRSEC1.FMT' ^FR_4_ENG_STRUCTURE = 'PEDRENG4.FMT' ^THIRD_STRUCTURE = 'PEDRSEC3.FMT' DESCRIPTION = "This is one of seven table definitions that apply
to the seven possible PEDR record structures, one for each frame. In
each data record, byte 492 (counting from one) identifies the frame
number for the record. This table structure incorporates the
engineering information returned in Frame 4. The 'first_structure'
format file includes descriptions of the first 500 bytes of the
record, 'fr_4_eng_structure' format file describes bytes 501 to 528,
and the 'third_structure' format file describes bytes 529 to
776." END_OBJECT = PEDR_FR_4_TABLE OBJECT = PEDR_FR_5_TABLE INTERCHANGE_FORMAT = BINARY ROWS = 'UNK' COLUMNS = 62 ROW_BYTES = 776 ^FIRST_STRUCTURE = 'PEDRSEC1.FMT' ^FR_5_ENG_STRUCTURE = 'PEDRENG5.FMT' ^THIRD_STRUCTURE = 'PEDRSEC3.FMT' DESCRIPTION = "This is one of seven table definitions that apply
to the seven possible PEDR record structures, one for each frame. In
each data record, byte 492 (counting from one) identifies the frame
number for the record. This table structure incorporates the
engineering information returned in Frame 5. The 'first_structure'
format file includes descriptions of the first 500 bytes of the
record, 'fr_5_eng_structure' format file describes bytes 501 to 528,
and the 'third_structure' format file describes bytes 529 to
776." END_OBJECT = PEDR_FR_5_TABLE OBJECT = PEDR_FR_6_TABLE INTERCHANGE_FORMAT = BINARY ROWS = 'UNK' COLUMNS = 60 ROW_BYTES = 776 ^FIRST_STRUCTURE = 'PEDRSEC1.FMT' ^FR_6_ENG_STRUCTURE = 'PEDRENG6.FMT' ^THIRD_STRUCTURE = 'PEDRSEC3.FMT' DESCRIPTION = "This is one of seven table definitions that apply
to the seven possible PEDR record structures, one for each frame. In
each data record, byte 492 (counting from one) identifies the frame
number for the record. This table structure incorporates the
engineering information returned in Frame 6. The 'first_structure'
format file includes descriptions of the first 500 bytes of the
record, 'fr_6_eng_structure' format file describes bytes 501 to 528,
and the 'third_structure' format file describes bytes 529 to
776." END_OBJECT = PEDR_FR_6_TABLE OBJECT = PEDR_FR_7_TABLE INTERCHANGE_FORMAT = BINARY ROWS = 'UNK' COLUMNS = 66 ROW_BYTES = 776 ^FIRST_STRUCTURE = 'PEDRSEC1.FMT' ^FR_7_ENG_STRUCTURE = 'PEDRENG7.FMT' ^THIRD_STRUCTURE = 'PEDRSEC3.FMT' DESCRIPTION = "This is one of seven table definitions that apply
to the seven possible PEDR record structures, one for each frame. In
each data record, byte 492 (counting from one) identifies the frame
number for the record. This table structure incorporates the
engineering information returned in Frame 7. The 'first_structure'
format file includes descriptions of the first 500 bytes of the
record, 'fr_7_eng_structure' format file describes bytes 501 to 528,
and the 'third_structure' format file describes bytes 529 to
776." END_OBJECT = PEDR_FR_7_TABLE END
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
OBJECT = COLUMN NAME = COMPUTER_MEMORY_TEMPERATURE DATA_TYPE = MSB_INTEGER START_BYTE = 509 BYTES = 2 UNIT = 'DEGREES CELSIUS * 100' MINIMUM = 0 MAXIMUM = 7203 DESCRIPTION = "The computer memory temperature." END_OBJECT = COLUMN OBJECT = COLUMN NAME = COMPUTER_CPU_TEMPERATURE DATA_TYPE = MSB_INTEGER START_BYTE = 511 BYTES = 2 UNIT = 'DEGREES CELSIUS * 100' MINIMUM = 0 MAXIMUM = 7203 DESCRIPTION = "The computer CPU temperature." END_OBJECT = COLUMN OBJECT = COLUMN NAME = POWER_SUPPLY_TEMPERATURE DATA_TYPE = MSB_INTEGER START_BYTE = 513 BYTES = 2 UNIT = 'DEGREES CELSIUS * 100' MINIMUM = 0 MAXIMUM = 7203 DESCRIPTION = "The power supply temperature." END_OBJECT = COLUMN OBJECT = COLUMN NAME = 'COMPUTER_I/O_TEMPERATURE' DATA_TYPE = MSB_INTEGER START_BYTE = 515 BYTES = 2 UNIT = 'DEGREES CELSIUS * 100' MINIMUM = 0 MAXIMUM = 7203 DESCRIPTION = "The computer I/O temperature." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LASER_DIODE_ARRAY_TEMPERATURE DATA_TYPE = MSB_INTEGER START_BYTE = 517 BYTES = 2 UNIT = 'DEGREES CELSIUS * 100' MINIMUM = 0 MAXIMUM = 7203 DESCRIPTION = "The LASER diode array temperature." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LASER_DIODE_DRIVE_ELECS_TEMP DATA_TYPE = MSB_INTEGER START_BYTE = 519 BYTES = 2 UNIT = 'DEGREES CELSIUS * 100' MINIMUM = 0 MAXIMUM = 7203 DESCRIPTION = "The LASER diode drive electronics
temperature." END_OBJECT = COLUMN OBJECT = COLUMN NAME = OPTICAL_TEST_SOURCE_LED_TEMP DATA_TYPE = MSB_INTEGER START_BYTE = 521 BYTES = 2 UNIT = 'DEGREES CELSIUS * 100' MINIMUM = 0 MAXIMUM = 7203 DESCRIPTION = "The optical test source LED temperature." END_OBJECT = COLUMN OBJECT = COLUMN NAME = HUNDRED_MHZ_OSCILLATOR_TEMP DATA_TYPE = MSB_INTEGER START_BYTE = 523 BYTES = 2 UNIT = 'DEGREES CELSIUS * 100' MINIMUM = 0 MAXIMUM = 7203 DESCRIPTION = "The 100 MHz Oscillator temperature." END_OBJECT = COLUMN OBJECT = COLUMN NAME = START_DETECTOR_TEMPERATURE DATA_TYPE = MSB_INTEGER START_BYTE = 525 BYTES = 2 UNIT = 'DEGREES CELSIUS * 100' MINIMUM = 0 MAXIMUM = 7203 DESCRIPTION = "The start detector temperature." END_OBJECT = COLUMN OBJECT = COLUMN NAME = OUTSIDE_DETECTOR_HOUSING_TEMP DATA_TYPE = MSB_INTEGER START_BYTE = 527 BYTES = 2 UNIT = 'DEGREES CELSIUS * 100' MINIMUM = 0 MAXIMUM = 7203 DESCRIPTION = "The outside detector housing temperature." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LASR_RADIATR_OPP_OPT_PORT_TEMP DATA_TYPE = MSB_INTEGER START_BYTE = 529 BYTES = 2 UNIT = 'DEGREES CELSIUS * 100' MINIMUM = 0 MAXIMUM = 7203 DESCRIPTION = "The LASER radiator opposite output port
temperature." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LSER_RADIATOR_OUTPUT_PORT_TEMP DATA_TYPE = MSB_INTEGER START_BYTE = 531 BYTES = 2 UNIT = 'DEGREES CELSIUS * 100' MINIMUM = 0 MAXIMUM = 7203 DESCRIPTION = "The LASER radiator output port temperature." END_OBJECT = COLUMN OBJECT = COLUMN NAME = INTERFACE_PLATE_HOT_FOOT_TEMP DATA_TYPE = MSB_INTEGER START_BYTE = 533 BYTES = 2 UNIT = 'DEGREES CELSIUS * 100' MINIMUM = 0 MAXIMUM = 7203 DESCRIPTION = "The interface plate temperature." END_OBJECT = COLUMN OBJECT = COLUMN NAME = HONEYCOMB_PANEL_TEMPERATURE DATA_TYPE = MSB_INTEGER START_BYTE = 535 BYTES = 2 UNIT = 'DEGREES CELSIUS * 100' MINIMUM = 0 MAXIMUM = 7203 DESCRIPTION = "The honeycomb panel temperature." END_OBJECT = COLUMN
OBJECT = COLUMN NAME = ELECTRONICS_BOX_TOP_SC_THRMSTR DATA_TYPE = MSB_INTEGER START_BYTE = 509 BYTES = 2 UNIT = 'DEGREES CELSIUS * 100' MINIMUM = 0 MAXIMUM = 7203 DESCRIPTION = "The electronics box top near spacecraft thermistor
temperature." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LASER_CASE_HOT_FOOT_TEMP DATA_TYPE = MSB_INTEGER START_BYTE = 511 BYTES = 2 UNIT = 'DEGREES CELSIUS * 100' MINIMUM = 0 MAXIMUM = 7203 DESCRIPTION = "The LASER case near 'hot foot' temperature." END_OBJECT = COLUMN OBJECT = COLUMN NAME = PLUS_28_VOLT_VOLTAGE_MONITOR DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 513 BYTES = 2 UNIT = 'MILLIVOLTS' MINIMUM = 0 MAXIMUM = 63531 DESCRIPTION = "The 28-volt monitor reading." END_OBJECT = COLUMN OBJECT = COLUMN NAME = REFERENCE_VOLTAGE_MONITOR DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 515 BYTES = 2 UNIT = 'MILLIVOLTS' MINIMUM = 0 MAXIMUM = 5000 DESCRIPTION = "The reference voltage monitor reading." END_OBJECT = COLUMN OBJECT = COLUMN NAME = PLUS_12_VOLT_VOLTAGE_MONITOR DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 517 BYTES = 2 UNIT = 'MILLIVOLTS' MINIMUM = 0 MAXIMUM = 27346 DESCRIPTION = "The 12-volt voltage monitor reading." END_OBJECT = COLUMN OBJECT = COLUMN NAME = PLUS_24_VOLT_VOLTAGE_MONITOR DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 519 BYTES = 2 UNIT = 'MILLIVOLTS' MINIMUM = 0 MAXIMUM = 65535 DESCRIPTION = "The 24-volt voltage monitor reading." END_OBJECT = COLUMN OBJECT = COLUMN NAME = PLUS_5_VOLT_VOLTAGE_MONITOR DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 521 BYTES = 2 UNIT = 'MILLIVOLTS' MINIMUM = 0 MAXIMUM = 11320 DESCRIPTION = "The 5-volt voltage monitor reading." END_OBJECT = COLUMN OBJECT = COLUMN NAME = MINUS_12_VOLT_VOLTAGE_MONITOR DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 523 BYTES = 2 UNIT = 'MILLIVOLTS' MINIMUM = 0 MAXIMUM = 27149 DESCRIPTION = "The negative-12-volt voltage monitor
reading." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LASER_THERMAL_CURRENT_MONITOR DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 525 BYTES = 2 UNIT = 'MILLIAMPS * 10' MINIMUM = 0 MAXIMUM = 8462 DESCRIPTION = "The LASER/thermal current monitor reading." END_OBJECT = COLUMN OBJECT = COLUMN NAME = MINUS_5_VOLT_VOLTAGE_MONITOR DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 527 BYTES = 2 UNIT = 'MILLIVOLTS' MINIMUM = 0 MAXIMUM = 11330 DESCRIPTION = "The negative-5-volt voltage monitor reading." END_OBJECT = COLUMN OBJECT = COLUMN NAME = POWER_SUPPLY_CURRENT_MONITOR DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 529 BYTES = 2 UNIT = 'MILLIAMPS * 10' MINIMUM = 0 MAXIMUM = 8263 DESCRIPTION = "The power supply current monitor reading." END_OBJECT = COLUMN OBJECT = COLUMN NAME = HIGH_VOLTAGE_MONITOR DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 531 BYTES = 2 UNIT = 'DECIVOLTS' MINIMUM = 0 MAXIMUM = 12349 DESCRIPTION = "The high voltage monitor reading." END_OBJECT = COLUMN OBJECT = COLUMN NAME = MINUS_12_VOLT_CURRENT_MONITOR DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 533 BYTES = 2 UNIT = 'MILLIAMPS * 100' MINIMUM = 0 MAXIMUM = 24424 DESCRIPTION = "The negative-12-volt current monitor
reading." END_OBJECT = COLUMN OBJECT = COLUMN NAME = PLUS_12_VOLT_CURRENT_MONITOR DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 535 BYTES = 2 UNIT = 'MILLIAMPS * 100' MINIMUM = 0 MAXIMUM = 24395 DESCRIPTION = "The 12-volt current monitor reading." END_OBJECT = COLUMN
OBJECT = COLUMN NAME = MINUS_5_VOLT_CURRENT_MONITOR DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 509 BYTES = 2 UNIT = 'MILLIAMPS * 100' MINIMUM = 0 MAXIMUM = 25199 DESCRIPTION = "The negative-5-volt current monitor reading." END_OBJECT = COLUMN OBJECT = COLUMN NAME = PLUS_5_VOLT_CURRENT_MONITOR DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 511 BYTES = 2 UNIT = 'MILLIAMPS * 10' MINIMUM = 0 MAXIMUM = 13537 DESCRIPTION = "The 5-volt current monitor reading." END_OBJECT = COLUMN OBJECT = COLUMN NAME = CURRENT_STATUS_REGISTER_VALUE DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 513 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Value read from STATUS register at end of packet
collection cycle. Read STATUS register and store lower 8 bits.
MSnibble = SEU counter value." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SOFTWARE_VERSION_NUMBER DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 514 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "The software version number in the telemetry
packet in 4.4 bit format." END_OBJECT = COLUMN OBJECT = COLUMN NAME = FLAG_WORD DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 515 BYTES = 2 MINIMUM = 0 MAXIMUM = 65535 DESCRIPTION = "RAM block test flag word. Memory test results. Bit
representation of the results of the RAM write/read/ verify block
test performed after a CPU reset (HOT or COLD start). MSB (#15)
represents the memory block from 7800h to 7FFFh; LSB (#0) from 0000h
to 7FFh. 1 = error detected, 0 = block O.K." END_OBJECT = COLUMN OBJECT = COLUMN NAME = STATUS_FLAGS DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 517 BYTES = 4 ITEMS = 2 ITEM_BYTES = 2 MINIMUM = 0 MAXIMUM = 65535 DESCRIPTION = "Values of SFLAG1 and SFLAG2 stored at packet
completion. Each flag represents four 4 bit words. B[0] = byte 0;
B[1] = byte 1; B[2] = byte 2; B[3] = byte 3. The meanings of the
individual bit settings is in Appendix A of the MOLA Flight Software
Users' Guide." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SOFTWARE_VALIDITY_CHECKSUM DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 521 BYTES = 2 MINIMUM = 0 MAXIMUM = 65535 DESCRIPTION = "Checksum (end-around-carry, word adds) calculated
using start address and length from Parameter Table. One word
calculated using (CHKLEN/2)# of word end-around-carry additions start
at word # (CHKSTART/2). Note: CHKLEN and CHKSTART exist in the
parameter table and are BYTE length and BYTE address or offset. B[0]
is MSByte and B[1] is LSByte of software validity checksum." END_OBJECT = COLUMN OBJECT = COLUMN NAME = RECEIVED_COMMAND_COUNT DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 523 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Number of commands received in the DMA buffer,
i.e., number separated by CMD_START bits set, never cleared, init =
0. Number of CMD_START bits set in the commands received buffer. Only
look at the number of commands received during that RTI interval.
Count performed during RTI 4ms 'quiet time'. Counter starts at 0 from
a HOT/COLD start, counts up and rolls over from 0FFh to 00h." END_OBJECT = COLUMN OBJECT = COLUMN NAME = COMMAND_ERROR_COUNT DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 524 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Number of invalid MOLA specific commands received,
never cleared, init = 0. Command errors counter works the same way as
Received command count (see above), except, this counts the # of
command errors, defined as wrong instrument id, wrong command type
bit, parity error in 1st word of multi-word command, incorrect opcode
word (NOT 0x2120) in multi-word command, or unknown single-word
command." END_OBJECT = COLUMN OBJECT = COLUMN NAME = TRANSMITTER_THRESHOLD_SETTING DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 525 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "Value of XMITDA from Parameter table, stored at
packet completion. LSB is equivalent to 1 mv. This byte reports the
value of XMITDA from PARAM_TABLE. It is stored in the packet at the
end of the packet collection cycle." END_OBJECT = COLUMN OBJECT = COLUMN NAME = RANGE_TRACKING_STATUS DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 526 BYTES = 1 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "MSB = OTS_FIRE value, bits 7654321, 1 = TRACKING,
0 = ACQ. MSB (#7) is the LSB of OST_FIRE from PARAM_TABLE, stored at
the end of the packet collection cycle. It is the value used to
determine the firing status of the Optical Test Shot for the first
shot of the packet cycle. Bits 6-0 represent frames 7-1 tracking
status. 0 means that the software was in acquisition mode for that
frame, while 1 represents tracking mode." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SPARE DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 527 BYTES = 2 DESCRIPTION = "Two unused bytes." END_OBJECT = COLUMN OBJECT = COLUMN NAME = RANGE_GATE_TRACKER_ARRAY DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 529 BYTES = 8 ITEMS = 4 ITEM_BYTES = 2 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "The range gate tracker array information is
actually 48 bytes of data. These 8 bytes represent the first 8 in the
array. Subsequent bytes appear in Frame 4 and 5 engineering data.
73.728 km, 48 HISTOGRAM bins starting at HSTART. 48 sequential bins
of the ranging histogram, stored after the sixth shot is collected,
but before the ranging algorithm is executed on that frame's data.
HSTART, from PARAM_TABLE, with the LSB cleared is the number of the
first bin stored. Bins are represented as bytes, but they are stored
as words. Therefore, the bytes are swapped. HSTART correction: HSTART
= HSTART + 0xFFFE. The following denotes the range of each bin for
each data byte (B[x]). C = 1.536km. B[ 0] : (HSTART + 1) * C; B[ 1] : (HSTART + 0) * C; B[ 2] : (HSTART + 3) * C; B[ 3] : (HSTART + 2) * C; B[ 4] : (HSTART + 5) * C; B[ 5] : (HSTART + 4) * C; B[ 6] : (HSTART + 7) * C; B[ 7] : (HSTART + 6) * C; B[ 8] : (HSTART + 9) * C; B[ 9] : (HSTART + 8) * C; B[10] : (HSTART + 11) * C; B[11] : (HSTART + 10) * C; B[12] : (HSTART + 13) * C; B[13] : (HSTART + 12) * C; B[14] : (HSTART + 15) * C; B[15] : (HSTART + 14) * C; B[16] : (HSTART + 17) * C; B[17] : (HSTART + 16) * C; B[18] : (HSTART + 19) * C; B[19] : (HSTART + 18) * C; B[20] : (HSTART + 21) * C; B[21] : (HSTART + 20) * C; B[22] : (HSTART + 23) * C; B[23] : (HSTART + 22) * C; B[24] : (HSTART + 25) * C; B[25] : (HSTART + 24) * C; B[26] : (HSTART + 27) * C; B[27] : (HSTART + 26) * C; B[28] : (HSTART + 29) * C; B[29] : (HSTART + 28) * C; B[30] : (HSTART + 31) * C; B[31] : (HSTART + 30) * C; B[32] : (HSTART + 33) * C; B[33] : (HSTART + 32) * C; B[34] : (HSTART + 35) * C; B[35] : (HSTART + 34) * C; B[36] : (HSTART + 37) * C; B[37] : (HSTART + 36) * C; B[38] : (HSTART + 39) * C; B[39] : (HSTART + 38) * C; B[40] : (HSTART + 41) * C; B[41] : (HSTART + 40) * C; B[42] : (HSTART + 43) * C; B[43] : (HSTART + 42) * C; B[44] : (HSTART + 45) * C; B[45] : (HSTART + 44) * C; B[46] : (HSTART + 47) * C; B[47] : (HSTART + 46) * C" END_OBJECT = COLUMN
OBJECT = COLUMN NAME = RANGE_GATE_TRACKER_ARRAY DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 509 BYTES = 28 ITEMS = 14 ITEM_BYTES = 2 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "The range gate tracker array information is
actually 48 bytes of data. These 28 bytes represent bytes 9 - 36
(counting from 1) in the array. Previous and subsequent bytes appear
in Frame 3 and 5 engineering data, respectively. 73.728 km, 48
HISTOGRAM bins starting at HSTART. 48 sequential bins of the ranging
histogram, stored after the sixth shot is collected, but before the
ranging algorithm is executed on that frame's data. HSTART, from
PARAM_TABLE, with the LSB cleared is the number of the first bin
stored. Bins are represented as bytes, but they are stored as words.
Therefore, the bytes are swapped. HSTART correction: HSTART = HSTART
+ 0xFFFE. The following denotes the range of each bin for each data
byte (B[x]). C = 1.536km. B[ 0] : (HSTART + 1) * C; B[ 1] : (HSTART + 0) * C; B[ 2] : (HSTART + 3) * C; B[ 3] : (HSTART + 2) * C; B[ 4] : (HSTART + 5) * C; B[ 5] : (HSTART + 4) * C; B[ 6] : (HSTART + 7) * C; B[ 7] : (HSTART + 6) * C; B[ 8] : (HSTART + 9) * C; B[ 9] : (HSTART + 8) * C; B[10] : (HSTART + 11) * C; B[11] : (HSTART + 10) * C; B[12] : (HSTART + 13) * C; B[13] : (HSTART + 12) * C; B[14] : (HSTART + 15) * C; B[15] : (HSTART + 14) * C; B[16] : (HSTART + 17) * C; B[17] : (HSTART + 16) * C; B[18] : (HSTART + 19) * C; B[19] : (HSTART + 18) * C; B[20] : (HSTART + 21) * C; B[21] : (HSTART + 20) * C; B[22] : (HSTART + 23) * C; B[23] : (HSTART + 22) * C; B[24] : (HSTART + 25) * C; B[25] : (HSTART + 24) * C; B[26] : (HSTART + 27) * C; B[27] : (HSTART + 26) * C; B[28] : (HSTART + 29) * C; B[29] : (HSTART + 28) * C; B[30] : (HSTART + 31) * C; B[31] : (HSTART + 30) * C; B[32] : (HSTART + 33) * C; B[33] : (HSTART + 32) * C; B[34] : (HSTART + 35) * C; B[35] : (HSTART + 34) * C; B[36] : (HSTART + 37) * C; B[37] : (HSTART + 36) * C; B[38] : (HSTART + 39) * C; B[39] : (HSTART + 38) * C; B[40] : (HSTART + 41) * C; B[41] : (HSTART + 40) * C; B[42] : (HSTART + 43) * C; B[43] : (HSTART + 42) * C; B[44] : (HSTART + 45) * C; B[45] : (HSTART + 44) * C; B[46] : (HSTART + 47) * C; B[47] : (HSTART + 46) * C" END_OBJECT = COLUMN
OBJECT = COLUMN NAME = RANGE_GATE_TRACKER_ARRAY DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 509 BYTES = 12 ITEMS = 6 ITEM_BYTES = 2 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "The range gate tracker array information is
actually 48 bytes of data. These 28 bytes represent bytes 37-48
(counting from 1) in the array. Previous bytes appear in Frame 3 and
4 engineering data. 73.728 km, 48 HISTOGRAM bins starting at HSTART.
48 sequential bins of the ranging histogram, stored after the sixth
shot is collected, but before the ranging algorithm is executed on
that frame's data. HSTART, from PARAM_TABLE, with the LSB cleared is
the number of the first bin stored. Bins are represented as bytes,
but they are stored as words. Therefore, the bytes are swapped.
HSTART correction: HSTART =HSTART + 0xFFFE. The following denotes the
range of each bin for each data byte (B[x]). C = 1.536km. B[ 0] : (HSTART + 1) * C; B[ 1] : (HSTART + 0) * C; B[ 2] : (HSTART + 3) * C; B[ 3] : (HSTART + 2) * C; B[ 4] : (HSTART + 5) * C; B[ 5] : (HSTART + 4) * C; B[ 6] : (HSTART + 7) * C; B[ 7] : (HSTART + 6) * C; B[ 8] : (HSTART + 9) * C; B[ 9] : (HSTART + 8) * C; B[10] : (HSTART + 11) * C; B[11] : (HSTART + 10) * C; B[12] : (HSTART + 13) * C; B[13] : (HSTART + 12) * C; B[14] : (HSTART + 15) * C; B[15] : (HSTART + 14) * C; B[16] : (HSTART + 17) * C; B[17] : (HSTART + 16) * C; B[18] : (HSTART + 19) * C; B[19] : (HSTART + 18) * C; B[20] : (HSTART + 21) * C; B[21] : (HSTART + 20) * C; B[22] : (HSTART + 23) * C; B[23] : (HSTART + 22) * C; B[24] : (HSTART + 25) * C; B[25] : (HSTART + 24) * C; B[26] : (HSTART + 27) * C; B[27] : (HSTART + 26) * C; B[28] : (HSTART + 29) * C; B[29] : (HSTART + 28) * C; B[30] : (HSTART + 31) * C; B[31] : (HSTART + 30) * C; B[32] : (HSTART + 33) * C; B[33] : (HSTART + 32) * C; B[34] : (HSTART + 35) * C; B[35] : (HSTART + 34) * C; B[36] : (HSTART + 37) * C; B[37] : (HSTART + 36) * C; B[38] : (HSTART + 39) * C; B[39] : (HSTART + 38) * C; B[40] : (HSTART + 41) * C; B[41] : (HSTART + 40) * C; B[42] : (HSTART + 43) * C; B[43] : (HSTART + 42) * C; B[44] : (HSTART + 45) * C; B[45] : (HSTART + 44) * C; B[46] : (HSTART + 47) * C; B[47] : (HSTART + 46) * C" END_OBJECT = COLUMN OBJECT = COLUMN NAME = HSTART_VALUE_HISTOGRAM_DUMP DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 521 BYTES = 4 MINIMUM = 0 MAXIMUM = 100663296 UNIT = CENTIMETERS DESCRIPTION = "Value of HSTART from Parameter table, stored at
packet completion. Stored at the end of the packet collection cycle.
HSTART is used to store the Histogram dump bins on the previous frame
(2 seconds earlier)." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SPARE DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 525 BYTES = 4 ITEMS = 2 ITEM_BYTES = 2 DESCRIPTION = "Four unused bytes." END_OBJECT = COLUMN OBJECT = COLUMN NAME = VALID_COMMANDS_RECEIVED_COUNT DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 529 BYTES = 2 MINIMUM = 0 MAXIMUM = 65535 DESCRIPTION = "Number of Time broadcast and Parameter update and
channel on/off commands executed, never cleared, init. = 0. This is a
16 bit counter that starts at 0 after a CPU reset and rolls over from
0FFFFh to 0. Valid MOLA specific commands are defined as Channel
ON/OFF commands and Parameter Update command All other MOLA specific
commands are either flagged as errors or cause a mode change or CPU
reset. B[0] = MSByte and B[1] = LSByte of valid command counter" END_OBJECT = COLUMN OBJECT = COLUMN NAME = MEMORY_DUMP_SEGMENT DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 531 BYTES = 6 ITEMS = 3 ITEM_BYTES = 2 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "The memory dump segment is 16 bytes in length.
This portion represents the first 6 bytes. The next 10 bytes are
located in the Frame 6 engineering data. 16 bytes read from memory
space starting at ((SEQUENCE & 0x3FFh)*16), dumps 0 - 3FFFh then
starts again at 0. Using the lower 11 bits of the SEQUENCE count,
stored in this packet, multiplied by 16 as the starting byte address,
8 words are read from RAM and stored in the packet. The following
denotes the memory address at each data byte (B[x]). C =((SEQUENCE
& 0x3FFF) *16). B[ 0] : C+ 1; B[ 1] : C+ 0; B[ 2] : C+ 3; B[ 3] : C+ 2; B[ 4] : C+ 5; B[ 5] : C+ 4; B[ 6] : C+ 7; B[ 7] : C+ 6; B[ 8] : C+ 9; B[ 9] : C+ 8; B[10] : C+ 11; B[11] : C+ 10; B[12] : C+ 13; B[13] : C+ 12; B[14] : C+ 15; B[15] : C+ 14" END_OBJECT = COLUMN
OBJECT = COLUMN NAME = MEMORY_DUMP_SEGMENT DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 509 BYTES = 10 ITEMS = 5 ITEM_BYTES = 2 MINIMUM = 0 MAXIMUM = 255 DESCRIPTION = "The memory dump segment is 16 bytes in length.
This portion represents the last 10 bytes. The previous 6 bytes are
located in the Frame 5 engineering data. 16 bytes read from memory
space starting at ((SEQUENCE & 0x3FFh)*16), dumps 0 - 3FFFh then
starts again at 0. Using the lower 11 bits of the SEQUENCE count,
stored in this packet, multiplied by 16 as the starting byte address,
8 words are read from RAM and stored in the packet. The following
denotes the memory address at each data byte (B[x]). C =((SEQUENCE
& 0x3FFF) *16). B[ 0] : C+ 1; B[ 1] : C+ 0; B[ 2] : C+ 3; B[ 3] : C+ 2; B[ 4] : C+ 5; B[ 5] : C+ 4; B[ 6] : C+ 7; B[ 7] : C+ 6; B[ 8] : C+ 9; B[ 9] : C+ 8; B[10] : C+ 11; B[11] : C+ 10; B[12] : C+ 13; B[13] : C+ 12; B[14] : C+ 15; B[15] : C+ 14" END_OBJECT = COLUMN OBJECT = COLUMN NAME = COMMAND_ECHO DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 519 BYTES = 16 ITEMS = 8 ITEM_BYTES = 2 MINIMUM = 0 MAXIMUM = 65535 DESCRIPTION = "First 8 command words received during current
packet, only complete commands are stored, MOLA specific commands
only. The software attempts to echo all valid commands. If the
command will fit in the room remaining in the buffer, then it is
stored and that much room is removed from that which remains in the
echo buffer. If a command will not fit, then a buffer overflow is
flagged, but subsequent commands that will fit are still stored in
the buffer. The command echo buffer is filled with zeros at the start
of each packet." END_OBJECT = COLUMN OBJECT = COLUMN NAME = PACKET_VALIDITY_CHECKSUM DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 535 BYTES = 2 MINIMUM = 0 MAXIMUM = 65535 DESCRIPTION = "Simple 16 bit addition of entire packet contents
upon completion. This location is zeroed for addition. This word is
zeroed, then words 0-539 are added without carry to a variable that
is initially zero. The resulting lower 16 bits are stored in this
location. To verify, read, store, and clear this location. Then, word
add without carry these 540 words and compare the lower 16 bits with
the stored value." END_OBJECT = COLUMN
OBJECT = COLUMN NAME = OTS_RANGE DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 509 BYTES = 4 UNIT = 'CENTIMETERS' DESCRIPTION = "The range value of the Optical Test Shot in the
packet." END_OBJECT = COLUMN OBJECT = COLUMN NAME = FIRST_CH_RECEIVED_ENERGY DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 513 BYTES = 4 UNIT = 'ATTOJOULES' DESCRIPTION = "The first channel received energy for the Optical
Test Shot." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SPARE DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 517 BYTES = 4 DESCRIPTION = "Unused spare." END_OBJECT = COLUMN OBJECT = COLUMN NAME = OTS_TRANSMIT_POWER DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 521 BYTES = 4 UNIT = 'NANOJOULES' DESCRIPTION = "The Optical Test Shot transmit power." END_OBJECT = COLUMN OBJECT = COLUMN NAME = OTS_PULSE_WIDTH DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 525 BYTES = 1 DESCRIPTION = "The Optical Test Shot pulse width setting." END_OBJECT = COLUMN OBJECT = COLUMN NAME = OTS_PULSE_AMPLITUDE DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 526 BYTES = 1 DESCRIPTION = "The Optical Test Shot pulse amplitude
setting." END_OBJECT = COLUMN OBJECT = COLUMN NAME = OTS_QUAL_FLAG DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 527 BYTES = 1 DESCRIPTION = "The Optical Test Shot quality flag." END_OBJECT = COLUMN OBJECT = COLUMN NAME = PACKET_TYPE DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 528 BYTES = 1 DESCRIPTION = "Packet type identifier byte. Distinguishes Science
Mode packets from Maintenance Mode packets. Science Mode is 0
Maintenance Mode = [1 = Status packet, 2 = memory dump]. Values 3 -
255 are reserved for future modes. Modes 0, 1, 2 are hard coded in
the flight software. The packet type value should be patched when a
code patch occurs that affects that mode's packet content." END_OBJECT = COLUMN OBJECT = COLUMN NAME = AREOCENTRIC_LONGITUDE_OF_SUN DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 529 BYTES = 2 UNIT = 'DEGREES * 100' MINIMUM = 0 MAXIMUM = 36000 DESCRIPTION = "The angle between the Mars-Sun line and the line
of the equinoxes. Mars seasonal variable." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SPARE DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 531 BYTES = 6 ITEMS = 6 ITEM_BYTES = 1 DESCRIPTION = "Unused spares." END_OBJECT = COLUMN
OBJECT = COLUMN NAME = ORBIT_QUALITY_FLAG_1 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 537 BYTES = 2 DESCRIPTION = "Flag indicating origin of orbit. A 0 indicates
that JPL is the producer; a 1 or higher indicates that the MOLA
Science Investigation Team is the producer, using the geopotential
model GMM-1 or higher." END_OBJECT = COLUMN OBJECT = COLUMN NAME = ORBIT_QUALITY_FLAG_2 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 539 BYTES = 2 DESCRIPTION = "Precision orbit quality flag; TBD." END_OBJECT = COLUMN OBJECT = COLUMN NAME = ORBIT_QUALITY_FLAG_3 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 541 BYTES = 2 DESCRIPTION = "Precision orbit quality flag; TBD." END_OBJECT = COLUMN OBJECT = COLUMN NAME = PHASE_ANGLE DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 543 BYTES = 2 UNIT = 'RADIANS * (10**4)' DESCRIPTION = "The angle between the vectors from Mars to Mars
Global Surveyor and from Mars to the Sun at the frame mid-point
location." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SOLAR_INCIDENCE_ANGLE DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 545 BYTES = 2 UNIT = 'RADIANS * (10**4)' DESCRIPTION = "The angle between the Mars surface normal vector
and the Sun vector at the frame mid-point location." END_OBJECT = COLUMN OBJECT = COLUMN NAME = EMISSION_ANGLE DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 547 BYTES = 2 UNIT = 'RADIANS * (10**4)' DESCRIPTION = "The angle between the Mars surface normal vector
and the Mars Global Surveyor vector at the frame mid-point
location." END_OBJECT = COLUMN OBJECT = COLUMN NAME = ATMOS_OPACITY DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 549 BYTES = 4 DESCRIPTION = "The Mars atmospheric opacity Tau; may be retrieved
from TES data. Nominally 0.5. Stored as a pure number * 10**6. To
calculate surface reflectivity, the reflectivity-transmission product
should be divided by exp(2*Tau)." END_OBJECT = COLUMN OBJECT = COLUMN NAME = DP_FRAME_TIME DATA_TYPE = IEEE_REAL START_BYTE = 553 BYTES = 8 UNIT = 'SECONDS' DESCRIPTION = "The IEEE standard 754-1985 double precision frame
mid-point time in elapsed time from J2000, in seconds." END_OBJECT = COLUMN OBJECT = COLUMN NAME = RECV_PULSE_ENERGY_COUNTS DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 561 BYTES = 20 ITEMS = 20 ITEM_BYTES = 1 UNIT = 'COUNTS' DESCRIPTION = "The raw pulse energy reading for the trigger
channel; in the range 0-255. (An array of 20 values per frame.)" END_OBJECT = COLUMN OBJECT = COLUMN NAME = RECV_PULSE_WIDTH_COUNTS DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 581 BYTES = 20 ITEMS = 20 ITEM_BYTES = 1 UNIT = 'COUNTS' DESCRIPTION = "The raw pulse width reading for the trigger
channel; in the range 0-63. (An array of 20 values per frame.)" END_OBJECT = COLUMN OBJECT = COLUMN NAME = SC_BODY_FIXED_XYZ DATA_TYPE = MSB_INTEGER START_BYTE = 601 BYTES = 12 ITEMS = 3 ITEM_BYTES = 4 UNIT = 'CENTIMETERS' DESCRIPTION = "The Mars fixed X, Y, Z coordinates of the MGS
spacecraft; from Precision Orbit data." END_OBJECT = COLUMN OBJECT = COLUMN NAME = GEOID_RADIUS DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 613 BYTES = 4 UNIT = 'CENTIMETERS' DESCRIPTION = "The radius of the reference geoid at frame
midpoint, with a 3396 kilometer mean radius at the equator.
Initially, the Goddard Mars Model 1 (GMM1) of Smith et al., 1993,
with the coordinate system of IAU1991, is used." END_OBJECT = COLUMN OBJECT = COLUMN NAME = OFF_NADIR_ANGLE DATA_TYPE = MSB_INTEGER START_BYTE = 617 BYTES = 4 UNIT = 'DEGREES * (10**6)' DESCRIPTION = "Angle between the actual frame-midpoint shot
direction and areocentric direction." END_OBJECT = COLUMN OBJECT = COLUMN NAME = ENCODER_BITS DATA_TYPE = UNSIGNED_INTEGER START_BYTE = 621 BYTES = 20 ITEMS = 20 ITEM_BYTES = 1 DESCRIPTION = "The start encoder bits (0-3) plus 16*stop encoder
bits (0-3) for each MOLA shot. These bits interpolate the time of the
start and stop detectors, allowing the MOLA shot range to be more
precisely computed. The encoder bits are accounted for in the shot
range algorithm." END_OBJECT = COLUMN OBJECT = COLUMN NAME = DELTA_GEOID DATA_TYPE = MSB_INTEGER START_BYTE = 641 BYTES = 4 UNIT = 'CENTIMETERS' DESCRIPTION = "The average change in reference geoid associated
with each 20-shot MOLA frame." END_OBJECT = COLUMN OBJECT = COLUMN NAME = MOLA_CLOCK_RATE DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 645 BYTES = 4 UNIT = 'HERTZ' DESCRIPTION = "The MOLA clock rate estimated from the fine time
counter drift with respect to the spacecraft clock." END_OBJECT = COLUMN OBJECT = COLUMN NAME = MOLA_RANGE DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 649 BYTES = 80 ITEMS = 20 ITEM_BYTES = 4 UNIT = 'CENTIMETERS' DESCRIPTION = "MOLA range value per shot; this value is corrected
by the range_correction. Array of 20 four byte values." END_OBJECT = COLUMN OBJECT = COLUMN NAME = RANGE_CORRECTION DATA_TYPE = MSB_INTEGER START_BYTE = 729 BYTES = 40 ITEMS = 20 ITEM_BYTES = 2 UNIT = 'CENTIMETERS' DESCRIPTION = "Correction to the shot range values due to the
detector response and range walk. An array of 20 two-byte values (one
for each shot), in centimeters." END_OBJECT = COLUMN OBJECT = COLUMN NAME = DELTA_LATITUDE DATA_TYPE = MSB_INTEGER START_BYTE = 769 BYTES = 4 UNIT = 'DEGREES X 1000000' DESCRIPTION = "The average distance between each latitude
associated with each 20-shot MOLA frame." END_OBJECT = COLUMN OBJECT = COLUMN NAME = DELTA_LONGITUDE DATA_TYPE = MSB_INTEGER START_BYTE = 773 BYTES = 4 UNIT = 'DEGREES X 1000000' DESCRIPTION = "The average distance between each longitude
associated with each 20-shot MOLA frame." END_OBJECT = COLUMN
i
ii
iii
iv