MARS GLOBAL SURVEYOR

MOLA PRECISION EXPERIMENT DATA RECORD
SOFTWARE INTERFACE SPECIFICATION
(MOLA PEDR SIS)

MGS-M-MOLA-3-PEDR-L1B-V1.0

Version 2.4,
March 24, 1998

NASA
Goddard Space Flight Center
Greenbelt MD 20771

Submitted: ________________________________________________ __________
Gregory A. Neumann Date
MOLA Science Team

Concurred: ________________________________________________ __________
Maria Zuber Date
MOLA Deputy Principal Investigator

Approved: ________________________________________________ __________
David E. Smith Date
MOLA Principal Investigator

MARS ORBITER LASER ALTIMETER
PRECISION EXPERIMENT DATA RECORD
SOFTWARE INTERFACE SPECIFICATION
(MOLA PEDR SIS)
Document and Change Control Log
DateVersionSectionStatus
04/01/971.0allReleased for MGS
07/23/971.1Section 4.3.2
Table 1
Table 2
Appendix C
Updated for PEDR format changes
07/23/971.1Appendix CIncorrect start bytes and descriptions were corrected in the format files (unmarked)
01/30/982.0allrevised for contingency science
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

SectionTable of Contents
1.0 Introduction
1.1Purpose
1.2Scope
1.3Applicable Documents
1.4Functional Description
1.4.1Data Content Summary
1.4.2Source and Transfer Method
1.4.3Recipients and Utilization
1.4.4Pertinent Relationships with Other Interfaces
1.5Assumptions and Constraints
2.0Environment
2.1Hardware Characteristics and Limitations
2.2Interface Medium and Characteristics
2.3Failure Protection, Detection, and Recovery Features
2.3.1Backup Requirements
2.3.2Security / Integrity Measures
2.4End-Of-File (or Medium) Conventions
3.0Access
3.1Access Tools
3.2Input / Output Protocol
3.3Timing and Sequencing Characteristics
3.4PDB Information
4.0Detailed Interface Specifications
4.1Labeling and Identification
4.2Structure and Organization Overview
4.3Substructure Definition and Format
4.3.1Header / Trailer Description Details
4.3.2Data Description Details
4.4Volume, Size, and Frequency Estimates

List of Figures
1PEDR Data Product Structure and Organization

List of Tables
1PEDR Data Product Record Format
2PEDR Data Product Record Contents Description
3PEDR Data Product Subcommutated Data Format

List of Appendices
Appendix AAcronyms
Appendix BPrecision Experiment Data Record Catalog Files
Appendix CSFDU Labels and Format Files
Appendix C.1SFDU Labels and Catalog Header
Appendix C.2Contents of the PEDRSEC1.FMT Format File
Appendix C.3Contents of the PEDRENG1.FMT Format File
Appendix C.4Contents of the PEDRENG2.FMT Format File
Appendix C.5Contents of the PEDRENG3.FMT Format File
Appendix C.6Contents of the PEDRENG4.FMT Format File
Appendix C.7Contents of the PEDRENG5.FMT Format File
Appendix C.8Contents of the PEDRENG6.FMT Format File
Appendix C.9Contents of the PEDRENG7.FMT Format File
Appendix C.10Contents of the PEDRSEC3.FMT Format File

1.0 Introduction

The MOLA Science Team is required to create validate, and archive the MOLA standard data products. To define each standard data product, the MOLA Science Team is required to provide a Software Interface Specification (SIS). The SIS shall describe the data product contents and define the record and data format. The Planetary Data System's (PDS) Geosciences Node has agreed to archive the MOLA standard data products. The MOLA archive volume shall be described in a separate SIS. The MOLA standard science data products are the Aggregated Experiment Data Record--all MOLA raw data aggregated by orbit; Precision Experiment Data Record--MOLA science data processed into profiles with precision orbit locations added; Any Experiment Gridded Data Record--MOLA gridded data in 2 different densities. This SIS shall define the Precision Experiment Data Record (PEDR) Data Product.

1.1 Purpose

