Mars Exploration Rover (MER)

Software Interface Specification

Interface Title: APXS Reduced Data Record (RDR)

Mission: MER Date: March 31, 2005

Module ID: SIS-SCI015-MER

Module Type (REFerence Only or MISsion-specific info included): MIS

Reference Module ID: N/A Date: N/A

Signatures

GDS Generating Elements:

APXS Payload Element Lead

Ralf Gellert ______________________________________________________

PEL Date

Concurrence:

MER APXS Investigation Scientist

Albert Yen ______________________________________________________

Investigation Scientist Date

MER Science Manager

John Callas ______________________________________________________

Manager Date

PDS Geosciences Node Lead

Raymond Arvidson ______________________________________________________

PDS Node Lead Date


Mars Exploration Rover (MER) Project

APXS Reduced Data Record (RDR) Software Interface Specification (SIS)

Prepared by: Edward A. Guinness

SIS Custodian

Paper copies of this document may not be current and should not be relied on for official purposes. The current version is in the MER Project Library at http://mars03-lib.jpl.nasa.gov, in the Controlled Documents and Records folder.

JPL D-22869

March 31, 2005

JPL

Jet Propulsion Laboratory

California Institute of Technology


CHANGE LOG

DATE

SECTIONS CHANGED

REASON FOR CHANGE

REVISION

10/31/03

All

First draft

Draft

2/18/05

All

Second draft

Draft

3/23/05

Cover page

Initial Release sent out for signature

Draft

3/23/05

Table 3 was removed

Table 3. "APXS Peak Area and Elemental Concentration Column Definitions" is no longer relevant, so this table was removed.

Draft

3/31/05

3.1

Added two sentences: The maximal number of recorded spectra is 12. Spectra taken from previous samples are removed.

Initial Release

3/31/05

Table 2

Deleted the word "Summed" from Table 2 title.

Initial Release

3/31/05

Table A.1

Removed the word "Summed" from the Table title.

Initial Release

3/31/05

Cover page

Changed PDS Central Node Data Engineer to PDS Geosciences Node Lead for one of the signatories

Initial Release

TBD ITEMS

SECTION

DESCRIPTION


CONTENTS

CHANGE LOG.............................................................................................................................. iii

TBD ITEMS.................................................................................................................................... iii

CONTENTS.................................................................................................................................. iv

LIST OF TABLES......................................................................................................................... v

ACRONYMS................................................................................................................................. vi

1. INTRODUCTION....................................................................................................................... 1

1.1 Purpose and Scope........................................................................................................... 1

1.2 Contents............................................................................................................................... 1

1.3 Applicable Documents and Constraints........................................................................... 1

1.4 Relationships with Other Interfaces................................................................................... 2

2. Data Product Characteristics and Environment........................................ 2

2.1 Data Product Overview...................................................................................................... 2

2.2 Data Processing................................................................................................................. 2

2.2.1 Data Processing Level............................................................................................... 2

2.2.2 Data Product Generation............................................................................................ 3

2.2.3 Data Flow..................................................................................................................... 3

2.2.4 Labeling and Identification.......................................................................................... 3

2.3 Standards Used in Generating Data Products................................................................ 6

2.3.1 PDS Standards........................................................................................................... 6

2.3.2 Time Standards........................................................................................................... 6

2.3.3 Data Storage Conventions......................................................................................... 7

2.4 Data Validation................................................................................................................... 7

3. Detailed Data Product Specifications............................................................... 7

3.1 Data Format Description................................................................................................... 7

3.2 PDS Label Description...................................................................................................... 7

4. Applicable Software.................................................................................................... 8

4.1 Applicable PDS Software Tools....................................................................................... 8

APPENDIX A - Sample APXS RDR Label.......................................................................... 9

PDS Label................................................................................................................................. 9

aPPENDIX B - LABEL KEYWORD DEFINITIONS................................................................. 1


LIST OF TABLES

Table 1. Processing Levels for Science Data Sets........................................ 2

Table 2. APXS Spectra Column Definitions............................................................. 7


ACRONYMS

APXS

Alpha Particle X-ray Spectrometer

ASCII

American Standard Code for Information Interchange

CODMAC

Committee on Data Management and Computation

EDR

Experiment Data Record

ISO

International Standards Organization

JPL

Jet Propulsion Laboratory

MER

Mars Exploration Rover

NASA

National Aeronautics and Space Administration

ODL

Object Description Language

OSS

Operations Storage Server

PDS

Planetary Data System

RDR

Reduced Data Record

SIS

Software Interface Specification

SOWG

Science Operations Working Group

STG

Science Theme Group

TBD

To Be Determined


1. INTRODUCTION

1.1 Purpose and Scope

The purpose of this data product SIS is to provide users of the MER APXS reduced data product with a description of the product and a description of how it was generated, including data sources and destinations. The product is an ASCII table of results derived from the MER APXS Experiment Data Record (EDR) products. The RDR product includes x-ray count spectra as a function of channel number.

This SIS is intended to provide enough information to enable users to read and understand this data product. The users for whom this SIS is intended are the scientists who will analyze the data, including those associated with the MER Project and those in the general planetary science community.

1.2 Contents

This data product SIS describes how the APXS RDR product is generated, formatted, labeled, and uniquely identified. The document discusses standards used in generating the products and software that may be used to access the product. The product is described in sufficient detail to enable a user to read the product. Finally, an example of the PDS label is provided, along with definitions for the label keywords.

1.3 Applicable Documents and Constraints

This Data Product SIS is responsive to the following MER documents:

1. Mars Exploration Program Data Management Plan, R. E. Arvidson, S. Slavney, and S. Nelson, Rev. 3, March 20, 2002.

2. Mars Exploration Rover Project Archive Generation, Validation and Transfer Plan, Rev. A, R. E. Arvidson and S. Slavney, JPL D-19658, September 29, 2003.

3. MER Project APXS EDR SIS, E. Guinness, JPL D-22848, Version 2.0, June 13, 2003.

This SIS is also consistent with the following Planetary Data System documents:

4. Planetary Data System Data Preparation Workbook, Version 3.1, JPL D-7669, Part 1, February 1, 1995.

5. Planetary Data System Data Standards Reference, Version 3.5, JPL D-7669, Part 2, October, 15, 2002

6. Planetary Science Data Dictionary Document, JPL D-7116, August 28, 2002.

The reader is referred to the following documents for additional information:

7. R. Rieder et al., The New Athena Alpha Particle X-Ray Spectrometer (APXS) for the Mars Exploration Rovers, JGR Planets 108(E12), 8066, doi:10.1029/2003JE002150, 2003.

Finally, this SIS is meant to be consistent with the contract negotiated between the MER Project and the Athena Principal Investigator in which reduced data records and documentation are explicitly defined as deliverable products.

1.4 Relationships with Other Interfaces

Changes to the APXS EDR data product and the SIS that describes the EDR product [3] could affect the APXS RDR data product and/or this SIS. In addition, changes to the processing tools used to generate the APXS RDR data product could affect both the data product and this SIS.

2. Data Product Characteristics and Environment

2.1 Data Product Overview

The APXS RDR data product is an ASCII formatted table. Each ASCII table has an associated detached PDS label, also formatted as ASCII. The APXS RDR product contains the x-ray count data as a function of channel number.

2.2 Data Processing

2.2.1 Data Processing Level

This SIS uses the Committee On Data Management And Computation (CODMAC) data level numbering system to describe the processing level of the APXS RDR data products. These data products are considered CODMAC "Level 2" ["Edited Data"]. Refer to Table 1 for a summary of the CODMAC and NASA data processing levels.

Table 1. Processing Levels for Science Data Sets

NASA

CODMAC

Description

Packet data

Raw - Level 1

Telemetry data stream as received at the ground station, with science and engineering data embedded.

Level-0

Edited - Level 2

Instrument science data (e.g., raw voltages, counts) at full resolution, time ordered, with duplicates and transmission errors removed.

Level 1-A

Calibrated - Level 3

Level 0 data that have been located in space and may have been transformed (e.g., calibrated, rearranged) in a reversible manner and packaged with needed ancillary and auxiliary data (e.g., radiances with the calibration equations applied).

Level 1-B

Resampled - Level 4

Irreversibly transformed (e.g., resampled, remapped, calibrated) values of the instrument measurements (e.g., radiances, magnetic field strength).

Level 1-C

Derived - Level 5

Level 1A or 1B data that have been resampled and mapped onto uniform space-time grids. The data are calibrated (i.e., radiometrically corrected) and may have additional corrections applied (e.g., terrain correction).

