RHESSI Flare List

The RHESSI flare list is created during quicklook processing (and is often re-processed). It is distributed with the software and the flare list files can be found in the directory $ssw/hessi/dbase. Both FITS (hessi_flare_list_yyyymm.fits) and text files are available. A text file for the entire mission can be found here. The full list includes some events which are not necessarily of solar origin.

The flare list is obtained by comparing the observing summary count rate in the 6 to 12 keV energy band to a threshold. The count rate threshold is determined from the background level; which is obtained using a 60 second running average. For an interval to be considered as a flare candidate, the count rate must be greater than 3*sigma above the background level. Variations in the count rate due to changes in attenuator state or decimation state are taken into account by use of the "corrected" count rate method, which empirically determines the corrections.

A flare candidate is flagged as a possible solar flare if the ratio of the count rate in the front detectors to total count rate is 3 sigma above its own background level (also determined using a 60 second running average). An exception is made if there is an SAA crossing or data gap; for those cases the front - total ratio must be greater than 60% in the interval for that interval to be considered to be a possible flare.

Even with the front - total ratio test, particle precipitation events can be confused with flares. The candidate is only confirmed as a solar flare if a valid position is found in the 6 to 12 keV energy band.

The flare position is found using the program HSI_LOCATE_FLARE on different time intervals for the flare, in the energy band from 6 to 12 keV. The process uses 128X128 images for collimators 5, 6, 7, 8 and 9 as follows:

1. Using 16 arcsecond pixels, make a 128x128 backprojection map using
   subcollimator 9 only. 
2. Excluding any pixel within k*FWHM of the rotation center, where k = 1
   FWHM is the FWHM of the subcollimator, determine the location of the 
   brightest pixel in the remaining map.  
3. Repeat steps 1 and 2 for subcollimators 8,7,6 and 5
4. Determine XY0 = [MEDIAN(x), MEDIAN(y)], where x,y are each 5-element
   vectors containing the map peak locations.  This will give a robust
   centroid, provided at least 3 of the map peaks are correct.
5. Select those map peaks that are within a radial distance, R, from XY0
   where R is the FWHM of subcollimator 9.
6. If there are fewer than 3 maps satisfing this condition, the algorithm
   fails.
7. Otherwise, determine the average, X,Y of the selected map peaks. 
   This is the result.

This process is done for different intervals, starting with a two minute interval with the flare peak time at the midpoint, until a valid result is obtained, or there ar no more intervals. Care is taken to avoid attenuator state changes, decimation state changes and bad aspect solutions (using the program HSI_OK_INTV). If the roll solution is not reliable, or is extrapolated, then no position is returned.

Once a position is found, then the process attempts to find a position in higher energy bands, the highest energy band found to have a valid position is recorded in the flare list.

Accessing the Flare List

The flare list is an object of type "Hsi_qlook" . This is a subclass of the "Framework" object used for all HESSI objects. Thus the Flare List object has the same data access methods as the other objects, Get and Getdata.


IDL> flare_list_obj = obj_new('hsi_flare_list')

IDL> data = flare_list_obj -> getdata(filename = filename)

Or

IDL> data = flare_list_obj -> getdata(obs_time_interval = obs_time_interval)

Or

 
IDL> data = flare_list_obj -> getdata(filename=filename, time_range=time_range)

As with the Obs Summary, when passing in a filename, the full path for the file is necessary. When passing in obs_time_interval, the data is assumed to be in a directory that is pointed to by the environmental variable $HSI_FLARE_LIST_ARCHIVE. This can be changed by setting the data_dir keyword to the appropriate directory.

The Getdata method returns an array of data structures, one for each flare in the list. If the data is not found, the object is returned with all of the pointers set to -1.

If neither a filename or obs_time_interval is passed in, the getdata method will return the data in the object. (I.e., the same as Get(/data)). It is important to remember that the getdata method must be called with a filename or obs_time_interval input to start.


Contents of the Flare List:

Info: To get this structure for a given object, use the get method:

IDL> info = flare_list_obj -> get(/info)

The structure tags are:

Data: To get this structure for a given object, you may use the getdata method as shown above. The tags are:

Flare List Flags

The Get method, called with the appropriate flag_name as a keyword, returns a bytarr with the values for that flag, one for each flare. E.g.,

IDL> XXX = flare_list_obj -> Get(flag_name = 'SAA_DURING_FLARE')
returns an array of flags, one for each flare; in this case the flag is set to 1 if there is an SAA crossing during the flare. The different flags are defined as follows:
'SAA_AT_START', set to 1 if the flare starts at an SAA boundary.
'SAA_AT_END', set to 1 if the flare ends at an SAA boundary.
'SAA_DURING_FLARE', set to 1 if there is an SAA crossing during the flare.
'ECLIPSE_AT_START', set to 1 if the flare starts at an eclipse boundary. 
'ECLIPSE_AT_END', set to 1 if the flare ends at an eclipse boundary. 
'ECLIPSE_DURING_FLARE', set to 1 if there is an eclipse during the flare.
'FLARE_AT_SOF', set to 1 if the flare is at the start of a level 0 data file.
'FLARE_AT_EOF', set to 1 if the flare is at the end of a level 0 data file.
'FRONT_DECIMATION', set to 1 if there is decimation in the front detectors.
'ATT_STATE_AT_PEAK', the attenuator state at the flare peak.
'DATA_GAP_AT_START', set to 1 if the flare starts at a data gap.
'DATA_GAP_AT_END', set to 1 if the flare ends at a data gap.
'DATA_GAP_DURING_FLARE', set to 1 if there is a data gap during the flare.
'PARTICLE_EVENT', set to 1 if there is a particle_event during the
                  flare. The particle threshold for this flag is 3
                  particles per second in the LO channel particle
                  detector. For flares with particles, the high energy
                  calculation is unreliable.
'DATA_QUALITY', Is a sum of the flags for SAA, eclipse, data gaps,
                particle events, front and rear decimation. The higher
                the number, the worse the data.
'POSITION_QUALITY', set to 1 for an ok flare position.
'ATTEN_0', set to 1 if there is a time during the flare with attenuator state=0.
'ATTEN_1', set to 1 if there is a time during the flare with attenuator state=1.
'ATTEN_2', set to 1 if there is a time during the flare with attenuator state=2.
'ATTEN_3', set to 1 if there is a time during the flare with attenuator state=3.
'REAR_DECIMATION', set to 1 if there is rear segment decimation during the flare.
'MAGNETIC_REGION', set to 1 if there is a high latitude region crossing during the flare.
'IMAGE_STATUS', set to 1 if this flare has been processed by the qlook_image program.
'SPECTRUM_STATUS', set to 1 if this flare has been processed by the qlook_spectra program.
'SOLAR', set to 1 if this flare is confirmed to be solar, i.e., it has a valid position
'SOLAR_UNCONFIRMED', set to 1 if this flare is not confirmed to be solar, i.e., it has no valid position, but was largely seen in the front detectors.


25-Jun-2010, jmm