Cassini Orbiter
Dual Technique Magnetometer Experiment


MAG Standard Data Products and Archive Volume
Software Interface Specification


Document IO-AR-020
Version 1.18
rev. June 1, 2005


Prepared by

N. Achilleos, S. Kellock, A. Hitchman, C. N. Dunford
Imperial College
London, SW7 2AZ, UK

S. Joy
University of California, Los Angeles
Los Angeles, CA 90095-1567, USA


Cassini Orbiter
Dual Technique Magnetometer Experiment

MAG Standard Data Products and Archive Volume
Software Interface Specification

Version 1.18
rev. June 1, 2005


Approved:


______________________________________________________________________
Michele Dougherty
MAG Principal Investigator
Date


______________________________________________________________________
Diane Conner
Cassini Archive Data Engineer
Date


______________________________________________________________________
Ray Walker
PPI Node Manager
Date


Table of Contents

1Preface6
1.1Distribution list6
1.2Document change log6
1.3TBD items7
1.4Abbreviations7
1.5Glossary8
2Introduction10
2.1SIS content overview10
2.2MAG scientific overview10
2.2.1Scientific objectives11
2.3Product types11
2.3.1Standard data products11
2.4Scope of this document12
2.5Applicable documents12
2.6Audience12
3Archive volume generation13
3.1Data transfer methods and delivery schedule13
3.2Data validation14
3.3Data product and archive volume size estimates15
3.4Backups and duplicates15
3.5Labeling and identification16
4Archive volume contents17
4.1Root directory17
4.2BROWSE directory18
4.3CALIB directory18
4.4CATALOG directory19
4.5DATA directory19
4.5.1Contents19
4.5.2Subdirectory structure20
4.5.3Required files21
4.5.4MRDCD subdirectory21
4.5.5SCDCD subdirectory23
4.6DOCUMENT directory23
4.7EXTRAS directory25
4.8INDEX directory25
4.9SOFTWARE directory25
5Archive volume format28
5.1Disk format28
5.2File formats28
5.2.1Document files28
5.2.2Tabular files28
5.2.3PDS labels29
5.2.4Catalog files30
5.2.5Index files30
5.2.6Calibration files31
.
5.2.7REDR data files35
6Support staff and cognizant persons45
7Appendix A. Details of data validation46
8Appendix B. Derivation of MAG times48
8.1Data files48
8.2Header and label files48
9Appendix C. PDS label files50
9.1Resolving parameters in the generic MAG labels50
9.2Example label file52
9.3Example header file54
9.4Data file formats56
9.4.1Fluxgate magnetometer data56
9.4.2Vector helium magnetometer data58
9.4.3Scalar helium magnetometer data61
9.4.4Configuration data62
9.4.5Analog data79
9.4.6Error counter data84
9.4.7Command data99
9.4.8Channelized attitude data100
9.4.9Channelized user data102
10Appendix D. MAG data-calibration algorithms107
10.1Vector data (FGM and VHM)107
10.2Scalar data (SHM)108

List of Figures

Figure 1:Duplication and dissemination of MAG archive volumes16
Figure 2:Archive volume directory structure17
Figure 3:Typical DATA directory tree21

List of Tables

Table 1:Distribution list6
Table 2:Document change log6
Table 3:List of TBD items7
Table 4:Abbreviations and their meaning7
Table 5:Product types11
Table 6:Standard data products12
Table 7:Data delivery schedule13
Table 8:Data product size and archive volume production rate15
Table 9:Root directory contents18
Table 10:BROWSE directory contents18
Table 11:CALIB directory contents18
Table 12:CATALOG directory contents19
Table 13:DATA directory contents20
Table 14:DATA/Yyy/yyddd/MRDCD directory contents22
Table 15:DATA/Yyy/yyddd/SCDCD directory contents23
Table 16:DOCUMENT directory contents23
Table 17:INDEX directory contents25
Table 18:SOFTWARE directory contents26
Table 19:SOFTWARE/EXAMPLE_FILES directory contents26
Table 20:Format of index files30
Table 21:Format of FGM calibration files31
Table 22:Format of VHM calibration files33
Table 23:Format of FGM data files35
Table 24:Format of VHM data files35
Table 25:Format of SHM_C data files35
Table 26:Format of CON data files36
Table 27:Format of ANA data files39
Table 28:Format of ERR data files40
Table 29:Format of CMD data files42
Table 30:Format of CHATT data files43
Table 31:Format of CHUSR data files43
Table 32:Archive collection support staff45
Table 33:Time tags in header and label files49
Table 34:Parameter settings for standard products51
Table 35:Header file codes54
Table 36:Dynamic operation ranges of MAG sensors107

1 Preface

This document describes the format and content of the Cassini MAG standard products archive.


1.1 Distribution list

Table 1: Distribution list
NameEmail
Nick Achilleosn.achilleos@imperial.ac.uk
Charles ActonCharles.Acton@jpl.nasa.gov
Steven AdamsSteven.L.Adams@jpl.nasa.gov
Reta Beeberbeebe@nmsu.edu
Diane ConnerDiane.Conner@jpl.nasa.gov
Michele Doughertym.dougherty@imperial.ac.uk
Steve Kellocks.kellock@imperial.ac.uk
Joe Mafijmafi@igpp.ucla.edu
Steve Joysjoy@igpp.ucla.edu
Dennis MatsonDennis.L.Matson@jpl.nasa.gov
Robert MitchellRobert.Mitchell@jpl.nasa.gov
Peter Slootwegp.slootweg@imperial.ac.uk
Ray Walkerrwalker@igpp.ucla.edu


1.2 Document change log

Table 2: Document change log
ChangeDateAffected portion
Initial draft5/21/02All
Modifications and additions by NA / SK11/21/02 Preface, Introduction, Archive Volume Generation, Archive Volume Contents
Modifications and additions by NA / SK01/17/03Preface, Introduction, Archive Volume Generation, Archive Volume Contents
Modifications by SJ to reflect current PDS policies and documentation standards. Comments added to assist MAG team in future updates.03/07/03All
Modifications and additions by AH 03/24/03 Introduction, Archive Volume Generation, Archive Volume Contents, Appendix C
Modifications and additions by NA in response to SJ's comments, insertion of SJ's Appendix C (example PDS labels)04/23/03 Sections 2.3, 4.7, Appendix C
Modifications by AH 6/26/03 Sections 1, 3.1, 3.3, 6, Appendix C
Modifications by AH10/1/03All
Incorporate old Appendix A into Section 4, add new Appendix B - AH10/13/03 Appendix A, B, Section 4
Minor revisions ahead of submission of Earth- swingby archive volume - AH12/1/03 All
Revisions following submission of Earth- swingby archive volume - AH03/5/04 Section 4, Appendix C
Revisions following peer review of Earth-swingby archive volume - AH04/28/04 Sections 2.2, 9.1
Add Browse directory and new appendix for calibration algorithms - AH05/14/04 Sections 4.2, 5.2.6, Appendix D
Modify signature page, add Extras directory, modify Sections 4.7, 4.8, 4.10 - AH05/28/04 Page ii, Sections 4.7, 4.8, 4.10
Update title page, signature page and support staff table. Modify all sections referring to SHM data to reflect change in archive volume contents from non-calibrated to calibrated SHM data - CND05/06/05 Page i, ii, List of Tables, tables 6, 14, 16, 19, 20, 26, 33, and 35. Sections 4.5.2, 8.1, 9.4.3 and 10.2
Modify sections relating to Document Directory to reflect addition of gap files - CND05/10/05 Table 16
Modified to reflect feedback from Joyce Wolf - CND05/17/05 tables 19, 20 and section 10.2
Updated distribution list to include Joe Mafi - CND05/24/05 Table 1
Updated SIS to reflect feedback from Diane Conner - CND06/01/2005 Section 4.8 and 5.2.7 deleted. Table 1, Sections 3, 4.3, 4.7 and 9.3 modified


1.3 TBD items Table 3 lists items that are not yet finalized.

Table 3: List of TBD items
ItemSectionPages
Nil


1.4 Abbreviations

Table 4: Abbreviations and their meaning
AbbreviationMeaning
AACSAttitude and Articulation Control Subsystem
ADCAnalog-Digital Converter
ALFAssisted Load Format
ATCArtificial Time Code
ASCIIAmerican Standard Code for Information Interchange
BIUBus Interface Unit
CATSCassini Archive Tracking System
CD-RCompact Disc - Recordable media
CD-ROMCompact Disc - Read-Only Memory
COCassini Orbiter
CRCCyclic Redundancy Check
DPUData Processing Unit
DTIDead Time Interrupt
DVDDigital Versatile Disc
DVD-RDVD - Recordable media
FGMFluxgate Magnetometer
FIFOFirst In First Out
FTPFile Transfer Protocol
GBGigabyte(s)
HKHousekeeping
ICImperial College, London
IFCIn-Flight Calibration
ISOInternational Standards Organization
JPLJet Propulsion Laboratory
LULatch Up
MAGDual Technique Magnetometer
MBMegabyte(s)
MCIMeasurement Cycle Interrupt
MDVTMAG Data Validation Team
NASANational Aeronautical and Space Administration
NAIFNavigation and Ancillary Information Facility
NMINon-Maskable Interrupt
NSSDCNational Space Science Data Center
ODLObject Description Language
PDSPlanetary Data System
PPIPlanetary Plasma Interactions Node
PROMProgrammable Read Only Memory
PSUPower Supply Unit
REDRReformatted Experimental Data Record
RTIReal-Time Interrupt
SCASScience Calibration and Alignment Subsystem
SCETSpacecraft Event Time
SCLKSpacecraft Clock
SDScience Data
SDPStandard Data Product
SHSubcommutated Housekeeping
SISSoftware Interface Specification
SOISaturn Orbit Insertion
STMSpacecraft Time Message
SUMMSummary Data Record
TBCTo Be Confirmed
TBDTo Be Determined
TUBTechnical University of Braunschweig
UCLAUniversity of California, Los Angeles
UDFUniversal Directory Format
VCOVoltage Controlled Oscillator
V/SHMVector/Scalar Helium Magnetometer


1.5 Glossary

Archive - An archive consists of one or more data sets along with all the documentation and ancillary information needed to understand and use the data. An archive is a logical construct independent of the medium on which it is stored.

Archive Volume - A volume is a unit of media on which data products are stored; for example, one DVD-R. An archive volume is a volume containing all or part of an archive; that is, data products plus documentation and ancillary files.

Archive Volume Set - When an archive spans multiple volumes, they are called an archive volume set. Usually the documentation and some ancillary files are repeated on each volume of the set, so that a single volume can be used alone.

Catalog Information - High-level descriptive information about a data set (e.g. mission description, spacecraft description, instrument description), expressed in Object Description Language (ODL), which is suitable for loading into a PDS catalog.

Data Product - A labeled grouping of data resulting from a scientific observation, usually stored in one file. A product label identifies, describes, and defines the structure of the data. An example of a data product is a planetary image, a spectral table, or a time series table.
Data Set - A data set is an accumulation of data products together with supporting documentation and ancillary files.

Standard Data Product - A data product generated in a predefined way using well-understood procedures, processed in "pipeline" fashion. Data products that are generated in a non-standard way are sometimes called special data products.


2 Introduction


2.1 SIS content overview

This software interface specification (SIS) describes the format, content, and generation of the MAG standard product archive volumes. Section 3, describes the procedure for transferring data products to archive media. Section 4, describes the structure of the archive volumes and the contents of each file. Section 5, describes the file formats used on the archive volumes. Finally, Section 6 lists the individuals responsible for generating the archive volumes.


2.2 MAG scientific overview

Magnetometers are direct-sensing instruments that detect and measure the strength and orientation of magnetic fields. The Cassini Dual Technique Magnetometer (MAG) measures magnetic fields in the vicinity of the Cassini obiter during its mission. The MAG instrument consists of two independent magnetometers, a common data processing unit, three power supplies, and associated operating software and electronics.

The first magnetometer, the vector/scalar helium magnetometer (V/SHM), is capable of two modes of operation. In vector mode, it measures three orthogonal components of the magnetic field, allowing determination of the field magnitude and direction. Using two dynamically selectable ranges of operation, vector fields up to +/-256 nT may be measured. In scalar mode, in which only the field magnitude is measured, the magnetometer is capable of measuring fields in the range 256 to 16384 nT. The V/SHM and its electro-nics have been provided for the Cassini mission by the Jet Propulsion Laboratory (JPL).

The second magnetometer, the fluxgate magnetometer (FGM), uses three orthogonal ringcore fluxgate sensors to make vector field measurements. This magnetometer operates in one of four dynamically selectable ranges, allowing the measurement of fields up to +/-44000 nT. The FGM and its electronics have been provided for the mission by Imperial College, London.

The instrument data processing unit (DPU) interfaces with the spacecraft Command and Data Subsystem through the JPL-designed bus interface unit (BIU). All commands, data, and processor program changes are received or transmitted through the BIU. Three power supplies and the 28 V spacecraft bus power the MAG components. Power supply 0 powers the BIU and the DPU core. Power supplies 1 and 2 are redundant and power the remainder of the instrument.

The magnetometers are sensitive to field distortions caused by electric currents and ferrous components onboard the spacecraft. To minimize these spurious effects the sensors are located on an 11 m boom which was deployed from the spacecraft before the first magnetic-field measurements were made. For the Cassini mission, the FGM sensor is located midway along the magnetometer boom and the V/SHM sensor is at the end of the boom.


2.2.1 Scientific objectives

The primary objectives of the MAG experiment are to determine the detailed structure of planetary magnetic fields and to study the physical processes in the planetary system that are associated with the magnetic field. In particular, the MAG experiment will endeavour to

• determine the internal magnetic field of Saturn,
• develop a three-dimensional model of Saturn's magnetosphere,
• determine the magnetic state of Titan and its atmosphere,
• derive an empirical model of the Titan electromagnetic environment,
• investigate the interactions of Titan with the magnetosphere, magnetosheath, and solar wind,
• survey the ring and dust interactions with the electromagnetic environment,
• study the interactions of the icy satellites with the magnetosphere of Saturn, and,
• investigate the structure of the magnetotail and the dynamic processes therein.

2.3 Product types

The product types generated by the MAG experiment are listed in Table 5.

Table 5: Product types
Product typeDescription
REDRReformatted Experimenter Data Record (raw data)
Calibration filesFiles containing instrument offsets and sensitivities used to calibrate raw data
SoftwareSoftware to calibrate the raw data and transform them to physically meaningful coordinate systems

Each MAG REDR product is a time-ordered table of magnetic-field and related measurements. The data in these files are extracted or computed from the raw telemetry data, assigned time tags, and formatted into simple binary tables of values in engineering units (data numbers). REDR products are generated for all mission phases during which magnetic-field data are acquired.

The calibration files and software required to calibrate REDR data and, if desired, transform them into alternative coordinate systems, are included in the MAG archive. As examples of the application of this software a selection of test files in raw and calibrated/transformed form accompany the software. These files enable archive users to check the calibrations that they perform on their own platforms.


2.3.1 Standard data products

The REDR dataset may consist of up to nine standard data products. The full set of standard products is shown in Table 6 and described in greater detail in Sections 4.5.4, 4.5.5 and 5.2.6.

Table 6: Standard data products
Standard data product IDDescription
MAG_FGMData files (and associated headers/labels) containing magnetic-field data from the MAG fluxgate magnetometer
MAG_VHMData files (and associated headers/labels) containing magnetic-field data from the MAG helium magnetometer operating in vector mode
MAG_SHM_CCalibrated data files (and associated headers/labels) containing magnetic-field data from the MAG helium magnetometer operating in scalar mode
MAG_CONData files (and associated headers/labels) containing configuration image information maintained by the DPU computer
MAG_ANAData files (and associated headers/labels) containing analog housekeeping data
MAG_ERRData files (and associated headers/labels) containing error counter information
MAG_CMDData files (and associated headers/labels) containing command validation information
MAG_CHATTData files (and associated headers/labels) containing time-dependent attitude information for the Cassini spacecraft
MAG_CHUSRData files (and associated headers/labels) containing engineering data from a default set of channels
MAG_CALCalibration "history" files containing time-dependent information to be used for calibrating raw MAG data MAG_SW Software to calibrate and transform raw MAG data


2.4 Scope of this document

The specifications in this SIS apply to all MAG standard data products submitted for archive to the Planetary Data System (PDS), for all phases of the Cassini mission. Some sections of this document describe parts of the MAG archive and archiving process that are managed by the PDS archive team. These sections have been provided for completeness of information and are not maintained by the MAG team.


2.5 Applicable documents

ISO 9660-1988, Information Processing - Volume and File Structure of CD-ROM for Information Exchange, April 15, 1988.

Planetary Science Data Dictionary Document, August 28, 2002, Planetary Data System, JPL D-7116, Rev. E.

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

Planetary Data System Standards Reference, August 1, 2003, Version 3.6, JPL D-7669, Part 2.


2.6 Audience

This document is intended to be useful to those who wish to understand the format and content of the MAG data submitted to the PDS archive. Such users might typically be software engineers, data analysts, or planetary scientists.


3 Archive volume generation

The MAG standard product archive collection is produced by the MAG instrument team in cooperation with the PDS Planetary Plasma Interactions (PPI) Node at the University of California, Los Angeles (UCLA). The archive volume creation process described in this section sets out the roles and responsibilities of both these groups. The assignment of tasks has been agreed by both parties during the process of creating this document.

Archived data received by the PPI Node from the MAG team will be made electronically available to PDS users as soon as practicable but no later than as laid out in Table 7. When sufficient data to fill a DVD-R volume have accumulated a new archive volume will be created.


3.1 Data transfer methods and delivery schedule

The MAG team will deliver data to the PPI Node in standard product packages containing three months of data, also adhering to the schedule set out in Table 7. Each package will comprise both data and ancillary data files, organized into directory structures consistent with the volume design described in Section 4, and combined into a deliverable file(s) using file archive and compression software. When these files are unpacked at the PPI Node in the appropriate location, the constituent files will be organized in a directory structure similar to the archive volume structure.

Table 7: Data delivery schedule
DateDelivery
December 2003Earth-swingby data, documentation, calibration files, and processing software (days 99-228 to 99-257)
July 2005Interplanetary cruise (including Jupiter-flyby) data, documentation, calibration files, and software (days 99-258 to 04-182)
July 2005First 3 months of Saturn data (04-183 to 04-274)
Every 3 monthsNext 3 months of Saturn data

Table contents from Archive Plan for Science Data, 699-068, May 2004, Appendix B

Data files will be transferred using the File Transfer Protocol (FTP). The MAG team will sign into a user account on the PPI computer system, transfer the file(s) in binary mode, and then use the Cassini Archive Tracking System (CATS) to inform the PPI Node that an archive delivery has been made. The PPI Node will move the deliverable file to its appropriate location within the PPI file system, unpackage the data, and verify that both the file transfer and unpackaging were successful. Once PPI has verified that it has received a valid data delivery it will update CATS to mark the delivery as "received".

Following receipt of a data delivery, PPI will organize the data into PDS archive volume structure within its online data system. PPI will generate all of the required files associated with a PDS archive volume (index file, readme files, etc.) as part of its routine processing of incoming MAG data. Newly delivered data will be made available publicly through the PPI online system once accompanying labels and other documentation have been validated. It is anticipated that this validation process will require at least fourteen working days from receipt of the data by PPI. The first two data deliveries are expected to require somewhat more time for the PPI Node to process before making the data publicly available.

The Cassini prime mission begins at Saturn Orbit Insertion (SOI) in July 2004 and lasts four years. Table 7 formalizes the data delivery schedule for all of the MAG cruise and prime mission data. Archiving of products from any extended mission period will be negotiated with the Cassini Project at a later date.

Acquisition of MAG data has been quasi-continuous since deployment of the magnetometer boom immediately prior to the Earth swingby (August 18, 1999). MAG data from the Earth swingby will be used to model the data delivery and validation procedure prior to SOI. These data will be delivered to the PPI Node during December 2003. Interplanetary cruise and Jupiter-flyby data will be archived after the Earth-swingby data has been validated and the automated archive volume creation software is completed and validated. These data will be delivered to the PDS by July 2005.


3.2 Data validation

The MAG data archive volume set will include all data acquired during the Cassini mission. The archive validation procedure described in this section applies to volumes generated during both the cruise and prime phases of the mission.

PDS standards recommend that all data included in the formal archive be validated through a peer-review process. This process is designed to ensure that both the data and documentation are of sufficient quality to be useful to future generations of scientists. The volume and nature of Cassini MAG data, however, necessitate some modification of the normal PDS review process since it is impractical to convene a review panel to examine every archive volume when data volumes are large and data sets are archived while still in a dynamic state.

The amended procedure adopted for MAG data validates, by a peer-review process, an archive volume created using data from the initial phase of acquisition. This review determines whether the archived data are appropriate to meet the stated science objectives of the instrument. The panel also reviews the archive product generation process for robustness and ability to detect discrepancies in the end products; documentation is reviewed for quality and completeness. One of the primary questions addressed during the peer-review process is: "Can an expert in the use of similar data meet the stated science objectives of the experiment using only the data and documentation included in this archive?" The peer-review panel may suggest changes to any of the areas under review if the answer to this question is not affirmative. More details of the data validation process are given in Appendix A.

