2020
Revision as of 21:53, 18 March 2024 by CaiusSelhorst (talk | contribs) (Created page with "== List of EOVSA Flares with Spectrogram Data == === June === {| class="wikitable" ! Date || Time (UT) || GOES Class || Spectrogram || STIX Coverage || AIA Movie || EOVSA Images || Comment |- | [http://ovsa.njit.edu/browser/?suntoday_date=2020-06-07 2020-06-07] || 21:43 || B6.4 || thumb|center|100px| [http://ovsa.njit.edu/events/2020/eovsa.spec.flare_id_20200607214300.png plot data] || [No] || [AIA] || || |- |} ==...")
List of EOVSA Flares with Spectrogram Data
June
Date | Time (UT) | GOES Class | Spectrogram | STIX Coverage | AIA Movie | EOVSA Images | Comment |
---|---|---|---|---|---|---|---|
2020-06-07 | 21:43 | B6.4 | 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