Level 2

Derived - Level 5

Geophysical parameters, generally derived from Level 1 data, and located in space and time commensurate with instrument location, pointing, and sampling.

Level 3

Derived - Level 5

Geophysical parameters mapped onto uniform space-time grids.

2.2.2 Data Product Generation

The APXS RDR data products are produced by APXS instrument team members from the Max Planck Institute for Chemistry (Mainz, Germany) using software tools developed by the APXS team. To generate an APXS RDR product, the x-ray data are extracted from the binary EDR file and converted to an ASCII format. APXS EDR files always contain twelve spectra even if less than twelve new measurements are acquired for a target. Thus, an EDR file may contain spectra for more than one target. In the APXS RDR product any spectra from earlier targets are removed from the product so that each RDR contains data for a single target. No other processing is done on the data.

2.2.3 Data Flow

APXS RDR data products are generated from binary EDR files that are transferred from the OSS to the APXS team workstations. After a science validation period, the APXS RDR data products are transferred to the PDS for final validation and archiving in accordance with the MER archive plan [2].

2.2.4 Labeling and Identification

A file naming scheme has been adapted for the MER image and non-image data products. The file naming scheme adheres to the ISO Level II 27.3 filename convention to be compliant with PDS standards.

Each MER EDR or RDR data product can be uniquely identified by incorporating into the product filename the Rover Mission identifier, the Instrument identifier, the Starting Spacecraft Clock count (SCLK) of the event, the data Product Type, the Site location, the rover Position within the site, the Sequence number, the camera "Eye", the spectral Filter, the product Creator identifier and a Version number. For non-camera data, several fields do not apply.

Each APXS RDR has a detached PDS label associated with the APXS data file. The file naming scheme for the APXS RDR data products is formed by:

<rover><inst>< sclk><prod><site>< pos><seq><eye>< filt><who><ver> .<ext>

where,

rover

=

(1 integer) MER rover mission identifier. Valid values are "1" (MER-1), "2" (MER-2), "3" (SIM-1) or "4" (SIM-2)

inst

=

(1 alpha character) MER science instrument identifier.

Valid values for MER instruments:

"A" - APXS

"B" - Mössbauer

"T" - Mini-TES

"D" - RAT ("D" for Drill)

Valid values for MER camera instruments not described in this SIS:

"P" - Pancam

"N" - Navcam

"F" - Front Hazcam

"R" - Rear Hazcam

"M" - Microscopic Imager

"E" - EDLcam

sclk

=

(9 integers) Starting Spacecraft Clock time.

prod

=

(3 alpha characters) Product type. Indicates the product to be an EDR or one of several types of Non-projected RDRs. All product types that begin with "E" denote a type of EDR, while all other product types denote a type of Non-projected RDR.

Valid values for MER non-camera instrument products:

Data Product

Value

APXS/Mini-TES/MB/RAT Detailed Report EDR

"EDR"

RAT Anomaly Report

"EAR"

RAT Parameters

"EDP"

Mini-TES Spectra Emissivity Image Cube

"EMS"

Mini-TES Mineral Abundance Image or Map

"MIN"

Mini-TES Data Cube (general)

"QUB"

APXS X-ray Spectra

"XRC"

Mini-TES Temperature and Thermal Inertia Map

"TTH"

Valid values for MER camera EDR instrument data products not described in this SIS:

Data Product

Non-linearized

CAHV-linearized

Full frame EDR

"EFF"

"FFL"

Sub-frame EDR

"ESF"

"SFL"

Downsampled EDR

"EDN"

"DNL"

Thumbnail EDR

"ETH"

"THN"

Row Summation EDR

"ERS"

n/a

Column Summation EDR

"ECS"

n/a

Reference Pixels EDR

"ERP"

n/a

Histogram EDR

"EHG"

n/a

site

=

(2 alphanumeric) Site location count. Use of both integers and alphas allows for a total

range of 0 thru 1295.A value greater than 1295 is denoted by "##" (2 pound signs),requiring

the user to extract actual value from label.

The valid values,in their progression,are as follows:

Range 0 thru 99 - "00 ","01 ","02 "… "99 "

Range 100 thru 1035 - "A0 ","A1 " … "A9 ","AA ","AB "…"AZ ","B0 ","B1 "… "ZZ "

Range 1036 thru 1295 - "0A ","0B "…"0Z ","1A ","1B "…"9Z "

Range 1296 or greater - "##" (2 pound signs)

Example value is "AK " for value of 120..

pos

=

(2 alphanumeric) Position-within-Site count. Use of both integers and alphas allows for a

total range of 0 thru 1295.A value greater than 1295 is denoted by "##" (2 pound signs),

requiring the user to extract actual value from label.

The valid values,in their progression,are as follows:

Range 0 thru 99 - "00 ","01 ","02 "… "99 "

Range 100 thru 1035 - "A0 ","A1 " … "A9 ","AA ","AB "…"AZ ","B0 ","B1 "… "ZZ "

Range 1036 thru 1295 - "0A ","0B "…"0Z ","1A ","1B "…"9Z "

Range 1296 or greater - "##" (2 pound signs)

Example value is "AK " for value of 120..

seq

=

(1 alpha character plus 4 integers) Sequence Number. Denotes a group of related commands used as keys for the Ops processing.

Valid values for character (position 1) in field:

"C" - Cruise

"P" - PMA instr. (Pancam, Navcam, MTES, MI)

"D" - IDD & RAT

"R" - Rover Driving

"E" - Engineering

"S" - Submaster

"F" - Flight Software (Seq rejected)

"T" - Test

"G" - (heating)

"W" - Seq. triggered by a commun. Window

"K" - (spare)

"X" - Contingency

"M" - Master (Surface only)

"Y" - (spare)

"N" - In-Situ instr. (APXS, MB)

"Z" - SCM Seq's

Valid values for integers (positions 2 thru 5) in field:

0001 thru 4095 - Valid Sequence number, commanded by Ground

Needs "F" in character position (Camera only):

1000 - Commanded by NAV

2000 - Commanded by SAPP

3000 - Commanded by Fault protection

4000 - Commanded by EDL

Example value is "N0268".

eye

=

(1 alpha character) Camera eye. Valid values are:

"L" - Left camera eye

"R" - Right camera eye

"B" - Both left and right camera eyes

"M" - Monoscopic (one camera eye)

"N" - Not Applicable (non-image data)

filt

=

(1 integer) Filter number, with a valid range of 0-8 (0 = "no filter" or "N/A").

who

=

(1 alpha character) Product creator indicator. Valid values are as follows, though others may be added in the future:

"A" - Arizona State University

"C" - Cornell University

"F" - USGS at Flagstaff

"J" - Johannes Gutenburg Univ. (Germany)

"M" - OPGS (MIPL) at JPL

"N" - NASA Ames Research Center

"P" - Max Planck Institute (Germany)
"S" - SOAS at JPL

"U" - University of Arizona

"V" - SSV Team (E. De Jong) at JPL
"X" - Other

ver

=

(1 alphanumeric) Version identifier providing uniqueness for book keeping.

The valid values, in their progression, are as follows:

Range 1 thru 9 - "1", "2",…"9"
Range 10 thru 35 - "A", "B",…Z"

Example value is "E" for value of 14.

ext

=

(3 alpha characters) PDS product type extension.

Valid values for MER non-camera instrument products:

"QUB" - Mini-TES Data Cube

"DAT" - APXS spectra, Mössbauer spectra, RAT binary data
"CSV" - APXS table data, Mössbauer table data
"LBL" - Detached PDS labels for APXS and Mössbauer data

Valid values for MER camera instrument products not described in this SIS:

"IMG" - Camera image EDR and all camera image Non-projected RDRs

"JPG" - Camera image CAHV'd RDRs scaled and JPEG compress (no PDS label)

"pfb" - Camera ASD Terrain RDR (no PDS label)

"VST" - Camera VST Terrain RDR (no PDS label)

Example:

a)

1A123456789XRC0103N0062N0P1.CSV

Rover MER-1, APXS instrument, Spectra, Site 01, Position 03, Seq N0062, produced by MPI, product version 1.

2.3 Standards Used in Generating Data Products

2.3.1 PDS Standards

The APXS RDR data products comply with Planetary Data System standards for file formats and labels, as specified in the PDS Standards Reference [5] and the Planetary Science Data Dictionary Document [6].

2.3.2 Time Standards

