PDS_VERSION_ID = PDS3 RECORD_TYPE = STREAM OBJECT = TEXT PUBLICATION_DATE = 1999-08-11 NOTE = "Software Interface Specification for the Mars Global Surveyor Accelerometer Archive Volume." END_OBJECT = TEXT END Mars Global Surveyor Software Interface Specification Accelerometer Archive Volume prepared by Steven N. Noll and Robert H. Tolson George Washington University Langley Research Center Version 3.1 11 August 1999 Software Interface Specification (SIS) for Mars Global Surveyor Accelerometer Data 1. Purpose and Scope of Document The purpose of this document is to provide a detailed description of the Accelerometer data products. This document describes the three levels of data products and the content, organization and format of the data for each level. Level 0 data include raw accelerometer counts and ancillary data for reducing the counts to center of mass acceleration. Level 2 data are reduced products including atmospheric density with areophysical parameters, and level 3 is the final data product including density, temperature and other atmospheric properties at reference altitudes. 2. Applicable Documents PDS Standards and Data Dictionary documents Mars Global Surveyor: SCIENCE DATA MANAGEMENT PLAN -- JPL D-12529 MARS GLOBAL SURVEYOR PROJECT: Archive Generation, Validation, and Transfer Plan -- JPL D-13299 Archive Volume SIS for the data product Journal of Spacecraft and Rockets - Vol. 36, May-June 1999 3. Relationships with Other Interfaces none 4. Data Product Characteristics and Environment This section includes a description of the accelerometer as a scientific sensor, the areophysical parameters associated with the data, the details of the three levels of data products, data processing methods, data flow through the data processing system, and the labeling for each data file. 4.1 Instrument Overview An accelerometer is an instrument that measures the acceleration of the case of the sensor due to external forces. All accelerometers have a 'proof mass' and it is the tendency of the proof mass to move relative to the case that is a measure of the acceleration of the case. Early accelerometers produced output that was directly related to acceleration; but modern sensors integrate the internally measured signal, to reduce noise, and the output is proportional to the change in velocity over the integration time. In high precision accelerometers, like those on MGS, the proof mass is an electronically floating magnetic body. The electromagnetic field is varied to keep the proof mass stationary relative to the case. The voltage required to accomplish this is proportional to the acceleration. The accelerometers on MGS are sensitive to acceleration of the center of mass (c.m.) of the s/c, pseudo-accelerations (i.e. centrifugal) due to rigid motion of the s/c about the c.m., and differences in gravitational force at the proof mass and the c.m. of the s/c (gravity gradient). The MGS Inertial Measurement Unit (IMU) contains four accelerometers. The principal accelerometer used in the aerobraking analysis is the z-axis accelerometer. This accelerometer is located at approximately (-0.44, -0.38, 0.72)m relative to the center of mass. The accelerometers are Sundstrand QA1200-AA08 model Q-Flex and continuously integrate acceleration to obtain velocity data. The instrument is sampled every 0.1 seconds. The data are recorded in instrument counts or quantized velocity increments equivalent to 0.332 mm/s per count. The QA1200 bias has a specified temperature sensitivity of 10mg/K or approximately 0.3 counts/K. The temperature of the IMU assembly is actively controlled. IMU telemetered temperatures are quantized at 0.12 K and typical changes during an entire aerobraking pass are between two quantized values. Consequently, only a single, constant bias is determined for each pass through the atmosphere. 4.2 Data Product Overview Data are packaged by periapsis number for each aerobraking orbit. The level 0 data, as defined in sections 1 and 4.3.1, are provided every second during an interval of time that generally assures that the initial and final data points are taken at least 200 km above the surface of Mars. The level 2 data are obtained by converting each level 0 accelerometer measurement to atmospheric density and providing simultaneous areo-location data as calculated from the orbit information. Level 2 data sets also contain two running mean values of density. Level 3 data include atmospheric density, temperature, density scale height, and statistical information of the fitting processes at a number of reference altitudes. All data files are stored as ASCII. 4.3 Data Processing 4.3.1 Data Processing Level The MGS Accelerometer archival data consist of 3 levels as mentioned in section 1. Level 0 data include one set of global data which consists of spacecraft properties. These properties include the spacecraft mass, characteristic area, characteristic length, and aerodynamic properties. These data files are contained in a separate directory from the other level 0 data. Other level 0 data include all unprocessed instrument data at full resolution. These include accelerometer counts, quaternions, rates, and thruster on times. The final level 0 data are the orbital parameters at periapsis which are used in numerous calculations. Level 2 data include the areophysical parameters versus time from periapsis at 1 second resolution. The areophysical parameters include latitude, longitude, local solar time, solar zenith angle, altitude, and 7 and 40 second averaged densities along with their sigmas. Level 3 data for each orbit consist of inbound and outbound density at constant altitude levels (i.e. 130, 140, ...) and corresponding derived quantities on each pass including density scale height, estimated temperature, estimated pressure, and standard deviation of the fit. For each altitude level, the areodetic latitude, longitude, local solar time, and Ls at Mars are given. Altitudes are determined above a reference areoid using a 4x4 model of the gravity field plus centrifugal potential. This altitude is measured radially outward from CG to simplify representation. Additionally, the periapsis density and maximum density are provided on each orbit. Derived quantities at periapsis include dynamic pressure, scale height, temperature and standard deviation of fit. For each data point, the corresponding latitude, altitude, longitude, local solar time and Ls at Mars are given. Similar quantities are given for the location of the maximum calculated density as determined from the 7 second average. Level 3 data also include, for each orbit, the 1.26 nanobar height as a function of latitude, longitude, local solar time and Ls at Mars. The standard deviation on derived quantities is also provided. 4.3.2 Data Product Generation The data products were generated by the MGS Accelerometer Team. Accelerometer counts, quaternions, and angular rates were received from the Mars Global Surveyor after each pass. Additionally, the orbital elements were supplied by the NAV team for each periapsis. Using this information, along with the spacecraft physical and aerodynamic properties, the density of the atmosphere was calculated. The accelerometer counts are calibrated using the spacecraft properties to yield the acceleration along the z-axis of the spacecraft. The angular rates are then used to remove the acceleration caused by the rotation of the spacecraft. An iterative approach is finally used to solve the force-drag relationship for density. Deflection of the broken -Y panel is taken into account in this iterative process. Details can be found in the May-June, 1999 issue of the Journal of Spacecraft and Rockets. Once the density of the atmosphere along the orbit path is known, other atmospheric properties such as scale height, temperature, and pressure are computed. 4.3.3 Data Flow After the data from the spacecraft have been received at the Jet Propulsion Lab, the accelerometer counts, rates, quaternions and thruster data are transferred from behind the Jet Propulsion Lab firewall to the MGS Accelerometer Team operations computer at NASA Langley Research Center. The data product is then generated and sent on to the PDS. The size of the individual data products, consisting of one orbit worth of data, vary in size from 184 to 283 kilobytes. The total size of the data products from Phase 1 of MGS aerobraking is around 45 megabytes. Total Phase 2 data will be near 200 megabytes. 4.3.4 Labeling and Identification PDS labels are located at the beginning of each file. Due to similarity of the columns for each data set, the column by column description for each data set is listed only once for each type of data (i.e. accelerometer counts, quaternions and rates, and the level 2 atmospheric profile.) Each data file, *.tab, has a PDS label as a header, but references a format, *.fmt, file which gives a column by column description. 4.4 Standards Used in Generating Data Products 4.4.1 PDS standards 4.4.2 Time Standards Level 0: Accelerometer counts, angular rates, quaternions, and thruster on times are all time stamped with the Coordinated Universal Time (UTC). The time standard associated with the orbital elements is also the Coordinated Universal Time (UTC). It has been converted to UTC using the Ephemeris to UTC given by NAV in the OPTG. Levels 2 and 3: The time standard used for all data in these two levels is time from periapsis, where the time of periapsis is that given by NAV on the reconstructed OPTG for each pass. 4.4.3 Coordinate Systems When applicable, all data are in the J2000 Mars centered, Mars equator coordinate system. 4.4.4 Data Storage Conventions The data are stored as ASCII text. A minus 1 (-1) (no decimal places) anywhere in the data files indicates that data was not available. For example, in the level 3 data where the atmospheric properties are given at constant altitude levels, there are times when the periapsis altitude is greater than the lower altitude levels. Hence there are no data for some altitude levels of some orbits. For these orbits and altitudes, all corresponding quantities in the data file are minus 1 (-1). Some passes did not yield accelerometer data. For example, no accelerometer data were collected during the hiatus caused by the broken solar panel. There are no folders or files for these passes. 4.5 Data Validation- TBD 5. Detailed Data Specifications 5.1 Data Product Structure and Organization Except for the spacecraft properties, the MGS accelerometer data are stored by periapsis number. The spacecraft properties are grouped together and saved in the directory 'calib'. The rest of the Level 0 data are in directories based on periapsis. The periapsis directories follow the naming convention of Pxxxx where xxxx represents the orbit number. These Level 0 directories contain 4 files. Accelerometer counts, rates and quaternions, thruster on times, and orbital elements are stored as arrays in the files 'counts.tab', 'ratequat.tab', 'thruster.tab' and 'orbelem.tab' respectively. Within the Level 2 and 3 directories, are files for each periapsis using the naming convention AlPxxxx.tab which contains all of the data to describe the pass, where l is the Archive Level and xxxx the periapsis number. The Level 3 data files contain data for the constant altitude levels. These altitude levels are periapsis, 130, 140, 150, 160 km, those corresponding to a 1.26 nbar pressure level and the maximum density. Inbound and outbound data for each of these altitudes are considered separately except for maximum density and periapsis. 5.2 Data Format Descriptions Level 0: The array in 'counts.tab' is n-by-11 in size, where n is the number of seconds worth of data received during that aerobraking pass. Column 1 contains the time in UTC and follows the PDS format. The format is YYYY-DDDTHH:MM:SS.SSSZ where YYYY = four digit year, DDD = day of year, HH = hour, MM = minute, and SS.SSS = seconds. T is a separator for date and time and the Z is the UTC Z. Columns 2 through 11 contain the 0.1 second accelerometer counts for the second beginning at the time stamp. 'ratequat.tab' has an array which is n-by-8 in size. Column 1 is the time corresponding to the rates and quaternions in the same UTC format as described for the counts above. Columns 2-4 contain the angular rates about the x, y and z axes respectively. Columns 5-8 contain the quaternions. The third file, 'thruster.tab', is a k-by-13 array. For Phase 1 k is n/8 or n/8+/-1 corresponding with a reading every eight seconds. During Phase 2, the data files only contain those 8 second readings when the thruster on times had changed from the previous 8 second reading. For this reason, k will be less than or equal to the number of thruster firings during the aerobraking pass for Phase 2 orbits only. The first column is time as described above. The next 12 are a running reading of how long each thruster has been fired during the mission. Column two corresponds to thruster number one, column 3 with thruster 2, and so on. Column 13 corresponds with thruster 12. 'orbelem.tab' has a 1-by-6 array. Columns 1-6 are the 6 orbital elements as supplied by NAV on the OPTG. Level 2: 'Pxxxx.tab' is a m-by-10 array, where m is the number of seconds of data within close proximity to the Martian atmosphere. The data in each of the 11 columns going from column 1 to 10 are seconds from periapsis, latitude, longitude, local solar time, solar zenith angle, altitude above the areodetic reference spheroid, 7 second averaged density and sigma, 40 second averaged density and sigma. Level 3: 'Pxxxx.tab' has 12 rows and 10 columns. The columns have inbound and outbound quantities for different constant altitude levels which are each in separate rows. The rows are separated as follows: periapsis, maximum density, 1.26 nbar level inbound, 1.26 nbar level outbound, 130 km inbound, 130 km outbound, 140 km inbound, 140 km outbound, 150 km inbound, 150 km outbound, 160 km inbound, 160 km outbound. The columns from 1 through 10 are separated as follows: altitude, latitude, longitude, local solar time, longitude of the sun, pressure, density, temperature, scale height, and standard deviation of fit. 40 second averaged data were used to determine Level 3 values. 5.3 Label and Header Descriptions A label is located at the beginning of each data file. PDS3 is the PDS_VERSION_ID that was used to create the labels. 6. Applicable Software None 7. Appendices 7.1 Acronyms MGS - Mars Global Surveyor JPL - Jet Propulsion Lab Ls - Longitude of the Sun CG - Center of Gravity NAV - Navigation Team ET - Ephemeris Time UTC - Coordinated Universal Time NASA - National Aeronautics and Space Administration OPTG - Orbit Prediction and Trajectory Generation PDS - Planetary Data System 7.2 Definitions of Data Processing Levels The definitions given below are from appendix iii of the Mars Global Surveyor Project Archive Generation, Validation, and Transfer Plan. Level 0 -- Instrument science packets (e.g., raw voltages, counts) at full resolution, time ordered, with duplicates and transmission errors removed. Level 2 -- Areophysical parameters located in space and time commensurate with instrument location, pointing, and sampling. Level 3 -- Areophysical parameters mapped onto uniform space-time grids. 7.3 Example PDS Label Below is a sample label for the accelerometer counts data. PDS_VERSION_ID = PDS3 RECORD_TYPE = FIXED_LENGTH RECORD_BYTES = 83 FILE_RECORDS = 668 LABEL_RECORDS = 36 RECORD_FORMAT = "(I4,1X,I3,1X,I2,1X,I2,1X,F6.3,10(1X,I5))" ^TABLE = 38 PRODUCT_ID = "Z_ACCELEROMETER_COUNTS" INSTRUMENT_HOST_NAME = "MARS GLOBAL SURVEYOR" INSTRUMENT_NAME = "ACCELEROMETER" DATA_SET_ID = "MGS-M-ACCEL-0-ACCEL_DATA-V1.0" TARGET_NAME = MARS PRODUCT_CREATION_TIME = 1999-01-28T22:43:39.70 START_TIME = 1997-12-07T08:43:33.50Z STOP_TIME = 1997-12-07T08:54:40.50Z SPACECRAFT_CLOCK_START_COUNT = "UNK" SPACECRAFT_CLOCK_STOP_COUNT = "UNK" OBJECT = TABLE ROWS = 668 ROW_BYTES = 81 INTERCHANGE_FORMAT = ASCII COLUMNS = 11 ^STRUCTURE = "COUNTS.FMT" DESCRIPTION = " The data in this file are the accelerometer counts from the Mars Global Surveyor for orbit 972 of aerobraking at Mars. Stephen N. Noll/R.H. Tolson 1999 January 21 " END_OBJECT = TABLE END File COUNTS.FMT: OBJECT = COLUMN NAME = "TIME_STAMP" DESCRIPTION = "Time of beginning of 1 second time interval" DATA_TYPE = TIME UNIT = "N/A" START_BYTE = 1 BYTES = 21 END_OBJECT = COLUMN OBJECT = COLUMN NAME = "COUNT_1ST_0.1_SEC_OF_INTERVAL" DESCRIPTION = "Entries sorted by time stamp." DATA_TYPE = ASCII_INTEGER UNIT = "COUNTS" START_BYTE = 23 BYTES = 5 FORMAT = "I5" END_OBJECT = COLUMN OBJECT = COLUMN NAME = "COUNT_2ND_0.1_SEC_OF_INTERVAL" DESCRIPTION = "Entries sorted by time stamp." DATA_TYPE = ASCII_INTEGER UNIT = "COUNTS" START_BYTE = 29 BYTES = 5 FORMAT = "I5" END_OBJECT = COLUMN OBJECT = COLUMN NAME = "COUNT_3RD_0.1_SEC_OF_INTERVAL" DESCRIPTION = "Entries sorted by time stamp." DATA_TYPE = ASCII_INTEGER UNIT = "COUNTS" START_BYTE = 35 BYTES = 5 FORMAT = "I5" END_OBJECT = COLUMN OBJECT = COLUMN NAME = "COUNT_4TH_0.1_SEC_OF_INTERVAL" DESCRIPTION = "Entries sorted by time stamp." DATA_TYPE = ASCII_INTEGER UNIT = "COUNTS" START_BYTE = 41 BYTES = 5 FORMAT = "I5" END_OBJECT = COLUMN OBJECT = COLUMN NAME = "COUNT_5TH_0.1_SEC_OF_INTERVAL" DESCRIPTION = "Entries sorted by time stamp." DATA_TYPE = ASCII_INTEGER UNIT = "COUNTS" START_BYTE = 47 BYTES = 5 FORMAT = "I5" END_OBJECT = COLUMN OBJECT = COLUMN NAME = "COUNT_6TH_0.1_SEC_OF_INTERVAL" DESCRIPTION = "Entries sorted by time stamp." DATA_TYPE = ASCII_INTEGER UNIT = "COUNTS" START_BYTE = 53 BYTES = 5 FORMAT = "I5" END_OBJECT = COLUMN OBJECT = COLUMN NAME = "COUNT_7TH_0.1_SEC_OF_INTERVAL" DESCRIPTION = "Entries sorted by time stamp." DATA_TYPE = ASCII_INTEGER UNIT = "COUNTS" START_BYTE = 59 BYTES = 5 FORMAT = "I5" END_OBJECT = COLUMN OBJECT = COLUMN NAME = "COUNT_8TH_0.1_SEC_OF_INTERVAL" DESCRIPTION = "Entries sorted by time stamp." DATA_TYPE = ASCII_INTEGER UNIT = "COUNTS" START_BYTE = 65 BYTES = 5 FORMAT = "I5" END_OBJECT = COLUMN OBJECT = COLUMN NAME = "COUNT_9TH_0.1_SEC_OF_INTERVAL" DESCRIPTION = "Entries sorted by time stamp." DATA_TYPE = ASCII_INTEGER UNIT = "COUNTS" START_BYTE = 71 BYTES = 5 FORMAT = "I5" END_OBJECT = COLUMN OBJECT = COLUMN NAME = "COUNT_10TH_0.1_SEC_OF_INTERVAL" DESCRIPTION = "Entries sorted by time stamp." DATA_TYPE = ASCII_INTEGER UNIT = "COUNTS" START_BYTE = 77 BYTES = 5 FORMAT = "I5" END_OBJECT = COLUMN