2019
Jump to navigation
Jump to search
List of EOVSA Flares with Spectrogram Data
March
| Date | Time (UT) | GOES Class | Position | Spectrogram | STIX Coverage | AIA Movie | EOVSA Images | Comment |
|---|---|---|---|---|---|---|---|---|
| 2019-03-22 | 00:33 | C2.1 | N08 W45 | plot data | NA | AIA | ||
| 2019-03-23 | 19:28 | B6.0 | plot data | NA | AIA? | |||
| 2019-03-23 | 21:19 | C1.3 | N07 W60 | plot data | NA | AIA |
April
| Date | Time (UT) | GOES Class | Position | Spectrogram | STIX Coverage | AIA Movie | EOVSA Images | Comment |
|---|---|---|---|---|---|---|---|---|
| 2019-04-15 | 19:31 | B4.7 | plot data | NA | AIA | Quicklook Movie FITS Files |
May
| Date | Time (UT) | GOES Class | Position | Spectrogram | STIX Coverage | AIA Movie | EOVSA Images | Comment |
|---|---|---|---|---|---|---|---|---|
| 2019-05-04 | 22:08 | B4.0 | plot data | NA | AIA | Quicklook Movie FITS Files |
||
| 2019-05-04 | 22:40 | C3.0 | N10 E72 | plot data | NA | AIA | Quicklook Movie FITS Files |
|
| 2019-05-06 | 17:48 | C1.4 | N08 E42 | plot data | NA | AIA | ||
| 2019-05-06 | 22:29 | B6.9 | plot data | NA | AIA | Quicklook Movie FITS Files |
||
| 2019-05-07 | 01:46 | B9.3 | plot data | NA | AIA | Quicklook Movie FITS Files |
||
| 2019-05-15 | 19:22 | C2.9 | N07 W36 | plot data | NA | AIA | Quicklook Movie FITS Files |
Python code to read plotdata 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 = np.array(struct.unpack(str(int(nbytes/8))+'d',tmp[:nbytes]))
nt = np.where(tdat < 2400000.)[0]
nf = np.where(np.logical_or(tdat[nt[0]:] > 18, tdat[nt[0]:] < 1))[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 plotdata 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[nt[0]:*] gt 18 or tmp[nt[0]:*] lt 1))[0]
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