PDS labels for APXS RDR data products use keywords containing time values, such as start time and stop time. Each time value standard is defined according to the keyword definition. See Appendix B.

2.3.3 Data Storage Conventions

APXS RDR data products and detached PDS label files are stored as ASCII text. Each line or record in the files is terminated with a two-character sequence of carriage return (<CR>, ASCII 13) and line feed (<LF>, ASCII 10) to comply with PDS standards [5]. This line terminator sequence will allow the data files and labels to be easily read on most computers, which recognize either the carriage return, the line feed, or the <CR>/<LF> sequence as an ASCII record terminator.

2.4 Data Validation

Validation of APXS RDR data product labels includes checking for correct PDS syntax, for accepted standard values of keywords, and for internal consistency of label items.

3. Detailed Data Product Specifications

3.1 Data Format Description

Each APXS RDR data file is a comma delimited ASCII text table with variable length columns. The number of columns in the file is dependent on the number of spectra collected for a target. The maximal number of recorded spectra is 12. Spectra taken from previous samples are removed.There are 512 rows in each RDR file. Each row is terminated with a carriage return and line feed character. Tables 2 contains the column definitions for the APXS RDR data product.

Table 2. APXS Spectra Column Definitions

Column Number

Name

Data Type

Description

1

APXS X-ray channel

Integer

X-ray channel number

2 ... max 13

X-ray counts

Integer

Counts of the x-ray channel for each subspectrum

3.2 PDS Label Description

Each APXS RDR data product has a detached PDS label, which is stored as ASCII text. The PDS label is object-oriented with keywords for product identification, along with the data object definition. The data object definition within the label contains descriptive information needed to interpret or process the data. The PDS spreadsheet object is used to describe the format of the APXS RDR product.

PDS labels are written in Object Description Language (ODL) [5]. PDS label statements have the form of "keyword = value". Each label statement is terminated with a carriage return character (ASCII 13) and a line feed character (ASCII 10) sequence to allow the label to be read by many operating systems. Pointer statements with the following format are used to indicate the location of data objects in the data product:

^object = location

where the carat character (^, also called a pointer) is followed by the name of the specific data object. For detached PDS labels, location is the name of the file that contains data object and optionally the starting record number of the data object within the file or byte offset from the start of the file.

Appendix A lists an example PDS label for an APXS RDR.

4. Applicable Software

4.1 Applicable PDS Software Tools

PDS-labeled tables can be viewed with the program NASAView, developed by the PDS. NASAView is available in versions that run on SUN/SOLARIS, Windows, and LINUX operating systems. NASAView can be obtained from the PDS web site http://pdsproto.jpl.nasa.gov/Distribution/license.html.


APPENDIX A - Sample APXS RDR Label

A.1. PDS Label for Spectra

PDS_VERSION_ID = PDS3

/* FILE DATA ELEMENTS */

RECORD_TYPE = STREAM

FILE_RECORDS = 512

^SPREADSHEET = "1A136253888XRC1500N1419N0P1.CSV"

/* IDENTIFICATION DATA ELEMENTS */

DATA_SET_ID = "MER1-M-APXS-2-XRAYSPEC-SCI-V1.0"

PRODUCT_ID = "1A136253888XRC1500N1419N0P1"

SOURCE_PRODUCT_ID = "1A136253888EDR1500N1419N0M1"

PRODUCT_TYPE = APXS_XRC

RELEASE_ID = "0003"

ROVER_MOTION_COUNTER = (15, 0, 60, 293, 0)

ROVER_MOTION_COUNTER_NAME = (SITE, DRIVE, IDD, PMA, HGA)

COMMAND_SEQUENCE_NUMBER = 1

INSTRUMENT_HOST_ID = MER1

INSTRUMENT_HOST_NAME = "MARS EXPLORATION ROVER 1"

INSTRUMENT_ID = APXS

INSTRUMENT_TYPE = SPECTROMETER

LOCAL_TRUE_SOLAR_TIME = "04:48:44"

MAGNET_ID = "NULL"

MISSION_NAME = "MARS EXPLORATION ROVER"

MISSION_PHASE_NAME = "EXTENDED MISSION"

OBSERVATION_ID = "1594032128"

PLANET_DAY_NUMBER = 91

PRODUCER_INSTITUTION_NAME = "MAX PLANCK INSTITUTE"

PRODUCT_CREATION_TIME = 2005-01-08T17:34:42

SEQUENCE_ID = n1419

SEQUENCE_VERSION_ID = "0"

SPACECRAFT_CLOCK_CNT_PARTITION = 1

SPACECRAFT_CLOCK_START_COUNT = "136235628.238"

SPACECRAFT_CLOCK_STOP_COUNT = "136253888.207"

START_TIME = 2004-04-26T07:13:11.516

STOP_TIME = 2004-04-26T12:17:31.552

TARGET_NAME = MARS

TARGET_TYPE = PLANET

/* TELEMETRY DATA ELEMENTS */

APPLICATION_PROCESS_ID = 32

APPLICATION_PROCESS_NAME = APXS

APPLICATION_PROCESS_SUBTYPE_ID = 0

EARTH_RECEIVED_START_TIME = 2004-04-26T20:01:29.476

EARTH_RECEIVED_STOP_TIME = 2004-04-26T20:01:34.254

EXPECTED_PACKETS = "N/A"

PACKET_MAP_MASK = "N/A"

RECEIVED_PACKETS = "N/A"

SAMPLING_COUNT = 0

SPICE_FILE_NAME = "chronos.mer"

TELEMETRY_FORMAT_ID = SPT

TELEMETRY_PROVIDER_ID = "SSW MER_DP"

TELEMETRY_SOURCE_NAME = "032_000_n1419-000-0001_001_0136253888-053.dat"

TELEMETRY_SOURCE_TYPE = "DATA PRODUCT"

TLM_INST_DATA_HEADER_ID = 3

/* ROVER STATE */

/* COORDINATE SYSTEM STATE: ROVER */

GROUP = ROVER_COORDINATE_SYSTEM

COORDINATE_SYSTEM_NAME = ROVER_FRAME

COORDINATE_SYSTEM_INDEX = (15, 0, 60, 293, 0)

COORDINATE_SYSTEM_INDEX_NAME = (SITE, DRIVE, IDD, PMA, HGA)

ORIGIN_OFFSET_VECTOR = (0.00000, 0.00000, 0.00000)

ORIGIN_ROTATION_QUATERNION = (0.999886, 0.0131920, 0.00737100,

-0.000377824)

POSITIVE_AZIMUTH_DIRECTION = CLOCKWISE

POSITIVE_ELEVATION_DIRECTION = UP

QUATERNION_MEASUREMENT_METHOD = COARSE

REFERENCE_COORD_SYSTEM_NAME = SITE_FRAME

REFERENCE_COORD_SYSTEM_INDEX = 15

END_GROUP = ROVER_COORDINATE_SYSTEM

/* ARTICULATION DEVICE STATE: INSTRUMENT DEPLOYMENT DEVICE AT THE START */

GROUP = START_IDD_ARTICULATION_STATE

ARTICULATION_DEVICE_ID = IDD

ARTICULATION_DEVICE_NAME = "INSTRUMENT DEPLOYMENT DEVICE"

ARTICULATION_DEVICE_ANGLE = (0.302038 <rad>, -0.0282162 <rad>,

1.29951 <rad>, 0.185468 <rad>,

3.15076 <rad>, 0.302252 <rad>,

-0.0320500 <rad>, 1.28262 <rad>,

0.227287 <rad>, 3.03184 <rad>)

ARTICULATION_DEVICE_ANGLE_NAME = ("JOINT 1 AZIMUTH-ENCODER",

"JOINT 2 ELEVATION-ENCODER",

"JOINT 3 ELBOW-ENCODER",

"JOINT 4 WRIST-ENCODER",

"JOINT 5 TURRET-ENCODER",

"JOINT 1 AZIMUTH-POTENTIOMETER",

"JOINT 2 ELEVATION-POTENTIOMETER",

"JOINT 3 ELBOW-POTENTIOMETER",

"JOINT 4 WRIST-POTENTIOMETER",

"JOINT 5 TURRET-POTENTIOMETER")

ARTICULATION_DEVICE_MODE = GUARDED

ARTICULATION_DEVICE_TEMP = (1.00000e+30 <degC>, -46.8465 <degC>)

ARTICULATION_DEVICE_TEMP_NAME = ("AZIMUTH JOINT 1", "TURRET JOINT 5")

ARTICULATION_DEV_VECTOR = (-0.0147503, 0.0263754, 0.999543)