This document describes the format and contents of the PEDR Data Product. This includes a description of the required SFDU format and the record description and contents of the PEDR File.

1.2 Scope

This SIS defines the format of the SFDU labels and headers and the Precision Experiment Data Record down to the bit level. Also, the PEDR Data Product software, hardware, and human interfaces shall be mentioned in order to describe the interface; the actual software, hardware, or human node on the other side of the interface shall be described in detail in its own interface or other reference document.

1.3 Applicable Documents

1. 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

2. 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

3. 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

4. MO-642-3-PDB-UG-01 Mars Observer Project Database (MO PDB) User Overview, Strawman, Jet Propulsion Laboratory, February 7, 1990

5. MOSO0099-04-00 Planetary Science Data Dictionary Document, PDS Version 3.0, Jet Propulsion Laboratory, November 20,1992, JPL D-7116, Rev C

6. 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

7. 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

1.4 Functional Description

1.4.1 Data Content Summary

The PEDR data product contains the along-track, time series collection of the MOLA instrument's 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 orbit data is supplied by the MOLA Science Team.

Using the precision orbit data, the accuracy of the MOLA footprint is 30 meters radially; 30 meters along track; 30 meters across track.

1.4.2 Source and Transfer Method

The PEDR Data Product is created on the MOLA operations computer system. The PEDR Data Product is created by reading the Aggregated Experiment Data Record (AEDR) Data Product record by record, computing the applicable science parameters (as described in Section 4.0), appending the precision orbit data, and wrapping the whole file with SFDU headers and labels. This SIS will detail the format of the PEDR Data Product. The AEDR Data Product is described in Applicable Document #2. After creation and verification, the PEDR Data Product shall be transferred to the MOLA SOPC to await delivery to the Planetary Data System's (PDS) Geosciences Node where it will be archived to CD-ROM and made available to the science community. The PEDR Data Product shall remain available to the MOLA Science Team on the MOLA operations file system.

1.4.3 Recipients and Utilization

The PEDR data product shall be used to create the Experiment Gridded Data Record (EGDR) data products.

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.

1.4.4 Pertinent Relationships with Other Interfaces

The PEDR data product is created from the Aggregated Experiment Data Record (AEDR) data product. Any changes to the AEDR data product could affect the format or content of the PEDR data product. See Applicable Document #2 for a detailed description of the AEDR Data Product.

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.

1.5 Assumptions and Constraints

The PEDR data product contains only MOLA science mode data.

Each PEDR data product shall encompass one orbit of MOLA data.

2.0 Environment

2.1 Hardware Characteristics and Limitations

Not applicable.

2.2 Interface Medium and Characteristics

The PEDR data product shall be produced on computer(s) within the MOLA operations environment. The PEDR data product shall be transferred to the MOLA SOPC via FTP in preparation for distribution to the PDS Geosciences Node. The SOPC architecture is described in Applicable Document #1. The PEDR data product will be transferred to the PDS Geosciences Node via FTP from the SOPC. The PDS will write the data products to CD-ROMs for distribution to the science community.

2.3 Failure Protection, Detection, and Recovery Features

2.3.1 Backup Requirements

The PEDR data product will be retained on the MOLA operations file system for back up purposes and shall be archived on magnetic media. The PEDR data product is distributed to the PDS for archival. The MGS Project Database will be available as an additional backup location.

2.3.2 Security / Integrity Measures

Refer to Applicable Document #1 for a description of the MOLA operations system security and integrity plan.

2.4 End-Of-File (or Medium) Convention

The PEDR data product is a standard UNIX flat file in Standard Formatted Data Unit (SFDU) format. SFDU formatted objects have labels and headers describing the high level structure of the object and the content of the object. The end of the PEDR data product will be detected by the end-of-file marker.

3.0 Access

3.1 Access Tools

The MOLA Science Team shall have the capability to access the PEDR data product on the MOLA operations file system via FTP. The science community will have access to the PEDR Data Product through the Archive Volume produced by the PDS Geosciences Node and should obtain the MOLA CD-ROM Archive Volume SIS, Applicable Document #7 for information on data access. The MOLA Science Team will not provide the PDS any special tools to access the PEDR Data Product.

