RHESSI Quicklook Data products:

Observing Summary and Instrument Log

The Observing Summary is obtained directly from the telemetry
packets. The photons are time-binned and the count rate is compressed
to bytes (0.03 accuracy up to 1.0e6 counts/sec). Aspect solution,
pointing, roll angle and roll period are given also. The nominal
interval time for the count rates is the spin period of the
spacecraft, 4 seconds, ephemeris info is given every 20 seconds ,
aspect info is given every second, roll period is given every 20
seconds.

The instrument log contains count rates summed over all energies
for each detector, monitor rates, and packet rates, with 20 second
time resolution.

list_start_time = the list start time, in a string, ccsds format e.g., 1998-08-16T17:05:00.000Z

list_end_time = the list end time, in a string, ccsds format e.g., 1998-08-16T19:05:00.000Z

energy_range_found = the energy range used to find the flares, in keV,
the default is to use 12 to 25 keV.

nflags = the number of data flags, to a max of 32

flag_ids = string identifiers for each data flag, e.g.,

['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
'FRONT_DECIMATION', $ ;set to 1 if decimation is present
'REAR_DECIMATION', $ ;set to 1 if decimation is present
'ATT_STATE_AT_PEAK', $ ;0,1,3
'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.

Obs_time_interval is a two element array if time, in any ANYTIM
readable format, for example:

IDL> t = ['4-jul-2000 0:00','4-jul-2000 1:00']

Then

IDL> obj = obj_new('hsi_obs_summ_rate', obs_time_interval = t)

Or

IDL> obj = hsi_obs_summ_rate(obs_time_interval = t)

Then

IDL> data = obj -> getdata()

Or just

IDL> obj = obj_new('hsi_obs_summ_rate')

IDL> data = obj -> getdata(obs_time_interval = t)

will return the countrate data for
the time range from 0:00 to 1:00 on 4-jul-2000. If the data is not in
the archive, then -1 is returned.

We expect that most data access will be via obs_time_interval, but
you can also access the data using the filename
parameter. This should almost never be needed

Non-Archived Data: filename

If the filename is set, then the data will be read in from that
file. Note that the filename parameter is not looked at if
obs_time_interval is set, if both filename and obs_time_interval are
set, then the data will be read from the archive. When passing in a
filename, the full path for the file is necessary.

The control parameters all , and
time_range are only used if filename is
set.
If all is set, then all the data from the given
file is input. The data time range can be specified by the parameter
time_range , which is a 2-element vector of
times in ANYTIM format.

IDL> obj = hsi_obs_summ_rate()

IDL> obj -> set, filename = 'hsi_000.fits'

IDL> t = ['4-jul-2000 0:00','4-jul-2000 1:00']

IDL> data = obj -> getdata(time_range = t)

Time Arrays

Data times are not saved with the observing summary, but
they can be obtained using Get, e.g.,

IDL> data_times = obs_summ_obj -> get(/time_array)

returns the time array for the given observing summary. This is to
be interpreted as the interval start time for each interval, for the
interval center time, which is what you will want to use if you are
interpolating count rates, for example, or for the ephemeris data, set
the /center keyword:

IDL> data_times = obs_summ_obj -> get(/time_array, /center)

Hsi_obs_summ_flag object

Unlike the other Obs summary objects, the Hsi_obs_summ_flag object
contains more than one kind of data. To access a given data flag, use
the flag_name keyword and the Get method:

IDL> obs_summ_flag_obj = hsi_obs_summ_flag(obs_time_interval = '...')

IDL> flag_data = obs_summ_flag_obj -> getdata()

IDL> saa_flag = obs_summ_flag_obj -> get(flag_name = 'saa_flag')

The different data flags are listed above.

The flag_name keyword also works for the
hsi_flare_list object; if
you want to see what flares in the object have the SAA in the flare
interval, do:

IDL> flare_list_obj = hsi_flare_list(obs_time_interval = '...')

IDL> flag_data = flare_list_obj -> getdata()

IDL> saa_flag = flare_list_obj -> get(flag_name = 'saa')

The Plot Method

Each object (except for the flare list object) has a plot method
associated with it. After the getdata is called, just do

IDL> obs_summ_obj -> plot

For the hsi_obs_summ_flag object, use the flag_name keyword for the
individual flags , e.g., to plot the attenuator state,