ARTICULATION_DEV_VECTOR_NAME = GRAVITY

CONTACT_SENSOR_STATE = ("NO CONTACT", "NO CONTACT", CONTACT,

CONTACT, "NO CONTACT", "NO CONTACT",

OPEN, "NO CONTACT")

CONTACT_SENSOR_STATE_NAME = ("MI SWITCH 1", "MI SWITCH 2",

"RAT SWITCH 1", "RAT SWITCH 2",

"MB SWITCH 1", "MB SWITCH 2",

"APXS DOOR SWITCH", "APXS CONTACT SWITCH")

ARTICULATION_DEV_INSTRUMENT_ID = APXS

END_GROUP = START_IDD_ARTICULATION_STATE

/* COORDINATE SYSTEM STATE: INSTRUMENT DEPLOYMENT DEVICE AT THE START */

GROUP = START_IDD_COORDINATE_SYSTEM

COORDINATE_SYSTEM_NAME = APXS_FRAME

COORDINATE_SYSTEM_INDEX = (15, 0, 60, 293, 0)

COORDINATE_SYSTEM_INDEX_NAME = (SITE, DRIVE, IDD, PMA, HGA)

ORIGIN_OFFSET_VECTOR = (1.10661, 0.113606, 0.290757)

ORIGIN_ROTATION_QUATERNION = (0.591676, 0.0280522, 0.0437475,

0.804499)

POSITIVE_AZIMUTH_DIRECTION = CLOCKWISE

POSITIVE_ELEVATION_DIRECTION = DOWN

REFERENCE_COORD_SYSTEM_NAME = ROVER_FRAME

REFERENCE_COORD_SYSTEM_INDEX = (15, 0, 60, 293, 0)

END_GROUP = START_IDD_COORDINATE_SYSTEM

/* ARTICULATION DEVICE STATE: INSTRUMENT DEPLOYMENT DEVICE AT END */

GROUP = STOP_IDD_ARTICULATION_STATE

ARTICULATION_DEVICE_ID = IDD

ARTICULATION_DEVICE_NAME = "INSTRUMENT DEPLOYMENT DEVICE"

ARTICULATION_DEVICE_ANGLE = (0.302038 <rad>, -0.0282162 <rad>,

1.29951 <rad>, 0.185468 <rad>,

3.15076 <rad>, 0.302537 <rad>,

-0.0318107 <rad>, 1.28402 <rad>,

0.228956 <rad>, 3.03244 <rad>)

ARTICULATION_DEVICE_ANGLE_NAME = ("JOINT 1 AZIMUTH-ENCODER",

"JOINT 2 ELEVATION-ENCODER",

"JOINT 3 ELBOW-ENCODER",

"JOINT 4 WRIST-ENCODER",

"JOINT 5 TURRET-ENCODER",

"JOINT 1 AZIMUTH-POTENTIOMETER",

"JOINT 2 ELEVATION-POTENTIOMETER",

"JOINT 3 ELBOW-POTENTIOMETER",

"JOINT 4 WRIST-POTENTIOMETER",

"JOINT 5 TURRET-POTENTIOMETER")

ARTICULATION_DEVICE_MODE = "FREE SPACE"

ARTICULATION_DEVICE_TEMP = (1.00000e+30 <degC>, -37.4815 <degC>)

ARTICULATION_DEVICE_TEMP_NAME = ("AZIMUTH JOINT 1", "TURRET JOINT 5")

ARTICULATION_DEV_VECTOR = (-0.0147503, 0.0263754, 0.999543)

ARTICULATION_DEV_VECTOR_NAME = GRAVITY

CONTACT_SENSOR_STATE = ("NO CONTACT", "NO CONTACT", CONTACT,

CONTACT, "NO CONTACT", "NO CONTACT",

OPEN, "NO CONTACT")

CONTACT_SENSOR_STATE_NAME = ("MI SWITCH 1", "MI SWITCH 2",

"RAT SWITCH 1", "RAT SWITCH 2",

"MB SWITCH 1", "MB SWITCH 2",

"APXS DOOR SWITCH", "APXS CONTACT SWITCH")

ARTICULATION_DEV_INSTRUMENT_ID = APXS

END_GROUP = STOP_IDD_ARTICULATION_STATE

/* COORDINATE SYSTEM STATE: INSTRUMENT DEPLOYMENT DEVICE AT END */

GROUP = STOP_IDD_COORDINATE_SYSTEM

COORDINATE_SYSTEM_NAME = APXS_FRAME

COORDINATE_SYSTEM_INDEX = (15, 0, 60, 293, 0)

COORDINATE_SYSTEM_INDEX_NAME = (SITE, DRIVE, IDD, PMA, HGA)

ORIGIN_OFFSET_VECTOR = (1.10661, 0.113606, 0.290757)

ORIGIN_ROTATION_QUATERNION = (0.591676, 0.0280522, 0.0437475,

0.804499)

POSITIVE_AZIMUTH_DIRECTION = CLOCKWISE

POSITIVE_ELEVATION_DIRECTION = DOWN

REFERENCE_COORD_SYSTEM_NAME = ROVER_FRAME

REFERENCE_COORD_SYSTEM_INDEX = (15, 0, 60, 293, 0)

END_GROUP = STOP_IDD_COORDINATE_SYSTEM

OBJECT = SPREADSHEET

INTERCHANGE_FORMAT = ASCII

ROWS = 512

FIELDS = 7

ROW_BYTES = 132

FIELD_DELIMITER = "COMMA"

DESCRIPTION = "APXS x-ray spectra in counts as a function

of channel number. The number of spectra in the file (maximum of 12)

depends on the length of the integration. Channel 1 contains the lifetime

for the spectrum in units of 10 seconds. Channel 2 is the unique id for

the spectrum. The value increments by one after every cycle start.

Channels 3 and 4 contain the temperature correction gain multiplier and

linear term, respectively. The measured x-ray data start with channel 5.

The last channel, number 512, contains the number of x-rays with energies

greater than full scale."

OBJECT = FIELD

NAME = "CHANNEL_NUMBER"

FIELD_NUMBER = 1

DATA_TYPE = ASCII_INTEGER

BYTES = 10

DESCRIPTION = "Channel number representing a given

energy level."

END_OBJECT = FIELD

OBJECT = FIELD

NAME = "SPECTRA_01"

FIELD_NUMBER = 2

DATA_TYPE = ASCII_INTEGER

BYTES = 10

DESCRIPTION = "Number of x-rays detected per channel."

END_OBJECT = FIELD

OBJECT = FIELD

NAME = "SPECTRA_02"

FIELD_NUMBER = 3

DATA_TYPE = ASCII_INTEGER

BYTES = 10

DESCRIPTION = "Number of x-rays detected per channel."

END_OBJECT = FIELD

OBJECT = FIELD

NAME = "SPECTRA_03"

FIELD_NUMBER = 4

DATA_TYPE = ASCII_INTEGER

BYTES = 10

DESCRIPTION = "Number of x-rays detected per channel."

END_OBJECT = FIELD

OBJECT = FIELD

NAME = "SPECTRA_04"

FIELD_NUMBER = 5

DATA_TYPE = ASCII_INTEGER

BYTES = 10

DESCRIPTION = "Number of x-rays detected per channel."

END_OBJECT = FIELD

OBJECT = FIELD

NAME = "SPECTRA_05"

FIELD_NUMBER = 6

DATA_TYPE = ASCII_INTEGER

BYTES = 10

DESCRIPTION = "Number of x-rays detected per channel."

END_OBJECT = FIELD

OBJECT = FIELD

NAME = "SPECTRA_06"

FIELD_NUMBER = 7

DATA_TYPE = ASCII_INTEGER

BYTES = 10

DESCRIPTION = "Number of x-rays detected per channel."

END_OBJECT = FIELD

END_OBJECT = SPREADSHEET

END


aPPENDIX B - LABEL KEYWORD DEFINITIONS

Note see the Planetary Science Data Dictionary [6] for the definitions of keywords within the spreadsheet and column objects.

Keyword Name

Definition

Type

Units

Valid Values

· Location in PDS Label

· Source

APPLICATION_PROCESS_ID

Identifies the source/process which created the data.

Integer

(see APPLICATION_PROCESS_NAME)

LOCATION

TELEMETRY (Class)

SOURCE

CCSDS:Primary:APID

APPLICATION_PROCESS_NAME

Provides the name associated with the source/process which created the data.

String (256)

APID NAME

21 "PANCAM LEFT"