3.2 Input / Output Protocol

N/A

3.3 Timing and Sequencing Characteristics

A PEDR data product will be created for each orbit containing MOLA science data. Data products will be created as precision orbit data becomes available. The PEDR data product may be re-processed up to three times depending on new releases of precision orbit data. PEDR data products will be created for all the MOLA science data collected during the MGS mapping mission.

3.4 PDB Information

The PEDR Data Product will be stored in the Science category as a science data product in the PDB. See Applicable Document #4 for an end user overview of the PDB.

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
RECORD_TYPE
FILE_RECORDS< BR>RECORD_BYTES
LABEL_RECORDS
FILE_NAME
DATA_SET_ID
PRODUCT_ID
SPACECRAFT_NAME
INSTRUMENT_ID
INSTRUMENT_NAME
TARGET_NAME
SOFTWARE_NAME
UPLOAD_ID
SOURCE_PRODUCT_ID
PRODUCT_RELEASE_DATE
PRODUCT_VERSION_TYPE
START_TIME
STOP_TIME
NATIVE_START_TIME
NATIVE_STOP_TIME
SPACECRAFT_CLOCK_START_COUNT
SPACECRAFT_CLOCK_STOP_COUNT
PRODUCT_CREATION_TIME
MISSION_PHASE_NAME
ORBIT_NUMBER
PRODUCER_ID
PRODUCER_FULL_NAME
PRODUCER_INSTITUTION_NAME
DESCRIPTION

4.0 Detailed Interface Specifications

4.1 Labeling and Identification

The PEDR Data Product shall be labeled to form an SFDU as described in Section 4.3. The data set id for the PEDR Data Product and required catalog keywords are listed in Section 3.4.

The file naming convention for each PEDR data product produced is AP#####a.b, where:

Arepresents the MOLA instrument, an altimeter
Pis the data product, PEDR, identifier
#####is the orbit number with leading zeros
ais the product edition number
bindicates the file is fixed point, binary.

4.2 Structure and Organization Overview

The PEDR Data Product shall be written as a standard UNIX flat, sequential file with the MOLA data in spacecraft event time-ordered sequence. Each 776-BYTE record contains two seconds of data (a frame) extracted from the science mode telemetry packet. The data records are wrapped with the appropriate SFDU labels and headers, comprising a total of 10 776-byte records. There shall be a primary label, a catalog label and header, and a data label. The catalog label shall have a corresponding end label to delimit the catalog information from the data. See Figure 1 for a representation of the PEDR data product.

4.3 Substructure Definition and Format

The following sections define in detail the label, header, and data formats and content.

4.3.1 Header / Trailer Description Details

An example of the labels and K-header is in Appendix C.

4.3.1.1 Primary SFDU Label
The Primary SFDU Label, also known as the aggregation label or Z-label delimits the entire product. The Primary Label is 20 bytes long and shall have the following format for the PEDR data product.

CCSD3ZF0000100000001

where:

CCSDis the Control Authority ID
3is the SFDU version ID
Zis the class ID for primary labels
Fis the SFDU delimiter type, total EOFs.
0is a spare octet
0001is the Data Descriptive Package ID (DDPID)
00000001is the delimiter value for this label; indicates the number of EOFs delimiting the product.

4.3.1.2 Catalog Label and Header
The catalog labels and header, also known as the K-header, are made up of the start and end labels and the catalog data objects that are to be stored in the Mars Global Surveyor PDB and the Planetary Data System's data base. The start label has the following form:

NJPL3KS0PDSX$$INFO$$

where:

NJPLis the Control Authority ID
3is the SFDU version ID
Kis the class ID for catalog data object labels
Sis the SFDU delimiter type, start marker.
0is a spare octet
PDSXis 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$$

4.3.1.3 Data Label
The data or I-class Label precedes the actual data in the SFDU. This label is also known as the data object label or the tertiary header. The I-class label is registered individually with the JPL Control Authority and bears a unique DDPID. The start label has the following format