As expertise with the instrument and data develops the MAG team may decide that changes to the structure or content of its standard data products are warranted. Should these changes be implemented the new data product and archive volume will be subjected to a full PDS peer review, and this document will be fully revised to reflect the modified archive. Table 2 lists the history of all modifications to the archive structure and contents.

Additionally, the MAG team may generate and archive special data products that cover specific observations or data-taking activities. This document does not specify how, when, or under what schedule, any such special archive products are generated.


3.3 Data product and archive volume size estimates

MAG data are organized into files that typically span a single day of data acquisition. Files vary in size depending on the telemetry rate and allocation. Table 8 summarizes the expected sizes of the MAG data products. The file size estimates are based on the largest files created during the Earth swingby. It is anticipated that actual file sizes, and the number of archive volumes required to store them, will be less than this estimate.

All MAG data are organized by the PDS team onto a single archive volume covering a time interval governed by the physical capacity of the archive volume media. The data on the volume are organized into one-day subdirectories, with an individual volume containing between 30 and 50 days of data. It is anticipated that data will be archived on DVD-R media, which have a capacity of 4.7 GB. These media will be produced in UDF bridge format with ISO partitions, in compliance with PDS standards.

Table 8: Data product size and archive volume production rate
ProductProduction rate (approximate)Days per 4.7 GB volumeVolumes for 4-year primary mission
REDRup to 120 MB per day30-5046

Following receipt of MAG data by the PPI Node it is expected that fourteen working days will be required before the data are made available on PPI web pages. Once sufficient data have accumulated a new archive volume will be created by PPI. It is anticipated that two weeks will be required to produce and validate this new archive volume once the data delivery that fills the volume has been made available online.


3.4 Backups and duplicates

The PPI Node keeps three copies of each archive volume. One copy is the primary archive volume, another is an onsite backup copy, and the final copy is a local, off-site backup copy. The volumes sent to the MAG team and the PDS Central Node are to be kept by those institutions. Once the archive volumes are fully validated and approved for inclusion in the archive, a copy of the data is sent to the National Space Science Data Center (NSSDC) for long-term archive in a NASA-approved deep-storage facility. The PPI Node may maintain additional copies of the archive volumes, either on or off-site as deemed necessary. Figure 1 describes the process of duplicating and disseminating MAG archive volumes.


Figure 1: Duplication and dissemination of MAG archive volumes [SFIG_001.PNG]


3.5 Labeling and identification

Each MAG data volume bears a unique volume ID using the last two components of the volume set ID [PDS Standards Reference, 2002]. For each physical medium, the volume set ID is USA_NASA_PDS_COMAG_nnnn, where nnnn is the sequence number of the individual volume. Hence the first MAG volume has the volume ID COMAG_0001.

The MAG REDR data set has the PDS DATA_SET_ID CO-E/SW/J/S-MAG-2-REDR-RAW-DATA-V1.0 except for the SHM_C data where MAG-2 is replaced by MAG-3.


4 Archive volume contents

This section describes the contents of the MAG standard product archive collection volumes, including the file names, file contents, file types, and the organizations responsible for providing the files. The complete directory structure is shown in Figure 2. All the ancillary files described herein appear on each MAG volume, except where noted.

Figure 2: Archive volume directory structure

      ROOT
       |
       |---- BROWSE
       |
       |
       |---- CALIB
       |
       |
       |---- CATALOG
       |                                 |-- MRDCD
       |                                 |
       |---- DATA ---- Yyy ---- yyddd ------ SCDCD
       |
       |
       |---- DOCUMENT ------ CAL02_GUIDE
       |                 |
       |                 |-- DATA_QUALITY
       |---- EXTRAS      |
       |                 |-- TRANSCAL_GUIDE
       |                 |
       |---- INDEX       |-- VOLSIS
       |
       |
       |---- SOFTWARE ---- EXAMPLE_FILES ------ RAW
                                            |
                                            |-- CALIB


4.1 Root directory

The following files are contained in the root directory, and are produced by the PPI Node. They are described here for information purposes only. With the exception of the hypertext file and its label, all of these files are required by the PDS volume organization standards.

Table 9: Root directory contents
FileDescriptionResponsibility
AAREADME.TXTThis file completely describes the volume organization and contents (PDS label attached)PPI Node
AAREADME.HTMHTML version of AAREADME.TXTPPI Node
AAREADME.LBLA PDS detached label that describes AAREADME.HTMPPI Node
ERRATA.TXTA text file containing a cumulative listing of comments and updates concerning all MAG standard data products on all MAG volumes in the volume set published to datePPI Node
VOLDESC.CATA description of the contents of this volume in a PDS format readable by both humans and computersPPI Node


4.2 BROWSE directory

The BROWSE directory contains daily browse plots of the MAG data. The contents of this directory are described in Table 10

Table 10: BROWSE directory contents
FileDescriptionResponsibility
BROINFO.TXTA description of the contents of this directoryPPI Node
yyddd.PDFA PDF file containing a plot of the magnetic-field data acquired on day ddd of year yyMAG team, PPI Node
yyddd.LBLThe PDS label for the plot filePPI Node


4.3 CALIB directory

The CALIB directory contains the files needed to calibrate raw MAG data. The contents of this directory are described in Table 11. These are the MAG_CAL standard data products.

Table 11: CALIB directory contents
FileDescriptionResponsibility
CALINFO.TXTA description of the contents of this directoryMAG team, PPI Node
FGM_CAL.FFDA flatfile data file containing FGM calibration information as a function of time. This file is required as input for the CAL02 application.MAG team
FGM_CAL.FFHThe flatfile header for the FGM calibration dataMAG team
FGM_CAL.LBLThe PDS label for the FGM calibration dataMAG team
VHM_CAL.FFDA flatfile data file containing VHM calibration information as a function of time. This file is required as input for the CAL02 application.MAG team
VHM_CAL.FFHThe flatfile header for the VHM calibration dataMAG team
VHM_CAL.LBLThe PDS label for the VHM calibration dataMAG team


4.4 CATALOG directory

The files in the CATALOG directory provide a top-level understanding of the Cassini mission, spacecraft, instruments, and data sets in the form of completed PDS templates. The information necessary to create the files is provided by the MAG team and formatted into standard template formats by the PPI Node. The files in this directory are coordinated with PDS data engineers at both the PPI Node and the PDS Central Node.

Table 12: CATALOG directory contents
FileDescriptionResponsibility
CATINFO.TXTA description of the contents of this directoryPPI Node
INSTHOST.CATA description of the Cassini orbiterCassini Project
MAG_INST.CATPDS instrument catalog description of the MAG instrumentMAG team, PPI Node
MISSION.CATPDS mission catalog description of the Cassini mission Atmospheres Node,Cassini Project
PERSON.CATPDS personnel catalog description of MAG team members and other persons involved with generation of MAG data productsMAG team, PPI Node
PROJREF.CATReferences mentioned in INSTHOST.CAT and MISSION.CATCassini Project
REDR_DS.CATPDS data set catalog description of the MAG raw dataMAG team, PPI Node
REF.CATMAG-related references mentioned in other CAT filesMAG team, PPI Node


4.5 DATA directory


4.5.1 Contents

The DATA directory contains the actual data products and ancillary information files produced by the MAG team. The REDR dataset is primarily raw science data which has been reformatted into simple binary table structures, organized into correct time sequence, time tagged, and edited to remove obviously bad data.

When archived these data are of the highest quality possible. Any residual issues pertaining to the data are documented in AAREADME.TXT, ERRATA.TXT and REDR_DS.CAT. Users are referred to these files for a detailed description of any outstanding matters associated with the archived data.

Additional files located in the DATA directory include ancillary information files (engineering, housekeeping) and channelized data files (e.g. spacecraft attitude, status information for MAG instrumental subsystems), provided to facilitate data processing and analysis.

Time is represented in MAG REDR files in a number of formats. Appendix B describes the derivation of these different formats.

Table 13: DATA directory contents
FileDescriptionResponsibility
DATAINFO.TXTA description of the contents of this directoryMAG team
MAGDATA.TXTA file describing aspects of MAG data in greater detailMAG team
YyySubdirectories containing MAG data, where 'yy' represents the 2-digit year during which the data were acquiredMAG team


4.5.2 Subdirectory structure

All components of the MAG REDR dataset are organized into a file system called "flatfiles". In this system, data are stored in a binary file as a table composed of fixed-length records. All data files have an accompanying ASCII "header" file that describes the data file contents. The flatfile system was developed by UCLA, and a variety of software packages read and process data stored in this manner.

PDS archiving standards require that an additional ASCII "label" file describe each data file. This label contains similar information to, and may usually be derived from, the corresponding header file. Consequently, both a header file and a label file will describe each data file in the MAG archive, to accommodate both processing and archiving requirements.

REDR standard data products, containing one day of data in total, consist of approximately 18 binary data files and approximately 14 additional files containing instrument housekeeping or channelized data. Each flatfile in the standard set contains all data of the specified file type for a single day. Depending on mission priorities, data may not necessarily be available for all file types on any given day.

In order to manage files in an archive volume more efficiently the DATA directory is divided into subdirectories. The first two levels of division are based on time; data are organized into yearly subdirectories which are further divided into a number of daily subdirectories. The naming convention for the yearly directories is Yyy, and for the daily directories is yyddd, where yy is the last two (least significant) digits of the year, and ddd is the three-digit day of year. For example, all data for the year 2005 are contained below the directory Y05, with data for January 1 2005 found in the subdirectory Y05/05001, and so on.

During the prime mission the magnetometers operate at higher data-acquisition rates and it is expected that data volumes for this period will have capacity for 30 to 50 days of data. During the cruise phase of the mission the instruments operate at reduced acquisition rates and, consequently, the number of days on each data volume may be greater than 50. However, in order to comply with PDS subdirectory specifications, the number of days per data volume will be specifically limited so that it does not exceed 256.

The daily directories are further divided into the MRDCD (MAG raw consolidated data for VHM and FGM as well as calibrated SHM data) and SCDCD (spacecraft consolidated data) subdirectories, according to the types of files they contain. Figure 3 shows a representative portion of the DATA directory tree.

Figure 3: Typical DATA directory tree

      DATA ----- Y05 ----- 05221 ----- MRDCD
      |           |
      |           |-- SCDCD
      |
      |-- 05222 ----- MRDCD
      |           |
      |           |-- SCDCD
      |
      |-- 05223 ----- MRDCD
      |           |
      |           |-- SCDCD


4.5.3 Required files

A PDS label describes each file in the DATA path of an archive volume. Text documentation files have attached (internal) PDS labels and data files have detached labels. Detached PDS label files have the same root name as the file they describe but have the extension LBL. The format of the data files for each standard data product is constant throughout the archive volume and is described in FMT files located in the DATA directory (see Section 4.5.1).


4.5.4 MRDCD subdirectory

This directory contains magnetic-field data files and their corresponding headers and labels. The data in these files correspond to a time interval of one day, the particular day being identified from both the file name and the name of the parent directory. Science data extracted from various sources (i.e. types of data packet) are included in Table 14.

The procedures involved in extracting and processing science data taken in "snapshot" mode (data stored internally by MAG software and then downloaded at a later time) are not yet fully developed and tested. Snapshot data have therefore been omitted from the archive plan (and from Table 14) at present.

Table 14: DATA/Yyy/yyddd/MRDCD directory contents
FileDescriptionResponsibility
yyddd_MRDCD_SDFGMC.FFD yyddd_MRDCD_HKFGMN.FFD yyddd_MRDCD_SHFGMC.FFD yyddd_MRDCD_SDFGMC.FFH yyddd_MRDCD_HKFGMN.FFH yyddd_MRDCD_SHFGMC.FFH yyddd_MRDCD_SDFGMC.LBL yyddd_MRDCD_HKFGMN.LBL yyddd_MRDCD_SHFGMC.LBLMAG_FGM standard data products. Data files containing raw (uncalibrated) magnetic-field vector data from the fluxgate magnetometer (FGM). The original telemetric sources of this data are science data packets (SD), housekeeping packets (HK) and subcommutated housekeeping (SH). Generation of SH is configurable, thus SH data may not always be present. Labels and flatfile headers for the three data files are also included. The "yyddd" string identifies the year and day of year corresponding to the data e.g. 01037 denotes February 4th (Day 37) 2001. The final letter of the filename prefix indicates whether a configuration image was used ("C") when creating the file, or not ("N"). The sample interval used in pre processing is taken from the configuration image so if the configuration image is not available the default is used which is manually adjustable and is preset to the value which is nominally used. So while whether the image is used or not does not affect how the file is used not using the image puts the sample timing in doubt.MAG team
yyddd_MRDCD_SDVHMC.FFD yyddd_MRDCD_HKVHMN.FFD yyddd_MRDCD_SHVHMC.FFD yyddd_MRDCD_SDVHMC.FFH yyddd_MRDCD_HKVHMN.FFH yyddd_MRDCD_SHVHMC.FFH yyddd_MRDCD_SDVHMC.LBL yyddd_MRDCD_HKVHMN.LBL yyddd_MRDCD_SHVHMC.LBLAs for previous entry in this table, except that the magnetic data are from the vector helium magnetometer (VHM) and are MAG_VHM standard data products.MAG team
yyddd_MRDCD_SDSHMC_C .FFD yyddd_MRDCD_HKSHMN_C .FFD yyddd_MRDCD_SHSHMC_C .FFD yyddd_MRDCD_SDSHMC_C .FFH yyddd_MRDCD_HKSHMN_C .FFH yyddd_MRDCD_SHSHMC_C .FFH yyddd_MRDCD_SDSHMC_C .LBL yyddd_MRDCD_HKSHMN_C .LBL yyddd_MRDCD_SHSHMC_C .LBLAs for previous entry in this table, except that the magnetic data are now in scalar form (magnetic-field strength) from the scalar helium magnetometer (SHM) , the data are calibrated and are MAG_SHM_C standard data products. SHM data will not commonly be found in the relevant subdirectories of the archive because the SHM sensor is only used when the spacecraft is located within approximately 4 planetary radii of Saturn (where magnetic field strength exceeds 256 nT).MAG team
yyddd_MRDCD_HKCONN.FFD yyddd_MRDCD_SHCONC.FFD yyddd_MRDCD_HKCONN.FFH yyddd_MRDCD_SHCONC.FFH yyddd_MRDCD_HKCONN.LBL yyddd_MRDCD_SHCONC.LBLMAG_CON standard data products. Data files containing configuration (CON) image data related to the state of the instrument maintained by the MAG DPU computer. The original telemetric sources of this data are housekeeping packets (HK) and subcommutated housekeeping (SH). Labels and flatfile headers for the data files are also included.MAG team
yyddd_MRDCD_HKANAN.FFD yyddd_MRDCD_SHANAC.FFD yyddd_MRDCD_SDANAC.FFD yyddd_MRDCD_HKANAN.FFH yyddd_MRDCD_SHANAC.FFH yyddd_MRDCD_SDANAC.FFH yyddd_MRDCD_HKANAN.LBL yyddd_MRDCD_SHANAC.LBL yyddd_MRDCD_SDANAC.LBLMAG_ANA standard data products. Data files containing analog (ANA) housekeeping data. The original telemetric sources of this data are housekeeping packets (HK) and subcommutated housekeeping (SH), as well as some of the HK data from science packets. Labels and flatfile headers for the data files are also included.MAG team
yyddd_MRDCD_HKERRN.FFD yyddd_MRDCD_SHERRC.FFD yyddd_MRDCD_HKERRN.FFH yyddd_MRDCD_SHERRC.FFH yyddd_MRDCD_HKERRN.LBL yyddd_MRDCD_SHERRC.LBLMAG_ERR standard data products. Data files containing error counter (ERR) data. The original telemetric sources of this data are housekeeping packets (HK) and subcommutated housekeeping (SH). Labels and flatfile headers for the data files are also included.MAG team
yyddd_MRDCD_HKCMDN.FFD yyddd_MRDCD_HKCMDN.LBLMAG_CMD standard data products. Data files containing command validation (CMD) information. The original telemetric sources of this data are housekeeping packets (HK). The labels and flatfile headers for the data files are also included.MAG team


4.5.5 SCDCD subdirectory

This directory typically contains two data files and their corresponding headers and labels. The data in these files correspond to a time interval of one day, the particular day being identified by both the file name and the name of the parent directory. The data consist of spacecraft housekeeping or "channelized" data, such as attitude information.

Table 15: DATA/Yyy/yyddd/SCDCD directory contents
FileDescriptionResponsibility
yyddd_ECDCD_CHATT.FFD yyddd_ECDCD_CHATT.FFH yyddd_ECDCD_CHATT.LBLMAG_CHATT standard data products. Channelized (CH) data file (with flatfile header and label) containing attitude (ATT) information for the Cassini spacecraft.MAG team
yyddd_ECDCD_CHUSR.FFD yyddd_ECDCD_CHUSR.FFH yyddd_ECDCD_CHUSR.LBLMAG_CHUSR standard data products. Channelized (CH) data file (with flatfile header and label) containing data from user- selected (USR) channels. The set of channels from which the data are extracted will be a "default set", determined by the MAG team.MAG team


4.6 DOCUMENT directory

The DOCUMENT directory contains a range of documentation considered either necessary or useful for users to understand the archive data set. Documents may be included in multiple forms, for example, ASCII, PDF, MS Word, or HTML. PDS standards require that any documentation needed for use of the data be available in an ASCII format. HTML and PostScript are acceptable ASCII formats in addition to plain text. The following files are contained in the DOCUMENT directory, grouped into the subdirectories shown.

Table 16: DOCUMENT directory contents
FileDescriptionResponsibility
DOCINFO.TXTA description of the contents of this directoryMAG team
Subdirectory: DATA_QUALITY
GAP_FILE_SCI_HK.TXTAn accumulative listing of the missing House Keeping packets up to and including the days for the current volumeMAG team
GAP_FILE_SCI_HK.LBLA PDS detached label for GAP_FILE _SCI_HKMAG team PPI Node
GAP_FILE_SCI_SD.TXTAn accumulative listing of the missing Science packets for the days up to and including the days for the current volumeMAG team
GAP_FILE_SCI_SD.LBLA PDS detached label for GAP_ FILE_SCI_SDMAG team PPI Node
MODE_CHANGES.ASCAn accumulative listing of instrument mode changes for the days up to and including the days for the current volumeMAG team
MODE_CHANGES.LBLA PDS detached label for MODE_ CHANGESMAG team PPI Node
RANGE_CHANGES.ASCAn accumulative listing of instrument mode changes for the days up to and including the days for the current volumeMAG team
RANGE_CHANGES.LBLA PDS detached label for RANGE_ CHANGESMAG team PPI Node
SCAS_TIMES.ASCAn accumulative listing of Science CAlibration Subsystem (SCAS) activities for the days up to and including the days for the current volumeMAG team
SCAS_TIME.LBLA PDS detached label for SCAS_ TIMEMAG team PPI Node
Subdirectory: CAL02_GUIDE
CAL02_GUIDE.DOCA guide to using the software for calibrating vector magnetic-field data, in MS Word formatMAG team
CAL02_GUIDE.HTMCAL02_GUIDE in HTML formatMAG team
CAL02_GUIDE.ASCCAL02_GUIDE in plain ASCII text formatMAG team
CAL02_GUIDE.PDFCAL02_GUIDE in PDF formatMAG team
CAL02_GUIDE.LBLA PDS detached label for CAL02_ GUIDEMAG team
Subdirectory: TRANSCAL_GUIDE
TRANSCAL_GUIDE.DOCA guide to using the software for transforming vector magnetic- field data to alternative coordinate systems, in MS Word formatMAG team
TRANSCAL_GUIDE.HTMTRANSCAL_GUIDE in HTML formatMAG team
TRANSCAL_GUIDE.ASCTRANSCAL_GUIDE in plain ASCII text formatMAG team
TRANSCAL_GUIDE.PDFTRANSCAL_GUIDE in PDF formatMAG team
TRANSCAL_GUIDE.LBLA PDS detached label for TRANSCAL _GUIDEMAG team
GFIG_001.PNGBit-map image of a figure in TRANSCAL_GUIDE, in PNG formatMAG team
Subdirectory: VOLSIS
VOLSIS.DOCThe archive volume SIS (this document), in MS Word formatMAG team, PPI Node
VOLSIS.HTMThe SIS in HTML formatMAG team
VOLSIS.ASCThe SIS in plain ASCII text formatMAG team
VOLSIS.PDFThe SIS in PDF formatMAG team
VOLSIS.LBLA PDS detached label for the SIS documentMAG team
SFIG_xxx.PNGBit-map images of figures in the SIS document, in PNG formatMAG team


4.7 EXTRAS directory

The EXTRAS directory contains files which facilitate the use of the archive volume but which are not considered part of the archive itself. Included in this directory are those SPICE kernels which were used to create the example data files. To process the MAG data.users are advised to check with the NAIF Node for updated kernels which may subsequently be made available.


4.8 INDEX directory

The following files are contained in the INDEX directory and are produced by the PPI Node. They are described here for information purposes only. The INDEX.TAB file contains a listing of all data products on the archive volume. In addition, there is a cumulative index file (CUMINDEX.TAB) that lists all data products in the MAG archive volume set to date. The index and index information (INDXINFO.TXT) files are required by the PDS volume standards. The manifest tables are added by the PPI Node for completeness and are not required files. The cumulative index file is also a PDS requirement; however this file may not be reproduced on each data volume if it becomes clear in the early production that the file will grow to a substantial fraction of the archive media volume. An online and web-accessible cumulative index file will be available at the PPI Node while data volumes are being produced.

