Submitted: ________________________________________________ __________
Gregory A. Neumann Date
MOLA Science Team
Concurred: ________________________________________________ __________
Maria Zuber Date
MOLA Deputy Principal Investigator
Approved: ________________________________________________ __________
David E. Smith Date
MOLA Principal Investigator
| Document and Change Control Log | |||
|---|---|---|---|
| Date | Version | Section | Status |
| 03/31/97 | 1.0 | all | Released for MGS |
| 02/27/98 | 2.0 | all | Revised for PDS MGS CD-ROM Sampler |
| List of Figures | |
|---|---|
| 1 | AEDR Label and Data Format |
| List of Tables | |
|---|---|
| 1 | AEDR Science Mode Packet Format |
| 2 | AEDR Maintenance Mode Packet Format |
DRSE007 Mars Observer Software
Interface Specification MOLA Packet Data Record, September 16, 1991, Jet
Propulsion Laboratory
SFOC0038-05-12-03 SFOC
Software Interface Specification SFDUs Generated/Received by TIS, November 30,
1990, Jet Propulsion Laboratory
MOLA-672-PL-89.354 Operations
Facility Configuration and Control Plan, Version 3.0, January 15, 1992, NASA
GSFC WFF
SFOC0088-00-04-02 SFOC User's
Guide for Workstation End Users, Volume 2: Accessing Data, Version 15 (Review
Copy Only)
SFOC0038-00-TBD-01
SFOC-2-CDB-Any-Catalog 2, Draft, February 6, 1990
MOLA-972-SP-92.213 MOLA
CD-ROM Standard Product Archive Collection Software Interface Specification,
Version 1.0, S. Slavney, R. E. Arvidson, Washington University, August 11,
1993
The Precision Experiment Data Record (PEDR) Data Product is derived from the AEDR file. Therefore, any changes to the AEDR file may affect the software creating the PEDR Data Product.
The data set id for the MOLA AEDR data product is MO-M-MOLA-2-AEDR-L0-V1.0. This is the data set id that was provided to the PDB and the PDS. This id describes the overall AEDR data product. The version number is incremented should the AEDR Data Product format change.
The file naming convention for each AEDR data product produced is
AA#####a.b.
Where:
A | represents the MOLA instrument, an altimeter |
A | is the data product, AEDR, identifier |
##### | is the orbit number with leading zeros |
a | is the product edition number |
b | indicates the file is fixed point, binary. |
The AEDR Data Product shall be distributed to the PDS Geosciences Node for archival. The MOLA CD-ROM Archive Volume SIS, Applicable Document #6 for the CD-ROM structure and data access information.
The interface media for file transfer and distribution are described in detail in Applicable Document #3.
MOLASCI.FMT and
MOLAMNT.FMT. These files are provided in Appendix C.2 and Appendix C.3.
Additionally, MOLASCI.FMT references the format files
MOLASCFR.FMT and MOLASCCT.FMT to further describe
the AEDR format. These files are provided in Appendix
C.4 and Appendix C.5.
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, delimits product by total EOFs |
0 | is a spare octet |
0001 | is the Data Descriptive Package ID |
00000001 | is the delimiter value field, Total EOF Indicator Count (ASCII) |
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. The catalog entries
(keywords) that are required by the Project are
| PDS_VERSION_ID RECORD_TYPE FILE_RECORDS RECORD_BYTES LABEL_RECORDS FILE_NAME DATA_SET_ID PRODUCT_ID SPACECRAFT_NAME INSTRUMENT_ID INSTRUMENT_NAME TARGET_NAME SOFTWARE_NAME | UPLOAD_ID PRODUCT_RELEASE_DATE START_TIME STOP_TIME SPACECRAFT_CLOCK_START_COUNT SPACECRAFT_CLOCK_STOP_COUNT PRODUCT_CREATION_TIME MISSION_PHASE_NAME ORBIT_NUMBER PRODUCER_ID PRODUCER_FULL_NAME PRODUCER_INSTITUTION_NAME DESCRIPTION |
Example catalog entries and their values are provided in Appendix C.1.
The catalog entries will be delimited by the K-header end label; it has the following form:
CCSD$$MARKER$$INFO$$
NJPL3IF0000000000001
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, delimits by total EOFs |
0 | is a spare octet |
0000 | is the Data Descriptive Package ID |
00000001 | is the delimiter value field, Total EOF Indicator Count (ASCII) |
| PRIMARY SFDU START LABEL |
| K-HEADER START LABEL |
| CATALOG ENTRIES: KEYWORD=VALUE |
| K-HEADER END LABEL |
| I-CLASS START LABEL |
|
1
ORBIT
|
ENTRY_NAME = "Aggregated Experiment Data Record File" COMMENTS = "The first archived MOLA data product. The experiment
data records grouped by orbit. The Level 0 data product consisting of
all 14-second science and maintenance mode telemetry data packets or
EDRs collected in chronological order for a specific Mars orbit to
form the raw packet data file." ALIAS = "AEDR File; MOLA Aggregated Packet Data File" AUTHOR = "Abshire, Blair, Hancock, Hayne, and Northam" ENTRY_TYPE = "GROUP" DATE_CREATED = 08/27/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = "N/A" FIELD_FORMAT = "One logical record per physical record
(unblocked)" ALLOW_BLANKS = "N/A" BINARY_VALUES = "N/A" RANGE = "N/A" DISCRETE_VALUES = "N/A" COMPOSITION = "AEDR + AEDR + ... + AEDR" DATA_TYPE = "sequential access file" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "N/A" UNITS = "N/A" ENTRY_NAME = "Aggregated Experiment Data Record" COMMENTS = "The first archived MOLA data product logical record.
The experiment data record. The Level 0 data product logical record;
a 14-second science or maintenance mode telemetry data packet or EDR.
Packet Error Control is optional; it is not used for MOLA" ALIAS = "AEDR; MOLA Raw Packet; Maintenance Mode EDR; Science
Mode EDR" AUTHOR = "Abshire, Blair, Hancock, Hayne, and Northam" ENTRY_TYPE = "GROUP" DATE_CREATED = 08/27/90 DATE_MODIFIED = 12/02/92 FIELD_NAME = "N/A" FIELD_FORMAT = "N/A" ALLOW_BLANKS = "N/A" BINARY_VALUES = "N/A" RANGE = "N/A" DISCRETE_VALUES = "N/A" COMPOSITION = "CHDO+P_SHDR+TIMCD+SOURCE_DATA+Packet Error
Control" DATA_TYPE = "logical record" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once per 14-seconds" UNITS = "N/A" ENTRY_NAME = "Packet CHDO" COMMENTS = "The compressed header data object applied to the
packet by the Telemetry Input System (TIS); 150 bytes" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/02/92 DATE_MODIFIED = 12/02/92 FIELD_NAME = CHDO FIELD_FORMAT = "150 bytes" ALLOW_BLANKS = "N/A" BINARY_VALUES = "1200-bit, unsigned" RANGE = "N/A" DISCRETE_VALUES = "N/A" COMPOSITION = CHDO DATA_TYPE = "INTEGER" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once per 14-seconds" UNITS = "N/A" ENTRY_NAME = "Packet source header" COMMENTS = "The primary source information header applied by the
Payload Data System (PDS) to the MOLA telemetry packet at the time of
creation of the packet prior to transfer frame creation." ALIAS = "telemetry packet header, primary header" AUTHOR = "Garvin, Hancock, Northam, and Jester" ENTRY_TYPE = "GROUP" DATE_CREATED = 03/17/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = P_SHDR FIELD_FORMAT = "3I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "48-bit, unsigned" RANGE = "N/A" DISCRETE_VALUES = "N/A" COMPOSITION = " PKT_ID + SEQ_CTRL + PKT_LEN" DATA_TYPE = "INTEGER" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once per 14-seconds" UNITS = "N/A" ENTRY_NAME = "Packet ID" COMMENTS = "Identifies the format and originating source of the
packet." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "GROUP" DATE_CREATED = 12/07/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = PKT_ID FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16-bit, unsigned" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = " VERS_NUM + SPARE + FLAG + APPL_ID" DATA_TYPE = "INTEGER" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once per 14-seconds" UNITS = "N/A" ENTRY_NAME = "Version number" COMMENTS = "These bits identify Version 1 as the Source Packet
structure. These bits shall be set to '000'." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/07/90 DATE_MODIFIED = 09/24/91 FIELD_NAME = VERS_NUM FIELD_FORMAT = "3 bits (0-2)" ALLOW_BLANKS = "N/A" BINARY_VALUES = "UNSIGNED" RANGE = 0:7 DISCRETE_VALUES = {0} COMPOSITION = VERS_NUM DATA_TYPE = "INTEGER" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once per 14 seconds" UNITS = "N/A" ENTRY_NAME = "Spare" COMMENTS = "Reserved spare. This bit shall be set to '0'." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/07/90 DATE_MODIFIED = 09/24/91 FIELD_NAME = SPARE FIELD_FORMAT = "1 bit (3)" ALLOW_BLANKS = "N/A" BINARY_VALUES = "UNSIGNED" RANGE = 0:0 DISCRETE_VALUES = {0} COMPOSITION = SPARE DATA_TYPE = "INTEGER" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once per 14 seconds" UNITS = "N/A" ENTRY_NAME = "Flag" COMMENTS = "This flag signals the presence or absence of a
Secondary Header data structure within the Source Packet. This bit
shall be set to '0' since no Secondary Header formatting standards
currently exist for Mars Global Surveyor." ALIAS = "Secondary header flag" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/07/90 DATE_MODIFIED = 09/24/91 FIELD_NAME = FLAG FIELD_FORMAT = "1 bit (4)" ALLOW_BLANKS = "N/A" BINARY_VALUES = "UNSIGNED" RANGE = 0:0 DISCRETE_VALUES = {0} COMPOSITION = FLAG DATA_TYPE = "INTEGER" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once per 14 seconds" UNITS = "N/A" ENTRY_NAME = "Application ID" COMMENTS = "This field uniquely identifies the individual
application process within the spacecraft that created the Source
Packet data." ALIAS = "Application Process ID" AUTHOR = "Jester" ENTRY_TYPE = "GROUP" DATE_CREATED = 12/07/90 DATE_MODIFIED = 06/11/92 FIELD_NAME = APPL_ID FIELD_FORMAT = "11 bits (5 - 15)" ALLOW_BLANKS = "N/A" BINARY_VALUES = "N/A" RANGE = "N/A" DISCRETE_VALUES = "N/A" COMPOSITION = "ERR_STAT + INSTR_ID" DATA_TYPE = "INTEGER" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once per 14 seconds" UNITS = "N/A" ENTRY_NAME = "Error status bits (PDS)" COMMENTS = "N/A" /* Don't have a detailed description of this packet value */ ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = ERR_STAT FIELD_FORMAT = "3 bits (5-7)" ALLOW_BLANKS = "N/A" BINARY_VALUES = "UNSIGNED" RANGE = 0:7 DISCRETE_VALUES = N/A COMPOSITION = ERR_STAT DATA_TYPE = "INTEGER" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once per 14 seconds" UNITS = "N/A" ENTRY_NAME = "Instrument ID" COMMENTS = "00100011 is the bit pattern for MOLA" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 06/11/92 FIELD_NAME = INSTR_ID FIELD_FORMAT = "8 bits (8-15)" ALLOW_BLANKS = "N/A" BINARY_VALUES = "UNSIGNED" RANGE = "N/A" DISCRETE_VALUES = {00100011 (35)} COMPOSITION = INSTR_ID DATA_TYPE = "INTEGER" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once per 14 seconds" UNITS = "N/A" ENTRY_NAME = "Sequence control" COMMENTS = "N/A" ALIAS = "Packet sequence control" AUTHOR = "Jester" ENTRY_TYPE = "GROUP" DATE_CREATED = 12/06/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = SEQ_CTRL FIELD_FORMAT = I*2 ALLOW_BLANKS = "N/A" BINARY_VALUES = "16-bit, unsigned" RANGE = "N/A" DISCRETE_VALUES = "N/A" COMPOSITION = "SEG_FLAG + SEQ_CNT" DATA_TYPE = "INTEGER" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once per 14-seconds" UNITS = "N/A" ENTRY_NAME = "Segmentation Flag" COMMENTS = "For Mars Global Surveyor segmentation shall not
occur. These bits shall be set to '11'." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/07/90 DATE_MODIFIED = 09/24/91 FIELD_NAME = SEG_FLAG FIELD_FORMAT = "2 bits (0-1)" ALLOW_BLANKS = "N/A" BINARY_VALUES = "UNSIGNED" RANGE = "N/A" DISCRETE_VALUES = {11 (3)} COMPOSITION = SEG_FLAG DATA_TYPE = "INTEGER" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once per 14 seconds" UNITS = "N/A" ENTRY_NAME = "Sequence count" COMMENTS = "This field contains a straight sequential count
(modulo 16384) of each packet generated by the MOLA application
process on the spacecraft. The purpose of the field is to order this
packet with respect to other packets from the same application
process. The last four bits are the counter into the OTS array in the
Parameter Table." ALIAS = "Source sequence count" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/07/90 DATE_MODIFIED = 06/11/92 FIELD_NAME = SEQ_CNT FIELD_FORMAT = "14 bits (2-15)" ALLOW_BLANKS = "N/A" BINARY_VALUES = "UNSIGNED" RANGE = 0:16383 DISCRETE_VALUES = "N/A" COMPOSITION = SEQ_CNT DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once per 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Packet length" COMMENTS = "This field contains a sequential 16-bit binary count
'C' of the length (in octets) of the data area structure that is
enclosed between the first bit of the Secondary Header and the last
bit of the packet (i.e., the last bit of the Source Data field). C =
((no. of octets) - 1)" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/06/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = PKT_LEN FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16-bit, unsigned, fixed-point" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = PKT_LEN DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once per 14-seconds" UNITS = "COUNTS" ENTRY_NAME = "MOLA System time code" COMMENTS = "The MOLA system time is created from the 2 time words
input from the PDS time broadcast command. The MOLA time is updated
7/8 of a second after reception of the time broadcast command and 6/8
of a second after interpreting the time broadcast command with S/C +
1 second to arrive at the correct time. B[0] is S/C time in seconds *
224; B[1] is S/C time in seconds * 216; B[2] is S/C time in seconds *
28; B[3] is S/C time in seconds" ALIAS = "N/A" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/11/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = TIME FIELD_FORMAT = I*4 ALLOW_BLANKS = "N/A" BINARY_VALUES = "32 bit, unsigned" RANGE = 0:4,294,967,295 DISCRETE_VALUES = "N/A" COMPOSITION = TIME DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once per 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Fine Time" COMMENTS = "The hi-resolution timer reading taken during
interrupt handling routine triggered by the trailing edge of the
first 10 Hz interrupt encountered during this packet." ALIAS = "N/A" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/11/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = MSECS FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = "MSECS" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once per 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Source data" COMMENTS = "The source data field contains the measurement
information generated by the primary application process operating
within each source. The size of the field shall be an integral number
of octets. For MOLA the measurement information is generated by the
Laser Altimeter and the field size is 1080 bytes (8640 bits). The
field size includes the source primary header (48 bits) and the time
code words (40 bits). Both Maintenance Mode and Science Mode packets
are included in compostion." ALIAS = "Telemetry packet data, science mode data" AUTHOR = "Jester" ENTRY_TYPE = "GROUP" DATE_CREATED = 12/11/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = SOURCE_DATA FIELD_FORMAT = N/A /* Formatted as described in the following entries.
*/ ALLOW_BLANKS = "N/A" BINARY_VALUES = "UNSIGNED" RANGE = "N/A" DISCRETE_VALUES = "N/A" COMPOSITION = " 'PKT_TYPE + ENG_HSK_DAT + SEU_CNT + SW_VNUM +
FL_RAMTEST + SCI_DAT' or 'PKT_TYPE + ENG_HSK_DAT + SEU_CNT + SW_VNUM
+ FL_RAMTEST + MM_DAT'" DATA_TYPE = "N/A" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once / 14 seconds" UNITS = "N/A" ENTRY_NAME = "Packet type" COMMENTS = "Packet type identifier byte. Distinguishes Science
Mode packets from Maintenance Mode packets. Science Mode = 0.
Maintenance Mode = [1 = Status packet, 2 = memory dump, 3 = noise
count]. Values 4 - 255 are reserved for future modes. Modes 0, 1, 2
are hard coded in the flight software. Mode 3 is the result of a code
patch. The packet type value should be patched when a code patch
occurs that affects that mode's packet content." ALIAS = "N/A" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/11/90 DATE_MODIFIED = 06/11/92 FIELD_NAME = PKT_TYPE FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "unsigned, 8 bit" RANGE = 0:255 DISCRETE_VALUES = {0, 1, 2, ..., 255} COMPOSITION = PKT_TYPE DATA_TYPE = "INTEGER" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once / 14 seconds" UNITS = "N/A" ENTRY_NAME = "Engineering/Housekeeping data" COMMENTS = "Analog monitor values; occur once per packet. Used
for instrument health and welfare assessment." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "GROUP" DATE_CREATED = 03/06/91 DATE_MODIFIED = 08/20/91 FIELD_NAME = ENG_HSK_DAT FIELD_FORMAT = N/A /* Formatted as follows */ ALLOW_BLANKS = "N/A" BINARY_VALUES = "UNSIGNED" RANGE = "N/A" DISCRETE_VALUES = "N/A" COMPOSITION = "CM_TMP + CPU_TMP + PS_TMP + IO_TMP + AHS_TMP +
DADE_TMP + LED_TMP + OSC_TMP + SD_TEMP + DB_TMP + LOPP__TMP +
LOUT_TMP + IF_TMP + RST_TMP + EB_TMP + LB_TMP + P28V_MN + RV_MN +
P12V_MN + P24V_MN + P5V_MN + N12V_MN + LTC_MN + N5V_MN + PSC_MN +
HV_MON + N12VC_MN + P12VC_MN + N5VC_MN + P5VC_MN" DATA_TYPE = "INTEGER" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once / 14 seconds" UNITS = "N/A" ENTRY_NAME = "Computer memory temperature" COMMENTS = "Mux A, Ch #2" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = CM_TMP FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = CM_TMP DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Computer CPU temperature" COMMENTS = "Mux A, Ch #1" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = CPU_TMP FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = CPU_TMP DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Power Supply temperature" COMMENTS = "Mux A, Ch #4" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = PS_TMP FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = PS_TMP DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Computer I/O temperature" COMMENTS = "Mux A, Ch #3" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = IO_TMP FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = IO_TMP DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "LASER array heat sink temperature" COMMENTS = "Mux A, Ch #6" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = LARY_TEMP FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = AHS_TEMP DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "LASER diode array drive electronics temperature" COMMENTS = "Mux A, Ch #5" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = DADE_TEMP FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = LDRV_TEMP DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Optical Test Source (OTS) LED temperature" COMMENTS = Mux A, Ch #8 ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = LED_TMP FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = LED_TMP DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "100 MHz Oscillator temperature" COMMENTS = Mux A, Ch #7 ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = OSC_TMP FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = OSC_TMP DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Start detector temperature" COMMENTS = "Mux A, Ch #10" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = SD_TMP FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = SD_TMP DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Outside Detector Box temperature" COMMENTS = Mux A, Ch #9 ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = DH_TMP FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = DB_TMP DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "LASER Radiator opposite output port
temperature" COMMENTS = Mux A, Ch #11 ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = LOPP_TMP FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = LOPP_TMP DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "LASER Radiator output port temperature" COMMENTS = "Mux A, Ch #11" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = LOUT_TMP FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = LOUT_TMP DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Interface Plate near 'hot foot' temperature" COMMENTS = "Mux A, Ch #14" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = IF_TMP FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = IF_TMP DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Radiation sheet transition temperature" COMMENTS = "Mux A, Ch #13" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = HP_TMP FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = RST_TMP DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Electronics Box top near S/C thermistor
temperature" COMMENTS = "Mux A, Ch #16" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = EB_TMP FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = EB_TMP DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "LASER Box near 'hot foot' temperature" COMMENTS = "Mux A, Ch #15" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = LB_TMP FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = LB_TMP DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "28 Volt monitor" COMMENTS = "Mux B, Ch #2" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = P28V_MN FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = P28V_MN DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Reference Voltage monitor" COMMENTS = "Mux B, Ch #1" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = RV_MN FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = RV_MN DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "+12 Volt voltage monitor" COMMENTS = "Mux B, Ch #4" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = P12V_MN FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = P12V_MN DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "24 Volt voltage monitor" COMMENTS = "Mux B, Ch #3" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = P24V_MN FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = P24V_MN DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "+5 Volt voltage monitor" COMMENTS = "Mux B, Ch #6" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = P5V_MN FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = P5V_MN DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "-12 Volt voltage monitor" COMMENTS = "Mux B, Ch #5" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = N12V_MN FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = N12V_MN DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "LASER / thermal current monitor" COMMENTS = "Mux B, Ch #8" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = LTC_MN FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = LTC_MN DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "-5 Volt voltage monitor" COMMENTS = "Mux B, Ch #7" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = N5V_MN FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = N5V_MN DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Power Supply current monitor" COMMENTS = "Mux B, #10" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = PSC_MN FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = PSC_MN DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "High Voltage current monitor" COMMENTS = "Mux B, Ch #9" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = HV_MON FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = HV_MON DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "-12 Volt current monitor" COMMENTS = "Mux B, Ch #12" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = N12VC_MN FIELD_FORMAT = "I*1 ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = N12VC_MN DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "+12 Volt current monitor" COMMENTS = "Mux B, Ch #11" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = P12VC_MN FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = P12VC_MN DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "-5 Volt current monitor" COMMENTS = "Mux B, Ch #14" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = N5VC_MN FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = N5VC_MN DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "+5 Volt current monitor" COMMENTS = "Mux B, Ch #13" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/10/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = P5VC_MN FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = P5VC_MN DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Current STATUS register value (SEU counter)" COMMENTS = "Value read from STATUS register at end of packet
collection cycle. Read STATUS register and store lower 8 bits.
MSnibble = SEU counter value" ALIAS = "STATUS register at end of packet collection cycle" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/11/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = SEU_CTR FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = SEU_CTR DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Software Version Number (4.4 bit format)" COMMENTS = "4.4 bit format version number. Version number is hard
coded in software and is stored in packet at the end of the packet
collection cycle. Any software patches should include an update to
this value. Current flight version is 5.3 therefore, 53h is hard
coded in the Pack_it() routine of the Science Mode. Maintenance Mode
version is 6.2 therefore 62h is coded." ALIAS = "N/A" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/11/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = SW_VER FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = SW_VER DATA_TYPE = "INTEGER" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once / 14 seconds" UNITS = "N/A" ENTRY_NAME = "Flag word (2 KB RAM block test)" COMMENTS = "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. {jbb - A 0 represents a validated
block, while a 0 (1?) means that the program encountered an invalid
compare on at least one byte in that block area. B[0] is bits 15 - 8
of RAM test flag; B[1] is bits 7 - 0 of RAM test flag" ALIAS = "RAM block test flag word" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/11/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = RAMTEST FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16 bit, unsigned" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = RAMTEST DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "N/A" DATA_RATE = "once / 14 seconds" UNITS = "N/A" NOTE = "At this point the format and data elements in the two
modes differ." ENTRY_NAME = "Science Mode Data" COMMENTS = "The description of the Science Mode Data (SCI_DAT) is
included here. See the AEDR Maintenance Mode Data Dictionary for a
description of the Maintenance Mode telemetry data packets
(MM_DAT)." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 09/28/91 DATE_MODIFIED = 09/28/91 FIELD_NAME = SCI_DAT FIELD_FORMAT = "N/A" ALLOW_BLANKS = "N/A" BINARY_VALUES = "N/A" RANGE = "N/A" DISCRETE_VALUES = "N/A" COMPOSITION = "ST_FLAGS + SW_VAL + RECCMD_CNT + CMDERR_CNT +
XMIT_TH + RT_STAT + R_GATE + HSTART_VAL + VALCMD_CNT + MEM_DUMP +
CMD_ECHO + PKT_VAL + FRM_SHOT_DATA" DATA_TYPE = "INTEGER" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once / 14 seconds" UNITS = "N/A" ENTRY_NAME = "Status Flags (SFLAG1(16 bits),SFLAG2(16 bits))" COMMENTS = "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. SFLAG1 = (B[0] * 256) +
B[1]; SFLAG2 = (B[2] * 256) + B[3]. The meanings of the individual
bit settings is in Appendix A of the Flight Software's User's
Guide" ALIAS = "32 software status bits" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/11/90 DATE_MODIFIED = 06/11/92 FIELD_NAME = "ST_FLG_1,ST_FLG_2" FIELD_FORMAT = "eight 4 bit values" ALLOW_BLANKS = "N/A" BINARY_VALUES = "32 bit, unsigned" RANGE = 0:4,294,967,295 DISCRETE_VALUES = "N/A" COMPOSITION = "ST_FLG_1,ST_FLG_2" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "N/A" DATA_RATE = "once / 14 seconds" UNITS = "N/A" ENTRY_NAME = "Software validity checksum" COMMENTS = "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." ALIAS = "N/A" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/11/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = SW_CKSM FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16 bits, unsigned" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = SW_CKSM DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "N/A" ENTRY_NAME = "Received command count (modulo 8 bits)" COMMENTS = "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." ALIAS = "Number of commands received" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/11/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = REC_CMD FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = 8 bits, unsigned RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = REC_CMD DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "N/A" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Command error count (modulo 8 bits)" COMMENTS = "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 TBD." ALIAS = "Number of command errors encountered" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/11/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = CMD_ERR FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = CMD_ERR DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "N/A" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Transmitter threshold setting (XMITDA)" COMMENTS = "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." ALIAS = "Transmitter start detector threshold setting" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/11/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = XMTR_TS FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = XMTR_TS DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = millivolts ENTRY_NAME = "Range Tracking Status" COMMENTS = "MSB = OTS_FIRE value, bits 7654321, 1 = TRACKING, 0 =
ACQ. MSB (#7) is the LSB of OTS_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 OTS 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." ALIAS = "Ranging status byte and OTS fire flag value" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/11/90 DATE_MODIFIED = 06/11/92 FIELD_NAME = R_TRK_ST FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = R_TRK_ST DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "N/A" DATA_RATE = "once / 14 seconds" UNITS = "N/A" ENTRY_NAME = "Range gate tracker array (73.728 km)" COMMENTS = "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" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/11/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = R_BIN_HG FIELD_FORMAT = "48 1 byte bins" ALLOW_BLANKS = "N/A" BINARY_VALUES = "384 bits, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = R_BIN_HG DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "N/A" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "HSTART value for HISTOGRAM dump" COMMENTS = "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). HSTART is right shifted one bit and used as a
word pointer, therefore, its LSB is cleared. B[0] = MSByte of HSTART;
B[1] = LSByte of HSTART" ALIAS = "N/A" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/11/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = HSTART FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16 bits, unsigned" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = "HSTART" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "N/A" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Valid commands received count (modulo 16 bits)" COMMENTS = "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 (irregardless of
parameter offset validity - invalid offsets are flagged and counted
as Subcommand errors). 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 cmd counter" ALIAS = "# valid MOLA specific commands" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/11/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = VAL_CMD FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16 bit, unsigned" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = VAL_CMD DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "N/A" DATA_RATE = "once / 14 seconds" UNITS = "COUNTS" ENTRY_NAME = "Memory dump segment" COMMENTS = "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" ALIAS = "Ram dump portion" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/11/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = MEM_DUMP FIELD_FORMAT = "16 1 byte values" ALLOW_BLANKS = "N/A" BINARY_VALUES = "128 bits, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = "MEM_DUMP" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "N/A" DATA_RATE = "once / 14 seconds" UNITS = "N/A" ENTRY_NAME = "Command echo" COMMENTS = "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.
B[0]: MSB of command word (CW) #1;B[1]: LSB of CW#1;B[2]: MSB of
CW#2;B[3]: LSB of CW#2;B[4]: MSB of CW#3;B[5]: LSB of CW#3; B[6]: MSB
of CW#4;B[7]: LSB of CW#4;B[8]: MSB of CW#5;B[9]: LSB of CW#5;B[10]:
MSB of CW#6;B[11]: LSB of CW#6;B[12]: MSB of CW#7; B[13]: LSB of
CW#7;B[14]: MSB of CW#8;B[15]: LSB of CW#8. NOTE: The command echo
buffer is filled with zeros at the start of each packet." ALIAS = "Echo valid commands" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/11/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = CMD_ECHO FIELD_FORMAT = "8 I*2 words" ALLOW_BLANKS = "N/A" BINARY_VALUES = "128 bits, unsigned" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = CMD_ECHO DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "N/A" DATA_RATE = "once / 14 seconds" UNITS = "N/A" ENTRY_NAME = "Packet validity checksum" COMMENTS = "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." ALIAS = "N/A" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/11/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = PKT_CKSM FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16 bit, unsigned" RANGE = 0:65536 DISCRETE_VALUES = "N/A" COMPOSITION = PKT_CKSM DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / 14 seconds" UNITS = "N/A" ENTRY_NAME = "Frame /Shot data" COMMENTS = "For each of 7 frames, the good laser data out of 20
laser shots per frame." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "GROUP" DATE_CREATED = 08/20/91 DATE_MODIFIED = 08/20/91 FIELD_NAME = FRM_SHOT_DATA FIELD_FORMAT = "N/A" /* Formatted as described below */ ALLOW_BLANKS = "N/A" BINARY_VALUES = "UNSIGNED" RANGE = "N/A" DISCRETE_VALUES = "N/A" COMPOSITION = "RANGING_CNT + CH_1_RE + CH_2_RE + LZ_XMT + MF_ID +
TIU_URB + RC_MSK + AS_HCT + CH_1_TS + CH_2_TS + CH_3_TS + CH_4_TS +
R_DELAY + R_WIDTH + AS_MHT + SWSTAT + CH_1_BC + CH_2_BC + CH_3_BC +
CH_4_BC" DATA_TYPE = "INTEGER" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once per two seconds" UNITS = "COUNTS" ENTRY_NAME = "Range to surface" COMMENTS = "The possible 20 valid frame laser shots surface
ranging measurements in Timing Interval Unit (TIU) counts. The least
significant 16 bits of TIU (LSTIU), stored for every shot. B[0] =
Bits 15 - 8 of TIU reading; B[1] = Bits 7 - 0 of TIU reading" ALIAS = "Lower 16 bits of TIU" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/12/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = RANGING_CNT FIELD_FORMAT = "20 I*2 words" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16 bit, unsigned" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = "RANGING_CNT" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "10 shots per second" UNITS = "COUNTS" ENTRY_NAME = "1st channel received pulse energy" COMMENTS = "The level of return, reflected energy as received by
the first channel and matched filter to trigger. This is a set of
values for all possible 20 shots within the frame. Lowest numbered
non-zero energy reading for each shot." ALIAS = "Return energy in first triggered channel, First channel
to receive energy" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/12/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = CH_1_RE FIELD_FORMAT = "20 1 byte values" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = CH_1_RE DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "10 per second" UNITS = "COUNTS" ENTRY_NAME = "Channel Number / Pulse Width of Return Energy" COMMENTS = "The channel triggered by the return energy; bits 7,6
= channel number - 1. The pulse width of the returned shot; Bit 5 -
0." ALIAS = "Trigger channel" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 4/1/97 DATE_MODIFIED = 08/20/91 FIELD_NAME = CHAN_PW FIELD_FORMAT = "20 1 byte values" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned, fixed point" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = "CHAN_PW" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "10 per second" UNITS = "COUNTS" ENTRY_NAME = "LASER transmitter power" COMMENTS = "Transmitted laser pulse energy level. This is a set
of values for all 20 shots within the frame. Energy reading for LASER
transmit power for each shot." ALIAS = "Laser transmit power, laser shot power level, Laser shot
transmit power" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/12/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = LZ_XMT FIELD_FORMAT = "20 1 byte values" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8 bit, unsigned, fixed point" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = "LZ_XMT" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "10 per second" UNITS = "Pulse height" ENTRY_NAME = "Encoder Bits" COMMENTS = "The start and stop encoder bits for each shot.
Applied to range to surface counts to get a more precise range value.
A set of 20 half-byte values, one for each laser shot. Each byte
contains values for an odd and an even numbered shot. Per byte = Bit
7 - 6 - encoder stop bits for odd shots; Bit 5 - 4 - encoder start
bits for odd shots; Bit 3 - 2 - encoder stop bits for even shots; Bit
1 - 0 - encoder start bits for even shots. Odd numbered SHOTs order -
3,1, 7, 5,11, 9, 15, 13, 19, 17; Even numbered SHOTs order - 4, 2, 8,
6, 12, 10, 16, 14, 20, 18" ALIAS = "Interpolator bits" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 4/1/97 DATE_MODIFIED = 4/1/97 FIELD_NAME = ENC_BITS FIELD_FORMAT = "20 0.5 byte values" ALLOW_BLANKS = "N/A" BINARY_VALUES = "4-bit, unsigned, fixed-point" RANGE = 0:15 DISCRETE_VALUES = "N/A" COMPOSITION = "ENC_BITS" DATA_TYPE = "INTEGER" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "10 per second" UNITS = "N/A" ENTRY_NAME = "TIU upper range bits" COMMENTS = "The upper 3 or 3 highest ordered bits of the MOLA
time interval unit (TIU). Only the largest MSTIU value read in
current frame is saved. Only bits 6, 5, 4 are used. With Receiver
channel mask status (bits 3-0) below forms one byte. Will be either
the values 3 or 4." ALIAS = "Most significant portion of the range to surface
measurement" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/12/90 DATE_MODIFIED = 09/24/91 FIELD_NAME = TIU_URB FIELD_FORMAT = "7 0.5 byte values" ALLOW_BLANKS = "N/A" BINARY_VALUES = "4-bit, unsigned" RANGE = 0:7 DISCRETE_VALUES = {3,4} COMPOSITION = "TIU_URB" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once per 2 seconds; 7 per packet" UNITS = "COUNTS" ENTRY_NAME = "Receiver channel mask status" COMMENTS = "The altimeter channel mask settings from the flight
parameter table at the time of acquisition and storage of the TIU
upper range bits. The mask indicates if the channel filter is active
or is masked out to prevent triggering the TIU. Least significant 4
bits of ALTSET from Parameter table; stored at same time as largest
MSTIU. The value sent to ALTMOD in Altimeter Electronics. With TIU
upper range bits above forms one byte. Bit 3 = Channel 1; Bit 2 =
Channel 2; Bit 1 = Channel 3; Bit 0 = Channel 4. 1 = channel on, 0 =
channel off" ALIAS = "ALTMOD; parameter table channels enabled, Receiver
channel mask status bits" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/12/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = RC_MSK FIELD_FORMAT = "7 0.5 bytes per packet" ALLOW_BLANKS = "N/A" BINARY_VALUES = "4-bit, unsigned" RANGE = 0:15 DISCRETE_VALUES = "N/A" COMPOSITION = "RC_MSK" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once per 2 seconds" UNITS = "N/A" ENTRY_NAME = "Algorithm status (HIT_COUNT)" COMMENTS = "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. This is an indicator of the performance of the
tracking algorithm. 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. HIT_CNT from previous frame." ALIAS = "Tracking algorithm hit count status" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/12/90 DATE_MODIFIED = 09/24/91 FIELD_NAME = AS_HCT FIELD_FORMAT = "7 1 byte values" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8-bit, unsigned" RANGE = "0:20 or :80(tracking) or :80(acquisition)" DISCRETE_VALUES = {0, 20, 80} COMPOSITION = "AS_HCT" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once per 2 seconds" UNITS = "COUNTS" ENTRY_NAME = "Channel half-frame threshold settings" COMMENTS = "The active channel threshold settings in the current
frame. The settings of the 4 channel thresholds are sampled for the
first 10 shots in the frame, and again for the final 10 frame shots.
Value of CH(1,2,3,4) TH during a half-frame of current frame." ALIAS = "Receiver threshold settings" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/12/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = "CH_1_TS,CH_2_TS,CH_3_TS,CH_4_TS" FIELD_FORMAT = "8 1 byte values per frame (56 per packet)" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8-bit, fixed point, unsigned" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = "CH_1_TS,CH_2_TS,CH_3_TS,CH_4_TS" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "0nce per second (for each channel)" UNITS = "UNK" ENTRY_NAME = "Range delay" COMMENTS = "Current frame range gate delay value (DELAY) as set
from the previous data frame. B[0] : Bits 3 - 0 are bits 11 - 8 and
B[1] : LSByte (bits 0-7) of the 12 bit Range Delay setting for this
frame." ALIAS = "range gate delay" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/12/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = R_DELAY FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16-bit, unsigned, fixed point" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = "R_DELAY" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once per 2 seconds" UNITS = "COUNTS" ENTRY_NAME = "Range width" COMMENTS = "Current frame range gate window or width; set at end
of the previous data frame. B[0] : Bits 3 - 0 are bits 11 - 8 and
B[1] : LSByte of the 12 bit Range Gate Window setting for this
frame." ALIAS = "range gate width" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/12/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = R_WIDTH FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16-bit, unsigned, fixed-point" RANGE = 0:(2^12 - 1) DISCRETE_VALUES = "N/A" COMPOSITION = "R_WIDTH" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once per 2 seconds" UNITS = "COUNTS" ENTRY_NAME = "Algorithm status (MIN_HITS)" COMMENTS = "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." ALIAS = "minimum hit count" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/12/90 DATE_MODIFIED = 09/24/91 FIELD_NAME = AS_MHT FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8-bit, signed, fixed-point" RANGE = {-32768:32767} DISCRETE_VALUES = "N/A" COMPOSITION = "AS_MHT" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once per 2 seconds" UNITS = "COUNTS" ENTRY_NAME = "Software status (frame counter, trigger
channel)" COMMENTS = "Two of values reflecting the operation of the flight
software tracking algorithm. The frame counter value and the first
channel triggering at or above the minimum hit count are set from the
previous data frame tracking algorithm operation. Frame counter
(Frame_ctr) value from previous frame's tracking algorithm is in MS 4
bits; MIN_HITS trigger channel from previous frame is in LS 4
bits." ALIAS = "N/A" AUTHOR = "Blair, Jester" ENTRY_TYPE = "GROUP" DATE_CREATED = 12/12/90 DATE_MODIFIED = 09/24/91 FIELD_NAME = SWSTAT FIELD_FORMAT = "I*1" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8-bit, unsigned", fixed-point RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = "FRM_CTR + SS_MHT" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once per 2 seconds" UNITS = "N/A" ENTRY_NAME = "Frame counter" COMMENTS = "The frame counter value is set from the previous data
frame tracking algorithm operation. Frame counter (Frame_ctr) value
from previous frame's tracking algorithm is in MS 4 bits (7 - 4) of
Software status. Bits 7 - 4 are bits 3 - 0 of frame counter." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 03/06/91 DATE_MODIFIED = 09/24/91 FIELD_NAME = FRM_CTR FIELD_FORMAT = "0.5 byte" ALLOW_BLANKS = "N/A" BINARY_VALUES = "4-bit, unsigned, fixed-point" RANGE = 0:15 DISCRETE_VALUES = {1,2,3,4,5,6,7} COMPOSITION = "FRM_CTR" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once per 2 seconds" UNITS = "COUNTS" ENTRY_NAME = "Trigger channel" COMMENTS = "The first channel triggering at or above the minimum
hit count is set from the previous data frame tracking algorithm
operation. MIN_HITS trigger channel from previous frame is in LS 4
bits (0 - 3) of Software status. Bit 0 = Channel 1; Bit 1 = Channel
2; Bit 2 = Channel 3; Bit 3 = Channel 4" ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 03/0691 DATE_MODIFIED = 09/24/91 FIELD_NAME = SS_MHT FIELD_FORMAT = "0.5 byte" ALLOW_BLANKS = "N/A" BINARY_VALUES = "4-bit, unsigned, fixed-point" RANGE = 0:15 DISCRETE_VALUES = {1,2,3,4} COMPOSITION = "SS_MHT" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once per 2 seconds" UNITS = "N/A" ENTRY_NAME = "Channel background count" COMMENTS = "The background energy or noise count levels in
channels 1, 2, 3, and 4 respectively by half-frame. Pseudo log value
of NOISE(1, 2, 3, 4) at the end of a half-frame of current frame, 5.3
bit format. Plog base 2 of background count summed over 1st 10 shots
/ 2nd 10 shots of frame." ALIAS = "channel background noise levels, channel background
power" AUTHOR = "Blair, Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/12/90 DATE_MODIFIED = 08/20/91 FIELD_NAME = CH_1_BC,CH_2_BC,CH_3_BC,CH_4_BC FIELD_FORMAT = "8 1 byte values" ALLOW_BLANKS = "N/A" BINARY_VALUES = "8-bit, unsigned, fixed-point" RANGE = 0:255 DISCRETE_VALUES = "N/A" COMPOSITION = "CH_1_BC,CH_2_BC,CH_3_BC,CH_4_BC" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once per second (for each channel)" UNITS = "COUNTS" REFERENCE = "MOLA Data Packet Description" REF_AUTHOR = "James N. Caldwell" REF_DATE = "09/28/90" REF_VERSION = "PRELIMINARY" REFERENCE = "Experiment Data Record (EDR) MOLA Science Telemetry
Packet Spreadsheet" REF_AUTHOR = "E. Thomas Northam" REF_DATE = 01/16/91 REF_VERSION = 6.37 REFERENCE = "MOLA Packet Data Dictionary" REF_AUTHOR = "J. Bryan Blair" REF_DATE = 03/04/91 REF_VERSION = "UNK" REFERENCE = "Mars Observer Spacecraft Data Standards" REF_AUTHOR = "Kerry D. Erikson" REF_DATE = 07/01/88 REF_VERSION = "Revision A" REFERENCE = "MOLA Flight Software User's Guide" REF_AUTHOR = "J. Bryan Blair" REF_DATE = 04/10/91 REF_VERSION = "2.4"
Note: See Appendix A, the AEDR Science Mode Data Dictionary for the description of Maintenance Mode Data Elements that occur prior to those listed here. The definition of the data elements in all packet types is the same until this point.
ENTRY_NAME = "Maintenance Mode Data" COMMENTS = "Describes the contents and format of the maintenance
mode data. For maintenance mode status packets (packet type = 1), the
contents of the record will be filler data starting at byte 214 to
the end of the record. For maintenance mode memory dumps (packet type
= 2), the entire record will be filled with valid data. For
maintenance mode noise count data (packet type = 3), the entire
record will be filled with valid data." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "GROUP" DATE_CREATED = 09/28/91 DATE_MODIFIED = 06/11/92 FIELD_NAME = MM_DAT FIELD_FORMAT = "N/A" ALLOW_BLANKS = "N/A" BINARY_VALUES = "N/A" RANGE = "N/A" DISCRETE_VALUES = "N/A" COMPOSITION = "PARMUP_CC + MEMLOADS_CC + MEMDUMPS_CC + CMD_ERR +
STAT_FLAG + SCMD_ERR + CMD_REC + CMD_ECHO + MSTART_ADD + MEMDUMP_LEN
+ MEMDUMP_SEG + P_CHECK" DATA_TYPE = "N/A" ACCURACY = "N/A" PRECISION = "N/A" DATA_RATE = "once / maintenance mode packet (14 secs.)" UNITS = "N/A" ENTRY_NAME = "Command count (parameter updates)" COMMENTS = "Valid data for packet types 1, 2, and 3." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/17/90 DATE_MODIFIED = 06/11/92 FIELD_NAME = PARMUP_CC FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16 bit, unsigned" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = PARMUP_CC DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "N/A" DATA_RATE = "once / maintenance mode packet (14 secs.)" UNITS = "counts" ENTRY_NAME = "Command count (memory loads)" COMMENTS = "Valid data for packet types 1, 2, and 3." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12 /17/90 DATE_MODIFIED = 06/11/92 FIELD_NAME = MEMLOADS_CC FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16 bit, unsigned" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = MEMLOADS_CC DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "N/A" DATA_RATE = "once / maintenance mode packet (14 secs.)" UNITS = "counts" ENTRY_NAME = "Command count (memory dumps)" COMMENTS = "Valid data for packet types 1, 2, and 3." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/17/90 DATE_MODIFIED = 06/11/92 FIELD_NAME = MEMDUMPS_CC FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16 bit, unsigned" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = MEMDUMPS_CC DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "N/A" DATA_RATE = "once / maintenance mode packet (14 secs.)" UNITS = "count" ENTRY_NAME = "Command errors" COMMENTS = "Valid data for packet types 1, 2, and 3." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/17/90 DATE_MODIFIED = 06/11/92 FIELD_NAME = CMD_ERR FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16 bit, unsigned" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = "CMD_ERR" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "N/A" DATA_RATE = "once / maintenance mode packet (14 secs.)" UNITS = "counts" ENTRY_NAME = "Status flags" COMMENTS = "Valid data for packet types 1, 2, and 3." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "GROUP?" DATE_CREATED = 12/17/90 DATE_MODIFIED = 06/11/92 FIELD_NAME = STAT_FLAG FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16 bit, unsigned" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = "STAT_FLAG" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / maintenance mode packet (14 secs.)" UNITS = "UNK" ENTRY_NAME = "Sub-command errors" COMMENTS = "Valid data for packet types 1, 2, and 3." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/17/90 DATE_MODIFIED = 06/11/92 FIELD_NAME = SCMD_ERR FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16 bit, unsigned" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = "SCMD_ERR" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "N/A" DATA_RATE = "once / maintenance mode packet (14 secs.)" UNITS = "counts" ENTRY_NAME = "Commands received" COMMENTS = "Valid data for packet types 1, 2, and 3." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/18/90 DATE_MODIFIED = 06/11/92 FIELD_NAME = CMD_REC FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16 bit, unsigned" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = "CMD_REC" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "N/A" DATA_RATE = "once / maintenance mode packet (14 secs.)" UNITS = "counts" ENTRY_NAME = "Command echo" COMMENTS = "Valid data for packet types 1, 2, and 3." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/17/90 DATE_MODIFIED = 06/11/92 FIELD_NAME = CMD_ECHO FIELD_FORMAT = "I*154" ALLOW_BLANKS = "N/A" BINARY_VALUES = "1232 bit, unsigned" RANGE = "N/A" DISCRETE_VALUES = "N/A" COMPOSITION = "CMD_ECHO" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / maintenance mode packet (14 secs.)" UNITS = "UNK" ENTRY_NAME = "Memory dump start address" COMMENTS = "Valid data for packet type 2. Filler data for packet
type 1. Noise count data for packet type 3." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/17/90 DATE_MODIFIED = 06/11/92 FIELD_NAME = MSTART_ADD FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16 bit, unsigned" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = "MSTART_ADD" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / maintenance mode packet (14 secs.)" UNITS = "UNK" ENTRY_NAME = "Memory dump length" COMMENTS = "Valid data for packet type 2. Filler data for packet
type 1. Noise count data for packet type 3." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/17/90 DATE_MODIFIED = 06/11/92 FIELD_NAME = MEMDUMP_LEN FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16 bit, unsigned" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = "MEMDUMP_LEN" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / maintenance mode packet (14 secs.)" UNITS = "counts" ENTRY_NAME = "Memory dump segment" COMMENTS = "Valid data for packet type 2. Filler data for packet
type 1. Noise count data for packet type 3." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/17/90 DATE_MODIFIED = 06/11/92 FIELD_NAME = MEMDUMP_SEG FIELD_FORMAT = "I*860" ALLOW_BLANKS = "N/A" BINARY_VALUES = "6880 bits, unsigned" RANGE = "N/A" DISCRETE_VALUES = "N/A" COMPOSITION = "MEMDUMP_SEG" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / maintenance mode packet (14 secs.)" UNITS = "UNK" ENTRY_NAME = "Packet checksum" COMMENTS = "Valid data for packet type 1, 2, and 3." ALIAS = "N/A" AUTHOR = "Jester" ENTRY_TYPE = "ELEMENT" DATE_CREATED = 12/17/90 DATE_MODIFIED = 06/11/92 FIELD_NAME = P_CHECK FIELD_FORMAT = "I*2" ALLOW_BLANKS = "N/A" BINARY_VALUES = "16 bit, unsigned" RANGE = 0:65535 DISCRETE_VALUES = "N/A" COMPOSITION = "P_CHECK" DATA_TYPE = "INTEGER" ACCURACY = "UNK" PRECISION = "UNK" DATA_RATE = "once / maintenance mode packet (14 secs.)" UNITS = "UNK" REFERENCE = "MOLA Data Packet Description" REF_AUTHOR = "James N. Caldwell" REF_DATE = "09/28/90" REF_VERSION = "PRELIMINARY" REFERENCE = "Experiment Data Record (EDR) MOLA Science Telemetry
Packet Spreadsheet" REF_AUTHOR = "E. Thomas Northam" REF_DATE = 01/16/91 REF_VERSION = "6.37" REFERENCE = "MOLA Packet Data Dictionary" REF_AUTHOR = "J. Bryan Blair" REF_DATE = 03/04/91 REF_VERSION = "UNK" REFERENCE = "Mars Observer Spacecraft Data Standards" REF_AUTHOR = "Kerry D. Erikson" REF_DATE = 07/01/88 REF_VERSION = "Revision A"
CCSD3ZF0000100000001NJPL3KS0PDSX$$INFO$$ PDS_VERSION_ID = PDS3 RECORD_TYPE = FIXED_LENGTH FILE_RECORDS = UNK RECORD_BYTES = 1230 LABEL_RECORDS = 4 FILE_NAME = "AA90002F.B" ^MOLA_SCIENCE_MODE_TABLE = 5 ^MOLA_MAINTENANCE_MODE_TABLE = 5 DATA_SET_ID = 'MGS-M-MOLA-1-AEDR-L0-V1.0' PRODUCT_ID = 'MOLA-AA90002F.B' SPACECRAFT_NAME = 'MARS_GLOBAL_SURVEYOR' INSTRUMENT_ID = 'MOLA' INSTRUMENT_NAME = 'MARS_ORBITER_LASER_ALTIMETER' TARGET_NAME = 'MARS' SOFTWARE_NAME = 'BROWSER 17.1' UPLOAD_ID = '7.6' PRODUCT_RELEASE_DATE = 1997-258 START_TIME = 1997-212T19:10:00.000 STOP_TIME = 1997-212T19:45:00.000 SPACECRAFT_CLOCK_START_COUNT = 443588190.140 SPACECRAFT_CLOCK_STOP_COUNT = 443595246.140 PRODUCT_CREATION_TIME = 1997-258T22:45:00.000 NATIVE_START_TIME = -187606958.86449 NATIVE_STOP_TIME = -187599902.86499 MISSION_PHASE_NAME = 'MAPPING' ORBIT_NUMBER = 90002 PRODUCER_ID = 'MGS_MOLA_TEAM' PRODUCER_FULL_NAME = 'DAVID E. SMITH' PRODUCER_INSTITUTION_NAME = 'GODDARD SPACE FLIGHT CENTER' DESCRIPTION = "This data product contains the aggregation of MOLA
telemetry packets by orbit. All Experiment Data Record packets
retrieved from the PDB are collected in this data product. The AEDR
data product is put together with the Project-provided software tool
Browser." OBJECT = MOLA_SCIENCE_MODE_TABLE INTERCHANGE_FORMAT = BINARY ROWS = 'UNK' COLUMNS = 801 ROW_BYTES = 1080 ^STRUCTURE = "MOLASCI.FMT" DESCRIPTION = "This table is one of two that describe the
arrangement of information on the Mars Orbiter Laser Altimeter (MOLA)
Aggregated Engineering Data Record (AEDR). These Experiment Data
Records (EDRs) are produced during the science and maintenance modes
of instrument operation. Consequently, there are two record formats
possible within the AEDR file. The MOLA_SCIENCE_MODE_TABLE describes
the format of the data taken in the Science mode. The
MOLA_MAINTENANCE_MODE_TABLE describes the format of the data taken in
the Maintenance mode. The data are written sequentially. Each record
will contain one packet of MOLA telemetry data. Each record contains
an indicator of its packet type (e.g. science, maintenance, memory
dump) in byte 11 of the file. It is by interpreting this indicator
that the user will know which table to apply to the data. For fuller
description of the values associated with this indicator, please se END_OBJECT = MOLA_SCIENCE_MODE_TABLE OBJECT = MOLA_MAINTENANCE_MODE_TABLE INTERCHANGE_FORMAT = BINARY ROWS = 'UNK' COLUMNS = 52 ROW_BYTES = 1080 ^STRUCTURE = "MOLAMNT.FMT" DESCRIPTION = "This table is one of two that describe the
arrangement of information on the Mars Orbiter Laser Altimeter (MOLA)
Aggregated Engineering Data Record (AEDR). These Experiment Data
Records (EDRs) are produced during the science and maintenance modes
of