Recent Flare List (2021-): Difference between revisions
Jump to navigation
Jump to search
Line 76: | Line 76: | ||
data = np.array(struct.unpack(str(nt*nf)+'f',tmp)).reshape(nf,nt) | data = np.array(struct.unpack(str(nt*nf)+'f',tmp)).reshape(nf,nt) | ||
return {'time':times, 'fghz':fghz, 'data':data} | return {'time':times, 'fghz':fghz, 'data':data} | ||
</pre> | |||
== IDL code to read plot data file == | |||
<pre> | |||
function rd_datfile,file | |||
; Read EOVSA binary spectrogram file and return a structure with times | |||
; in Julian Date, frequencies in GHz, and cross-power data in sfu. | |||
; | |||
; Return tags: | |||
; 'time' Array of nt times in JD format | |||
; 'fghz' Array of nf frequencies in GHz | |||
; 'data' Array of size [nf, nt] containing cross-power data | |||
; | |||
; Returns empty dictionary ({}) if file size is not compatible with inferred dimensions | |||
openr,/get_lun,lun,file | |||
tmp = dblarr(10451) | |||
readu,lun,tmp | |||
free_lun,lun | |||
nt = (where(tmp lt 2400000.))[0] | |||
nf = (where(tmp lt 1.1))[0] - nt | |||
times = dblarr(nt) | |||
fghz = dblarr(nf) | |||
data = fltarr(nt, nf) | |||
openr,/get_lun,lun,file | |||
readu,lun,times | |||
readu,lun,fghz | |||
readu,lun,data | |||
free_lun,lun | |||
data = create_struct('time',times,'fghz',fghz,'data',transpose(data)) | |||
return, data | |||
end | |||
</pre> | </pre> |
Revision as of 16:41, 15 June 2021
List of EOVSA Flares with Spectrogram Data
Date | Time (UT) | GOES Class | Spectrogram | STIX Coverage |
---|---|---|---|---|
2021-04-17 | 16:46 | B9.0 | plot data | Yes |
2021-04-19 | 23:36 | M1.0 | plot data | No |
2021-05-05 | 22:30 | B5.0 | plot data | Yes |
2021-05-07 | 19:00 | M4.0 | plot data | Yes |
2021-05-08 | 18:30 | C9.0 | plot data | Yes |
2021-05-09 | 13:55 | C4.0 | plot data | Yes |
2021-05-17 | 19:05 | B5.0 | plot data | Yes |
2021-05-21 | 19:25 | C5.0 | plot data | Yes |
2021-05-22 | 16:10 | C1.0 | plot data | Yes |
2021-05-22 | 17:10 | M1.0 | plot data | Yes |
2021-05-22 | 21:30 | M1.4 | plot data | Yes |
2021-05-22 | 23:11 | C7.0 | plot data | Yes |
2021-05-23 | 17:00 | C2.0 | plot data | Yes |
2021-05-27 | 22:00 | C1.0 | plot data | No |
2021-05-27 | 23:10 | C7.0 | plot data | No |
2021-05-28 | 22:30 | C9.0 | plot data | No |
Python code to read plot data file
from __future__ import print_function def rd_datfile(file): ''' Read EOVSA binary spectrogram file and return a dictionary with times in Julian Date, frequencies in GHz, and cross-power data in sfu. Return Keys: 'time' Numpy array of nt times in JD format 'fghz' Numpy array of nf frequencies in GHz 'data' Numpy array of size [nf, nt] containing cross-power data Returns empty dictionary ({}) if file size is not compatible with inferred dimensions ''' import struct import numpy as np def dims(file): # Determine time and frequency dimensions (assumes the file has fewer than 10000 times) f = open(file,'rb') tmp = f.read(83608) # max 10000 times and 451 frequencies f.close() nbytes = len(tmp) tdat = struct.unpack(str(int(nbytes/8))+'d',tmp[:nbytes]) nt = np.where(np.array(tdat) < 2400000.)[0] nf = np.where(np.array(tdat) < 1.1)[0] - nt[0] return nt[0], nf[0] nt, nf = dims(file) f = open(file,'rb') tmp = f.read(nt*8) times = struct.unpack(str(nt)+'d',tmp) tmp = f.read(nf*8) fghz = struct.unpack(str(nf)+'d',tmp) tmp = f.read() f.close() if len(tmp) != nf*nt*4: print('File size is incorrect for nt=',nt,'and nf=',nf) return {} data = np.array(struct.unpack(str(nt*nf)+'f',tmp)).reshape(nf,nt) return {'time':times, 'fghz':fghz, 'data':data}
IDL code to read plot data file
function rd_datfile,file ; Read EOVSA binary spectrogram file and return a structure with times ; in Julian Date, frequencies in GHz, and cross-power data in sfu. ; ; Return tags: ; 'time' Array of nt times in JD format ; 'fghz' Array of nf frequencies in GHz ; 'data' Array of size [nf, nt] containing cross-power data ; ; Returns empty dictionary ({}) if file size is not compatible with inferred dimensions openr,/get_lun,lun,file tmp = dblarr(10451) readu,lun,tmp free_lun,lun nt = (where(tmp lt 2400000.))[0] nf = (where(tmp lt 1.1))[0] - nt times = dblarr(nt) fghz = dblarr(nf) data = fltarr(nt, nf) openr,/get_lun,lun,file readu,lun,times readu,lun,fghz readu,lun,data free_lun,lun data = create_struct('time',times,'fghz',fghz,'data',transpose(data)) return, data end