Thermal Emission Spectrometer TES-TSDR Standard Data Product Software Interface Specification N. Gorelick Arizona State University Approved by: ______________________________ P. Christensen, Principal Investigator ______________________________ G. Mehall, Instrument Manager April 1, 2001 CONTENTS 1. Introduction 1 1.1. Purpose and Scope of Document 1 1.2. Applicable Documents 1 2. Data Product Characteristics and Environment 1 2.1. Instrument Overview 1 2.2. Data Product Overview 2 2.3. Standards Used in Generating Data Products 3 2.3.1. Time Standards 3 2.3.2. Coordinate Systems 3 2.3.3. Orbit Numbers 3 2.3.4. Data Storage Conventions 4 3. Detailed Data Product Specifications 4 3.1. Label and Header Descriptions 7 4. Applicable Software 9 4.1. Utility Programs 9 4.2. Applicable PDS Software Tools 9 A. Appendices 10 A.1 ATM Table 10 A.2 BOL Table 16 A.3 CMP Table 19 A.4 GEO Table 20 A.5 IFG Table 25 A.6 LMB Table 26 A.7 OBS Table 28 A.8 POS Table 37 A.9 RAD Table 39 A.10 TLM Table 44 1. Introduction 1.1. Purpose and Scope of Document This document describes the format and content of the Thermal Emission Spectrometer (TES) Time Sequential Data Records (TSDR) standard data products. 1.2. Applicable Documents TES Software Specification Document 642-441, Vol. 5 TES Operation User's Guide, 642-444 Vol. 5 PDS Data Dictionary, July 15, 1996, JPL D-7116, Rev D PDS Data Preparation Workbook, Feb. 1995, Version 3.1, JPL D-7669, Part 1 Planetary Data System Standards Reference, July 1995, Version 3.2, JPL D-7669, Part 2 2. Data Product Characteristics and Environment 2.1. Instrument Overview The TES instrument uses a Michelson interferometer to make infrared spectrometric measurements, and uses two sets of broad-band bolometric detectors to cover the thermal and visible bands. Each of the three bands has a co-aligned array of 6 detectors arranged in a 3x2 configuration and each detector has a field of view of 8.3 mrad square. In normal operation the TES completes a scan of the Michelson mirror every 2 seconds and each of the spectrometer detectors measures the spectral radiance of the target at 143 wavelengths with 10-wavenumber spacing. The visual and thermal bolometers integrate during the entire scan and produce one measurement per detector. This 2-second scan is called a "single length" scan. The TES has a second operating mode in which the Michelson mirror is scanned twice as far over a 4-second period. This mode is referred to as a "double length" scan and produces 286 spectral points with 5-wavenumber spacing for each of the spectrometer detectors. During double scans the two bolometric channels integrate twice as long, but still produce only a single value per detector. The instrument also contains software to optionally perform spectral, spatial, and temporal averaging of the spectrometer data. None of these post-processing steps are applied to the bolometric data. The TES has a rotating pointing mirror that allows the instrument to take measurements ranging from the nadir position up to and past the planet's limb in both the fore and aft directions. Additionally, the pointing mirror can be positioned to take measurements of space and of the internal reference surfaces and lamps contained within the body of the TES instrument. 2.2. Data Product Overview The TES Standard Data Product contains the raw and calibrated thermal IR radiance spectra, the visual and thermal bolometric radiance measurements, and several atmospheric and surface properties derived from this data. Also included are the parameters that describe each observation, some downlinked diagnostic information, and the derived pointing and positional information calculated from the project's SPICE kernels. The TES data are divided into the following 10 tables: OBS - Observation Parameters RAD - Raw and Calibrated Radiance Data BOL - Bolometer Data GEO - Derived Positional & Geometric Values POS - Raw Positional & Geometric Data TLM - Auxiliary Observation Parameters IFG - Raw Interferogram Data CMP - Raw Complex Data ATM - Derived Properties - Atmospheric Observations LMB - Derived Properties - Atmospheric Limb Observations Each table is stored in a separate file with a PDS TABLE structure (i.e., using fixed-length binary records with extensions to handle the variable length spectra). Every record is stored with the spacecraft time, and related records can be retrieved from each table using time as a common key. In some tables up to 6 records can be stored for a given time, one for each detector. In these cases these records also include a field named "detector", that with the time field uniquely identifies the record. Each scan of the instrument always produces the following data records: 1 record in the OBS table, 6 records in the BOL table. Because the instrument is capable of spatially and temporally averaging the spectral data, the number of records in the RAD table can vary from 0 to 6 for each scan. There are 7 spatial averaging combinations that combine together the data from different detectors. This has the net effect of reducing the number of active detectors, and consequently fewer spectra are downlinked. One RAD record is produced for each spectrum downlinked. The spatial masks are described in the DETMASK.TXT document. If temporal averaging is applied to the spectrometer data, then the averaged data are associated with the first scan. The other scans in the average contain no spectrometer data, but still have OBS and BOL records associated with them. All other tables, with the exception of the OBS and BOL tables, also treat temporally averaged data as belonging to the first scan. Each scan (or set of scans if temporal averaging is applied) may generate the following records as well: 1 record in the IFG table, 1 record in the CMP table, 1 record in the TLM table. The data contained in these tables are downlinked from the instrument only upon request. If a scan targets the planet (as opposed to targeting space or an internal reference surface) then the following records are also generated: 6 records in the GEO table 0 to 6 records in the ATM table The ATM records are only generated for those scans that actually observe the planet's surface. 2.3. Standards Used in Generating Data Products 2.3.1. Time Standards The time value stored with each TES-TSDR data record is the value of the spacecraft clock at the start of the observation, truncated to an integer value. This number is equal to the number of seconds since 12:00 a.m. 1/1/1980 GMT. 2.3.2. Coordinate Systems All of the derived geometry fields that relate to longitude and latitude on the surface of Mars are computed using an areocentric coordinate system with west longitudes. 2.3.3. Orbit Numbers The attached PDS labels for TES data files include the fields START_ORBIT_NUMBER and STOP_ORBIT_NUMBER. These fields refer to the beginning and ending orbits during which the data were acquired, using the TES Team orbit numbering system, also known as the Orbit Counter Keeper (ock). During the Orbit Insertion Phase TES ock numbers and MGS Project orbit numbers were identical, except that the Project counted orbits from one periapsis to the next, while TES considered an orbit to begin at the spacecraft maneuver preceding periapsis, usually a difference of no more than twenty minutes. However, the MGS Project reset its orbit count to 1 at the beginning of the Mapping Phase. TES ock numbers were not reset, in order to preserve the unique orbit identifier. For TES data products acquired during mapping, the MGS Project mapping orbit number can be determined by subtracting 1683 from the TES ock number. During mapping, both TES and the MGS Project consider the beginning of an orbit to occur at the descending equator crossing. 2.3.4. Data Storage Conventions All the TES-TSDR records are stored in binary form. Numerical fields are stored using the most significant byte first (MSB), and real numbers are stored using standard IEEE floating-point format. Character and string fields are space padded but not null terminated. 3. Detailed Data Product Specifications Each table is stored with a PDS TABLE structure using fixed-length binary records sorted time-sequentially. Each table file is prefixed with an ASCII header that describes the contents and format of the table, and a pointer that indicates where the binary table data start. The description identifies each column in the table, detailing its name, starting position (in bytes), size (in bytes), data type, description, and scaling factors if applicable. In some cases the column being described is a fixed-length array of related, homogeneous values (such as temperatures or voltages). For that case, the column description also includes the number of items in the array and the size of each item. A typical column description follows: OBJECT = COLUMN NAME = PNT_ANGLE DATA_TYPE = MSB_INTEGER START_BYTE = 12 BYTES = 2 SCALING_FACTOR = .046875 DESCRIPTION = "Scan mirror pointing angle, degrees from nadir." END_OBJECT = COLUMN The RAD, ATM, CMP, and IFG tables store some variable-length data. These variable length records are stored in a file separate from the fixed-length records and are addressed from the fixed-length records with a "pointer" column. Pointer columns contain the position of the variable length data, in bytes, from the start of the file in which it is listed. A position value of -1 in a pointer column indicates that there are no variable length data for that record. Additional keywords in a column's description are used to identify it as a pointer to a variable length column, and describe the data in the variable length records. These keywords are: VAR_DATA_TYPE VAR_ITEM_BYTES VAR_RECORD_TYPE The VAR_DATA_TYPE and VAR_ITEM_BYTES keywords are similar to the PDS keywords DATA_TYPE and ITEM_BYTES, but refer to the structure of the variable-length data. The VAR_RECORD_TYPE keyword identifies the overall format of the variable-length record. This keyword has two possible values: VAR_RECORD_TYPE = VAX_VARIABLE_LENGTH VAR_RECORD_TYPE = Q15 The value VAX_VARIABLE_LENGTH indicates that the variable-length record has the size of the record in bytes, as a 2-byte integer, both before and after the record. This corresponds to the VAX/VMS variable-length record format. Figure 1 illustrates the use of variable-length records, and how they relate to the fixed-length records. In this example, the table contains 2 columns, one of which is a pointer to the variable-length records. The table shows 6 rows, but only 5 of the rows actually point to variable-length records. The fourth record contains -1 in the pointer column, indicating that there are no variable-length data for that row. OBJECT = COLUMN NAME = KEY DATA_TYPE = ASCII_INTEGER BYTES = 1 END_OBJECT = COLUMN OBJECT = COLUMN NAME = VDATA DATA_TYPE = ASCII_INTEGER BYTES = 2 VAR_ITEM_BYTES = 1 VAR_RECORD_TYPE = CHARACTER VAR_DATA_TYPE = VAX_VARIABLE_LENGTH END_OBJECT = COLUMN Figure 1. An example of a variable length record. KEY VDATA Byte0 37 70 88 109 1 0 ---------------------------------------------------- 2 37 | | | | | 3 70 ---------------------------------------------------- 4 -1 / \ 5 88 / \ 6 109 / \ / \ / \ / \ ----------------------- | | | | Byte 70 72 85 87 /\ /\ /\ size data size The Q15 format is very similar to the VAX_VARIABLE_LENGTH format; however it is only used to store floating point values in a compact representation. This format is an array of floating point mantissas stored as 2-byte signed integers. These mantissas share a scaling exponent that is stored as the first item in the record as another 2-byte signed integer. All the elements in the array must be scaled by the exponent, by multiplying them by 2 to the power (exp-15). Just like the VAX_VARIABLE_LENGTH records, the Q15 records are also stored with the size of the record in bytes, as a 2-byte integer, both before and after the record. A diagram of a complete Q15 variable length record is shown in figure 2. Figure 2. A Q15 record record scaling record size exponent size ________________________________________________________________ | | | | | | | | | N | exp | d1 | d2 | d3 | . . | N | |____|________|_____|_______|___|___|___|___|___|___|_____|__|___| byte 1 2 3 4 5 6 7 8 9 10 . . N+3 N+4 f[1] = d1*2^(exp-15) f[2] = d2*2^(exp-15) f[3] = d3*2^(exp-15) ... The fixed-length records are stored in files with a .DAT extension. The variable length records that are referenced by an individual .DAT file can be found in a file with the same name, but with a .VAR extension. 3.1. Label and Header Descriptions Each .DAT file is prefixed with an ASCII header in PDS 3.0 format. The format of this header consists of sets of keyword=value pairs, followed by the keyword END. A sample header is given below: PDS_VERSION_ID = PDS3 FILE_NAME = "OBS04101.DAT" RECORD_TYPE = FIXED_LENGTH RECORD_BYTES = 39 FILE_RECORDS = 1245 LABEL_RECORDS = 35 ^TABLE = 36 SPACECRAFT_ID = MGS INSTRUMENT_ID = TES MISSION_PHASE_NAME = "MAPPING" TARGET_NAME = MARS PRODUCT_ID = "TES04101" PRODUCER_ID = MGS_TES_TEAM DATA_SET_ID = "MGS-M-TES-3-TSDR-V1.0" PRODUCT_RELEASE_DATE = 1998-08-18 PRODUCT_CREATION_TIME = 1998-08-18T17:30:00 START_TIME = 1997-10-26T08:33:44.293 STOP_TIME = 1997-10-29T06:43:30.274 SPACECRAFT_CLOCK_START_COUNT = 562322042 SPACECRAFT_CLOCK_STOP_COUNT = 562574628 START_ORBIT_NUMBER = 28 STOP_ORBIT_NUMBER = 29 OBJECT = TABLE NAME = OBS INTERCHANGE_FORMAT = BINARY PRIMARY_KEY = ( "SPACECRAFT_CLOCK_START_COUNT", "DETECTOR_NUMBER" ) START_PRIMARY_KEY = ( 562322042, 1 ) STOP_PRIMARY_KEY = ( 562574628, 6 ) ROWS = 1210 STRUCTURE = "OBS.FMT" END_OBJECT = TABLE END The above header consists of three primary parts: a description of the whole file, a pointer to the binary table data, and a set of nested PDS objects that identify the contents and layout of the table. The first few lines of the header describe the overall structure of the file and in this case indicate that the file consists of 1,245 fixed-length records, 39 bytes in length. These lines include the entire ASCII header which is padded with white space to occupy an integral number of records of this length. The keyword TABLE is a pointer to the start of the binary data. The number given with this keyword is the record number of the start of the table data. In this case the record number is 36, which starts at byte 1404 counting from byte zero (35 records * 39 bytes/record). The remainder of the header identifies the origin of the data and describes the table contained in the file. The data are identified by the time they were acquired, as shown in the SPACECRAFT_CLOCK_START_TIME and SPACECRAFT_CLOCK_STOP_TIME keywords which contain the time on the first and last record in the file, respectively. These times are also given as UTC time strings in the START_TIME and STOP_TIME fields The columns within the table are specified as a collection of PDS COLUMN objects. A sample column definition follows: OBJECT = COLUMN NAME = POINTING_MIRROR_ANGLE ALIAS_NAME = PNT_ANGLE DATA_TYPE = MSB_INTEGER START_BYTE = 10 BYTES = 2 SCALING_FACTOR = .046875 DESCRIPTION = "Scan mirror pointing angle, degrees from nadir." END_OBJECT = COLUMN The column definitions give the name, type, and size of every field in the table. In the case of this field, "pnt_angle", a scaling factor is also given to convert from the stored value to useful units. A scaling offset may also be included, but if not included, should be assumed to be zero. Scaling factors and offsets should be applied as follows: scaled_value = (stored_value * scaling_factor) + scaling_offset Descriptions are provided for every column as well. These descriptions are surrounded by quotes and may span several lines. In the case of a fixed-length array, the BYTES term indicates the size of the array, and the two fields ITEMS and ITEM_SIZE are included to describe the number and size of a single element in the array. This following column description indicates the column "interferogram_maximum" and is a homogeneous array of 6, 2-byte integers. OBJECT = COLUMN NAME = INTERFEROGRAM_MAXIMUM DATA_TYPE = MSB_INTEGER START_BYTE = 29 BYTES = 12 ITEMS = 6 ITEM_BYTES = 2 SCALING_FACTOR = .000152587890625 DESCRIPTION = "Array of 6 interferogram maximum values" END_OBJECT = COLUMN 4. Applicable Software 4.1. Utility Programs The TES project has produced a software tool that not only reads the PDS table and the variable-length records, but is also capable of joining the related records among multiple tables. This piece of software is called 'vanilla' and is included on every volume. In addition the software is available via anonymous ftp from ftp://east.la.asu.edu/pub/software/vanilla/vanilla.tar.Z. The vanilla program was developed for use on UNIX machines with integers in MSB_INTEGER format, and for PCs. 4.2. Applicable PDS Software Tools The TES team uses no PDS software to view, manipulate or process the data. However, the tables are stored using the PDS TABLE standard structure and any tool that understands that structure should be able to read all of the data except the variable-length spectra. A. Appendices A.1 ATM Table NAME = ATM COLUMNS = 13 ROW_BYTES = 130 INTERCHANGE_FORMAT = BINARY PRIMARY_KEY = ( "SPACECRAFT_CLOCK_START_COUNT" ) DESCRIPTION = " The ATM table contains temperature profiles, aerosol opacities, and related elements derived from the TES calibrated data. Derived values are based on the average spectra of all six detectors measured while TES is operating in the nadir observation mode. Observations that target a body other than Mars (e.g., Phobos and Deimos), or do not include Mars in the field of view, do not have correlating data in this table. The ATM:QUALITY product contains information on the quality of the calculated quantities (see DOCUMENT/QUALITY.TXT for more information). Significant problems in temperature retrieval are known to occur over topographic highs, e.g., the Tharsis volcanos. Over regions of high surface temperature, retrieved atmospheric temperatures in the lowest scale height may be inaccurate. However, large RMS radiance residuals (TEMPERATURE_PROFILE_RESIDUAL) usually occur in these cases. The opacity algorithm fails when the thermal contrast between the atmosphere and the ground is too small. Experience indicates that results may be unreliable if the surface temperature drops below about 220K. We suggest that opacity users limit their searches to include only those values for which the CO2_CONTINUUM_TEMP is greater than 220K, and the quality bits QUALITY:TEMPERATURE_PROFILE_RATING and QUALITY:ATMOSPHERIC_OPACITY_RATING are both equal to zero. Further discussion of the values in this table is available in DOCUMENT/PROCESS; questions about the content of the data should be directed to Michael Smith at Michael.D.Smith@gsfc.nasa.gov or John Pearl at John.Pearl@gsfc.nasa.gov." OBJECT = COLUMN NAME = SPACECRAFT_CLOCK_START_COUNT DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 1 BYTES = 4 ALIAS_NAME = sclk_time DESCRIPTION = "The value of the spacecraft clock at the beginning of the observation" END_OBJECT = COLUMN OBJECT = COLUMN NAME = SURFACE_PRESSURE DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 5 BYTES = 2 SCALING_FACTOR = 0.001 NOT_APPLICABLE_CONSTANT = 444.4 ALIAS_NAME = srf_pressure DESCRIPTION = "Surface pressure is calculated from the altitudes given by the MGS-Mars Orbiter Laser Altimeter (MOLA) 1/4 degree x 1/4 degree topographic map, the hydrostatic law assuming a 10 km scale height, and an adjustment for the seasonal CO2 sublimation cycle. Proper normalization is obtained by fitting the pressures observed by the Viking and Pathfinder landers. For more information, see DOCUMENT/PROCESS." UNIT = "mbar x1000" END_OBJECT = COLUMN OBJECT = COLUMN NAME = NADIR_TEMPERATURE_PROFILE DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 7 BYTES = 76 ITEMS = 38 ITEM_BYTES = 2 SCALING_FACTOR = 0.01 NOT_APPLICABLE_CONSTANT = 444.4 ALIAS_NAME = nadir_pt DESCRIPTION = "Array of temperatures from nadir observations corresponding to the 38 atmopsheric pressure levels, given in millibars, shown below. The fill value (NOT_APPLICABLE_CONSTANT) is inserted when (1) the temperature retrieval fails, or (2) the pressure either exceeds the local surface pressure, or is less than 0.1 mbar. 1: 16.5815200 2: 12.9137000 3: 10.0572000 4: 7.8325550 5: 6.1000000 6: 4.7506850 7: 3.6998370 8: 2.8814360 9: 2.2440650 10: 1.7476790 11: 1.3610940 12: 1.0600210 13: 0.8255452 14: 0.6429352 15: 0.5007185 16: 0.3899599 17: 0.3037011 18: 0.2365227 19: 0.1842040 20: 0.1434582 21: 0.1117254 22: 0.0870000 23: 0.0678000 24: 0.0528000 25: 0.0411000 26: 0.0320000 27: 0.0249000 28: 0.0194000 29: 0.0151000 30: 0.0118000 31: 0.0091700 32: 0.0071400 33: 0.0055600 34: 0.0043300 35: 0.0033700 36: 0.0026300 37: 0.0020500 38: 0.0015900" UNIT = "degK x100" END_OBJECT = COLUMN OBJECT = COLUMN NAME = CO2_CONTINUUM_TEMP DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 83 BYTES = 2 SCALING_FACTOR = 0.01 ALIAS_NAME = co2_cont_temp DESCRIPTION = "Mean of brightness temperature just outside the wings of the 667 cm-1 CO2 absorption band. For 10 cm-1 and 5 cm-1 data, all wavenumbers between 508 to 531 cm-1 and 805 to 827 cm-1 are used with a total of 6 and 10 wavenumbers used in the calculation, respectively." UNIT = "degK x100" END_OBJECT = COLUMN OBJECT = COLUMN NAME = SPECTRAL_SURFACE_TEMPERATURE DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 85 BYTES = 2 UNIT = "degK x100" SCALING_FACTOR = 0.01 ALIAS_NAME = srf_temp_est DESCRIPTION = "Mean of derived temperatures for each detector of the observed target." END_OBJECT = COLUMN OBJECT = COLUMN NAME = TEMPERATURE_PROFILE_RESIDUAL DATA_TYPE = IEEE_REAL START_BYTE = 87 BYTES = 4 NOT_APPLICABLE_CONSTANT = 444.4 ALIAS_NAME = rms_pt DESCRIPTION = "RMS difference between radiances measured within the 667 cm-1 CO2 band, and the radiances calculated within that band using the derived pressure- temperature profile." UNIT = "watts cm-2 steradian-1 wavenumber-1" END_OBJECT = COLUMN OBJECT = COLUMN NAME = NADIR_OPACITY DATA_TYPE = MSB_INTEGER START_BYTE = 91 BYTES = 18 ITEMS = 9 ITEM_BYTES = 2 SCALING_FACTOR = 0.001 NOT_APPLICABLE_CONSTANT = 22.22 ALIAS_NAME = best_fit_opacities DESCRIPTION = "Array of scaling factors that when multiplied by standard spectral shapes gives a best fit for aerosol opacities, CO2 hot and isotope bands, and a reference surface spectral emissivity. The standard spectral shapes are archived in DATA/STDSHAPES.TAB. Spectral shapes represented in array elements: 1: dust 2: water ice 3: CO2 hot and isotope bands 4: surface 5-9: not used" END_OBJECT = COLUMN OBJECT = COLUMN NAME = NADIR_OPACITY_RESIDUAL DATA_TYPE = IEEE_REAL START_BYTE = 109 BYTES = 4 NOT_APPLICABLE_CONSTANT = 444.4 ALIAS_NAME = rms_opacities DESCRIPTION = "RMS opacity residual between opacities retrieved point by point across the spectrum and the opacities computed using the best-fit opacity scaling factors." END_OBJECT = COLUMN OBJECT = COLUMN NAME = CO2_DOWNWELLING_FLUX DATA_TYPE = IEEE_REAL START_BYTE = 113 BYTES = 4 NOT_APPLICABLE_CONSTANT = 444.4 ALIAS_NAME = co2_dw_flux DESCRIPTION = "Down-welling flux from 667 cm-1 CO2 band." UNIT = "watts cm-2" END_OBJECT = COLUMN OBJECT = COLUMN NAME = TOTAL_DOWNWELLING_FLUX DATA_TYPE = IEEE_REAL START_BYTE = 117 BYTES = 4 NOT_APPLICABLE_CONSTANT = 444.4 ALIAS_NAME = total_dw_flux DESCRIPTION = "Down-welling flux from CO2 and atmospheric aerosols." UNIT = "watts cm-2" END_OBJECT = COLUMN OBJECT = COLUMN NAME = QUALITY DATA_TYPE = MSB_BIT_STRING START_BYTE = 121 BYTES = 2 ALIAS_NAME = quality DESCRIPTION = "16-bit atmosphere quality word. Bit column description and code definitions follow; see also quality.txt for more information" OBJECT = BIT_COLUMN NAME = TEMPERATURE_PROFILE_RATING BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 1 BITS = 2 ALIAS_NAME = atm_pt_rating DESCRIPTION = "Identifies quality of nadir pressure- temperature profile values: 0 = nadir values are good 1 = nadir values are questionable 2 = nadir values are bad 3 = nadir values are not available (N/A)" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = ATMOSPHERIC_OPACITY_RATING BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 3 BITS = 2 ALIAS_NAME = atm_opacity_rating DESCRIPTION = "Identifies quality of opacity values: 0 = opacity values are good 1 = opacity values are questionable 2 = opacity values are bad 3 = opacity values are not available (N/A)" END_OBJECT = BIT_COLUMN END_OBJECT = COLUMN OBJECT = COLUMN NAME = SURFACE_RADIANCE DATA_TYPE = MSB_INTEGER START_BYTE = 123 BYTES = 4 VAR_DATA_TYPE = MSB_INTEGER VAR_ITEM_BYTES = 2 VAR_RECORD_TYPE = Q15 ALIAS_NAME = srf_radiance DESCRIPTION = "Derived surface radiance; this field is not used in this release." UNIT = "watts cm-2 steradian-1 wavenumber-1" END_OBJECT = COLUMN OBJECT = COLUMN NAME = ATMOSPHERIC_CALIBRATION_ID DATA_TYPE = CHARACTER START_BYTE = 127 BYTES = 4 ALIAS_NAME = version_id DESCRIPTION = "Version ID of nadir temperature and aerosol retrieval algorithm." END_OBJECT = COLUMN A.2 BOL Table NAME = BOL COLUMNS = 11 ROW_BYTES = 30 DESCRIPTION = " The BOL table contains the raw and calibrated visual and thermal bolometer measurements, and several properties derived from these measurements. Six BOL records are generated for each instrument scan, one for each detector. When spectrometer data are temporally averaged, there can be up to 4 scans of bolometer data." OBJECT = COLUMN NAME = SPACECRAFT_CLOCK_START_COUNT DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 1 BYTES = 4 ALIAS_NAME = sclk_time DESCRIPTION = "The value of the spacecraft clock at the beginning of the observation" END_OBJECT = COLUMN OBJECT = COLUMN NAME = DETECTOR_NUMBER DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 5 BYTES = 1 ALIAS_NAME = detector DESCRIPTION = "The number of the detector that made the observation. Detectors are numbered from 1 to 6" END_OBJECT = COLUMN OBJECT = COLUMN NAME = TEMPORAL_INTEGRATION_SCAN_NUMBER DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 6 BYTES = 1 ALIAS_NAME = tic_count DESCRIPTION = "The number of the scan from the set of temporally averaged scans" END_OBJECT = COLUMN OBJECT = COLUMN NAME = RAW_VISUAL_BOLOMETER DATA_TYPE = MSB_INTEGER START_BYTE = 7 BYTES = 2 SCALING_FACTOR = .000152587890625 ALIAS_NAME = vbol DESCRIPTION = "Raw visual bolometer data, per detector. Scaling factor is 5.0/2^15." UNIT = "VOLTS" END_OBJECT = COLUMN OBJECT = COLUMN NAME = RAW_THERMAL_BOLOMETER DATA_TYPE = MSB_INTEGER START_BYTE = 9 BYTES = 2 SCALING_FACTOR = .000152587890625 ALIAS_NAME = tbol DESCRIPTION = "Raw thermal bolometer data, per detector, Scaling factor is 5.0/2^15." UNIT = "VOLTS" END_OBJECT = COLUMN OBJECT = COLUMN NAME = CALIBRATED_VISUAL_BOLOMETER DATA_TYPE = IEEE_REAL START_BYTE = 11 BYTES = 4 ALIAS_NAME = cal_vbol DESCRIPTION = "Calibrated visual bolometric radiance." UNIT = "watt cm-2 steradian-1 micron-1" END_OBJECT = COLUMN OBJECT = COLUMN NAME = LAMBERT_ALBEDO DATA_TYPE = IEEE_REAL START_BYTE = 15 BYTES = 4 ALIAS_NAME = lambert_alb DESCRIPTION = "Lambertian albedo, derived from visual bolometer" END_OBJECT = COLUMN OBJECT = COLUMN NAME = BOLOMETRIC_THERMAL_INERTIA DATA_TYPE = IEEE_REAL START_BYTE = 19 BYTES = 4 ALIAS_NAME = ti_bol DESCRIPTION = "Thermal inertia, derived from thermal bolometer" UNIT = "J m-2 s-1/2 K-1" END_OBJECT = COLUMN OBJECT = COLUMN NAME = BOLOMETRIC_BRIGHTNESS_TEMP DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 23 BYTES = 2 SCALING_FACTOR = 0.01 ALIAS_NAME = brightness_temp_bol DESCRIPTION = "Temperature observed by the thermal bolometer, assuming the target is radiating as a black body" UNIT = "K" END_OBJECT = COLUMN OBJECT = COLUMN NAME = BOLOMETER_CALIBRATION_ID DATA_TYPE = CHARACTER START_BYTE = 25 BYTES = 4 ALIAS_NAME = version_id DESCRIPTION = "Calibration algorithm version ID for bolometer data" END_OBJECT = COLUMN OBJECT = COLUMN NAME = QUALITY DATA_TYPE = MSB_BIT_STRING START_BYTE = 29 BYTES = 2 ALIAS_NAME = quality DESCRIPTION = "16-bit thermal inertia quality word. Bit column description and code definitions follow; see also index/quality.txt for more information" OBJECT = BIT_COLUMN NAME = BOLOMETRIC_INERTIA_RATING BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 1 BITS = 3 ALIAS_NAME = ti_bol_rating DESCRIPTION = "Values of 0 to 3 rate the uncertainty of the modeled bolometer thermal inertia based on design-specified instrument noise levels; additional sources of uncertainty are present, see document/process.asc or process.pdf. Values of 5 to 7 rate the reasons why valid bolometer thermal inertia could not be modeled. 0 = best quality 1 = good quality 2 = medium quality 3 = low quality 4 = not assigned 5 = lowest quality - observed temperature outside of model-predicted range 6 = lowest quality - no model temperature variation as a function of thermal inertia 7 = lowest quality - thermal inertia value not computed due to lack of necessary data" END_OBJECT = BIT_COLUMN END_OBJECT = COLUMN A.3 CMP Table NAME = CMP COLUMNS = 3 ROW_BYTES = 9 DESCRIPTION = " The CMP table contains the real and complex data from the FFT. The complex data is only downlinked when requested and can only be requested for a single detector per observation. The CMP array contains 286 points (143 real, 143 complex) for a short scan (OBS Table, SCAN_LENGTH = 1), and 572 points (286 real, 286 complex) for a long scan (OBS Table, SCAN_LENGTH = 2)." OBJECT = COLUMN NAME = SPACECRAFT_CLOCK_START_COUNT DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 1 BYTES = 4 ALIAS_NAME = sclk_time DESCRIPTION = "The value of the spacecraft clock at the beginning of the observation" END_OBJECT = COLUMN OBJECT = COLUMN NAME = DETECTOR_NUMBER DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 5 BYTES = 1 ALIAS_NAME = detector DESCRIPTION = "The number of the spectrometer detector that made the observation. Detectors are numbered from 1 to 6" END_OBJECT = COLUMN OBJECT = COLUMN NAME = FFT_COMPLEX_DATA DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 6 BYTES = 4 VAR_DATA_TYPE = MSB_INTEGER VAR_ITEM_BYTES = 2 VAR_RECORD_TYPE = Q15 ALIAS_NAME = complex DESCRIPTION = "The real and imaginary parts of the FFT. This column is the pointer to the data." UNIT = "Transformed Volts" END_OBJECT = COLUMN A.4 GEO Table NAME = GEO COLUMNS = 20 ROW_BYTES = 43 DESCRIPTION = " The GEO table contains information about the sun/spacecraft/target geometry in a format that is easily searched. These values are computed for every scan other than those used to calibrate the instrument. If a viewing vector does not intersect the target body (i.e., an atmospheric observation), then most of the geometry is calculated relative to the point on the viewing vector closest to the body (i.e., the tangent point). If the closest point lies behind the spacecraft, fill values are used." OBJECT = COLUMN NAME = SPACECRAFT_CLOCK_START_COUNT DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 1 BYTES = 4 ALIAS_NAME = sclk_time DESCRIPTION = "The value of the spacecraft clock at the beginning of the observation" END_OBJECT = COLUMN OBJECT = COLUMN NAME = DETECTOR_NUMBER DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 5 BYTES = 1 ALIAS_NAME = detector DESCRIPTION = "The number of the spectrometer detector that made the observation. Detectors are numbered from 1 to 6" END_OBJECT = COLUMN OBJECT = COLUMN NAME = LONGITUDE DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 6 BYTES = 2 SCALING_FACTOR = 0.01 DESCRIPTION = "Areocentric west longitude of target point" UNIT = "DEGREE" END_OBJECT = COLUMN OBJECT = COLUMN NAME = LATITUDE DATA_TYPE = MSB_INTEGER START_BYTE = 8 BYTES = 2 SCALING_FACTOR = 0.01 DESCRIPTION = "Areocentric latitude of target point" UNIT = "DEGREE" END_OBJECT = COLUMN OBJECT = COLUMN NAME = PHASE_ANGLE DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 10 BYTES = 2 SCALING_FACTOR = 0.01 ALIAS_NAME = phase DESCRIPTION = "Angle between the spacecraft, the target point and the sun" UNIT = "DEGREE" END_OBJECT = COLUMN OBJECT = COLUMN NAME = EMISSION_ANGLE DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 12 BYTES = 2 SCALING_FACTOR = 0.01 ALIAS_NAME = emission DESCRIPTION = "Angle between the spacecraft, the target point and the surface normal vector at the target" UNIT = "DEGREE" END_OBJECT = COLUMN OBJECT = COLUMN NAME = INCIDENCE_ANGLE DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 14 BYTES = 2 SCALING_FACTOR = 0.01 ALIAS_NAME = incidence DESCRIPTION = "Angle between the sun, the target point and the surface normal vector at the target" UNIT = "DEGREE" END_OBJECT = COLUMN OBJECT = COLUMN NAME = PLANETARY_PHASE_ANGLE DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 16 BYTES = 2 SCALING_FACTOR = 0.01 ALIAS_NAME = planetary_phase DESCRIPTION = "Angle between the spacecraft, the center of the target body and the sun" UNIT = "DEGREE" END_OBJECT = COLUMN OBJECT = COLUMN NAME = SOLAR_LONGITUDE DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 18 BYTES = 2 SCALING_FACTOR = 0.01 DESCRIPTION = "Planetocentric longitude of the sun" UNIT = "DEGREE" END_OBJECT = COLUMN OBJECT = COLUMN NAME = SUB_SPACECRAFT_LONGITUDE DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 20 BYTES = 2 SCALING_FACTOR = 0.01 ALIAS_NAME = sub_sc_lon DESCRIPTION = "Areocentric west longitude of sub-spacecraft point" UNIT = "DEGREE" END_OBJECT = COLUMN OBJECT = COLUMN NAME = SUB_SPACECRAFT_LATITUDE DATA_TYPE = MSB_INTEGER START_BYTE = 22 BYTES = 2 SCALING_FACTOR = 0.01 ALIAS_NAME = sub_sc_lat DESCRIPTION = "Areocentric latitude of sub-spacecraft point" UNIT = "DEGREE" END_OBJECT = COLUMN OBJECT = COLUMN NAME = SUB_SOLAR_LONGITUDE DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 24 BYTES = 2 SCALING_FACTOR = 0.01 ALIAS_NAME = sub_solar_lon DESCRIPTION = "Areocentric west longitude of the sub-solar point" UNIT = "DEGREE" END_OBJECT = COLUMN OBJECT = COLUMN NAME = SUB_SOLAR_LATITUDE DATA_TYPE = MSB_INTEGER START_BYTE = 26 BYTES = 2 SCALING_FACTOR = 0.01 ALIAS_NAME = sub_solar_lat DESCRIPTION = "Areocentric latitude of the sub-solar point" UNIT = "DEGREE" END_OBJECT = COLUMN OBJECT = COLUMN NAME = TARGET_DISTANCE DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 28 BYTES = 2 DESCRIPTION = "Distance from the spacecraft to the target point" UNIT = "KM" END_OBJECT = COLUMN OBJECT = COLUMN NAME = TARGET_ALTITUDE DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 30 BYTES = 2 SCALING_FACTOR = 0.01 ALIAS_NAME = height DESCRIPTION = "Distance from the surface to the target point. This value is non-zero only for atmospheric targets" UNIT = "KM" END_OBJECT = COLUMN OBJECT = COLUMN NAME = SPACECRAFT_ALTITUDE DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 32 BYTES = 2 ALIAS_NAME = altitude DESCRIPTION = "Distance from the spacecraft to the sub-spacecraft point on the surface" UNIT = "KM" END_OBJECT = COLUMN OBJECT = COLUMN NAME = LOCAL_TIME DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 34 BYTES = 2 SCALING_FACTOR = 0.001 DESCRIPTION = "Local time at target, in decimal Martian hours. The Martian day is divided into 24 equal hours." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SOLAR_DISTANCE DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 36 BYTES = 2 SCALING_FACTOR = 10000 DESCRIPTION = "Distance from the center of the sun to the center of the target body" UNIT = "KM" END_OBJECT = COLUMN OBJECT = COLUMN NAME = PLANETARY_ANGULAR_RADIUS DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 38 BYTES = 2 SCALING_FACTOR = 0.01 ALIAS_NAME = angular_semidiameter DESCRIPTION = "Smallest angular radius of Mars as viewed from the spacecraft." END_OBJECT = COLUMN OBJECT = COLUMN NAME = GEOMETRY_CALIBRATION_ID DATA_TYPE = CHARACTER START_BYTE = 40 BYTES = 4 ALIAS_NAME = version_id DESCRIPTION = "Version ID of geometry algorithm used" END_OBJECT = COLUMN A.5 IFG Table NAME = IFG COLUMNS = 3 ROW_BYTES = 9 DESCRIPTION = " The IFG table contains the raw interferogram data. The interferogram data is only downlinked when requested and can only be requested for a single detector per observation. The IFG array contains 1600 points for a short scan (OBS Table, SCAN_LENGTH = 1), and 3200 points for a long scan (OBS Table, SCAN_LENGTH = 2)." OBJECT = COLUMN NAME = SPACECRAFT_CLOCK_START_COUNT DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 1 BYTES = 4 ALIAS_NAME = sclk_time DESCRIPTION = "The value of the spacecraft clock at the beginning of the observation" END_OBJECT = COLUMN OBJECT = COLUMN NAME = DETECTOR_NUMBER DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 5 BYTES = 1 ALIAS_NAME = detector DESCRIPTION = "The number of the spectrometer detector that made the observation. Detectors are numbered from 1 to 6" END_OBJECT = COLUMN OBJECT = COLUMN NAME = INTERFEROGRAM_DATA DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 6 BYTES = 4 VAR_DATA_TYPE = MSB_INTEGER VAR_ITEM_BYTES = 2 VAR_RECORD_TYPE = Q15 ALIAS_NAME = ifgm DESCRIPTION = "Raw interferogram data" UNIT = "VOLTS" END_OBJECT = COLUMN A.6 LMB Table NAME = LMB COLUMNS = 8 ROW_BYTES = 1592 DESCRIPTION = " The LMB table contains values derived from spectra that look at the limb of Mars. It contains one record for each limb set - sequential observations that view the limb at different altitudes. See the limb parameters quality word for information on the validity of calculated variables. The aerosol information may include data from surface observations taken at other times of the same geographic location. The uncertainty array provides error information for surface radiance spectrum values taken near the same time." OBJECT = COLUMN NAME = SPACECRAFT_CLOCK_START_COUNT DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 1 BYTES = 4 ALIAS_NAME = sclk_time DESCRIPTION = "The value of the spacecraft clock at the beginning of the observation" END_OBJECT = COLUMN OBJECT = COLUMN NAME = AEROSOL_OPACITY_PROFILE_LIMB DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 5 BYTES = 76 ITEMS = 38 ITEM_BYTES = 2 SCALING_FACTOR = 0.001 ALIAS_NAME = opacity_profile DESCRIPTION = "Aerosol integrated normal optical depth from infinity to each of 38 pressures at TBD microns." END_OBJECT = COLUMN OBJECT = COLUMN NAME = AEROSOL_OPACITY_SPECTRUM_LIMB DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 81 BYTES = 572 ITEMS = 286 ITEM_BYTES = 2 SCALING_FACTOR = 0.001 ALIAS_NAME = opacity_spectrum DESCRIPTION = "Aerosol column optical depth spectrum to surface" END_OBJECT = COLUMN OBJECT = COLUMN NAME = AEROSOL_SNG_SCAT_ALB_SPECTRUM DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 653 BYTES = 572 ITEMS = 286 ITEM_BYTES = 2 SCALING_FACTOR = 0.001 ALIAS_NAME = ss_albedo DESCRIPTION = "Aerosol single scattering albedo spectrum at pressure level indicated in aerosol_sng_ scat_pres_level_ind column." END_OBJECT = COLUMN OBJECT = COLUMN NAME = AEROSOL_SNG_SCAT_PRES_LEVEL_IND DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 1225 BYTES = 1 ALIAS_NAME = ss_pressure DESCRIPTION = "Pressure Level index (1-38) of the pressure level to which the single scattering albedo spectrum pertains. Pressure level is chosen where the tangent optical depth is approximately unity." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LIMB_TEMPERATURE_PROFILE DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 1226 BYTES = 76 ITEMS = 38 ITEM_BYTES = 2 SCALING_FACTOR = 0.01 ALIAS_NAME = limb_pt DESCRIPTION = "Atmospheric temperature profile at 38 pressures derived from limb set observation" UNIT = "K" END_OBJECT = COLUMN OBJECT = COLUMN NAME = SURFACE_RAD_SPECTRUM_UNCERTAINTY DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 1302 BYTES = 286 ITEMS = 286 ITEM_BYTES = 1 ALIAS_NAME = srs_uncertainty DESCRIPTION = "Percent uncertainty in surface radiance spectrum." END_OBJECT = COLUMN OBJECT = COLUMN NAME = LIMB_PARAMETERS_QUALITY DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 1588 BYTES = 4 ALIAS_NAME = lmb_quality DESCRIPTION = "32-bit data quality word. Bits TBD" END_OBJECT = COLUMN A.7 OBS Table NAME = OBS COLUMNS = 20 ROW_BYTES = 42 DESCRIPTION = " The OBS table stores the state of the instrument at the start of each observation. One OBS record is generated for each observation." OBJECT = COLUMN NAME = SPACECRAFT_CLOCK_START_COUNT DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 1 BYTES = 4 ALIAS_NAME = sclk_time DESCRIPTION = "The value of the spacecraft clock at the beginning of the observation" END_OBJECT = COLUMN OBJECT = COLUMN NAME = ORBIT_NUMBER DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 5 BYTES = 2 ALIAS_NAME = orbit DESCRIPTION = "The project supplied orbit number" END_OBJECT = COLUMN OBJECT = COLUMN NAME = ORBIT_COUNTER_KEEPER DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 7 BYTES = 2 ALIAS_NAME = ock DESCRIPTION = "Sequential count of the number of orbital Revolutions since orbit insertion. This number is identical to the project supplied orbit up until the first time it is reset to zero." END_OBJECT = COLUMN OBJECT = COLUMN NAME = INSTRUMENT_TIME_COUNT DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 9 BYTES = 4 ALIAS_NAME = ick DESCRIPTION = "The number of two-second intervals that have elapsed since the start of the orbit. The two-second interval is the smallest time unit defined by the instrument and equals the time to complete a single length scan." END_OBJECT = COLUMN OBJECT = COLUMN NAME = TEMPORAL_AVERAGE_COUNT DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 13 BYTES = 1 ALIAS_NAME = tic DESCRIPTION = "The number of two-second scans averaged into this observation. Valid values are 1, 2 and 4" END_OBJECT = COLUMN OBJECT = COLUMN NAME = MIRROR_POINTING_ANGLE DATA_TYPE = MSB_INTEGER START_BYTE = 14 BYTES = 2 SCALING_FACTOR = .046875 ALIAS_NAME = pnt_angle DESCRIPTION = "Scan mirror pointing angle, degrees from nadir about the spacecraft's +Y axis." UNIT = "DEGREE" END_OBJECT = COLUMN OBJECT = COLUMN NAME = IMC_COUNT DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 16 BYTES = 1 ALIAS_NAME = pnt_imc DESCRIPTION = "The number of image motion compensation steps used." END_OBJECT = COLUMN OBJECT = COLUMN NAME = OBSERVATION_TYPE DATA_TYPE = CHARACTER START_BYTE = 17 BYTES = 1 ALIAS_NAME = pnt_view DESCRIPTION = "The observation classification. Coarsely identifies the type of observation as one of the following: B=Internal black body reference surface, 1=Visual Bolometer calibration lamp 1, 2=Visual Bolometer calibration lamp 2, D=Planet, Day side, N=Planet, Night side, L=Planet, limb, S=Space" END_OBJECT = COLUMN OBJECT = COLUMN NAME = SCAN_LENGTH DATA_TYPE = CHARACTER START_BYTE = 18 BYTES = 1 ALIAS_NAME = scan_len DESCRIPTION = "Length of scan 1 = single length scans (~10 wavenumber spacing), 2 = double length scans (~5 wavenumber spacing)" END_OBJECT = COLUMN OBJECT = COLUMN NAME = DATA_PACKET_TYPE DATA_TYPE = CHARACTER START_BYTE = 19 BYTES = 1 ALIAS_NAME = pckt_type DESCRIPTION = "Downlink packet format S = short packets (no auxiliary info) L = long packets (auxiliary info included)" END_OBJECT = COLUMN OBJECT = COLUMN NAME = SCHEDULE_TYPE DATA_TYPE = CHARACTER START_BYTE = 20 BYTES = 1 ALIAS_NAME = schedule_type DESCRIPTION = "Schedule type being executed: T = Real time plan, C = Record plan, O = Overlay" END_OBJECT = COLUMN OBJECT = COLUMN NAME = SPECTROMETER_GAIN DATA_TYPE = CHARACTER START_BYTE = 21 BYTES = 1 ALIAS_NAME = spc_gain DESCRIPTION = "Spectrometer amplifier gain channel number, 1 = ~1 2 = ~2 3 = ~4 4 = ~8" END_OBJECT = COLUMN OBJECT = COLUMN NAME = VISUAL_BOLOMETER_GAIN DATA_TYPE = CHARACTER START_BYTE = 22 BYTES = 1 ALIAS_NAME = vbol_gain DESCRIPTION = "Visual bolometer amplifier gain setting, L = Low setting, H = High setting" END_OBJECT = COLUMN OBJECT = COLUMN NAME = THERMAL_BOLOMETER_GAIN DATA_TYPE = CHARACTER START_BYTE = 23 BYTES = 1 ALIAS_NAME = tbol_gain DESCRIPTION = "Thermal bolometer amplifier gain setting, L = Low setting, H = High setting" END_OBJECT = COLUMN OBJECT = COLUMN NAME = PREPROCESSOR_DETECTOR_NUMBER DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 24 BYTES = 1 ALIAS_NAME = comp_pp DESCRIPTION = "Precompressor reference detector number. The spectrum from each detector within a single ICK is subtracted from the spectrum of this detector prior to data compression to reduce signal entropy" END_OBJECT = COLUMN OBJECT = COLUMN NAME = DETECTOR_MASK DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 25 BYTES = 1 ALIAS_NAME = det_mask DESCRIPTION = "Spatial detector mask number, one of eight possible combinations in which the spectra from the six TES detectors can be co-added prior to transmission to Earth. Varies from no combination (all detectors separate) to all detectors co-added into a single spectrum. See TES Software User's Guide for details" END_OBJECT = COLUMN OBJECT = COLUMN NAME = OBSERVATION_CLASSIFICATION DATA_TYPE = MSB_BIT_STRING START_BYTE = 26 BYTES = 4 ALIAS_NAME = class DESCRIPTION = "32-bit observation classification word. Bit column descriptions and code definitions follow; see class.txt for more information" OBJECT = BIT_COLUMN NAME = MISSION_PHASE BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 1 BITS = 3 ALIAS_NAME = phase DESCRIPTION = "Identifies MGS Mission Phase: 0 = Error 1 = Aerobraking Phase 1 (AB-1) 2 = Science Phasing Orbit 1 (SPO-1) 3 = Science Phasing Orbit 2 (SPO-2) 4 = Aerobraking Phase 2 (AB-2) 5 = Mapping Phase >5 = Error" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = INTENDED_TARGET BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 4 BITS = 4 ALIAS_NAME = type DESCRIPTION = "Description of observation type, including various physical targets and various tests conducted 0 = No Target 1 = Surface Observation 2 = Atmospheric Observation 3 = Phobos Observation 4 = Deimos Observation 5 = Reference Observation 6 = Space and Global Mars Observations 7 = Test Data 8 = Less Than Ick 15 9 = PROM Data " END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = TES_SEQUENCE BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 8 BITS = 4 ALIAS_NAME = sequence DESCRIPTION = "Description of observation sequence performed, must be used in conjunction with OBSERVATION_TYPE; see class.txt for bit codes and definitions" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = NEON_LAMP_STATUS BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 12 BITS = 2 ALIAS_NAME = lamp_status DESCRIPTION = "Describes the status of the neon lamp, and by correlation, defines when spectra are collected 0 = Neon lamp on, spectra collected 1 = Neon lamp off, spectra not collected" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = TIMING_ACCURACY BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 14 BITS = 1 ALIAS_NAME = timing DESCRIPTION = "Describes the accuracy of observation timing, based on availability of equator crossing broadcasts 0 = most accurate timing, MGS-PDS equator crossing broadcast received 1 = timing drifts present, MGS-PDS equator crossing broadcast not received" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = SPARE BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 15 BITS = 2 ALIAS_NAME = spare DESCRIPTION = "Reserved for future use " END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = CLASSIFICATION_VALUE BIT_DATA_TYPE = MSB_INTEGER START_BIT = 17 BITS = 16 ALIAS_NAME = class_value DESCRIPTION = "One of the following signed numerical details: latitude coordinates timing before or after periapsis (seconds) ANS roll number relative to periapsis Must be used in conjunction with TES_SEQUENCE and OBSERVATION_TYPE" END_OBJECT = BIT_COLUMN END_OBJECT = COLUMN OBJECT = COLUMN NAME = QUALITY DATA_TYPE = MSB_BIT_STRING START_BYTE = 30 BYTES = 4 ALIAS_NAME = quality DESCRIPTION = "32-bit observation quality word. Bit column description and code definitions follow; see also quality.txt for more information" OBJECT = BIT_COLUMN NAME = HGA_MOTION BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 1 BITS = 2 ALIAS_NAME = hga_motion DESCRIPTION = "Identifies motion and rate of High Gain Antenna; 0 = HGA motion unknown 1 = HGA not moving 2 = HGA moving at 0.05 deg/sec (autotrack) 3 = HGA moving at 0.51 deg/sec (rewind)" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = SOLAR_PANEL_MOTION BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 3 BITS = 3 ALIAS_NAME = pnl_motion DESCRIPTION = "Identifies motion and rate of both Solar Panels; 0 = panel motion unknown 1 = panels not moving 2 = panels moving at 0.051 deg/sec (autotrack) 3 = panels moving at 0.120 deg/sec (prior to ock 3859) 4 = panels moving at 0.240 deg/sec (starting at ock 3859) 5 = panels moving at 0.400 deg/sec (aerobraking only) 6 = panels moving & changing between rates 7 = not assigned" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = ALGOR_PATCH BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 6 BITS = 1 ALIAS_NAME = algor_patch DESCRIPTION = "Status of algor flight software patch; 0 = Algor flight software patch not onboard TES 1 = Algor flight software patch onboard TES" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = IMC_PATCH BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 7 BITS = 1 ALIAS_NAME = imc_patch DESCRIPTION = "Status of IMC flight software patch; 0 = imc moving in forward direction (IMC patch not onboard) 1 = imc moving in reverse direction (IMC patch onboard)" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = MOMENTUM_DESATURATION BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 8 BITS = 1 ALIAS_NAME = moment DESCRIPTION = "Occurence of autonomous angular momentum desaturation; 0 = angular momentum desaturation not occurring on spacecraft 1 = angular momentum desaturation occurring on spacecraft" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = EQUALIZATION_TABLE BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 9 BITS = 1 ALIAS_NAME = equal_tab DESCRIPTION = "Status of equalization tables; 0 = equalization tables not onboard TES 1 = equalization tables onboard TES" END_OBJECT = BIT_COLUMN END_OBJECT = COLUMN OBJECT = COLUMN NAME = PRIMARY_DIAGNOSTIC_TEMPERATURES DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 34 BYTES = 8 ITEMS = 4 ITEM_BYTES = 2 SCALING_FACTOR = 0.01 ALIAS_NAME = temps DESCRIPTION = "Primary diagnostic temperatures: temps[1] = T1 = Visual Bolometer Detector Package temps[2] = T2 = Thermal Bolometer Detector Package temps[3] = T3 = Spectrometer Detector Package temps[4] = T4 = Thermal Bolometer Black Body Reference" UNIT = "K" END_OBJECT = COLUMN OBJECT = COLUMN NAME = FFT_START_INDEX DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 42 BYTES = 1 ALIAS_NAME = ffti DESCRIPTION = "This parameter specifies the starting wavenumber of the spectra. The wavenumber of the first data channel is 10.58 times the index number. This value also defines how the spectral mask is to the channels." END_OBJECT = COLUMN A.8 POS Table NAME = POS COLUMNS = 7 ROW_BYTES = 70 DESCRIPTION = " The POS table stores the positions of the spacecraft and sun relative to the planet, the spacecraft's orientation quaternion, and the Mars body quaternion, all relative to the J2000 system. These data are initially derived from the project's SPICE kernels, but may be corrected from various other sources. This table may also include interpolated values where SPICE data were unavailable." OBJECT = COLUMN NAME = SPACECRAFT_CLOCK_START_COUNT DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 1 BYTES = 4 ALIAS_NAME = sclk_time DESCRIPTION = "The value of the spacecraft clock at the beginning of the observation" END_OBJECT = COLUMN OBJECT = COLUMN NAME = EPHEMERIS_TIME DATA_TYPE = IEEE_REAL START_BYTE = 5 BYTES = 8 ALIAS_NAME = et DESCRIPTION = "Ephemeris time, seconds since 1/1/2000" UNIT = "Seconds" END_OBJECT = COLUMN OBJECT = COLUMN NAME = SPACECRAFT_POSITION DATA_TYPE = IEEE_REAL START_BYTE = 13 BYTES = 12 ITEMS = 3 ITEM_BYTES = 4 ALIAS_NAME = pos DESCRIPTION = "Spacecraft position vector relative to Mars in the J2000 reference frame" UNIT = "KM" END_OBJECT = COLUMN OBJECT = COLUMN NAME = SUN_POSITION DATA_TYPE = IEEE_REAL START_BYTE = 25 BYTES = 12 ITEMS = 3 ITEM_BYTES = 4 ALIAS_NAME = sun DESCRIPTION = "Sun position vector relative to Mars in the J2000 reference frame" UNIT = "KM" END_OBJECT = COLUMN OBJECT = COLUMN NAME = SPACECRAFT_QUATERNION DATA_TYPE = IEEE_REAL START_BYTE = 37 BYTES = 16 ITEMS = 4 ITEM_BYTES = 4 ALIAS_NAME = quat DESCRIPTION = "Spacecraft pointing quaternion in the J2000 reference frame" END_OBJECT = COLUMN OBJECT = COLUMN NAME = MARS_QUATERNION DATA_TYPE = IEEE_REAL START_BYTE = 53 BYTES = 16 ITEMS = 4 ITEM_BYTES = 4 ALIAS_NAME = qbody DESCRIPTION = "Mars body quaternion in the J2000 reference frame" END_OBJECT = COLUMN OBJECT = COLUMN NAME = POSITION_SOURCE_ID DATA_TYPE = CHARACTER START_BYTE = 69 BYTES = 2 ITEMS = 2 ITEM_BYTES = 1 ALIAS_NAME = id DESCRIPTION = "2-character source ID. First character is source of positions. Second character is source of pointing. See ancillary table for details." END_OBJECT = COLUMN A.9 RAD Table NAME = RAD COLUMNS = 11 ROW_BYTES = 32 DESCRIPTION = " The RAD table contains the raw and calibrated observed radiances. For each observation there can be up to 6 RAD records, one for each active spectrometer detector. If the Temporal Integration Count (OBS Table, TEMPORAL_AVERAGE_COUNT) is greater than 1, then the data represent the average of the measurements from that many scans. The instrument can apply a programmable spectral mask to the raw data causing neighboring channels to be averaged; however, this feature is used only when downlink bandwidth is limited. When spectrally masked data are received, the averaged-out channels are replaced with the averaged value to expand the spectra back to its original size. The spectral-mask that was used to perform the averaging is kept in this table. The raw spectra are compressed for downlink. The original bit-packed compression header, containing the size of the compressed data and the compression mode used, is kept in this table in order to be used to evaluate the performance of the compressor." OBJECT = COLUMN NAME = SPACECRAFT_CLOCK_START_COUNT DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 1 BYTES = 4 ALIAS_NAME = sclk_time DESCRIPTION = "The value of the spacecraft clock at the beginning of the observation" END_OBJECT = COLUMN OBJECT = COLUMN NAME = DETECTOR_NUMBER DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 5 BYTES = 1 ALIAS_NAME = detector DESCRIPTION = "The number of the spectrometer detector that made the observation. Detectors are numbered from 1 to 6" END_OBJECT = COLUMN OBJECT = COLUMN NAME = SPECTRAL_MASK DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 6 BYTES = 1 ALIAS_NAME = spectral_mask DESCRIPTION = "ID number of spectral mask applied. See ancillary Masks table" END_OBJECT = COLUMN OBJECT = COLUMN NAME = COMPRESSION_MODE DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 7 BYTES = 2 ALIAS_NAME = cmode DESCRIPTION = "16-bit compression header of original data containing the size and compression mode of the original compressed data. See TES Users Guide." END_OBJECT = COLUMN OBJECT = COLUMN NAME = RAW_RADIANCE DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 9 BYTES = 4 VAR_DATA_TYPE = MSB_INTEGER VAR_ITEM_BYTES = 2 VAR_RECORD_TYPE = Q15 ALIAS_NAME = raw_rad DESCRIPTION = "Raw spectral radiance" UNIT = "transformed volts" END_OBJECT = COLUMN OBJECT = COLUMN NAME = CALIBRATED_RADIANCE DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 13 BYTES = 4 VAR_DATA_TYPE = MSB_INTEGER VAR_ITEM_BYTES = 2 VAR_RECORD_TYPE = Q15 ALIAS_NAME = cal_rad DESCRIPTION = "Calibrated spectral radiance" UNIT = "watts cm-2 steradian-1 wavenumber-1" END_OBJECT = COLUMN OBJECT = COLUMN NAME = DETECTOR_TEMPERATURE DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 17 BYTES = 2 ALIAS_NAME = tdet DESCRIPTION = "Derived temperature of the detector, used to remove instrument radiance in calibration algorithm" UNIT = "K" END_OBJECT = COLUMN OBJECT = COLUMN NAME = TARGET_TEMPERATURE DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 19 BYTES = 2 ALIAS_NAME = target_temp DESCRIPTION = "Derived temperature of the observed target" UNIT = "K" SCALING_FACTOR = 0.01 END_OBJECT = COLUMN OBJECT = COLUMN NAME = SPECTRAL_THERMAL_INERTIA DATA_TYPE = IEEE_REAL START_BYTE = 21 BYTES = 4 ALIAS_NAME = ti_spc DESCRIPTION = "Thermal inertia, derived from spectrometer data" UNIT = "J m-2 s-1/2 K-1" END_OBJECT = COLUMN OBJECT = COLUMN NAME = RADIANCE_CALIBRATION_ID DATA_TYPE = CHARACTER START_BYTE = 25 BYTES = 4 ALIAS_NAME = version_id DESCRIPTION = "Calibration algorithm version id for spectral data." END_OBJECT = COLUMN OBJECT = COLUMN NAME = QUALITY DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 29 BYTES = 4 ALIAS_NAME = quality ALIAS_NAME = quality DESCRIPTION = "32-bit observation quality word. Bit column description and code definitions follow; see also quality.txt for more information" OBJECT = BIT_COLUMN NAME = MAJOR_PHASE_INVERSION BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 1 BITS = 1 ALIAS_NAME = phase_inversion DESCRIPTION = "Identifies data that contains major phase inversions; 0 = data does not contain major phase inversions 1 = data does contain major phase inversions" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = ALGOR_RISK BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 2 BITS = 1 ALIAS_NAME = algor_risk DESCRIPTION = "Identifies whether data is at low or high risk for algor phase inversions; 0 = data at low risk of algor phase inversion 1 = data at high risk of algor phase inversion" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = CALIBRATION_QUALITY BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 3 BITS = 3 ALIAS_NAME = calib_quality DESCRIPTION = "These bits are reserved for future use; value of these bits currently set to 0" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = SPECTROMETER_NOISE BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 6 BITS = 2 ALIAS_NAME = spect_noise DESCRIPTION = "Identifies noise level in data based on space observations made at least once every 12 orbits; 0 = instrument noise not calculated 1 = instrument noise at nominal levels 2 = instrument noise at anomalously high levels 3 = not assigned" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = SPECTRAL_INERTIA_RATING BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 8 BITS = 3 ALIAS_NAME = ti_spc_rating DESCRIPTION = "Values of 0 to 3 rate the uncertainty of the modeled spectral thermal inertia based on design-specified instrument noise levels; additional sources of uncertainty are present, see document/process.asc or process.pdf. Values of 5 to 7 rate the reasons why valid spectral thermal inertia could not be modeled. 0 = best quality 1 = good quality 2 = medium quality 3 = low quality 4 = not assigned 5 = lowest quality - observed temperature outside of model-predicted range 6 = lowest quality - no model temperature variation as a function of thermal inertia 7 = lowest quality - thermal inertia value not computed due to lack of necessary data" END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = DETECTOR_MASK_PROBLEM BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 11 BITS = 1 ALIAS_NAME = det_mask_problem DESCRIPTION = "Identifies spectra affected by onboard detector (spatial) mask processing; use spectra with extreme caution. 0 = spectrum not affected 1 = spectrum affected by the detector mask 1 problem" END_OBJECT = BIT_COLUMN END_OBJECT = COLUMN A.10 TLM Table NAME = TLM COLUMNS = 31 ROW_BYTES = 113 DESCRIPTION = " The TLM table stores the auxiliary observation parameters downlinked with the long packet format (see OBS Table, DATA_PACKET_TYPE). Records in the TLM table occur at a frequency less than or equal to the frequency of OBS records; that is, one (or none) per observation." OBJECT = COLUMN NAME = SPACECRAFT_CLOCK_START_COUNT DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 1 BYTES = 4 ALIAS_NAME = sclk_time DESCRIPTION = "The value of the spacecraft clock at the beginning of the observation" END_OBJECT = COLUMN OBJECT = COLUMN NAME = AUXILIARY_DIAGNOSTIC_TEMPS DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 5 BYTES = 24 ITEMS = 12 ITEM_BYTES = 2 SCALING_FACTOR = 0.01 ALIAS_NAME = aux_temps DESCRIPTION = "Array of 12 auxiliary temperatures, Read from internal instrument thermistors. 1: T5 - Black Body 1 2: T6 - Black Body 2 3: T7 - Black Body 3 4: T8 - Bolometric Black Body Reference (spare) 5: T9 - Electronics 6: T10 - Power Supply 7: T11 - Telescope Field Stop 8: T12 - Interferometer Fixed Mirror 9: T13 - Interferometer Beamsplitter 10: T14 - Interferometer Motor 11: T15 - Primary Mirror 12: T16 - Secondary Mirror" UNIT = "K" END_OBJECT = COLUMN OBJECT = COLUMN NAME = INTERFEROGRAM_MAXIMUM DATA_TYPE = MSB_INTEGER START_BYTE = 29 BYTES = 12 ITEMS = 6 ITEM_BYTES = 2 SCALING_FACTOR = 0.000152587890625 ALIAS_NAME = ifgm_max DESCRIPTION = "Array of 6 interferogram maximum values, one for each spectrometer detector. Scaling factor is 5.0/32768 V" UNIT = "VOLTS" END_OBJECT = COLUMN OBJECT = COLUMN NAME = INTERFEROGRAM_MINIMUM DATA_TYPE = MSB_INTEGER START_BYTE = 41 BYTES = 12 ITEMS = 6 ITEM_BYTES = 2 SCALING_FACTOR = 0.000152587890625 ALIAS_NAME = ifgm_min DESCRIPTION = "Array of 6 interferogram minimum values, one for each spectrometer detector. Scaling factor is 5.0/32768 V" UNIT = "VOLTS" END_OBJECT = COLUMN OBJECT = COLUMN NAME = ONBOARD_PROCESSING_EVENT_LOG DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 53 BYTES = 12 ITEMS = 6 ITEM_BYTES = 2 ALIAS_NAME = dsp_log DESCRIPTION = "Array of digital signal processor event logs, 16-bit mask, one for each spectrometer detector. See TES User's Guide for details" END_OBJECT = COLUMN OBJECT = COLUMN NAME = DIAGNOSTIC_TELEMETRY_1 DATA_TYPE = MSB_INTEGER START_BYTE = 65 BYTES = 1 SCALING_FACTOR = 3.90625 ALIAS_NAME = V1 DESCRIPTION = "Electronic power supply load current" UNIT = "mA" END_OBJECT = COLUMN OBJECT = COLUMN NAME = DIAGNOSTIC_TELEMETRY_2 DATA_TYPE = MSB_INTEGER START_BYTE = 66 BYTES = 1 SCALING_FACTOR = 1.95312 ALIAS_NAME = V2 DESCRIPTION = "Mechanic power supply load current" UNIT = "mA" END_OBJECT = COLUMN OBJECT = COLUMN NAME = DIAGNOSTIC_TELEMETRY_3 DATA_TYPE = MSB_INTEGER START_BYTE = 67 BYTES = 1 SCALING_FACTOR = 0.278906 ALIAS_NAME = V3 DESCRIPTION = "Diagnostic voltage P26V2. +26v: Pointing mirror motor." UNIT = "VOLTS" END_OBJECT = COLUMN OBJECT = COLUMN NAME = DIAGNOSTIC_TELEMETRY_4 DATA_TYPE = MSB_INTEGER START_BYTE = 68 BYTES = 1 SCALING_FACTOR = 0.278906 ALIAS_NAME = V4 DESCRIPTION = "Diagnostic voltage P28V2. +28v: Interferometer motor." UNIT = "VOLTS" END_OBJECT = COLUMN OBJECT = COLUMN NAME = DIAGNOSTIC_TELEMETRY_5 DATA_TYPE = MSB_INTEGER START_BYTE = 69 BYTES = 1 SCALING_FACTOR = 4.45312 OFFSET = -17.00000 ALIAS_NAME = V5 DESCRIPTION = "Pointing mirror motor current" UNIT = "mA" END_OBJECT = COLUMN OBJECT = COLUMN NAME = DIAGNOSTIC_TELEMETRY_6 DATA_TYPE = MSB_INTEGER START_BYTE = 70 BYTES = 1 SCALING_FACTOR = 0.652344 ALIAS_NAME = V6 DESCRIPTION = "Interferometer motor current" UNIT = "mA" END_OBJECT = COLUMN OBJECT = COLUMN NAME = DIAGNOSTIC_TELEMETRY_7 DATA_TYPE = MSB_INTEGER START_BYTE = 71 BYTES = 1 SCALING_FACTOR = 0.119457 ALIAS_NAME = V7 DESCRIPTION = "Diagnostic voltage P10V1. +10v: Servo Electronics" UNIT = "VOLTS" END_OBJECT = COLUMN OBJECT = COLUMN NAME = DIAGNOSTIC_TELEMETRY_8 DATA_TYPE = MSB_INTEGER START_BYTE = 72 BYTES = 1 SCALING_FACTOR = -0.103067 ALIAS_NAME = V8 DESCRIPTION = "Diagnostic voltage N10V1. -10v: Servo Electronics" UNIT = "VOLTS" END_OBJECT = COLUMN OBJECT = COLUMN NAME = DIAGNOSTIC_TELEMETRY_9 DATA_TYPE = MSB_INTEGER START_BYTE = 73 BYTES = 1 SCALING_FACTOR = 0.15576 ALIAS_NAME = V9 DESCRIPTION = "Diagnostic voltage P16V1. +16v: Analog MUX and A/D" UNIT = "VOLTS" END_OBJECT = COLUMN OBJECT = COLUMN NAME = DIAGNOSTIC_TELEMETRY_10 DATA_TYPE = MSB_INTEGER START_BYTE = 74 BYTES = 1 SCALING_FACTOR = -0.15625 ALIAS_NAME = V10 DESCRIPTION = "Diagnostic voltage N16V1. -16v: Analog MUX and A/D" UNIT = "VOLTS" END_OBJECT = COLUMN OBJECT = COLUMN NAME = DIAGNOSTIC_TELEMETRY_11 DATA_TYPE = MSB_INTEGER START_BYTE = 75 BYTES = 1 SCALING_FACTOR = 0.0976055 ALIAS_NAME = V11 DESCRIPTION = "Diagnostic voltage P10V2. +10v: Heaters" UNIT = "VOLTS" END_OBJECT = COLUMN OBJECT = COLUMN NAME = DIAGNOSTIC_TELEMETRY_12 DATA_TYPE = MSB_INTEGER START_BYTE = 76 BYTES = 1 SCALING_FACTOR = -0.0985813 ALIAS_NAME = V12 DESCRIPTION = "Diagnostic voltage N10V2. -10v: Heaters" UNIT = "VOLTS" END_OBJECT = COLUMN OBJECT = COLUMN NAME = DIAGNOSTIC_TELEMETRY_13 DATA_TYPE = MSB_INTEGER START_BYTE = 77 BYTES = 1 SCALING_FACTOR = 0.976562 ALIAS_NAME = V13 DESCRIPTION = "Albedo Calibration Lamps current" UNIT = "mA" END_OBJECT = COLUMN OBJECT = COLUMN NAME = DIAGNOSTIC_TELEMETRY_14 DATA_TYPE = MSB_INTEGER START_BYTE = 78 BYTES = 1 SCALING_FACTOR = 0.0648437 ALIAS_NAME = V14 DESCRIPTION = "Neon lamps current" UNIT = "mA" END_OBJECT = COLUMN OBJECT = COLUMN NAME = DIAGNOSTIC_TELEMETRY_15 DATA_TYPE = MSB_INTEGER START_BYTE = 79 BYTES = 1 SCALING_FACTOR = 0.045727 ALIAS_NAME = V15 DESCRIPTION = "Diagnostic voltage P5V1. +5v: Servo electronics and DSP" UNIT = "VOLTS" END_OBJECT = COLUMN OBJECT = COLUMN NAME = DIAGNOSTIC_TELEMETRY_16 DATA_TYPE = MSB_INTEGER START_BYTE = 80 BYTES = 1 SCALING_FACTOR = 0.0480992 ALIAS_NAME = V16 DESCRIPTION = "Diagnostic voltage P5V2. Control processor and BIU." UNIT = "VOLTS" END_OBJECT = COLUMN OBJECT = COLUMN NAME = DIAGNOSTIC_TELEMETRY_17 DATA_TYPE = MSB_INTEGER START_BYTE = 81 BYTES = 1 SCALING_FACTOR = 0.0478277 ALIAS_NAME = V17 DESCRIPTION = "Diagnostic voltage P5V3. +5v: Analog MUX, A/D, Timing sequencer" UNIT = "VOLTS" END_OBJECT = COLUMN OBJECT = COLUMN NAME = DIAGNOSTIC_TELEMETRY_18 DATA_TYPE = MSB_INTEGER START_BYTE = 82 BYTES = 1 SCALING_FACTOR = 0.0488039 ALIAS_NAME = V18 DESCRIPTION = "Diagnostic voltage P5V4. +5v: Fringe and ZPD circuit" UNIT = "VOLTS" END_OBJECT = COLUMN OBJECT = COLUMN NAME = DIAGNOSTIC_TELEMETRY_19 DATA_TYPE = MSB_INTEGER START_BYTE = 83 BYTES = 1 SCALING_FACTOR = 0.141966 ALIAS_NAME = V19 DESCRIPTION = "Diagnostic voltage P15V1. +15v Amplifiers" UNIT = "VOLTS" END_OBJECT = COLUMN OBJECT = COLUMN NAME = DIAGNOSTIC_TELEMETRY_20 DATA_TYPE = MSB_INTEGER START_BYTE = 84 BYTES = 1 SCALING_FACTOR = -0.149688 ALIAS_NAME = V20 DESCRIPTION = "Diagnostic voltage N15V1. -15v Amplifiers" UNIT = "VOLTS" END_OBJECT = COLUMN OBJECT = COLUMN NAME = NEON_LAMP DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 85 BYTES = 1 ALIAS_NAME = neon_lamp DESCRIPTION = "Control interferometer neon lamp in use, primary (1) or backup(2)" END_OBJECT = COLUMN OBJECT = COLUMN NAME = NEON_GAIN DATA_TYPE = CHARACTER START_BYTE = 86 BYTES = 1 ALIAS_NAME = neon_gain DESCRIPTION = "Control interferometer neon lamp gain, (L)ow or (H)igh" END_OBJECT = COLUMN OBJECT = COLUMN NAME = NEON_AMPLITUDE DATA_TYPE = MSB_INTEGER START_BYTE = 87 BYTES = 1 ALIAS_NAME = neon_amp DESCRIPTION = "Control interferogram signal amplitude at zero path difference (zpd)" END_OBJECT = COLUMN OBJECT = COLUMN NAME = NEON_ZPD DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 88 BYTES = 2 ALIAS_NAME = neon_zpd DESCRIPTION = "Control interferogram zero path difference (zpd) location measured in counts from start of scan" END_OBJECT = COLUMN OBJECT = COLUMN NAME = INTERFEROGRAM_ZPD DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 90 BYTES = 12 ITEMS = 6 ITEM_BYTES = 2 ALIAS_NAME = ifgm_zpd DESCRIPTION = "IR interferogram zero path difference (zpd) location measured from start of scan" END_OBJECT = COLUMN OBJECT = COLUMN NAME = INTERFEROGRAM_END DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 102 BYTES = 12 ITEMS = 6 ITEM_BYTES = 2 ALIAS_NAME = ifgm_end DESCRIPTION = "Number of extra counts at end of each IR interferogram" END_OBJECT = COLUMN