HEND Spectra

The HEND data are time series records taken over the course of a day. Data files are labeled with the date. Individual records are composed of HEND records and the associated timing and spatial information. HEND records (frames) can be one of three types: nominal (spectra), profile (time series), or status (commands). The nominal frame consists of six spectra, with 16 channels, two bytes per channel. The profile frame consists of the six spectra plus two time profiles. The inner scintillator profile is thirty seconds in duration, with a two-byte count for each second. The outer scintillator profile is also thirty seconds in duration, but has a time resolution of 0.25 seconds, with a two-byte count for each interval. The status frame contains the last 18 HEND commands. The timing and spatial data provided with the HEND data includes spacecraft clock values and spacecraft geometry data. The sc_ev_time, utc time and spatial fields are all recorded at the center of the collection interval.

Column Descriptions
Column Name Type Bytes Units
BAD_CODE MSB_UNSIGNED_INTEGER 4
If non-zero, the data has been flagged bad. Definitions in bad_code.txt.
COUNTER MSB_UNSIGNED_INTEGER 1
The packet counter from the hend packet, values from 0 to 15.
CHECKSUM MSB_UNSIGNED_INTEGER 2
An XOR checksum of the packet from title through temps, put on the data by the HEND instrument.
ANTICOINCIDENCE_CODE MSB_UNSIGNED_INTEGER 1
Bit 1 represents the anticoincidence veto setting (on or off) for the signal from the outer scintillator versus neutrons from the inner scintillator. Bit 2 represents the anticoincidence veto setting (on or off) for the signal from the outer scintillator versus the background from the inner scintillator. Bit 3 represents the anticoincidence veto setting (on or off) for the signal from the inner scintillator versus the background from the outer scintillator.
FRAME_NUMBER MSB_UNSIGNED_INTEGER 2
HEND data frame number, aka packet counter.
FRAME_TYPE MSB_UNSIGNED_INTEGER 1
Type of frame, (status=0, spectra=2, profile=3).
IN_CONTROL MSB_UNSIGNED_INTEGER 2
The state of the In control discretes between the CEB and HEND.
OUT_STATUS MSB_UNSIGNED_INTEGER 2
The state of the Out status discretes between the CEB and the HEND.
T1_T4_TEMP MSB_UNSIGNED_INTEGER 2
Reading of temperature sensor 1 if even frame, temperature sensor 4 if odd.
T2_T5_TEMP MSB_UNSIGNED_INTEGER 2
Reading of temperature sensor 2 if even frame, temperature sensor 5 if odd.
T3_T6_TEMP MSB_UNSIGNED_INTEGER 2
Reading of temperature sensor 3 if even frame, temperature sensor 6 if odd.
HV1_LVL MSB_UNSIGNED_INTEGER 1
High Voltage #1 (LD) level. 0 = off, 1 = minimal level, 2 = optimal level, 3 = maximal level.
HV2_LVL MSB_UNSIGNED_INTEGER 1
High Voltage #2 (LD) level. 0 = off, 1 = minimal level, 2 = optimal level, 3 = maximal level.
HV3_LVL MSB_UNSIGNED_INTEGER 1
High Voltage #3 (SD) level. 0 = off, 1 = minimal level, 2 = optimal level, 3 = maximal level.
HV4_LVL MSB_UNSIGNED_INTEGER 1
High Voltage #4 (Inner) level. 0 = off, 1 = minimal level, 2 = optimal level, 3 = maximal level.
HV5_LVL MSB_UNSIGNED_INTEGER 1
High Voltage #5 (Outer) level. 0 = off, 1 = minimal level, 2 = optimal level, 3 = maximal level.
TRIG_LOGIC BOOLEAN 1
Triggering logic, (0=AND, 1=OR).
TRIGGER_CNT MSB_UNSIGNED_INTEGER 2
Count of triggers seen.
TRIGGER_LVL_C1 MSB_UNSIGNED_INTEGER 1
Criteria code for profile 1 (inner scintillator). Trigger level in units of counts is 8 for C1 = 0, 16 for C1 = 2, ... 64 for C1=7.
TRIGGER_LVL_C2 MSB_UNSIGNED_INTEGER 1
Criteria code for profile 2 (outer scintillator). Trigger level in units of counts is 32 for C2 = 0, 64 for C2 = 2, ... 256 for C2=7.
TRIGGER_PERM_C1 BOOLEAN 1
Trigger permission on/off for profile1.
TRIGGER_PERM_C2 BOOLEAN 1
Trigger permission on/off for profile2.
T1 MSB_UNSIGNED_INTEGER 4
Time of previous SYNC signal/start of accumulation.
T2 MSB_UNSIGNED_INTEGER 4
Time of last trigger as a 16 bit value.
K1 MSB_UNSIGNED_INTEGER 1
Bitmask for total number of permitted triggering, 0=arbitrary, N=N successive triggers are permitted.
TITLE MSB_INTEGER 4
from the title field in the HEND packet.
LD_DISCRIMINATOR MSB_UNSIGNED_INTEGER 1
Large detector discriminator level. 0 = off, 1 = minimal level, 2 = optimal level, 3 = maximal level.
MD_DISCRIMINATOR MSB_UNSIGNED_INTEGER 1
Medium detector discriminator level. 0 = off, 1 = minimal level, 2 = optimal level, 3 = maximal level.
SD_DISCRIMINATOR MSB_UNSIGNED_INTEGER 1
Small detector discriminator level. 0 = off, 1 = minimal level, 2 = optimal level, 3 = maximal level.
IN_DISCRIMINATOR MSB_UNSIGNED_INTEGER 1
Inner discriminator level. 0 = off, 1 = minimal level, 2 = optimal level, 3 = maximal level.
OUT_DISCRIMINATOR MSB_UNSIGNED_INTEGER 1
Outer discriminator level. 0 = off, 1 = minimal level, 2 = optimal level, 3 = maximal level.
LD_SPECTRUM MSB_UNSIGNED_INTEGER 32
Large detector spectrum.
MD_SPECTRUM MSB_UNSIGNED_INTEGER 32
Medium detector spectrum.
SD_SPECTRUM MSB_UNSIGNED_INTEGER 32
Small detector spectrum.
IN_SPECTRUM MSB_UNSIGNED_INTEGER 32
Inner scintilator background spectrum.
OUT_SPECTRUM MSB_UNSIGNED_INTEGER 32
Outer scintilator background spectrum.
NEUTRON_SPECTRUM MSB_UNSIGNED_INTEGER 32
Neutron spectrum from the inner scintillator.
IN_PROFILE MSB_UNSIGNED_INTEGER 60
Inner scintilator profile data. Time resolution is 1 second.
OUT_PROFILE MSB_UNSIGNED_INTEGER 240
Outer scintilator profile data. Time resolution is 0.25 seconds.
CMD1 MSB_UNSIGNED_INTEGER 6
Data for the most recent command received. First byte is the code, second byte is the parameter, 3rd byte is the checksum, final three bytes are the receiving time.
CMD2 MSB_UNSIGNED_INTEGER 6
Data for the 2nd most recent command received. First byte is the code, second byte is the parameter, 3rd byte is the checksum, final three bytes are the receiving time.
CMD3 MSB_UNSIGNED_INTEGER 6
Data for the 3rd recent command received. First byte is the code, second byte is the parameter, 3rd byte is the checksum, final three bytes are the receiving time.
CMD4 MSB_UNSIGNED_INTEGER 6
Data for the 4th recent command received. First byte is the code, second byte is the parameter, 3rd byte is the checksum, final three bytes are the receiving time.
CMD5 MSB_UNSIGNED_INTEGER 6
Data for the 5th recent command received. First byte is the code, second byte is the parameter, 3rd byte is the checksum, final three bytes are the receiving time.
CMD6 MSB_UNSIGNED_INTEGER 6
Data for the 6th recent command received. First byte is the code, second byte is the parameter, 3rd byte is the checksum, final three bytes are the receiving time.
SC_RECV_TIME MSB_UNSIGNED_INTEGER 8
The time this packet was received by the spacecraft, in ticks (256 per second).
SC_EV_TIME MSB_UNSIGNED_INTEGER 8
Spacecraft time at the middle of the pixel, in ticks.
CEB_TIME MSB_UNSIGNED_INTEGER 8 MILLISECOND
Clock count from the GRS Common Electronics Box at the beginning of the pixel.
UTC CHARACTER 23
SC_EV_TIME converted to UTC, stored as yyyy-mm-ddThh:mm:ss.sss.
GRS_PIXEL_NUMBER MSB_UNSIGNED_INTEGER 4
Sequential counter of accumulation intervals, starts with one as grs orbit begins. Special case on reboot when the the CEB is in orbit 0, pixel 0.
GRS_ORBIT_NUMBER MSB_UNSIGNED_INTEGER 4
Sequential counter of orbits from GRS CEB boot.
ODY_ORBIT_NUMBER MSB_UNSIGNED_INTEGER 4
Orbit number common to all instruments aboard Odyssey. This orbit number is incremented by one as the spacecraft passes through the orbital descending node.
LATITUDE IEEE_REAL 8
Sub spacecraft latitude in Mars fixed coordinates at the middle of the pixel.
LONGITUDE IEEE_REAL 8
Sub spacecraft longitude in Mars fixed coordinates at the middle of the pixel.
SCPOS_INERT IEEE_REAL 24 KILOMETER
The geometric position (x,y,z) of the spacecraft with respect to Mars in the 'MARSIAU' inertial frame at the input epoch 'et' at the middle of the pixel.
SCVEL_INERT IEEE_REAL 24 "KILOMETER/SECOND"
The geometric velocity (x,y,z) of the spacecraft with respect to Mars in the 'MARSIAU' inertial frame at the input epoch 'et' at the middle of the pixel.
MARSPOS_INSTR IEEE_REAL 24 KILOMETER
The (x,y,z) position of the sub-spacecraft point as seen from the spacecraft in the instrument frame at the middle of the pixel. If no spacecraft orientation data was available from the loaded CK files for the request time, then all elements of are set to zero.
MARSVEL_INSTR IEEE_REAL 24 "KILOMETER/SECOND"
Contains the inertial spacecraft velocity direction (x,y,z) rotated to the instrument frame at the middle of the pixel. If no spacecraft orientation data was available for the request time, then all elements are set to zero.
SCPOS_MARS IEEE_REAL 24 KILOMETER
Spacecraft position (x,y,z) in Mars fixed coordinates at the middle of the pixel.
INSTR_BORESIGHT_MARS IEEE_REAL 24 KILOMETER
Sub instrument boresight (x,y,z) in Mars fixed coordinates at the middle of the pixel.
SUB_SCPOS_MARS IEEE_REAL 24 KILOMETER
Sub spacecraft vector (x,y,z) in Mars fixed coordinates at the middle of the pixel.
SCALT IEEE_REAL 8 KILOMETER
Areocentric altitude of the sub-spacecraft point in Mars-fixed rotating frame at the middle of the pixel.
DELTA_ANGLE IEEE_REAL 8 DEGREE
Difference between instrument +y direction and true north at the middle of the pixel. Currently not computed for NEUTRON_SPECTRA and HEND_SPECTRA.
MARS_SOL IEEE_REAL 8
Longitude of the Sun at 0 hours UT on the date of the record. Taken from the Association of Lunar and Planetary Observers 'Ephemeris for Physical Observation of Mars'.
DAY_INDEX MSB_UNSIGNED_INTEGER 2
Day of Martian year.
LOCAL_HOUR MSB_UNSIGNED_INTEGER 1
Local Sun hour at the sub-spacecraft point.
LOCAL_MINUTE MSB_UNSIGNED_INTEGER 1
Local Sun minute at the sub-spacecraft point.
POINTING BOOLEAN 1
True if pointing data was available.
INTERSECTING BOOLEAN 1
True if the pointing vector intersects Mars.