RHESSI FLARE MOVIE OBJECTIVE: Make a movie that shows the timing, location, brightness and duration of all the RHESSI flares above some specified flux level METHOD: Read the flarelist (using hsi_read_flarelist.pro) to get the data on quick-look flares. An example IDL program that shows how to do this is appended below--"get_flare_qldata.pro" Pick a countrate level, min_peak_countrate, that is small enough that several thousand flares have peak_countrate bigger than it, but large enough that flare positions and quicklook maps are reliable. As of 4/8/04 there are 8157 flares with peak_countrate > 10 and 13510 with peak_countrate > 5. MOVIE DATABASE Using IDL, make a text (human-readable) database (the movie db) containing at least the following: 1. FLARE_ID 2. PEAK_COUNTRATE 3. [X_POSITION,Y_POSITION] (For about 30% of flares, these are not known!) 4. [ENERGY_HI[0],ENERGY_HI[1]] ; mostly [12.,25.], sometimes bigger 5. START_TIME (e.g. 2002-07-23 01:23) 6. END_TIME 7. PEAK_TIME The movie db could be a subset of, and similar format to, the ql_flarelist in the $SSW, except that the flarelist has times in seconds, and these should be converted to human time via ANYTIM(flares.peak_time,/ccs). The movie will be constructed from the movie db by an IDL script (not a widget) that is user friendly and that can be applied to an updated movie db. DESCRIPTION OF THE MOVIE The resulting movie should have the following characterisitics: 1. It runs in netscape, mozilla, IE and various stand-alone movie players (e.g. mplayer or xanim) 2. It can be sped up or slowed down from a default speed of ~ 10 frames/s. 3. The frames are square images (128 x 128???) with the solar limb shown in all frames. The solar diameter is 1920", so 8" pixels would be fine. 4. The movie flares appear at roughly proportional to the real-time cadence of the RHESSI flares. This means there will be about 40% blank frames for spacecraft night, and more blank frames between flares. 5. Each flare will appear at least 3 times, faintly at START_TIME and END_TIME and brightest at PEAK_TIME. Longer lasting flares will appear many times. The RHESSI flares have an average duration of ~700 s, with a minimum of 8 s and maximum of 4100 s (68 min). 6. If each frame corresponds to (say) 5 min of real time, there would be 12*24*365=105120 per year, or about 262800. frames up through Aug 2004. If these are played at 10 frames a second, the movie would last 26280 seconds or 7.3 hours. This is much too long, so the RHESSI night periods should be compressed to (say) one frame. Also, the period between flares might have to be compressed. The median time between flares is about an hour, which would be about 12 frames or 1.2 seconds of movie time without compression. 7. The shape of the flares should be a small disk about 2 pixels in diameter using a pattern that looks somewhat circular like 2 5 2 5 10 5 2 5 2 8. The size of the disk representing the flare should code the peak countrate. Small disk for weaker flares, large disk for big flares. 3 or 4 sizes of circles should be enough. 9. The peak energy should be coded by color: say red for 12-25 keV, green for 25-50 keV, blue for 50-100 keV, yellow for higher. 10. Since the quick-look database has so many flares (about 30%) with no locations--specified by [0,0] in the flare_list-- there should be a simple way of updating the movie with real positions at some later time. Perhaps if [x_position, y_position] = [0,0] the movie-making program will just skip the flare, and when the position is put into the db later, the program will pick up the flare. 11. Possible other options for the movie include having a heliographic grid on the solar disk (this would require bigger images), a flare_id number. a digital clock, a graphic timeline of X-rays, etc. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; function get_flare_qldata,FLARE_ID=flare_id,MIN_PEAK=min_peak_countrate,VERB=verb ;+ ; PURPOSE ; To get biggest flares from SSW flare list with positions, fluxes, etc. ; ; INPUTS: ; min_peak_countrate is the minimum rate returned ; OUTPUTS: ; Structure containing the flarelist items desired ;EXAMPLE:: flares=get_flare_data(1000.,/verb) ; If ,min_peak_countrate = 0 you get all the flares ; ; VERSION HISTORY ; Ed Schmahl March 9, 2004 ;- flares= hsi_read_flarelist() if n_elements(min_peak) GT 0 then begin w=where(flares.peak_countrate gt min_peak_countrate,nw) if nw EQ 0 then message, 'No flares with min_peak_countrate >'+strcompress(min_peak_count rate) endif if n_elements(flare_id) GT 0 then begin w=where(flares.id_number eq flare_id,nw) if nw EQ 0 then message, 'No flares with id='+strcompress(flare_id) endif peak_time=anytim(flares(w).peak_time,/ccs) ; convert from sec to real date/time peak_countrate=flares(w).peak_countrate id_number= flares(w).id_number x_position=flares(w).x_position ; arc sec left-right from [0,0] y_position=flares(w).y_position ; arc sec up-down from [0,0] if keyword_set(verb) then for j=0,nw-1 do $ print,j,id_number(j),' ',peak_time(j),peak_countrate(j),fix(x_position(j)),fix(y_positio n(j)) return,flares(w) end