APPENDIX - VIRSEDR.FMT FILE OBJECT = COLUMN NAME = SEQ_COUNTER COLUMN_NUMBER = 1 BYTES = 2 DATA_TYPE = MSB_INTEGER START_BYTE = 1 DESCRIPTION = "CCSDS packet sequence counter." UNIT = "N/A" END_OBJECT = COLUMN OBJECT = COLUMN NAME = SC_TIME COLUMN_NUMBER = 2 BYTES = 4 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 3 DESCRIPTION = "Start of observation in Mission Elapsed Time." UNIT = "SECOND" END_OBJECT = COLUMN OBJECT = COLUMN NAME = "PACKET_SUBSECONDS" COLUMN_NUMBER = 3 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 7 BYTES = 2 UNIT = "SECOND/200" DESCRIPTION = "Subsecond start time of observation in 5ms increments.” END_OBJECT = COLUMN /**********************************************************/ /**** DERIVED POINTING INFORMATION */ /**** Target location is in Mercury planetocentric */ /**** Spacecraft and Sun xyz positions are in J2000 */ /**** reference frame */ /**********************************************************/ OBJECT = COLUMN NAME = "SPACECRAFT_POSITION_VECTOR" COLUMN_NUMBER = 4 DATA_TYPE = IEEE_REAL START_BYTE = 9 BYTES = 12 ITEMS = 3 ITEM_BYTES = 4 UNIT = "KM TBD I think KM is not the right UNIT here." DESCRIPTION = "(x,y,z) vector giving spacecraft position in J2000 reference frame." END_OBJECT = COLUMN OBJECT = COLUMN NAME = "SUN_POSITION_VECTOR" COLUMN_NUMBER = 5 DATA_TYPE = IEEE_REAL START_BYTE = 21 BYTES = 12 ITEMS = 3 ITEM_BYTES = 4 UNIT = "KM TBD I think KM is not the right UNIT here" DESCRIPTION = "(x,y,z) vector giving sun position in J2000 reference frame." END_OBJECT = COLUMN OBJECT = COLUMN NAME = "TARGET_LATITUDE" COLUMN_NUMBER = 6 DATA_TYPE = IEEE_REAL START_BYTE = 33 BYTES = 4 UNIT = "DEGREE" DESCRIPTION = "Latitude on Mercury corresponding to spectral observation." END_OBJECT = COLUMN OBJECT = COLUMN NAME = "TARGET_LONGITUDE" COLUMN_NUMBER = 7 DATA_TYPE = IEEE_REAL START_BYTE = 37 BYTES = 4 UNIT = "DEGREE" DESCRIPTION = "Longitude on Mercury corresponding to Spectral observation." END_OBJECT = COLUMN /********************************************************/ /**** HOUSEKEEPING DATA */ /********************************************************/ OBJECT = COLUMN NAME = "INT_TIME" COLUMN_NUMBER = 8 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 41 BYTES = 2 UNIT = "N/A" DESCRIPTION = "Amount of time array detectors will integrate photon counts. Values are in 50 millisecond units." END_OBJECT = COLUMN OBJECT = COLUMN NAME = "INT_COUNT" COLUMN_NUMBER = 9 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 43 BYTES = 2 UNIT = "N/A" DESCRIPTION = "Number of total integrations that will be taken." END_OBJECT = COLUMN OBJECT = COLUMN NAME = "PERIOD" COLUMN_NUMBER = 10 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 45 BYTES = 2 UNIT = "N/A" DESCRIPTION = "Integrations will be started at the top of every period. Time between integrations equals period - integration time. Values are in 50 millisecond units." END_OBJECT = COLUMN OBJECT = COLUMN NAME = "DARK_FREQ" COLUMN_NUMBER = 11 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 47 BYTES = 2 UNIT = "N/A" DESCRIPTION = "Frequency of collecting dark counts. Dark counts will be collected every X integrations, where X is the column value." END_OBJECT = COLUMN OBJECT = COLUMN NAME = "TEMP_1" COLUMN_NUMBER = 12 DATA_TYPE = IEEE_REAL START_BYTE = 49 BYTES = 4 UNIT = "DEGREE" DESCRIPTION = "One of a redundant pair of VIS array temperatures" END_OBJECT = COLUMN OBJECT = COLUMN NAME = "TEMP_2" COLUMN_NUMBER = 13 DATA_TYPE = IEEE_REAL START_BYTE = 53 BYTES = 4 UNIT = "DEGREE" DESCRIPTION = "One of a redundant pair of VIS array temperatures" END_OBJECT = COLUMN OBJECT = COLUMN NAME = "NIR_GAIN" COLUMN_NUMBER = 14 DATA_TYPE = MSB_INTEGER START_BYTE = 57 BYTES = 2 UNIT = "N/A" DESCRIPTION = "Indicates whether NIR gain is set to high or low. =0 low, =1 high." END_OBJECT = COLUMN OBJECT = COLUMN NAME = "OTHER_CHANNEL_ON" COLUMN_NUMBER = 15 DATA_TYPE = MSG_UNSIGNED_INTEGER START_BYTE = 59 BYTES = 2 UNIT = "N/A" DESCRIPTION = "Indicates whether the other VIRS array is powered. =0 off, =1 on." END_OBJECT = COLUMN OBJECT = COLUMN NAME = "NIR_LAMP_ON" COLUMN_NUMBER = 16 DATA_TYPE = MSG_UNSIGNED_INTEGER START_BYTE = 61 BYTES = 2 UNIT = "FLAG" DESCRIPTION = "Indicates whether NIR Lamp is powered. =0 off, =1 on." END_OBJECT = COLUMN OBJECT = COLUMN NAME = "VIS_LAMP_ON" COLUMN_NUMBER = 17 DATA_TYPE = MSG_UNSIGNED_INTEGER START_BYTE = 63 BYTES = 2 UNIT = "FLAG" DESCRIPTION = "Indicates whether VIS Lamp is powered. =0 off, =1 on." END_OBJECT = COLUMN OBJECT = COLUMN NAME = "BINNING" COLUMN_NUMBER = 18 DATA_TYPE = MSG_UNSIGNED_INTEGER START_BYTE = 65 BYTES = 2 UNIT = "N/A" DESCRIPTION = "Number of pixels that are binned together in data." END_OBJECT = COLUMN OBJECT = COLUMN NAME = "START_PIXEL" COLUMN_NUMBER = 19 DATA_TYPE = MSG_UNSIGNED_INTEGER START_BYTE = 67 BYTES = 2 UNIT = "N/A" DESCRIPTION = "Start pixel of data. For VIS it ranges from 0-511; for NIR it ranges from 0-255." END_OBJECT = COLUMN OBJECT = COLUMN NAME = "END_PIXEL" COLUMN_NUMBER = 20 DATA_TYPE = MSG_UNSIGNED_INTEGER START_BYTE = 69 BYTES = 2 UNIT = "N/A" DESCRIPTION = "End pixel of data. For VIS it ranges from 0-511; For NIR it ranges from 0-255. Value must be greater than or equal to START_PIXEL." END_OBJECT = COLUMN /********************************************************/ /**** SPECTRAL DATA */ /********************************************************/ OBJECT = COLUMN NAME = "SPECTRUM_NUMBER" COLUMN_NUMBER = 21 DATA_TYPE = MSG_UNSIGNED_INTEGER START_BYTE = 71 BYTES = 2 DESCRIPTION = "Ordered number sequence for spectra in a given science packet. First spectra is 0, second is 1, third is 2, and so on. Note that even for observations which span multiple science packets, the numbering sequence is not continuous. This value always resets to 0 to represent the first spectra in an individual science packet.” END_OBJECT = COLUMN OBJECT = COLUMN NAME = "SPECTRUM_MET" COLUMN_NUMBER = 22 DATA_TYPE = MSG_UNSIGNED_INTEGER START_BYTE = 73 BYTES = 4 DESCRIPTION = "MET at the start of a specific spectra integration. This is a derived value using the following formula: SPECTRA_MET = modulus (MET*200 + SUBSECOND_STARTTIME + (SPECTRA_NUMBER)*(PERIOD*10))/200. NOTE that the PERIOD is in 50 ms time units and subsecond_starttime is in 5 ms units." END_OBJECT = COLUMN OBJECT = COLUMN NAME = "SPECTRUM_SUBSECONDS" COLUMN_NUMBER = 23 DATA_TYPE = MSG_UNSIGNED_INTEGER START_BYTE = 77 BYTES = 2 DESCRIPTION = "Subsecond time at the start of a specific packet integration. In 5 millisecond units SPECTRA_SUBSECOND = remainder (MET*200 + SUBSECOND_STARTTIME + (SPECTRA_NUMBER)*(PERIOD*10))/200. NOTE that the PERIOD is in 50 ms time units and subsecond_starttime is in 5 ms units." END_OBJECT = COLUMN OBJECT = COLUMN NAME = "SPECTRUM_DATA" COLUMN_NUMBER = 24 DATA_TYPE = MSB_INTEGER START_BYTE = 79 BYTES = 1024 ITEMS = 512 ITEM_BYTES = 2 DESCRIPTION = "Uncompressed VIS or NIR spectrum." END_OBJECT = COLUMN END