MARS GLOBAL SURVEYOR

Mars Orbiter Laser Altimeter

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

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

Version 3.0,
May 19, 2003

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
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
09/24/98 | 2.5 | Section 4.3.2 | revised format definitions
10/01/98 | 2.6 | Tables 1 and 2; Appendix C | delta-spacecraft position replaces SC X-Y-Z coordinates at frame mid-point
10/12/98 |  | Table 2, Appendix C | frame local time defined as subsolar longitude in radians
12/17/98 | 2.7 | Tables 1 and 2; Appendix C | delta-latlon/delta-r and crossover residual replaces ground X-Y-Z coordinates at frame-midpoint.
2/1/99 | 2.7 |  | Reformatted for html, no text changed
10/14/99 | 2.718 | 1.0; 4.4 | PEDR aggregated by UTC calendar day; identified by Project orbit number + 10000
2/18/00 | 2.8 | Tables 1 and 2; Appendix C | Crossover correction lat_lon replaces flags. Along_track_shift and across_track_shift replace atmospheric opacity. These may be used as indicators of total position accuracy.
5/19/03 | 3.0 | All | Changed reference IAU1991 to IAU2000
5/19/03 | 3.0 | C.10 | Changed definition of model used to compute areoid radius
5/19/03 | 3.0 | C.2 | Added footnote about change in SHOT_QUALITY_DESCRIPTOR_FLAG bit fields

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

List of Figures | # Page
1 | PEDR Data Product Structure and Organization | 9

List of Tables | # Page
1 | PEDR Data Product Record Format | 10
2 | PEDR Data Product Record Contents Description | 12
3 | PEDR Data Product Subcommutated Data Format | 16

List of Appendices | # Page
Appendix A | Acronyms | 18
Appendix B | Precision Experiment Data Record Catalog Files | 19
Appendix C | SFDU Labels and Format Files | 20
Appendix C.1 | SFDU Labels and Catalog Header | 20
Appendix C.2 | Contents of the PEDRSEC1.FMT Format File | 24
Appendix C.3 | Contents of the PEDRENG1.FMT Format File | 35
Appendix C.4 | Contents of the PEDRENG2.FMT Format File | 38
Appendix C.5 | Contents of the PEDRENG3.FMT Format File | 42
Appendix C.6 | Contents of the PEDRENG4.FMT Format File | 46
Appendix C.7 | Contents of the PEDRENG5.FMT Format File | 47
Appendix C.8 | Contents of the PEDRENG6.FMT Format File | 50
Appendix C.9 | Contents of the PEDRENG7.FMT Format File | 51
Appendix C.10 | Contents of the PEDRSEC3.FMT Format File | 53

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 day; 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. In the FORTRAN programming language, fixed-length record files may be opened using the keyword access='direct', recl=776, and end-of-file may be detected by the err= keyword in the READ statement.

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

A | represents the MOLA instrument, an altimeter
P | is the data product, PEDR, identifier
##### | is the orbit number with leading zeros (see below)
a | is the product edition number or letter
B | indicates the file is fixed point, binary.

4.2 Orbit Numbering

On March 9, 1999, the MGS spacecraft entered the Mapping Phase of the mission after spending nearly two years in the Orbit Insertion Phase. The MGS Project reset the orbit count to 1 at the beginning of the Mapping Phase, at the descending equator crossing of actual orbit 1683. Since MOLA had already generated many products during Orbit Insertion with product IDs based on the orbit number, there was a potential problem that the product ID would not be unique if MOLA continued to use the Project orbit number. To ensure a unique product ID, MOLA Mapping Phase products are therefore identified by the Project orbit number plus 10000. For example, a PEDR product containing data acquired starting in Mapping Phase orbit 24 is identified as AP10024a.B.

4.3 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.4 Substructure Definition and Format

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

4.4.1 Header / Trailer Description Details

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

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

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.

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

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

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

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.

4.4.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.5 Volume, Size, and Frequency Estimates

The size of each PEDR data product shall vary depending in the number of science mode packets obtained. The maximum number of science mode packets that could be produced during a day is approximately 6170, therefore the maximum number of PEDRs in a PEDR Data Product would be approximately 43190. 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 1 PEDR Data Product shall be produced for each mapping mission day resulting in a daily volume of 33.5 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

