attribute_files.txt For data processed through NSSDC's Y2K-developed DIOnAS software, NSSDC provides directories for holding attribute files that are companions to the associated data files. An 'attribute' (sometimes 'attrib') directory is provided in the same directory that contains a given set of data files. The files in the 'attribute' directory have the same names as the data files, but with a '.att' extension, so they can be easily paired with their data files. An attribute file, together with its corresponding data file, constitutes an NSSDC Archival Information Package (AIP). NSSDC AIPs facilitate the long term preservation of archived information and are independent of the underlying media types, including file structures. This is achieved by incorporating a set of key attributes into the attribute file to support a number of functions. These include identification of the type of attribute object and its version, a unique identifier of the AIP assigned under the auspices of the NSSDC archive, and a checksum over the remaining attributes. The remaining attributes are broken into three groups referred to as "Original_Stream_Structure", "Canonical_Stream_Structure", and "Supporting_Attributes". The Original_Stream Structure attributes provide a view of the data as received by NSSDC, or as originally held by NSSDC in its VMS based system called NDADS. These attributes identify such things as whether the data contained binary values, the date they were created or stored on NDADS, the originating operating system, the file and record organization if it was known by the original file system (e.g., known by VMS), the size of the original data file in bytes, the original file name, and a checksum over this original file. The Canonical_Stream_Structure attributes provide a view of the data as it is now being archived by NSSDC. These data, as a byte stream, may be identical to the original byte stream, or they may have undergone a re- packaging such as would be needed to capture record boundary information formerly held by an underlying file system (e.g., some VMS files). This resulting byte stream is referred to as the canonical stream and these data are found in the companion data file identified above. These attributes identify such things as whether the canonical data file (stream) contains binary values, the type of record delimiter used (if any), the size of the stream in bytes, maximum record size (if available from the original file), a checksum over this stream, a recommended file name to use for this stream, the date and time of generation of this canonical stream, and an internationally unique identifier, registered with the NSSDC Control Authority Office, for a description of the format and content of this stream. The Supporting_Attributes provide a few additional pieces of information thought to be useful when available. These includes values associated with the storage of the original file in the NDADS system, where applicable, and a list of possible encoding that have been applied to the data, such as 'gzip' and 'tar', as the data were put into canonical form. An example attribute object (or file), which is implemented in the CCSDS/ISO standard known as Parameter Value Language (or ISO 14961) is as follows: BEGIN_OBJECT = NSSDC_ATTRIBUTE_OBJECT; OBJECT_TYPE_VERSION = "1"; BEGIN_OBJECT = PACKAGE_IDENTIFICATION; ARCHIVAL_STORAGE_ID = "NSDC0000000036"; PRIMARY_COLLECTION_ID = "73-078A-01M"; CRC_TYPE = "NSSDC_A:V0"; ATTRIBUTE_OBJECT_CRC = "65914f8c"; /* hex format, covers all following complete PVL objects */ END_OBJECT = PACKAGE_IDENTIFICATION; BEGIN_OBJECT = STREAM_STRUCTURE; BEGIN_OBJECT = ORIGINAL_STREAM_STRUCTURE; STREAM_TYPE = "7-BIT ASCII"; ORIGINATING_SYSTEM = "VMS: OpenVMS Alpha OS, Version V6.2-1H3"; DATE_TIME_CREATED = "2000-08-21T13:20:00.62"; DATE_TIME_LAST_MODIFIED = "2000-08-21T13:20:01.25"; FILE_ORGANIZATION = "sequential"; RECORD_FORMAT = "variable"; RECORD_CONTROL = "carriage_control"; STREAM_SIZE_BYTES = "616668"; MAXIMUM_RECORD_LENGTH_BYTES = "0"; FILE_NAME = "IMP8_770102.MAG15_ASCII"; CRC_TYPE = "NSSDC_A:V0"; CRC = "3532541a"; /* hex format */ DATE_TIME_OF_ATTRIBUTE_VALUE_CAPTURE = "2000-08-22T18:26:44"; END_OBJECT = ORIGINAL_STREAM_STRUCTURE; BEGIN_OBJECT = CANONICAL_STREAM_STRUCTURE; STREAM_TYPE = "7-BIT ASCII"; STREAM_RECORD_DELIMITER = "CR-LF"; STREAM_SIZE_BYTES = "625872"; MAXIMUM_RECORD_LENGTH_BYTES = "136"; CRC_TYPE = "NSSDC_A:V0"; CRC = "6358325b"; /* hex format */ RECOMMENDED_FILE_NAME = "1977002_imp8_mag_15s.asc"; PROCESSING_REPORT = "FGET_FN-P_VCA PASS: found carriage control with variable records"; DATE_TIME_OF_GENERATION = "2000-08-22T18:26:44"; FORMAT_IDENTIFIER = "NSSD0346"; END_OBJECT = CANONICAL_STREAM_STRUCTURE; END_OBJECT = STREAM_STRUCTURE; BEGIN_OBJECT = SUPPORTING_ATTRIBUTES; ORDERED_APPLIED_ENCODINGS = "NONE"; /* example: (base64, gzip) */ NDADS_VMS_PROJECT_ID = "IMP8"; /* default is 'NONE' */ NDADS_VMS_DATATYPE = "MAG15_ASCII"; NDADS_VMS_ENTRY_ID = "19770102"; NDADS_VMS_SUPER_ENTRY_ID = ""; DATA_BEGIN_DATE_TIME = "1977-01-02T00:00:00.000"; DATA_END_DATE_TIME = "n/a"; END_OBJECT = SUPPORTING_ATTRIBUTES; END_OBJECT = NSSDC_ATTRIBUTE_OBJECT; A complete and formal definition of the attribute file structure and meaning is under development.