Table 17: INDEX directory contents
FileDescriptionResponsibility
INDXINFO.TXTA description of the contents of this directoryPPI Node
CUMINDEX.TABA table listing all MAG data products published so far in this volume set, including the data on this volumePPI Node
CUMINDEX.LBLA PDS detached label that describes CUMINDEX.TABPPI Node
INDEX.TABA table listing all MAG data products on this volumePPI Node
INDEX.LBLA PDS detached label that describes INDEX.TABPPI Node


4.9 SOFTWARE directory

The SOFTWARE directory contains the software used to calibrate MAG data and transform them to alternative coordinate systems. This directory also includes the EXAMPLE_FILES subdirectory, which itself is further divided into the subdirectories RAW and CALIB. These subdirectories contain examples of raw data, and calibrated and transformed data, to enable users to confirm the output of the provided software. The SPICE kernels used by the software to process the example data files are contained in the EXTRAS directory (see Section 4.7). Information that describes the SPICE system, and the content and use of SPICE kernels is available from the PDS NAIF node.

Table 18 shows the contents of the SOFTWARE directory and Table 19 describes its subdirectories. These are the MAG_SW standard data products.

Table 18: SOFTWARE directory contents
FileDescriptionResponsibility
SOFTINFO.TXTA description of the contents of this directoryMAG team, PPI Node
CAL02.EXEThe executable application required to calibrate raw vector data files to give correct magnetic-field values relative to the spacecraft coordinate systemMAG team
CAL02.CPPThe C++ source code and associated files required for compiling CAL02 on necessary for recompiling and rebuilding CAL02MAG team
CAL02.LBLPDS label file for the CAL02 suite of filesMAG team
CAL_MAG.HC++ header file required by calibration softwareMAG team
CAL_MAG.LBLPDS label file for CAL_MAG.HMAG team
CALFUNC02.HC++ header file required by calibration softwareMAG team
CALFUNC02.CPPC++ source file required by calibration softwareMAG team
CALFUNC02.LBLPDS label file for CALFUNC02.*MAG team
KERNEL_FILELIST.TXT KERNEL_FILELIST.LBLMetafile (and associated label) containing a list of the SPICE kernels loaded by TransCalMAG team
TRANSCAL.EXEThe application required to transform the calibrated magnetic -field components (produced by CAL02) from spacecraft coordinates to other coordinate systemsMAG team
TRANSCAL.CPPThe C++ source code and associated files required for compiling TransCal on necessary for recompiling and rebuilding TransCal.MAG team
TRANSCAL.LBLPDS label file for the TransCal suite of filesMAG team
FF_IGPP.CC Source, UCLA Flatfile proceduresMAG team
FF_IGPP.HC Header File, UCLA Flatfile declarations and type defsMAG team
FF_IGPP.LBLPDS Label file for the FF_IGPP suite of filesMAG team
TIME_IGPP.CC Source, UCLA Flatfile Time FunctionsMAG team
TIME_IGPP.HC Header File, UCLA Flatfile Time declarations and definitionsMAG team
TIME_IGPP.LBLPDS Label file for the TIME_IGPP suite of filesMAG team
TIME_IGPPP.HC Header File, More UCLA Time definitionsMAG team
TIME_IGPPP.LBLPDS Label file for the TIME_IGPPP fileMAG team
EXAMPLE_FILESSubdirectory of the SOFTWARE directoryMAG team

Table 19: SOFTWARE/EXAMPLE_FILES directory contents
FileDescriptionResponsibility
Subdirectory: RAW
TEST_99238CHATT.FFD TEST_99238CHATT.FFH TEST_99238CHATT.LBLTest files containing spacecraft attitude and engineering data corresponding to the same time period as the test science data files. These files are a required input for the TransCal application when the Q (quaternion) option is chosen. A flatfile header and PDS label are included.MAG team
TEST_RAW_99238HKFGMN .FFD TEST_RAW_99238HKFGMN .FFH TEST_RAW_99238HKFGMN .LBLTest files containing raw science data from the FGM instrument. A flatfile header and PDS label for these test data files are included.MAG team
TEST_RAW_99238HKVHMN .FFD TEST_RAW_99238HKVHMN .FFH TEST_RAW_99238HKVHMN .LBLTest files containing raw science data from the VHM instrument. A flatfile header and PDS label for these test data files are included.MAG team
Subdirectory: CALIB
TEST_CALIB_99238HKFGMN .FFD TEST_CALIB_99238HKFGMN .FFH TEST_CALIB_99238HKFGMN .LBLThe output files which result from correctly calibrating the raw FGM test files. Archive users can use these to check their own calibrations. A flatfile header and PDS label are included.MAG team
TEST_CALIB_99238HKFGMN _RPT.TXTReport file (with attached label) generated during the FGM calibration process.MAG team
TEST_CALIB_99238HKVHMN .FFD TEST_CALIB_99238HKVHMN .FFH TEST_CALIB_99238HKVHMN .LBLThe output file which result from correctly calibrating the raw VHM test files.MAG team
TEST_CALIB_99238HKVHMN _RPT.TXTReport file (with attached label) generated during the VHM calibration process.MAG team
TEST_TRANSGSE_ 99238HKFGMN.FFD TEST_TRANSGSE_ 99238HKFGMN.FFH TEST_TRANSGSE_ 99238HKFGMN.LBLThe output files which result from correctly transforming the FGM data in the calibrated test files to the GSE coordinate system. Archive users can use these files to check the accuracy of their own coordinate transforms.MAG team
TEST_TRANSGSE_ 9238HKFGMN_RPT.TXTReport file (with attached label) generated during the FGM transformation process.MAG team
TEST_TRANSGSE_ 99238HKVHMN.FFD TEST_TRANSGSE_ 99238HKVHMN.FFH TEST_TRANSGSE_ 99238HKVHMN.LBLThe output files which result from correctly transforming the VHM data in the calibrated test files to the GSE coordinate system.MAG team
TEST_TRANSGSE_ 99238HKVHMN_RPT.TXTReport file (with attached label) generated during the VHM transformation process.MAG team
TEST_TRANSRTN_ 99238HKFGMN.FFD TEST_TRANSRTN_ 99238HKFGMN.FFH TEST_TRANSRTN_ 99238HKFGMN.LBLThe output files which result from correctly transforming the FGM data in the calibrated test files to the RTN coordinate system.MAG team
TEST_TRANSRTN_ 99238HKFGMN_RPT.TXTReport file (with attached label) generated during the FGM transformation process.MAG team
TEST_TRANSRTN_ 99238HKVHMN.FFD TEST_TRANSRTN_ 99238HKVHMN.FFH TEST_TRANSRTN_ 99238HKVHMN.LBLThe output files which result from correctly transforming the VHM data in the calibrated test files to the RTN coordinate system.MAG team
TEST_TRANSRTN_ 99238HKVHMN_RPT.TXTReport file (with attached label) generated during the VHM transformation process.MAG team


5 Archive volume format

This section describes the format of MAG standard product archive volumes. The MAG instrument team maintains subsections 5.2.6 (Calibration files), and 5.2.7 (REDR data files). Data that comprise the MAG standard product archives will be formatted in accordance with PDS specifications [Planetary Science Data Dictionary, August 2002; PDS Data Preparation Workbook, 1995; PDS Standards Reference, October 2002].


5.1 Disk format

Although the MAG team does not control the disk format it is described in this SIS document for completeness. Archive volumes have a UDF-ISO bridge format file system with an ISO partition that is compatible with DVD readers and drivers for MS-DOS, MS-Windows (95 or higher) Macintosh, and Solaris. The MAG volumes will be created in accordance with the ISO 9660 level 2 Interchange Standard [ISO 9660, 1988] so that CD-R products can be created from the archive without modifying file names or other parameters.


5.2 File formats

The following section describes file formats for the kinds of files contained on archive volumes. For more information, see Appendix B of the PDS Data Preparation Workbook [1995].


5.2.1 Document files

Document files with a TXT extension exist in nearly all directories. They are ASCII files with embedded PDS labels. All document files contain 80-byte fixed-length records, with a carriage return character (ASCII 13) in the 79th byte and a line feed character (ASCII 10) in the 80th byte. This format allows the files to be read by the MacOS, DOS, Windows, UNIX, OS2, and VMS operating systems.

In general, documents are provided in ASCII text format. However, some documents in the DOCUMENT directory contain formatting and figures that cannot be rendered as ASCII text. Hence these documents are also given in additional formats such as hypertext and Microsoft Word. Hypertext files contains ASCII text plus hypertext markup language (HTML) commands that enable them to be viewed in a web browser such as Netscape Navigator or Microsoft Internet Explorer. Hypertext documents may reference ancillary files, such as images, that are incorporated into the document by the web browser.


5.2.2 Tabular files