NJPL3IF0004100000001

where:

NJPLis the Control Authority ID
3is the SFDU version ID
Iis the class ID for data labels
Fis the SFDU delimiter type, Total EOFs
0is a spare octet
0041is the Data Descriptive Package ID
00000001is the delimiter value for this label; indicates the number of EOFs delimiting the product.

4.3.2 Data Description Details

A Precision Experiment Data Record contains MOLA science mode telemetry data that has been converted to engineering and physical units. Each PEDR contains a 2 second span of data, called a frame, that is retrieved from the 14 second MOLA science mode telemetry packet. Therefore, seven PEDRs are generated from each MOLA science mode telemetry packet. In addition to the frame data, the packet's engineering and housekeeping data are retained and subcommutated among the seven PEDRs that comprise a packet. Additional packet information, e.g., packet header, are stored in the PEDR as well as data correction values which were used to process the telemetry data into the PEDR data. Storing the data correction values ensures that the telemetry data can be re-created from the PEDR data.

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.

4.4 Volume, Size, and Frequency Estimates

The size of each PEDR data product shall vary depending in the number of science mode packets produced during an orbit. The maximum number of science mode packets that could be produced during an orbit is approximately 486, therefore the maximum number of PEDRs in a PEDR Data Product would be approximately 3402. Each PEDR shall contain 776 bytes.

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.

FIGURES

Figure 1. PEDR Data Product Structure and Organization
PRIMARY SFDU START LABEL
CATALOG START LABEL
CATALOG HEADER
CATALOG END LABEL
DATA START LABEL
DATA RECORD 1
DATA RECORD 2
DATA RECORD 3
.
.
.
DATA RECORD N

TABLES

Table 1. PEDR Data Product Record Format
Start
Byte
ParameterBytesUnitsEnd
Byte
1frame mid-point time whole seconds (Elapsed Time from J2000)4seconds4
5frame mid-point time fractional seconds (Elapsed Time from J2000)4microseconds 8
9orbit reference number4counts12
13frame mid-point areocentric latitude of spacecraft4degrees * 10616
17frame mid-point areocentric longitude4degrees * 10620
21frame mid-point radial distance of spacecraft4centimeters24
25frame mid-point range4centimeters28
29shot quality flag4 32
33shot quality descriptor flag16 48
49shot planetary radius (20 * 4)80centimeters128
129frame mid-point planetary radius4centimeters132
133instrument attitude right ascension4milliradians136
137instrument attitude declination4milliradians140
141instrument attitude twist4milliradians144
145corrected received pulse energy (20 * 2)40attojoules184
185surface reflectivity * atmospheric transmittance40parts in 105224
225trigger channel number (20 * 1)20 244
245returned pulse width at threshold40nanoseconds * 10284
285received optical pulse width (20 * 2)40nanoseconds * 10324
325frame mid-point coordinates (x,y,z)12centimeters336
337frame mid-point latitude and longitude8degrees * 106344
345laser transmit power (20 * 2)40mJ * 100384
385shot classification code40 424
425channel background noise counts (8 * 4) (per half-frame and channel)32counts456
457range delay4centimeters460
461range width4centimeters464
465receiver channel threshold settings (8 * 2) (per half-frame and channel)16millivolts480
481receiver channel mask2 482
483algorithm word (MIN_HITS)2 484
485algorithm word (HIT_COUNT)2counts486
487frame counter2 488
489trigger channel2 490
491within-packet frame index2(1-7)492
493packet source header8 500
501telemetry packet coarse time code - seconds (J2000 elapsed time)4seconds504
505telemetry packet coarse time code - milliseconds2ms506
507telemetry packet fine time code2counts508
509engineering / housekeeping data28 536
537Orbit quality flag 12 538
539Orbit quality flag 22 540
541Orbit quality flag 32 542
543Phase angle2radians * 104544
545Solar incidence angle2radians * 104546
547Emission angle2radians * 104548
549Atmospheric opacity (Tau)4pure number * 106552
553Double precision frame mid-point time in IEEE standard (Elapsed time from J2000)8seconds560
561trigger channel raw received pulse energy (20 * 1)20counts (0-255)580
581trigger channel raw received pulse width (20 * 1)20counts (0-63)600
601Spacecraft body fixed XYZ coordinates12centimeters612
613Geoid radius4centimeters616
617Off-nadir angle4degrees * 106620
621Encoder bits20counts640
641delta geoid4cm644
645MOLA clock rate4Hz648
649MOLA range value (20 * 4)80centimeters688
729range correction (20 * 2)40centimeters768
769delta latitude4degrees * 106772
773delta longitude4degrees * 106776
  776bytes total 

