2020

From EOVSA Wiki
Jump to navigation Jump to search

List of EOVSA Flares with Spectrogram Data

June

Date Time (UT) GOES Class Position Spectrogram STIX Coverage AIA Movie EOVSA Images Comment
2020-06-07 21:43 B6.4
Eovsa.spec.flare id 20200607214300.png
plot data
[No] [AIA]

October

Date Time (UT) GOES Class Position Spectrogram STIX Coverage AIA Movie EOVSA Images Comment
2020-10-18 16:33 B2.0
Eovsa.spec.flare id 20201018163300.png
plot data
[No] [AIA]
2020-10-28 22:10 C1.5
Eovsa.spec.flare id 20201028221000.png
plot data
[No] [AIA]
2020-10-29 16:01 C1.3 S17 W41
Eovsa.spec.flare id 20201029160100.png
plot data
[No] [AIA]
2020-10-29 20:16 C1.5 S17 W43
Eovsa.spec.flare id 20201029201600.png
plot data
[No] [AIA]

November

Date Time (UT) GOES Class Position Spectrogram STIX Coverage AIA Movie EOVSA Images Comment
2020-11-05 20:53 B7.0
Eovsa.spec.flare id 20201105205300.png
plot data
[No] [AIA]
2020-11-05 21:55 B9.0
Eovsa.spec.flare id 20201105215500.png
plot data
[No] [AIA]
2020-11-05 22:20 C1.0
Eovsa.spec.flare id 20201105222000.png
plot data
[No] [AIA]
2020-11-05 22:40 B7.0
Eovsa.spec.flare id 20201105224000.png
plot data
[No] [AIA]
2020-11-06 16:13 B4.6
Eovsa.spec.flare id 20201106161300.png
plot data
[No] [AIA]
2020-11-06 21:47 B2.8
Eovsa.spec.flare id 20201106214700.png
plot data
[No] [AIA]
2020-11-08 16:24 B3.4
Eovsa.spec.flare id 20201108162400.png
plot data
[No] [AIA]
2020-11-08 19:26 B4.4
Eovsa.spec.flare id 20201108192600.png
plot data
[No] [AIA]
2020-11-10 19:44 C1.3 S24 W20
Eovsa.spec.flare id 20201110194400.png
plot data
[No] [AIA]
2020-11-20 17:00 C1.9 S22 E39
Eovsa.spec.flare id 20201120170000.png
plot data
[No] [AIA]

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