Star t Byte | Parameter | Bytes | Units | End Byte
1 | frame mid-point time whole seconds (Elapsed Time from J2000) | 4 | seconds | 4
5 | frame mid-point time fractional seconds (Elapsed Time from J2000) | 4 | microseconds | 8
9 | orbit reference number | 4 | counts | 12
13 | frame mid-point areocentric latitude of spacecraft | 4 | degrees * 106 | 16
17 | frame mid-point areocentric longitude of spacecraft | 4 | degrees * 106 | 20
21 | frame mid-point radial distance of spacecraft | 4 | centimeters | 24
25 | frame mid-point range | 4 | centimeters | 28
29 | shot quality flag | 4 |  | 32
33 | shot quality descriptor flag | 8 |  | 40
41 | crossover correction lat_lon | 8 |  | 48
49 | shot planetary radius (20 * 4) | 80 | centimeters | 128
129 | frame mid-point planetary radius | 4 | centimeters | 132
133 | instrument attitude right ascension | 4 | milliradians | 136
137 | instrument attitude declination | 4 | milliradians | 140
141 | instrument attitude twist | 4 | milliradians | 144
145 | corrected received pulse energy (20 * 2) | 40 | attojoules | 184
185 | surface reflectivity * atmospheric transmittance | 40 | parts in 105 | 224
225 | trigger channel number (20 * 1) | 20 |  | 244
245 | returned pulse width at threshold | 40 | nanoseconds * 10 | 284
285 | received optical pulse width (20 * 2) | 40 | nanoseconds * 10 | 324
325 | parallax delta-latitude | 4 | degrees * 109m-1 | 328
329 | parallax delta-longitude | 4 | degrees * 109m-1 | 332
333 | crossover residual | 4 | centimeters | 336
337 | frame mid-point latitude and longitude | 8 | degrees * 106 | 344
345 | laser transmit power (20 * 2) | 40 | mJ * 100 | 384
385 | shot classification code | 40 |  | 424
425 | channel background noise (8 * 4)(per half-frame and channel) | 32 | counts | 456
457 | range delay | 4 | centimeters | 460
461 | range width | 4 | centimeters | 464
465 | receiver channel threshold (8 * 2)(per half-frame and channel) | 16 | millivolts | 480
481 | receiver channel mask | 2 |  | 482
483 | algorithm word (MIN_HITS) | 2 |  | 484
485 | algorithm word (HIT_COUNT) | 2 | counts | 486
487 | frame counter | 2 |  | 488
489 | trigger channel | 2 |  | 490
491 | within-packet frame index | 2 | (1-7) | 492
493 | packet source header | 8 |  | 500
501 | telemetry packet coarse time code - seconds (J2000 elapsed time) | 4 | seconds | 504
505 | telemetry packet coarse time code - milliseconds | 2 | ms | 506
507 | telemetry packet fine time code | 2 | counts | 508
509 | engineering / housekeeping data | 28 |  | 536
537 | Orbit quality flag | 2 |  | 538
539 | Attitude flag | 2 |  | 540
541 | Frame local time | 2 | radians * 104 | 542
543 | Phase angle | 2 | radians * 104 | 544
545 | Solar incidence angle | 2 | radians * 104 | 546
547 | Emission angle | 2 | radians * 104 | 548
549 | Along-track shiftb | 4 | seconds* 105 | 550
551 | Across-track shiftb | 4 | seconds* 105 | 552
553 | Double precision frame mid-point time in IEEE standard (Elapsed time from J2000) | 8 | seconds | 560
561 | trigger channel raw received pulse energy (20 * 1) | 20 | counts (0‑255) | 580
581 | trigger channel raw received pulse width (20 * 1) | 20 | counts (0-63) | 600
601 | delta spacecraft latitude | 4 | degrees * 106 | 604
605 | delta spacecraft longitude | 4 | degrees * 106 | 608
609 | delta spacecraft radial distance | 4 | centimeters | 612
613 | Areoid radius | 4 | centimeters | 616
617 | Off-nadir angle | 4 | degrees * 106 | 620
621 | Encoder bits | 20 | counts | 640
641 | delta areoid | 4 | cm | 644
645 | MOLA clock rate | 4 | Hz | 648
649 | MOLA range value (20 * 4) | 80 | centimeters | 688
729 | range correction (20 * 2) | 40 | centimeters | 768
769 | delta latitude | 4 | degrees * 106 | 772
773 | delta longitude | 4 | degrees * 106 | 776
|  | 776 | bytes total |