Table 2. MOLA Precision Experiment Data Record (PEDR) Contents
Rate: 1 every 2 seconds
ParameterBytesUnitsDescription
- frame mid-point time whole seconds 4SecondsThe 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 4MicrosecondsThe fractional portion of the Elapsed Time since J2000 at the frame mid-pointa in the MOLA data frame
- orbit reference number4CountsMapping mission orbit number determined by Mars Global Surveyor flight operations system at frame mid-point
- frame mid-point areocentric latitude of spacecraft4Degrees * 106MGS Spacecraft areocentric latitude associated with MOLA data frame mid-point; from Precision Orbit data
- frame mid-point areocentric longitude4Degrees * 106MGS Spacecraft east longitude value associated with MOLA data frame mid-point; from Precision Orbit data
- frame mid-point radial distance of spacecraft4CentimetersRadial 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 range4CentimetersMOLA 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 flag4 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 flag16 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
bit 1: computer software checksum test
bit 2: frame acquisition vs. tracking mode test
bit 3: first shot is an OTS shot test
bits 4-23: transmit power test
bits 24-43: non-zero 1st channel test
bits 44-63: return energy test
bits 64-83: range window test
bits 84-103: range comparison test
bits 104-127: unused

- 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 radius80CentimetersArray 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 radius4CentimetersPlanetary 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 ascension4MilliradiansMOLA right ascension at data frame mid-point
- instrument attitude declination4MilliradiansMOLA declination at data frame mid-point
- instrument attitude twist4MilliradiansMOLA twist at data frame mid-point
- corrected received pulse energy40AttojoulesCorrected surface-scattered return energy as measured by the pulse width and area counters, corrected for threshold setting, 20 2-byte values
- surface reflectivity * atmospheric transmittance40Pure fraction * 105Relative Martian surface reflectivity values, one per shot; 20 2-byte values
- trigger channel number20 Channel number of first MOLA filter channel to trigger, 20 1-byte values
- returned pulse width at threshold40Nanoseconds * 10Time 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 width40Nanoseconds * 10Received 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 coordinates12CentimetersX, 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, longitude8Degrees * 106The 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 power40mJ * 100MOLA laser transmitted pulse energy, corrected for detector and heat sink temperatures, 20 2-byte values
- shot classification code40 shot classification and weighting codes: a zero value denotes a noise return; 1 denotes a good return
- channel background noise counts32CountsFrame 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 delay4CentimetersFrame value of range gate delay (to beginning of range window)
- range width4CentimetersFrame value of range gate width
- receiver channel threshold settings16MillivoltsThreshold 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 mask2 MOLA channel mask setting for the frame; the mask indicates whether any of the 4 channels have been commanded off
- algorithm word MIN_HITS2 Frame value for the flight software word MIN_HITS
- algorithm word HIT_COUNT2CountsFrame value for the flight software word HIT_COUNT
- frame counter2 Software status value
- trigger channel2 Software status value
- within-packet frame index2CountFrame number (among seven frames in MOLA telemetry packet) generated in Ground Data System processing
- packet source header8 Information placed in MOLA telemetry packet by Payload Data System
- telemetry packet coarse time code seconds4ET (Elapsed Time) secondsThe whole portion of the Payload Data System generated time code in ET seconds referenced to J2000; a signed number.
- telemetry packet coarse time code milliseconds2ET millisecondsThe fractional portion of the Payload Data System generated time code in ET seconds referenced to J2000; a signed number.
- telemetry packet fine time code2countsMOLA generated fine time counter
- engineering/ housekeeping data28 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 12 Flag indicating origin of orbit. 0 indicates JPL was producer; 1 or higher indicates the MOLA Science Investigation Team.
- orbit quality flag 22 Precision orbit quality flag, TBD.
- orbit quality flag 32 Precision orbit quality flag, TBD.
- phase angle 2radians * 104The 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 2radians * 104Originally, 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 2radians * 104Originally, 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 opacity4Pure number * 106May be retrieved from TES data; nominally 0.5
- double precision frame mid-point time8secondsThe frame mid-point time represented in IEEE standard double precision; ET seconds (referenced to J2000)
- trigger channel raw received pulse energy20CountsThe received pulse energy counts; 255=>saturation; 20 1-byte values
- trigger channel raw received pulse width20CountsThe received pulse width counts; 63=>saturation; 20 1-byte values
spacecraft body-fixed XYZ coordinates12CentimetersThe Mars fixed X, Y, Z coordinates of the MGS spacecraft; from Precision Orbit data
- Geoid radius4CentimetersThe radius of the reference geoid with 3396 kilometer mean equatorial radius
- Off-nadir angle4Degrees * 106Angle between the actual frame-midpoint shot direction and areocentric direction
- Encoder bits20 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 geoid4centimetersThe average change in geoid associated with each 20-shot MOLA frame.
- MOLA clock rate4HertzThe MOLA clock frequency used to calculate laser pulse time-of-flight.
- MOLA range80centimetersThe MOLA range value per shot; these values have been corrected by the range correction below, 20 4-byte values
- range correction40centimetersCorrection to the range value due to the detector response and range walk, 20 2-byte values
- delta latitude4Degrees * 106The average distance between each areocentric latitude associated with each 20-shot MOLA frame.
- delta longitude4Degrees * 106The average distance between each areocentric longitude associated with each 20-shot MOLA frame.
TOTAL:776  