22 "PANCAM RIGHT"

23 "NAVCAM LEFT"

24 "NAVCAM RIGHT"

25 "HAZCAM LEFT

FRONT"

26 "HAZCAM RIGHT

FRONT"

27 "HAZCAM LEFT

REAR"

28 "HAZCAM RIGHT

REAR"

29 "MI"

30 "DESCENT IMAGER"

31 "MINITES"

32 "APXS"

33 "MB"

34 "RAT"

LOCATION

TELEMETRY (Class)

SOURCE

Table Lookup

CCSDS:Primary:APID

APPLICATION_PROCESS_SUBTYPE_ID

Identifies the source/subprocess that created the data.

Integer

0 APXS SCIENCE DATA

LOCATION

TELEMETRY (Class)

SOURCE

CCSDS:Primary:subtype

ARTICULATION_DEVICE_ANGLE

Provides the value of an angle between two parts or segments of an articulated device.

MER uses radians. The PDS default unit for this keyword is degrees, so the <rad> tag is required for MER data.

Float array[10]

radians

(<rad> unit tag required)

LOCATION

a) START_IDD_ARTICULATION_STATE (Group)

b) STOP_IDD_ARTICULATION_STATE (Group)

SOURCE

Group Dependent

a) IDPH:bgn->idd.q_enc[5]

IDPH:bgn->idd.q_pot[5]

c) IDPH:end->idd.q_enc[5]

IDPH:end->idd.q_pot[5]

ARTICULATION_DEVICE_ANGLE_NAME

Provides the formal name that identifies each of the values used in ARTICULATION_DEVICE_ANGLE.

String array[10]

("JOINT 1 AZIMUTH-ENCODER", "JOINT 2 ELEVATION-ENCODER", "JOINT 3 ELBOW-ENCODER", "JOINT 4 WRIST-ENCODER", "JOINT 5 TURRET-ENCODER", "JOINT 1 AZIMUTH-POTENTIOMETER", "JOINT 2 ELEVATION-POTENTIOMETER", "JOINT 3 ELBOW-POTENTIOMETER", "JOINT 4 WRIST-POTENTIOMETER", "JOINT 5 TURRET-POTENTIOMETER")

LOCATION

a) START_IDD_ARTICULATION_STATE (Group)

b) STOP_IDD_ARTICULATION_STATE (Group)

SOURCE

Static Values

ARTICULATION_DEVICE_ID

Specifies the abbreviated ID of the articulation device described by the containing group. An articulation device is anything that can move independently of the spacecraft to which it is attached, e.g. mast heads, wheel bogies, arms, etc.

string

IDD

LOCATION

a) START_IDD_ARTICULATION_STATE (Group)

b) STOP_IDD_ARTICULATION_STATE (Group)

SOURCE

Static Values

ARTICULATION_DEVICE_MODE

Indicates the deployment state (i.e., physical configuration) of an articulation device at the time of data acquisition.

For MER, this is the mode of the last move:

"FREE SPACE" - IDD arm was moved where there was no contact with a target expected.

"GUARDED" - IDD arm was moved where contact with the target was expected.

"RETRACTING" - IDD arm was moved where an instrument is removed from a target.

"PRELOAD" - IDD arm stays in contact with the target and applies force or over-travel on an instrument.

String

IDD

0="FREE SPACE",

1="GUARDED",

2="RETRACTING",

3="PRELOAD"

LOCATION

a) START_IDD_ARTICULATION_STATE (Group)

b) STOP_IDD_ARTICULATION_STATE (Group)

SOURCE

Group Dependent; Table Lookup

a) IDPH:bgn->idd.idd_mode

b) IDPH:end->idd.idd_mode

ARTICULATION_DEVICE_NAME

Specifies the common name of the articulation device described by the containing group.

string

"INSTRUMENT DEPLOYMENT DEVICE"

LOCATION

a) START_IDD_ARTICULATION_STATE (Group)

b) STOP_IDD_ARTICULATION_STATE (Group)

SOURCE

Static Value

ARTICULATION_DEVICE_TEMP

Provides the temperature, in Celsius, of an articulated device or some part of an articulated device.

Float array[2]

deg C

(<degC> unit tag required)

-3.4e38 to 3.4e38

LOCATION

a) START_IDD_ARTICULATION_STATE (Group)

b) STOP_IDD_ARTICULATION_STATE (Group)

SOURCE

a) IDPH:bgn->idd.temp[2]

b) IDPH:end->idd.temp[2]

ARTICULATION_DEVICE_TEMP_NAME

An array of the formal names identifying each of the values used in ARTICULATION_DEVICE_TEMP.

string array[2]

("AZIMUTH JOINT 1", "TURRET JOINT 5")

LOCATION

a) START_IDD_ARTICULATION_STATE (Group)

b) STOP_IDD_ARTICULATION_STATE (Group)

SOURCE

a) Static Value

ARTICULATION_DEV_INSTRUMENT_ID

Provides an abbreviated name or acronym that identifies an instrument mounted on the articulation device.

String(12)

IDD

0 = MI

1 = RAT

2 = MB

3 = APXS

LOCATION

a) START_IDD_ARTICULATION_STATE (Group)

b) STOP_IDD_ARTICULATION_STATE (Group)

SOURCE

Table Lookup;

a) IDPH:bgn->idd.instrument

b) IDPH:end->idd.instrument

ARTICULATION_DEV_VECTOR

Provides the direction and magnitude of an external force acting on the articulation device, in the rover's coordinate system at the time the pose was computed.

Float array[3]

LOCATION

a) START_IDD_ARTICULATION_STATE (Group)

b) STOP_IDD_ARTICULATION_STATE (Group)

SOURCE

a) IDPH:bgn->idd.tilt[3]

b) IDPH:end->idd.tilt[3]

ARTICULATION_DEV_VECTOR_NAME

Provides the formal name of the vector type of the articulation device.

String

GRAVITY

LOCATION

a) START_IDD_ARTICULATION_STATE (Group)

b) STOP_IDD_ARTICULATION_STATE (Group)

SOURCE

Static Value

COMMAND_SEQUENCE_NUMBER

Provides a numeric identifier for a sequence of commands sent to a spacecraft or instrument.

For MER, this is the command number that identifies the specific generating command within the specified sequence.

Integer

LOCATION

IDENTIFICATION (Class)

SOURCE

UPTH:ProdCmndId; Command Number

CONTACT_SENSOR_STATE

An array of identifiers for the state of an instrument's or instrument host's contact sensors at a specified time.

For MER, "CONTACT" or "NO CONTACT" for most values. For the value corresponding to APXS DOOR SWITCH (entry 7), values are "OPEN" or "CLOSED".

String array[8]

0 = "NO CONTACT" or

"CLOSED"

1 = "CONTACT" or "OPEN"

"CONTACT" or "NO CONTACT" for all array positions except for position 7, which would be "OPEN" or "CLOSED"

LOCATION

a) START_IDD_ARTICULATION_STATE (Group)

b) STOP_IDD_ARTICULATION_STATE (Group)

SOURCE

Lookup Table

a) IDPH:bgn->idd.contact (bit map)

b) IDPH:end->idd.contact (bit map)

CONTACT_SENSOR_STATE_NAME

An array of the formal names identifying each of the values used in CONTACT_SENSOR_STATE.

String array[8]

("MI SWITCH 1", "MI SWITCH 2", "RAT SWITCH 1", "RAT SWITCH 2", "MB SWITCH 1", "MB SWITCH 2", "APXS DOOR SWITCH", "APXS CONTACT SWITCH")

LOCATION

a) START_IDD_ARTICULATION_STATE (Group)

b) STOP_IDD_ARTICULATION_STATE (Group)

SOURCE

Static Value

COORDINATE_SYSTEM_INDEX

Instance of the coordinate frame in which the values are expressed. This is a group of integers that can be used to record and track the movement of a rover during surface operations.

When in a COORDINATE_SYSTEM_STATE group, this keyword identifies which instance of the coordinate frame named by COORDINATE_SYSTEM_NAME is being defined by the group.

For MER, the indices are based on the ROVER_MOTION_COUNTER. This counter is incremented each time the rover moves (or may potentially have moved, e.g. due to arm motion). The full counter has values (SITE, DRIVE, IDD, PMA, HGA)

Example: COORDINATE_SYSTEM_INDEX = (1,3,2,3,2)

integer array[5]

LOCATION

a) START_IDD_COORDINATE_SYSTEM (Group)

b) STOP_IDD_COORDINATE_SYSTEM (Group)

