Reprocessed RHESSI Flare List, 2022-09-15 The reprocessed RHESSI Flare List (version 7) contains 104036 entries, 102021 are confirmed as solar. Here we'll summarize the contents of the entries, discuss the data process, and point out the differences from the previous version. Contents: INFO STRUCTURE (use flare_list_obj -> get(/info)): ** Structure HSI_FLARELISTINFO, 7 tags, length=568, data length=554: N_FLARES LONG 100687 ;the number of flares in the list LIST_START_TIME STRING '2002-02-12T02:15:24.000' ;start time LIST_END_TIME STRING '2018-03-30T05:23:20.000' ;end time NFLAGS INT 29 ;the number of flare flags FLAG_IDS STRING Array[32] ;string identifiers for each flare flag SIMULATED_DATA INT 0 ;simulated data, prelaunch, set to 1 CONCAT_FLAG INT 0 ;Concatenated flare lists, unused The info.flag_ids are as follows: SAA_AT_START ;set to 1 if the flare starts at SAA boundary SAA_AT_END ;set to 1 if the flare ends at SAA boundary SAA_DURING_FLARE ;set to 1 if SAA interrupts flare ECLIPSE_AT_START ;set to 1 if the flare starts at eclipse boundary ECLIPSE_AT_END ;set to 1 if the flare ends at eclipse boundary ECLIPSE_DURING_FLARE ;set to 1 if eclipse interrupts flare NON_SOLAR ;set to 1 if determined to be non-solar FRONT_DECIMATION ;set to 1 if front detector decimation is present ATT_STATE_AT_PEAK ;Attenuator state at peak of flare, (0 = no attenuation, 1 = thin attenuator, 3 = thin and thick attenuaotrs, 4 = undetermined) DATA_GAP_AT_START ;set to 1 if the flare starts at a data gap boundary DATA_GAP_AT_END ;set to 1 if the flare ends at a data gap boundary DATA_GAP_DURING_FLARE ;set to 1 for a data gap during a flare PARTICLE_EVENT ;set to 1 if there is a particle event during the flare DATA_QUALITY ;A total for the SAA, Eclipse, data gap and decimation flags POSITION_QUALITY ;position quality, set to 1 for ok flare position ATTEN_0 ;set to 1 if there are no attenuators at some point during flare ATTEN_1 ;set to 1 if the thin attenuator is in at some point during flare ATTEN_2 ;Unused ATTEN_3 ;set to 1 if both attenuators are in during flare REAR_DECIMATION ;set to 1 if rear detector decimation is present during flare MAGNETIC_REGION ;set to 1 if the spacecraft is in the high-latitude magnetic regions during flare IMAGE_STATUS ;for bookkeeping SPECTRUM_STATUS ;unused, for bookkeeping SOLAR_UNCONFIRMED ;set to 1 if the flare is mostly in the front detectors, shows modulation, but did not return a vaild solar position SOLAR ;Flare! NEAR_SPIN_AXIS ;set to 1 if the calculated flare position is close to the maging axis NOMATCH_WITH_FSIMG ;set to 1 if the flare position, calculated by comparing images from different detectors, is not close to position obtained from a multi-detector image USED_AIA_POSITION ;post 2016 anneal, set to 1 if AIA position of a UV flare is used ASPECT_GAP ;set to 1 if there is a gap in aspect data during the flare Data Structure (use flare_list_obj -> get(/data) or flare_list_obj -> getdata()): ** Structure HSI_FLARELISTDATA, 32 tags, length=312, data length=293: ID_NUMBER LONG 2021229 ;An ID number, date plus a 3 digit number, ymmddnnn or yymmddnnn START_TIME DOUBLE 7.2948332e+08 ;flare start (seconds from 1-jan-1979) END_TIME DOUBLE 7.2948395e+08 ;flare end (seconds from 1-jan-1979) PEAK_TIME DOUBLE 7.2948356e+08 ;flare peak (seconds from 1-jan-1979) BCK_TIME DOUBLE Array[2] ;background accumulation time IMAGE_TIME DOUBLE Array[2] ;time range for position & qlook images ENERGY_RANGE_FOUND FLOAT Array[2] ;the energy range used ENERGY_HI FLOAT Array[2] ;high energy at which flare has valid position PEAK_COUNTRATE FLOAT 46.0000 ;peak front count rate, counts/detector/second, corrected for attenuator state BCK_COUNTRATE FLOAT 3.75680 ;background count rate, counts/detector/sec TOTAL_COUNTS FLOAT 75270.0 ;total # of counts PEAK_CORRECTION FLOAT 1.00000 ;Correction factor for peak counts, divide by this to get true observed counts TOTAL_CORRECTION FLOAT 1.00000 ;Correction factor for total counts, divide by this to get true observed counts POSITION FLOAT Array[2] ;flare position in arcsec from sun center SPIN_AXIS FLOAT Array[2] ;spin axis position FSPOS FLOAT Array[2] ;Position of maximum from full-sun multidetector image FILENAME STRING '' ;Unused - file(s) which have the data for this flare, separated by commas FLAGS BYTE Array[32] ;flare flags (see above) SEG_INDEX_MASK BYTE Array[18] ;detector index mask, for flare poistion image EXTRA_BCK FLOAT Array[3, 3] ;peak, background, and sigma values for count rate, modulation variance and front to total ratio SFLAG1 BYTE 1 ;0 for non-solar, 1 for solar, 2 for found by mod_var or front_ratio only, ;3 if position is close(1 arcmin) to spin axis, 4 if flare position is more ;than 3 arcmin from position from multidetector image, 5 if AIA position is used ACTIVE_REGION INT 9809 ;Active region number, if available GOES_CLASS STRING 'C2.0' ;GOES class of nearest flare, if available RADIAL_OFFSET FLOAT 0.118995 ;offset of position from spin axis, degrees PEAK_PHFLUX FLOAT 3207.55 ;peak photon flux, > 6 keV, TOT_PHFLUENCE FLOAT 662166. ;total photon fluence > 6 keV E_PHFLUENCE FLOAT 554205. ;e-folding photon fluence > 6 keV PEAK_PHFLUX_SIGMA FLOAT 2.20495e+06 ;uncertainty in peak photon flux TOT_PHFLUENCE_SIGMA FLOAT 8.29954e+07 ;uncertainty in total photon fluence E_PHFLUENCE_SIGMA FLOAT 3.92791e+07 ;uncertainty in e-folding photon fluence GOES_LEVEL_PK FLOAT Array[2] ;GOES level (W/m^2) at flare peak ALT_ID STRING 'SOL2002-02-12T02:19:22' ;a string replacement for Id's using time at flare peak DATA PROCESSING: The program that handles most of the processing for the creation of the Rhessi flare list is called hsi_flare_list_fill.pro. This program is designed to be run on individual RHESSI orbits. Inputs are the hsi_obs_summ_soc, and hsi_full_rate objects for the given time period. The obs_summ_soc object contains: the obs_summ_rate object (count rates), the obs_summ_flag object (data flags), the mod_variance object (modulation variance in detectors 8 and 9), the ephemeris object, the qlook_pointing, qlook_roll_period and qlook_roll_angle objects. In Hsi_flare_List_fill, the obs_summ_rate, and obs_summ_lfag objects are used. The full_rate object is included in this version for the first time. Previous versions used the obs_summ_rate object, for count rates summed over front and rear detectors. The full_rate object contains rates for each detector segment separately, and already corrected for decimation, allowing us to use only front detector count rates for flare detection. Step 1: Flag intervals which will not be included in the calculation. Data gaps, eclipses and SAA intervals are not included. Eclipse intervals are buffered by 32 seconds (i.e., 32 second buffers are included both before and after eclipses. This is done because the eclipse flag, which is calculated from ground station data, is often slghtly offset from the actual eclipes.) Likewise the SAA is buffered by 5 minutes at start and end. Step 2: Calculate the front detector count rate in the 6 to 12 keV range. The program uses the /scaled_corrected_countrate option for the hsi_full_rate object. This returns the count rate, summed over front detectors, and corrected for attenuator state, using an algorithm that calculates a correction factor at each attenuator state change, and interpolates that factor for the times between state changes. The detectors used depend on the state of the mission, but typically are detectors 1, 3, 4, 5, 6, and 9. (See hsi_qlook_dets2use.pro.) Step 3: Intervals for which the count rate in the 100-300 keV channel is greater than the 6 to 12 keV count rate, and greater than 50 counts/second/detector are flagged, and removed. This is assumed to be contamination due to particles. Step 4: Calculate thresholds. There is a count rate threshold, which is basically a smoothed running average over the previous 1 minute plus 3*sigma. There is also a threshold which is a running average plus 3*sigma of modulation variance and/or front-total count ratio (The quantity used depends on the date; see hsi_alt_threshold2.pro for details). The count rate threshold is limited by some considerations. First the threshold must be greater than the minimum background rate calculated using hsi_obs_bck0.pro. (This is to avoid issues arising for data gaps whihc are fewer than 4 seconds long; these are not flagged by the obs_summ_flag object.) Next, the minimum daylight background is limited to values less than 30 counts/sec/detector_segment. This is done to avoid missing flares that extend through the full daylight period of an orbit. Step 5: Use Hsi_excess_intervals.pro to find time ranges for which the count rate is above threshold. Step 6: In the 6 to 12 keV energy range, flares run together. For each prospective flare interval, it is possible that the time range may be split into multiple flares, using the program hsi_ql_split_flare.pro. Typically, during a flare interval an 'new' flare is assigned if the count rate jumps to more than 30% over the smoothed one minute running average in a four second interval. Step 7: Flare candidates are rejected if: the start point is associated with an attenuator state change, the interval is less than 20 seconds, the count rate in an individual detecdtor is much larger (50%) than the average over all detectors, or if the peak uncorrected count rate is less than 10 counts/sec/detector_segment. Step 8: For each possible flare interval, use Hsi_xy_test_new.pro (which calls hsi_locate_flare.pro and hsi_flare_position_image.pro) to test for valid solar sources. Only flares which are above the 2nd threshold (front to total counts ratio or modulation variance) are tested. unless the interval is post 2016 anneal. In that case then hsi_flare_vfy, which tests power spectra peaks for individual detectors is used. Hsi_locate_flare creates back-projection images for individual detectors; if multiple detectors (2 or 3, depending on the date, and available detectors. E.G., If D8 and D9 give positions that are close, then 2 detectors are sufficient. Otherwise, 3 detectors with similar positins are needed. Later in the mission, after the 2016 anneal, the condition is relaxed, and the position is set to the maximum point of a single image using all available detectors.) Also for some post 2016 anneal flares, the position from an associated AIA flare may be used. See the description of the flare flags above.) Step 9: If a flare is found, then the position is checked. If the flares is close to the spin axis, then it is flagged. If the position obtained using multiple single detector images is fare from the position found using a single image for multiple detectors, then the flare is flagged. Step 10: Next each energy band above 6 to 12 keV is tested, using hsi_xy_test_new, with the /verify option. For an energy band that is detected, then the count rate has to be above the threshold for that energy, and the position given by a multi-detector image needs to be close (within an arcminute) to the 6 to 12 keV position. For energy bands above 100 keV, rear detector images may be used. Step 10: The radial offset is calculated using the 6 to 12 keV position. Step 11: Non-solar sources (zero position) with less than 200 counts/sec/detector-segment are removed. This is increased to 300 counts/sec/detectot-segment after 29-April-2016. Step 12: A background rate is calculated, for the minute directly prior to each flare. (Note this is never used in the software.) This ends the program Hsi_flare_list_fill. A structure containing all applicable output is returned to the Hsi_flare_list::fill procedure, which fills any remaining flare flags and finalizes the hsi_flare_list object, which is returned to the calling program (Usually hsi_contact2fits.pro). The file hessi_flare_list_YYYYMM.fits is then updated for the appropiate month and text flare lists are written for the appropraite month and for the full mission. Differences from previous version: 1: The count rate threshold is lower. This is in response to requests regarding long-duration flares that extend over multiple orbits. For example, see 29 September 2013 22:00++. More small flares are also included. Also, more orbits and time intervals are fully "flare", so the flare-spliiting algorithm is used more often. 2: The algorithm that is used to split flares is changed. The previous version was more complicated, comparing the values of different flare peaks and minima between peaks. This has been changed so that a flare is split only when there is a substantial jump in count rate over a 4 second interval. The value of 30% over local background level was chosen because this is approximately 3*sigma for a count rate of 20 counts/sec/detector-segment. 3: Flare posiiton images now use the full-mission roll database, created by Richard Schwartz and Kim Tolbert. There are now fewer flares that have positions close to the poles. For flares which are not covered by the new roll_db, the 'phase_lock' option is used in imaging; this usually gives reasonable results for those events. 4: The previous version required matching back-projection images for 3 detectors for a positive result, for flares prior to 1 October 2015. Now only 2 are needed if those are detectors 8 and 9. Also, post 2016 anneal, a "flare" is recorded with a positive result from the program hsi_flare_vfy.pro, which compares power spectra peaks with the roll period. The position is then given by a single multi-detector image (hsi_flare_position_image.pro), or AIA if necessary. 5: Spin_axis, fspos (position from multi-detector image) and Alt_id taags are new.