;----------------------------------------------------------------------------
;Hessi Filedb structure
x = {hsi_filedb, $
version:0, $ ;version number
file_id: ' ', $ ;File identification
orbit_start:0l, $ ;Orbit number at start of file
orbit_end:0l, $ ;Orbit number at end of file
start_time: anytim('16-aug-1998 17:05'), $ ;data start time
end_time: anytim('16-aug-1998 18:35'), $ ;data end time
status_flag:0, $ ;set to -1 if the file has been deleted, and the packets are contained in another file
npackets:0l, $ ;Number of packets
clock_drift_start:0.0, $;clock_drift_at_file_start
clock_drift_end:0.0, $ ;clock_drift_at_file_end
data_source:' '} ;where the data comes from, could be vc
;files, could be simulations, could be
;snipped files
;----------------------------------------------------------------------------
;Hessi qlook control structure, shared by all qlook objects
x = {hsi_qlook_control, $
class_name:' ', $ ;class name
version:0, $ ;version number
id_string: ' ', $ ;identification
vers_info:0, $ ;version number for info
vers_data:0, $ ;version number for data
obs_time_interval:[0.0d0, 0.0d0], $;if set, finds data in archive
filename:ptr_new(), $ ;filenames with the data
energy_band:[0.0, 0.0], $ ;energy band of qlook_images
all:0b, $ ;read all data in file
time_range:[0.0d0, 0.0d0], $ ;used with filename -not archive
nodata:0b, $ ;set to 1 for nodata objects
read_from_archive:0b} ;set to 1 if reading from archive
;----------------------------------------------------------------------------
;Individual Objects:
;----------------------------------------------------------------------------
;HSI_OBS_SUMM_RATE
;info structure
x = {hsi_obssummrateinfo, $
ut_ref: 0.0d0, $ ;start time
seg_index_mask: bytarr(18), $ ;detector ids
n_time_intv:0l, $ ;the number of time intervals
time_intv:0.0, $ ;duration in seconds, of a time interval
n_energy_bands:nfb, $ ;the number of energy bands
energy_edges:fltarr(10), $ ;the energy bin edges
dim1_unit:' ', $ ;'Energy edges (keV)' an identifying string
dim1_ids:strarr(9)} ;The energy bins in string format
;Data Structure
x = {hsi_obssummratedata, $
countrate:bytarr(9)} ;all detector count rate
;----------------------------------------------------------------------------
;HSI_OBS_SUMM_FLAG
nfl = 32
;Info structure
x = {hsi_obssummflaginfo, $
ut_ref:0.0d0, $ ;reference time
n_time_intv:0l, $ ;the number of time intervals, for this summary
time_intv:0.0, $ ;the nominal duration, in seconds, of a single time interval
nflags:nfl, $ ;the number of data flags
flag_ids:['SAA_FLAG', $ ;1 for SAA, from orbit data
'ECLIPSE_FLAG', $ ;1 for Eclipse, 0 for sunlight, from orbit data
'FLARE_FLAG', $ ;1 for flare
'IDPU_CONTROL', $ ;IDPU version control number
'CRYOCOOLER_POWER', $ ;average for 4 sec interval
'COLD_PLATE_TEMP', $ ;average for 4 sec interval
'IDPU_TEMP', $ ;average for 4 sec interval
'COLD_PLATE_SUPPLY', $ ;percent on for 4 sec interval
'HV28_SUPPLY', $ ;percent on for 4 sec interval
'ACTUATOR_SUPPLY', $ ;percent on for 4 sec interval
'FAST_HOUSEKEEPING', $ ;percent on for 4 sec interval
'SC_TRANSMITTER', $ ;(may affect detector 8), percent on for 4 sec interval
'SC_IN_SUNLIGHT', $ ;percent on for 4 sec interval, from packets
'SSR_STATE', $ ;0-8 SSR fill level, average for 4 sec interval
'ATTENUATOR_STATE', $ ;0,1,2,3, average for 4 sec interval
'FRONT_RATIO', $ ;Front counts/(front+rear), flare diagnostic
'NON_SOLAR_EVENT', $ ;set to 1 for a non-solar event
'GAP_FLAG', $ ;1 if no count rate data
'DECIMATION_ENERGY', $ ;energy channel upper limit for decimation
'DECIMATION_WEIGHT', $ ;decimation multiplier true_rate=weight*obs_rate
'MAX_DET_VS_TOT', $ ;fraction of counts in 1 detector, to rule out 1 detector flares
'NMZ_FLAG', $ ;Set to 1 if in North High-latitude Magnetic Zone
'SMZ_FLAG', $ ;Set to 1 if in South High-latitude Magnetic Zone
'AAZ_FLAG', $ ;Set to 1 if in the Atmospheric Absorption Zone
'PARTICLE_FLAG', $ ;Set to 1 for a Particle Event
'REAR_DEC_CHAN/128',$ ;Channel below which rear segment counts are decimated divided by 128.
'REAR_DEC_WEIGHT', $ ;rear decimation multiplier true_rate=weight*obs_rate
'PARTSTORM', $ ;particle storm
'HLAT', $ ;high latitude
'ECLIPSE_EXT', $ ;another eclipse flag, can be different from 'ECLIPSE_FLAG', which is obtained from the GDS.
'FRONTS_OFF', $ ;Front detector events are turned off
'BAD_PACKETS'] ;Bad packets present in data
;Data structure
nfl = 32
x = {hsi_obssummflagdata, $
flags:bytarr(nfl)} ;the actual data flags for each interval
;----------------------------------------------------------------------------
;HSI_MOD_VARIANCE
;Info Structure
x = {hsi_modvarianceinfo, $
ut_ref: 0.0d0, $ ;start time
n_time_intv:0l, $ ;the number of time intervals
time_intv:0.0, $ ;duration in seconds, of a time interval
variance_nbin:0, $ ;the number of time bins per spin period
energy_edges:fltarr(2), $ ;the energy bin edges
dim1_unit:' ', $ ;'Collimator' an identifying string
dim1_ids:strarr(2)} ;the collimator numbers in string format
;Data Structure
x = {hsi_modvariancedata, $
mod_variance:bytarr(2)} ;modulation variance for 2 detectors
;----------------------------------------------------------------------------
;HSI_EPHEMERIS
;Info structure
x = {hsi_ephemerisinfo, $
n_time_intv:0l, $ ;the number of ephemeris data points
time_intv:0.0, $ ;the time interval between eph recordings
ut_ref:0.0d0, $ ;reference time for the ephemeris data
dim1_unit:' ', $ ;S/C position an identifying string
dim1_ids:strarr(6)} ;['X', 'Y', 'Z', 'Vx', 'Vy', 'Vz']
;data structure
x = {hsi_ephemerisdata, $
xyz_eci:fltarr(6)}
;----------------------------------------------------------------------------
;HSI_QLOOK_POINTING
;info structure
x = {hsi_qlook_pointing_info, $
ut_ref: 0.0d0, $ ;start time
n_time_intv:0l, $ ;the number of time intervals
time_intv:0.0, $ ;duration in seconds, of a time interval
n_sample:0, $ ;number of smaller bins per time_intv
A1:0.0, $ ;scaling factor real_data = a1*byte_data+a0
A0:0.0, $ ;See above
dim1_unit:' ', $ ;'Image Axis' an identifying string
dim1_ids:strarr(2)} ;'X', 'Y'
;Data
x = {hsi_qlook_pointing_data, $
pointing:bytarr(2), $
quality:0b}
;----------------------------------------------------------------------------
;HSI_QLOOK_ROLL_PERIOD
;Info
x = {hsi_qlook_roll_period_info, $
ut_ref: 0.0d0, $ ;start time
n_time_intv:0l, $ ;the number of time intervals
time_intv:0.0, $ ;duration in seconds, of a time interval
n_sample:0, $ ;number of smaller bins per time_intv
A1:0.0, $ ;scaling factor real_data = a1*byte_data+a0
A0:0.0, $ ;See above
dim1_unit:' ', $ ;'Image Axis' an identifying string
dim1_ids:' '} ;'X', 'Y'
;Data
x = {hsi_qlook_roll_period_data, $
roll_period:0.0}
;----------------------------------------------------------------------------
;HSI_QLOOK_ROLL_ANGLE
;Info
x = {hsi_qlook_roll_angle_info, $
ut_ref: 0.0d0, $ ;start time
n_time_intv:0l, $ ;the number of time intervals
time_intv:0.0, $ ;duration in seconds, of a time interval
n_sample:0, $ ;number of smaller bins per time_intv
A1:0.0, $ ;scaling factor real_data = a1*byte_data+a0
A0:0.0, $ ;See above
dim1_unit:' ', $ ;'Image Axis' an identifying string
dim1_ids:' '} ;'X', 'Y'
;Data
x = {hsi_qlook_roll_angle_data, $
roll_angle:0b}
;----------------------------------------------------------------------------
;HSI_QLOOK_RATE_PER_DET
;Info
x = {hsi_qlookrateperdetinfo, $
ut_ref: 0.0d0, $ ;start time
n_time_intv:0l, $ ;the number of time intervals
time_intv:0.0, $ ;duration in seconds, of a time interval
dim1_unit:' ', $ ;an identifying string
dim1_ids:strarr(18)} ;the segment ids
;data
x = {hsi_qlookrateperdetdata, $
countrate:bytarr(18)} ;rates, all detectors
;----------------------------------------------------------------------------
;HSI_QLOOK_MONITOR_RATE
;Info
x = {hsi_qlook_monitor_rate_info, $
ut_ref: 0.0d0, $ ;start time
n_time_intv:0l, $ ;the number of time intervals
time_intv:0.0, $ ;duration in seconds, of a time interval
dim1_unit:' ', $ ;an identifying string
dim1_ids:strarr(6)} ;6 different kinds of data
;Data
x = {hsi_qlook_monitor_rate_data, $
particle_rate:bytarr(2), $ ;hi, lo energy particle count
preamp_reset:bytarr(18), $ ;Preamp reset count, each segment
shaper_valid:bytarr(18), $ ;4musec Shaper Valid Event Count, each segment
shaper_over_uld:bytarr(18), $ ;4musec Shaper over ULD Event Count, each segment
delay_line_valid:bytarr(18), $ ;Delay Line valid event count, each segment
live_time:bytarr(18)} ;fraction of live time
;----------------------------------------------------------------------------
;HSI_QLOOK_PACKET_RATE
;Info
x = {hsi_qlook_packet_rate_info, $
ut_ref: 0.0d0, $ ;start time
n_time_intv:0l, $ ;the number of time intervals
time_intv:0.0, $ ;duration in seconds, of a time interval
app_id:intarr(47), $ ;app_ids
dim1_unit:' ', $ ;an identifying string
dim1_ids:strarr(47)} ;one for each app_id
;Data
x = {hsi_qlook_packet_rate_data, $
packet_rate:fltarr(47)}
;----------------------------------------------------------------------------
;HSI_FLARE_LIST
;Info
nfl = 32 ;number of flare flags
x = {hsi_flarelistinfo, $
n_flares:0l, $ ;the number of flares in the list
list_start_time:' ', $ ;start time
list_end_time:' ', $ ;end time
nflags:nfl, $ ;the number of flare flags
flag_ids:['SAA_AT_START', $ ; 1 if saa_at_start
'SAA_AT_END', $ ; 1 if saa_at_end
'SAA_DURING_FLARE', $ ;1 if saa_during_flare*
'ECLIPSE_AT_START', $ ;1 if flare starts at end of eclipse
'ECLIPSE_AT_END', $;1 if flare ends at start of eclipse
'ECLIPSE_DURING_FLARE', $ ;1 if eclipse during flare*
'FLARE_AT_SOF', $;1 for flare at start of file*
'FLARE_AT_EOF', $;1 for flare at end of file*
'NON_SOLAR', $ ;1 for non-solar event
'FAST_RATE_MODE', $;1 if in fast_rate_mode*
'DECIMATION_STATE', $ ;has to be changed to weight & energy
'ATT_STATE_AT_PEAK', $ ;0,1,2,2
'DATA_GAP_AT_START', $
'DATA_GAP_AT_END', $
'DATA_GAP_DURING_FLARE', $
'PARTICLE_EVENT', $ ;set in the presence of particles > 3 per sec
'POSITION_QUALITY', $ ;set to 1 if position is ok
'ATTEN_0', 'ATTEN_1', 'ATTEN_2','ATTEN_3', $; set to 1 if that attenuator state is present
'MAGNETIC_REGION', $;set to 1 if at high magnetic latitude
'DATA_QUALITY', $ ;totals all the 1's for SAA, Eclipse, Data_gap, particles and decimation
'IMAGE_STATUS', $ ;set to 1 if the Qlook images for this flare have been done.
'SPECTRUM_STATUS'] ;set to 1 if the Qlook spectra for this flare have been done.
'DATA_QUALITY'], $ ;totals all the 1's
concat_flag:0} ;Concatenated flare lists, set to 1
;Data
nfl = 32
x = {hsi_flarelistdata, $
id_number:0l, $ ;An ID number,
start_time:0.0d0, $ ;flare start time
end_time:0.0d0, $ ;flare end time
peak_time:0.0d0, $ ;flare peak time
bck_time:[0.0d0, 0.0d0], $ ;background accumulation time
image_time:[0.0d0, 0.0d0], $;time range for position & qlook images
energy_range_found: [0.0, 0.0], $ ;the energy range used
energy_hi:[0.0, 0.0], $ ;hi energy at which flare is observed
peak_countrate:0.0, $ ;peak count rate, counts/segment/second, corrected for attenuator state
bck_countrate:0.0, $ ;background count rate, counts/segment/sec
total_counts:0.0, $ ;total # of counts
peak_correction:0.0, $ ;Correction factor for peak counts, divide by this to get true observed counts
total_correction:0.0, $ ;Correction factor for total counts, divide by this to get true observed counts
position:[0.0, 0.0], $ ;flare position in arcsec from sun center (NOT YET)
filename:' ', $ ;file(s) which have the data for this flare, separated by commas
flags:bytarr(nfl), $ ;flare flags
seg_index_mask:detids, $ ;detector index mask
extra_bck:fltarr(3, 3), $ ;peak, background, and sigma values for rate, mod_var and front_ratio
sflag1:0b, $ ;0 for non-solar, 1 for solar
active_region:0, $ ;Active region number, if available (NOT YET)
goes_class} ;GOES Class, if observed
;HSI_QLOOK_SUMMARY_PAGE
;Info
x = {hsi_qlook_summary_page_info, $
n_pages:0, $ ;number of pages
start_time: 0.0d0, $ ;start time
end_time:0.0d0, $ ;end time
concat_flag:0b} ;1 if concatenated
;Data is a string array
Comments to: jimm@ssl.berkeley.edu
16-sep-2004, jmm