c) ROVER_COORDINATE_SYSTEM (Group)

SOURCE

Calculated from

IDPH:bgn->rmc and COORDINATE_SYSTEM_NAME

Use all 5 elements except if the COORDINATE_SYSTEM_NAME = SITE_FRAME, then only use the first element.

COORDINATE_SYSTEM_INDEX_NAME

An array of the formal names identifying each integer specified in COORDINATE_SYSTEM_INDEX.

String array[6]

(SITE, DRIVE, IDD, PMA, HGA)

LOCATION

a) START_IDD_COORDINATE_SYSTEM (Group)

b) STOP_IDD_COORDINATE_SYSTEM (Group)

c) ROVER_COORDINATE_SYSTEM (Group)

SOURCE

Static Value; Group Dependant

Should match the number of values in the COORDINATE_SYSTEM_INDEX

COORDINATE_SYSTEM_NAME

Provides the full name of the coordinate system to which the state vectors are referenced.

When in a COORDINATE_SYSTEM_STATE group, this keyword provides the full name of the coordinate system being defined by the group. The rest of the keywords in the group describe how this coordinate system is related to some other (the "reference"). Non-unique coordinate systems (such as "SITE" for rover missions), which have multiple instances using the same name, also require COORDINATE_SYSTEM_INDEX to completely identify the coordinate system.

string(30)

ROVER_FRAME, SITE_FRAME,

MAST_FRAME, LOCAL_LEVEL_FRAME,

IDD only

0=MI_FRAME

1=RAT_FRAME

2=MB_FRAME

3=APXS_FRAME,

LOCATION

a) START_IDD_COORDINATE_SYSTEM (Group)

b) STOP_IDD_COORDINATE_SYSTEM (Group)

c) ROVER_COORDINATE_SYSTEM (Group)

SOURCE

Group dependant

a) one of the IDD only frames based on IDPH:bgn->idd.instrument

b) one of the IDD only frames based on IDPH:end->idd.instrument

c) ROVER_FRAME

DATA_SET_ID

A unique alphanumeric identifier for a data set or a data product. The DATA_SET_ID value for a given data set or product is constructed according to flight project naming conventions. I n most cases the DATA_SET_ID is an abbreviation of the DATA_SET_NAME.

In the PDS, the values for both DATA_SET_ID and DATA_SET_NAME are constructed according to standards outlined in the Standards Reference.

string(40)

APXS

"MER1-M-APXS-2-EDR-OPS-V1.0", "MER2-M-APXS-2-EDR-OPS-V1.0"

"SIM1-M-APXS-2-EDR-V1.0"

"SIM2-M-APXS-2-EDR-V1.0"

LOCATION

IDENTIFICATION (Class)

SOURCE

PDS

Table Lookup

CCSDS:Primary:APID

CHDO-82:scft_id

EARTH_RECEIVED_START_TIME

Provides the beginning time at which telemetry was received. This should be represented in UTC system format.

Datetime

YYYY-MM-DDThh:mm:ss[.fff]

LOCATION

TELEMETRY (Class)

SOURCE

Calculated

CHDO_82:ert

EARTH_RECEIVED_STOP_TIME

Provides the ending time for receiving telemetry. This should be represented in UTC system format.

Datetime

YYYY-MM-DDThh:mm:ss[.fff]

LOCATION

TELEMETRY (Class)

SOURCE

Calculated

CHDO_82:ert

EXPECTED_PACKETS

Provides the total number of telemetry packets that constitute a complete data product, i.e., a data product without missing data.

For MER, "Packets" are also referred to as "Parts".

Integer

LOCATION

TELEMETRY (Class)

SOURCE

UPTH:TotalParts

FILE_RECORDS

Indicates the number of physical file records, including both label records and data records. In the PDS the use of FILE_RECORDS along with other file-related data elements is fully described in the Standards Reference.

Integer

5

LOCATION

FILE DATA ELEMENT (Class)

SOURCE

Static Value

INSTRUMENT_HOST_ID

Provides a unique identifier for the host where an instrument is located. This host can be either a spacecraft or an earth base (e.g., and observatory or laboratory on the earth). Thus, INSTRUMENT_HOST_ID can contain values that are either SPACECRAFT_ID values or EARTH_BASE_ID values.

String(6)

SCID Keyword Values

253 "MER1"

254 "MER2"

252 "SIM1"

255 "SIM2"

LOCATION

IDENTIFICATION (Class)

SOURCE

Table Lookup

CHDO_82:scft_id

INSTRUMENT_HOST_NAME

Provides the full name of the host on which an instrument is based. This host can be either a spacecraft or an earth base. Thus, the INSTRUMENT_HOST_NAME element can contain values that are either SPACECRAFT_NAME values or EARTH_BASE_NAME values.

Note that mosaics may contain more than one value in an array.

String

"MARS EXPLORATION ROVER 1"

"MARS EXPLORATION ROVER 2"

"SIMULATED MARS EXPLORATION ROVER 1"

"SIMULATED MARS EXPLORATION ROVER 2"

LOCATION

IDENTIFICATION (Class)

SOURCE

Table Lookup

CHDO_82:scft_id

INSTRUMENT_ID

Provides an abbreviated name or acronym that identifies an instrument.

INSTRUMENT_ID is not a unique identifier for a given instrument. The associated INSTRUMENT_NAME element provides the full name of the instrument.

string(12)

IDD

29 = "MI"

34 = "RAT"

33 = "MB"

32 = "APXS"

LOCATION

IDENTIFICATION (Class)

SOURCE

Table Lookup;

CCSDS:Primary:APID

INSTRUMENT_TYPE

Identifies the type of an instrument.

Note that mosaics may contain more than one value in an array.

String

"SPECTROMETER"

LOCATION

IDENTIFICATION (Class)

SOURCE

Static Value

LOCAL_TRUE_SOLAR_TIME

Local true solar time, or LTST, is one of two types of solar time used to express the time of day at a point on the surface of a planetary body. LTST is measured relative to the true position of the Sun as seen from a point on the planet's surface.

The coordinate system used to define LTST has its origin at the center of the planet. Its Z- axis is the north pole vector (or spin axis) of the planet. The X- axis is chosen to point in the direction of the vernal equinox of the planet's orbit. (The vernal or autumnal equinox vectors are found by searching the planetary ephemeris for those times when the vector from the planet's center to the Sun is perpendicular to the planet' s north pole vector. The vernal equinox is the time when the Sun appears to rise above the planet's equator. )

Positions of points in this frame can be expressed as a radius and areocentric right ascension' and ' declination' angles. The areocentric right ascension angle, or ARA, is measured positive eastward in the equatorial plane from the vernal equinox vector to the intersection of the meridian containing the point with the equator. Similarly, the areocentric declination is the angle between the equatorial plane and the vector to the point. LTST is a function of the difference between the ARAs of the vectors to the Sun and to the point on the planet's surface.

Specifically,

LTST = ( a( P) - a( TS) ) * ( 24 / 360) + 12

where, LTST = the local true solar time

in true solar hours

a( P) = ARA of the point on

the planet' s surface in

deg

a( TS) = ARA of the true sun in

deg

string(12)

NOTE: Value will be

uncalibrated if SPICE kernels

are unavailable.

LOCATION

•IDENTIFICATION ( Class)

SOURCE

•Calculation:

- IDPH:bgn->rover_time.seconds

- IDPH:bgn->rover_time.subseconds

- SCLK Kernel

- Landing- Site kernel

- P Kernel

MAGNET_ID

Identifies a magnet instrument that is visible in an image or observation.

String

"N/A", "CAPTURE", "FILTER", "UNK"

LOCATION

IDENTIFICATION (Class)

SOURCE

Calculated via an algorithm using

???????????

MISSION_NAME

Identifies a planetary mission or project. A given planetary mission may be associated with one or more spacecraft.

String

"MARS EXPLORATION ROVER"

LOCATION

IDENTIFICATION (Class)

SOURCE

Static Value

MISSION_PHASE_NAME

Provides the commonly-used identifier of a mission phase.

string(30)

"CRUISE", "EXTENDED MISSION", "PRIMARY MISSION", "ATLO", "ORT1", "ORT2", "ORT3", "ORT4", "TBD"

LOCATION

IDENTIFICATION (Class)

SOURCE

Operator Supplied Parameter

OBSERVATION_ID

Uniquely identifies a scientific observation

within a data set. It is set via the data product context ID - which doesn't necessarily map to a specific object - it's just used to group various instrument data sets together via a common keyword.

String