Table 2: MOLA Precision Experiment Data Record (PEDR) Contents
Rate: 1 every 2 seconds

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 in the MOLA data frame (Note: The phrase 'frame mid-point' is used to denote the transmit time of shot 10.5, a point midway between the 10th and 11th shots in the set of 20 laser shots in a MOLA frame.)
- frame mid-point time fractional seconds | 4 | Microseconds | The fractional portion of the Elapsed Time since J2000 at the frame mid-point 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, in IAU2000 coordinates, associated with MOLA data frame mid-point; from Precision Orbit data
- frame mid-point areocentric longitude | 4 | Degrees * 106 | MGS Spacecraft east longitude, in IAU2000 coordinates, 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 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 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
parallax delta-latitude | 4 | degrees * 109m-1 | change in latitude with respect to planetary radius at frame midpoint due to parallax
parallax delta-longitude | 4 | degrees * 109m-1 | change in longitude with respect to planetary radius at frame midpoint due to parallax
crossover residual | 4 | Centimeters | Crossover residual of planetary radius with respect to MOLA database at frame midpoint
- frame mid-point latitude, longitude | 8 | Degrees * 106 | The areocentric latitude and the East longitude, in IAU2000 coordinates, 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: 0 denotes a false return or no trigger; 1 denotes a ground 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 | 2 |  | Flag indicating origin of orbit. 0 indicates JPL NAV team was producer; 1 or higher indicates the MOLA Science Team reference gravity model number.
- attitude flag | 2 |  | Flag to indicate spacecraft attitude information was missing for this frame. Set to 2 if attitude information was missing for part of the frame; 3 if missing for entire frame; otherwise 0.
- frame local time | 2 | radians * 104 | The subsolar longitude on Mars, -Pi to Pi.
- 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 | The angle between the Mars surface normal vector and the Sun vector at the frame mid-point location
- emission angle | 2 | radians * 104 | The angle between the Mars surface normal vector and the Mars Global Surveyor vector at the frame mid-point location
- along-track shiftb | 2 | seconds * 105 | Empirical adjustment of frame mid-point on ground in the along-track direction from crossover analysis
- across-track shiftb | 2 | seconds * 105 | Empirical adjustment of frame mid-point on ground in the across-track direction (90ş ccw from along-track)
- double precision frame mid-point time | 8 | seconds | The frame mid-point time represented in IEEE standard double precision; ET seconds from 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
delta spacecraft latitude | 4 | Degrees * 106 | The average change in spacecraft areocentric latitude associated with each 20‑shot MOLA frame
delta spacecraft longitude | 4 | Degrees * 106 | The average change in spacecraft areocentric longitude associated with each 20‑shot MOLA frame
delta spacecraft radius | 4 | Centimeters | The average change in spacecraft areocentric radius associated with each 20‑shot MOLA frame
- Areoid radius | 4 | Centimeters | The radius of the reference areoid with 3396 kilometer mean equatorial radius, determined from the GMM-1 or more recent potential model of degree and order 70
- Off-nadir angle | 4 | Degrees * 106 | Angle between the transmitted laser shot direction and areocentric direction, at spacecraft frame mid-point
- 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 areoid | 4 | centimeters | The average change in areoid 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 one-way range value per shot; the raw MOLA time-of-flight range plus 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 |  |

# Table 3: PEDR Data Product Subcommutated Data Format

