Skip to content

2019

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

Migrated from MediaWiki page 2019, latest revision 8674 (2024-03-28T13:31:52Z).