PDS Label

Previous  Next

The PDS label contains keywords for product identification. The label also contains descriptive information needed to interpret or process the data in the file.

 

PDS labels are written in Object Description Language (ODL). 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 file:

 

^object = location

 

where the carat character (^, also called a pointer) is followed by the name of the specific data object. The location is the 1-based starting record number for the data object within the file.

 

Keyword Length Limits

 

All PDS keywords are limited to 30 characters in length. Therefore, software that reads MER PDS labels must be able to ingest keywords up to 30 characters in length.

 

For RDR producing institutions wishing to accommodate the VICAR mapping of PDS keywords that use a <unit> tag after the value, such keywords must be limited to 26 characters in length. Otherwise, those keywords are not transcoded from the PDS label into a VICAR label.

 

Data Type Restrictions

 

In order to accommodate VICAR dual-labeled files, 16-bit data must be stored as signed data. Unsigned 16-bit data is not supported. 12-bit unsigned data from the cameras is stored in a 16-bit signed value.

 

Interpretation of N/A, UNK, and NULL

 

During the completion of data product labels or catalog files, one or more values may not be available for some set of required data elements. In this case PDS provides the symbolic literals "N/A", "UNK", and "NULL", each of which is appropriate under different circumstances. As a note, if any one of these three symbolic literals are used in place of a keyword value that is normally followed by a Unit Tag(s) (e.g., "<value>"), the Unit Tag(s) is removed from the label.

 

"N/A" ("Not Applicable") indicates that the values within the domain of this data element are not applicable in this instance. For example, a data set catalog file describing NAIF SPK kernels would contain the line:

 

INSTRUMENT_ID = "N/A"

 

because this data set is not associated with a particular instrument. "N/A" may be used as needed for data elements of any type (e.g., text, date, numeric, etc.).

 

"UNK" ("Unknown") indicates that the value for the data element is not known and never will be. For example, in a data set comprising a series of images, each taken with a different filter, one of the labels might contain the line:

 

FILTER_NAME = "UNK"

 

if the observing log recording the filter name was lost or destroyed and the name of the filter is not otherwise recoverable. "UNK" may be used as needed for data elements of any type.

 

"NULL" is used to flag values that are temporarily unknown. It indicates that the data preparer recognizes that a specific value should be applied, but that the true value was not readily available. "NULL" is a placeholder. For example, the line:

 

DATA_SET_RELEASE_DATE = "NULL"

 

might be used in a data set catalog file during the development and review process to indicate that the release date has not yet been determined. "NULL" may be used as needed for data elements of any type. Note that all "NULL" indicators should be replaced by their actual values prior to final archiving of the associated data.

 

PDS Label Constructs

 

The PDS has designed a set of formal and informal constructs for labeling data products. In the PDS realm, "formal" infers a standardized design or set of rules that provides a protocol across multiple data products (e.g., multiple flight missions) for PDS validation tools, and involves a rigorous approval process. "Informal" infers a less rigorous process by which the construct meets PDS approval. For both formal and informal constructs, the member keywords must be defined in the Planetary Science Data Dictionary (PSDD). In MER Camera EDRs and RDRs, the PDS Label includes the following "formal" and "informal" constructs:

 

Class - The Class construct is informal and resides in a PDS label as a grouping of keywords that are thematically tied together. Classes are usually preceded by a label comment, although it is not required. PDS label comments are character strings bounded by "/* */" characters. In the MER Camera PDS label a Class of keywords are preceded by a comment string as follows:

 

/* comment string */

keyword = keyword value

keyword = keyword value

 

Object - The Object construct is formal and is a set of standard keywords used for a particular data product. In the PSDD, each Object definition lists the elements and subobjects required to be present each time the Object is used in a product label. The PSDD also provides a list of additional, optional keywords that are frequently used in the Object. Any element defined in the PSDD may be included as an optional element in any Object definition, at the discretion of the data preparer. In the MER Camera PDS label an Object's set of keywords is specified as follows:

 

OBJECT = Object identifier

keyword = keyword value

keyword = keyword value

END_OBJECT = Object identifier

 

Group - The Group construct can be either a formal or informal grouping of keywords that are not components of a larger Object. Group keywords may reside in more than one Group within the label. The Group construct is further described in section 12.4.5 of the PDS Standards Reference, "Object Description Language Specification and Usage: GROUP Statement". In the MER Camera PDS label, a Group's set of keywords is specified as follows:

 

GROUP = Group identifier

keyword = keyword value

keyword = keyword value

END_GROUP = Group identifier