LOCATION

IDENTIFICATION (Class)

SOURCE

IPDH:bgn->context_id

ORIGIN_OFFSET_VECTOR

Specifies the offset from the reference coordinate system's origin to the origin of the coordinate system being defined by the enclosing COORDINATE_SYSTEM_STATE group. In other words, it is the location of the current system's origin as measured in the reference system.

For example, in the case of the PMA_COORDINATE_SYSTEM group, ORIGIN_OFFSET_VECTOR describes the rotation of the PMA (camera head) boresight (about the ORIGIN_OFFSET_VECTOR) relative to the Rover frame.

Float array[3]

meters

LOCATION

a) START_IDD_COORDINATE_SYSTEM (Group)

b) STOP_IDD_COORDINATE_SYSTEM (Group)

c) ROVER_COORDINATE_SYSTEM (Group)

SOURCE

a) IDPH:bgn->idd.pos[3]

b) IDPH:end->idd.pos[3

c) IDPH:bgn->pos.v[3]

ORIGIN_ROTATION_QUATERNION

Provides an array of four values that specify the rotation of the coordinate system being defined by the enclosing COORDINATE_SYSTEM_STATE group, relative to the reference system. This can be expressed as follows:

Given a vector expressed in the current frame, multiplication by this quaternion will give the same vector as expressed in the reference frame.

Quaternions are expressed as a set of four numbers in the order

(s, v1, v2, v3),

where

s = cos(theta/2)

v(n) = sin(theta/2)*a(n).

theta = the angle of rotation

a = the (x,y,z) vector around

which the rotation occurs.

For MER, the value for ORIGIN_ROTATION_QUATERNION that defines a coordinate frame like Rover frame is computed with respect to only the orientations of the frame's axes… regardless of whether POSITVE_ELEVATION_DIRECTION is declared to be "UP" or "DOWN"

For example, in the case of the PMA_COORDINATE_SYSTEM group, ORIGIN_OFFSET_VECTOR describes the rotation of the PMA (camera head) boresight (about the ORIGIN_OFFSET_VECTOR) relative to the Rover frame.

Float array[4]

LOCATION

a) START_IDD_COORDINATE_SYSTEM (Group)

b) STOP_IDD_COORDINATE_SYSTEM (Group)

c) ROVER_COORDINATE_SYSTEM (Group)

SOURCE

a) IDPH:bgn->idd.quaternion[4]

b) IDPH:end->idd.quaternion[4]

c) IDPH:bgn->pos.q[4]

Received in (v1, v2, v3, s) order.

PACKET_MAP_MASK

A binary or hexadecimal number identifying which of a data file's expected packets were actually received. The digits correspond positionally with the relative packet numbers of the data file. The bits are to be read left to right; i.e., the first (left-most) digit of the number corresponds to the first packet of the data file. A bit value of 1 indicates that the packet was received; a value of 0 indicates that it was not received.

The number is stored in the PDS radix notation of <radix>#<value>#.

Non-decimal

LOCATION

TELEMETRY (Class)

SOURCE

Calculated

UPDTH:PartNumber

PDS_VERSION_ID

Represents the version number of the PDS standards document that is valid when a data product label is created. Values for the PDS_version_id are formed by appending the integer for the latest version number to the letters 'PDS'.

Examples: PDS3, PDS4.

String(6)

"PDS3"

LOCATION

PDS required

SOURCE

PDS

PLANET_DAY_NUMBER

Indicates the number of sidereal days (rotation of 360 degrees) elapsed since a reference day (e.g., the day on which a landing vehicle set down).

Integer

NOTE: Value will be uncalibrated if SPICE kernels are not available.

LOCATION

IDENTIFICATION (Class)

SOURCE

Calculated

IPDH:bgn->rover_time.seconds

IPDH:bgn->rover_time.subseconds

SCLK kernel

POSITIVE_AZIMUTH_DIRECTION

Provides the direction in which azimuth is measured in positive degrees for an observer on the surface of a body. The azimuth is measured with respect to the elevation reference plane. A value of CLOCKWISE indicates that azimuth is measured positively Clockwise, and COUNTERCLOCKWISE indicates that azimuth increases positively Counter-clockwise.

String

"CLOCKWISE", "COUNTERCLOCKWISE"

LOCATION

a) ROVER_COORDINATE_SYSTEM (Group)

b) START_IDD_COORDINATE_SYSTEM (Group)

c) STOP_IDD_COORDINATE_SYSTEM (Group)

SOURCE

Static Value

POSITIVE_ELEVATION_DIRECTION

Provides the direction in which elevation is measured in positive degrees for an observer on the surface of a body. The elevation is measured with respect to the azimuth reference plane.

A value of UP indicates that elevation is measured positively upwards, i.e., the zenith point would be at +90 degrees and the nadir point at -90 degrees. DOWN indicates that the elevation is measured positively downwards; the zenith point would be at -90 degrees and the nadir point at +90 degrees.

For MER, increasing elevation ("UP") moves towards the negative Z axis.

String

"UP", "DOWN"

LOCATION

a) ROVER_COORDINATE_SYSTEM (Group)

b) START_IDD_COORDINATE_SYSTEM (Group)

c) STOP_IDD_COORDINATE_SYSTEM (Group)

SOURCE

Static Value

PRODUCER_INSTITUTION_NAME

Identifies a university, research center, NASA center or other institution associated with the production of a data set. This would generally be an institution associated with the element PRODUCER_FULL_NAME.

string(60)

"MULTIMISSION IMAGE PROCESSING SUBSYSTEM, JET PROPULSION LAB"

LOCATION

IDENTIFICATION (Class)

SOURCE

Static Value

PRODUCT_CREATION_TIME

Defines the UTC system format time when a product was created. Formation rule:

YYYY-MM-DDThh:mm:ss[.fff]Z

string

LOCATION

IDENTIFICATION (Class)

SOURCE

Calculated

PRODUCT_ID

Represents a permanent, unique identifier assigned to a data product by its producer. See also: source_product_id.

In the PDS, the value assigned to product_id must be unique within its data set. The product_id can describe the lowest-level data object that has a PDS label.

string(40)

LOCATION

IDENTIFICATION (Class)

SOURCE

Calculated

Filename less the extension

PRODUCT_TYPE

Identifies the type or category of a data product within a data set.

String(8)

"MB_EDR"

"APXS_EDR"

LOCATION

IDENTIFICATION (Class)

SOURCE

Static Value

QUATERNION_MEASUREMENT_METHOD

Specifies the quality of the rover orientation estimate.

"UNKNOWN" - The attitude should simply not be trusted. This is the initial grade given on Landing, for example.

"TILT_ONLY" - The attitude estimate is only good for tilt determination (2-axis knowledge). Activities which require azimuth knowledge should be careful.

"COARSE" - The attitude estimate is "complete" (it has all three axes) but is crude. This can occur because a sungaze has not yet been performed or because some event (such as traverses or IDD activity) have reduced the quality of the estimate (a.k.a. "ThreeAxisCoarse").

"FINE" - Sungaze completed successfully, and the attitude estimate is sufficient for pointing HGA (a.k.a. "ThreeAxisFine").

String

0 = "UNKNOWN"

1 = "TILT_ONLY"

2 = "COARSE"

3 = "FINE"

LOCATION

ROVER_COORDINATE_SYSTEM (Group)

SOURCE

Table Lookup

a) IDPH:bgn->att_qual

RECEIVED_PACKETS

Provides the total number of telemetry packets that constitute a reconstructed data product.

Integer

LOCATION

TELEMETRY (Class)

SOURCE

Calculated

UPTH:PacketNumber

RECORD_TYPE

Indicates the record format of a file.

In the PDS, when record_type is used in a detached label file it always describes its corresponding detached data file, not the label file itself. The use of record_type along with other file-related data elements is fully described in the PDS Standards Reference.

string(20)

"FIXED_LENGTH"

LOCATION

FILE (Class)

SOURCE

Static Value

REFERENCE_COORD_SYSTEM_INDEX

Identifies which instance of the coordinate system named by REFERENCE_COORD_SYSTEM_NAME is the reference coordinate system for the group in which the keyword occurs. This index is a set of integers which serve to identify coordinate system instances in a mission-specific manner.

For MER, the indices are based on the ROVER_MOTION_COUNTER. This counter is incremented each time the rover moves (or may potentially have moved, e.g. due to arm motion). The full counter may have up to 5 values (SITE, DRIVE, IDD, PMA, HGA), but normally only the first value (for SITE frames) or the five values (for LOCAL_LEVEL or ROVER frames) are used for defining reference coordinate system instances. It is legal to use any number of indices to describe a reference coordinate system instance, however.