Table 3. PEDR Data Product Subcommutated Data Format
Packet
Byte
ContentsLength
in
Bytes
FrameFrame
Start
Byte
Frame
Stop
Byte
12Computer Memory temperature2PEDR 1509510
13Computer CPU temperature2PEDR 1511512
14Power Supply temperature2PEDR 1513514
15Computer I/O temperature2PEDR 1515516
16LASER array sink heat temperature2PEDR 1517518
17LASER diode array drive electronics temperature2PEDR 1519520
18Optical Test Source (OTS) LED temperature2PEDR 1521522
19100 MHz Oscillator temperature2PEDR 1523524
20Start Detector temperature2PEDR 1525526
21Outside Detector box temperature2PEDR 1527528
22LASER Radiator Opposite Output port temperature2PEDR 1529530
23LASER Radiator Output port temperature2PEDR 1531532
24Interface Plate near "hot foot" temperature2PEDR 1533534
25Radiation shield transition temperature2PEDR 1535536
26Electronics Box top near S/C thermistor temperature2PEDR 2509510
27LASER box near "hot foot" temperature2PEDR 2511512
2828 Volt monitor2PEDR 2513514
29Reference Voltage monitor2PEDR 2515516
30+12 Volt voltage monitor2PEDR 2517518
3124 Volt voltage monitor2PEDR 2519520
32+5 Volt voltage monitor2PEDR 2521522
33-12 Volt voltage monitor2PEDR 2523524
34LASER / thermal current monitor2PEDR 2525526
35-5 Volt voltage monitor2PEDR 2527528
36Power Supply current monitor2PEDR 2529530
37High Voltage current monitor2PEDR 2531532
38-12 Volt current monitor2PEDR 2533534
39+12 Volt current monitor2PEDR 2535536
40-5 Volt current monitor2PEDR 3509510
41+5 Volt current monitor2PEDR 3511512
42Current STATUS register value (SEU counter)1PEDR 3513513
43Software Version Number Upper (4.4 bit format)1PEDR 3514514
43Software Version Number Lower (4.4 bit format)1PEDR 3515515
55Range Tracking Status (frame #7654321) "(1= tracking, 0 = acquisition) (MSB=OTS)"1PEDR 3516516
44Flag word (2 KB RAM block test)2PEDR 3517518
46Status Flags (SFLAG1 (16 bits), SFLAG2 (16 bits))4PEDR 3519522
50Software validity checksum2PEDR 3523524
52Received command count (modulo 8 bits)1PEDR 3525525
53Command error count (modulo 8 bits)1PEDR 3526526
54Transmitter threshold setting (XMITDA)2PEDR 3527528
56Range gate tracker array (73.728 km)8PEDR 3529536
64Range gate tracker array (cont.)28PEDR 4509536
92Range gate tracker array (cont.)12PEDR 5509520
104HSTART value for HISTOGRAM dump4PEDR 5521524
 unused4PEDR 5525528
106Valid commands received count (modulo 16 bits)2PEDR 5529530
108Memory dump segment (16 Kbytes/16 bytes = 1024 packets ~= 4 hours)6PEDR 5531536
114Memory dump segment (cont.)10PEDR 6509518
124Command echo16PEDR 6519534
140Packet validity checksum2PEDR 6535536
142OTS Range4PEDR 7509512
144OTS 1st channel received energy 4PEDR 7513516
145Spare4PEDR 7517520
223OTS transmit power4PEDR 7521524
3OTS pulse width1PEDR 7525525
3OTS pulse amplitude1PEDR 7526526
 OTS quality flag1PEDR 7527527
11Packet Type (0 for Science Mode)1PEDR 7528528
 Areocentric longitude of the Sun2PEDR 7529530
 unused6PEDR 7531536

APPENDICES

Appendix A Acronyms

AEDRAggregated Experiment Data Record
aJattoJoule
DDPIDData Descriptive Package ID
EGDRExperiment Gridded Data Record
ETElapsed Time
EUCEngineering Unit Conversion
FTPFile Transfer Protocol
Gbytesgigabytes
GMM-1Goddard Mars Model-1 potential model (Smith et al., 1993)
GSFCGoddard Space Flight Center
JPLJet Propulsion Laboratory
MGSMars Global Surveyor
Mbytesmegabytes
mJmilliJoule
MOLAMars Orbiter Laser Altimeter
msmilliseconds
NAIF/SPICENavigation Ancillary Information Facility / Spacecraft Ephemeris, Planet Ephemeris, Instrument Offset, Instrument Inertial Orientation (C), Event Oriented Information Kernels
PEDRPrecision Experiment Data Record
PDBProject Data Base
PDSPlanetary Data System
SFDUStandard Formatted Data Unit
SFOCSpace Flight Operations Center
SISSoftware Interface Specification
SOPCScience Operations Planning Computer
SPICESpacecraft Ephemeris, Planet Ephemeris, Instrument Offset, Instrument Inertial Orientation (C), Event Oriented Information Kernels
TBDto be determined
WFFWallops Flight Facility

Appendix B Precision Experiment Data Record Catalog Files

This version of the MOLAPEDR SIS contains no listing of PDS Catalog Files

Appendix C PEDR Data Product SFDU Labels and Format Files

C.1 PEDR Data Product SFDU Labels and Catalog Header

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

C.2 Contents of the MOLA PEDRSEC1.FMT Format File

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

C.3 Contents of the MOLA PEDRENG1.FMT File

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

C.4 Contents of the MOLA PEDRENG2.FMT Format File

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

C.5 Contents of the MOLA PEDRENG3.FMT Format File

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

C.6 Contents of the MOLA PEDRENG4.FMT Format File

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

C.7 Contents of the MOLA PEDRENG5.FMT Format File

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

C.8 Contents of the MOLA PEDRENG6.FMT Format File

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

C.9 Contents of the MOLA PEDRENG7.FMT Format File

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

C.10 Contents of the MOLA PEDRSEC3.FMT Format File

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


[1] The phrase "frame mid-point" is used to denote the receipt time of shot 10.5, a point between the 10th and 11th shots in the set of 20 laser shots in a data frame.