MARS GLOBAL SURVEYOR
Mars Orbiter Laser Altimeter
MOLA PRECISION EXPERIMENT DATA RECORD
SOFTWARE INTERFACE SPECIFICATION
(MOLA PEDR SIS)
NASA Goddard Space Flight Center
Greenbelt, MD 20771
Submitted: | ________________________________ Gregory A. Neumann MOLA Science Team |
_______________ Date |
Concurred: | ________________________________ Maria Zuber MOLA Deputy Principal Investigator |
_______________ Date |
Approved: | ________________________________ David E. Smith MOLA Principal Investigator |
_______________ Date |
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 |
Updated for PEDR format changes |
07/23/97 |
1.1 |
Appendix C |
Incorrect start bytes and descriptions were corrected in the format files (unmarked) |
01/30/98 |
2.0 |
all |
revised for contingency science |
09/24/98 |
2.5 |
Section 4.3.2 |
revised format definitions |
10/01/98 |
2.6 |
Tables 1 and 2; Appendix C |
delta-spacecraft position replaces SC X-Y-Z coordinates at frame mid-point |
10/12/98 |
Table 2, Appendix C |
frame local time defined as subsolar longitude in radians | |
12/17/98 |
2.7 |
Tables 1 and 2; Appendix C |
delta-latlon/delta-r and crossover residual replaces ground X-Y-Z coordinates at frame-midpoint. |
2/1/99 |
2.7 |
Reformatted for html, no text changed | |
10/14/99 |
2.718 |
1.0; 4.4 |
PEDR aggregated by UTC calendar day; identified by Project orbit number + 10000 |
2/18/00 | 2.8 | Tables 1 and 2; Appendix C | Crossover correction lat_lon replaces flags. Along_track_shift and across_track_shift replace atmospheric opacity. These may be used as indicators of total position accuracy. |
Section |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
The MOLA Science Team is required to create validate, and archive the MOLA standard data products. To define each standard data product, the MOLA Science Team is required to provide a Software Interface Specification (SIS). The SIS shall describe the data product contents and define the record and data format. The Planetary Data System's (PDS) Geosciences Node has agreed to archive the MOLA standard data products. The MOLA archive volume shall be described in a separate SIS. The MOLA standard science data products are the Aggregated Experiment Data Recordall MOLA raw data aggregated by day; Precision Experiment Data RecordMOLA science data processed into profiles with precision orbit locations added; Any Experiment Gridded Data RecordMOLA gridded data in 2 different densities. This SIS shall define the Precision Experiment Data Record (PEDR) Data Product.
This document describes the format and contents of the PEDR Data Product. This includes a description of the required SFDU format and the record description and contents of the PEDR File.
This SIS defines the format of the SFDU labels and headers and the Precision Experiment Data Record down to the bit level. Also, the PEDR Data Product software, hardware, and human interfaces shall be mentioned in order to describe the interface; the actual software, hardware, or human node on the other side of the interface shall be described in detail in its own interface or other reference document.
The PEDR data product contains the along-track, time series collection of the MOLA instrument's science mode data in engineering and physical units. Precision orbit data describing the instrument's position and location has been added to each record. The precision orbit data is supplied by the MOLA Science Team.
Using the precision orbit data, the accuracy of the MOLA footprint is 30 meters radially; 30 meters along track; 30 meters across track.
1.4.2 Source and Transfer Method
The PEDR Data Product is created on the MOLA operations computer system. The PEDR Data Product is created by reading the Aggregated Experiment Data Record (AEDR) Data Product record by record, computing the applicable science parameters (as described in Section 4.0), appending the precision orbit data, and wrapping the whole file with SFDU headers and labels. This SIS will detail the format of the PEDR Data Product. The AEDR Data Product is described in Applicable Document #2. After creation and verification, the PEDR Data Product shall be transferred to the MOLA SOPC to await delivery to the Planetary Data System's (PDS) Geosciences Node where it will be archived to CD-ROM and made available to the science community. The PEDR Data Product shall remain available to the MOLA Science Team on the MOLA operations file system.
1.4.3 Recipients and Utilization
The PEDR data product shall be used to create the Experiment Gridded Data Record (EGDR) data products.
The PDS shall receive the PEDR data product and make it available to the science community.
The PEDR data product shall remain on the MOLA operations file system and be available to the MOLA Science Team for further investigations.
1.4.4 Pertinent Relationships with Other Interfaces
The PEDR data product is created from the Aggregated Experiment Data Record (AEDR) data product. Any changes to the AEDR data product could affect the format or content of the PEDR data product. See Applicable Document #2 for a detailed description of the AEDR Data Product.
Any changes to the PEDR data product, either format or content shall affect the software that creates the data product.
Additionally, any changes to the PEDR data product could affect the EGDR data products' content or format or affect the software that creates the EGDR data products. See Applicable Document #6 for a detailed description of the EGDR Data Products.
1.5 Assumptions and Constraints
The PEDR data product contains only MOLA science mode data.
Each PEDR data product shall encompass one orbit of MOLA data.
2.1 Hardware Characteristics and Limitations
Not applicable.
2.2 Interface Medium and Characteristics
The PEDR data product shall be produced on computer(s) within the MOLA operations environment. The PEDR data product shall be transferred to the MOLA SOPC via FTP in preparation for distribution to the PDS Geosciences Node. The SOPC architecture is described in Applicable Document #1. The PEDR data product will be transferred to the PDS Geosciences Node via FTP from the SOPC. The PDS will write the data products to CD-ROMs for distribution to the science community.
2.3 Failure Protection, Detection, and Recovery Features
The PEDR data product will be retained on the MOLA operations file system for back up purposes and shall be archived on magnetic media. The PEDR data product is distributed to the PDS for archival. The MGS Project Database will be available as an additional backup location.
2.3.2 Security / Integrity Measures
Refer to Applicable Document #1 for a description of the MOLA operations system security and integrity plan.
2.4 End-Of-File (or Medium) Convention
The PEDR data product is a standard UNIX flat file in Standard Formatted Data Unit (SFDU) format. SFDU formatted objects have labels and headers describing the high level structure of the object and the content of the object. The end of the PEDR data product will be detected by the end-of-file marker. In the FORTRAN programming language, fixed-length record files may be opened using the keyword access='direct', recl=776, and end-of-file may be detected by the err= keyword in the READ statement.
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.
N/A
3.3 Timing and Sequencing Characteristics
A PEDR data product will be created for each orbit containing MOLA science data. Data products will be created as precision orbit data becomes available. The PEDR data product may be re-processed up to three times depending on new releases of precision orbit data. PEDR data products will be created for all the MOLA science data collected during the MGS mapping mission.
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. |
On March 9, 1999, the MGS spacecraft entered the Mapping Phase of the mission after spending nearly two years in the Orbit Insertion Phase. The MGS Project reset the orbit count to 1 at the beginning of the Mapping Phase, at the descending equator crossing of actual orbit 1683. Since MOLA had already generated many products during Orbit Insertion with product IDs based on the orbit number, there was a potential problem that the product ID would not be unique if MOLA continued to use the Project orbit number. To ensure a unique product ID, MOLA Mapping Phase products are therefore identified by the Project orbit number plus 10000. For example, a PEDR product containing data acquired starting in Mapping Phase orbit 24 is identified as AP10024a.B.
4.3 Structure and Organization Overview
The PEDR Data Product shall be written as a standard UNIX flat, sequential file with the MOLA data in spacecraft event time-ordered sequence. Each 776-BYTE record contains two seconds of data (a frame) extracted from the science mode telemetry packet. The data records are wrapped with the appropriate SFDU labels and headers, comprising a total of 10 776-byte records. There shall be a primary label, a catalog label and header, and a data label. The catalog label shall have a corresponding end label to delimit the catalog information from the data. See Figure 1 for a representation of the PEDR data product.
4.4 Substructure Definition and Format
The following sections define in detail the label, header, and data formats and content.
4.4.1 Header / Trailer Description Details
An example of the labels and K-header is in Appendix C.
4.4.1.1 Primary SFDU Label
The Primary SFDU Label, also known as the aggregation label or Z-label delimits the entire product. The Primary Label is 20 bytes long and shall have the following format for the PEDR data product.
CCSD3ZF0000100000001
where:
CCSD | is the Control Authority ID |
3 | is the SFDU version ID |
Z | is the class ID for primary labels |
F | is the SFDU delimiter type, total EOFs. |
0 | is a spare octet |
0001 | is the Data Descriptive Package ID (DDPID) |
00000001 | is the delimiter value for this label; indicates the number of EOFs delimiting the product. |
4.4.1.2 Catalog Label and Header
The catalog labels and header, also known as the K-header, are made up of the start and end labels and the catalog data objects that are to be stored in the Mars Global Surveyor PDB and the Planetary Data System's data base. The start label has the following form:
NJPL3KS0PDSX$$INFO$$
where:
NJPL | is the Control Authority ID |
3 | is the SFDU version ID |
K | is the class ID for catalog data object labels |
S | is the SFDU delimiter type, start marker. |
0 | is a spare octet |
PDSX | is the Data Descriptive Package ID |
$$INFO$$ | is the delimiter value for this label |
After the label, shall be the catalog entries required by the Project. These shall be in the KEYWORD=VALUE format. Each KEYWORD=VALUE string shall be terminated by a carriage return, line feed combination. The required keywords are listed in Section 3.4. The catalog entries (keywords) with example values are listed in Appendix C.1. Applicable Document #5 contains definitions of the keywords listed in the appendix.
Planetary Data System required object definitions and pointers are contained in the catalog header. Each data parameter in the product is defined by the object structure; the pointers direct the user to format files which fully define the PEDR record format and contents. Appendix C contains an example of the object definitions and pointers.
The catalog entries will be delimited by the K-header end label; it has the following form:
CCSD$$MARKER$$INFO$$
4.4.1.3 Data Label
The data or I-class Label precedes the actual data in the SFDU. This label is also known as the data object label or the tertiary header. The I-class label is registered individually with the JPL Control Authority and bears a unique DDPID. The start label has the following format
NJPL3IF0004100000001
where:
NJPL | is the Control Authority ID |
3 | is the SFDU version ID |
I | is the class ID for data labels |
F | is the SFDU delimiter type, Total EOFs |
0 | is a spare octet |
0041 | is the Data Descriptive Package ID |
00000001 | is the delimiter value for this label; indicates the number of EOFs delimiting the product. |
4.4.2 Data Description Details
A Precision Experiment Data Record contains MOLA science mode telemetry data that has been converted to engineering and physical units. Each PEDR contains a 2 second span of data, called a frame, that is retrieved from the 14 second MOLA science mode telemetry packet. Therefore, seven PEDRs are generated from each MOLA science mode telemetry packet. In addition to the frame data, the packet's engineering and housekeeping data are retained and subcommutated among the seven PEDRs that comprise a packet. Additional packet information, e.g., packet header, are stored in the PEDR as well as data correction values which were used to process the telemetry data into the PEDR data. Storing the data correction values ensures that the telemetry data can be re-created from the PEDR data.
Contained in a PEDR are the range value computed at the frame mid-point, the planetary radius at the frame mid-point, and the planetary radius for each shot. There are 20 possible shots in a 2 second frame. Additionally, location, i.e., latitude, longitude, and radial distance, obtained from the precision orbit data, is stored in the PEDR. The precision orbit data is gathered at the frame mid-point with respect to the Mars Global Surveyor center of mass. The range and planetary radius values are computed with respect to the center of mass of the Mars Global Surveyor. Additional information describing the instrument and its configuration are included in the PEDR.
A complete listing of all parameters contained in a PEDR can be found in Table 1. A description of the parameters contained in a PEDR is found in Table 2. The engineering/housekeeping data are listed in Table 3; this table also describes the location of the engineering/housekeeping data among the seven PEDRs that constitute a MOLA telemetry packet. Additionally, the PEDR format and contents are described in the PEDR Data Dictionary in Appendix B.
4.5 Volume, Size, and Frequency Estimates
The size of each PEDR data product shall vary depending in the number of science mode packets obtained. The maximum number of science mode packets that could be produced during a day is approximately 6170, therefore the maximum number of PEDRs in a PEDR Data Product would be approximately 43190. Each PEDR shall contain 776 bytes.
The PEDR data product will be produced as the AEDR files and corresponding precision orbit data become available. The data products will be produced during a standard 5 day / 40 hour work week.
Approximately 1 PEDR Data Product shall be produced for each mapping mission day resulting in a daily volume of 33.5 Mbytes. During the period of time designated as contingency science or phasing orbits, MOLA ranges to the surface for only 20-30 minutes and the volume is accordingly reduced.
FIGURES
Figure 1: PEDR Data Product Structure and Organization
PRIMARY SFDU START LABEL |
CATALOG START LABEL |
CATALOG HEADER |
CATALOG END LABEL |
DATA START LABEL |
DATA RECORD 1 |
DATA RECORD 2 |
DATA RECORD 3 |
. |
DATA RECORD N |
TABLES
Table 1: PEDR Data Product Record Format
Start |
Parameter |
Bytes |
Units |
End |
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. (The phrase 'frame mid-point' is used to denote the transmit time of shot 10.5, a point midway between the 10th and 11th shots in the set of 20 laser shots in a MOLA frame.) |
- frame mid-point time fractional seconds | 4 |
Microseconds | The fractional portion of the Elapsed Time since J2000 at the frame mid-point in the MOLA data frame |
- orbit reference number | 4 |
Counts | Mapping mission orbit number determined by Mars Global Surveyor flight operations system at frame mid-point |
- frame mid-point areocentric latitude of spacecraft | 4 |
Degrees * 106 | MGS Spacecraft areocentric latitude, in IAU1991 coordinates, associated with MOLA data frame mid-point; from Precision Orbit data |
- frame mid-point areocentric longitude | 4 |
Degrees * 106 | MGS Spacecraft east longitude, in IAU1991 coordinates, associated with MOLA data frame mid-point; from Precision Orbit data |
- frame mid-point radial distance of spacecraft | 4 |
Centimeters | Radial distance (i.e., the distance from Martian bodycenter to Mars Global Surveyor spacecraft center of mass) associated with MOLA data frame mid-point; from Precision Orbit data |
- frame mid-point range | 4 |
Centimeters | MOLA range (corrected to Mars Global Surveyor center of mass) associated with MOLA data frame mid-point, obtained from a straight line best-fit of the individual (up to 20) MOLA range measurements in the MOLA data frame |
- shot quality flag | 4 |
3 bytesflag whether good/bad shot (20
least significant bits, one for each of the 20 shots, with least significant bit, 0, being
shot 1 and bit 19 being shot 20) and each bit set to 0 for good, 1 for bad shot; bits 20Ð
23 are unused 1 bytegood shot counter, (total of bits set to 0 in above 20 bits) |
|
- shot quality descriptor flag | 16 |
Flag indicating whether the packet or
individual shots passed or failed the various shot quality tests. Reading the flag from
right to left with the rightmost bit being bit 0 and the leftmost bit being bit 127 the
format of the flag is bit 0: packet validity checksum test |
|
- shot quality descriptor flag (contd.) |
A 1 indicates the test was failed, 0 indicates the test was passed. For the bits that flag each shot the lower bit corresponds to shot 1 and the higher bit corresponds to shot 20. | ||
- shot planetary radius | 80 |
Centimeters | Array of 20 MOLA planetary radii, one per shot, in the data frame; the distance from the center of Mars to the point on the surface of Mars described by the MOLA range, 20 4-byte values |
- frame mid-point planetary radius | 4 |
Centimeters | Planetary radius associated with MOLA data frame mid-point; the distance from the center of Mars to the point on the surface of Mars described by the MOLA mid-point range |
- instrument attitude right ascension | 4 |
Milliradians | MOLA right ascension at data frame mid-point |
- instrument attitude declination | 4 |
Milliradians | MOLA declination at data frame mid-point |
- instrument attitude twist | 4 |
Milliradians | MOLA twist at data frame mid-point |
- corrected received pulse energy | 40 |
Attojoules | Corrected surface-scattered return energy as measured by the pulse width and area counters, corrected for threshold setting, 20 2-byte values |
- surface reflectivity * atmospheric transmittance | 40 |
Pure fraction * 105 | Relative Martian surface reflectivity values, one per shot; 20 2-byte values |
- trigger channel number | 20 |
Channel number of first MOLA filter channel to trigger, 20 1-byte values | |
- returned pulse width at threshold | 40 |
Nanoseconds * 10 | Time between threshold crossings of the detected pulse. The pulse width is used to correct the time-of-flight to the optical pulse centroid, but recv_pulse_energy_counts may be saturated. In this case, the timing correction is limited to the equivalent of a six-degree slope. 20 2-byte values |
- received optical pulse width | 40 |
Nanoseconds * 10 | Received optical pulse width, corrected for filter characteristics and threshold settings, as determined by the receiver model (one sigma value, with the minimum limited by the filter response). The pulse width provides an estimate of target slope and/or roughness, assuming nadir-looking geometry |
parallax delta-latitude | 4 |
degrees * 109m-1 | change in latitude with respect to planetary radius at frame midpoint due to parallax |
parallax delta-longitude | 4 |
degrees * 109m-1 | change in longitude with respect to planetary radius at frame midpoint due to parallax |
crossover residual | 4 |
Centimeters | Crossover residual of planetary radius with respect to MOLA database at frame midpoint |
- frame mid-point latitude, longitude | 8 |
Degrees * 106 | The areocentric latitude and the East longitude, in IAU1991 coordinates, of the intersection point between the frame mid-point shot and the Mars surface; from Precision Orbit data; 2 4-byte values |
- laser transmit power | 40 |
mJ * 100 | MOLA laser transmitted pulse energy, corrected for detector and heat sink temperatures, 20 2-byte values |
- shot classification code | 40 |
shot classification and weighting codes: 0 denotes a false return or no trigger; 1 denotes a ground return. | |
- channel background noise counts | 32 |
Counts | Frame value for background levels in the MOLA channels, at half-frame rate (order: 1A, 2A, 3A, 4A, 1B, 2B, 3B, and 4B where A is first half and B is second half of data frame), for raw background counts (prior to engineering unit conversion) equal to or less than 23 the converted value is set to 1.0, 8 4-byte values |
- range delay | 4 |
Centimeters | Frame value of range gate delay (to beginning of range window) |
- range width | 4 |
Centimeters | Frame value of range gate width |
- receiver channel threshold settings | 16 |
Millivolts | Threshold settings for the 4 MOLA channels, at half-frame rate (order: 1A, 2A, 3A, 4A, 1B, 2B, 3B, and 4B), 8 2-byte values |
- receiver channel mask | 2 |
MOLA channel mask setting for the frame; the mask indicates whether any of the 4 channels have been commanded off | |
- algorithm word MIN_HITS | 2 |
Frame value for the flight software word MIN_HITS | |
- algorithm word HIT_COUNT | 2 |
Counts | Frame value for the flight software word HIT_COUNT |
- frame counter | 2 |
Software status value | |
- trigger channel | 2 |
Software status value | |
- within-packet frame index | 2 |
Count | Frame number (among seven frames in MOLA telemetry packet) generated in Ground Data System processing |
- packet source header | 8 |
Information placed in MOLA telemetry packet by Payload Data System | |
- telemetry packet coarse time code seconds | 4 |
ET (Elapsed Time) seconds | The whole portion of the Payload Data System generated time code in ET seconds referenced to J2000; a signed number. |
- telemetry packet coarse time code milliseconds | 2 |
ET milliseconds | The fractional portion of the Payload Data System generated time code in ET seconds referenced to J2000; a signed number |
- telemetry packet fine time code | 2 |
counts | MOLA generated fine time counter |
- engineering/housekeeping data | 28 |
Complete set of packet engineering and housekeeping data (196 bytes) from each MOLA telemetry packet, subcommutated into 7 data frames, 28 bytes appear at this location in each frame | |
- orbit quality flag | 2 |
Flag indicating origin of orbit. 0 indicates JPL NAV team was producer; 1 or higher indicates the MOLA Science Team reference gravity model number. | |
- attitude flag | 2 |
Flag to indicate spacecraft attitude information was missing for this frame. Set to 2 if attitude information was missing for part of the frame; 3 if missing for entire frame; otherwise 0. | |
- frame local time | 2 |
radians * 104 | The subsolar longitude on Mars, -Pi to Pi. |
- phase angle | 2 |
radians * 104 | The angle between the vectors from Mars to Mars Global Surveyor and from Mars to the Sun at the frame mid-point location |
- solar incidence angle | 2 |
radians * 104 | The angle between the Mars surface normal vector and the Sun vector at the frame mid-point location |
- emission angle | 2 |
radians * 104 | The angle between the Mars surface normal vector and the Mars Global Surveyor vector at the frame mid-point location |
- along-track shiftb | 2 |
seconds * 105 | Empirical adjustment of frame mid-point on ground in the along-track direction from crossover analysis |
- across-track shiftb | 2 |
seconds * 105 | Empirical adjustment of frame mid-point on ground in the across-track direction (90° ccw from along-track) |
- double precision frame mid-point time | 8 |
seconds | The frame mid-point time represented in IEEE standard double precision; ET seconds from J2000 |
- trigger channel raw received pulse energy | 20 |
Counts | The received pulse energy counts; 255=>saturation; 20 1-byte values |
- trigger channel raw received pulse width | 20 |
Counts | The received pulse width counts; 63=>saturation; 20 1-byte values |
delta spacecraft latitude | 4 |
Degrees * 106 | The average change in spacecraft areocentric latitude associated with each 20-shot MOLA frame |
delta spacecraft longitude |
4 |
Degrees * 106 | The average change in spacecraft areocentric longitude associated with each 20-shot MOLA frame |
delta spacecraft radius | 4 |
Centimeters | The average change in spacecraft areocentric radius associated with each 20-shot MOLA frame |
- Areoid radius | 4 |
Centimeters | The radius of the reference areoid with 3396 kilometer mean equatorial radius, determined from the GMM-1 or more recent potential model of degree and order 70 |
- Off-nadir angle | 4 |
Degrees * 106 | Angle between the transmitted laser shot direction and areocentric direction, at spacecraft frame mid-point |
- Encoder bits | 20 |
The start and stop encoder bits for each MOLA shot. With these bits, the MOLA shot range is interpolated within each clock count. The start and stop encoders are stored in bits 0-1 and 4-5 of each byte | |
- delta areoid | 4 |
centimeters | The average change in areoid associated with each 20-shot MOLA frame. |
- MOLA clock rate | 4 |
Hertz | The MOLA clock frequency used to calculate laser pulse time-of-flight. |
- MOLA range | 80 |
centimeters | The MOLA one-way range value per shot; the raw MOLA time-of-flight range plus the range correction below, 20 4-byte values |
- range correction | 40 |
centimeters | Correction to the range value due to the detector response and range walk, 20 2-byte values |
- delta latitude | 4 |
Degrees * 106 | The average distance between each areocentric latitude associated with each 20-shot MOLA frame |
- delta longitude | 4 |
Degrees * 106 | The average distance between each areocentric longitude associated with each 20-shot MOLA frame |
TOTAL: | 776 |
Table 3: PEDR Data Product Subcommutated Data Format
Packet |
Contents |
Length |
Frame |
Frame |
Frame |
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
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 |
IAU1991 | Report of the IAU/IAG/COSPAR Working Group on Cartographic Coordinates and Rotational Elements of the Planets and Satellites, Buenos Aires, 1991. |
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 MOLAPEDR SIS contains no listing of PDS Catalog Files
Appendix C
PEDR Data Product SFDU Labels and Format Files
C.1 PEDR Data Product SFDU Labels and Catalog Header
CCSD3ZF0000100000001NJPL3KS0PDSX$$INFO$$
PDS_VERSION_ID = PDS3
RECORD_TYPE = FIXED_LENGTH
FILE_RECORDS = 'UNK'
RECORD_BYTES = 776
LABEL_RECORDS = 10
FILE_NAME = '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, IAU1991, 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, IAU1991, 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."
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, IAU1991, 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. Initially, the Goddard Mars Model 1 (GMM1) of Smith et al., 1993, with the coordinate system of IAU1991, is used."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = OFF_NADIR_ANGLE
DATA_TYPE = MSB_INTEGER
START_BYTE = 617
BYTES = 4
UNIT = 'DEGREES * (10**6)'
DESCRIPTION = "Angle between the 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