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 cor­rected 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 coor­dinates 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 indica­tors 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 sep­arate 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 sci­ence 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 Ex­periment Data Record (PEDR) Data Product.

1.1          Purpose

This document describes the format and contents of the PEDR Data Product. This includes a de­scription 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 inter­faces 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 ref­erence 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, Janu­ary 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, Straw­man, 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 Prod­uct 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 In­terface 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 instru­ment'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), ap­pending 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 Ap­plicable 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 sys­tem.

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 cre­ates 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 environ­ment. 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 Doc­ument #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 com­munity.

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 ar­chival. 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) for­mat. SFDU formatted objects have labels and headers describing the high level structure of the ob­ject 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-pro­cessed 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 rep­resentation 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 prod­uct. 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 Plane­tary 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 KEY­WORD=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 ex­ample 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 head­er, are stored in the PEDR as well as data correction values which were used to process the telem­etry 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 sec­ond 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 val­ues are computed with respect to the center of mass of the Mars Global Surveyor. Additional infor­mation 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 num­ber

4

Counts

Mapping mission orbit number determined by Mars Global Surveyor flight operations system at frame mid-point

- frame mid-point areo­centric 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 areo­centric longitude

4

Degrees * 106

MGS Spacecraft east longitude, in IAU2000 coordi­nates, 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 body­center 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 cen­ter of mass) associated with MOLA data frame mid-point, obtained from a straight line best-fit of the indi­vidual (up to 20) MOLA range measurements in the MOLA data frame

- shot quality flag

4

 

3 bytes–flag whether good/bad shot (20 least signifi­cant bits, one for each of the 20 shots, with least sig­nificant 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 descrip­tor 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 corre­sponds 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 plan­etary 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 transmit­tance

40

Pure fraction * 105

Relative Martian surface reflectivity values, one per shot; 20 2-byte values

- trigger channel num­ber

20

 

Channel number of first MOLA filter channel to trig­ger, 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 char­acteristics and threshold settings, as determined by the receiver model (one sigma value, with the minimum limited by the filter response). The pulse width pro­vides an estimate of target slope and/or roughness, as­suming 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 lati­tude, 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 sur­face; 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 sec­ond 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 val­ues

- 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 telem­etry packet) generated in Ground Data System pro­cessing

- packet source header

8

 

Information placed in MOLA telemetry packet by Payload Data System

- telemetry packet coarse time code sec­onds

4

ET (Elapsed Time) seconds

The whole portion of the Payload Data System gener­ated time code in ET seconds referenced to J2000; a signed number.

- telemetry packet coarse time code milli­seconds

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/house­keeping 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 stan­dard 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 longi­tude 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 lati­tude associated with each 20‑shot MOLA frame

- delta longitude

4

Degrees * 106

The average distance between each areocentric longi­tude 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