Tabular files (TAB extension) exist in the DATA, INDEX and CALIB directories. Tabular files are ASCII files formatted for direct reading into database management systems on various computers. Columns are fixed length, separated by commas or whitespace, and character fields are enclosed in double quotation marks ("). Character fields are padded with spaces to keep quotation marks in the same columns of successive records. Character fields are left justified, and numeric fields are right justified. The "start byte" and "bytes" values listed in the labels do not include the commas between fields or the quotation marks surrounding character fields. The records are of fixed length, and the last two bytes of each record contain the ASCII carriage return and line feed characters. This line format allows a table to be treated as a fixed length record file on computers that support this file type and as a text file with embedded line delimiters on those that don't support it.

Detached PDS label files will describe all tabular files. A detached label file has the same name as the data file it describes, but with the extension LBL. For example, the file INDEX.TAB is accompanied by the detached label file INDEX.LBL in the same directory.


5.2.3 PDS labels

All data files in the MAG Standard Product Archive Collection have associated detached PDS labels [see Planetary Science Data Dictionary, August 2002; PDS Standards Reference, October 2002]. These label files are named using the same prefix as the data file together with an LBL extension.

A PDS label, whether embedded or detached from its associated file, provides descriptive information about the associated file. The PDS label is an object-oriented structure consisting of sets of "keyword = value" declarations. The object that the label refers to (e.g. IMAGE, TABLE, etc.) is denoted by a statement of the form:

^object = location

in which the carat character (^, also called a pointer in this context) indicates where to find the object. In a PDS label, the location denotes the name of the file containing the object, along with the starting record or byte number, if there is more than one object in the file. For example:

^HEADER = ("98118.TAB", 1)
^TABLE = ("98118.TAB", 1025 )

indicates that the HEADER object begins at record 1 and that the TABLE object begins at byte 1025 of the file 98118.TAB. The file 98118.TAB must be located in the same directory as the detached label file.

Below is a list of the possible formats for the ^object definition in labels in this product.

^object = n
^object = n
^object = "filename.ext"
^object = ("filename.ext", n)
^object = ("filename.ext", n )

where

• n is the starting record or byte number of the object, counting from the beginning of the file (record 1, byte 1),
indicates that the number given is in units of bytes (the default is records),
• filename is the up-to-27-character, alphanumeric upper-case file name,
• ext is the up-to-3-character upper-case file extension, and,
• all detached labels contain 80-byte fixed-length records, with a carriage return character (ASCII 13) in the 79th byte and a line feed character (ASCII 10) in the 80th byte. This allows the files to be read by the MacOS, DOS, Windows, UNIX, OS2, and VMS operating systems.

Examples of PDS labels required for the MAG archive are given in Appendix C.


5.2.4 Catalog files

Catalog files (extension CAT) exist in the Root and CATALOG directories. They are plain text files formatted in an object-oriented structure consisting of sets of "keyword = value" declarations.


5.2.5 Index files

The PDS team provides PDS index files. The format of these files is described in this SIS document for completeness.

A PDS index table contains a listing of all data products on an archive volume. When a data product is described by a detached PDS label, the index file points to the label file which in turn points to the data file. When a data product is described by an attached PDS label, the index file points directly to the data product.

A PDS index is an ASCII table composed of required columns (file name, creation_time, data_set_id, product_id) and optional columns (user defined). When values are constant across an entire volume, it is permissible to promote the value out of the table and into the PDS label for the index table.

To facilitate users' searches of the MAG data submission, a few optional columns will be included in the index table. In particular, the file start and stop times will be included as well as the primary observation target of the data file (e.g. Saturn, Solar Wind, Jupiter). Table 20 contains a description of the MAG archive volume index files. Index files are by definition fixed length ASCII files containing comma delimited fields. Character strings are quoted using double quotes. The Start byte column gives the location of the first byte of the column within the file, skipping over delimiters and quotation marks.

Table 20: Format of index files
Column nameData typeStart byteBytesDescription
Product_idChar227PDS Product ID - A unique identifier for all products within a PDS data set.
File_specification_nameChar3380The full specification of file name and the path to the PDS label file that describes the product, relative to the root of the archive volume.
Start_timeTime11722The time of the first record in the data file.
Stop_timeTime14122The time of the last record in the data file.
TargetChar16820The name of the primary observation target identified in the PDS label file.
Product TypeChar19312The "type" of data file.
Data_set_idChar21040The PDS ID of the data set of which this file is a member.
Product_creation_dateTime2448The date when the product was delivered to the PDS.

PPI also maintains a cumulative index file that describes the location of every data product across every volume of a multi-volume archive. The cumulative index file has all of the same columns as the index file, plus one additional column: the PDS VOLUME_ID. The VOLUME_ID column is the first column in the table. It is an 11-byte character string beginning at byte 2 (begin quote at byte 1). All of the other columns in the index table are displaced by 15 bytes such that the Product_id column begins at byte 17 rather than byte 2, etc.


5.2.6 Calibration files

The calibration files contain offset vectors and matrix multipliers listed as a function of time. These elements are applied to raw magnetic-field data for the purpose of calibration (see Section 4.3). Calibration algorithms are described in Appendix D.

Table 21 and Table 22 describe the structure and contents of the calibration files associated with FGM and VHM data, respectively. The nomenclature of the column names in these tables indicates the sensor's dynamic range of operation associated with each offset or matrix element. For example,

• "Zrg0" denotes the offset associated with the MAG Z axis when the sensor (FGM or VHM) is operating in its "zeroth" dynamic range (see Table 36), and,
• "o32rg1" denotes the O/S matrix element in the third row and second column, which is valid when the sensor is operating in its "first" dynamic range (see Table 36).

In Table 21 to Table 31 the following data types are used:

• "T" represents an 8-byte real (time) value,
• "R" represents a 4-byte real value, and,
• "I" represents a 4-byte integer value.

Table 21: Format of FGM calibration files
ColumnNameData typeStart byteDescriptionUnits
001TIME_STARTT0start timeSCLK counts
002TIME_STOPT8stop timeSCLK counts
003Xrg0R16instrument offsetnT
004Yrg0R20instrument offsetnT
005Zrg0R24instrument offsetnT
006Xrg1R28instrument offsetnT
007Yrg1R32instrument offsetnT
008Zrg1R36instrument offsetnT
009Xrg2R40instrument offsetnT
010Yrg2R44instrument offsetnT
011Zrg2R48instrument offsetnT
012Xrg3R52instrument offsetnT
013Yrg3R56instrument offsetnT
014Zrg3R60instrument offsetnT
015o11rg0R64O/S matrix element
016o12rg0R68O/S matrix element
017o13rg0R72O/S matrix element
018o21rg0R76O/S matrix element
019o22rg0R80O/S matrix element
020o23rg0R84O/S matrix element
021o31rg0R88O/S matrix element
022o32rg0R92O/S matrix element
023o33rg0R96O/S matrix element
024o11rg1R100O/S matrix element
025o12rg1R104O/S matrix element
026o13rg1R108O/S matrix element
027o21rg1R112O/S matrix element
028o22rg1R116O/S matrix element
029o23rg1R120O/S matrix element
030o31rg1R124O/S matrix element
031o32rg1R128O/S matrix element
032o33rg1R132O/S matrix element
033o11rg2R136O/S matrix element
034o12rg2R140O/S matrix element
035o13rg2R144O/S matrix element
036o21rg2R148O/S matrix element
037o22rg2R152O/S matrix element
038o23rg2R156O/S matrix element
039o31rg2R160O/S matrix element
040o32rg2R164O/S matrix element
041o33rg2R168O/S matrix element
042o11rg3R172O/S matrix element
043o12rg3R176O/S matrix element
044o13rg3R180O/S matrix element
045o21rg3R184O/S matrix element
046o22rg3R188O/S matrix element
047o23rg3R192O/S matrix element
048o31rg3R196O/S matrix element
049o32rg3R200O/S matrix element
050o33rg3R204O/S matrix element
051Xs/cR208S/C (spacecraft internal) fieldnT
052Ys/cR212S/C fieldnT
053Zs/cR216S/C fieldnT
054o11R220S/C (sensor to spacecraft coordinate transformation) matrix element
055o12R224S/C matrix element
056o13R228S/C matrix element
057o21R232S/C matrix element
058o22R236S/C matrix element
059o23R240S/C matrix element
060o31R244S/C matrix element
061o32R248S/C matrix element
062o33R252S/C matrix element

Table 22: Format of VHM calibration files
ColumnNameData typeStart byteDescriptionUnits
001TIME_STARTT0start timeSCLK counts
002TIME_STOPT8stop timeSCLK counts
003Xrg0R16instrument offsetnT
004Yrg0R20instrument offsetnT
005Zrg0R24instrument offsetnT
006Xrg1R28instrument offsetnT
007Yrg1R32instrument offsetnT
008Zrg1R36instrument offsetnT
009N/AR40N/A
010N/AR44N/A
011N/AR48N/A
012N/AR52N/A
013N/AR56N/A
014N/AR60N/A
015o11rg0R64O/S matrix element
016o12rg0R68O/S matrix element
017o13rg0R72O/S matrix element
018o21rg0R76O/S matrix element
019o22rg0R80O/S matrix element
020o23rg0R84O/S matrix element
021o31rg0R88O/S matrix element
022o32rg0R92O/S matrix element
023o33rg0R96O/S matrix element
024o11rg1R100O/S matrix element
025o12rg1R104O/S matrix element
026o13rg1R108O/S matrix element
027o21rg1R112O/S matrix element
028o22rg1R116O/S matrix element
029o23rg1R120O/S matrix element
030o31rg1R124O/S matrix element
031o32rg1R128O/S matrix element
032o33rg1R132O/S matrix element
033N/AR136N/A
034N/AR140N/A
035N/AR144N/A
036N/AR148N/A
037N/AR152N/A
038N/AR156N/A
039N/AR160N/A
040N/AR164N/A
041N/AR168N/A
042N/AR172N/A
043N/AR176N/A
044N/AR180N/A
045N/AR184N/A
046N/AR188N/A
047N/AR192N/A
048N/AR196N/A
049N/AR200N/A
050N/AR204N/A
051Xs/cR208S/C fieldnT
052Ys/cR212S/C fieldnT
053Zs/cR216S/C fieldnT
054o11R220S/C matrix element
055o12R224S/C matrix element
056o13R228S/C matrix element
057o21R232S/C matrix element
058o22R236S/C matrix element
059o23R240S/C matrix element
060o31R244S/C matrix element
061o32R248S/C matrix element
062o33R252S/C matrix element


5.2.7 REDR data files

As described in Section 2.3.1, the REDR data set may consist of up to nine different types of data file. Table 23 to Table 31 describe the structure and content of the REDR data files.

Table 23: Format of FGM data files
ColumnNameData typeStart byteDescription
001SCLK(1958)T0SCLK count since the epoch Jan 1 1958 00:00:00
002X_FGMR8Magnetic-field component along sensor X-axis
003Y_FGMR12Magnetic-field component along sensor Y-axis
004Z_FGMR16Magnetic-field component along sensor Z-axis
005MAGStatusI20Array of bits containing status information related to active MAG magnetometer modes
006FGMStatusI24Array of bits containing status information for the FGM instrument

Table 24: Format of VHM data files
ColumnNameData typeStart byteDescription
001SCLK(1958)T0SCLK count since the epoch Jan 1 1958 00:00:00
002X_VHMR8Magnetic-field component along sensor X-axis
003Y_VHMR12Magnetic-field component along sensor Y-axis
004Z_VHMR16Magnetic-field component along sensor Z-axis
005MAGStatusI20Array of bits containing status information related to active MAG magnetometer modes
006VHMStatusI24Array of bits containing status information for the VHM instrument

Table 25: Format of SHM_C data files
ColumnNameData typeStart byteDescription
001TIME_TAIT0SCET in seconds since the epoch Jan 1 2000 12:00:00 TAI (= 11:59:28 UTC)
002B_SHMR8Corrected field magnitude
003X_IAU_SR12Cassini position (km) on the x axis relative to Saturn in IAU_SATURN coordinate system
004Y_IAU_SR16Cassini position (km) on the y axis relative to Saturn in IAU_SATURN coordinate system
005Z_IAU_SR20Cassini position (km) on the z axis relative to Saturn in IAU_SATURN coordinate system

Table 26: Format of CON data files
ColumnNameData typeStart byteDescription
001SCLK(1958)T0SCLK count since the epoch Jan 1 1958 00:00:00
002wNTChannelR8Noise test channel data
003wNTLenthExpoR12Noise test exponent
004wTTChannelR16Turbo test channel data
005wADCSetTimeR20ADC (Analog Digital Converter) settlement time
006wADCSetTimeGndR24ADC Ground settlement time
007awSSStatJ0 (Job Status)I28Snapshot Job 0 (J0) status
008awSSStatJ1 (Job Status)I32Snapshot Job 1 (J1) status
009awSSStatJ2 (Job Status)I36Snapshot Job 2 (J2) status
010awSSStatJ3 (Job Status)I40Snapshot Job 3 (J3) status
011awSSSizeSRJ0R44Snapshot size for J0 (number of subrings)
012awSSSizeSRJ1R48Snapshot size for J1 (number of subrings)
013awSSSizeSRJ2R52Snapshot size for J2 (number of subrings)
014awSSSizeSRJ3R56Snapshot size for J3 (number of subrings)
015awSSFactorAEJ0R60Snapshot trigger factor and averaging exponent for J0
016awSSFactorAEJ1R64Snapshot trigger factor and averaging exponent for J1
017awSSFactorAEJ2R68Snapshot trigger factor and averaging exponent for J2
018awSSFactorAEJ3R72Snapshot trigger factor and averaging exponent for J3
019awSSRowDataRdJ0R76Snapshot row data read pointer for J0
020awSSRowDataRdJ1R80Snapshot row data read pointer for J1
021awSSRowDataRdJ2R84Snapshot row data read pointer for J2
022awSSRowDataRdJ3R88Snapshot row data read pointer for J3
023awSSPostTrigCntJ0R92Snapshot post-trigger counter for J0
024awSSPostTrigCntJ1R96Snapshot post-trigger counter for J1
025awSSPostTrigCntJ2R100Snapshot post-trigger counter for J2
026awSSPostTrigCntJ3R104Snapshot post-trigger counter for J3
027awSSTrigLevelJ0R108Snapshot trigger level for J0
028awSSTrigLevelJ1R112Snapshot trigger level for J1
029awSSTrigLevelJ2R116Snapshot trigger level for J2
030awSSTrigLevelJ3R120Snapshot trigger level for J3
031awSSAvValueJ0R124Snapshot quality figure for J0
032awSSAvValueJ1R128Snapshot quality figure for J1
033awSSAvValueJ2R132Snapshot quality figure for J2
034awSSAvValueJ3R136Snapshot quality figure for J3
035awSSsubring00R140Snapshot subring status (subring 00)
036awSSsubring01R144Snapshot subring status (subring 01)
037awSSsubring02R148Snapshot subring status (subring 02)
038awSSsubring03R152Snapshot subring status (subring 03)
039awSSsubring04R156Snapshot subring status (subring 04)
040awSSsubring05R160Snapshot subring status (subring 05)
041awSSsubring06R164Snapshot subring status (subring 06)
042awSSsubring07R168Snapshot subring status (subring 07)
043awSSsubring08R172Snapshot subring status (subring 08)
044awSSsubring09R176Snapshot subring status (subring 09)
045awSSsubring10R180Snapshot subring status (subring 10)
046awSSsubring11R184Snapshot subring status (subring 11)
047awSSsubring12R188Snapshot subring status (subring 12)
048awSSsubring13R192Snapshot subring status (subring 13)
049awSSsubring14R196Snapshot subring status (subring 14)
050awSSsubring15R200Snapshot subring status (subring 15)
051awSSsubring16R204Snapshot subring status (subring 16)
052awSSsubring17R208Snapshot subring status (subring 17)
053awSSsubring18R212Snapshot subring status (subring 18)
054awSSsubring19R216Snapshot subring status (subring 19)
055awSSsubring20R220Snapshot subring status (subring 20)
056awSSsubring21R224Snapshot subring status (subring 21)
057awSSsubring22R228Snapshot subring status (subring 22)
058awSSsubring23R232Snapshot subring status (subring 23)
059awSSsubring24R236Snapshot subring status (subring 24)
060awSSsubring25R240Snapshot subring status (subring 25)
061awSSsubring26R244Snapshot subring status (subring 26)
062awSSsubring27R248Snapshot subring status (subring 27)
063awSSsubring28R252Snapshot subring status (subring 28)
064awSSsubring29R256Snapshot subring status (subring 29)
065awSSsubring30R260Snapshot subring status (subring 30)
066awSSsubring31R264Snapshot subring status (subring 31)
067awSSsubring32R268Snapshot subring status (subring 32)
068wSSSubRintSCRdR272Snapshot subring science read
069wSSVecCntScRdR276Snapshot vector counter science read
070wSSSubRingHKRdR280Snapshot subring housekeeping read
071wSSVecCntHKRdR284Snapshot vector counter housekeeping read
072wSSXOffsetR288Commandable offset for ADC conversion of X field component
073wSSYOffsetR292Commandable offset for ADC conversion of Y field component
074wSSZOffsetR296Commandable offset for ADC conversion of Z field component
075wJoiDataI300Field containing status / mode indicators for ADC clock frequency
076byMemScrubI304Memory scrubbing status
077wPowerStatR308Power (on/off) status
078wVersionR312Software version
079dwRamChckUBaR316RAM check end address (upper bound) A
080dwRamChckUBbR320RAM check end address (upper bound) B
081dwRamChckLBaR324RAM check start address (lower bound) A
082dwRamChckLBbR328RAM check start address (lower bound) B
083wFCalTimeR332FGM calibration frequency 2^n
084wFRSBoundR336FGM reverse range switching boundary
085wFFSBoundR340FGM forward range switching boundary
086wFRSBCntLimitR344FGM counter limit
087wFFSBCntLimitR348FGM counter limit
088wHKDataStatusR352Housekeeping data status
089wLUCtrlStatusI356Latch up detector control status
090wHLUHLMaskI360Latch up detector high / low level mask
091wRunAvExpR364Running average exponent
092wWDSwitchForNMIR368Watchdog switch after 100 NMI (Non Maskable Interrupts)
093bWDServeEnableR372Watchdog service enabled / disabled
094wNormalRTITimeR376Normal RTI (Real Time Interrupt) time for artificial RTI generation
095wNormalDTITimeR380Normal DTI (Dead Time start Interrupt) time for artificial DTI generation
096wArtRTITimeR384Artificial RTI time to detect missing RTI
097wArtDTITimeR388Artificial DTI time to detect missing DTI
098wArtRTICntR392Number of RTIs until switch to artificial RTI
099wArtRTIFixR396Artificial RTI status (free / fix)
100bArtRTIEndR400Artificial RTI status (enabled / disabled)
101wTime0R404Measurement Cycle time
102wTimeEnaI408Timer status (enabled / disabled)
103wVRSBoundR412VHM reverse range switching boundary
104wVFSBoundR416VHM forward range switching boundary
105wVRSCntLimitR420VHM counter limit
106wVFSCntLimitR424VHM counter limit
107wVAutoIFCTimeR428VHM automatic IFC (In Flight Calibration) time
108wVAutoIFCCycleR432VHM auto IFC cycle
109wVFormatTimeR436VHM format pulse frequency

Table 27: Format of ANA data files
ColumnNameData typeStart byteDescriptionUnits
001SCLK(1958)T0SCLK count since the epoch Jan 1 1958 00:00:00
002PreampOutT8Subcommutated VHM data - pre- amplifier outputvolt
003IRDectBiasR12Subcommutated VHM data - infrared detector biasvolt
004HeLmpRFAmpR16Subcommutated VHM data - He lamp RF amplifiervolt
005HeCllRFAmpR20Subcommutated VHM data - He cell RF amplifiervolt
006BIU VCCSPVR24Subcommutated VHM data - BIU VCCBIU
007+/-3.75VR28Subcommutated VHM data - +/-3.75V supplyvolt
008+/-12VR32Subcommutated VHM data - +/-12V supply voltvolt
009+/-6.2VR36Subcommutated VHM data - +/-6.2V supplyvolt
010VCOMonitorR40Subcommutated SHM data - VCO (Voltage Controlled Oscillator) monitorvolt
011+/-7VR44Subcommutated SHM data - +/-7V supplyvolt
012Detect2fgR48Subcommutated SHM data - Detected 2fovolt
013VCOModltnR52Subcommutated SHM data - VCO modulationvolt
014+7.5VR56Subcommutated FGM data - +7.5V supplyvolt
015-7.5VR60Subcommutated FGM data - -7.5V supplyvolt
016X-FieldR64Subcommutated FGM data - X component of magnetic fieldvolt
017Y-FieldR68Subcommutated FGM data - Y component of magnetic fieldvolt
018Z-FieldR72Subcommutated FGM data - Z component of magnetic fieldvolt
019PSU1R76Subcommutated FGM data - PSU (Power Supply Unit) 1volt
020PSU2R80Subcommutated FGM data - PSU 2volt
021Ground FR84Subcommutated FGM data - FGM Groundvolt
022ReferenceR88Subcommutated DPU data - Reference voltagevolt
023A_VCCR92Subcommutated DPU data - Supply voltage processor system Avolt
024P12VR96Subcommutated DPU data - ADC (Analog Digital Converter) supply voltage of active processor systemvolt
025M12VR100Subcommutated DPU data - ADC supply voltage of active processor systemvolt
026B_VCCR104Subcommutated DPU data - Supply voltage processor system Bvolt
027GroundDR108Subcommutated DPU data - DPU Groundvolt
028SOURCER112Subcommutation maintenance data derived from source sequence count of packets

Table 28: Format of ERR data files
ColumnNameData typeStart byteDescription
001SCLK (1958)T0SCLK count since the epoch Jan 1 1958 00:00:00
002wBIUCheckErrCntR8BIU (Bus Interface Unit) Check Error Counter
003wUnexptDTIErrCntR12Unexpected DTI (Dead Time Interrupt) Error Counter
004wUnexptRTIErrCntR16Unexpected RTI (Real Time Interrupt) Error Counter
005wALFCheckSumER20Calculated (even word) Checksum for last ALF (Assisted Load Format) command
006wALFCheckSumOR24Calculated (odd-word) Checksum for last ALF (Assisted Load Format) command
007wCmd12CRCR28CRC (Cyclic Redundancy Check) of last program load command
008wCmd04CRCR32CRC of last fixed length command
009wCmd08CRCR36CRC of last parameter load command
010wTimeTagErrCntR40Time-tagged command error counter
011dw16MTestErrCntaR44Multi Snapshot Memory Test
012dw16MTestErrCntbR48Multi Snapshot Memory Test
013wConfigErrCntR52Configuration error counter
014wRegisterR56Register readout value
015wResetCauseR60Cause of last reset (0 = Power on
016wSingleErrCntR64RAM single-bit error counter
017wDoubleErrCntR68RAM double-bit error counter
018wProm1TestErrCntR72PROM (Programmable Read-Only Memory) Bank 1 Test error counter
019wProm2TestErrCntR76PROM Bank 2 Test error counter
020w16M1SingleErrCntR80Multi Snapshot Memory Bank 1 single error counter
021w16M1DoubleErrCntR84Multi Snapshot Memory Bank 1 double error counter
022w16M2SingleErrCntR88Multi Snapshot Memory Bank 2 single error counter
023w16M2DoubleErrCntR92Multi Snapshot Memory Bank 2 double error counter
024awOGAnciSentErrR96Outgoing ancillary data sent error
025MessErr_NotInit1R100Message error counter / Not Initialized counter
026PacketNotSentCnt1R104Packet not sent yet counter
027NotAllPckSentCnt1R108Not all packets are sent yet counter
028IllegalCallSeqCnt1R112Illegal calling sequence counter
029awSciPktSentErrR116Science packet sent error
030MessErr_NotInit2R120Message error counter / Not Initialized counter
031PacketNotSentCnt2R124Packet not sent yet counter
032NotAllPckSentCnt2R128Not all packets are sent yet counter
033IllegalCallSeqCnt2R132Illegal calling sequence counter
034awHKPktSentErrR136HK (Housekeeping) packet sent error
035MessErr_NotInit3R140Message error counter / Not Initialized counter
036PacketNotSentCnt3R144Packet not sent yet counter
037NotAllPckSentCnt3R148Not all packets are sent yet counter
038IllegalCallSeqCnt3R152Illegal calling sequence counter
039awJMTrigErrCntR156Job Manager Level Trigger error counter
040MCITableR160MCI (Measurement Cycle Interrupt) Table
041RTIDTIFIFOR164RTI/DTI Immediate FIFO
042RTITableR168RTI Table
043_128MCITableR172128 MCI Table
044_032RTITableR17632 RTI Table
045_512RTITableR180512 RTI Table
046LongJobFIFOR184Long job
047wLUHandErrCntR188LU (Latch Up) handling error counter
048wArtErrCntR192Artificial RTI error counter
049awResetData,wLUMainCntI196Reset data (in BIU memory), LU main counter
050wLUDRAMCntR200LU DRAM counter
051wLUP12VCntR204LU (+12V supply) counter
052wLUM12VCntR208LU (-12V supply) counter
053wWatchDogR212Watchdog reset status
054wWDBounceCntR216Watchdog reset / bounce counter
055wBIUResetR220BIU reset flag
056wBIUResetCntR224BIU reset counter
057spare1R228Unused
058spare2R232Unused
059wMaxStackPosR236Maximum stack position
060awIntLogLstErrR240BIU Interrupt log list error
061NoMoreInteruptsR244No more interrupts
062BIUNotInitR248BIU not initialised
063awRecAACSDataMsgR252Received AACS (Attitude and Articulation Control Subsystem) data messages
064MessageErr_NotIn1R256Message error (not initialised)
065NoMoreMess1R260No more messages
066MessageLost1R264Some message lost
067awRecCritCmdMsgErR268Received Critical command messages
068MessageErr_NotIn2R272Message error (not initialised)
069NoMoreMess2R276No more messages
070MessageLost2R280Some message lost
071awRecFaultCmdMsgER284Received Fault Protection command messages
072MessageErr_NotIn3R288Message error (not initialised)
073NoMoreMess3R292No more messages
074MessageLost3R296Some message lost
075awReclCAnciMsgErrR300Received Incoming Ancillary Data messages
076MessageErr_NotIn4R304Message error (not initialised)
077NoMoreMess4R308No more messages
078MessageLost4R312Some message lost
079awRecNomCmdMsgErrR316Received Nominal command messages
080MessageErr_NotIn5R320Message error (not initialised)
081NoMoreMess5R324No more messages
082MessageLost5R328Some message lost
083awRecTimModeErrR332Received Telemetry Mode messages
084MessageErr_NotIn6R336Message error (not initialised)
085NoMoreMess6R340No more messages
086MessageLost6R344Some message lost
087wSTMStateR348STM (Spacecraft Time Message) data
088NoSTMReceivedR352No STM received
089UnexpectedSTMR356Unexpected STM
090wintErrCntR360Interrupt error counter
091wSSAngErrCnt1R364Snapshot angular error counter 1
092wSSAngErrCnt2R368Snapshot angular error counter 2
093spare3R372
094NotusedR376
Columns 095 to 130 not used
130NotusedR520
131TypeR524
132StatusI528

Table 29: Format of CMD data files
ColumnNameData typeStart byteDescription
001SCLK(1958)T0SCLK count since the epoch Jan 1 1958 00:00:00
002VCCtrR8Valid command counter
003LVCCR12Last valid command code
0042LVCCR162nd last valid command code
0053LVCCR203rd last valid command code
006ICCR24Invalid command code
007LICCR28Last invalid command code
008ErrorR32Error code

Table 30: Format of CHATT data files
ColumnNameData typeStart byteDescriptionUnits
001SCLK(1958)T0SCLK count since the epoch Jan 1 1958 00:00:00
002A1001R8Attitude quaternion component 1
003A1002R12Attitude quaternion component 2
004A1003R16Attitude quaternion component 3
005A1004R20Attitude quaternion component 4
006A1005R24Rotation rate, X spacecraft axis radians per second
007A1006R28Rotation rate, Y spacecraft axis radians per second
008A1007R32Rotation rate, Z spacecraft axis radians per second
009STATUSI36Status information for spacecraft attitude data

Table 31: Format of CHUSR data files
ColumnNameChannel IDData typeStart byteDescriptionUnits
001SCLK(1958)T0SCLK count since the epoch Jan 1 1958 00:00:00
002U_MAG_FGM_T/ S0200R8FGM temperaturedegrees C
003U_MAG_VSHM_T/ S0201R12VHM/SHM temperaturedegrees C
004UBAY04_T/ E2303R16Temperature datadegrees C
005UBAY07_T/ E2306R20Temperature datadegrees C
006U_MAG_Elec_LC/ E0621R24Currentamp
007S_MAG_ELECT_a/ F0653R28Power supply A on/off
008S_MAG_ELECT_b/ F0654R32Power supply B on/off
009S_MAG_ELECT_sw/ F0655R36Power supply operation normal/trip
010U_MAG_Elec_LC/ E1121R40Currentamp
011S_MAG_ELECT_a/ F1353R44Power supply A on/off
012S_MAG_ELECT_b/ F1354R48Power supply B on/off
013S_MAG_ELECT_sw/ F1355R52Power supply operation normal/trip
014U_MAG_Htrs_LC/ E0632R56Currentamp
015S_MAG_RHTR_a/ F0722R60Heater A on/off
016S_MAG_RHTR_b/ F0723R64Heater B on/off
017S_MAG_RHTR_sw/ F0724R68Heater operation normal/trip
018U_MAG_Htrs_LC/ E1132R72Currentamp
019S_MAG_RHTR_a/ F1422R76Heater A on/off
020S_MAG_RHTR_b/ F1423R80Heater B on/off
021S_MAG_RHTR_sw/ F1424R84Heater operation normal/trip
022U_30VBus_HF_V/ E0748R88Bus power supplyvolt
023U_30VBus_HF_V/ E0749R92Bus power supplyvolt
024S_SCAS_COIL_b/ F0744R96SCAS coil B on/off
025S_SCAS_COIL_a/ F0743R100SCAS coil A on/off
026S_SCAS_COIL_a/ F1443R104SCAS coil A on/off
027S_SCAS_COIL_b/ F1444R108SCAS coil B on/off
028STATUS/StatusI112Status information for MAG instrument


6 Support staff and cognizant persons

Table 32: Archive collection support staff
NameAddressPhoneEmail
MAG team
Dr Michele Dougherty
Principal Investigator
The Blackett Laboratory
Imperial College
Prince Consort Road
London, SW7 2AZ
UK
+44 (0)20 75947757m.dougherty@imperial.ac.uk
Mr Steve Kellock
Operations Manager
The Blackett Laboratory
Imperial Collegey
Prince Consort Road
London, SW7 2AZ
UK
+44 (0)20 75947760s.kellock@imperial.ac.uk
Dr Peter Slootweg
Operations Engineer / Data Processing
The Blackett Laboratory
Imperial College
Prince Consort Road
London, SW7 2AZ
UK
+44 (0)20 75947759p.slootweg@imperial.ac.uk
Dr Nicholas Achilleos
Operations Engineer / Science Planner
The Blackett Laboratory
Imperial College
Prince Consort Road
London, SW7 2AZ
UK
+44 (0)20 75947759n.achilleos@imperial.ac.uk
Ms C N Dunford
Archive Engineer
The Blackett Laboratory
Imperial College
Prince Consort Road
London, SW7 2AZ
UK
+44 (0)20 75947759c.dunford@imperial.ac.uk
Ms Louise Lee
Data Processing Developer
IGPP
UCLA
405 Hilgard Avenue
Los Angeles, CA 90095-1567
USA
+1 310 2069955leel@igpp.ucla.edu
Ms Joyce Wolf
Data Processing Developer
Jet Propulsion Laboratory
NASA
MS 169-506
4800 Oak Grove Drive
Pasadena, CA 91109-8099
USA
+1 818 3547361joyce.e.wolf@jpl.nasa.gov
UCLA
Mr Steven Joy
PPI Operations Manager
IGPP
UCLA
405 Hilgard Avenue
Los Angeles, CA 90095-1567
USA
+1 310 8253506sjoy@igpp.ucla.edu
Mr Joseph Mafi
PPI Data Engineer
IGPP
UCLA
405 Hilgard Avenue
Los Angeles, CA 90095-1567
USA
+1 310 2066073jmafi@igpp.ucla.edu


7 Appendix A. Details of data validation

A peer-review panel determines if the data included in the archive are appropriate to meet the stated science objectives of the instrument. The documentation is reviewed for quality and completeness and the archive product generation process is reviewed for robustness and ability to detect problems in the end products.

The peer-review panel will consist of members of the instrument team, PPI and Central Node of the PDS, and at least two outside scientists actively working in the field of outer planet magnetic-field research. The PDS personnel will be responsible for validating that the archive volume(s) are fully compliant with PDS standards. The instrument team and outside science reviewers will be responsible for verifying the content of the data set, the completeness of the documentation, and the usability of the data in its archive format. After the initial volume completes the review process, and any liens against the product are appropriately resolved, the initial volume will be accepted into the archive and the process will move into the production development phase.

During production development, the MAG team and PPI will develop software to produce and validate the archive product in the form that was agreed to during the peer review. MAG will make any modification required to the software that produces data files and labels, and that packages these files into the deliverable data file. PPI will develop software to create the archive volume structure, unpack the deliverable data file into this structure, move any required files (AAREADME, ERRATA, VOLDESC, catalog files, documents, etc.) into the archive volume structure, update these files to reflect the current volume details (time coverage, volume id, etc.), and generate index, manifest, and cumulative index tables. A second review disk will be generated by the automated procedure and validated against the model disk that came out of the peer review process. The review of the automation process does not require the involvement of outside scientists. A subset of the review panel, the MAG Data Validation Team (MDVT), consisting of one member each from the MAG team, PPI, and the PDS Central Node will form this review panel. After the archive generation software is validated, automated archive volume production can begin at any time. All subsequent archive volumes within the Cassini MAG archive volume set will be validated by the MDVT.

Once routine archive volume production begins the MAG data provided to PPI will be the same data that has previously been supplied to MAG co- investigators for use in research. The analysis of these data in research projects conducted by a variety of independent researchers contributes to their validation in preparation for archiving.

In the event that a production volume is found to contain errors, the MDVT can recommend one of two courses of action: fix the disk, or publish it as is with a note in the ERRATA.TXT file. If the errors are minor, typically minor errors in the documentation, then the volume can be published if the appropriate notes are added to the volume's errata file and the error(s) are corrected on subsequent volumes. If the errors are major, typically involving errors in the data themselves, then the volume will be corrected, regenerated, and sent back to the MDVT for review. If the error is the result of a previously undetected problem in the archive production software, the software will be updated to correct the problem and then regression tested to ensure that new problems in the software were not introduced during the update.

A single archive volume set of MAG data is produced for the entire Cassini mission (see Figure 1). Eight (8) physical media copies of each volume are produced for validation prior to being formally included in the archive. Three copies are sent back to the MAG team (IC, JPL, TUB) and one copy is sent to the PDS Central Node for review. Included are a manifest that lists the contents of the volume in detail, and an error report log that describes any known deviations from the manifest or other anomalies. The remaining four copies stay at UCLA for online access, backup, and offsite backup. Upon approval of a volume from the MDVT, the volume is considered officially released to the PDS as defined by the Cassini data release policy. The PPI Node then sends one of the offsite backup copies of the volume to the PDS Central Node to be forwarded to the NSSDC.


8 Appendix B. Derivation of MAG times

The Cassini spacecraft clock (SCLK) is a counter that advances by one tick nominally every 1/256 seconds. SCLK counts have the format cccc:ttt, in which cccc specifies the number of full counts that have elapsed (one full count = 256 ticks), and ttt indicates by how many ticks the clock has advanced towards the next full count, since the epoch 00:00:00Z 1 January 1958.

SCLK counts may also include a partition number: p/cccc:ttt. This number is initially 1 but is incremented during the mission if the SCLK counter is reset or somehow interrupted or altered. The following discussion assumes a partition number of 1. For other partition numbers, the interpretation of SCLK counts requires knowledge of the time at which the current partition was initiated.

SCLK counts are also represented in MAG files in additional formats derived from the standard format described above. Firstly, SCLK counts are sometimes represented as decimal counts, obtained by dividing the ttt component of the count by 256. For example, a SCLK count of 1061078807:107 has an equivalent decimal count of 1061078807.418. Secondly, SCLK counts are also represented as an equivalent SCLK time by assuming a one-to-one correlation between SCLK counts and real seconds. Thus, the decimal SCLK count 1061078807.418 could also be represented as 99 229 AUG 17 00:06:47.418 (i.e. 00:06:47.418 on 17 August [day 229] 1999). It is important to note that such SCLK times have not been corrected for SCLK drift or for the leap seconds that are occasionally added to Universal Time Coordinated (UTC).

The other time system used in MAG files is Spacecraft Event Time (SCET), which, for Cassini, is UTC. The relationship between SCLK and SCET/UTC is dependent on the tick rate of the Cassini SCLK. Like most counter-based clocks, this rate is not constant but drifts with time and conversion of SCLK to SCET/UTC requires knowledge of this time-dependent drift. This information is recorded in the SCLK/SCET coefficients file maintained by the Cassini Spacecraft Operations (SCO) team at JPL. As the Cassini mission progresses the difference between SCLK and SCET times will typically be of order tens of minutes.


8.1 Data files

The times associated with magnetic-field vectors in MAG data files are decimal SCLK counts since epoch 1958. For the scalar SHM data, which are calibrated, the associated times are in seconds since the epoch Jan 1 2000 12:00:00 TAI (= 11:59:28 UTC).


8.2 Header and label files

Table 33 lists the time tags used in MAG header and label files, and indicates how they are derived.

Table 33: Time tags in header and label files
Time tagDescription
Header files
FIRST TIMESCLK time of first record in data file; derived from SCLK count in primary header of CHDO file
LAST TIMESCLK time of last record in data file; derived from SCLK count in primary header of CHDO file
SCLK (in ABSTRACT)SCLK count obtained from tertiary header of CHDO file; also converted into SCLK time format; may differ from FIRST TIME by some minutes
SCET (in ABSTRACT)SCET time; determined from corrected SCLK count; also converted into an equivalent SCET count of seconds since 1958
Label files
START_TIMESCLK time of first record in data file; obtained from FIRST TIME in flatfile header
STOP_TIMESCLK time of last record in data file; obtained from LAST TIME in flatfile header
SPACECRAFT_CLOCK_START_COUNTSCLK count of first record in data file; determined from SPICE utility CHRONOS using START_TIME; format p/cccc.ttt
SPACECRAFT_CLOCK_STOP_COUNTSCLK count of last record in data file; determined from SPICE utility CHRONOS using STOP_TIME; format p/cccc.ttt
SCLK (in NOTE)SCLK time and SCLK count obtained from flatfile header ABSTRACT; may differ from START_TIME by some minutes
SCET (in NOTE)SCET time and SCET count obtained from flatfile header ABSTRACT


9 Appendix C. PDS label files

As described in Section 4.5.2, MAG data are being archived using the IGPP flatfile system. This file system consists of formatted metadata in a header file (FFH) and data in a fixed length, IEEE (MSB) binary file (FFD). The material in this appendix describes the PDS labels for the IGPP Flatfiles (flatfiles) and the source of the information in these labels. The basic label for all MAG data products is:

PDS_VERSION_ID               = PDS3
DATA_SET_ID                  = "CO-E/SW/J/S-MAG-2-REDR-RAW-DATA-V1.0"
STANDARD_DATA_PRODUCT_ID     = "$STD_PROD_ID"
PRODUCT_ID                   = "$NAME"
PRODUCT_TYPE                 = "$PROD_TYPE"
PRODUCT_CREATION_TIME        = $FF_CREATION_TIME

RECORD_TYPE                  = FIXED_LENGTH
RECORD_BYTES                 = $FF_RECL
FILE_RECORDS                 = $FF_RECS

START_TIME                   = $FF_START_TIME
STOP_TIME                    = $FF_STOP_TIME
SPACECRAFT_CLOCK_START_COUNT = "$START_SCLK"
SPACECRAFT_CLOCK_STOP_COUNT  = "$STOP_SCLK"

INSTRUMENT_HOST_NAME         = "CASSINI ORBITER"
INSTRUMENT_HOST_ID           = "CO"
ORBIT_NUMBER                 = $ORBIT
TARGET_NAME                  = $TARGET_LIST
INSTRUMENT_NAME              = "DUAL TECHNIQUE MAGNETOMETER"
INSTRUMENT_ID                = "MAG"
DESCRIPTION                  = "$STD_PROD_DESCR"

NOTE                         = "$FF_ABSTRACT"

^TABLE                       = "$FF_DATA_NAME"
OBJECT                       = TABLE
INTERCHANGE_FORMAT       = "BINARY"
ROWS                     = $FF_RECS
COLUMNS                  = $FF_COLS
ROW_BYTES                = $FF_RECL
^STRUCTURE               = "$STD_PROD_FMT"
DESCRIPTION              = "$COL_DESCR"
END_OBJECT                   = TABLE

^HEADER                      = "$FF_HDR_NAME"
OBJECT                       = HEADER
BYTES                    = $HDR_BYTES
HEADER_TYPE              = "IGPP_VERSION_2.0"
DESCRIPTION              = "$HDR_DESCR"
END_OBJECT                   = HEADER

END

Any value preceded by a $ is a derived value (parameter), all others are fixed values. Blank lines separate "sections" of the label to improve readability.


9.1 Resolving parameters in the generic MAG labels

The first section of the label is the "product" section. This section includes the PDS version, the data set identifier, which is fixed for all MAG data products, and information that is specific to the product. Table 34 is a tabulation of derived values for MAG data products where the base file name (no extension) matches the pattern in the $FF_NAME column.

The MAG team will baseline the archive description (labels, catalog files, etc.) at PDS version 3. Current PDS standards are at version 3.5. Minor updates to the current standards (i.e. PDS 3.6) will be considered for inclusion in the MAG archive procedures and may be reflected in the labels described here. Major structural revisions in the PDS standards (i.e. PDS 4.x) will not be adopted by the MAG team.

Table 34: Parameter settings for standard products
$FF_NAME(a)$STD_PROD_ID$PROD_TYPE$FF_RECL$STD_PROD_FMT(b)
"*FGM" (c)"MAG_FGM""DATA"28"FGM_DATA.FMT"
"*VHM" (c)"MAG_VHM""DATA"28"VHM_DATA.FMT"
"*SHM" (c)"MAG_SHM_C""DATA"24"SHM_C_DATA.FMT"
"*CON" (c)"MAG_CON""ANCILLARY"440"CON_DATA.FMT"
"*ANA" (c)"MAG_ANA""ANCILLARY"116"ANA_DATA.FMT"
"*ERR" (c)"MAG_ERR""ANCILLARY"532"ERR_DATA.FMT"
"*CMD" (c)"MAG_CMD""ANCILLARY"36"CMD_DATA.FMT"
"*CHATT""MAG_CHATT""GEOMETRY"40"CHATT_DATA.FMT"
"*CHUSR""MAG_CHUSR""ANCILLARY"116"CHUSR_DATA.FMT"
"*CAL""MAG_CAL""ANCILLARY"256"FGM_CAL.FMT", "VHM_CAL.FMT"


(a) $FF_NAME refers to the base or root name of the file (no extension).
(b) Each flatfile type has a detached format file describing the file structure, columns, etc.
(c) Data for each of these file types can come from different sources (science data, housekeeping, or subcommutated housekeeping).

Derived values whose names begin with FF can be determined by scanning the flatfile header ($FF_RECL, $FF_RECS, $FF_COLS, $FF_CREATION_TIME, $FF_START_ TIME, $FF_STOP_TIME, $FF_DATA_NAME, $FF_HDR_NAME, $FF_ABSTRACT). The remainder of the label values will be set in accordance with the following rules:

1. $START_SCLK and $STOP_SCLK will be determined by passing the values of the file start and stop times to the SPICE utility chronos, along with the remainder of the parameters chronos requires.
2. $ORBIT will be determined by using an orbit start/stop file and the file start/stop times. For most files, $ORBIT will be single valued (i.e. ORBIT_NUMBER = 7). However, it is likely that some files will span orbit boundaries. In these labels, $ORBIT will be multi-valued (i.e. ORBIT_NUMBER = {7, 8}). The orbits will be defined to run from apoapsis to apoapsis, with orbit 0 beginning upstream in the solar wind 1 month prior to the first Saturn orbit insertion burn and ending at apoapsis. Apoapsis times will be truncated to the nearest hour in the orbit file. This file will be regenerated frequently using the most current SPICE SPK reconstruction file for the Cassini mission. The orbit file will be maintained by PPI and available to MAG team (and others) using a web interface.
3. $TARGET_LIST will also be determined by using a target start/stop file and the file start/stop times. Each target in the data set (SATURN, JUPITER, EARTH, SOLAR_WIND, and Saturn satellites) will have a set of start stop times.
a. The target SATURN will begin 1 month prior to the orbit insertion burn.
b. The SATURN target will have a stop time set at the end of mission (EOM).
c. The SOLAR_WIND target will start at launch and stop when the SATURN target begins.
d. The target file will not track bow shock crossings to distinguish SOLAR_WIND from other targets.
e. The EARTH target will have a start/stop time starting one day before the first bow shock crossing and ending one day after the last bow shock crossing.
f. The JUPITER target will have a start/stop time starting one day before the first bow shock crossing and ending one day after the last bow shock crossing.
g. Saturn satellite targets will have start/stop times set by the times when the Cassini spacecraft is within 20 Rsat.
h. Target start/stop times will be overlapping.
i. The target list will be formed by identifying all targets in the targets file that overlap with the file start/stop time. The list will give highest precedence to planets, next to satellites, and lastly to SOLAR_WIND (i.e. $TARGET_LIST could be any of "SATURN", {"JUPITER", "SOLAR_WIND"} or {"SATURN", "TITAN"} but would never be {"TITAN", "SATURN"} or {"SOLAR_WIND", "SATURN"}).
4. The target file will be regenerated frequently using the most current SPICE SPK reconstruction file. The target file will be maintained by PPI and available to the MAG team (and others) using a web interface.
5. $STD_PROD_DESCR will be formed by replacing the tokens in the phrase: "This file contains Cassini MAG ($STD_PROD_ID) data acquired $TARGET_ PHRASE. The file covers the time period between $START_TIME and $STOP _TIME."
a. $TARGET_PHRASE is determined from the $TARGET_LIST value such that it reads: "at SATURN", "at SATURN and SATELLITE", "at PLANET and possibly in the solar wind", or "in the solar wind".
6. $FF_ABSTRACT will be the abstract section of the flatfile header, beginning at OWNER and ending at END, with internal comment separator lines removed (see example label and FFH file).
7. $HDR_BYTES will be determined by examining the size of the FFH file.
8. $HDR_DESCR will be formed by replacing the tokens in the phrase: "$FF_HDR_NAME is the IGPP flatfile header for $FF_DATA_NAME. All information contained therein is reproduced in this label file. The header is provided for users of the IGPP flatfile utilities."

9.2 Example label file

PDS_VERSION_ID                = PDS3
DATA_SET_ID                  = "CO-E/SW/J/S-MAG-2-REDR-RAW-DATA-V1.0"
STANDARD_DATA_PRODUCT_ID      = "MAG_FGM"
PRODUCT_ID                    = "99229_MRDCD_SDFGMC"
PRODUCT_TYPE                  = DATA
PRODUCT_VERSION_ID            = "1"
PRODUCT_CREATION_TIME         = 2003-06-25T13:24:58.000

START_TIME                    = 1999-08-17T00:06:47.418
STOP_TIME                     = 1999-08-18T00:06:48.401
SPACECRAFT_CLOCK_START_COUNT  = "1/1313536007.107"
SPACECRAFT_CLOCK_STOP_COUNT   = "1/1313622408.102"
NATIVE_START_TIME             = "1061075207.418"
NATIVE_STOP_TIME              = "1061161608.401"

INSTRUMENT_HOST_NAME          = "CASSINI ORBITER"
INSTRUMENT_HOST_ID            = "CO"
MISSION_PHASE_NAME            = "EARTH ENCOUNTER"
ORBIT_NUMBER                  = N/A
TARGET_NAME                   = {"EARTH", "SOLAR WIND"}
INSTRUMENT_NAME               = "DUAL TECHNIQUE MAGNETOMETER"
INSTRUMENT_ID                 = "MAG"
DESCRIPTION                   = "
      99229_MRDCD_SDFGMC.FFH contains Cassini fluxgate
      magnetometer data collected between 1999-08-17T12:06 and
      1999-08-18T12:06."

NOTE                          = "
      MISSING DATA FLAG  =   1.00000E+34
AVERAGE INTERVAL   =     00:00:00.004
#########
CASSINI ABSTRACT
#########
INPUT FILE: sourcedata/99229_mrdcd.fsd
FLAT FILE MAKER: caspre2ff v1.4 SUN
COMPILATION DATE : 05/31/02-15:12:03
wTime0 (from Configuration Data) determines time except for channel
data
Default MCI    : 62.480000
Time for channel data is extracted from the Tertiary data
SCET  99 229 AUG 17  00:00:00.399 1061078400.399
SCLK  99 229 AUG 17  00:06:47.418 1061078807.418
Configuration Image :
  /casdata2/tlm/prep/99229/mrdcd/99229_mrdcd_HKCONN
IFCFile              
/casdata2/tlm/prep/99229/mrdcd/99229_mrdcd_fhk.ifc
Flat file times are SCLK and EPOC = Jan 1 1958"

^TABLE                        = "99229_MRDCD_SDFGMC.FFD"
OBJECT                        = FILE
  FILE_NAME                   = "99229_MRDCD_SDFGMC.FFD"
  RECORD_TYPE                 = FIXED_LENGTH
  RECORD_BYTES                = 28
  FILE_RECORDS                = 2444672
  OBJECT                      = TABLE
    INTERCHANGE_FORMAT        = BINARY
    ROWS                      = 2444672
    COLUMNS                   = 6
    ROW_BYTES                 = 28
    DESCRIPTION               = "
      99229_MRDCD_SDFGMC is an IGPP Flatfile which consists of
      two files: a data file (.FFD) and a header file (.FFH). The
      data file is a binary, fixed record length file and the header
      is an ASCII file.  All of the Cassini MAG flatfiles represent
      time as a spacecraft clock value, referenced to 1958,
      and with the minor frame converted from units of 1/256
      sec to units of milliseconds.  This label provides a mapping
      between the internal time representation (NATIVE_START_TIME),
      true spacecraft clock (SPACECRAFT_CLOCK_START_COUNT) and
      spacecraft event time in UTC (START_TIME).  See the MAG data
      set catalog file (*DS.CAT) and the MAG volume SIS (VOLSIS.PDF)
      for additional information on the MAG time tag.

      The FGM data file contains the following columns:

      Name        Units        Description
=================================================================
      SCLK(1958)  Counts      Time (SCLK not UTC) is represented as
                              a decimal SCLK count relative to epoch
                              Jan 1 1958 00:00:00.000.
      X_FGM,      ENG         Magnetic field component along the
      Y_FGM,                  fluxgate sensor X-axis, Y-axis, and
      Z_FGM                   Z-axis respectively. Data are in
                              engineering units.
      MAGStatus   N/A         Array of bits containing status
                              information related to active MAG
                              magnetometer modes, packet type, etc.
      FGMStatus   N/A         Array of bits containing status
                              information for the FGM instrument.
================================================================="

    ^STRUCTURE                = "FGM_DATA.FMT"
  END_OBJECT                  = TABLE
END_OBJECT                    = FILE

^HEADER                       = "99229_MRDCD_SDFGMC.FFH"
OBJECT                        = FILE
  FILE_NAME                   = "99229_MRDCD_SDFGMC.FFH"
  RECORD_TYPE                 = STREAM
  FILE_RECORDS                = 1
  OBJECT                      = HEADER
    INTERCHANGE_FORMAT        = ASCII
    HEADER_TYPE               = "IGPP VERSION 2.0"
    BYTES                     = 2448
    DESCRIPTION               = "
      99229_MRDCD_SDFGMC.FFH is an IGPP Flatfile header that
      describes the data file to software which recognizes this file
      system."
  END_OBJECT                  = HEADER
END_OBJECT                    = FILE

END

9.3 Example header file

In the UCLA flatfile system, header files describe the associated data file for software that recognises the flatfile system. The data description in MAG header files includes information on the source of the data. Table 35 describes the codes used in MAG header files to identify the source of data contained in the associated data file.

Table 35: Header file codes
CodeDescription
Spacecraft ID
CACassini
Packet source
SDscience data
HKhousekeeping data
Data file source
RGdirectly from packet
SHsubcommutated housekeeping
SSsnapshot data
Sensor or file type
FGMfluxgate magnetometer
VHMvector helium magnetometer
SHMscalar helium magnetometer
CONconfiguration image data
ANAanalog data
ERRerror data
CMDcommand data
CHATTattitude data
CHUSRuser-selected data


The following header describes a data file containing FGM science data. It is an example of the format and content of headers that are used to describe the range of data collected as part of the MAG experiment. The fields in this header file are described in more detail immediately following the example.

DATA  = 99229_MRDCD_SDFGMC.FFD
CDATE = 2003 176 JUN 25 13:24:58
RECL  =    28
NCOLS =     6
NROWS =    2444672
OPSYS = SUN/UNIX
EPOCH = Y1958
  # NAME       UNITS     SOURCE                    TYPE   LOC
001 SCLK(1958) Counts    CA SD RG FGM              T       0
002 X_FGM      ENG       CA SD RG FGM              R       8
003 Y_FGM      ENG       CA SD RG FGM              R      12
004 Z_FGM      ENG       CA SD RG FGM              R      16
005 MAGStatus  b         CA SD RG FGM              I      20
006 FGMStatus  b         CA SD RG FGM              I      24
ABSTRACT
FIRST TIME         =  99 229 AUG 17  00:06:47.418
LAST TIME          =  99 230 AUG 18  00:06:48.401
OWNER              = IGPP/UCLA
MISSING DATA FLAG  =   1.00000E+34
AVERAGE INTERVAL   =     00:00:00.004
#########
CASSINI ABSTRACT
#########
INPUT FILE: sourcedata/99229_mrdcd.fsd
FLAT FILE MAKER: caspre2ff v1.4 SUN
COMPILATION DATE : 05/31/02-15:12:03
wTime0 (from Configuration Data) determines time except for channel
data
Default MCI    : 62.480000
Time for channel data is extracted from the Tertiary data
SCET  99 229 AUG 17  00:00:00.399 1061078400.399
SCLK  99 229 AUG 17  00:06:47.418 1061078807.418
Configuration Image :
/casdata2/tlm/prep/99229/mrdcd/99229_mrdcd_HKCONN
IFCFile
/casdata2/tlm/prep/99229/mrdcd/99229_mrdcd_fhk.ifc
Flat file times are SCLK and EPOC = Jan 1 1958
END

The fields in the FFH are as follows:

DATA:Name of the binary file (flatfil) containing magnetometer data, whose contents are described by the companion flatfile header (example shown above)
CDATA:Creation date of the flat file
RECL:Record length (bytes), where each record corresponds to on e magnetic field measurement.
NCOLS:Number of 'columns' in each record (see fields below)
NROWS:Number of 'rows' in the flat file, where each row (or record) corresponds to one magnetic field measurement
OPSYS:Operating system of the node on which the file was created.
EPOCH:The epoch used for indicateding time in the data field
NAME/UNITS/SOURCE/TYPE/LOC: These fields describe the contents of the 'columns' in each record. Usually the information consists of a time, a corresponding B_field measurement, and instrument status information
ABSTRACT:This section contains the rimes corresponding to the first and last records ('FIRST TIME' and 'LAST TIME'). It also contains a numerical flag which indicates the presence of any invalid data or 'data gaps'
AVERAGE INTERVAL: This field describes the time interval used for averaging the magnetic field data during processing.
CASSINI ABSTRACT: This section contains information related to the creation of the flat file, such as the input file from which spacecraft telemetry was extracted, and the software used for the procedure. It also contains the name of the instrument configuration image used to assigne times to each data record (cross reference to CONFIG IMAGE section).

Format of flat files (.FFD suffix) is described in section 5.2.7. Note that there is a correspondence between the flat file name and the .FMT file (format description) which describes the format of its data records (the contents of this .FMT file are also found in the PDS label associated with the .FFD file). For example a file whose name contains the string 'SDFGM' is data recorded by the FGM instrument which is downlinked in the Science Data telemetry (SD) and which is formatted according to the description in FGM_DATA.FMT (see 4.5.3 for more detail)


9.4 Data file formats

The files comprising MAG standard data products have formats which are specified in the PDS label files. This section shows the format component of PDS labels for each of the data files listed in Table 34, Column 1 ($FF_NAME).


9.4.1 Fluxgate magnetometer data

OBJECT                     = COLUMN
  NAME                     = "SCLK(1958)"
  COLUMN_NUMBER            = 1
  UNIT                     = "Counts"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 1
  BYTES                    = 8
  DESCRIPTION              = "Time (SCLK NOT UTC) is represented as a
    decimal SCLK count relative to the epoch Jan 1 1958 00:00:00.000.
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "X_FGM"
  COLUMN_NUMBER            = 2
  UNIT                     = "ENG"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 9
  BYTES                    = 4
  MISSING_CONSTANT         = 1.0E34
  DESCRIPTION              = "
    Magnetic field component along the fluxgate sensor X-axis in
    engineering units.

   Magnetic-field units

   The units of the preprocessed FGM magnetic-field data are given in
   engineering units.  They represent the X, Y, and Z FGM sensor values at
   the given time.  These values were converted from data numbers (DN) using
   the following:
      ENG = (DN - 8192) / 8192 * factor.
   The value of the factor is determined from the range given with each
   vector using the following table:
             Range       Factor
                 0           40
                 1          400
                 2        10000
                 3        44000
   In order to convert the ENG unit data into nanoTesla, the sensor offsets
   must be subtracted out, gains must be applied, and the data from the
   3 sensors must be orthogonalized."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "Y_FGM"
  COLUMN_NUMBER            = 3
  UNIT                     = "ENG"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 13
  BYTES                    = 4
  MISSING_CONSTANT         = 1.0E34
  DESCRIPTION              = "
    Magnetic field component along the fluxgate sensor Y-axis in
    engineering units."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "Z_FGM"
  COLUMN_NUMBER            = 4
  UNIT                     = "ENG"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 17
  BYTES                    = 4
  MISSING_CONSTANT         = 1.0E34
  DESCRIPTION              = "
    Magnetic field component along the fluxgate sensor Z-axis in
    engineering units."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "MAGSTATUS"
  COLUMN_NUMBER            = 5
  DATA_TYPE                = MSB_INTEGER
  START_BYTE               = 21
  BYTES                    = 4
  DESCRIPTION              = "

    The MAGStatus data are an array of bits that describe the status of the
    MAG equipment, as set out in the following table.

     FIELD        SIZE  NAME                           BYTE   BIT
     PacketType      1  Housekeeping/Science-data flag    0     7  MSB
     SCAS            1  SCAS status                       0     6
     AverageType     1  Average Type (fixed/running)      0     5
     SHMFlag         1  SHM Flag                          0     4
     VHMFlag         1  VHM Flag                          0     3
     FGMFlag         1  FGM Flag                          0     2
     ADCFlag         1  ADC Flag                          0     1
     MCI             9  Measurement Cycle Interrupt     0-1 0,7-0  LSB,MSB
     Average         5  TimeCode Missing                  2     2
     sparebits       2  spare two bits                    2   1-0
     BIU Discretes                                        34    16
     PROM            1  PROM program                      3     7  MSB
     ConfigEnable    1  Config-Enable                     3     6
     PSU_2           1  PSU 2                             3     5
     PSU_1           1  PSU 1                             3     4
     Processor_B     1  Processor B                       3     3
     Processor_A     1  Processor A                       3     2
     SleepMode       1  Sleep Mode                        3     1
     Reset           1  Reset                             3     0  LSB"
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "FGMSTATUS"
  COLUMN_NUMBER            = 6
  DATA_TYPE                = MSB_INTEGER
  START_BYTE               = 25
  BYTES                    = 4
  DESCRIPTION              = "
    The FGMStatus data are an array of bits that describe the status of the
    FGM, as set out in the following table.

     FIELD        SIZE  NAME                           BYTE   BIT
     rg              2  Range                             0   7-6  MSB
     IFCFlag         1  IFC Flag on/off                   0     5
     autorange       1  AutoRange on/off                  0     4
     TimeStatus      4  time quality status               0   3-0  LSB
     sparebyte       8  spare bits                        1   7-0
     CalibId         8  Calibration Id                    2   7-0
     CoordId         8  Field Angle data                  2   7-0"
END_OBJECT

9.4.2 Vector helium magnetometer data

OBJECT                     = COLUMN
  NAME                     = "SCLK(1958)"
  COLUMN_NUMBER            = 1
  UNIT                     = "Counts"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 1
  BYTES                    = 8
  DESCRIPTION              = "
    Time (SCLK NOT UTC) is represented as a decimal SCLK count
    relative
    to the epoch Jan 1 1958 00:00:00.000."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "X_VHM"
  COLUMN_NUMBER            = 2
  UNIT                     = "ENG"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 9
  BYTES                    = 4
  MISSING_CONSTANT         = 1.0E34
  DESCRIPTION              = "
    Magnetic field component along the vector helium sensor X-axis
    in engineering units.

    Magnetic-field units (VHM)

    The units of the preprocessed VHM magnetic-field data are given
    in engineering units (ENG).  They represent the X, Y, and Z VHM
    sensor counts at the given time.  These counts were converted
    into ENG from data numbers (DN) by using the following:
      ENG = (DN - 8192) / 8192 * factor.
    The value of the factor is determined from the range given with
    each vector using the following table:
             Range       Factor
                 0           32
                 1          256"
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "Y_VHM"
  COLUMN_NUMBER            = 3
  UNIT                     = "ENG"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 13
  BYTES                    = 4
  MISSING_CONSTANT         = 1.0E34
  DESCRIPTION              = "
    Magnetic field component along the vector helium sensor Y-axis
    in engineering units."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "Z_VHM"
  COLUMN_NUMBER            = 4
  UNIT                     = "ENG"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 17
  BYTES                    = 4
  MISSING_CONSTANT         = 1.0E34
  DESCRIPTION              = "
    Magnetic field component along the vector helium sensor Z-axis
    in engineering units."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "MAGSTATUS"
  COLUMN_NUMBER            = 5
  UNIT                     = "N/A"
  DATA_TYPE                = MSB_INTEGER
  START_BYTE               = 21
  BYTES                    = 4
  DESCRIPTION              = "

    The MAGStatus data are an array of bits that describe the status
    of the MAG equipment, as set out in the following table.

     FIELD        SIZE  NAME                           BYTE   BIT
     PacketType      1  Housekeeping/Science-data flag    0     7  MSB
     SCAS            1  SCAS status                       0     6
     AverageType     1  Average Type (fixed/running)      0     5
     SHMFlag         1  SHM Flag                          0     4
     VHMFlag         1  VHM Flag                          0     3
     FGMFlag         1  FGM Flag                          0     2
     ADCFlag         1  ADC Flag                          0     1
     MCI             9  Measurement Cycle Interrupt     0-1 0,7-0 LSB,
     MSB
     Average         5  TimeCode Missing                  2     2
     sparebits       2  spare two bits                    2   1-0
     BIU Discretes                                        34    16
     PROM            1  PROM program                      3     7  MSB
     ConfigEnable    1  Config-Enable                     3     6
     PSU_2           1  PSU 2                             3     5
     PSU_1           1  PSU 1                             3     4
     Processor_B     1  Processor B                       3     3
     Processor_A     1  Processor A                       3     2
     SleepMode       1  Sleep Mode                        3     1
     Reset           1  Reset                             3     0 LSB"
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "VHMSTATUS"
  COLUMN_NUMBER            = 6
  UNIT                     = "N/A"
  DATA_TYPE                = MSB_INTEGER
  START_BYTE               = 25
  BYTES                    = 4
  DESCRIPTION              = "

    The VHMStatus data are an array of bits that describe the status
    of the VHM, as set out in the following table.

     FIELD        SIZE  NAME                           BYTE   BIT
     rg              1  Range (debugging only)            0     7  MSB
     TimeStatus      4  time quality status               0   6-3
     sparebits       2  spare bits                        0   2-0  LSB
     Digital         8  Digital Status word               1   7-0
     CalibId         8  Calibration Id                    2   7-0
     CoordId         8  Field Angle data                  3   7-0"
END_OBJECT

9.4.3 Scalar helium magnetometer data

OBJECT                     = COLUMN
  NAME                     = "TIME_TAI"
  COLUMN_NUMBER            = 1
  UNIT                     = "SEC"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 1
  BYTES                    = 8
  DESCRIPTION              = "
    Time is represented as SCET in seconds since the epoch Jan 1 2000
    12:00:00 TAI (= 11:59:28 UTC) ."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "B_SHM"
  COLUMN_NUMBER            = 2
  UNIT                     = "nT"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 9
  BYTES                    = 4
  MISSING_CONSTANT         = 1.0E34
  DESCRIPTION              = "
    Corrected field strength (scalar) in nT."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "X_IAU_S"
  COLUMN_NUMBER            = 3
  UNIT                     = "km"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 13
  BYTES                    = 4
  DESCRIPTION              = "

Cassini position on the x axis relative to Saturn in IAU_SATURN 
coordinate system."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "Y_IAU_S"
  COLUMN_NUMBER            = 4
  UNIT                     = "km"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 17
  BYTES                    = 4
  DESCRIPTION              = "

Cassini position on the y axis relative to Saturn in IAU_SATURN 
coordinate system"
END_OBJECT
OBJECT      = COLUMN
   NAME   = "Z_IAU_S"
   COLUMN_NUMBER   = 5
   UNIT   = "km"
   DATA_TYPE   = IEEE REAL
   START_BYTE   = 21
   BYTES   = 4
   DESCRIPTION   = "

Cassini position on the x axis relative to Saturn in IAU_SATURN 
coordinate system "
END_OBJECT

9.4.4 Configuration data

OBJECT                     = COLUMN
  NAME                     = "SCLK(1958)"
  COLUMN_NUMBER            = 1
  UNIT                     = "Counts"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 1
  BYTES                    = 8
  DESCRIPTION              ="
    Time (SCLK NOT UTC) is represented as a decimal SCLK count
    relative to the epoch Jan 1 1958 00:00:00.000."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wNTChannel"
  COLUMN_NUMBER            = 2
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 9
  BYTES                    = 4
  DESCRIPTION              = "
    Noise Test channel data."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wNTLengthExpo"
  COLUMN_NUMBER            = 3
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 13
  BYTES                    = 4
  DESCRIPTION              = "
    Noise Test exponent, 2^n."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wTTChannel"
  COLUMN_NUMBER            = 4
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 17
  BYTES                    = 4
  DESCRIPTION              = "
    Turbo Test channel data."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wADCSetTime"
  COLUMN_NUMBER            = 5
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 21
  BYTES                    = 4
  DESCRIPTION              = "
    ADC (Analog Digital Converter) settlement time."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wADCSetTimeGnd"
  COLUMN_NUMBER            = 6
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 25
  BYTES                    = 4
  DESCRIPTION              = "
    ADC (Analog Digital Converter) Ground settlement time."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSStatJ0"
  COLUMN_NUMBER            = 7
  DATA_TYPE                = MSB_INTEGER
  START_BYTE               = 29
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot  Job 0 (J0) status."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSStatJ1"
  COLUMN_NUMBER            = 8
  DATA_TYPE                = MSB_INTEGER
  START_BYTE               = 33
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot  Job 1 (J1) status."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSStatJ2"
  COLUMN_NUMBER            = 9
  DATA_TYPE                = MSB_INTEGER
  START_BYTE               = 37
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot  Job 2 (J2) status."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSStatJ3"
  COLUMN_NUMBER            = 10
  DATA_TYPE                = MSB_INTEGER
  START_BYTE               = 41
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot  Job 3 (J3) status."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSSizeSRJ0"
  COLUMN_NUMBER            = 11
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 45
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot size for J0 (number of subrings)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSSizeSRJ1"
  COLUMN_NUMBER            = 12
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 49
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot size for J1 (number of subrings)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSSizeSRJ2"
  COLUMN_NUMBER            = 13
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 53
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot size for J2 (number of subrings)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSSizeSRJ3"
  COLUMN_NUMBER            = 14
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 57
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot size for J3 (number of subrings)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSFactorAEJ0"
  COLUMN_NUMBER            = 15
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 61
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot trigger factor and averaging exponent for J0."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSFactorAEJ1"
  COLUMN_NUMBER            = 16
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 65
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot trigger factor and averaging exponent for J1."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSFactorAEJ2"
  COLUMN_NUMBER            = 17
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 69
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot trigger factor and averaging exponent for J2."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSFactorAEJ3"
  COLUMN_NUMBER            = 18
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 73
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot trigger factor and averaging exponent for J3."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSRowDataRdJ0"
  COLUMN_NUMBER            = 19
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 77
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot row data read pointer for J0."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSRowDataRdJ1"
  COLUMN_NUMBER            = 20
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 81
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot row data read pointer for J1."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSRowDataRdJ2"
  COLUMN_NUMBER            = 21
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 85
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot row data read pointer for J2."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSRowDataRdJ3"
  COLUMN_NUMBER            = 22
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 89
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot row data read pointer for J3."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSPostTrigCntJ0"
  COLUMN_NUMBER            = 23
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 93
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot post-trigger counter for J0."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSPostTrigCntJ1"
  COLUMN_NUMBER            = 24
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 97
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot post-trigger counter for J1."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSPostTrigCntJ2"
  COLUMN_NUMBER            = 25
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 101
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot post-trigger counter for J2."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSPostTrigCntJ3"
  COLUMN_NUMBER            = 26
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 105
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot post-trigger counter for J3."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSTrigLevelJ0"
  COLUMN_NUMBER            = 27
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 109
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot trigger level for J0."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSTrigLevelJ1"
  COLUMN_NUMBER            = 28
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 113
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot trigger level for J1."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSTrigLevelJ2"
  COLUMN_NUMBER            = 29
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 117
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot trigger level for J2."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSTrigLevelJ3"
  COLUMN_NUMBER            = 30
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 121
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot trigger level for J3."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSAvValueJ0"
  COLUMN_NUMBER            = 31
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 125
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot quality figure for J0."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSAvValueJ1"
  COLUMN_NUMBER            = 32
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 129
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot quality figure for J1."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSAvValueJ2"
  COLUMN_NUMBER            = 33
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 133
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot quality figure for J2."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSAvValueJ3"
  COLUMN_NUMBER            = 34
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 137
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot quality figure for J3."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSsubring00"
  COLUMN_NUMBER            = 35
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 141
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot subring status (subring 00)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSsubring01"
  COLUMN_NUMBER            = 36
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 145
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot subring status (subring 01)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSsubring02"
  COLUMN_NUMBER            = 37
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 149
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot subring status (subring 02)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSsubring03"
  COLUMN_NUMBER            = 38
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 153
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot subring status (subring 03)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSsubring04"
  COLUMN_NUMBER            = 39
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 157
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot subring status (subring 04)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSsubring05"
  COLUMN_NUMBER            = 40
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 161
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot subring status (subring 05)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSsubring06"
  COLUMN_NUMBER            = 41
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 165
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot subring status (subring 06)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSsubring07"
  COLUMN_NUMBER            = 42
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 169
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot subring status (subring 07)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSsubring08"
  COLUMN_NUMBER            = 43
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 173
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot subring status (subring 08)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSsubring09"
  COLUMN_NUMBER            = 44
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 177
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot subring status (subring 09)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSsubring10"
  COLUMN_NUMBER            = 45
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 181
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot subring status (subring 10)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSsubring11"
  COLUMN_NUMBER            = 46
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 185
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot subring status (subring 11)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSsubring12"
  COLUMN_NUMBER            = 47
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 189
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot subring status (subring 12)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSsubring13"
  COLUMN_NUMBER            = 48
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 193
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot subring status (subring 13)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSsubring14"
  COLUMN_NUMBER            = 49
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 197
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot subring status (subring 14)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSsubring15"
  COLUMN_NUMBER            = 50
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 201
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot subring status (subring 15)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSsubring16"
  COLUMN_NUMBER            = 51
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 205
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot subring status (subring 16)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSsubring17"
  COLUMN_NUMBER            = 52
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 209
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot subring status (subring 17)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSsubring18"
  COLUMN_NUMBER            = 53
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 213
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot subring status (subring 18)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSsubring19"
  COLUMN_NUMBER            = 54
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 217
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot subring status (subring 19)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSsubring20"
  COLUMN_NUMBER            = 55
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 221
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot subring status (subring 20)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSsubring21"
  COLUMN_NUMBER            = 56
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 225
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot subring status (subring 21)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSsubring22"
  COLUMN_NUMBER            = 57
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 229
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot subring status (subring 22)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSsubring23"
  COLUMN_NUMBER            = 58
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 233
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot subring status (subring 23)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSsubring24"
  COLUMN_NUMBER            = 59
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 237
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot subring status (subring 24)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSsubring25"
  COLUMN_NUMBER            = 60
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 241
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot subring status (subring 25)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSsubring26"
  COLUMN_NUMBER            = 61
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 245
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot subring status (subring 26)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSsubring27"
  COLUMN_NUMBER            = 62
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 249
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot subring status (subring 27)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSsubring28"
  COLUMN_NUMBER            = 63
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 253
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot subring status (subring 28)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSsubring29"
  COLUMN_NUMBER            = 64
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 257
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot subring status (subring 29)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSsubring30"
  COLUMN_NUMBER            = 65
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 261
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot subring status (subring 30)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSsubring31"
  COLUMN_NUMBER            = 66
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 265
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot subring status (subring 31)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSSsubring32"
  COLUMN_NUMBER            = 67
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 269
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot subring status (subring 32)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wSSSubRintSCRd"
  COLUMN_NUMBER            = 68
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 273
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot subring science read."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wSSVecCntScRd"
  COLUMN_NUMBER            = 69
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 277
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot vector counter science read."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wSSSubRingHKRd"
  COLUMN_NUMBER            = 70
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 281
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot subring housekeeping read."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wSSVecCntHKRd"
  COLUMN_NUMBER            = 71
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 285
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot vector counter housekeeping read."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wSSXOffset"
  COLUMN_NUMBER            = 72
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 289
  BYTES                    = 4
  DESCRIPTION              = "
    Commandable offset for ADC conversion of X field component."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wSSYOffset"
  COLUMN_NUMBER            = 73
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 293
  BYTES                    = 4
  DESCRIPTION              = "
    Commandable offset for ADC conversion of Y field component."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wSSZOffset"
  COLUMN_NUMBER            = 74
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 297
  BYTES                    = 4
  DESCRIPTION              = "
    Commandable offset for ADC conversion of Z field component."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wJoiData"
  COLUMN_NUMBER            = 75
  UNIT                     = "N/A"
  DATA_TYPE                = MSB_INTEGER
  START_BYTE               = 301
  BYTES                    = 4
  DESCRIPTION              = "
    Field containing status / mode indicators for ADC clock
    frequency, range control, averaging mode, science packet
    generation in sleep mode, LU (Latch Up) testing, ATC (Artificial
    Time Code) generation, VHM sensor status, FGM calibration, etc."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "byMemScrub"
  COLUMN_NUMBER            = 76
  UNIT                     = "N/A"
  DATA_TYPE                = MSB_INTEGER
  START_BYTE               = 305
  BYTES                    = 4
  DESCRIPTION              = "
    Memory scrubbing status."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wPowerStat"
  COLUMN_NUMBER            = 77
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 309
  BYTES                    = 4
  DESCRIPTION              = "
    Power (on/off) status."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wVersion"
  COLUMN_NUMBER            = 78
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 313
  BYTES                    = 4
  DESCRIPTION              = "
    Software version, Patch code status."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "dwRamChckUBa"
  COLUMN_NUMBER            = 79
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 317
  BYTES                    = 4
  DESCRIPTION              = "
    RAM check end address (upper bound) a."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "dwRamChckUBb"
  COLUMN_NUMBER            = 80
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 321
  BYTES                    = 4
  DESCRIPTION              = "
    RAM check end address (upper bound) b."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "dwRamChckLBa"
  COLUMN_NUMBER            = 81
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 325
  BYTES                    = 4
  DESCRIPTION              = "
    RAM check start address (lower bound) a."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "dwRamChckLBb"
  COLUMN_NUMBER            = 82
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 329
  BYTES                    = 4
  DESCRIPTION              = "
    RAM check start address (lower bound) b."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wFCalTime"
  COLUMN_NUMBER            = 83
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 333
  BYTES                    = 4
  DESCRIPTION              = "
    FGM calibration frequency."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wFRSBound"
  COLUMN_NUMBER            = 84
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 337
  BYTES                    = 4
  DESCRIPTION              = "
    FGM reverse range switching boundary."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wFFSBound"
  COLUMN_NUMBER            = 85
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 341
  BYTES                    = 4
  DESCRIPTION              = "
    FGM forward range switching boundary."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wFRSBCntLimit"
  COLUMN_NUMBER            = 86
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 345
  BYTES                    = 4
  DESCRIPTION              = "
    FGM counter limit, reverse range switch."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wFFSBCntLimit"
  COLUMN_NUMBER            = 87
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 349
  BYTES                    = 4
  DESCRIPTION              = "
    FGM counter limit, forward range switch."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wHKDataStatus"
  COLUMN_NUMBER            = 88
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 353
  BYTES                    = 4
  DESCRIPTION              = "
    Housekeeping data status."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wLUCtrlStatus"
  COLUMN_NUMBER            = 89
  UNIT                     = "N/A"
  DATA_TYPE                = MSB_INTEGER
  START_BYTE               = 357
  BYTES                    = 4
  DESCRIPTION              = "
    Latch up detector control status."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wHLUHLMask"
  COLUMN_NUMBER            = 90
  UNIT                     = "N/A"
  DATA_TYPE                = MSB_INTEGER
  START_BYTE               = 361
  BYTES                    = 4
  DESCRIPTION              = "
    Latch up detector high / low level mask."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wRunAvExp"
  COLUMN_NUMBER            = 91
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 365
  BYTES                    = 4
  DESCRIPTION              = "
    Running average exponent."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wWDSwitchForNMI"
  COLUMN_NUMBER            = 92
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 369
  BYTES                    = 4
  DESCRIPTION              = "
    Watchdog switch after 100 NMI (Non Maskable Interrupts)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "bWDServeEnable"
  COLUMN_NUMBER            = 93
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 373
  BYTES                    = 4
  DESCRIPTION              = "
    Watchdog service enabled / disabled."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wNormalRTITime"
  COLUMN_NUMBER            = 94
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 377
  BYTES                    = 4
  DESCRIPTION              = "
    Normal RTI (Real Time Interrupt) time for artificial RTI
    generation."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wNormalDTITime"
  COLUMN_NUMBER            = 95
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 381
  BYTES                    = 4
  DESCRIPTION              = "
    Normal DTI (Dead Time start Interrupt) time for artificial DTI
    generation."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wArtRTITime"
  COLUMN_NUMBER            = 96
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 385
  BYTES                    = 4
  DESCRIPTION              = "
    Artificial RTI time to detect missing RTI."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wArtDTITime"
  COLUMN_NUMBER            = 97
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 389
  BYTES                    = 4
  DESCRIPTION              = "
    Artificial DTI time to detect missing DTI."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wArtRTICnt"
  COLUMN_NUMBER            = 98
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 393
  BYTES                    = 4
  DESCRIPTION              = "
    Number of RTIs until switch to artificial RTI."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wArtRTIFix"
  COLUMN_NUMBER            = 99
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 397
  BYTES                    = 4
  DESCRIPTION              = "
    Artificial RTI status (free / fix)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "bArtRTIEnd"
  COLUMN_NUMBER            = 100
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 401
  BYTES                    = 4
  DESCRIPTION              = "
    Artificial RTI status (enabled / disabled)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wTime0"
  COLUMN_NUMBER            = 101
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 405
  BYTES                    = 4
  DESCRIPTION              = "
    Measurement Cycle time."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wTimeEna"
  COLUMN_NUMBER            = 102
  UNIT                     = "N/A"
  DATA_TYPE                = MSB_INTEGER
  START_BYTE               = 409
  BYTES                    = 4
  DESCRIPTION              = "
    Timer status (enabled / disabled)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wVRSBound"
  COLUMN_NUMBER            = 103
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 413
  BYTES                    = 4
  DESCRIPTION              = "
    VHM reverse range switching boundary."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wVFSBound"
  COLUMN_NUMBER            = 104
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 417
  BYTES                    = 4
  DESCRIPTION              = "
    VHM forward range switching boundary."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wVRSCntLimit"
  COLUMN_NUMBER            = 105
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 421
  BYTES                    = 4
  DESCRIPTION              = "
    VHM counter limit, reverse range switch."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wVFSCntLimit"
  COLUMN_NUMBER            = 106
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 425
  BYTES                    = 4
  DESCRIPTION              = "
    VHM counter limit, forward range switch."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wVAutoIFCTime"
  COLUMN_NUMBER            = 107
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 429
  BYTES                    = 4
  DESCRIPTION              = "
    VHM automatic IFC (In Flight Calibration) time."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wVAutoIFCCycle"
  COLUMN_NUMBER            = 108
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 433
  BYTES                    = 4
  DESCRIPTION              = "
    VHM auto IFC cycle."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wVFormatTime"
  COLUMN_NUMBER            = 109
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 437
  BYTES                    = 4
  DESCRIPTION              = "
    VHM format pulse frequency."
END_OBJECT

9.4.5 Analog data

OBJECT                     = COLUMN
  NAME                     = "SCLK(1958)"
  COLUMN_NUMBER            = 1
  UNIT                     = "Counts"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 1
  BYTES                    = 8
  DESCRIPTION              ="
    Time (SCLK NOT UTC) is represented as a decimal SCLK count
    relative
    to the epoch Jan 1 1958 00:00:00.000."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "PreampOut"
  COLUMN_NUMBER            = 2
  UNIT                     = "VOLTS"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 9
  BYTES                    = 4
  DESCRIPTION              = "
    Subcommutated VHM data - pre-amplifier output."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "IRDectBias"
  COLUMN_NUMBER            = 3
  UNIT                     = "VOLTS"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 13
  BYTES                    = 4
  DESCRIPTION              = "
    Subcommutated VHM data - infrared detector bias."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "HeLmpRFAmp"
  COLUMN_NUMBER            = 4
  UNIT                     = "VOLTS"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 17
  BYTES                    = 4
  DESCRIPTION              = "
    Subcommutated VHM data - He lamp RF amplifier."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "HeCllRFAmp"
  COLUMN_NUMBER            = 5
  UNIT                     = "VOLTS"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 21
  BYTES                    = 4
  DESCRIPTION              = "
    Subcommutated VHM data - He cell RF amplifier."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "BIU VCCSPV"
  COLUMN_NUMBER            = 6
  UNIT                     = "VOLTS"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 25
  BYTES                    = 4
  DESCRIPTION              = "
    Subcommutated VHM data - BIU VCC, BIU supply voltage."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "+/-3.75V"
  COLUMN_NUMBER            = 7
  UNIT                     = "VOLTS"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 29
  BYTES                    = 4
  DESCRIPTION              = "
    Subcommutated VHM data -  +/-3.75 V supply."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "+/-12V"
  COLUMN_NUMBER            = 8
  UNIT                     = "VOLTS"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 33
  BYTES                    = 4
  DESCRIPTION              = "
    Subcommutated VHM data -  +/-12 V supply."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "+/-6.2V"
  COLUMN_NUMBER            = 9
  UNIT                     = "VOLTS"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 37
  BYTES                    = 4
  DESCRIPTION              = "
    Subcommutated VHM data -  +/-6.2 V supply."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "VCOMonitor"
  COLUMN_NUMBER            = 10
  UNIT                     = "VOLTS"
  DATA_TYPE                = MSB_INTEGER
  START_BYTE               = 41
  BYTES                    = 4
  DESCRIPTION              = "
    Subcommutated SHM data - VCO (Voltage Controlled Oscillator)
    monitor."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "+/-7V"
  COLUMN_NUMBER            = 11
  UNIT                     = "VOLTS"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 45
  BYTES                    = 4
  DESCRIPTION              = "
    Subcommutated SHM data -  +/-7V supply."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "Detect2fg"
  COLUMN_NUMBER            = 12
  UNIT                     = "VOLTS"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 49
  BYTES                    = 4
  DESCRIPTION              = "
    Subcommutated SHM data - Detected 2fo."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "VCOModltn"
  COLUMN_NUMBER            = 13
  UNIT                     = "VOLTS"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 53
  BYTES                    = 4
  DESCRIPTION              = "
    Subcommutated SHM data - VCO modulation."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "+7.5V"
  COLUMN_NUMBER            = 14
  UNIT                     = "VOLTS"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 57
  BYTES                    = 4
  DESCRIPTION              = "
    Subcommutated FGM data -  +7.5V supply."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "-7.5V"
  COLUMN_NUMBER            = 15
  UNIT                     = "VOLTS"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 61
  BYTES                    = 4
  DESCRIPTION              = "
    Subcommutated FGM data -  -7.5V supply."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "X-Field"
  COLUMN_NUMBER            = 16
  UNIT                     = "VOLTS"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 65
  BYTES                    = 4
  DESCRIPTION              = "
    Subcommutated FGM data - X component of magnetic field."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "Y-Field"
  COLUMN_NUMBER            = 17
  UNIT                     = "VOLTS"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 69
  BYTES                    = 4
  DESCRIPTION              = "
    Subcommutated FGM data - Y component of magnetic field."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "Z-Field"
  COLUMN_NUMBER            = 18
  UNIT                     = "VOLTS"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 73
  BYTES                    = 4
  DESCRIPTION              = "
    Subcommutated FGM data - Z component of magnetic field."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "PSU1"
  COLUMN_NUMBER            = 19
  UNIT                     = "VOLTS"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 77
  BYTES                    = 4
  DESCRIPTION              = "
    Subcommutated FGM data - PSU (Power Supply Unit) 1."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "PSU2"
  COLUMN_NUMBER            = 20
  UNIT                     = "VOLTS"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 81
  BYTES                    = 4
  DESCRIPTION              = "
    Subcommutated FGM data - PSU 2."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "Ground F"
  COLUMN_NUMBER            = 21
  UNIT                     = "VOLTS"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 81
  BYTES                    = 4
  DESCRIPTION              = "
    Subcommutated FGM data -  FGM Ground."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "Reference"
  COLUMN_NUMBER            = 22
  UNIT                     = "VOLTS"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 85
  BYTES                    = 4
  DESCRIPTION              = "
    Subcommutated DPU data - Reference voltage."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "A_VCC"
  COLUMN_NUMBER            = 23
  UNIT                     = "VOLTS"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 93
  BYTES                    = 4
  DESCRIPTION              = "
    Subcommutated DPU data - Supply voltage processor system A."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "P12V"
  COLUMN_NUMBER            = 24
  UNIT                     = "VOLTS"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 97
  BYTES                    = 4
  DESCRIPTION              = "
    Subcommutated DPU data - ADC (Analog Digital Converter) supply
    voltage of active processor system."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "M12V"
  COLUMN_NUMBER            = 25
  UNIT                     = "VOLTS"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 101
  BYTES                    = 4
  DESCRIPTION              = "
    Subcommutated DPU data - ADC supply voltage of active processor
    system."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "B_VCC"
  COLUMN_NUMBER            = 26
  UNIT                     = "VOLTS"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 105
  BYTES                    = 4
  DESCRIPTION              = "
    Subcommutated DPU data - Supply voltage processor system B."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "Ground D"
  COLUMN_NUMBER            = 27
  UNIT                     = "VOLTS"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 109
  BYTES                    = 4
  DESCRIPTION              = "
    Subcommutated DPU data - DPU Ground."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "SOURCE"
  COLUMN_NUMBER            = 28
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 113
  BYTES                    = 4
  DESCRIPTION              = "
    Subcommutation maintenance data derived from source sequence
    count of packets."
END_OBJECT

9.4.6 Error counter data

OBJECT                     = COLUMN
  NAME                     = "SCLK(1958)"
  COLUMN_NUMBER            = 1
  UNIT                     = "Counts"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 1
  BYTES                    = 8
  DESCRIPTION              ="
    Time (SCLK NOT UTC) is represented as a decimal SCLK count
    relative
    to the epoch Jan 1 1958 00:00:00.000."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wBIUCheckErrCnt"
  COLUMN_NUMBER            = 2
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 9
  BYTES                    = 4
  DESCRIPTION              = "
    BIU (Bus Interface Unit) Check Error Counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wUnexptDTIErrCnt"
  COLUMN_NUMBER            = 3
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 13
  BYTES                    = 4
  DESCRIPTION              = "
    Unexpected DTI (Dead Time Interrupt) Error Counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wUnexptRTIErrCnt"
  COLUMN_NUMBER            = 4
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 17
  BYTES                    = 4
  DESCRIPTION              = "
    Unexpected RTI (Real Time Interrupt) Error Counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wALFCheckSumE"
  COLUMN_NUMBER            = 5
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 21
  BYTES                    = 4
  DESCRIPTION              = "
    Calculated (even word) Checksum for last ALF (Assisted Load
    Format) command."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wALFCheckSumO"
  COLUMN_NUMBER            = 6
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 25
  BYTES                    = 4
  DESCRIPTION              = "
    Calculated (odd-word) Checksum for last ALF (Assisted Load
    Format) command."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wCmd12CRC"
  COLUMN_NUMBER            = 7
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 29
  BYTES                    = 4
  DESCRIPTION              = "
    CRC (Cyclic Redundancy Check) of last program load command."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wCmd04CRC"
  COLUMN_NUMBER            = 8
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 33
  BYTES                    = 4
  DESCRIPTION              = "
    CRC of last fixed length command."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wCmd08CRC"
  COLUMN_NUMBER            = 9
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 37
  BYTES                    = 4
  DESCRIPTION              = "
    CRC of last parameter load command."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wTimeTagErrCnt"
  COLUMN_NUMBER            = 10
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 41
  BYTES                    = 4
  DESCRIPTION              = "
    Time-tagged command error counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "dw16MTestErrCnta"
  COLUMN_NUMBER            = 11
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 45
  BYTES                    = 4
  DESCRIPTION              = "
    Multi Snapshot Memory Test, Error Counter A."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "dw16MTestErrCntb"
  COLUMN_NUMBER            = 12
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 49
  BYTES                    = 4
  DESCRIPTION              = "
    Multi Snapshot Memory Test, Error Counter B."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wConfigErrCnt"
  COLUMN_NUMBER            = 13
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 53
  BYTES                    = 4
  DESCRIPTION              = "
    Configuration error counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wRegister"
  COLUMN_NUMBER            = 14
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 57
  BYTES                    = 4
  DESCRIPTION              = "
    Register readout value."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wResetCause"
  COLUMN_NUMBER            = 15
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 61
  BYTES                    = 4
  DESCRIPTION              = "
    Cause of last reset (0 = Power on, 1 = Watchdog reset)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wSingleErrCnt"
  COLUMN_NUMBER            = 16
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 65
  BYTES                    = 4
  DESCRIPTION              = "
    RAM single-bit error counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wDoubleErrCnt"
  COLUMN_NUMBER            = 17
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 69
  BYTES                    = 4
  DESCRIPTION              = "
    RAM double-bit error counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wProm1TestErrCnt"
  COLUMN_NUMBER            = 18
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 73
  BYTES                    = 4
  DESCRIPTION              = "
    PROM (Programmable Read-Only Memory) Bank 1 Test error counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wProm2TestErrCnt"
  COLUMN_NUMBER            = 19
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 77
  BYTES                    = 4
  DESCRIPTION              = "
    PROM Bank 2 Test error counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "w16M1SingleErrCnt"
  COLUMN_NUMBER            = 20
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 81
  BYTES                    = 4
  DESCRIPTION              = "
    Multi Snapshot Memory Bank 1 single error counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "w16M1DoubleErrCnt"
  COLUMN_NUMBER            = 21
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 85
  BYTES                    = 4
  DESCRIPTION              = "
    Multi Snapshot Memory Bank 1 double error counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "w16M2SingleErrCnt"
  COLUMN_NUMBER            = 22
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 89
  BYTES                    = 4
  DESCRIPTION              = "
    Multi Snapshot Memory Bank 2 single error counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "w16M2DoubleErrCnt"
  COLUMN_NUMBER            = 23
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 93
  BYTES                    = 4
  DESCRIPTION              = "
    Multi Snapshot Memory Bank 2 double error counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awOGAnciSentErr"
  COLUMN_NUMBER            = 24
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 97
  BYTES                    = 4
  DESCRIPTION              = "
    Outgoing ancillary data sent error, Packet sent count."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "MessErr_NotInit1"
  COLUMN_NUMBER            = 25
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 101
  BYTES                    = 4
  DESCRIPTION              = "
    Message error counter / Not Initialized counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "PacketNotSentCnt1"
  COLUMN_NUMBER            = 26
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 105
  BYTES                    = 4
  DESCRIPTION              = "
    Packet not sent yet counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "NotAllPckSentCnt1"
  COLUMN_NUMBER            = 27
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 109
  BYTES                    = 4
  DESCRIPTION              = "
    Not all packets are sent yet counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "IllegalCallSeqCnt1"
  COLUMN_NUMBER            = 28
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 113
  BYTES                    = 4
  DESCRIPTION              = "
    Illegal calling sequence counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awSciPktSentErr"
  COLUMN_NUMBER            = 29
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 117
  BYTES                    = 4
  DESCRIPTION              = "
    Science packet sent error, Packet sent counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "MessErr_NotInit2"
  COLUMN_NUMBER            = 30
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 121
  BYTES                    = 4
  DESCRIPTION              = "
    Message error counter / Not Initialized counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "PacketNotSentCnt2"
  COLUMN_NUMBER            = 31
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 125
  BYTES                    = 4
  DESCRIPTION              = "
    Packet not sent yet counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "NotAllPckSentCnt2"
  COLUMN_NUMBER            = 32
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 129
  BYTES                    = 4
  DESCRIPTION              = "
    Not all packets are sent yet counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "IllegalCallSeqCnt2"
  COLUMN_NUMBER            = 33
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 133
  BYTES                    = 4
  DESCRIPTION              = "
    Illegal calling sequence counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awHKPktSentErr"
  COLUMN_NUMBER            = 34
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 137
  BYTES                    = 4
  DESCRIPTION              = "
    HK (Housekeeping) packet sent error, Packet sent counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "MessErr_NotInit3"
  COLUMN_NUMBER            = 35
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 141
  BYTES                    = 4
  DESCRIPTION              = "
    Message error counter / Not Initialized counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "PacketNotSentCnt3"
  COLUMN_NUMBER            = 36
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 145
  BYTES                    = 4
  DESCRIPTION              = "
    Packet not sent yet counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "NotAllPckSentCnt3"
  COLUMN_NUMBER            = 37
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 149
  BYTES                    = 4
  DESCRIPTION              = "
    Not all packets are sent yet counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "IllegalCallSeqCnt3"
  COLUMN_NUMBER            = 38
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 153
  BYTES                    = 4
  DESCRIPTION              = "
    Illegal calling sequence counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awJMTrigErrCnt"
  COLUMN_NUMBER            = 39
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 157
  BYTES                    = 4
  DESCRIPTION              = "
    Job Manager Level Trigger error counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "MCITable"
  COLUMN_NUMBER            = 40
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 161
  BYTES                    = 4
  DESCRIPTION              = "
    MCI (Measurement Cycle Interrupt) Table."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "RTIDTIFIFO"
  COLUMN_NUMBER            = 41
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 165
  BYTES                    = 4
  DESCRIPTION              = "
    RTI/DTI Immediate FIFO."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "RTITable"
  COLUMN_NUMBER            = 42
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 169
  BYTES                    = 4
  DESCRIPTION              = "
    RTI Table."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "_128MCITable"
  COLUMN_NUMBER            = 43
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 173
  BYTES                    = 4
  DESCRIPTION              = "
    128 MCI Table."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "_032RTITable"
  COLUMN_NUMBER            = 44
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 177
  BYTES                    = 4
  DESCRIPTION              = "
    32 RTI Table."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "_512RTITable"
  COLUMN_NUMBER            = 45
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 181
  BYTES                    = 4
  DESCRIPTION              = "
    512 RTI Table."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "LongJobFIFO"
  COLUMN_NUMBER            = 46
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 185
  BYTES                    = 4
  DESCRIPTION              = "
    Long job, immediate FIFO."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wLUHandErrCnt"
  COLUMN_NUMBER            = 47
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 189
  BYTES                    = 4
  DESCRIPTION              = "
    LU (Latch Up) handling error counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wArtErrCnt"
  COLUMN_NUMBER            = 48
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 193
  BYTES                    = 4
  DESCRIPTION              = "
    Artificial RTI error counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awResetData,wLUMainCnt"
  COLUMN_NUMBER            = 49
  UNIT                     = "N/A"
  DATA_TYPE                = MSB_INTEGER
  START_BYTE               = 197
  BYTES                    = 4
  DESCRIPTION              = "
    Reset data (in BIU memory), LU main counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wLUDRAMCnt"
  COLUMN_NUMBER            = 50
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 201
  BYTES                    = 4
  DESCRIPTION              = "
    LU DRAM counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wLUP12VCnt"
  COLUMN_NUMBER            = 51
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 205
  BYTES                    = 4
  DESCRIPTION              = "
    LU (+12V supply) counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wLUM12VCnt"
  COLUMN_NUMBER            = 52
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 209
  BYTES                    = 4
  DESCRIPTION              = "
    LU (-12V supply) counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wWatchDog"
  COLUMN_NUMBER            = 53
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 213
  BYTES                    = 4
  DESCRIPTION              = "
    Watchdog reset status."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wWDBounceCnt"
  COLUMN_NUMBER            = 54
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 217
  BYTES                    = 4
  DESCRIPTION              = "
    Watchdog reset / bounce counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wBIUReset"
  COLUMN_NUMBER            = 55
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 221
  BYTES                    = 4
  DESCRIPTION              = "
    BIU reset flag."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wBIUResetCnt"
  COLUMN_NUMBER            = 56
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 225
  BYTES                    = 4
  DESCRIPTION              = "
    BIU reset counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "spare1"
  COLUMN_NUMBER            = 57
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 229
  BYTES                    = 4
  DESCRIPTION              = "
    Unused."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "spare2"
  COLUMN_NUMBER            = 58
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 233
  BYTES                    = 4
  DESCRIPTION              = "
    Unused."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wMaxStackPos"
  COLUMN_NUMBER            = 59
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 237
  BYTES                    = 4
  DESCRIPTION              = "
Maximum stack position."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awIntLogLstErr"
  COLUMN_NUMBER            = 60
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 241
  BYTES                    = 4
  DESCRIPTION              = "
BIU Interrupt log list error, Number of interrupts."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "NoMoreInterupts"
  COLUMN_NUMBER            = 61
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 245
  BYTES                    = 4
  DESCRIPTION              = "
    No more interrupts."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "BIUNotInit"
  COLUMN_NUMBER            = 62
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 249
  BYTES                    = 4
  DESCRIPTION              = "
    BIU not initialised."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awRecAACSDataMsg"
  COLUMN_NUMBER            = 63
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 253
  BYTES                    = 4
  DESCRIPTION              = "
    Received AACS (Attitude and Articulation Control Subsystem) data
    messages."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "MessageErr_NotIn1"
  COLUMN_NUMBER            = 64
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 257
  BYTES                    = 4
  DESCRIPTION              = "
    Message error (not initialised)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "NoMoreMess1"
  COLUMN_NUMBER            = 65
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 261
  BYTES                    = 4
  DESCRIPTION              = "
    No more messages."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "MessageLost1"
  COLUMN_NUMBER            = 66
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 265
  BYTES                    = 4
  DESCRIPTION              = "
    Some message lost."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awRecCritCmdMsgErr"
  COLUMN_NUMBER            = 67
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 269
  BYTES                    = 4
  DESCRIPTION              = "
    Received Critical command messages."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "MessageErr_NotIn2"
  COLUMN_NUMBER            = 68
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 273
  BYTES                    = 4
  DESCRIPTION              = "
    Message error (not initialised)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "NoMoreMess2"
  COLUMN_NUMBER            = 69
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 277
  BYTES                    = 4
  DESCRIPTION              = "
    No more messages."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "MessageLost2"
  COLUMN_NUMBER            = 70
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 281
  BYTES                    = 4
  DESCRIPTION              = "
    Some message lost."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awRecFaultCmdMsgE"
  COLUMN_NUMBER            = 71
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 285
  BYTES                    = 4
  DESCRIPTION              = "
    Received Fault Protection command messages."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "MessageErr_NotIn3"
  COLUMN_NUMBER            = 72
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 289
  BYTES                    = 4
  DESCRIPTION              = "
    Message error (not initialised)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "NoMoreMess3"
  COLUMN_NUMBER            = 73
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 293
  BYTES                    = 4
  DESCRIPTION              = "
    No more messages."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "MessageLost3"
  COLUMN_NUMBER            = 74
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 297
  BYTES                    = 4
  DESCRIPTION              = "
    Some message lost."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awReclCAnciMsgErr"
  COLUMN_NUMBER            = 75
  UNIT                     = "N/A"
  DATA_TYPE                = MSB_INTEGER
  START_BYTE               = 301
  BYTES                    = 4
  DESCRIPTION              = "
    Received Incoming Ancillary Data messages."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "MessageErr_NotIn4"
  COLUMN_NUMBER            = 76
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 305
  BYTES                    = 4
  DESCRIPTION              = "
    Message error (not initialised)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "NoMoreMess4"
  COLUMN_NUMBER            = 77
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 309
  BYTES                    = 4
  DESCRIPTION              = "
    No more messages."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "MessageLost4"
  COLUMN_NUMBER            = 78
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 313
  BYTES                    = 4
  DESCRIPTION              = "
    Some message lost."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awRecNomCmdMsgErr"
  COLUMN_NUMBER            = 79
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 317
  BYTES                    = 4
  DESCRIPTION              = "
    Received Nominal command messages."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "MessageErr_NotIn5"
  COLUMN_NUMBER            = 80
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 321
  BYTES                    = 4
  DESCRIPTION              = "
    Message error (not initialised)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "NoMoreMess5"
  COLUMN_NUMBER            = 81
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 325
  BYTES                    = 4
  DESCRIPTION              = "
    No more messages."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "MessageLost5"
  COLUMN_NUMBER            = 82
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 329
  BYTES                    = 4
  DESCRIPTION              = "
    Some message lost."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "awRecTimModeErr"
  COLUMN_NUMBER            = 83
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 333
  BYTES                    = 4
  DESCRIPTION              = "
    Received Telemetry Mode messages."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "MessageErr_NotIn6"
  COLUMN_NUMBER            = 84
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 337
  BYTES                    = 4
  DESCRIPTION              = "
    Message error (not initialised)."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "NoMoreMess6"
  COLUMN_NUMBER            = 85
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 341
  BYTES                    = 4
  DESCRIPTION              = "
    No more messages."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "MessageLost6"
  COLUMN_NUMBER            = 86
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 345
  BYTES                    = 4
  DESCRIPTION              = "
    Some message lost."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wSTMState"
  COLUMN_NUMBER            = 87
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 349
  BYTES                    = 4
  DESCRIPTION              = "
    STM (Spacecraft Time Message) data, STM okay."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "NoSTMReceived"
  COLUMN_NUMBER            = 88
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 353
  BYTES                    = 4
  DESCRIPTION              = "
    No STM received."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "UnexpectedSTM"
  COLUMN_NUMBER            = 89
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 357
  BYTES                    = 4
  DESCRIPTION              = "
    Unexpected STM."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wintErrCnt"
  COLUMN_NUMBER            = 90
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 361
  BYTES                    = 4
  DESCRIPTION              = "
    Interrupt error counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wSSAngErrCnt1"
  COLUMN_NUMBER            = 91
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 365
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot angular error counter 1."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "wSSAngErrCnt2"
  COLUMN_NUMBER            = 92
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 369
  BYTES                    = 4
  DESCRIPTION              = "
    Snapshot angular error counter 2."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "spare3"
  COLUMN_NUMBER            = 93
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 373
  BYTES                    = 4
  DESCRIPTION              = "
    Not Used."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "Not used"
  COLUMN_NUMBER            = 94
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 377
  BYTES                    = 152
  ITEMS                    = 38
  ITEM_BYTES               = 4
  DESCRIPTION              = "
    38 unused floats."
END_OBJECT

9.4.7 Command data

OBJECT                     = COLUMN
  NAME                     = "SCLK(1958)"
  COLUMN_NUMBER            = 1
  UNIT                     = "Counts"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 1
  BYTES                    = 8
  DESCRIPTION              ="
    Time (SCLK NOT UTC) is represented as a decimal SCLK count
    relative
    to the epoch Jan 1 1958 00:00:00.000."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "VCCtr"
  COLUMN_NUMBER            = 2
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 9
  BYTES                    = 4
  DESCRIPTION              = "
    Valid command counter."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "LVCC"
  COLUMN_NUMBER            = 3
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 13
  BYTES                    = 4
  DESCRIPTION              = "
    Last valid command code."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "2LVCC"
  COLUMN_NUMBER            = 4
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 17
  BYTES                    = 4
  DESCRIPTION              = "
    2nd last valid command code."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "3LVCC"
  COLUMN_NUMBER            = 5
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 21
  BYTES                    = 4
  DESCRIPTION              = "
    3rd last valid command code."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "ICC"
  COLUMN_NUMBER            = 6
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 25
  BYTES                    = 4
  DESCRIPTION              = "
    Invalid command code."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "LICC"
  COLUMN_NUMBER            = 7
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 29
  BYTES                    = 4
  DESCRIPTION              = "
    Last invalid command code."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "Error"
  COLUMN_NUMBER            = 8
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 33
  BYTES                    = 4
  DESCRIPTION              = "
    Error code."
END_OBJECT

9.4.8 Channelized attitude data

OBJECT                     = COLUMN
  NAME                     = "SCLK(1958)"
  COLUMN_NUMBER            = 1
  UNIT                     = "Counts"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 1
  BYTES                    = 8
  DESCRIPTION              ="
    Time (SCLK NOT UTC) is represented as a decimal SCLK count
    relative
    to the epoch Jan 1 1958 00:00:00.000."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "A1001"
  COLUMN_NUMBER            = 2
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 9
  BYTES                    = 4
  DESCRIPTION              = "
    Attitude quaternion component 1."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "A1002"
  COLUMN_NUMBER            = 3
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 13
  BYTES                    = 4
  DESCRIPTION              = "
    Attitude quaternion component 2."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "A1003"
  COLUMN_NUMBER            = 4
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 17
  BYTES                    = 4
  DESCRIPTION              = "
    Attitude quaternion component 3."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "A1004"
  COLUMN_NUMBER            = 5
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 21
  BYTES                    = 4
  DESCRIPTION              = "
    Attitude quaternion component 4."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "A1005"
  COLUMN_NUMBER            = 6
  UNIT                     = "Radians/second"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 25
  BYTES                    = 4
  DESCRIPTION              = "
    Rotation rate, X spacecraft axis."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "A1006"
  COLUMN_NUMBER            = 7
  UNIT                     = "Radians/second"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 29
  BYTES                    = 4
  DESCRIPTION              = "
    Rotation rate, Y spacecraft axis."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "A1007"
  COLUMN_NUMBER            = 8
  UNIT                     = "Radians/second"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 33
  BYTES                    = 4
  DESCRIPTION              = "
    Rotation rate, Z spacecraft axis."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "STATUS"
  COLUMN_NUMBER            = 9
  UNIT                     = "N/A"
  DATA_TYPE                = MSB_INTEGER
  START_BYTE               = 37
  BYTES                    = 4
  DESCRIPTION              = "
    Status information for spacecraft attitude data."
END_OBJECT

9.4.9 Channelized user data

OBJECT                     = COLUMN
  NAME                     = "SCLK(1958)"
  COLUMN_NUMBER            = 1
  UNIT                     = "Counts"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 1
  BYTES                    = 8
  DESCRIPTION              ="
    Time (SCLK NOT UTC) is represented as a decimal SCLK count
    relative
    to the epoch Jan 1 1958 00:00:00.000."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "U_MAG_FGM_T"
  COLUMN_NUMBER            = 2
  UNIT                     = "CELSIUS"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 9
  BYTES                    = 4
  DESCRIPTION              = "
    FGM temperature."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "U_MAG_VSHM_T"
  COLUMN_NUMBER            = 3
  UNIT                     = "CELSIUS"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 13
  BYTES                    = 4
  DESCRIPTION              = "
    VHM/SHM temperature."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "UBAY04_T"
  COLUMN_NUMBER            = 4
  UNIT                     = "CELSIUS"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 17
  BYTES                    = 4
  DESCRIPTION              = "
    Temperature data."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "UBAY07_T"
  COLUMN_NUMBER            = 5
  UNIT                     = "CELSIUS"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 21
  BYTES                    = 4
  DESCRIPTION              = "
    Temperature data."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "U_MAG_Elec_LC"
  COLUMN_NUMBER            = 6
  UNIT                     = "Amps"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 25
  BYTES                    = 4
  DESCRIPTION              = "
    Current."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "S_MAG_ELECT_a"
  COLUMN_NUMBER            = 7
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 29
  BYTES                    = 4
  DESCRIPTION              = "
    Power supply a on/off."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "S_MAG_ELECT_b"
  COLUMN_NUMBER            = 8
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 33
  BYTES                    = 4
  DESCRIPTION              = "
    Power supply b on/off."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "S_MAG_ELECT_sw"
  COLUMN_NUMBER            = 9
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 37
  BYTES                    = 4
  DESCRIPTION              = "
    Power supply operation normal/trip."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "U_MAG_Elec_LC"
  COLUMN_NUMBER            = 10
  UNIT                     = "Amps"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 41
  BYTES                    = 4
  DESCRIPTION              = "
    Current."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "S_MAG_ELECT_a"
  COLUMN_NUMBER            = 11
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 45
  BYTES                    = 4
  DESCRIPTION              = "
    Power supply a on/off."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "S_MAG_ELECT_b"
  COLUMN_NUMBER            = 12
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 49
  BYTES                    = 4
  DESCRIPTION              = "
    Power supply b on/off."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "S_MAG_ELECT_sw"
  COLUMN_NUMBER            = 13
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 53
  BYTES                    = 4
  DESCRIPTION              = "
    Power supply operation normal/trip."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "U_MAG_Htrs_LC"
  COLUMN_NUMBER            = 14
  UNIT                     = "Amps"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 57
  BYTES                    = 4
  DESCRIPTION              = "
    Current."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "S_MAG_RHTR_a"
  COLUMN_NUMBER            = 15
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 61
  BYTES                    = 4
  DESCRIPTION              = "
    Heater a on/off."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "S_MAG_RHTR_b"
  COLUMN_NUMBER            = 16
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 65
  BYTES                    = 4
  DESCRIPTION              = "
    Heater b on/off."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "S_MAG_RHTR_sw"
  COLUMN_NUMBER            = 17
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 69
  BYTES                    = 4
  DESCRIPTION              = "
    Heater operation normal/trip."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "U_MAG_Htrs_LC"
  COLUMN_NUMBER            = 18
  UNIT                     = "Amps"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 73
  BYTES                    = 4
  DESCRIPTION              = "
    Current."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "S_MAG_RHTR_a"
  COLUMN_NUMBER            = 19
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 77
  BYTES                    = 4
  DESCRIPTION              = "
    Heater a on/off."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "S_MAG_RHTR_b"
  COLUMN_NUMBER            = 20
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 81
  BYTES                    = 4
  DESCRIPTION              = "
    Heater b on/off."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "S_MAG_RHTR_sw"
  COLUMN_NUMBER            = 21
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 85
  BYTES                    = 4
  DESCRIPTION              = "
Bus power supply."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "U_30VBus_HF_V"
  COLUMN_NUMBER            = 22
  UNIT                     = "Volts"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 89
  BYTES                    = 4
  DESCRIPTION              = "
Bus power supply."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "U_30VBus_HF_V"
  COLUMN_NUMBER            = 23
  UNIT                     = "Volts"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 93
  BYTES                    = 4
  DESCRIPTION              = "
Bus power supply."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "S_SCAS_COIL_b"
  COLUMN_NUMBER            = 24
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 97
  BYTES                    = 4
  DESCRIPTION              = "
SCAS (Science Calibration and Alignment Subsystem) coil b
on/off."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "S_SCAS_COIL_a"
  COLUMN_NUMBER            = 25
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 101
  BYTES                    = 4
  DESCRIPTION              = "
SCAS coil a on/off."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "S_SCAS_COIL_a"
  COLUMN_NUMBER            = 26
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 105
  BYTES                    = 4
  DESCRIPTION              = "
SCAS coil a on/off."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "S_SCAS_COIL_b"
  COLUMN_NUMBER            = 27
  UNIT                     = "N/A"
  DATA_TYPE                = IEEE_REAL
  START_BYTE               = 109
  BYTES                    = 4
  DESCRIPTION              = "
SCAS coil b on/off."
END_OBJECT
OBJECT                     = COLUMN
  NAME                     = "STATUS"
  COLUMN_NUMBER            = 28
  UNIT                     = "N/A"
  DATA_TYPE                = MSB_INTEGER
  START_BYTE               = 113
  BYTES                    = 4
  DESCRIPTION              = "
    Status information for MAG instrument."
END_OBJECT

10 Appendix D. MAG data-calibration algorithms

This appendix contains the algorithms that describe the calibration of FGM and V/SHM data. The calibration algorithm is identical for the vector data from both instruments, whereas a separate algorithm is applicable to the SHM scalar data.


10.1 Vector data (FGM and VHM)

In general, the vector calibration algorithm consists of the following steps:

1. Subtract offset vector from raw data (i.e. uncalibrated field vector). The precise value of the offsets is partly determined by the dynamic range of measurement associated with the magnetometer mode of operation. For the FGM, there are four such ranges, and for the VHM, there are two. Their limits and associated resolutions are given in Table 36. A common method for computing offsets is to use magnetic-field data taken over long periods in the solar wind ("cruise" mission phase), exploiting special statistical properties of the solar wind field. Full details will be given in the MAG archive documentation. The uncalibrated field vectors (which will form a large part of the MAG archive) are recorded in engineering units that have had a basic scaling factor applied.
2. Multiply offset-corrected field vectors (as column vectors) by the orthogonality / sensitivity (O/S) matrix. The elements of this matrix are computed using the measurements of onboard sources of magnetic field with a known strength and orientation. Multiplication by the O/S matrix converts a measured field vector from scaled engineering units to true nT units.
3. Multiply the calibrated field vector by the orthogonal spacecraft ("O") matrix. This operation transforms the field vector components from sensor / instrument coordinates to spacecraft coordinates. The orientation of the MAG coordinate axes with respect to the Cassini orbiter is described in the instrument mounting kernel (IK) is distributed by NAIF.
4. Remove spacecraft internal field from the corrected field vector produced in step 3 above. The internal field of the spacecraft is usually determined by measurements taken during periods when the spacecraft orientation is changing (spacecraft rolls, especially, are useful in this regard). In the sensor frame of reference during such period, the spacecraft field component will remain static, while any external field component of interest will appear to rotate.

Table 36: Dynamic operation ranges of MAG sensors
RangeLimitsResolution
FGM
0+/- 40 nT4.9 pT
1+/- 400 nT48.8 pT
2+/- 10000 nT1.2 nT
3+/- 44000 nT5.4 nT
VHM
0+/- 32 nT3.9 pT
1+/- 256 nT31.2 pT


10.2 Scalar data (SHM)

Several corrections need to be applied to the raw SHM data. There is a fixed timing correction for the downlink sensor time. There are also corrections that are a function of the field direction, these correction coefficients are found using the calibrated FGM data. The following describes the calibration algorithm for the SHM scalar data.

LetFm= Measured Frequency,
Tc= Counting Interval
= 1 / 0.9971259 Hz
(this value is from Cassini FM V/SHM Fredericksburg March 1996 Calibration Report),
N= Scalar Value returned in telemetry.
Bm= Measured Field Magnitude in nT.
ThenFm= N / Tc,
Bm= Fm / G
whereG= Gyromagnetic Ratio
= 28.023561.

Calibrating the SHM values consists of subtracting a correction term which is in general quite small; i.e. for the Earth swingby its range was 2 to 4 nT.

LetBc= Corrected Field Magnitude,
ThenBc= Bm - E.

The error term E consists of constants and terms that depend upon the orientation and magnitude of the magnetic field vector B.

E = LR+ (LV + Boz)*cos(alpha)
+ Box*sin(alpha)*cos(beta) + Boy*sin(alpha)*sin(beta)
+ ΔBS(alpha, beta, B),
whereLR = Real Light Shift,
LV = Virtual Light Shift,
Box, Boy, Boz = Vector Offset,
alpha = Polar angle of ambient field in V/SHM coordinate system,
beta = Azimuthal angle of ambient field in V/SHM coordinate system,
ΔBS = Bloch-Siegert Shift = inverse power series in B whose coefficients depend upon the field angles alpha and beta. Here we take B = Bm

The values in the column named "B_SHM" in calibrated data files of type SHM_C represent Bc (corrected field magnitude) and are in nT units.

The following values were determined as a result of calibrations carried out at the Fredericksburg Observatory and at JPL:
LR = 0.65 nT
LV + Boz = 1.25 nT
Box = -0.64 nT
Boy = -0.05 nT

ΔBS =(-12+20*K) / (B/100)
+ (-41+56*K) / (B/100)**2
+ (64-115*K) / (B/100)**3
whereK = (cos(alpha))**2 - (sin(alpha)*sin(beta))**2.

The coefficients for the inverse powers of B were obtained from linear fits to Fredericksburg calibration data residuals as functions of K. The corrected field is within 1 nT of the true field at the sensor.