See also REFERENCE_COORD_SYSTEM_NAME and COORDINATE_SYSTEM_INDEX.

Integer array[5]

LOCATION

a) START_IDD_ COORDINATE_SYSTEM (Group)

b) STOP_IDD_ COORDINATE_SYSTEM (Group)

c) ROVER_COORDINATE_SYSTEM (Group)

SOURCE

# of values used is group dependent

a) IDPH:bgn->rmc(0,1)

b) IDPH:bgn->rmc(0,1)

c) IDPH:bgn->rmc(0)

Calculated from IDPH:bgn->rmc and REFERENCE_COORD_SYSTEM_NAME

Use all five elements except if the REFERENCE_COORD_SYSTEM_NAME = SITE_FRAME, then only use the first element.

REFERENCE_COORD_SYSTEM_NAME

Provides the full name of the reference coordinate system for the group in which the keyword occurs. All vectors and positions relating to 3-D space within the enclosing group are expressed using this reference coordinate system. Non-unique coordinate systems (such as "SITE" for rover missions), that have multiple instances using the same name, also require REFERENCE_COORD_SYSTEM_INDEX to completely identify the reference coordinate system.

For MER, the reference is usually a SITE frame.

string(20)

ROVER_FRAME, SITE_FRAME,

MAST_FRAME, PANCAM_FRAME, LOCAL_LEVEL_FRAME, LANDER_FRAME

LOCATION

a) START_IDD_ COORDINATE_SYSTEM (Group)

b) STOP_IDD_ COORDINATE_SYSTEM (Group)

c) ROVER_COORDINATE_SYSTEM (Group)

SOURCE

# of values used is group dependent

a) "ROVER_FRAME"

b) "ROVER_FRAME"

c) "SITE_FRAME"

RELEASE _ID

Unique identifier associated with the release to the public of all or part of a data set. The first release of a data set should have a RELEASE_ID of "0001"

When a data set is released incrementally, such as every three months during a mission, the RELEASE_ID is updated each time part of the data set is released. For each Rover mission, the first release of a data set should have a value of "0001"

For example, the first release of EDR data set on MER-1 will be August 3, 2004 (according to the Archive Plan), so those products will have RELEASE_ID = "0001". The next EDR release will be October 4, 2004, so those products will have RELEASE_ID = "0002"..

String

LOCATION

IDENTIFICATION

SOURCE

User Parameter

ROVER_MOTION_COUNTER

A set of integers that describe a (potentially) unique location (position/orientation) for a rover. Each time something happens that moves, or could potentially move, the rover, a new motion counter value is created. This includes intentional motion due to drive commands, as well as potential motion due to other articulating devices, such as arms or antennae. This motion counter (or part of it) is used as a reference to define instances of coordinate systems that can move such as SITE or ROVER frames. The motion counter is defined in a mission-specific manner. Although the original intent was to have incrementing indices (e.g. MER), the motion counter could also contain any integer values that conform to the above definition, such as time or spacecraft clock values.

For MER, the motion counter consists of five values. In order, they are Site, Drive, IDD, PMA, and HGA. The Site value increments whenever a new major Site frame is declared. The Drive value increments any time intentional driving is done. Each of those resets all later indices to 0 when they increment. The IDD, PMA, and HGA increment whenever the corresponding articulation device moves.

Integer array[5]

LOCATION

IDENTIFICATION (Class)

SOURCE

IDPH:bgn->rmc(5)

ROVER_MOTION_COUNTER_NAME

An array that provides the formal names identifiying each integer in ROVER_MOTION_COUNTER.

String array[5]

(SITE, DRIVE, IDD, PMA, HGA)

LOCATION

IDENTIFICATION (Class)

SOURCE

Static Value

SAMPLING_COUNT

The sampling_count element provides the number of data samples taken by an instrument or detector.

integer

LOCATION

TELEMETRY (Class)

SOURCE

IDPH:telemetry_count

SEQUENCE_ID

Provides an identification of the spacecraft sequence associated with the given product. This element replaces the older seq_id, that should no longer be used.

string(30)

LOCATION

IDENTIFICATION (Class)

SOURCE

UPTH:PrdCmdID:SequenceID

SEQUENCE_VERSION_ID

Provides the version identifier for a particular observation sequence used during planning or data processing.

string(30)

LOCATION

IDENTIFICATION (Class)

SOURCE

UPTH:PrdCmdID:SequenceVersion

SOURCE_PRODUCT_ID

Identifies the product or products used to generate a derived product.

String(40)

LOCATION

IDENTIFICATION (Class)

SOURCE

EDR

SPACECRAFT_CLOCK_CNT_PARTITION

Indicates the clock partition active for the SPACECRAFT_CLOCK_START_COUNT and SPACECRAFT_CLOCK_STOP_COUNT elements.

integer

1

LOCATION

IDENTIFICATION (Class)

SOURCE

Static Value

SPACECRAFT_CLOCK_START_COUNT

Provides the value of the spacecraft clock at the beginning of a time period of interest.

Format is dddddddddd.ddd, measured in units of seconds and stored internally as a floating point number.

string(30)

LOCATION

IDENTIFICATION (Class)

SOURCE

IDPH:bgn->rover_time.seconds

IDPH:bgn->rover_time.subseconds

Note: It is possible for the sclk to be earlier than the DVT time reported in the data product meta data file and the sclk reported in the data product file name.

SPACECRAFT_CLOCK_STOP_COUNT

Provides the value of the spacecraft clock at the end of a time period of interest.

Format is dddddddddd.ddd, measured in units of seconds and stored internally as a floating point number.

string(30)

LOCATION

IDENTIFICATION (Class)

SOURCE

IDPH:end->rover_time.seconds

IDPH:end->rover-time.subseconds

SPICE_FILE_NAME

Provides the names of the SPICE files used in processing the data.

string (180)

LOCATION

TELEMETRY (Class)

SOURCE

User parameter

START_TIME

Provides the date and time of the beginning of an event or observation (whether it be a spacecraft, ground-based, or system event) in UTC system format. Formation rule:

YYYY-MM-DDThh:mm:ss[.fff]

string

LOCATION

IDENTIFICATION (Class)

SOURCE

Calculated

IDPH:bgn->rover_time.seconds

IDPH:bgn->rover_time.subseconds

SCLK kernel

STOP_TIME

Provides the date and time of the beginning of an event or observation (whether it be a spacecraft, ground-based, or system event) in UTC system format. Formation rule:

YYYY-MM-DDThh:mm:ss[.fff]

string

LOCATION

IDENTIFICATION (Class)

SOURCE

Calculated

IDPH:end->rover_time.seconds

IDPH:end->rover_time.subseconds

IDPH:ImgTlmHdr:exp_time

SCLK kernel

TARGET_NAME

Identifies a target. The target may be a planet, satellite, ring, region, feature, asteroid or comet. See TARGET_TYPE.

string(30)

"MARS", "CALIBRATION"

LOCATION

a) IDENTIFICATION (Class)

SOURCE

a) MARS

TARGET_TYPE

Identifies the type of a named target.

string

"CALIBRATION", "DUST", "N/A", "SUN", "PLANET"

LOCATION

a) IDENTIFICATION (Class)

SOURCE

a) Static Value - PLANET

TELEMETRY_FORMAT_ID

A telemetry format code

String

APXS

100="SPT" - APXS Spectra

LOCATION

TELEMETRY (Class)

SOURCE

Table Lookup

IDPH: flavor

TELEMETRY_PROVIDER_ID

Identifies the provider and version of the telemetry data used in the generation of this data.

string(3)

"SSW MER_DP"

"TTACS"

LOCATION

TELEMETRY (Class)

SOURCE

User Parameter

TELEMETRY_SOURCE_NAME

Identifies the name of the telemetry source used in the creation of this data set.

string

LOCATION

TELEMETRY (Class)

SOURCE

Name of the input data product.

TELEMETRY_SOURCE_TYPE

Classifies the source of the telemetry used in creation of this data set.

string(12)

"DATA PRODUCT", "SFDU"

LOCATION

TELEMETRY (Class)

SOURCE

User Parameter

TLM_INST_DATA_HEADER_ID

Indicates the version of the instrument specific information provided with telemetry data products. Incremented by FSW whenever there is a change to the header structure.

Integer

LOCATION

TELEMETRY (Class)

SOURCE

IDPH: version