Packet Byte | Contents | Length in Bytes | Frame | Frame Start Byte | Frame Stop Byte
12 | Computer Memory temperature | 2 | PEDR 1 | 509 | 510
13 | Computer CPU temperature | 2 | PEDR 1 | 511 | 512
14 | Power Supply temperature | 2 | PEDR 1 | 513 | 514
15 | Computer I/O temperature | 2 | PEDR 1 | 515 | 516
16 | LASER array sink heat temperature | 2 | PEDR 1 | 517 | 518
17 | LASER diode array drive electronics temperature | 2 | PEDR 1 | 519 | 520
18 | Optical Test Source (OTS) LED temperature | 2 | PEDR 1 | 521 | 522
19 | 100 MHz Oscillator temperature | 2 | PEDR 1 | 523 | 524
20 | Start Detector temperature | 2 | PEDR 1 | 525 | 526
21 | Outside Detector box temperature | 2 | PEDR 1 | 527 | 528
22 | LASER Radiator Opposite Output port temperature | 2 | PEDR 1 | 529 | 530
23 | LASER Radiator Output port temperature | 2 | PEDR 1 | 531 | 532
24 | Interface Plate near hot foot temperature | 2 | PEDR 1 | 533 | 534
25 | Radiation shield transition temperature | 2 | PEDR 1 | 535 | 536
26 | Electronics Box top near S/C thermistor temperature | 2 | PEDR 2 | 509 | 510
27 | LASER box near hot foot temperature | 2 | PEDR 2 | 511 | 512
28 | 28 Volt monitor | 2 | PEDR 2 | 513 | 514
29 | Reference Voltage monitor | 2 | PEDR 2 | 515 | 516
30 | +12 Volt voltage monitor | 2 | PEDR 2 | 517 | 518
31 | 24 Volt voltage monitor | 2 | PEDR 2 | 519 | 520
32 | +5 Volt voltage monitor | 2 | PEDR 2 | 521 | 522
33 | -12 Volt voltage monitor | 2 | PEDR 2 | 523 | 524
34 | LASER / thermal current monitor | 2 | PEDR 2 | 525 | 526
35 | -5 Volt voltage monitor | 2 | PEDR 2 | 527 | 528
36 | Power Supply current monitor | 2 | PEDR 2 | 529 | 530
37 | High Voltage current monitor | 2 | PEDR 2 | 531 | 532
38 | -12 Volt current monitor | 2 | PEDR 2 | 533 | 534
39 | +12 Volt current monitor | 2 | PEDR 2 | 535 | 536
40 | -5 Volt current monitor | 2 | PEDR 3 | 509 | 510
41 | +5 Volt current monitor | 2 | PEDR 3 | 511 | 512
42 | Current STATUS register value (SEU counter) | 1 | PEDR 3 | 513 | 513
43 | Software Version Number Upper (4.4 bit format) | 1 | PEDR 3 | 514 | 514
43 | Software Version Number Lower (4.4 bit format) | 1 | PEDR 3 | 515 | 515
55 | Range Tracking Status (frame #7654321) (1= tracking, 0 = acquisition) (MSB=OTS) | 1 | PEDR 3 | 516 | 516
44 | Flag word (2 KB RAM block test) | 2 | PEDR 3 | 517 | 518
46 | Status Flags (SFLAG1 (16 bits), SFLAG2 (16 bits)) | 4 | PEDR 3 | 519 | 522
50 | Software validity checksum | 2 | PEDR 3 | 523 | 524
52 | Received command count (modulo 8 bits) | 1 | PEDR 3 | 525 | 525
53 | Command error count (modulo 8 bits) | 1 | PEDR 3 | 526 | 526
54 | Transmitter threshold setting (XMITDA) | 2 | PEDR 3 | 527 | 528
56 | Range gate tracker array (73.728 km) | 8 | PEDR 3 | 529 | 536
64 | Range gate tracker array (cont.) | 28 | PEDR 4 | 509 | 536
92 | Range gate tracker array (cont.) | 12 | PEDR 5 | 509 | 520
104 | HSTART value for HISTOGRAM dump | 4 | PEDR 5 | 521 | 524
| unused | 4 | PEDR 5 | 525 | 528
106 | Valid commands received count (modulo 16 bits) | 2 | PEDR 5 | 529 | 530
108 | Memory dump segment (16 Kbytes/16 bytes = 1024 packets ~= 4 hours) | 6 | PEDR 5 | 531 | 536
114 | Memory dump segment (cont.) | 10 | PEDR 6 | 509 | 518
124 | Command echo | 16 | PEDR 6 | 519 | 534
140 | Packet validity checksum | 2 | PEDR 6 | 535 | 536
142 | OTS Range | 4 | PEDR 7 | 509 | 512
144 | OTS 1st channel received energy | 4 | PEDR 7 | 513 | 516
145 | Spare | 4 | PEDR 7 | 517 | 520
223 | OTS transmit power | 4 | PEDR 7 | 521 | 524
3 | OTS pulse width | 1 | PEDR 7 | 525 | 525
3 | OTS pulse amplitude | 1 | PEDR 7 | 526 | 526
| OTS quality flag | 1 | PEDR 7 | 527 | 527
11 | Packet Type (0 for Science Mode) | 1 | PEDR 7 | 528 | 528
| Areocentric longitude of the Sun | 2 | PEDR 7 | 529 | 530
| unused | 6 | PEDR 7 | 531 | 536

325 | frame mid-point coordinates (x,y,z) | 12 | centimeters | 336

325 | frame mid-point coordinates (x,y,z) | 12 | centimeters | 336

325 | frame mid-point coordinates (x,y,z) | 12 | centimeters | 336

325 | frame mid-point coordinates (x,y,z) | 12 | centimeters | 336

### APPENDICES

Appendix A Acronyms

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
IAU2000 | Report of the IAU/IAG/COSPAR Working Group on Cartographic Coordinates and Rotational Elements of the Planets and Satellites, 2000.
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 Ori ented Information Kernels
OTS | Optical Test Source
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

Appendix B

Precision Experiment Data Record Catalog Files

This version of the MOLA PEDR 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 = 'AP00003K.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-L1A-V1.0'

PRODUCT_ID = 'MOLA-AP00003K.B'

SPACECRAFT_NAME = 'MARS_GLOBAL_SURVEYOR'

INSTRUMENT_ID = 'MOLA'

INSTRUMENT_NAME = 'MARS_ORBITER_LASER_ALTIMETER'

TARGET_NAME = 'MARS'

SOFTWARE_NAME = 'PREC_PP_7.20'

UPLOAD_ID = 'SM-7.6'

SOURCE_PRODUCT_ID = {"MOLA-AA00003F.B","MOLA-APPLCT01.T",

"","","","","",""}

PRODUCT_RELEASE_DATE = 1998-141

START_TIME = 1997-258T19:10:00.000

STOP_TIME = 1997-258T19: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 = 'ORBIT INSERTION'

ORBIT_NUMBER = 00003

PRODUCT_VERSION_TYPE = {"R007-CALIBRATED REL.","O00003 - ORBIT 3",

"P007-CALIBRATED REL.","E007-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 = 73

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 = 73

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 = 72

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 = 60

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 = 64

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 = 62

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 = 68

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 = "Frame mid-point time whole seconds. The integer represents the whole portion of the Ephemeris Time (in number of seconds) past J2000."

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 Ephemeris Time (in number of microseconds) past J2000."

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, IAU2000, of the MOLA data frame mid-point of the Mars Global Surveyor spacecraft center of mass. Obtained from the MOLA Science Investigation Team precision orbit data."

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, IAU2000, of the MOLA data frame mid-point of the Mars Global Surveyor spacecraft center of mass. Obtained from the MOLA Science Investigation Team precision orbit data."

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

Note: The following changes in the use of the SHOT_QUALITY_DESCRIPTOR_FLAG bit string are detailed in PEDRDS.CAT. These apply to the final PEDRs, version L.

Bytes Bits (start=0) Type Range Usage

34 8-15 unsigned integer 0-255 radial crossover adjustment magnitude, m

35 16-23 unsigned integer 0-255 in-plane crossover adjustment, unit = 30 m

41-44 64-95 signed integer * crossover delta-latitude, degrees * 10^6

45-48 96-127 signed integer * crossover delta-latitude, degrees * 10^6

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 full 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 full 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 full 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 full 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 full 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 full description."

END_OBJECT = BIT_COLUMN

END_OBJECT = COLUMN

OBJECT = COLUMN

NAME = CROSSOVER_CORRECTION_LAT_LON

DATA_TYPE = MSB_UNSIGNED_INTEGER

START_BYTE = 41

BYTES = 8

ITEMS = 2

ITEM_BYTES = 4

UNIT = 'DEGREES *(10**6)'

DESCRIPTION = "Array of 2 correction values that were added to the FRAME_LAT_LON values to account for systematic crossover mismatch."

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 Mars center of mass 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 Mars center of mass to the point on the surface of Mars described by the frame mid-point range. Obtained from a weighted fit to the valid observations in the data frame."

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 = PARALLAX_DELTA_LATITUDE

DATA_TYPE = MSB_INTEGER

START_BYTE = 325

BYTES = 4

ITEMS = 1

UNIT = 'DEGREES*(10**9) PER METER'

DESCRIPTION = "Change in latitude with respect to planetary radius at frame midpoint due to parallax."

END_OBJECT = COLUMN

OBJECT = COLUMN

NAME = PARALLAX_DELTA_LONGITUDE

DATA_TYPE = MSB_INTEGER

START_BYTE = 329

BYTES = 4

UNIT = 'DEGREES*(10**9) PER METER'

DESCRIPTION = "Change in longitude with respect to planetary radius at frame midpoint due to parallax."

END_OBJECT = COLUMN

OBJECT = COLUMN

NAME = CROSSOVER_RESIDUAL

DATA_TYPE = MSB_INTEGER

START_BYTE = 333

BYTES = 4

UNIT = 'CENTIMETERS'

DESCRIPTION = "Crossover residual of planetary radius with respect to MOLA Science Team database at frame midpoint. May be added to planetary radius to correct for radial orbit error."

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, IAU2000, 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_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 values 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 two-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_SIGNED_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_SIGNED_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_SIGNED_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_SIGNED_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_SIGNED_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_SIGNED_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_SIGNED_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_SIGNED_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_SIGNED_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_SIGNED_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_SIGNED_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_SIGNED_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_SIGNED_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_SIGNED_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_SIGNED_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_SIGNED_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

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 potential model GMM-1 or higher."

END_OBJECT = COLUMN

OBJECT = COLUMN

NAME = ATTITUDE_FLAG

DATA_TYPE = MSB_UNSIGNED_INTEGER

START_BYTE = 539

BYTES = 2

DESCRIPTION = "Flag indicating spacecraft attitude data was not available for all (3) or part (2) of a MOLA frame, in which case ground location is calculated assuming nadir-pointing geometry."

END_OBJECT = COLUMN

OBJECT = COLUMN

NAME = FRAME_LOCAL_TIME

DATA_TYPE = MSB_INTEGER

START_BYTE = 541

BYTES = 2

UNIT = 'RADIANS * (10**4)'

DESCRIPTION = "The subsolar longitude on Mars at the frame mid-point, in the range from -Pi to Pi."

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 = DELTA_SC_LATITUDE

DATA_TYPE = MSB_INTEGER

START_BYTE = 601

BYTES = 4

UNIT = 'DEGREES*(10**6)'

DESCRIPTION = "The average change in spacecraft areocentric latitude associated with each 20-shot MOLA frame."

END_OBJECT = COLUMN

OBJECT = COLUMN

NAME = DELTA_SC_LONGITUDE

DATA_TYPE = MSB_INTEGER

START_BYTE = 605

BYTES = 4

UNIT = 'DEGREES*(10**6)'

DESCRIPTION = "The average change in spacecraft areocentric longitude associated with each 20-shot MOLA frame."

END_OBJECT = COLUMN

OBJECT = COLUMN

NAME = DELTA_SC_RADIUS

DATA_TYPE = MSB_INTEGER

START_BYTE = 609

BYTES = 4

UNIT = 'CENTIMETERS'

DESCRIPTION = "The average change in spacecraft radial distance associated with each 20-shot MOLA frame."

END_OBJECT = COLUMN

OBJECT = COLUMN

NAME = AREOID_RADIUS

DATA_TYPE = MSB_UNSIGNED_INTEGER

START_BYTE = 613

BYTES = 4

UNIT = 'CENTIMETERS'

DESCRIPTION = "The radius of the reference areoid at frame midpoint, with a 3396 kilometer mean radius at the equator. The Goddard Mars Model 3 (mgm1025) of Lemoine et al., 2002, with the coordinate system of IAU2000, 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 transmitted laser shot direction and areocentric direction, at spacecraft frame mid-point."

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 to improve shot range precision."

END_OBJECT = COLUMN

OBJECT = COLUMN

NAME = DELTA_AREOID

DATA_TYPE = MSB_INTEGER

START_BYTE = 641

BYTES = 4

UNIT = 'CENTIMETERS'

DESCRIPTION = "The average change in reference areoid 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. Array of 20 two-byte values."

END_OBJECT = COLUMN

OBJECT = COLUMN

NAME = DELTA_LATITUDE

DATA_TYPE = MSB_INTEGER

START_BYTE = 769

BYTES = 4

UNIT = 'DEGREES *(10**6)'

DESCRIPTION = "The average change in 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 *(10**6)'

DESCRIPTION = "The average change in longitude associated with each 20-shot MOLA frame."

END_OBJECT = COLUMN